In this chapter1 we study two randomized rumour spreading protocols which are defined below.
Definition 6.1 (Asynchronous push&pull protocol). Let G be a simple and connected graph, and suppose that an independent Poisson clock of rate 1 is associated with each vertex of G. Suppose that initially, some vertex v of G knows a piece of information, the so-called rumour. The rumour spreads in G as follows. Whenever the clock of a vertex x rings, this vertex performs an ‘action’: it calls a random neighbour y; if x knows the rumour and y does not, then x tells y the rumour (a push operation), and if x does not know the rumour and y knows it, y tells x the rumour (a pull operation). Note that if both x and y know the rumour or neither of them knows it, then this action is useless. Also, vertices have no memory, hence x may call the same neighbour several consecutive times.
The spread time of G starting from v, written STa(G, v), is the first time that all vertices of G know the rumour. Note that this is a continuous random variable, with two sources of randomness: the Poisson processes associated with the vertices, and random neighbour-selection of the vertices. The guaranteed spread time of G, written gsta(G), is the smallest deterministic number t such that for every v ∈ V (G) we have P [STa(G, v) > t] ≤ 1/|V (G)|.
The worst average spread time of G, written wasta(G), is the smallest deterministic number t such that for every v ∈ V (G) we have E [STa(G, v)] ≤ t.
Definition 6.2 (Synchronous push&pull protocol). Let G denote a simple and connected graph. Initially some vertex v of G knows the rumour, which spreads in G in a round-robin
1This chapter is based on joint work with Acan, Collevecchio, and Wormald. The results therein appear in the submitted preprint [1].
manner: in each round 1, 2, . . . , all vertices perform actions simultaneously. That is, each vertex x calls a random neighbour y; if x knows the rumour and y does not, then x tells y the rumour (a push operation), and if x does not know the rumour and y knows it, y tells x the rumour (a pull operation). Note that this is a synchronous protocol, e.g. a vertex that receives a rumour in a certain round cannot send it on in the same round.
The spread time of G starting from v, written STs(G, v), is the first time that all vertices of G know the rumour. Note that this is a discrete random variable, with one source of randomness: the random neighbour-selection of the vertices. The guaranteed spread time of G, written gsts(G), and the worst average spread time of G, written wasts(G), are defined in an analogous way to the asynchronous case.
In Proposition 6.16, we show that the choice of starting vertex does not affect the spread time as far as we are not concerned with constant factors, and that wasta(G) = Θ(E [STa(G, v)]) and wasts(G) = Θ(E [STs(G, v)]) for any vertex v ∈ V (G).
In this chapter G always denotes the ground graph which is simple and connected, and n always denotes the number of its vertices, and is assumed to be sufficiently large.
The first main result of this chapter is the following theorem.
Theorem 6.3. The following hold for any n-vertex graph G.
(1 − 1/n) wasta(G) ≤ gsta(G) ≤ e wasta(G) log n , (6.1) wasta(G) = Ω(log n) and wasta(G) = O(n) , (6.2) gsta(G) = Ω(log n) and gsta(G) = O(n log n) . (6.3) Moreover, these bounds are asymptotically best possible, up to the constant factors.
Our proof of the right-hand bound in (6.2) is based on the pull operation only, so this bound applies equally well to the pull protocol.
The arguments for (6.1) and the right-hand bounds in (6.2) and (6.3) can easily be extended to the synchronous variant, giving the following theorem. The bound (6.6) below also follows from [62, Theorem 2.1], but here we also show its tightness.
Theorem 6.4. The following hold for any n-vertex graph G.
(1 − 1/n) wasts(G) ≤ gsts(G) ≤ e wasts(G) log n , (6.4)
wasts(G) = O(n) , (6.5)
gsts(G) = O(n log n) . (6.6) Moreover, these bounds are asymptotically best possible, up to the constant factors.
Open problem 6.5. Find the best possible constants factors in Theorems 6.3 and 6.4.
We next turn to studying the relationship between the asynchronous and synchronous variants on the same graph.
Theorem 6.6. For any G we have gsta(G) = O (gsts(G) log n), and this bound is best possible, up to the constant factor.
For all graphs we examined a stronger result holds, which suggests the following con-jecture.
Conjecture 6.7. For any n-vertex graph G we have gsta(G) ≤ gsts(G) + O(log n).
Our last main result is the following theorem, whose proof is somewhat technical, and uses couplings with the sequential rumour spreading protocol (defined on Page146).
Theorem 6.8. For any α ∈ [0, 1) we have
gsts(G) ≤ n1−α+ O(gsta(G)n(1+α)/2) . (6.7) Corollary 6.9. We have
gsts(G)
gsta(G) = Ω(1/ log n) and gsts(G)
gsta(G) = O n2/3 ,
and the left-hand bound is asymptotically best possible, up to the constant factor. Moreover, there exist infinitely many graphs for which this ratio is Ω n1/3(log n)−4/3.
Open problem 6.10. What is the maximum possible value of the ratio gsts(G)/ gsta(G) for an n-vertex graph G?
The parameters wasts(G) and wasta(G) can be approximated easily using the Monte Carlo method: simulate the protocols several times, measuring the spread time of each simulation, and output the average. Another open problem is to design a deterministic approximation algorithm for any one of wasta(G), gsta(G), wasts(G) or gsts(G).
In this chapter we use standard graph theoretic arguments and well known properties of the exponential distribution and Poisson processes (see Section 2.4 for a review), in particular the memorylessness, and the fact that the union of two Poisson processes is another Poisson process. For proving Theorem 6.8 we define a careful coupling between the synchronous and asynchronous protocols.
We next review some related work. In Section 6.1 we prove some preliminary results.
In Section6.2 we study some examples, which demonstrate tightness of some of the above bounds. Theorems 6.3 and 6.4 are proved in Sections 6.3 and 6.4, respectively. Theo-rems 6.6 and 6.8 and Corollary 6.9 are proved in Section 6.5.