86 Kapitel 3. NetzwerkanalyseDiese Aufrufe führen zu folgender Konstellation nach Ablauf der zweiten Iteration. Die Veranschaulichungerfolgt mittels levelweiser Traversierung des Rekursionsbaums. Für den Knoten 3 rechnen wir aus:hub(8, 6, 3) = 1 (2 + 1 − 3) = 0 und hub(3, 8, 6) = 1 (1 + 3 − 2) = 1.2 2Bild für zweite Iteration von CRDer letzte nicht-triviale Aufruf ist Culberson-Rudnicki(8, {3}, [1]). Damit haben wir folgenden Baummit 6 Terminal- und 3 inneren Knoten konstruiert:Bild für Baumrealisierung der BeispielmatrixWir gehen zum Beweis der Korrektheit des Algorithmus über.Es seien G =(V,E,w) und G ′ =(V ′ ,E ′ ,w ′ ) gewichtete ungerichtete Graphen. Dann heißtG zu G ′ isomorph, symbolisch G ≃ G ′ , falls eine bijektive Abbildung ϕ : V → V ′ existiert,so dass {u, v} ∈E ⇔{ϕ(u),ϕ(v)} ∈E ′ für alle u, v ∈ V sowie w(u, v) =w ′ (ϕ(u),ϕ(v))für alle {u, v} ∈E gilt.Lemma 3.26 Es sei A ∈ IN n×n eine symmetrische Matrix, die sich durch Bäume realisierenlässt. Dann konstruiert der Algorithmus von Culberson und Rudnicki einen zuroptimalen Realisierung isomorphen Baum.Beweis: Der Algorithmus Culberson-Rudnicki wird stets mit einer Eingabe der Form(v, V, d), wobei v ein Knoten, V eine Menge von Terminalknoten und d eine Abstandsfunktionsind, aufgerufen. Es sei A[U]eineMatrixüber einer Indexmenge U. Es bezeichne T ∗ A[U]Skriptum zu Internet-Algorithmik WS 2006/2007
3.2. Rekonstruktion der Netzwerktopologie 87eine optimale Baumrealisierung von A[U]. Die Ordnung p eines Aufrufes von Culberson-Rudnicki sei definiert als p = def 1+‖U‖. Wir zeigen mittels Induktion über p, dassT A[U] ≃ TA[U] ∗ . Hierbei ist T A[U] der von Culberson-Rudnicki knostruierte Baum. (Istdie Matrix im Kontext klar, so lassen wir die Indizes weg.)Induktionsanfang: Es sei p = 1. Somit ist V = ∅ bei Aufruf von Culberson-Rudnicki.Wegen der Initialisierung bzw. Zeile 18 des Algorithmus ist v ∈ T . Folglich gilt T ≃ T ∗ .Induktionsschritt: Es sei p>1. Weiterhin sei b ∈ U ein Terminalknoten mit d v (b) maximal.Wir zeigen, dass nach Einfügen aller Knoten und Kanten in den Zeilen 17–20 der Pfadvon v nach b in T isomorph zu Pfad von v nach b in T ∗ ist. Dafür sei (w 0 ,w 1 ,...,w k )mit w 0 = v, w k = b der eindeutige (!) Pfad in T ∗ von v nach b. Dann zerfällt T ∗ in k +1Teilbäume mit w j als Wurzel und, für j ≥ 1, mit mindestens einem Terminalknoten in T ∗ j .Wir betrachten den Knoten w j für j ≥ 1. Dann gibt es offenbar ein u ∈ V mitd T ∗(v, w j )=hub(v, b, u) =h π(j) .Damit gilt: d T ∗(w j−1 ,w j )=h π(j) − h π(j−1) .Gibtesnunu ∈ V mit hub(u, v, b) = 0 undhub(v, b, u) =d T ∗(v, w j ), so ist u = w j ,d.h.w j ist ein Terminalknoten. Anderenfalls ist w jein innerer Knoten. D.h. der Pfad in T ist isomorph zu Pfad in T ∗ (bis auf Nummerierungder inneren Knoten). Nun sind aber alle Knoten in Tj∗ über w j mit dem Pfad von v nach bverbunden. In den Zeilen 3 und 9 wird V so aufgeteilt, dass Z j ∪{w j } alle Terminalknotenvon Tj∗ enthält. Es sei A j die Teilmatrix von A[V ] mit Spalten und Zeilen für Terminalknotenin Tj ∗.IstA[V ] durch Baum realisierbar, so auch A j für alle 0 ≤ j ≤ k. Weiterhingilt ‖Z j ‖ < ‖V ‖ für alle 0 ≤ j ≤ k, da insbesondere b in keinem Z j enthalten ist. NachInduktionsvoraussetzung konstruiert Culberson-Rudnicki einen Baum T j ≃ Tj ∗.Somitfolgt die Isomorphie T ≃ T ∗ .Korollar 3.27 (Hakimi & Yau 1964) Es sei A ∈ IN n×n eine symmetrische Matrix,die durch Bäume realisierbar ist. Die optimale Baumrealisierung ist bis auf Isomorphieeindeutig bestimmt.Bemerkung. Der Algorithmus von Culberson und Rudnicki kann leicht erweitert werden,um zu entscheiden, ob eine Matrix überhaupt durch Bäume realisierbar ist (Übungsaufgabe!).Wir wenden uns nun der Laufzeitanalyse des Algorithmus von Culberson und Rudnickizu.Proposition 3.28 Es sei A ∈ IN n×n eine symmetrische Matrix mit optimaler BaumrealisierungT .1. Für alle inneren Knoten v gilt deg T (v) ≥ 3.2. Es gibt maximal n − 2 innere Knoten.Version 0.6 Fassung vom 16. Februar 2007