Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)]...

64
Outline

Transcript of Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)]...

Page 1: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Outline

Page 2: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

TheoremFor the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log2((M + 2)/3.5)] and Bit Ct (Leader) = Bit Ct (MaxF) = 2[log2((M + 1)/3)].

Since MaxF is a special variant of Leader, we present our upper bounds for MaxF only and lower bounds for Leader only.We prove the lower bounds under the symmetric scheduler, defined as follows:• At step 0, both processors are awaken. • At each following step, the first bit in every queue, if any, is delivered.

Propositions1. For the two processor network, there exists a terminating algorithm solving

MaxF with 2[log2((M + 1)/3)] bits sent.2. For the two processor network, there exists an algorithm solving MaxF in

2[log2((M +2)/3.5)] bits sent.3. Consider an arbitrary algorithm A solving Leader in the two processor

network, when ids are chosen from an arbitrary integer set Z. For any r ≥ 1, if M ≥ mnt

2(r-1) + 1, then there exists an input pair, such that in the execution of A under the symmetric scheduler at least 2r bits are sent.If A is terminating, the same holds even if M ≥ mt

2(r-1) + 1.

Leader and MaxF for two processors

Page 3: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Let us call an id passive, if it sends no bit upon its spontaneous wake-up.

Leader for two processors

P A

Lemma:1. There exist at most two passive ids.2. If there exist two passive ids, then each one of them decides immediately upon its wake-up, while the decision depends on the id only and the decisions for those two passive ids are different.3. If A is terminating and M > 2, then there exists at most one passive id.

Consider an arbitrary algorithm A solving Leader in the two processor network, when ids are chosen from an arbitrary integer set Z. For any r ≥ 1, if M ≥ mnt

2(r-1) + 1, then there exists an input pair, such that in the execution of A under the symmetric scheduler at least 2r bits are sent.If A is terminating, the same holds even if M ≥ mt

2(r-1) + 1.

mnt2r = 3.5 × 2r - 2 , mt

2r = 3 × 2r - 1

Page 4: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

2. If there exist two passive ids, then each one of them decides immediately upon its wake-up, while the decision depends on the id only and the decisions for those two passive ids are different.If there are at least two passive ids, let us give any two of them to the processors: a) if the algorithm does not finish immediately, there is a deadlock, under the symmetric scheduler. b) the decisions of any two passive ids must be different: leader and non-leader, for legality of pairing of those ids.

??Deadlock!

Leader for two processorslemma proof

Page 5: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

1. There exist at most two passive ids.1 is straightforward, since the existence of three passive ids contradicts the previous observation.

?

Leader for two processors lemma proof

Page 6: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

3. If A is terminating and M > 2, then there exists at most one passive id.Suppose that for a terminating algorithm, there are two passive ids, say x and y; since M is at least 3, there is at least one non-passive id, say z.If x and y are given to the processors, the algorithm finishes, and x will never get any bit.If x and z are given to them, under the symmetric scheduler, x will get some bit sent by z, eventually. Notice that there are no means for x, upon its (immediate) decision, to distinguish between these two situations. Hence, x can never be ensured that the algorithm has or has not finished, a contradiction to the termination property

x y z

0/1?

Leader for two processors – lemma proof

Page 7: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Leader for two processors

Lemma (reminder):1. There exist at most two passive ids.2. If there exist two passive ids, then each one of them decides immediately upon its wake-up, while the decision depends on the id only and the decisions for those two passive ids are different.3. If A is terminating and M > 2, then there exists at most one passive id.

Page 8: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Intuition: We know that if M ≤ m2r then 2r bits are enough.We’ll show that if M > m2r then there exist a case in which 2(r+1) bits are needed.

Proof sketch: M > m2r M ≥ m2r + 1 M ≥ 2(m2(r+1) +1) + 1

Leader for two processors lower bound on num. of bits

Z0

Z1Passive

Page 9: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Let us, first, assume that A is terminating. Let us denote |Z| = M. We prove the statement of the Proposition by induction on r . Basic case r = 1: M ≤ mt

0 + 1 = 3 Lemma: 3. If A is terminating and M > 2, then there exists at most one passive id.There are at least two non-passive ids. Let us give them to the processors. Since each one of them sends at least one bit, under the symmetric scheduler, at least two bits are sent.

0/1

0/1

Leader for two processors lower bound on num. of bits

Page 10: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Z1Z0

Assume now correctness of the statement for r = k, k ≥ 1. let us prove it for the case r = k + 1. Among at least 2mt

2k + 1 ids in Z, at most one is passive. Let us divide the set of other ids, which is of cardinality at least mt

2k = 2mt2(k-1) + 1, into

