Kommunikationsprobleme Walter Unger Lehrstuhl für Informatik 1 29. Januar 2008 Broadcast Einleitung Grundlagen Broadcast Untere Schranke Erste Resultate Bäume Komplexität Definition und erste Ergebnisse Komplexität Broadcast auf Netzwerken Netzwerke Erste Resultate CCC SE BF DB Untere Schranken Knotengrad Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:1 Definition (Broadcast): LuF Walter Unger Gegeben sei G = (V , E ) und v ∈ V . I v habe Information I (v ) und I kein Knoten aus V \ {v } kennt I (v ). I Jeder Knoten aus V \ {v } soll die Information I (v ) erhalten. Definition (Accumulation): Gegeben sei G = (V , E ) und v ∈ V . I Jeder Knoten w ∈ V habe Information I (w ) und I kein Knoten aus V \ {w } kennt I (w ). I der Knoten v soll die Information ∪w ∈V I (w ) erhalten. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:2 Definition (Accumulation): LuF Walter Unger Gegeben sei G = (V , E ) und v ∈ V . I Jeder Knoten w ∈ V habe Information I (w ) und I kein Knoten aus V \ {w } kennt I (w ). I der Knoten v soll die Information ∪w ∈V I (w ) erhalten. Definition (Gossip): Gegeben sei G = (V , E ). I Jeder Knoten w ∈ V habe Information I (w ) und I kein Knoten aus V \ {w } kennt I (w ). I Jeder Knoten v ∈ V soll die Information ∪w ∈V I (w ) erhalten. Einleitung Broadcast Komplexität Broadcast auf Netzwerken 1:3 Kommunikationsarten I Telegraphmode: Kommunikation ist gerichtet. I Wird auch Einweg Algorithmus genannt. I Z Untere Schranken Telephonemode: Information wird ausgetauscht. I Wird auch Zweiweg Algorithmus genannt. I Kommuniziert wird immer zwischen Nachbarn. I Kommuniziert wird in Runden. I In jeder Runde bilden die aktiven Kanten ein Matching. I Jede Runde benötigt eine Zeiteinheit. LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken 1:3 Erklärung Z Untere Schranken LuF Walter Unger I Beim Broadcastproblem wird also die Information eines Knotens auf alle anderen verteilt. I Das Accumulationsproblem ist ein “inverses” Broadcast. I Beim Gossip wird die Summe aller Informationen in jeden einzelnen Knoten gesammelt. I Es wird hier nun immer in einer Kommunikationsrumde mittels eines Matchings kommuniziert. I Die Kommunikation auf einer Kante kann in eine Richtung oder in beide Richtungen gehen. I Die Größe der Datenmenge wird erst einmal nicht berücksichtigt. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:4 Definitionen LuF Walter Unger I Mit comm(A) wird die Komplexität (Anzahl der Runden) eines Kommunikationsalgorithmuses bezeichnet. I r (G ) = min{comm(A) | A ist Einweg Algorithmus und löst Gossip Problem auf G } I r2 (G ) = min{comm(A) | A ist Zweiweg Algorithmus und löst Gossip Problem auf G } I b(v , G ) = min{comm(A) | A ist Einweg Algorithmus und löst Broadcast Problem auf G und v } I b2 (v , G ) = min{comm(A) | A ist Zweiweg Algorithmus und löst Broadcast Problem auf G und v } I a(v , G ) = min{comm(A) | A ist Einweg Algorithmus und löst Accumulations Problem auf G und v } I a2 (v , G ) = min{comm(A) | A ist Zweiweg Algorithmus und löst Accumulations Problem auf G und v } Einleitung Broadcast Komplexität Broadcast auf Netzwerken 1:5 Definitionen I b(G ) = max{b(v , G ) | v ∈ V } I b2 (G ) = max{b2 (v , G ) | v ∈ V } I a(G ) = max{a(v , G ) | v ∈ V } I a2 (G ) = max{a2 (v , G ) | v ∈ V } I minb(G ) = min{b(v , G ) | v ∈ V } I mina(G ) = min{a(v , G ) | v ∈ V } Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Grundlagen 1:6 Erste Erkenntnisse I Für jeden Graphen G und v ∈ V gilt: I I I I I I Z Untere Schranken a2 (v , G ) = b2 (v , G ) a(v , G ) = b(v , G ) a(G ) = b(G ) mina(G ) = minb(G ) b(v , G ) = b2 (v , G ) b(G ) = b2 (G ) I Es gibt Graph G mit: r (G ) = 2 · r2 (G ). I Es gilt: minb(G ) 6 b(G ) 6 r2 (G ) 6 r (G ) 6 2 · r2 (G ). I Definition eines Wegs: L(n) = (VL(n) , EL(n) ) VL(n) = {0, 1, 2, · · · , n − 1} EL(n) = {{i, i + 1} | 0 6 i < n − 1} I minb(L(n)) = dn/2e I b(L(n)) = n − 1 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Grundlagen Z Untere Schranken 1:6 Erklärung LuF Walter Unger Die Aussagen ergeben sich durch folgende Argumente: I Reverses Broadcast ist Accumulation. I Betrachte 2-Clique oder Kreis der Länge vier. I Die Ungleichungen ergeben sich aus den Definitionen. I Optimales Broadcast auf der Linie startet in der Mitte der Linie. I Auf der Linie muss die Nachricht von links über alle Kanten nach rechts laufen. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Grundlagen 1:7 Erste Erkenntnisse II LuF Walter Unger Lemma: Für jeden Graphen G mit |V | > 2 gilt: I b(G ) 6 r (G ) 6 2 · minb(G ) I b(G ) 6 r2 (G ) 6 2 · minb(G ) − 1 Beweis: Betrachte folgende Schritte. I Sei v ∈ V mit b(v , G ) = minb(G ) = mina(G ) = z. I Sei A = E1 , E2 , · · · Ez der zugehörige Einweg Broadcast Algorithmus. I Sei B = F1 , F2 , · · · Fz der zugehörige Einweg Accumulations Algorithmus. I Dann erhält man einen Einweg Gossip Algorithmus durch F1 , F2 , · · · Fz , E1 , E2 , · · · Ez . I Beachte: im Zweiweg Modus gilt: Fz = E1 . I Beachte: Bei L(2 · n) gilt die Gleichheit. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Grundlagen 1:7 Erklärung Z Untere Schranken LuF Walter Unger Die Aussagen ergeben sich durch folgende Argumente: I Broadcast ist eine Teilaufgabe bei Gossip. I Wenn man alle Nachrichten in einen Knoten sammelt und dann von da aus Broadcast macht, so erhält man Gossip. I Im Zweiweg Modus kann man genau eine Runde (die erste Runde vom Broadcast) sparen, denn das ist die gleich der letzten Runde von der Accumulation. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Grundlagen Z Untere Schranken 1:8 Erste Erkenntnisse III LuF Walter Unger Lemma: Für jedes gerade n mit n > 8 gibt es Graphen G mit n Knoten und I b(G ) = r (G ) Beweis: x @ @ x x @ x @ @ @ @ @x @ @x x x Einleitung Broadcast Komplexität Broadcast auf Netzwerken Grundlagen 1:9 Erste Erkenntnisse IV diam(G ) rad(v , G ) rad(G ) Z Untere Schranken = = = rad(G ) 6 minb(G ). I rad(G ) 6 diam(G ) 6 b(G ). Sei G = (V , E ) und H = (V , F ) mit F ⊂ E , dann gilt: I I I I b(G ) 6 b(H). minb(G ) 6 minb(H). r (G ) 6 r (H). r2 (G ) 6 r2 (H). I minb(G ) 6 (deg (G ) − 1) · rad(G ) + 1. I b(G ) 6 (deg (G ) − 1) · diam(G ) + 1. I b(G ) 6 deg (G ) · rad(G ). I r (G ) 6 2(deg (G ) − 1) · rad(G ) + 2 I r2 (G ) 6 2(deg (G ) − 1) · rad(G ) + 1 Walter Unger max{dist(u, v ) | u, v ∈ V } max{dist(v , x) | x ∈ V } min{rad(v , G ) | v ∈ V } I I LuF Einleitung Broadcast Komplexität Broadcast auf Netzwerken Untere Schranke Untere Schranke Z Untere Schranken 1:10 LuF Walter Unger Lemma Sei G = (V , E ) Graph mit n Knoten, dann gilt: I b(G ) > minb(G ) > dlog ne Beweis: I Sei A(t) die Anzahl der informierten Knoten nach t Runden. I A(0) = 1 I A(t + 1) 6 2 · A(t) I A(t) 6 2t I Am Ende muss gelten 2t > n. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Untere Schranke Erklärung Z Untere Schranken 1:10 LuF Walter Unger Diese Art eines Beweises werden wir im Folgenden öfters sehen. D.h. es wird die Verbreitung (ggf. beschränkt durch Knotengrad oder Anzahl der Knoten in einem gewissen Abstand) der Nachricht untersucht. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Erste Resultate 1:11 Erste Resultate Z Untere Schranken Lemma Sei K (n) = ({0, 1, · · · n − 1}, E ) der vollständige Graph mit n Knoten, dann gilt I minb(K (n)) = b(K (n)) = dlog ne Beweis (K (n)): for t = 1 to dlog ne do for all i ∈ {0, 1, · · · , 2t−1 − 1} do in parallel if i + 2t−1 6 n then i sendet an i + 2t−1 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Erste Resultate Z Untere Schranken 1:12 Hyperwürfel der Dimension d HQ(d) = (VHQ(d) , EHQ(d) ) VHQ(d) = {0, 1}d EHQ(d) = {{w 0w 0 , w 1w 0 } | w 0w 0 , w 1w 0 ∈ VHQ(d) } s sh h 01101 1101 1111 01111 hhh hhh h h hhh hhhh hhh hhh hs s s s hhh hh 01001 1001 11111 1011 11101 01011 h h h h h h h h h h h hh h hh hs sh s s h shh 01110 shhh 00101 01100 00111 0101 0111 11001 1100 1110 11011 101hh 111hh h h h h h h h h h h h h h hhh h h h h h h h hhsh h h hh hh hh hs sh s h s sh shhh s 00011 h h h h 01000 1000 11110 10101 0011 011 1010 10111 11100 00001 0001 001 01 1 h hh 11 01010 h h h h h h h h h h hh h h h h h h h h h h h hh hhh h hh h hs sh shhh s s h sh 00100 10001 00110 0100 0110 11000 10011 11010 100hh 110hh h h h h h h hh hhhhh hh h hh hh sh s s s 00010 h 10100 0010 010 10110 00000 0000 000 00 0 h hh 10 h hhhhhhhh hhhhhh hhh h s s 10000 10010 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Erste Resultate 1:13 LuF Walter Unger Hyperwürfel der Dimension d (Alternative Darstellung) HQ(d) = (VHQ(d) , EHQ(d) ) VHQ(d) = {0, 1}d EHQ(d) = {{w 0w 0 , w 1w 0 } | w 0w 0 , w 1w 0 ∈ VHQ(d) } 0000 000 00 0 0001 001 01 1 0010 010 10 0011 011 11 0100 100 0101 101 0110 110 0111 111 1000 1001 1010 1011 1100 1101 1110 1111 r r r r r r r r r r r r r r r r " ! " ! & % & % & % & % & % & % & % & % & % & % & % & % & % & % Knotenanzahl: Kantenanzahl: Knotenzsh.: 2d d · 2d−1 d Knotengrad: Durchmesser: Kantenzsh.: d d d Einleitung Broadcast Erste Resultate Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:13 Erklärung LuF Walter Unger Die Kanten eines Hyperwürfels werden in verschiedene Dimensionen aufgeteilt. In jeder Dimension bilden die Kanten ein Matching. Der Vorteil eines Hyperwürfels ist der kleine Durchmesser, ein Nachteil ist der unbeschränkte Knotengrad. Weiterhin ist es leicht einen kürzesten Weg einer Nachricht von einem Knoten A zu einem Knoten B zu bestimmen. Dazu müssen nur die Bits “gekippt” werden, in denen sich die Knoten A und B unterscheiden. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Erste Resultate 1:14 Erste Resultate Lemma Es gilt: I minb(K (n)) = b(K (n)) = dlog ne I minb(HQ(m)) = b(HQ(m)) = m Z Untere Schranken Beweis (HQ(m)): for i = 1 to m do for all a1 , a2 , · · · , ai−1 ∈ {0, 1} do in parallel a1 a2 · · · ai−1 00 · · · 0 sendet an a1 a2 · · · ai−1 10 · · · 0 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Bäume 1:15 Vollständiger binärer Baum LuF Walter Unger T (d) = (VT (d) , ET (d) ) VT (d) = {w ∈ {01}∗ | |w | 6 d} ET (d) = {{w , wa} | w , wa ∈ V , a ∈ {0, 1}} q X X XX X XX X Xq11 0 q0 HH HH (1): T (4): (5): (0): (2): (3): H HH H 1q 1 q q1 10 00 qH 00 10 010H 11HH HH H q101 H q011 q111 000 q 0 01 010 q 100 110 q q q 000 001 010 011 100 101 110 111 0000q @ q 0010q @ q 0100q @ q 0110q @ q 1000q @ q 1010q @ q 1100q @ q 1110q @ q 0000 0001 0001 0010 0011 0011 0100 0101 0101 0110 0111 0111 1000 1001 1001 1010 1011 1011 1100 1101 1101 1110 1111 1111 q B q B qB qB qB qB qB qB qB qB q B q B q B q B q B q B 00000Bq 00010Bq 00100Bq 00110Bq 01000Bq 01010Bq 01100Bq 01110Bq 10000Bq 10010Bq 10100Bq 10110Bq 11000Bq 11010Bq 11100Bq 11110Bq 00001 00011 00101 00111 01001 01011 01101 01111 10001 10011 10101 10111 11001 11011 11101 11111 Knotenanzahl: Kantenanzahl: Knotenzsh.: 2d+1 − 1 2d+1 − 2 1 Knotengrad: Durchmesser: Kantenzsh.: 3 2·d 1 Einleitung Broadcast Komplexität Broadcast auf Netzwerken Bäume Z Untere Schranken 1:16 Vollständiger k-närer Baum LuF Walter Unger Tk (d) = (VTk (d) , ETk (d) ) VTk (d) = {w ∈ {0, 1, · · · , k − 1}∗ | |w | 6 d} ETk (d) = {{w , wa} | w , wa ∈ VTk (d) , a ∈ {0, 1, · · · , k − 1}} (((rhhhhhh hhh (((( ( ( h ( hr 2 rP P 0( 1rPP P P P Pr02 Pr12 Pr22 20 r 21r PP 00 r 01r 10 r 11r r @ r@r r @ r@r r @ r@r r @ r@r r @ r@r r @ r@r r @ r@r r @ r@r r @ r@r T3 (3): 000 001 002 010 011 012 020 021 022 100 101 102 110 111 112 120 121 122 200 201 202 210 211 212 220 221 222 Knotenanzahl: Kantenanzahl: Knotenzsh.: Pd ki Pi=0 d i i=0 k − 1 1 Knotengrad: Durchmesser: Kantenzsh.: k +1 2·d 1 Einleitung Broadcast Komplexität Broadcast auf Netzwerken Bäume 1:17 Erste Resultate II Lemma Es gilt für k, m > 2: minb(Tk (m)) = k · m. Beweisidee: I b(ε, Tk (m)) = k · m. I b(ε, Tk (m)) 6 b(v , Tk (m)). I Beachte v hat ε zu informieren I und ε dann die verbleibenden Söhne. Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Definition und erste Ergebnisse Komplexität Definition: Das spezielle Broadcast-Problem ist: I Gegeben: G = (V , E ), v ∈ V und k ∈ IN. I Frage: Gilt b(v , G ) 6 k. Definition: Das Broadcast-Problem ist: I Gegeben: G = (V , E ) und k ∈ IN. I Frage: Gilt b(G ) 6 k. Z Untere Schranken 1:18 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Definition und erste Ergebnisse Komplexität Theorem: Das spezielle Broadcast-Problem auf Bäumen ist in P Beweis: rekursives Vorgehen (einfache Übung). Theorem: Das Broadcast-Problem auf Bäumen ist in P Beweis: einfache Übung. Z Untere Schranken 1:19 LuF Walter Unger Einleitung Broadcast Definition und erste Ergebnisse Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:19 Erklärung LuF Walter Unger Der Algorithmus bestimmt rekursiv die Broadcastzeit von einem Knoten (den wir dann als Wurzel auffassen) in seinen Unterbaum. Für die Blätter ist diese Zeit 0. Wenn wir die Broadcastzeit für alle Nachfolger einer Wurzel haben, sortieren wir diese Zeiten. Danach kann bestimmt werden, in welcher Reihenfolge und wann wir diese Teilbäume von der Wurzel aus benachrichtigen können. Beispiel: 5 Teilbäumne haben Broadcastzeiten 10, 10, 9, 9, 7. Dann werden die Teilbäume auch in dieser Reihenfolge informiert. Dann ergibt sich eine Broadcastzeit von max(10 + 1, 10 + 2, 9 + 3, 9 + 4, 7 + 5) = 13 für den gesamten Baum. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität Komplexität Theorem: Das spezielle Broadcast-Problem ist in N PC. Beweis: einfache Übung (wenn man die Idee kennt). Z Untere Schranken 1:20 LuF Walter Unger Einleitung Broadcast Komplexität Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:20 Erklärung LuF Walter Unger Wenn eine Nachricht von einem Knoten v zum einem Knoten w noch geschickt werden muss und die verbleibende Zeit und Weglänge zwischen v und w gleich sind, dann ist diese Nachricht kritisch. D.h. sie muss ohne Verzögerung immer in Richtung w geschickt werden. Ist der kürzeste Weg zwischen v und w eindeutig, so können wir genau sagen, zu welchem Zeitpunkt die Nachricht in welchem Knoten ist. Wenn nun ein weiter Knoten w 0 existiert mit: dist(v , w ) = dist(v , w 0 ) + 1 und der kürzeste Weg zu w 0 zweigt von dem Weg von v nach w ab, dann ist auch die Nachricht auf diesem neuen Weg kritisch. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:21 Idee zum Beweis Broadcast von a0 in 9 Runden: a0 a1 b2 b3 b4 b5 b6 b7 b8 b9 a2 a3 a4 a5 a6 a7 a8 a9 Damit muss jeder Knoten ai , bi in Runde i informiert werden. LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:22 Idee zum Beweis (Teil A) Broadcast von a0 in 9 Runden: a0 a1 a2 b2 c3 c4 c5 c6 c7 c8 c9 f3 f4 f5 f6 f7 f8 f9 a3 a4 a5 a6 a7 a8 a9 e4 e5 e6 e7 e8 e9 b4 b5 b6 b7 b8 b9 d4 d5 d6 d7 d8 d9 b3 Kann auf beliebig viele “Pfade” erweitert werden. LuF Walter Unger Einleitung Broadcast Komplexität Erklärung Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:22 LuF Walter Unger Betrachten wir nun die folgende Situation: es gibt eindeutige kürzeste Wege von v nach w , w 0 , w 00 , die einen gemeinsamen Verzweigungspunkt haben. Weiter sei dist(v , w ) − 2 = dist(v , w 0 ) = dist(v , w 00 ) und die Nachricht auf dem Weg von v nach w kritisch. Dann ist einer der beiden anderen Wege (z.B. v nach w 0 ) kritisch. Der andere Weg (z.B. v nach w 00 ) ist nicht kritisch, d.h. man könnte die Nachricht einmal verzögern oder im letzten Schritt noch einen weitern Knoten zusätzlich informieren. Damit haben wir insgesamt eine “Variable”: d.h. der Weg v nach w 0 ist kritisch oder der andere Weg von v nach w 00 . Weiterhin kann man analog diese “Variable” mit vielen Nachrichten bauen, d.h. entweder ist eine Gruppe W 0 von Nachrichten kritisch oder eine andere Gruppe W 00 von Nachrichten. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:23 Idee zum Beweis (Teil B) LuF Walter Unger Broadcast von a0 in 9 Runden: a0 a0 a1 a1 a2 a2 c3 c4 c5 c6 c7 c8 c9 x = false b3 b4 b5 b6 b7 b8 b9 x = true a3 a4 a5 a6 a7 a8 a9 c3 c4 c5 c6 c7 c8 c9 x = true b3 b4 b5 b6 b7 b8 b9 x = false a3 a4 a5 a6 a7 a8 a9 Damit haben wir eine “Variable”. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:24 3-SAT LuF Walter Unger Definition Eine Boolesche Formel F ist in Exact-3-KNF: Vm F(x1 , x2 , ..., xr ) = i=1 ci (Klauseln) ci = (Literale) lij = (li1 ∨ li2 ∨ li3 ) ¬xk xk oder für ein k : 1 6 k 6 r ∀16i 6m ∀ 1 6 i 6 m und ∀16j 63 Eine Belegung ist eine Funktion W : {x1 , x2 , ..., xr } 7→ {0, 1}. Es ist NP-vollständig, festzustellen, ob es für F eine erfüllende Belegung gibt. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:25 Idee zum Beweis (Teil C) Broadcast von a0 in 9 Runden: c3 a0 a1 a2 c4 e5 e6 e7 e8 e9 c5 c6 c7 c8 c9 d5 d6 d7 d8 d9 b3 b4 b5 b6 b7 b8 b9 a3 a4 a5 a6 a7 a8 a9 Damit habe wir eine “Variable” mehrfach. LuF Walter Unger Einleitung Broadcast Komplexität Komplexität Erklärung Broadcast auf Netzwerken Z Untere Schranken 1:25 LuF Walter Unger Bisher haben wir die Möglichkeit viele Variablen aufzubauen. Was noch fehlt sind die Klauseln. Bei 3-SAT ist es so, das jede Klausel von einer Variablen erfüllt sein muss. Wir können nun hier eine Klausel durch einen Knoten darstellen, der nur noch über Variablen (d.h. Wege) informiert werden kann, die nicht kritisch sind (also den Wert “wahr” darstellen). Damit haben wir die Idee für die Reduktion auf 3-SAT. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:26 Idee zum Beweis (Teil D) LuF Walter Unger Broadcast von a0 in 9 Runden: z0 z1 z2 z3 z4 z5 y0 y1 y2 y3 y4 y5 x0 x1 x2 x3 x4 x5 z0 z1 z2 z3 z4 z5 y0 y1 y2 y3 y4 y5 x0 x1 x2 x3 x4 x5 Damit haben wir eine “Klausel”. z6 z7 z8 x = false y6 y7 y8 y = false x6 x7 x8 z = false z6 z7 z8 x = false y6 y7 y8 y = true x6 x7 x8 z = false z9 y9 c0 x9 z9 y9 x9 c0 Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität Z Untere Schranken 1:27 Idee zum Beweis LuF Walter Unger I Betrachte Boolsche Formel F aus 3 − SAT : I Erzeuge für jede der n Variablen aus F einen kritischen Weg (Teil A). I Erzeuge für jeden kritischen Weg eine Alternative (Teil B). I Damit sind alle Literale dargestellt. I Erzeuge für jedes Literal so viele Pfade wie das Literal in F auftritt (Teil C). I Erzeuge für jede Klausel ein Konstrukt nach Teil D. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität 1:28 Beispiel Z Untere Schranken LuF Walter Unger F = (x ∨y ∨z)∧(x ∨z)∧(x ∨y )∧(x ∨y ∨z)∧(x ∨y ∨z)∧(x ∨z)∧(x ∨y ) a0 a1 a2 c2 a3 x 0 a4 b3 y 0 b4 c3 z0 c4 a5 b5 c5 a6 b6 c6 a7 b7 c7 a8 b8 c8 a9 b9 c9 a10 b 10 c 10 a11 b 11 c 11 a12 b 12 c 12 Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:29 Beispiel LuF Walter Unger F = (x ∨y ∨z)∧(x ∨z)∧(x ∨y )∧(x ∨y ∨z)∧(x ∨y ∨z)∧(x ∨z)∧(x ∨y ) a0 a1 a2 c2 b3 y 0 a3 x 0 a4 c3 z0 c4 b4 a5 c5 b5 a6 d6 b6 k6 a7 d7 c6 q6 h7 b7 k7 o7 c7 q7 u7 a8 a9 d8 h8 b8 k8 o8 c8 q8 u8 d9 h9 b9 k9 o9 c9 q9 u9 a10 d 10 h10 b 10 k 10 o 10 c 10 q 10 u 10 a11 d 11 h11 b 11 k 11 o 11 c 11 q 11 u 11 a12 d 12 h12 b 12 k 12 o 12 c 12 q 12 u 12 x h6 x y o6 y z u6 z Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:30 Beispiel LuF Walter Unger F = (x ∨y ∨z)∧(x ∨z)∧(x ∨y )∧(x ∨y ∨z)∧(x ∨y ∨z)∧(x ∨z)∧(x ∨y ) a0 a1 a2 c2 b3 y 0 a3 x 0 a4 c3 z0 c4 b4 a5 c5 b5 a6 d6 b6 k6 a7 d7 h7 c6 q6 b7 k7 o7 c7 q7 a8 d8 g 8 h8 a9 d 9 e9 g 9 h9 i8 b8 k8 m8 o 8 p 8 c8 q8 s8 u8 i9 b9 k 9 l 9 m9 o 9 p 9 c9 q9 r 9 s 9 a10 u9 b 10 q 10 r 10 s 10 t 10 u 10 b 11 k 10 l 10 m10 o 10 p 10 k 11 l 11 m11 o 11 p 11 c 10 a11 d 10 e 10 f 10 g 10 h10 j 10 i 10 d 11 e 11 f 11 g 11 h11 j 11 i 11 c 11 q 11 r 11 s 11 t 11 u 11 a12 d 12 e 12 f 12 g 12 h12 j 12 i 12 b 12 k 12 l 12 m12 o 12 p 12 c 12 q 12 r 12 s 12 t 12 u 12 x h6 x y o6 y u6 z u7 z Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Komplexität 1:31 Beispiel LuF Walter Unger F = (x ∨y ∨z)∧(x ∨z)∧(x ∨y )∧(x ∨y ∨z)∧(x ∨y ∨z)∧(x ∨z)∧(x ∨y ) a0 a1 a2 c2 b3 y 0 a3 x 0 a4 c3 z0 c4 b4 a5 c5 b5 a6 d6 b6 ky6 oy6 a7 d7 h7 c6 q6 b7 k7 o7 c7 q7 a8 d8 g 8 h8 a9 d 9 e9 g 9 h9 i8 b8 k8 m8 o 8 p 8 c8 q8 s8 u8 i9 b9 k 9 l 9 m9 o 9 p 9 c9 q9 r 9 s 9 a10 u9 b 10 q 10 r 10 s 10 t 10 u 10 b 11 k 10 l 10 m10 o 10 p 10 k 11 l 11 m11 o 11 p 11 c 10 a11 d 10 e 10 f 10 g 10 h10 j 10 i 10 d 11 e 11 f 11 g 11 h11 j 11 i 11 c 11 q 11 r 11 s 11 t 11 u 11 a12 d 12 e 12 f 12 g 12 h12 j 12 i 12 b 12 k 12 l 12 m12 o 12 p 12 c 12 q 12 r 12 s 12 t 12 u 12 x h6 x v1 v2 v3 v4 (x ∨ y ∨ z) (x ∨ z) (x ∨ y ) (x ∨ y ∨ z) v5 (x ∨ y ∨ z) v6 (x ∨ z) u6 z v7 (x ∨ y ) u7 z Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität Z Untere Schranken 1:32 Komplexität LuF Walter Unger Theorem: Das spezielle Broadcast-Problem auf Graphen vom Grad 3 ist in N PC. I Gegeben F in KNF mit n Variablen und m Klauseln. I Setze k = 4(·dlog ne + dlog me) + 3 Wende obige Konstruktion an: I I I I I I In 2 · dlog ne Schritten erzeuge n Kopien von I (v ). In 2 · (dlog ne + dlog me) + 2 Schritten erzeuge eine Nachricht für jedes Auftreten einer Variable. Verlängere jeden Weg um die Länge 2 · (dlog ne + dlog me). Erzeuge Klauseln. Vermeide dabei Knoten vom Grad 3. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität 1:33 Komplexität Z Untere Schranken LuF Walter Unger Theorem: Das spezielle Broadcast-Problem auf planaren Graphen vom Grad 3 ist in N PC. Beweis: das planare 3-SAT ist in N PC. D.h. der Abhängigkeitsgraph zwischen Klauseln und Variablen ist planar. Definition: Sei F Boolsche Formel in KNF. Seien V die Variablen und C die Klauseln. Der Abhängigkeitsgraph ist dann: GF = (V , C , {{v , c} | v ist in c}) Einleitung Broadcast Komplexität Komplexität Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:34 LuF Walter Unger Theorem: Das Broadcast-Problem auf planaren Graphen vom Grad 3 ist in N PC. Beweis: Erweitere obige Konstruktion, so dass es einen eindeutigen “schwersten” Knoten gibt. Einleitung Broadcast Komplexität Komplexität Erklärung Hier sollte noch was hin Broadcast auf Netzwerken Z Untere Schranken 1:34 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität 1:35 Beispiel w 0 w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 w 9 w 10w 11w 12w 13w 14w 15w 16w 17w 18w 19w 20w 21w 22w 23w 24 a0 a1 a2 c2 b3 y 0 b4 a3 x 0 a4 a5 c3 z0 c4 c5 b5 a6 d6 x a7 d7 a8 g 8 h8 g 9 h9 d 9 e9 d 10 e 10 f 10 g 10 h10 j 10 a10 a11 a12 v1 c7 q6 z q7 b8 k8 m8 o 8 p 8 c8 q8 s8 u8 b9 c9 q9 r 9 s 9 u9 c 10 q 10 r 10 s 10 t 10 u 10 b 11 k 9 l 9 m9 o 9 p 9 k 10 l 10 m10o 10 p 10 k 11 l 11 m11o 11 p 11 c 11 q 11 r 11 s 11 t 11 u 11 b 12 k 12 l 12 m12o 12 p 12 c 12 q 12 r 12 s 12 t 12 u 12 ky6 b7 i8 i9 i 10 b 10 d 11 e 11 f 11 g 11 h11 j 11 i 11 d 12 e 12 f 12 g 12 h12 j 12 i 12 d8 a9 c6 k7 oy6 o7 b6 h6 x h7 v2 (x ∨ y ∨ z) (x ∨ z) v3 v4 v5 v6 (x ∨ y ) (x ∨ y ∨ z) (x ∨ y ∨ z) (x ∨ z) v7 (x ∨ y ) Z Untere Schranken u6 z u7 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität 1:36 Komplexität Z Untere Schranken LuF Walter Unger Definition: Das Gossip-Problem ist: I Gegeben: G = (V , E ) und k ∈ IN. I Frage: Gilt r2 (G ) 6 k. Theorem: Dass Gossip-Problem ist in N PC. Beweis: Erweitere obige Konstruktion, so dass es einen eindeutigen “schwersten” Knoten gibt. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität 1:37 Beispiel w 0 w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 w 9 w 10w 11w 12w 13w 14w 15w 16w 17w 18w 19w 20w 21w 22w 23w 24 a0 a1 a2 c2 b3 y 0 b4 x 0 a3 a4 a5 c5 c6 k7 oy6 o7 c7 q6 z q7 b8 k8 m8 o 8 p 8 c8 q8 s8 u8 b9 c9 q9 r 9 s 9 u9 c 10 q 10 r 10 s 10 t 10 u 10 b 11 k 9 l 9 m9 o 9 p 9 k 10 l 10 m10o 10 p 10 k 11 l 11 m11o 11 p 11 c 11 q 11 r 11 s 11 t 11 u 11 b 12 k 12 l 12 m12o 12 p 12 c 12 q 12 r 12 s 12 t 12 u 12 b6 ky6 b7 i8 i9 da10 e 10 f 10 g 10 h10 j 10 i 10 da11 e 11 f 11 g 11 h11 j 11 i 11 da12 e 12 f 12 g 12 h12 j 12 i 12 b 10 h6 x h7 da8 da9 e 9 v1 c3 z0 c4 b5 da6 x da7 g 8 h8 g 9 h9 v2 (x ∨ y ∨ z) (x ∨ z) v3 v4 v5 v6 (x ∨ y ) (x ∨ y ∨ z) (x ∨ y ∨ z) (x ∨ z) v7 (x ∨ y ) Z Untere Schranken u6 z u7 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität 1:38 Komplexität Z Untere Schranken LuF Walter Unger Definition: Das 1-Weg Gossip-Problem ist: I Gegeben: G = (V , E ) und k ∈ IN. I Frage: Gilt r (G ) 6 k. Theorem: Dass Gossip-Problem ist in N PC. Beweis: Erweitere obige Konstruktion, so dass es einen eindeutigen “schwersten” Knoten gibt. Und vermeide Nachrichtenblockaden. Einleitung Broadcast Komplexität Komplexität Erklärung Hier sollte noch was hin Broadcast auf Netzwerken Z Untere Schranken 1:38 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Komplexität 1:39 Beispiel v 16 v 17 w 0 w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 w 9 w 10w 11w 12w 13w 14w 15w 16w 17w 18w 19w 20w 21w 22w 23w 24 a0 a1 a2 c2 b3 y 0 b4 x 0 a3 a4 a5 c5 c6 k7 oy6 o7 c7 q6 z q7 b8 k8 m8 o 8 p 8 c8 q8 b9 k 9 l 9 m9 o 9 p 9 k 10 l 10 m10o 10 p 10 c9 c 10 q9 r 9 s 9 u9 q 10 r 10 s 10 t 10 u 10 c 11 q 11 r 11 s 11 t 11 u 11 c 12 q 12 r 12 s 12 t 12 u 12 b6 ky6 b7 i8 i9 i 10 da11 e 11 f 11 g 11 h11 j 11 i 11 da12 e 12 f 12 g 12 h12 j 12 i 12 b 10 h6 x h7 g 8 h8 da8 g 9 h9 da9 e 9 da10 e 10 f 10 g 10 h10 j 10 v1 c3 z0 c4 b5 da6 x da7 v2 (x ∨ y ∨ z) (x ∨ z) v3 b 11 b 12 v4 k 11 l 11 m11o 11 p 11 k 12 l 12 m12o 12 p 12 v5 v6 (x ∨ y ) (x ∨ y ∨ z) (x ∨ y ∨ z) (x ∨ z) v7 (x ∨ y ) u6 z u7 s8 Z Untere Schranken u8 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Netzwerke 1:40 Cube-Connected Cycles der Dimension d CCC (d) VCCC (d) c ECCC (d) h ECCC (d) 0000 000 00 0 r 0010 010 10 0011 011 11 r r 2 r r r 3 r r r r r 0 r 1 0001 001 01 1 = = = = r Z Untere Schranken LuF Walter Unger c h (VCCC (d) , ECCC (d) ∪ ECCC (d) ) {0, 1, · · · , d − 1} × {0, 1}d {{(i, w ), ((i + 1) mod n, w )} | w ∈ {0, 1}d , 0 6 i < n} {{(i, w 0w 0 ), (i, w 1w 0 )} | w ∈ {0, 1}i , w 0 ∈ {0, 1}n−i−1 } r 0100 100 r 0101 101 r r r 0110 110 r 0111 111 r r r 1000 r r 1001 r r r r r r r r r r r r r r & & Knotenanzahl: Kantenanzahl: Knotenzsh.: r r d · 2d 3 · d · 2d−1 3 1010 r 1011 r r r r r 1100 r r r r 1110 r 1111 r r r r r r r r r r r r % % Knotengrad: Durchmesser: Kantenzsh.: r 1101 3 2 · d − 2 + bd/2c 3 Einleitung Broadcast Komplexität Netzwerke Erklärung Hier sollte noch was hin Broadcast auf Netzwerken Z Untere Schranken 1:40 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Netzwerke 1:41 Butterfly der Dimension d BF (d) VBF (d) c EBF (d) h EBF (d) 00 000 0000 0 0 1 2 0 3 0 0 01 1 001 0001 = = = = 10 010 0010 Z Untere Schranken LuF Walter Unger c h (VBF (d) , EBF (d) ∪ EBF (d) ) {0, 1, · · · , d − 1} × {0, 1}d {{(i, w ), ((i + 1) mod n, w )} | w ∈ {0, 1}d , 0 6 i < n} {{(i, w 0w 0 ), ((i + 1) mod n, w 1w 0 )} | |w | = i, |w 0 | = n − i − 11 011 0011 0100 100 0101 101 0110 110 0111 111 1000 1001 1010 1011 1100 1101 1110 1111 r r r r r r r r r r r r r r r r H H @ H @H @ @ @ @ @ @ H H@ @ H r r H r @H r r @ r @rHr @ rH@rHr @ H H r r H r H r r H H H H H H H H rH H HHr H HX HrH Hr HrX H r rHHX r r rH r rX r r rHH XX X X X r X X X X X X XX X X X X X X X X X X X X X X X X X X X X X X X X X X XrXX XrXXr X XrXX XrXXr X X XX X X X r r rh rh rh r r r r rX( ( (( ( ( (( (( (( ( h h h h h (( ( ( ( ( ( ( h h h h h h h ( ( ( ( ( ( h h h h h h hh ( ( ( ( ( h h h h h h hh ( ( ( ( ( ( ( ( h h h h h h h hh ((( ( ( ( ( ( ( h h h h h h h hh( ( ( ( ( ( ( ( h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( (( ((( ((( hhhh hhh h( h( h( h( h( ( ( ( (( h h h h h h( (( hrhhrhhr hrh hrh hrh h( h( h( hh hh hh hh hh h( r (( r ( r (( r (( r (( r ( rh( rh rh rh ( ( ( ( ( ( ( ( h Knotenanzahl: Kantenanzahl: Knotenzsh.: d · 2d d · 2d+1 4 Knotengrad: Durchmesser: Kantenzsh.: 4 d + bd/2c 4 Einleitung Broadcast Komplexität Netzwerke Erklärung Hier sollte noch was hin Broadcast auf Netzwerken Z Untere Schranken 1:41 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Netzwerke 1:42 DeBruijn Netzwerk der Dimension d I I I I DeBruijn DB(d) VDB(d) s EDB(d) se EDB(d) Z Untere Schranken LuF Walter Unger Netzwerk: s se = (VDB(d) , EDB(d) ∪ EDB(d) ) d = {0, 1} = {(wa, aw ) | a ∈ {0, 1}, wa, aw ∈ VDB(d) } = {(wa, bw ) | a ∈ {0, 1}, b = 1 − a, wa, bw ∈ VDB(d) } Knotenanzahl: 2d Knotengrad: 2 + 2 d+1 Kantenanzahl: 2 Durchmesser: d Ungerichtetes DeBruijn Netzwerk: 0s 0se ∪ EDB(d) ) DB 0 (d) = (VDB(d) , EDB(d) 0s EDB(d) = {{wa, aw } | a ∈ {0, 1}, wa, aw ∈ VDB(d) } 0se EDB(d) = {{wa, bw } | a ∈ {0, 1}, b = 1 − a, wa, bw ∈ VDB(d) } Knotenanzahl: Kantenanzahl: 2d 2d+1 − 3 Knotengrad: Durchmesser: 4 d Einleitung Broadcast Komplexität Broadcast auf Netzwerken Netzwerke 1:43 Beispiel 001 000 011 010 100 101 111 110 Z Untere Schranken LuF Walter Unger Einleitung Broadcast Netzwerke Erklärung Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:43 LuF Walter Unger Das DeBruijn Netwerk besteht also aus Knoten, die über {0, 1} Zeichenketten der Länge d dargestellt werden. Die Kanten ergeben sich dabei duch eine Verschiebeoperation: Das linke Zeichen wird entfernt und recht ein neues Zeichen angefügt. Damit ist das Bestimmen eines Weges von Knoten w nach w 0 genauso einfach wie im Hypercube. Man muss die Zeichenketten nur verschieben und dabei passend die Änderungen rechts einschieben bis man w 0 erreicht. Damit ist der Durchmesser genau wei beim Hypercube. aber der Knotengrad ist hier nur 4. Weiter ist zu bemerken, das das DB(d + 1) der Line-Graph von DB(d) ist. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Netzwerke 1:44 Shuffle-Exchange Netzwerk der Dimension d I I I I Z Untere Schranken LuF Walter Unger Shuffle-Exchange Netzwerk: s e SE (d) = (VSE (d) , ESE (d) ∪ ESE (d) ) d VSE (d) = {0, 1} s ESE (d) = {(wa, aw ) | a ∈ {0, 1}, wa, aw ∈ VSE (d) } e ESE (d) = {(wa, wb) | a ∈ {0, 1}, b = 1 − a, wa, wb ∈ VSE (d) } Knotenanzahl: 2d Knotengrad: 2 + 2 d+1 Kantenanzahl: 2 Durchmesser: 2 · d − 1 Ungerichtetes Shuffle-Exchange Netzwerk: 0s 0e SE 0 (d) = (VSE (d) , ESE (d) ∪ ESE (d) ) 0s ESE (d) = {{wa, aw } | a ∈ {0, 1}, wa, aw ∈ VSE (d) } 0e ESE (d) = {{wa, wb} | a ∈ {0, 1}, b = 1 − a, wa, wb ∈ VSE (d) } Knotenanzahl: Kantenanzahl: 2d 2d+1 /3 Knotengrad: Durchmesser: 3 2·d −1 Einleitung Broadcast Komplexität Netzwerke Erklärung Hier sollte noch was hin Broadcast auf Netzwerken Z Untere Schranken 1:44 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Netzwerke 1:45 Beispiel 010 000 011 001 110 100 101 Z Untere Schranken 111 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Netzwerke Einige Eigenschaften Z Untere Schranken 1:46 LuF Walter Unger Lemma Für alle k gilt: CCC (k) ist Teilgraph vom BF (k) Lemma Für alle k gilt: SE (k) ist Teilgraph vom DB(k) Lemma Für alle k gilt: DB(k + 1) ist der Linegraph (Kantengraph) vom DB(k) Einleitung Broadcast Komplexität Netzwerke Erklärung Hier sollte noch was hin Broadcast auf Netzwerken Z Untere Schranken 1:46 LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Erste Resultate 1:47 Erste Resultate Lemma Es gilt: I b(CCC (k)) 6 5k + O(1) I b(BF (k)) 6 4.5k + O(1) I b(SE (k)) 6 4k + O(1) I b(DB(k)) 6 3k + O(1) Beweis: Benutze folgende Aussagen: I b(G ) 6 (deg (G ) − 1) · diam(G ) + 1. I b(G ) 6 deg (G ) · rad(G ). Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken CCC 1:48 CCC Z Untere Schranken LuF Walter Unger Theorem: Es gilt: d5k/2e − 2 6 minb(CCC (k)) = b(CCC (k)) 6 d5k/2e − 1. Beweis: Folgende Teile werden bewiesen: I minb(CCC (k)) > d5k/2e − 2 I Algorithmus für d5k/2e − 1 wird angegeben. Einleitung Broadcast Komplexität CCC Broadcast auf Netzwerken 1:48 Erklärung Hier sollte noch was hin Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken CCC 1:49 CCC, Beweis minb(CCC (k)) k/2e −1111 2 1100 1101 1110 1001 > 1010 d5 1011 · 0101 0110 0111 1000 0000 0001 0010 0011 0100 0 1 2 3 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q " q q q q q q q q LuF Walter Unger q q q q q q q q q q q q ! q q q q q q q q Z Untere Schranken I diam(CCC (k) = b5/2 · kc − 2 I Damit gilt für gerade k die Behauptung. I Sei nun k ungerade. I Ursprung der Nachricht sei Knoten (0, 00 · · · 0). I Die Knoten (bk/2c, 11 · · · 1) und (bk/2c + 1, 11 · · · 1) sind im Abstand (b5 · k/2c − 2). I Damit wird eine Runde mehr als der Durchmesser gebraucht. I Behauptung ergibt sich mit der Knotensymmetrie. Einleitung Broadcast Komplexität Broadcast auf Netzwerken CCC 1:50 CCC, Algorithmus für0111(d5 k/2e − 1100 1) 1101 1110 1111 1000 ·1001 1010 1011 0000 0001 0010 0011 0100 0101 0110 0 1 2 3 q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q " q q q q q q q q q q q q q q q q q q q q ! q q q q q q q q Z Untere Schranken Algorithm BROADCAST-CCCk (0, 00...0) sends to (0, 10...0); for i = 1 to k − 1 do begin for all a0 , . . . , ai−1 ∈ {0, 1} do in parallel (i − 1, a0 . . . ai−1 00 . . . 0) sends to (i, a0 . . . ai−1 00 . . . 0); for all a0 , . . . , ai−1 ∈ {0, 1} do in parallel (i, a0 . . . ai−1 00 . . . 0) sends to (i, a0 . . . ai−1 10 . . . 0); end; for all α ∈ {0, 1}k do in parallel Broadcast auf Kreis Cα (k) von (k − 1, α); LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken CCC 1:51 CCC LuF Walter Unger Theorem: Es gilt: minb(CCC (k)) = b(CCC (k)) 6 d5 · k/2e − 2. Beweisidee: Verändere 1.Phase und schicke in beide Richtungen. 0000 0001 0 r r 1 r r 2 r 3 r r r 0010 r 0011 r r r r r 0100 r r r 0101 r r 0110 r 0111 r r r r 1000 r r 1001 r r r r r r r r r r r r r r & & 1010 r 1011 r r r r r 1100 r r r 1101 r r 1110 r 1111 r r r r r r r r r r r r % % Einleitung Broadcast Komplexität CCC Broadcast auf Netzwerken 1:51 Erklärung Hier sollte noch was hin Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken SE 1:52 SE Theorem: Es gilt: minb(SE (k)) = b(SE (k)) = 2 · k − 1 Beweis: I Durchmesser liefert untere Schranke. I Beachte SE (k) ist nicht knotensymmetrisch. I Müssen für jeden Knoten v Algorithmus angeben. I Algorithmus muss konfliktfrei sein. LuF Walter Unger Einleitung Broadcast Komplexität SE Broadcast auf Netzwerken 1:52 Erklärung Hier sollte noch was hin Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken SE 1:53 SE, Beweis Für jedes w = a1 a2 . . . ak ∈ {0, 1}k , sei I w1 = a1 und I w (t) = at at+1 . . . ak (für 2 6 t 6 k) I w (k + 1) = ε. I Startknoten sei: α = a1 a2 . . . ak in SEk . Z Untere Schranken α = a1 a2 . . . ak−1 ak sendet an a1 a2 . . . ak−1 āk (exchange); for t = 1 to k − 1 do for all β ∈ {0, 1}t do in parallel begin if α(t) 6∈ {β1 }+ then α(t)β sendet an α(t + 1)βat (shuffle); α(t + 1)βat sendet an α(t + 1)βāt (exchange) end; LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken SE α = a1 a2 . . . ak−1 ak sendet an a1 a2 . . . ak−1 āk (exchange); for t = 1 to k − 1 do for all β ∈ {0, 1}t do in parallel begin if α(t) 6∈ {β1 }+ then α(t)β sendet an α(t + 1)βat (shuffle); 1:54 w1 w (t) = = LuF Walter Unger a1 at at+1 . . . ak α(t + 1)βat sendet an α(t + 1)βāt (exchange) end; Zeige: Es gibt keine Konflikte! I Bei den Exchange-Kanten gibt es keinen Konflikt, denn das letzte Bit bestimmt eindeutig die Sender und Empfänger. I Angenommen bei den Shuffle-Kanten gäbe es einen Konflikt. I D.h., α(t)β = α(t + 1)γat für ein β, γ ∈ {0, 1}t . I Damit gilt: at α(t + 1) = α(t + 1)γ1 ⇒ at = at+1 = · · · = ak = γ1 ⇒ α(t) ∈ {γ1 }+ . I Das ist ein Widerspruch: denn Shuffle-Kanten für α(t) ∈ {γ1 }+ werden nicht genutzt. Einleitung Broadcast Komplexität Broadcast auf Netzwerken SE 1:55 SE, Beweis α = a1 a2 . . . ak−1 ak sendet an a1 a2 . . . ak−1 āk (exchange); for t = 1 to k − 1 do for all β ∈ {0, 1}t do in parallel begin if α(t) 6∈ {β1 }+ then α(t)β sendet an α(t + 1)βat (shuffle); Z Untere Schranken w1 w (t) = = LuF Walter Unger a1 at at+1 . . . ak α(t + 1)βat sendet an α(t + 1)βāt (exchange) end; Zeige: Es werden all Knoten informiert! I I I I I Zeige per Induktion: Nach 2 · r + 1 Runden sind alle Knoten α(r + 2)β, β ∈ {0, 1}r +1 informiert. IA: r = 0 ist klar. Falls α(r + 1) 6∈ {β1 }+ ,β ∈ {0, 1}r +1 , dann werden diese Knoten informiert, denn alle α(r + 2)β haben bereits die Information bekommen. Falls α(r + 1) ∈ {β1 }+ , β ∈ {0, 1}r +1 , dann gilt α(r + 2)βar +1 = α(r + 1)β1 βar +1 . Dieser Knoten ist schon vorher informiert worden. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken BF 1:56 BF LuF Walter Unger Theorem: Es gilt: b3m/2c 6 minb(BF (m)) = b(BF (m)) = 2 · m 0000 0 1 2 3 0 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 1111 r r r r r r r r r r r r r r r r @ @ @ @ @ @ @ @ rH@H r r @ r @H r r @ r @rHr @ rH@rHr @ r H r H r r H H H H H H H H rH H HHr H HX HrH Hr HrX H r rHH r r rH r rX r r rHH XX X X X X r X X X X X X XX X X X X X X X X X X X X X X X X X X X X X X X X X X X XrXX XrXX XrXXr XrXXr X XX X X X X r rh rh rh rh r r r r rX( ( (( ( ( (( (( (( ( h h h h h (( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( h h h h h h ( ( ( ( ( h h h h h h hh ( ( ( ( ( ( ( ( h h h h h h h hh ((( ( ( ( ( ( ( h h h h h h h hh( ( ( ( ( ( ( ( h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( (( ((( ((( hhhh hhh h( h( h( h( h( ( ( ( (( h h h h h h( (( hrhhrhhr hrh hrh hrh h( h( h( hh hh hh hh hh h( r (( r ( r (( r (( r (( r ( rh( rh rh rh ( ( ( ( ( ( ( ( h Einleitung Broadcast Komplexität Broadcast auf Netzwerken BF Z Untere Schranken 1:57 BF (Beweisidee) LuF Walter Unger b3m/2c minb(BF (m)) = b(BF (m)) = 2 · m 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 6 1111 0 1 2 3 0 q q q q q q q q q q q q q q q q @ @ @ @ @ @ @ @ q @q q @q q @q q @q q @q q @q q @q q @q HH H H H H H H H H H H H H H H H H H H H H H H H H H H H H H qX q q q q q q q q q q q q q q XXX X X X X H q XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X h hq hq X X X X X X X X X X( X Xq qh qh qh qh qh qh q q q q( q( qX qX (( ( ( ( ( ( ( ( h h ( ( ( ( ( ( h h h h h ( ( ( ( h ( h h h h h h hh (( ( ( ( ( ( ( ( h h h h h h ( ( ( ( ( ( ( ( h h h h h h hh h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( h ( h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( (( ((( ((( hh hhh h( h h h h ( ( ( ( ( h h h h h h ( ( (( h h h ( ( ( h h h h h q (q( q(( q(( q ( q( q( q( q( qh qh qh qh qh q hq ( ( ( ( hh h hh hh h h h I I Durchmesser liefert untere Schranke. Versende auf zwei Arten: I I Bevorzuge einmal die Kreiskanten (senkrechte Kanten). Bevorzuge sodann die Kreuzkanten. I Teile dazu das Butterfly in zwei isomorphe Teile auf. I Benutze auf jedem Teil eine andere Strategie. I Verteile zum Schluss auf den Kreisen. Einleitung Broadcast Komplexität BF Broadcast auf Netzwerken 1:57 Erklärung Hier sollte noch was hin Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken BF 1:58 BF (Beweis I) Z Untere Schranken LuF Walter Unger b3m/2c minb(BF (m)) = b(BF (m)) = 2 · m 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 6 1111 0 1 2 3 0 q q q q q q q q q q q q q q q q @ @ @ @ @ @ @ @ q @q q @q q @q q @q q @q q @q q @q q @q HH H H H H H H H H H H H H H H H H H H H H H H H H H H H H H qX q q q q q q q q q q q q q q XXX X X X X H q XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X h hq hq X X X X X X X X X X( X Xq qh qh qh qh qh qh q q q q( q( qX qX (( ( ( ( ( ( ( ( h h ( ( ( ( ( ( h h h h h ( ( ( ( h ( h h h h h h hh (( ( ( ( ( ( ( ( h h h h h h ( ( ( ( ( ( ( ( h h h h h h hh h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( h ( h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( (( ((( ((( hh hhh h( h h h h ( ( ( ( ( h h h h h h ( ( (( h h h ( ( ( h h h h h q (q( q(( q(( q ( q( q( q( q( qh qh qh qh qh q hq ( ( ( ( hh h hh hh h h h I Aufteilung von BF (m) in F0 und F1 : I FO hat Knoten: {(l, α0) | 0 6 l 6 m − 1, α ∈ {0, 1}m−1 }. I F1 hat Knoten: {(l, α1) | 0 6 l 6 m − 1, α ∈ {0, 1}m−1 }. I F0 und F1 sind isomorph. I ]0 (w ) bezeichnet die Anzahl der 0’en in w . I ]1 (w ) bezeichnet die Anzahl der 1’en in w . Einleitung Broadcast Komplexität Broadcast auf Netzwerken BF 1:59 BF (Beweis II) Z Untere Schranken LuF Walter Unger b3m/2c minb(BF (m)) = b(BF (m)) = 2 · m 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 6 1111 0 1 2 3 0 q q q q q q q q q q q q q q q q @ @ @ @ @ @ @ @ q @q q @q q @q q @q q @q q @q q @q q @q HH H H H H H H H H H H H H H H H H H H H H H H H H H H H H H qX q q q q q q q q q q q q q q XXX X X X X H q XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X h hq hq X X X X X X X X X X( X Xq qh qh qh qh qh qh q q q q( q( qX qX (( ( ( ( ( ( ( ( h h ( ( ( ( ( ( h h h h h ( ( ( ( h ( h h h h h h hh (( ( ( ( ( ( ( ( h h h h h h ( ( ( ( ( ( ( ( h h h h h h hh h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( h ( h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( (( ((( ((( hh hhh h( h h h h ( ( ( ( ( h h h h h h ( ( (( h h h ( ( ( h h h h h q (q( q(( q(( q ( q( q( q( q( qh qh qh qh qh q hq ( ( ( ( hh h hh hh h h h I I I I Betrache F0 : Vom Knoten v0 = (0, 00 · · · 00) gibt es einen eindeutigen Weg der Länge m − 1 zu w0 = (m − 1, α0) für α ∈ {0, 1}m−1 . Betrache F1 : Vom Knoten v1 = (m − 1, 00 · · · 01) gibt es einen eindeutigen Weg der Länge m − 1 zu w1 = (0, α1) für α ∈ {0, 1}m−1 . Erster Schritt des Algorithmus: Knoten v0 informiert v1 . Dann in F0 und F1 zwei verschiedene Strategien. Einleitung Broadcast Komplexität Broadcast auf Netzwerken BF 1:60 BF (Beweis III) Z Untere Schranken LuF Walter Unger b3m/2c minb(BF (m)) = b(BF (m)) = 2 · m 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 6 1111 0 1 2 3 0 q q q q q q q q q q q q q q q q @ @ @ @ @ @ @ @ q @q q @q q @q q @q q @q q @q q @q q @q HH H H H H H H H H H H H H H H H H H H H H H H H H H H H H H qX q q q q q q q q q q q q q q XXX X X X X H q XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X h hq hq X X X X X X X X X X( X Xq qh qh qh qh qh qh q q q q( q( qX qX (( ( ( ( ( ( ( ( h h ( ( ( ( ( ( h h h h h ( ( ( ( h ( h h h h h h hh (( ( ( ( ( ( ( ( h h h h h h ( ( ( ( ( ( ( ( h h h h h h hh h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( h ( h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( (( ((( ((( hh hhh h( h h h h ( ( ( ( ( h h h h h h ( ( (( h h h ( ( ( h h h h h q (q( q(( q(( q ( q( q( q( q( qh qh qh qh qh q hq ( ( ( ( hh h hh hh h h h I Ziel: Informiere in b3m/2c Schritten die Knoten w0 = (m − 1, α0) und w1 = (0, α1) für α ∈ {0, 1}m−1 . I Falls ein Knoten w0 = (m − 1, α0) informiert wurde, so informiert dieser sogleich w1 = (0, α1) (falls notwendig). I Falls ein Knoten w1 = (0, α1) informiert wurde, so informiert dieser sogleich w0 = (m − 1, α0) (falls notwendig). Einleitung Broadcast Komplexität Broadcast auf Netzwerken BF 1:61 BF (Beweis IV) Z Untere Schranken LuF Walter Unger b3m/2c minb(BF (m)) = b(BF (m)) = 2 · m 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 6 1111 0 1 2 3 0 q q q q q q q q q q q q q q q q @ @ @ @ @ @ @ @ q @q q @q q @q q @q q @q q @q q @q q @q HH H H H H H H H H H H H H H H H H H H H H H H H H H H H H H qX q q q q q q q q q q q q q q XXX X X X X H q XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X h hq hq X X X X X X X X X X( X Xq qh qh qh qh qh qh q q q q( q( qX qX (( ( ( ( ( ( ( ( h h ( ( ( ( ( ( h h h h h ( ( ( ( h ( h h h h h h hh (( ( ( ( ( ( ( ( h h h h h h ( ( ( ( ( ( ( ( h h h h h h hh h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( ( h ( h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( (( ((( ((( hh hhh h( h h h h ( ( ( ( ( h h h h h h ( ( (( h h h ( ( ( h h h h h q (q( q(( q(( q ( q( q( q( q( qh qh qh qh qh q hq ( ( ( ( hh h hh hh h h h I I I I In F0 schickt ein informierter Knoten (l, α0) zuerst an (l + 1, α0) und dann an (l + 1, α(l)0). [α(l) = α1 . . . ᾱl . . . ] In F1 schickt ein informierter Knoten (l, α1) zuerst an (l + 1, α(l)1) und dann an (l + 1, α1). Laufzeit, um von v0 = (0, 00 · · · 00) einen Knoten w0 = (m − 1, α0) zu informieren: 1 + ]0 (α) + 2]1 (α) = m + ]1 (α). Laufzeit, um von v1 = (m − 1, 00 · · · 01) einen Knoten w1 = (0, α1) zu informieren: 1 + 2]0 (α) + ]1 (α) = m + ]0 (α). Einleitung Broadcast Komplexität BF Broadcast auf Netzwerken 1:62 BF (Beweis V) I Fall 1: m ist ungerade: I I I Z Untere Schranken LuF Walter Unger b3m/2c 6 minb(BF (m)) = b(BF (m)) = 2 · m Fall 1.1: ]1 (α) < (m − 1)/2: Knoten w0 wird von v0 informiert zum Zeitpunkt m + ]1 (α) < (3m − 1)/2 = b3m/2c. Danach sendet w0 zu w1 . w1 ist informiert zum Zeitpunkt b3m/2c. Fall 1.2: ]0 (α) < (m − 1)/2: Knoten w1 wird von v0 informiert zum Zeitpunkt m + ]0 (α) < (3m − 1)/2 = b3m/2c. w0 wird von w1 informiert zum Zeitpunkt b3m/2c. Fall 1.3: ]0 (α) = ]1 (α) = (m − 1)/2: w0 ist informiert zum Zeitpunkt m + ]1 (α) = (3m − 1)/2 = b3m/2c. w1 ist informiert zum Zeitpunkt m + ]0 (α) = (3m − 1)/2 = b3m/2c. Einleitung Broadcast Komplexität Broadcast auf Netzwerken BF 1:63 BF (Beweis V) I Fall 2: m ist gerade: I I Fall 2.1: ]1 (α) 6 (m − 2)/2: Knoten w0 wird von v0 informiert zum m + ]1 (α) 6 3m/2 − 1 < b3m/2c. Somit ist w1 informiert zum Zeitpunkt Fall 2.2: ]0 (α) 6 (m − 2)/2: Knoten w1 wird von v0 informiert zum m + ]0 (α) 6 3m/2 − 1 < b3m/2c. Somit ist w0 informiert zum Zeitpunkt Z Untere Schranken LuF Walter Unger b3m/2c 6 minb(BF (m)) = b(BF (m)) = 2 · m Zeitpunkt b3m/2c. Zeitpunkt b3m/2c. Einleitung Broadcast Komplexität Broadcast auf Netzwerken BF 1:64 BF (Beweis VI) 0000 0 1 2 3 0 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 Z Untere Schranken LuF Walter Unger b3m/2c 6 minb(BF (m)) = b(BF (m)) = 2 · m 1101 0011 1011 0111 1111 r r r r r r r r r r r r r r r r @ @ @ @ @ @ @ @ rH@H r r @r r @H r r @r r @rH r @r rH@rH r @r H H H H H H H H H H H H H H H H H Hr Hr r r HX r HX r r r r rXHrXHrXrrH rHH XX X X r X X X X X X X XX X X X X X X X X X X X X X X X X X X X X X X X X X X XrXX XrXX XrXXr XrXXr X X XX X X X r r rh rh rh r r r r rX( ( (( ( ( (( (( (( ( h h h h h (( ( ( ( ( ( ( h h h h h h h ( ( ( ( ( ( h h h h h h hh ( ( ( ( ( h h h h h h hh ( ( ( ( ( ( ( ( h h h h h h h hh ( ( ( ( ( ( ( ( h h h h h h h hh( ( ( ( ( ( ( ( ( h h h h h h h ( ( ( ( ( ( ( ( h h h h h h h h ( ( ( ( ( ( h h h h h h h h( ( ( ( ( ( ( ( (( h h h h h h h( ( ( ( ( (( (( hhhh hh h( h( h( h( h( h( ( ( ( (( h h h h h h( h ( (( ( hrhhrhhr hrh hrh hrh h( h( h( hh hh hh hh hh h( r (( r ( r (( r (( r ( r ( rh( rh rh rh ( ( ( ( ( ( ( ( h I In der letzten Phase wird nur auf den Kreisen Information verteilt. I Laufzeit dazu: dm/2e Runden I Insgesamt: b3m/2c + dm/2e = 2m Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken DB 1:65 DB LuF Walter Unger Theorem: Es gilt: d 6 minb(DB(m)) = b(DB(m)) = b3/2 · (d + 1)c. Beweis: I Idee (y1 , y2 , . . . , yd ) informiert (y2 , . . . , yd , y1 ) und (y2 , . . . , yd , y1 ). I Reihenfolge wird durch Parität festgelegt. I Sei α = ]1 (y1 , y2 , . . . , yd ) mod 2. I (y1 , y2 , . . . , yd ) informiert zuerst (y2 , . . . , yd , α) und dann (y2 , . . . , yd , α). I (0011000) informiert zuerst (0110000) und dann (0110001). Einleitung Broadcast DB Komplexität Broadcast auf Netzwerken 1:65 Erklärung Aufbau der Idee: I Wenn man Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken DB 1:66 DB (Beweis) I Z Untere Schranken LuF Walter Unger Für k ∈ {0, 1} betrachte den Pfad Pk von (y1 , y2 , . . . , yd ) nach (z1 , z2 , . . . , zd−1 , zd ). (y1 , . . . , yd ), (y2 , . . . , yd , k), (y3 , . . . , yd , k, z1 ), (y4 , . . . , yd , k, z1 , z2 ), · · · · · · , (yd , k, z1 , . . . , zd−2 ), (k, z1 , . . . , zd−1 ), (z1 , . . . , zd−1 , zd )) I Sei v0i = (yi , . . . , yd , 0, z1 , . . . , zi−2 ) der i-te Knoten auf P0 . I Sei vi1 = (yi , . . . , yd , 1, z1 , . . . , zi−2 ) der i-te Knoten auf P1 . D.h. wir haben unterschiedliche Laufzeiten (1 oder 2) zum Senden: I I I (yi , . . . , yd , 0, z1 , . . . , zi−2 ) −→ (yi+1 , . . . , yd , 0, z1 , . . . , zi−2 , zi−1 ) (yi , . . . , yd , 1, z1 , . . . , zi−2 ) −→ (yi+1 , . . . , yd , 1, z1 , . . . , zi−2 , zi−1 ). I Damit ist die Summe der Laufzeiten auf P0 und P1 : 3(d + 1). I Damit ist die Laufzeit für Broadcast: b3(d + 1)/2c. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Knotengrad 1:67 Knotengrad Z Untere Schranken LuF Walter Unger Theorem: Sei n > 5 und G = (V , E ) Graph mit n Knoten: I Falls ∆(G ) = 3, dann gilt: b(G ) > minb(G ) > 1.4404 log(n) − 3. I Falls ∆(G ) = 4, dann gilt: b(G ) > minb(G ) > 1.1374 log(n) − 2. Beweis: I Sei A ein Broadcast-Algorithmus. I Sei Broad A (v0 ) die Menge der Knoten, die von A in i Runden i von v0 aus informiert werden. I Sei Rec A (v0 ) = Broad A (v0 ) \ Broad A (v0 ). i i i−1 I I Sei Rec0A (v0 ) = {v0 }. P Es gilt: |BroadiA (v0 )| = is=0 |RecsA (v0 )|. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken Knotengrad 1:67 Erklärung LuF Walter Unger Betrachten wir hier nur den Fall ∆(G ) = 3. Der Fall ∆(G ) = 4 geht analog. I Der Startknoten kann durch den beschränkten Knotengrad höchsten dreimal senden. I Der Startknoten sendet höchstens zu den Zeitpunkte 1, 2, 3 I Jeder andere Knoten wird zu einem Zeitpunkt t über eine Kante e informiert. I Über diese Kante e kann er keinen Knoten neu informieren. I Daher kann jeder andere Knoten höchsten zweimal senden. I Wenn ein Knoten v in Runde t von w informiert wurde, dann erhielt w die Information zum Zeitpunkt t − 1 oder t − 3. I Damit ist die Anzahl der Knoten die in Runde t > 3 informiert werden, höchstens so groß wie die Anzahl der Knoten die in Runde t − 1 und t − 2 informiert wurden. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Knotengrad 1:68 Beweis I Sei A(i) = |ReciA (v0 )|. I A(0) = 1 I A(1) = 1 I A(2) = 2 I A(3) = 4 I A(i) = A(i − 1) + A(i − 2) für i > 4. I Zeige per Induktion: A(i) 6 1.61804i für i > 0. Z Untere Schranken LuF Walter Unger Einleitung Broadcast Komplexität Broadcast auf Netzwerken Knotengrad 1:69 Beweis I A(0) = 1 6 1 = 1.618040 I A(1) = 1 6 1.61804 = 1.618041 I A(2) = 2 6 2.61805 = 1.618042 I A(3) = 4 6 4.23612 = 1.618043 Induktionsschritt (i > 4): I I I I Z Untere Schranken LuF Walter Unger A(i) 6 1.61804i für i > 0 Es gelte: A(j) 6 1.61804j für jedes j 6 i − 1. A(i) = A(i −1)+A(i −2) 6 1.61804i−1 +1.61804i−2 6 1.61804i Beachte dazu: 1.61804 + 1 6 1.618042 . I P Damit gilt: n 6 |BroadtA (v0 )| = ti=0 |ReciA (v0 )| 6 Pt Pt 1.61804t+1 −1 i t i=0 A(i) 6 i=0 1.61804 = 1.61804−1 6 3 · 1.61804 I t > 1.4404 · log2 n − 3. I Beweis der zweiten Aussage geht analog. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Knotengrad Weitere Resultate Z Untere Schranken 1:70 LuF Walter Unger Folgerung: b(DBk ) > minb(DBk ) > 1.1374 · k − 2 Theorem: b(BFm ) = minb(BFm ) > 1.7396m für ausreichend große m. Beweisansatz: Untersuche die Anzahl der Knoten im Abstand k. Theorem: b(DBm ) > 1.3042m für ausreichend große m. Beweisansatz: Untersuche die Anzahl der Knoten im Abstand k. Einleitung Broadcast Komplexität Broadcast auf Netzwerken Knotengrad 1:71 Überblick Graph Kn HQk zuweisung CCCk SEk DBk BFk |V | n 2k k · 2k 2k 2k k · 2k Durchmesser 1 k b5k/2c − 2 2k − 1 k b3k/2c Z Untere Schranken Untere Schranke dlog2 ne k d5k/2e − 2 2k − 1 1.4404k 1.7609k LuF Walter Unger Obere Schranke dlog2 ne k d5k/2e − 2 2k − 1 3 (k + 1) 2 2k − 1 2k − 1/2 log log k + Einleitung Literatur Literatur Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:72 J. Hromkovič, et al.: Dissemination of Information in Communication Networks : Broadcasting, Gossiping, Leader Election, and Fault-Tolerance. EATCS Series, Springer 2005. LuF Walter Unger Einleitung Fragen Fragen Broadcast Komplexität Broadcast auf Netzwerken Z Untere Schranken 1:72 LuF Walter Unger