• Keine Ergebnisse gefunden

Berechnung der Zeugen

Im Dokument Zertifizierende verteilte Algorithmen (Seite 132-136)

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

9.2.3 Berechnung der Zeugen

Die Berechnung der kürzesten Pfade gelingt mit der folgenden verteil-ten Variante des Bellman-Ford-Algorithmus aus [Lyn96].

9.3 s pa n n b äu m e 119

9.2.3.1 Verteilter Bellman-Ford-Algorithmus

Jeder Knoten berechnet dabei seinen kürzesten Pfad zur Quelle s und stellt seinen Elternknoten fest. Initial gilt dabei D(s) = 0 für die Quelle und D(v) = ∞ für alle anderen Komponenten. Wenn eine Komponente ihre Distanz aktualisiert, sendet sie ihre aktuelle Distanz an all ihre Nachbarn. Jede Komponentevberechnet für jeden eingegangenen WertD(u)eines Nachbarnudas Minimum ausD(v) undD(u) +c(u,v) als aktuelle Distanz. Falls eine Komponente dabei ihre Distanz aktualisiert, wird der entsprechende Nachbar uneuer Elternknoten.

9.2.3.2 Teilzeugen

Für ihren Teilzeugen merkt sich jede Komponente bei der Berechnung den Nachbarn, mit dem die Eigenschaft (9.3) erfüllt ist. Im Gegensatz zu Zeugen des zertifizierenden sequentiellen Graphalgorithmus müs-sen Zeugen der verteilten Variante mehr beinhalten: Der Teilzeuge einer Komponente beinhaltet auch die berechnete Distanz eines jeden Nachbarn für die Prüfung der Eigenschaft (9.2).

9.2.4 Checker

Der Teilchecker der Quelle prüft die Eigenschaften (9.1) für seine Komponente. Er prüft also, dass die berechnete Distanz seiner Kom-ponenten0ist. Ob es sich bei der Komponente um die Quelle handelt oder nicht, weiß ein Teilchecker durch die Teileingabe seiner Kompo-nente.

Der Teilchecker einer Komponente, die nicht die Quelle ist, prüft die Eigenschaften (9.2) und (9.3) für seine Komponente. Die berech-nete Distanz seiner Komponente kennt der Teilchecker durch deren Teilausgabe, während er die berechneten Distanzen der Nachbarn seiner Komponente aus dem Zeugen kennt. Die Kosten der Kanäle der Nachbarschaft wiederum sind ihm durch die Teileingabe seiner Komponente gegeben.

9.3 s pa n n b äu m e

Die verteilte Konstruktion eines Spannbaums in einem Netzwerk ist ein Grundbaustein verteilter Algorithmen [AW04; Tel94; Ray13; Pel00; Lyn96; Gho14]. Eine Zertifizierung ist für uns entsprechend interessant.

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

Wir geben eine Spezifikation der Spannbaumkonstruktion an (Ab-schnitt9.3.1). Anschließend geben wir eine zertifizierende Variante für die Spezifikation an, indem wir ein verteilbares Zeugenprädikat (Abschnitt9.3.2), eine Berechnung der Zeugen (Abschnitt9.3.3) und einen verteilten Checker (Abschnitt9.3.4) beschreiben.

9.3.1 Spezifikation des Problems

Wir benutzen die folgende Charakterisierung für einen Spannbaum.

SeiN= (V,E)ein Netzwerk. Der TeilgraphU= (V,E) mitE⊆Eist ein Spannbaum mitr∈vals Wurzel, falls

Aufspannend: für jeden Knoten v ∈ V gibt es einenr-v-Pfad mit Kanten ausEund

Kreisfrei: |E|=|V|−1gilt.

9.3.2 Verteilbares Zeugenprädikat

Wir geben zwei universell-verteilbare Prädikate an,Γ1 undΓ2, deren Konjunktion impliziert, dass der berechnete Spannbaumaufspannend ist undkreisfrei ist. Zusammen ergeben die beiden Prädikate dann entsprechend ein verteilbares Zeugenprädikat für die Spezifikation.

Für das erste PrädikatΓ1benutzen wir die Distanzfunktion, wie wir sie in Abschnitt9.2kennengelernt haben. Der Unterschied ist jedoch, dass wir die Distanz nicht für die kürzesten Pfade im Netzwerk benutzen, sondern für den berechneten Spannbaum. Die Kostenfunktion c : E→{1}ordnet dabei jedem Kanal die Kosten 1zu. Die Wurzelrdes Spannbaums ist dabei die Quelle.