two groups Z0 and Z1, according to their first bit sent, either 0 or 1, respectively. The largest one of them is of cardinality at least mt

2k = 2mt2(k-1) + 1.

we denote it by Z'.

passive

Leader for two processors lower bound on num. of bits

Z ’

Page 11: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Z0

Let us consider the continuation of A, from its step 1 under the symmetric scheduler an on, for all choices of ids from Z'.In fact, the only information available to each processor after step 0, is its own id and the fact that the other id belongs to Z' as well. Therefore, the simulation of A from step 1 under the symmetric scheduler and on is an algorithm solving Leader, when ids are chosen from Z'.By the induction assumption, there exist a pair of ids from Z', such that the simulation sends at least 2k bits, under the symmetric scheduler. Totally, A working for that id pair, under the symmetric scheduler, sends at least 2k + 2 bits, as required.

0

0

He belongs to Z0 !

He belongs to Z0 !

Leader for two processors

Page 12: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Second case: the termination property is not required. Basic case r = 1: M ≥ 3The situation when there exist two non-passive ids is considered previously.Otherwise, there are passive ids x and y, deciding differently, and a single non-passive id, z. Since z may be paired with any one of x and y, it cannot decide immediately after its wake-up. Hence, it has to be activated by a message, before deciding. Therefore, if z is paired with x, there is a message from z and a message to z, summing in at least two bits sent.

x y z

0/1

0/1

?

Leader for two processors

Page 13: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Z1Z0

Basic case r = 2 and M > 6, as well as the inductive step are considered similarly as the inductive step for the terminating case, except for the case r = 2 and M = 6. In this remaining case, the sub-case max{|Z0|, |Z1|} ≥ 3 may also be considered in the same way. Hence the only remaining sub-case is when |Z0| = |Z1| = 2 and thus there are two passive ids. Recall that our aim is now the lower bound four bits sent.

Leader for two processors

Page 14: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Z1Z0

Case 1: Suppose that some passive id does not reply to the first bit received.Then, any non-passive id, if paired with it, must send at least two bits immediately upon its wake-up in order to be activated once more. Then, if two non-passive ids are paired, they send 4 bits already at step 0.

!

2 bits 2 bits

2 bits

Leader for two processorslower bound on num. of bits

Page 15: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Z1Z0

Case 2: Assume that some passive id, x, replies by the same bit, w.l.o.g. bit 1, to the first bit received by it. Consider, as before, the continuation of A after step 0, when ids are chosen from Z1 U {x}. Its simulation is an algorithm solving Leader, while there are three possible ids, with the additional restriction that x decides as it decides in A. As shown before, this needs at least two bits sent, in the worst case, even without any restriction, all the more with it. Thus, A needs at least four bits sent, in the worst case.

x

1

1

?

Leader for two processorslower bound on num. of bits

1

1

Page 16: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Z1Z0

Case 3: every passive id replies by the opposite bit to the first bit received. If an id from Z0 receives 1, it cannot decide, since this 1 may come from a passive id already decided leader or that already decided non-leader. The same concerns any id from Z1. Hence, if we pair an id from Z0 and an id from Z1, both of them have to receive two bits.

11

00

Leader for two processorslower bound on num. of bits

? ? ? ?1

0

Page 17: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Summary

Consider an arbitrary algorithm A solving Leader in the two processor network, when ids are chosen from an arbitrary integer set Z. For any r ≥ 1, if |Z| ≥ mnt

2(r-1) + 1, then there exists an input pair, such that in the execution of A under the symmetric scheduler at least 2r bits are sent.If A is terminating, the same holds even if |Z| ≥ mt

2(r-1) + 1mnt

2r = 3.5 × 2r - 2 , mt2r = 3 × 2r - 1 .

For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log2((M + 2)/3.5)] and Bit Ct (Leader) = Bit Ct (MaxF) = 2[log2 ((M + 1)/3)].

Leader for two processorslower bound on num. of bits

Page 18: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

The proof of the Proposition implies that the structure of any optimal algorithm must be such as that of the algorithms described.

variations for an optimal algorithm solving MaxF. They are minimal in the case of a border value of M, i.e. that equal to mt

2r or m2r : then, only roles of bit values 0 and 1 may be exchanged, at each round. Note that the value of the reply of the middle, minimal, or maximal id should be opposite to the value of the bit received by it, by the reasons as in item 2 in the proof of the Proposition.If M is less at least by one than mt

2r , for a terminating algorithm, then the id [M/2] may join the set of lesser ids.Besides, if the summary number of lesser and greater ids is strictly less than mt

2(r-1)

or m2(r-1), then the lengths of sub-ranges may vary arbitrarily, restricted from above by mt

