Deterministic Radio Broadcasting Bogdan S. Chlebus y , Leszek Gasieniec z , Anna O stlin x , John Michael Robson { Instytut Informatyki, Uniwersytet Warszawski, Banacha 2, 02-097 Warszawa, Poland. fax +48-22-658-3164. E-mail:
[email protected] z Department of Computer Science, The University of Liverpool, Liverpool L69 7ZF, United Kingdom. fax +44-151-794-3715. E-mail:
[email protected] x Department of Computer Science, Lund University, Box 118, S-221 00 Lund, Sweden. fax +46-46-131021. E-mail:
[email protected] { LaBRI, Universite Bordeaux 1, 351, cours de la Liberation, 33405 Talence, France. fax: +33 5 56 84 66 69. E-mail:
[email protected] y
Abstract. We consider broadcasting in radio networks: one node of the
network knows a message that needs to be learned by all the remaining nodes. We seek distributed deterministic algorithms to perform this task. Radio networks are modeled as directed graphs. They are unknown, in the sense that nodes are not assumed to know their neighbors, nor the size of the network, they are aware only of their individual identifying numbers. If more than one message is delivered to a node in a step then the node cannot hear any of them. Nodes cannot distinguish between such collisions and the case when no messages have been delivered in a step. The fastest previously known deterministic algorithm for deterministic distributed broadcasting in unknown radio networks was presented in [6], it worked in time O(n11 6 ). We develop three new deterministic distributed algorithms. Algorithm A operates in time O(n1 77291 ) = O(n9 5 ), for general networks, and in time O(n1+ +H( )+ (1)) for sparse networks, in which in-degrees of nodes are O(n ) for a < 1=2; here H is the entropy function. Algorithm B works in time O(n3 2 ), and is the fastest one known for general networks. Algorithm C works in time O(n1+2 + (1) ) for sparse networks. =
:
=
a
a
o
a
=
a
o
Keywords: Broadcasting, Distributed, Deterministic, Radio network Track A The work of the rst, third and fourth authors has been partly done while visiting the University of Liverpool. The work of the rst author was partly supported by EPSRC grant GR/M75105. The work of the second author was partly supported by EPSRC grant GR/M75105 and Nueld Foundation award for newly appointed lecturers NUF-NAL. The work of the third author has been supported in part by The Royal Swedish Academy of Science. The work of the fourth author has been supported by the British French Alliance program.
1 Introduction Wireless communication has become popular due to the recent advent of new technologies. It is present not only in the ubiquitous cordless and cellular phones, but also in personal communication services, mobile data networks, and localarea wireless networks (cf. [14]). Agents that communicate over wireless networks use protocols that assume as little as possible about the topology of the network, because it may change over time, especially in land-mobile radio networks. Communication over such networks creates challenging algorithmic problems. We consider an abstraction of a wireless network called a radio network and modeled as a directed graph. If an edge from node v1 to node v2 is in the graph then this corresponds to a situation when messages transmitted by v1 can be directly received by v2 ; in other words, v2 is in the range of the transmitter at v1 . The basic underlying feature of communication in radio networks is that a node that simultaneously receives messages from at least two distinct transmitters cannot hear any of them because of their mutual interference. We assume that if a node cannot hear a message then it hears some noise, distinct from any meaningful message. If the noise heard by a node while no messages have been sent to it is distinct from the noise heard when many messages have been sent simultaneously to it then the model is said to be with collision detection. We consider the problem of dissemination of information in radio networks. In its simplest variant, we have one node of the network, called a source, which stores a message that needs to be learned by all the remaining nodes. This speci c communication task is called the problem of broadcasting. We seek distributed (decentralized) algorithms to perform broadcasting in radio networks. We restrict our attention to deterministic algorithms. The nodes of the network do not know the topology of the underlying graph, except for their own individual numbers and possibly the total number of nodes. In particular, a node is not assumed to know the numbers of the nodes with whom it could communicate directly. The nodes of the network have access to a global clock and operate in steps. The performance of algorithms is measured by their worst-case time behavior over all the possible networks of a given size. Review of prior work. A lower bound (n) for deterministic distributed broadcasting in unknown radio networks was proved in [4]. The best currently known lower bound is (n log n), see [6]. The rst distributed deterministic algorithms for unknown radio networks were presented in [8]; however the networks considered there were quite restricted, namely, nodes were assumed to be located in a line, and each node could reach directly all the nodes within a certain distance. A systematic study of deterministic distributed algorithms in unknown radio networks modeled as directed graphs was undertaken in [6]. This paper compared the broadcasting power of radio networks distinguished by the availability of collision detection. The problem of broadcasting was considered in [6] in two variants, depending on whether the source was required to be informed about the task having been completed (radio broadcasting with acknowledgement) or not (radio broadcasting without acknowledgement). It was shown that
the former task could not be performed on a radio network if nodes do not know the size of the network in the model without collision detection. This was shown to hold even if the underlying graph is symmetric, that is, for each edge in the graph the edge with the reversed direction is also available. Algorithms were developed in [6] for the problem of broadcasting without acknowledgement in the model without collision detection. One of them operated in time O(n), but was restricted to the case when the underlying graph was symmetric. The algorithm developed in [6] for general networks had performance O(n11=6 ). The model with collision detection is capable of performing acknowledged radio broadcasting, it was shown in [6] how to achieve this in time O(n) in symmetric graphs, and in time O(n ecc) for general strongly connected graphs, where ecc is the largest distance from the source to any other node. Summary of contributions. We consider the problem of broadcasting in unknown radio networks by distributed algorithms. The model is without collision detection. The broadcasting is without acknowledgement. We develop three deterministic algorithms. Algorithm A operates in time O(n2?+ ), for any > 0, for general networks. The constant is the root of the equation + H() = 1, where H is the (binary) entropy function; numerically, the bound is O(n1:77291 ) = O(n9=5 ). Algorithm A operates in time O(n1+a+H(a)+o(1) ) for sparse networks, in which in-degrees of nodes are O(na ) for a < 1=2. Algorithm A is developed by employing many selective families of subsets of [1::n] simultaneously, where n is the size of the network. The notion of a selective family was introduced in [6] to develop an algorithm working in time O(n11=6 ), which used just two special selective families. Algorithm B works in time O(n3=2 ). The underlying paradigm is to take a prime number p such that p2 n and to use for simultaneous transmission sets of points in [0::p ? 1] [0::p ? 1] that are lines described by equations over the eld Fp . Algorithm B is the fastest that we know of in the general case. Algorithm C is designed for sparse networks and works in time O(n1+2a+o(1) ). Other related work. Early work on radio communication was concerned with the single-hop radio network model, which is a channel accessible by all the processors (see [3, 10, 16]). This is a special case of our model when the underlying graph is complete and symmetric. The general case is sometimes called the multihop radio network. Much of the previous work on distributed broadcasting in radio networks has concentrated on randomized algorithms ([3{5]). In [4] a randomized protocol was developed that works in time O((D + log n=) log n) with probability 1 ? , where D is the diameter and n the number of nodes of the network. This is close to optimal as follows from the known lower bounds. One of them, proved in [1], is (log2 n), and holds even for graphs of a constant depth; the other
(D log(n=D)) was shown in [12]. Another area of research on radio networks was how to compute an optimal schedule of broadcasting, by a centralized algorithm, given a description of the network. It was shown in [7] that this problem is NP-hard; this holds true even
when restricted to graphs induced by nodes located in the plane and edges determined by ranges of nodes, see [15]. On the other hand, it was shown in [9] that broadcasting can be performed in time O(D + log5 n). Simulations between the synchronous point-to-point message-passing model and the radio model were presented in [2]. Fault-tolerance issues of distributed radio broadcasting were studied in [11, 13].
2 Model of computation Radio network. The network is modeled as a directed graph. Node v1 is a
neighbor of node v2 if a link directed from v2 to v1 is in the graph. It is assumed that for any node v of the network there is a directed path from the source to node v. In each step a node may choose to be in one of two modes: either the receive mode or the broadcast mode. A node in the broadcast mode transmits a message along all its out-going links. A message is delivered to all the recipients in the step in which it was sent. A node in the receive mode attempts to hear the messages delivered along all its in-coming links. If a message has been delivered to a node it does not necessarily mean that the node is able to hear it. The basic feature of the radio network is that if more than one link brings in messages to a node v during a step then v does not hear any of the messages, and all of them are lost as far as v is concerned. Node v can hear a message delivered along a link if this link is the only one bringing in a message. If more than one message arrives at a node at one step then a collision at the node is said to occur. The model of radio communication is in two variants, depending on the ability of nodes to detect collisions. If a node cannot hear a message during a step then it may be assumed to hear some default signal called noise. Noise is distinct from any meaningful source messages. If there is only one noise signal then it is called the background noise and the model is said to be without collision detection. The model with collision detection allows two dierent noise signals: no messages delivered produces the background noise, but more than one produce interference noise. In this paper we work with the model without collision detection. Local knowledge. If the network consists of n nodes then each of them is assigned a unique integer in the range 0 through n ? 1 which is the identi cation number (ID) of the node. Nodes have a restricted knowledge of the underlying graph. Each node knows only its ID, and if it is the source node. Nodes are not assumed to know the IDs of nodes to which they are connected by links. Nodes are also not assumed to know the size of the network; however, to simplify the exposition of algorithms we refer explicitly to the size n, this can be avoided, see Section 7. A broadcasting algorithm is said to have completed broadcasting when all the nodes have learned the source message. When this happens the nodes need not be aware of it. Nodes do not send any feedback or acknowledgement information to other nodes. The algorithm we present may terminate after a prescribed number of steps, which is yielded by the performance bounds that we prove.
Distributed setting. The communication protocol operates in steps synchronized by a global clock. During a step each node may make an attempt to send a message or to receive a message. The nodes of the network are processing units, each able to perform local sequential computations. Whenever a node needs to perform local computation to decide the next send/receive operation, it is assumed that this local computation can always be performed during the current step. Similarly we do not assume any restrictions on the size of local memories. At each step a node decides whether to broadcast, to remain quiet or to terminate. The broadcast mode is entered by a node only if the source message has been already received by that node. Each decision of node v concerning broadcast/receive mode at a current step depends on the following information: { the status of v: is v the source node or not; { the number of the current step; { the size n of the network; { the ID of node v; { if v has already heard the source message or not. Algorithms. An algorithm is represented by a sequence of sets T0; T1; T2; : : : called transmissions. Each Ti [0::n ? 1] is a set of IDs of nodes. Set T0 consists of only the source node. A node v enters the broadcast mode at step i, and hence sends the source message to its neighbors, if and only if the following conditions are simultaneously satis ed: { the ID of v is in Ti; { node v has already heard the source message. A simple algorithm was de ned in [6] by taking Ti = fi mod ng, for i > 0. We call it the round-robin algorithm. It completes broadcasting in time O(n2 )
3 Selective Families Following [6], we say that a family R of subsets of [0::n ? 1] is y-selective, for a positive integer y, if for any subset Z [0::n ? 1] such that jZ j y there is a set S 2 R such that jS \ Z j = 1. In [6] speci c selective families were considered de ned as follows. Let W = hw1 ; : : : ; wk i be a sequence of integers such that 1 w1 < w2 < < wk blg nc + 1. Let B = hb1 ; : : : ; bk i be a sequence of integers such that 0 bi 1 for 1 i k. Set S (W; B ) is de ned to consist exactly of those integers in [0::n ? 1] which have the wi -th digit in their binary expansions equal to bi (1 i k). (Notation lg denotes the logarithm to the base 2. We assume that each number in [0::n ? 1] has exactly blg nc + 1 digits in its binary representation, obtained by padding the most signi cant positions with zeros if necessary. The least signi cant position has number 1 and the most signi cant has number blg nc + 1.) The number k used above is said to be the width of sets W , B and S (W; B ). The family R(k) is de ned to consist of all the sets of width k of the form S (W; B ). Hence set S = S (W; B ) 2 R(k) is determined by selecting both a
certain k positions in the binary expansions of numbers in [0::n ? 1] and also the digits on those positions. The key property of R(k) is that it is 2k+1 ? 1-selective ([6]). To see this, take Z [0::n ? 1] where jZ j < 2k+1 . Let w1 be the smallest integer such that there are two elements in Z such that their binary expansions dier on position w1 . This means that the sets Zi consisting of those x 2 Z that the w1 -th digit in the binary expansion of x is i, for i 2 f0; 1g, are both nonempty and disjoint. Let b1 be the number with the property that jZbi j jZ1?bi j. Hence 0 < jZb1 j 21 jZ j. Replacing Z by Zb1 and continuing in a similar fashion we obtain sequences W = hw1 ; : : : ; wi i and B = hb1 ; : : : ; bi i such that jS (W; B ) \ Z j = 1 and i k. They can be padded to sequences of length exactly k if i < k. Sets from families R(k) can be used as transmissions. The round-robin algorithm uses just singleton sets, which is the family R(blg nc + 1). The algorithm of [6] uses these singletons interleaved with some other speci c family R(k). We use O(log n) families R(k) simultaneously. Algorithm A is organized as a loop which iterates phases. A phase consists of O(log n) transmissions, each from a dierent family R(k). The algorithm cycles through all the elements in R(k). To be speci c, let us x an ordering hS1 ; S2 ; : : : i of all the sets in R(k). Then in phase i Sj is the transmission from R(k), where j = i mod jR(k)j. Family R(blg nc + 1) has exactly n singleton sets. So during n consecutive phases each node with the source message will have an opportunity to be the only node performing broadcasting in the whole network. Hence its neighbors will all hear the message. We do not expect to gain much using sets from R(k) as transmissions if jR(k)j > n, they do not matter as far as the analysis of performance of algorithm A is concerned. Let k = x lg n, for 0 < x 1=2. Then b lg n c + 1 b lg n c + 1 k jR(k)j = 2 = x lg n 2x lg n = nx nH(x)+o(1) = nx+H(x) no(1) k where H(x) = ?[x lg x + (1 ? x) lg(1 ? x)] is the (binary) entropy function. Let 0 < < 1=2 be the solution of the equation +H() = 1, = 0:22709:::. The families R(k) for k lg n have O(n) subsets of [0::n ? 1] each. Algorithm A has phases that use transmissions from each R(k) such that l lg n, and additionally from R(blg nc + 1), which are singletons.
4 Analysis of algorithm A Each node evolves through three conceptual states in the course of a broadcasting algorithm. If node v does not know the source message yet then it is uninformed. A node becomes active in the step when it learns the source message for the rst time. In the beginning the source node is the only active node and the remaining nodes are all uninformed. An active node changes its status to passive during a step when it performs a broadcast as the only active node. Lemma 1. If a node is passive then all its neighbors know the source message.
Proof. Induction on the number of steps. Suppose node v1 is active and performs a broadcast in step t as the only active node. Let v2 be a neighbor of v1 which has not yet learned the source message by step t. The message sent by v1 in step t is delivered to v2 . We need to show that v2 can hear it. Suppose, to the contrary, that a collision occurs at v2 in step t. This means that some other node v3 performed a broadcast in step t, and v2 is its neighbor. Node v3 has to be passive because uninformed nodes do not send messages and no active node except for v1 performs a broadcast in step t. By the inductive assumption v2 knows the source message - a contradiction. Each time a node changes its status, either from uninformed to active or from active to passive, we say that progress has been made. Each such a change of status contributes a unit to the measure of progress. After progress 2n ? 1 has been accrued we know that all the nodes are passive, so all the nodes know the source message by Lemma 1. Let us consider the contribution to progress from any s families R(k1 ), R(k2 ), : : : , R(ks ) and R(blg nc + 1), where k1 < k2 < < ks < blg nc + 1 = ks+1 . We assume jR(ki )j = O(n). Transmissions from these families are interleaved, during step t we use a transmission from R(kx ) where x = (t mod (s + 1)) + 1. Transmissions from R(ki ) are used in some cyclical order. Let F be the set of active nodes at the start of a speci c phase t. We consider a number of cases. Case 1: A progress is made during the phases t through t + jR(k1 )j. If Case 1 does not hold then there are 2k1 disjoint transmissions C1 R(k1 ) such that each includes at least two active nodes. If T1 2 R(x), T2 2 R(y), x < y and T2 T1 then T2 is said to re ne T1 .
Case 2: Case 1 does not hold and during the phases t through t + jR(k2)j at least half of transmissions in C1 are re ned by transmissions in R(k2 ), each of them including exactly one element from F .
If neither of Cases 1 and 2 holds then there is a set C10 C1 of transmissions such that jC10 j = 21 jC1 j, and each transmission T 2 C10 is re ned by 2k2 ?k1 transmissions S in some A(T ) R(k2 ) such that if S 2 A(T ) then jS \ F j > 1. Let C2 = T 2C10 A(T ). Then jC2 j = 12 2k2 .
Case 3: Cases 1 or 2 do not hold and during the phases t through t + jR(k3 )j at least half of the transmissions from C2 are re ned by transmissions from R(k3 ), each including exactly one element from F . Cases up to s are de ned similarly by properties of sets Ci , for 1 i < s. If Case s holds then during the phases t through t + jR(ks )j at least half of the transmissions from Cs?1 are re ned by transmissions from R(ks ) such that each
of them includes exactly one element from F .
Case s + 1: None of the Cases 1 through s holds.
If Case s + 1 holds then jF j 2?s 2ks . Let us estimate the average progress per phase over a period starting at phase t when Case i holds; it is denoted by i . If Case 1 holds then
1 jR(k1 )j?1 during jR(k1 )j phases. If Case i holds, for 2 i s, then
i 2ki?1 2?i+1 jR(ki )j?1 during jR(ki )j phases. If Case s + 1 holds then during n phases the round robin contributes progress at least
s+1 jF j n?1 2ks 2?s n?1 .
We are guaranteed an average progress among 1 ; : : : ; s+1 , because one of the cases 1 through s +1 always holds. To make the estimations of these numbers largest we seek to make our estimates of 1 ; : : : ; s+1 asymptotically equal:
jR(K1 )j?1 = (2k1 jR(k2 )j?1 ) = = (2ks?1 jR(ks )j?1 ) = (2ks n?1 ) :
(1)
Let ki = ai lg n. Equations (1) translate into
?a1 ? H(a1 ) = a1 ? a2 ? H(a2 ) = = as?1 ? as ? H(as ) = as ? 1 :
(2)
Equations (2) are equivalent to the following system of equations: 2as + H(as ) = as?1 + 1 2as?1 + H(as?1 ) = as?2 + as + H(as )
:::
2a2 + H(a2 ) = a1 + a3 + H(a3 ) 2a1 + H(a1 ) = a2 + H(a2 ) Let function f be de ned as f (x) = x + H(x), for 0 x 1=2. Our system of equations can be rewritten as follows using notation with f : 1 ? f (as ) = as ? as?1 as?1 ? as?2 = f (as ) ? f (as?1 ) as?2 ? as?3 = f (as?1 ) ? f (as?2 )
:::
a2 ? a1 = f (a3 ) ? f (a2 ) a1 = f (a2 ) ? f (a1 )
We can equate f (y) ? f (x) = f 0 (z )(y ? x) for certain z satisfying x z y. Numbers a1 ; : : : ; as are in [0::], where f () = 1. If 0 < z < then f 0 (z ) > f 0 () > f 0(1=2) = 1. We obtain the following estimation: 1 ? f (as ) = as ? as?1 f 0(1) (f (as ) ? f (as?1 )) = f 0 (1) (as?1 ? as?2 ) [f 0 (1)]2 (f (as?1 ) ? f (as?2 )) : : : [f 0 (1)]s?1 (f (a2 ) ? f (a1 )) a1 [f 0 ()]1?s [f 0 ()]1?s : This shows that 1 ? f (as ) converges to 0 as s ! 1. It follows that lims!1 as = because f is a continuous function. Theorem 1. For any > 0, algorithm A completes broadcasting in time O(n2?+), for = 0:22709::: de ned by + H() = 1. Proof. The average progress after phase t is at least 2ks n?1 = 2as lg n n?1 = nas?1 per phase. To achieve progress 2n ? 1 we need O(n=nas ?1 ) = O(n2?as ) phases. A phase takes O(log n) = O(n ) steps, and lims!1 as = . Corollary 1. Algorithm A operates in time O(n1:77291 ) = O(n9=5 ). Next we consider graphs with bound d = d(n) on in-degrees of nodes. Theorem 2. Algorithm A completes broadcasting in time O(n ?dlglg nde d log n) if in-degrees are bounded by d. Proof. Consider the contribution to progress made by R(k) for k = dlg de. Let v be an uninformed node that is a neighbor of an active node. There are at most d such active nodes for v. Family R(k) is d-selective. Hence during O(jR(k)j) phases there will be a step where just one of these active nodes broadcasts and informs node? v. The total time of algorithm A is thus bounded by O(njR(k)j log n) = O(n dlglg nde d log n).
Corollary 2. If d = O(na ), for a < 1=2, then algorithm A completes broadcasting in time O(n1+a+H(a)+ ), for any constant > 0.
5 Algorithm B
p
Let p be the smallest prime greater than or equal to b nc. Then p2 = O(n). Each of the numbers i 2 [0::p2 ? 1] can be represented uniquely by a pair of integers hx; yi where i = x p + y and 0 x; y p ? 1. Such a pair hx; yi are the coordinates of i. We treat all the numbers in [0::p2 ? 1] as IDs of nodes. We refer to them by their coordinates rather than IDs.
The integers in [0..p-1] form a eld Fp if the arithmetic is modulo prime p. For a; b; c 2 Fp , such that at least one among the numbers a and b is distinct from 0, let L(a; b; c) be the set of nodes whose coordinates hx; yi satisfy the equation
ax+by =c in Fp . Each set of nodes of the form L(a; b; c) is called a line. Each line has size p. There are exactly p ? 1 lines disjoint with a given one. Two disjoint lines are said to be of the same direction. The total number of lines is p(p + 1) = O(n). Each node belongs to p + 1 lines. For any two dierent nodes v1 and v2 there is exactly one line L such that both v1 and v2 are in L. For any two lines L1 and L2 of dierent directions there is exactly one node v such that v belongs to both L1 and L2 . Algorithm B uses singleton sets and lines as transmissions. Singletons are used in the even-numbered steps and lines in the odd-numbered ones. During each consecutive p2 even-numbered steps each singleton set is used exactly once. Similarly, during each consecutive p(p + 1) odd-numbered steps each line is used exactly once. Moreover, lines of the same direction are used in consecutive oddnumbered steps. A stage consists of 2(p + 1) consecutive steps during which all the lines of the same direction are used.
Lemma 2. Let F be a set of nodes such that jF j p=2. Then, for each node v 2 F , during each consecutive 2jF j stages, there are at least jF j steps, each in a dierent stage, during which v broadcasts as the only element of F .
Proof. Let k = jF j. Let T1 ; : : : ; T2k be the lines including v used during 2k consecutive stages. Then T1 ?fv1 g; : : : ; T2k ?fv1 g are all disjoint. By the pigeonhole principle, at most k ? 1 of them include elements from F .
Lemma 3. Let F be the active nodes at the beginning of stage t. If jF j p=2 then the average progress per stage during 2jF j stages starting from t is (1). Proof. Let k = jF j. Consider the stages T = ft; t + 1; : : : ; t + 2k ? 1g. If each
of the nodes in F broadcasts during T as the only active node then the average progress per stage during T is at least 1=2. Suppose this is not true and let v 2 F be such that whenever it broadcasts in T then some other active node broadcasts simultaneously. By Lemma 2, there are at least k steps, each in a dierent stage in T , that v broadcasts during these steps as the only element of F . If some active v0 broadcasts simultaneously then v0 is not in F . Any two nodes broadcast together exactly once during all the stages. Hence if v is blocked from being the only active broadcasting node during k stages by nodes outside F , there need to be at least k distinct such nodes. None of them was active at the beginning of stage t, hence all of them acquired the active status during T . This again gives average progress of at least 1=2 per stage during T .
Theorem 3. Algorithm B completes broadcasting in time O(n3=2).
Proof. We estimate the time needed to make progress 2n ? 1. If at any stage the number a of active nodes is at most p=2 then we have a constant progress averaged over the next 2a stages by Lemma 3. If the number of active nodes is greater pthan p=2 at any stage then the round-robin will contribute at least p=2 = ( n) during the next O(n) steps. In either case the average progress per step is (n?1=2 ). Hence after O(n=n?1=2 ) = O(n3=2 ) steps all the nodes are passive, and by Lemma 1 all the nodes have learned the source message.
6 Algorithm C Let pQ i denote the i-th prime number and k (x) denote the smallest integer such (x) p > nx?1 . Every transmission will be of the form S = fmj0 m that ki=1 i i;j n ? 1 and m = j (mod pi )g for some prime pi and some j < pi . Algorithm C consists of phases each of dlg ne steps. In step s of each phase the transmissions use sets of the form Si;j with j k(2s ). For a given s a sequence of phases using each of these transmissions once is called an s-stage.
Theorem 4. If in-degrees are bounded by d, algorithm C completes broadcasting in time O(nd2 log3 n=log(d log n)). Proof. Consider an informed node m with an edge to an uninformed node m0 and choose s such that 2s?1 < d 2s . Any other node m00 which also has an 00 edge (m00 ; m0 ) agrees Q with m modulo a set Sm of primes less than or equal to pk(2s ) such that i2Sm00 pi < n since m 6= m00 . Since there are at most d ? 1 such m00 , this means that some prime pi pk(2s ) is in none of the sets Sm00 and m0 will become informed, at the latest, in the step of the next s-stage using in at most n ? 1 s-stages and the Si;m modpi . Thus broadcasting is complete P (2s ) number of steps in an s-stage is dlg ne ki=1 pi = O(p2k(2s ) = log pk(2s ) )dlg ne and s pk(2s ) = O(log(n2 ?1 )) = O((2s ? 1) log n) = O(d log n).
Corollary 3. If d = O(na ), then Algorithm C completes broadcasting in time O(n1+2a+o(1) ).
7 Discussion Our algorithms were presented as if the nodes knew the size of the network. This assumption can be avoided if the broadcasting is without acknowledgement and the protocol works in time p(n), that is polynomial in the size n of the network, which is the case in this paper. The modi ed algorithm works in consecutive intervals of length O(p(2i )), with only the rst 2i nodes participating in the i-th interval. The total time in which broadcasting is completed is again O(p(n)). The bounds of Theorems 2 and 4 can each be improved by a factor of log n if the bound d is known in advance since we can choose the step corresponding to the correct d from each phase instead of using lg n steps.
An obvious open question is how close our algorithms are to optimal. There remains a large gap even in the case of low degrees between our best algorithms and the order n log n lower bound or randomized upper bound. It would also be interesting to study the problem of all to all broadcasting.
References 1. N. Alon, A. Bar-Noy, N. Linial and D. Peleg, A lower bound for radio broadcast, Journal of Computer and System Sciences 43 (1991) 290{298. 2. N. Alon, A. Bar-Noy, N. Linial and D. Peleg, Single round simulation of radio networks, Journal of Algorithms 13 (1992) 188{210. 3. R. Bar-Yehuda, O. Goldreich, and A. Itai, Ecient emulation of single-hop radio network with collision detection on multi-hop radio network with no collision detection, Distributed Computing 5 (1991) 67{72. 4. R. Bar-Yehuda, O. Goldreich, and A. Itai, On the time complexity of broadcast in radio networks: An exponential gap between determinism and randomization, Journal of Computer and System Sciences 45 (1992) 104{126. 5. R. Bar-Yehuda, A. Israeli, and A. Itai, Multiple communication in multi-hop radio networks, SIAM Journal on Computing 22 (1993) 875{887. 6. B.S. Chlebus, L. Gasieniec, A.M. Gibbons, A. Pelc, and W. Rytter, Deterministic broadcasting in unknown radio networks, in Proc. 11th Ann. ACM-SIAM Symp. on Discrete Algorithms, San Francisco, California, 2000, pp. 861{870. 7. I. Chlamtac and S. Kutten, On broadcasting in radio networks - problem analysis and protocol design, IEEE Transactions on Communications 33 (1985) 1240{1246. 8. K. Diks, E. Kranakis, D. Krizanc and A. Pelc, The impact of knowledge on broadcasting time in radio networks, in Proc. 7th European Symposium on Algorithms, Prague, Czech Republic, 1999, Springer LNCS 1643, pp. 41{52. 9. I. Gaber and Y. Mansour, Broadcast in radio networks, in Proc. 6th Ann. ACMSIAM Symp. on Discrete Algorithms, 1995, pp. 577{585. 10. R. Gallager, A perspective on multiaccess channels, IEEE Trans. on Information Theory 31 (1985) 124{142. 11. E. Kranakis, D. Krizanc and A. Pelc, Fault-tolerant broadcasting in radio networks, in Proc. 6th European Symposium on Algorithms, Venice, Italy, 1998, Springer LNCS 1461, pp. 283{294. 12. E. Kushilevitz and Y. Mansour, An (D log(N=D)) Lower bound for broadcast in radio networks, SIAM Journal on Computing 27 (1998) 702{712. 13. E. Kushilevitz and Y. Mansour, Computation in noisy radio networks, in Proc. 9th Ann. ACM-SIAM Symp. on Discrete Algorithms, 1998, pp. 236{243. 14. K. Pahlavan and A. Levesque, \Wireless Information Networks," WileyInterscience, New York, 1995. 15. A. Sen and M. L. Huson, A new model for scheduling packet radio networks, in Proc. 15th Ann. Joint Conference of the IEEE Computer and Communication Societies, 1996, pp. 1116{1124. 16. D.E. Willard, Log-logarithmic selection resolution protocols in a multiple access channels, SIAM Journal on Computing 15 (1986) 468{477.