Für die berechnete DistanzD:V →R⩾0 müssen nun die folgenden Eigenschaften gelten:

D(r) =0 (9.4) fur v¨ ,r gibt es einen Kanal(u,v)mit D(v) =D(u) +1 (9.5) Das PrädikatΓ1 ist erfüllt, falls die Eigenschaften (9.4) und (9.5) im Netzwerk gelten. Die Intuition der Eigenschaft (9.5) ist, dass der Nach-baruder Elternknoten im Spannbaum ist und somit(u,v)ein Kanal im Spannbaum ist, also(u,v)∈Eaus der Spezifikation.

Das zweite PrädikatΓ2 ist erfüllt, falls sich alle Komponenten über die Identität der Wurzel einig sind.

9.3 s pa n n b äu m e 121

9.3.2.1 Zeugeneigenschaft

Für die Eigenschaft, dass der Baumaufspannendist, argumentieren wir die Zeugeneigenschaft, wie folgt. Aus dem PrädikatΓ1 folgt, wegen der Eigenschaft (9.5): Jede Komponente (bis auf die Wurzel) hat einen Nachbarn, der eine um1geringere Distanz zur Wurzelrhat. Es gibt also einen Pfad, auf dem die Distanz mit jeder Komponente um 1 kleiner wird. Wegen der Eigenschaft (9.4), folgt außerdem, dass der Pfad beirendet.

Nun kann es aber weiterhin einen Wald, also mehrere Bäume mit unterschiedlichen Wurzeln im Netzwerk geben. Aus dem Prädikat Γ2, der Einigkeit über die Identität der Wurzel, folgt dann jedoch, dass es nur eine Wurzel gibt. Der berechnete Spannbaum ist also aufspannend.

Betrachten wir nun die Eigenschaft, dass der berechnete Spannbaum kreisfrei ist. Aus dem Prädikat Γ1 folgt, dass der berechnete Spann-baum kreisfrei ist. Schließlich kann die Distanz nicht immer kleiner werden, da Kanäle nur positive Kosten haben. Daraus folgt dann

|E|⩽|V|−1.

Aus dem PrädikatΓ2, der Einigkeit über die Wurzelr, folgt dann, dass es von jeder Komponente einen Pfad zur Wurzel gibt. Daraus folgt:

|E|⩾|V|−1. Die Eigenschaft, dass der berechnete Spannbaumkreisfrei ist, folgt also aus den PrädikatenΓ1 undΓ2.

9.3.2.2 Verteilungseigenschaft

Das Prädikat Γ1 ist analog zum Zeugenprädikat aus Abschnitt 9.2 universell-verteilbar.

Das PrädikatΓ2 ist universell-verteilbar mit einem lokalen Prädikat, das für eine Komponente erfüllt ist, wenn es sich mit seinen Nachbarn über die Identität der Wurzel einig ist. Die Verteilungseigenschaft beruht darauf, dass wenn in jeder Nachbarschaft Einigkeit herrscht, dann auch im gesamten Netzwerk.

Beobachtung(ID-basiertes Netzwerk). Wir beobachten, dass es für die Zertifizierung eines Spannbaums in einem Netzwerk wichtig ist, von einem ID-basierten Netzwerk auszugehen. Andernfalls könnten wir die Eindeutig-keit der Wurzel nicht garantieren und hätten dann gegebenenfalls keinen Spannbaum, sondern einen aufspannenden Wald im Netzwerk.

Wir weisen außerdem daraufhin, dass für anonyme Netzwerke auch eine von der Wurzel gewählte Zufallszahl, das Problem der Eindeutig-keit nicht löst. Zwei Wurzeln können schließlich die gleiche Zufallszahl wählen. In einem anonymen Netzwerk können wir einen Spannbaum also nicht zertifizieren. Die Variante mit der Zufallszahl könnte jedoch eine probabilistische Zertifizierung sein.

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

Beobachtung(Keine beschränkten Zeugen). Wir beobachten, dass die Identität der Wurzel immer globales Wissen sein muss. Entsprechend sind beschränkte Zeugen für die Zertifizierung eines Spannbaums nicht möglich.

Im Dokument Zertifizierende verteilte Algorithmen (Seite 132-136)