2(r-1) or m2(r-1), each one. Similar variations may be done at each round, provided the current sub-range length is strictly less than the corresponding border value.We see that there is the same generic structure of the sub-range tree, while the lengths of sub-ranges may vary, restricted by values of mt or m.

Leader for two processorsExact bounds on num. of bits

Page 19: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

variations for optimal Leader algorithms (of course, the variations as for MaxF may be applied). Now, there is no need for lesser ids to have values lesser than those for greater ids, and similarly for middle, minimal and maximal ids. Also, the sets of lesser and maximal ids must not be continuous integer intervals. Hence, values of middle, minimal, and greater ids may be chosen arbitrarily, and not only the lengths, but also the composition of the sets of lesser ids may be arbitrary, at each algorithm round.

Leader for two processorsExact bounds on num. of bits

Page 20: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Case of minimal waking assumptionLet us consider now the model variation, where just a single processor, out of the two, may be awaken by the scheduler (the minimal waking assumption). Let us use notion of Bit Cm(T ) and Bit Cmt (T ), for this model variation. We assume that there are at least three possible ids.The main observation is that there is no passive id, at the beginning of any algorithm, working under this assumption.Indeed, assume to the contrary that there exists a passive id. If it is paired with any other id, and awaken alone, by the scheduler, then the execution finishes immediately. Hence, all ids are meant to have a built-in decision. However, pairing two of them with the same decision leads to a non-legal decision pair.

Theorem: For the two processors network, under the minimal waking assumption, Bit Cm(Leader) = Bit Cm(MaxF) = 2[log2(([M/2]+2)/3.5)]+2Bit Cmt (Leader) = Bit Cmt (MaxF) = 2[log2(([M/2]+1)/3)]+2

Leader for two processorsExact bounds on num. of bits

Page 21: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Outline

• Introduction

• 2-processor solutions & bounds

• Chain solutions

Page 22: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 2

Leader in a chain of even lengthAlgorithm 2

Page 23: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 2

Terminals: decide “non-leader”.

Leader in a chain of even lengthAlgorithm 2

Page 24: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 2

Terminals: decide “non-leader”.non-terminal: decide “leader”.

Leader in a chain of even lengthAlgorithm 2

Page 25: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 20 bits sent.

Terminals: decide “non-leader”.non-terminal: decide “leader”.

Leader in a chain of even lengthAlgorithm 2

Page 26: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 4

Leader in a chain of even lengthAlgorithm 4

Page 27: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 4

Terminals: decide “non-leader” and send 1.

1 1

Leader in a chain of even lengthAlgorithm 4

Page 28: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 4

Terminals: decide “non-leader” and send 1.1-processor: decide “non-leader” and send 0 forward.

0 01 1

Leader in a chain of even lengthAlgorithm 4

Page 29: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 4

Terminals: decide “non-leader” and send 1.1-processor: decide “non-leader” and send 0 forward.0-processor: decide “leader”.

1 10 0

Leader in a chain of even lengthAlgorithm 4

Page 30: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 44 bits sent.

Terminals: decide “non-leader” and send 1.1-processor: decide “non-leader” and send 0 forward.0-processor: decide “leader”.

0 01 1

Leader in a chain of even lengthAlgorithm 4

Page 31: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 6

Leader in a chain of even lengthAlgorithm 6

Page 32: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 6

Terminals: decide “non-leader” and send 1.

1 1

Leader in a chain of even lengthAlgorithm 6

Page 33: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 6

Terminals: decide “non-leader” and send 1.1-processor: decide “non-leader”, and send 00 forward.

00 001 1

Leader in a chain of even lengthAlgorithm 6

Page 34: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 6

Leader in a chain of even length

Terminals: decide “non-leader” and send 1.1-processor: decide “non-leader”, and send 00 forward.0-processor: upon wake-up, wait for an additional bit.If second bit received from the same neighbor, decide “non-leader” and send 0 forward.

01 100 00

Page 35: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 6

Leader in a chain of even length

Terminals: decide “non-leader” and send 1.1-processor: decide “non-leader”, and send 00 forward.0-processor: upon wake-up, wait for an additional bit.If second bit received from the same neighbor, decide “non-leader” and send 0 forward.If second bit received from the other neighbor, decide “leader”, and send nothing.

0 01 100 00

Page 36: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n = 68 bits sent.

Leader in a chain of even length

Terminals: decide “non-leader” and send 1.1-processor: decide “non-leader”, and send 00 forward.0-processor: upon wake-up, wait for an additional bit.If second bit received from the same neighbor, decide “non-leader” and send 0 forward.If second bit received from the other neighbor, decide “leader”, and send nothing.

0 000 001 1

Page 37: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Leader in a chain of even lengthMain Algorithm

