• Keine Ergebnisse gefunden

Echo-Algorithmus

Im Dokument Zertifizierende verteilte Algorithmen (Seite 140-144)

Theorem 8.3.1. Ein zertifizierender verteilter Algorithmus ist ein Spezialfall eines zertifizierenden sequentiellen Algorithmus

9.3.3 Berechnung des Zeugen

9.6.3.1 Echo-Algorithmus

Der Initiator sendet seine Nachricht an all seine Nachbarn. Jede Kom-ponente, die eine Nachricht von mindestens einem Nachbarn erhält, wählt einen dieser Nachbarn als Elternknoten. Anschließend sendet die Komponente die Nachricht an all ihre Nachbarn mit Ausnahme ihres Elternknotens. Eine Komponente sendet ihrem Elternknoten eine Bestätigung, falls sie von allen Nachbarn eine Nachricht erhalten. Bei den Nachrichten der Nachbarn darf es sich dabei jeweils entweder um die ursprüngliche Nachricht oder eine Bestätigung handeln. Blätter erhalten nur die ursprüngliche Nachricht.

Der Echo-Algorithmus terminiert damit, dass der Initiator am Ende von all seinen Nachbarn eine Nachricht erhält. Von den Nachbarn, die ihn als Elternknoten gewählt haben, erhält er eine Bestätigung und von den restlichen Nachbarn erhält er die Nachricht, die er selbst verschickt hat. Er erfährt dadurch, dass alle Komponenten die Nachricht erhalten haben.

Der Echo-Algorithmus konstruiert also im Netzwerk einen Spann-baum mit dem Initiator als Wurzel. Abgesehen von der Wurzel sieht der Spannbaum beliebig aus, weil jede Komponente ihren Elternkno-ten unter ihren Nachbarn beliebig wählt.

Die Teilzeugen sind für die Zertifizierung des Spannbaums, wie in Abschnitt9.3beschrieben, aufgebaut.

9.6.4 Checker

Die Teilchecker der Komponenten sehen, wie in Abschnitt9.3 beschrie-ben, aus.

9.7 l e a d e r e l e c t i o n 127

9.7 l e a d e r e l e c t i o n

Leader-Election ist ein Grundbaustein verteilter Algorithmen [AW04; Tel94;Ray13;Pel00;Lyn96;Gho14]. Eine Zertifizierung ist somit inter-essant. Wir haben diese Fallstudie unter anderem in [VA17] veröffent-licht.

Wir spezifizieren das Problem (Abschnitt9.7.1) und geben eine zerti-fizierende verteilte Variante an, indem wir das Problem der Leader-Election auf das Problem der Spannbaumkonstruktion reduzieren (Abschnitt9.7.2).

9.7.1 Spezifikation des Problems

Wir haben das Problem der Leader-Election bereits in Abschnitt5.5 spezifiziert. Das Problem der Leader-Election ist korrekt gelöst, falls der Leader eindeutig gewählt ist und der Leader eine Komponente des Netzwerks ist.

9.7.2 Reduktion auf Spannbaumkonstruktion

Ein Spannbaum mit dem gewählten Leader als Wurzel bezeugt, dass der Leader eindeutig gewählt ist, da sich alle Komponenten einig sind über die Wurzel des Spannbaums. Der Spannbaum bezeugt außerdem die Existenz des Leaders im Netzwerk und damit, dass der Leader eine Komponente des Netzwerks ist.

Verteilte Algorithmen zur Leader-Election, die ohnehin einen solchen Spannbaum berechnen, gibt es einige [AW04;Tel94;Ray13;Lyn96].

9.8 b i pa rt i t h e i t s t e s t

Ein Färbbarkeitstest mit einer bestimmten Anzahl an Farben für die Komponenten in einem Netzwerk ist ein Grundbaustein verteilter Al-gorithmen [AW04;Tel94;Ray13;Pel00;Lyn96;Gho14;Erc13]. Dabei ha-ben Nachbarn nie die gleiche Farbe und deswegen ist die Färbbarkeit zum Beispiel interessant, um eine Symmetrie zwischen Nachbarn zu brechen, um beim gemeinsamen Rechnen Ressourcen oder Aufgaben zu verteilen oder auch damit Nachbarn in verschiedenen Frequen-zen senden und somit zur Reduktion der Interferenz in kabellosen Netzwerken beitragen [BK18;Abd+14;HA11].

