Wireless ad hoc networks have emerged to support applications, in which it is required/desired to have wireless variety of devices without relying on communications among a any infrastructure or central management. In ad hoc networks, wireless devices, simply called nodes, have limited transmission range. Therefore, each node can directly communicate with only those within its transmission range (i.e., its neighbours) and requires other nodes to act as routers in order to communicate with out-of-range destinations.

One of the fundamental operations in wireless ad hoc net- works is broadcasting, where a node disseminates a message to all other nodes in the network. This can be achieved through flooding , in which every node transmits the message after receiving it for the first time. However, it can impose a large number of redundant transmissions, which can result in significant waste of constrained resources such as bandwidth and power. In general, not every node is required to forward/transmit the message in order to deliver it to all nodes in the network. A set of nodes form a Dominating Set (DS) if every node in the network is either in the set or has a neighbour in the set. A DS is called a Connected Dominating Set (CDS) if the sub-graph induced by its nodes is connected. Clearly, the forwarding nodes, together with the source node, form a CDS. On the other hand, any CDS can be used for broadcasting a message (only nodes in the set are required to forward). Therefore, the problems of finding the minimum number of required transmissions (or forwarding nodes) and finding a Minimum Connected Dominating Set (MCDS) can be reduced to each other. Unfortunately, finding a MCDS (and hence minimum number of forwarding nodes) was proven to be NP hard even when the whole network topology is known [1], [2]. A desired objective of many efficient broadcast algorithms is to reduce the total number of transmissions to