Page 38: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Terminals: decide “non-leader” and send 0.

0 0

Leader in a chain of even length

n ≥ 8

Page 39: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

0 0

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.

11

Leader in a chain of even length

n ≥ 8

0 0

Page 40: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

10 1 0

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.

00

1 1

Leader in a chain of even length

n ≥ 8

0 011

Page 41: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

10 0 0 1 0

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.

00

1 1n ≥ 8

0 011

Leader in a chain of even lengthMain Algorithm

Page 42: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

10 0 0 1 0

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.

11

n ≥ 8

0 011 00

1 1

Leader in a chain of even lengthMain Algorithm

Page 43: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

10 0 01 1 0

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.

1

1n ≥ 8

0 011 00

1 10

1

Leader in a chain of even lengthMain Algorithm

Page 44: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

10 0 01 1 0

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.

1n ≥ 8

0 011 00

1 1

1 1

0

Leader in a chain of even lengthMain Algorithm

Page 45: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

10 0 01 1 0

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

n ≥ 8

0 011 00

1 1

11

01

Leader in a chain of even lengthMain Algorithm

Page 46: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

10 0 01 1 0

0 011 00

1 1

1

1

1

n ≥ 81.5 n bits sent.

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

0

Leader in a chain of even lengthMain Algorithm

Page 47: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

Leader in a chain of even lengthMain Algorithm

Page 48: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

0

Leader in a chain of even lengthMain Algorithm

Page 49: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

01

Leader in a chain of even lengthMain Algorithm

Page 50: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

Leader in a chain of even lengthMain Algorithm

Page 51: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

Leader in a chain of even lengthMain Algorithm

Page 52: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

Leader in a chain of even lengthMain Algorithm

Page 53: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

1

0

Leader in a chain of even lengthMain Algorithm

Page 54: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

1

0

Leader in a chain of even lengthMain Algorithm

Page 55: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

1

01

Leader in a chain of even lengthMain Algorithm

Page 56: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

1

010

1

Leader in a chain of even lengthMain Algorithm

Page 57: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

1

010

1

Leader in a chain of even lengthMain Algorithm

Page 58: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

1

010

1

1

Leader in a chain of even lengthMain Algorithm

Page 59: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

1

010

1

1

0

Leader in a chain of even lengthMain Algorithm

Page 60: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

n ≥ 8

Terminals: decide “non-leader” and send 0.0-processor: sends 1 forward.1-processor: decides “non-leader”, sets that the leader is farther, and sends 0 forward and 1 backward.0-processor, upon receiving 1 from its following processor, decides “non-leader”, sets that the leader is farther, and sends nothing.0-processor, upon receiving 0 from its following processor, decides “leader”, and sends nothing.

010

1

1

1

010

1

1

0

Leader in a chain of even lengthMain Algorithm

Page 61: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

10 0 01 1 0

0 011 00

1 1

1

1

1

0

Leader in a chain of even length

PropositionAlgorithms 2, 4, 6, 8, and the Main Algorithm solve Leader in 0, 4, 8, 12, and 1.5n bits sent, respectively.

The validity of Algorithms 2, 4, 6, and 8 is obvious. The validity of the Main Algorithm is proved for completeness.It is easy to check that, since n is even, the “waves” propagating from the terminals meet always at a link between a 0-processor, sending 1, and either a 1-processor or a terminal, sending 0. (i) exactly one 0-processor (that incident to the wave meeting link) gets reply 0,

which causes it to decide “leader”.(ii) the number of bits sent at the links looks always as two sequences 1, 2, . . . 1, 2,

beginning from the two chain ends (one may be empty), which results totally in 1.5n bits sent.

Page 62: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Theorem

For a chain of even length n and a set of possible ids of cardinality M ≥ 6, Bit C(Leader) is 0 if n = 2, 4 if n = 4, 8 if n = 6, 1.5n if n ≥ 8. Besides, if n is at least 10, there is no optimal algorithm, except for the Main Algorithm. The statement holds even if non-leaders are not required to know the direction to the leader

In the case n ≤ 8 and M ≥ 6, there is no optimal algorithm, except for Algorithms 2, 4, 6, 8, and the Main Algorithm for n = 8.

Leader in a chain of even length

Page 63: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Summary [Ye. Dinitz, N. Solomon, Two absolute bounds for distributed bit complexity, Theoretical Computer Science (2007)]

•For the two processors:• Bit C(Leader) = Bit C(MaxF) = 2[log2((M + 2)/3.5)] • Bit Ct (Leader) = Bit Ct (MaxF) = 2[log2((M + 1)/3)]

• For a chain of even length:• BitC(Leader) = Θ(n)

Page 64: Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.

Questions?