In [McC+11] gibt es bereits einen zertifizierenden sequentiellen Bipar-titheitstest für Graphen, also einen Färbbarkeitstest mit zwei Farben.

128 f a l l s t u d i e n

Eine Zertifizierung eines verteilten Bipartitheitstest ist deswegen für uns aus zwei Gründen interessant. Zum einen handelt es sich um einen grundlegenden verteilten Algorithmus und zum anderen gibt es bereits eine zertifizierende sequentielle Variante.

Wir haben die Fallstudie unter anderem in [Völ17] veröffentlicht.

Wir spezifizieren das Problem (Abschnitt9.8.1) und geben eine zer-tifizierende Variante an, indem wir ein verteilbares Zeugenprädikat (Abschnitt 9.8.2), die Berechnung der Zeugen (Abschnitt9.8.3) und einen Checker (Abschnitt9.8.4) beschreiben.

9.8.1 Spezifikation des Problems

In Abschnitt6.1haben wir für einen verteilten Bipartitheitstest bereits die Zertifizierung für den Fall eines bipartiten Netzwerks als einfüh-rendes Beispiel beschrieben. Wir betrachten deswegen im folgenden nur den Fall eines nicht bipartiten Netzwerks.

Der Bipartitheitstest ist für nicht bipartites NetzwerkNkorrekt gelöst, falls

• die verteilte Ausgabe ein „nein“ enthält und

• Nnicht bipartit ist.

9.8.2 Verteilbares Zeugenprädikat

Das verteilbare Zeugenprädikat ist eine Disjunktion der verteilba-ren Prädikate für den Fall eines bipartiten und den Fall eines nicht-bipartiten Netzwerks.

Wir betrachten nun den Fall eines nicht bipartiten Netzwerks. In der zertifizierenden sequentiellen Variante aus [McC+11] bezeugt ein ungerader Kreis, dass ein Graph nicht bipartit ist. Das heißt, das Zeugenprädikat ist erfüllt, wenn die Ausgabe „nein“ ist und ein ungerader Kreis als Teilgraph im Eingabegraphen enthalten ist. Wir übernehmen die Idee dieses Zeugenprädikats für Netzwerke.

9.8.2.1 Zeugeneigenschaft

Ein ungerader Kreis ist selbst nicht bipartit. Denn die Knoten eines Kreisesv0,v1, ...,v2k+1 mit v0 = v2k+1 müssten dafür abwechselnd gefärbt werden. Der Knotenv0 müsste dann beide Farben annehmen.

Folglich ist ein ungerader Kreis nicht bipartit. Weiterhin gilt, dass wenn ein nicht bipartiter Teilgraph in einem Graphen enthalten ist, dass dann der ganze Graph nicht bipartit ist.

9.8 b i pa rt i t h e i t s t e s t 129

Für ein Netzwerk gilt also, wenn es einen ungeraden Kreis enthält, dann ist das Netzwerk nicht bipartit. Wir betrachten den zertifizieren-den verteilten Bipartitheitstest hier aus der Perspektive eines Nutzers;

wir beweisen deswegen auch nicht die Vollständigkeit des Zeugen-prädikats. Wir weisen dennoch daraufhin, dass sich der Beweis der Vollständigkeit – es gibt immer einen ungeraden Kreis in einem nicht bipartiten Netzwerk – aus dem Theorem von König und Ergervary ergibt [Azi11].

9.8.2.2 Verteilungseigenschaft

Wir gestalten das ZeugenprädikatΓ mithilfe dreier Verteilungsprädi-kate verteilbar. Es gilt dann, das die Konjunktion der Verteilungsprä-dikate das ZeugenprädikatΓ impliziert. Wir machen zunächst einige Beobachtungen, um die PrädikateΓ12 undΓ3 herzuleiten.

Nehmen wir an, wir haben einen Spannbaum in einem Netzwerk gegeben. Ein Baum ist immer bipartit, da wir die Ebenen abwechselnd färben können. Wir nehmen deswegen weiterhin an, dass neben dem Spannbaum auch eine Bipartition des Spannbaums gegeben ist.

Wir nutzen den Spannbaum und dessen Bipartition, um ein verteil-bares Zeugenprädikat für die Existenz eines ungeraden Kreises im Netzwerk zu formulieren:

Theorem9.8.1. Gegeben sei ein durch eine Bipartition zwei-gefärbter Spann-baum in einem Netzwerk. Wenn mindestens eine Komponente einen Nach-barn gleicher Farbe hat, dann gibt es einen ungeraden Kreis im Netzwerk.

Beweis. SeiN= (V,E) ein Netzwerk undT = (V,E)ein Spannbaum inNmit einer Bipartition(V1,V2)der KomponentenVfürE. Nehmen wir nun an es gibt eine Komponenteumit einem Nachbarnvgleicher Farbe. Ohne Beschränkung der Allgemeinheit nehmen wir anu,v∈ V1. Für den Kanal(u,v)gilt dann(u,v)<E, denn(V1,V2) ist fürE eine Bipartition vonV.

Da u und v Teil des Spannbaums sind, gibt es einen Pfad mit den Kanälen des Spannbaums, deruundvverbindet. Gemeinsam ergeben der Pfad über die Kanäle des Spannbaums und der Kanal(u,v)einen Kreis.

Für die Komponentenuundvgilt, dass sie entweder einen gemeinsa-men Vorfahrenkim Spannbaum haben (1) oder dass eine der Kom-ponenten Vorfahre der anderen ist (2). Die Abbildung 9.1 stellt die beiden Fälle grafisch dar.

Im Fall (1) gilt, dassuundventweder beide geraden Abstand vom gemeinsamen Vorfahren k haben oder aber ungeraden, da sie die gleiche Farbe haben. Der Pfad zwischen u und v über Kanäle des

130 f a l l s t u d i e n

Abbildung 9.1:rist die Wurzel des Spannbaums.uundvsind durch einen Kanal benachbart, der nicht zum Spannbaum gehört (gestri-chelte rote Linie). Der ungerade Kreis ist in rot hervorgeho-ben.

Spannbaums hat also gerade Länge und bildet gemeinsam mit dem Kanal(u,v)einen ungeraden Kreis.

Für Fall (2) nehmen wir ohne Beschränkung der Allgemeinheit an, dassuVorfahre von v ist. Da uundv die gleiche Farbe haben, hat der Pfad über die Kanäle des Spannbaum gerade Länge und bildet gemeinsam mit dem Kanal(u,v)einen ungeraden Kreis. □ Wir können nun die drei VerteilungsprädikateΓ12 undΓ3 angeben, die gemeinsam das Zeugenprädikat – es gibt einen ungeraden Kreis im Netzwerk – implizieren. Γ1 ist erfüllt, falls das Netzwerk einen SpannbaumSenthält.Γ2 ist erfüllt, falls eine Bipartition fürSvorliegt.

Γ3 ist erfüllt, wenn mindestens eine Komponente einen Nachbarn mit anderer Farbe hat.

Das Verteilungsprädikate Γ1 ist, wie wir in Abschnitt 9.3 gesehen haben universell-verteilbar mithilfe einer Charakterisierung über die Distanzfunktion. Das VerteilungsprädikatΓ2 ist auch universell-ver-teilbar. Wir haben es bereits in unserem einführenden Beispiel in Abschnitt6.1betrachtet.

Das VerteilungsprädikatΓ3 ist existenziell-verteilbar mit einem loka-len Prädikat, dass für eine Komponente erfüllt ist, wenn sie einen Nachbarn anderer Farbe hat.

Im Dokument Zertifizierende verteilte Algorithmen (Seite 140-144)