ETH Zürich Institut für Theoretische Informatik Prof. Dr. Emo Welzl Dr. Johannes Lengler HS 2014 Lösungsvorschlag zu Übungsblatt 4 Diskrete Mathematik (D-ITET) Aufgabe 1 (2) (a) Mit den Bezeichnungen AG = (aij ), A2G = (aij ), V = V (G) ergibt sich |V | X (2) aii i=1 = |V | |V | X X i=1 j=1 aij aji = |V | X i,j=1 a2ij = |V | X aij = 2|E(G)|, i,j=1 das heisst die Summe der Diagonalelemente in A2G ist zweimal die Kantenanzahl von G. Das (2) ist auch klar, wenn man aii als die Anzahl Wege vom Knoten vi zu sich selbst der Länge 2 interpretiert (siehe Satz 2.29). Jeder solche Weg ist von der Form (vi , vj , vi ), beschreibt also die Kante {vi , vj }. Wir bekommen zweimal die Kantenanzahl, weil auch der Weg (vj , vi , vj ) die gleiche Kante {vj , vi } = {vi , vj } beschreibt. (3 Punkte) P|V | (3) Behauptung: Die Anzahl der Dreiecke in G ist 61 i=1 aii . Jeder Spaziergang der Länge 3 in G muss drei verschiedene Knoten vi , vj , vk besuchen, denn wären zwei der Knoten gleich (etwa vi = vj ), so hätte der Graph eine Schleife, was nach unserer Definition (3) von Graphen ausgeschlossen ist. Die Formel folgt nun unmittelbar aus der Interpretation von aii (Satz 2.29) unter Berücksichtigung der Tatsache, dass ein Dreieck {vi , vj , vk } durch die 6 Spaziergänge (vi , vj , vk , vi ), (vi , vk , vj , vi ), (vj , vi , vk , vj ), (vj , vk , vi , vj ), (vk , vi , vj , vk ) und (vk , vj , vi , vk ) beschrieben wird. (3 Punkte) Aufgabe 2 (i) Man wähle einen beliebigen Knoten u des Baumes T aus und halte diesen fest. Jetzt bestimmt man für alle anderen Knoten v ∈ V (T ) den Abstand d(u, v) zwischen u und v (dies ist die LängeS eines kürzesten Weges von u nach v). Wir definieren jetzt Wk := {v ∈ V (T ) | d(u, v) = k}, S V1 := k≥0 W2k , V2 := k≥0 W2k+1 und zeigen, dass V1 und V2 eine Partition mit den gewünschten Eigenschaften ist (tatsächlich ist es sogar die einzig mögliche Bipartition, wie man sich leicht überlegt). Dazu überlegen wir uns, dass es keine Kante zwischen Mengen Wk und Wl mit k + 1 < l gibt (sonst wäre der Abstand zwischen u und einem Knoten aus Wl kürzer als l). Ausserdem gibt es keine Kante zwischen zwei Knoten aus einer der Mengen Wk (ansonsten gäbe es in T einen Kreis). Folglich verlaufen alle Kanten zwischen den Mengen V1 und V2 . (3 Punkte) (ii) Es sei T = (V, E) ein Baum und (V1 , V2 ) eine Partition seiner Knotenmenge, so dass alle Kanten zwischen den Mengen V1 und V2 verlaufen. Ohne Beschränkung der Allgemeinheit können wir |V1 | ≥ |V2 | annehmen. Wir führen einen Widerspruchsbeweis und nehmen an, dass es in V1 keine Blätter gibt, dass also jeder Knoten in V1 mindestens Grad 2 besitzt. Es gilt dann X |E| = deg(v) ≥ 2|V1 | ≥ |V1 | + |V2 | = |V | = |E| + 1, | {z } v∈V1 ≥2 offenbar ein Widerspruch. (3 Punkte) 1 Aufgabe 3 (a) Offenbar summieren sich in jedem Graphen die Knotengrade zur doppelten Kantenzahl, in P einem Baum T = (V, E) muss also v∈V deg(v) = 2|E| = 2(|V | − 1) = 2|V | − 2 gelten. Summieren sich andererseits vorgegebene Knotengrade d1 , . . . , dn zu 2n − 2, so lässt sich ein Kodewort Pnerstellen, in dem jede Zahl i genau di − 1 mal vorkommt. Dieses Kodewort hat die Länge i=1 (di − 1) = (2n − 2) − n = n − 2. Interpretiert man dieses Kodewort als Prüferkode und konstruiert den dazugehörigen Baum, so hat dieser die gewünschte Gradsequenz. (3 Punkte) (b) Die Anzahl markierter Bäume zu einer gegebenen Gradsequenz lässt sich aus der Anzahl Kodewörter der Länge n − 2 ermitteln, die jede Zahl i genau di − 1 mal enthalten. Deren Anzahl ist offenbar (n − 2)! Qn . i=1 (di − 1)! (2 Punkte) (c) Im Prüferkode eines Baumes kommen genau die Blätter nicht vor. Kommt jede Zahl aus {1, 2, . . . , n} höchstens einmal im Kodewort vor, so kommen genau zwei Zahlen nicht vor. Ein Baum mit genau zwei Blättern ist ein Pfad. Demnach haben genau alle Pfade auf n Knoten einen Prüferkode mit den geforderten Eigenschaften. (2 Punkte) (d) Gäbe es zwei Knoten u, v vom Grad n+1, so wäre die Zahl der von ihnen ausgehenden Kanten 2(n + 1) oder 2(n + 1) − 1, je nachdem, ob u und v benachbart sind. In beiden Fällen gäbe es also mindestens 2n + 1 Kanten im Graphen, was im Widerspruch dazu steht, dass ein Baum mit 2n + 1 Knoten genau 2n Kanten hat. Also gibt es nur genau einen Knoten u vom Grad n + 1. Da n + 1 ≥ 6 ist, ist 1 nicht der Knoten vom Grad n + 1. Ein Knoten vom Grad d kommt genau d − 1-mal im Prüferkode vor. Daher entspricht einem Baum aus der Aufgabenstellung ein Prüferkode der Länge 2n − 1, in dem “1” genau viermal vorkommt, und in dem eine Zahl x genau n-mal vorkommt. Für die Wahl von x haben wir 2n Möglichkeiten (alles ausser “1”). Die Vorkommen von x können wir auf 2n−1 viele Weisen n im String verteilen. Von den übrigen n − 1 Plätzen müssen wir vier auswählen, um sie mit “1” zu belegen. Dies geht auf n−1 viele Weisen. Schliesslich können wir jeden der verbleibenden 4 n − 5 Plätze mit jeder der 2n − 1 Zahlen ausser 1 und x füllen, was weitere (2n − 1)n−5 Möglichkeiten bringt. Alle genannten Wahlen sind frei miteinander kombinierbar, sodass wir sie einfach multiplizieren können, um auf die Gesamtzahl 2n − 1 n−1 N = 2n · · · (2n − 1)n−5 n 4 zu kommen. (3 Punkte) Aufgabe 4 Wir bezeichnen einen gewurzelten Baum als k-är, wenn jeder Knoten höchstens k Kinder hat. Wir bezeichnen ihn als vollständig k-är der Tiefe t, wenn jeder Knoten der Tiefe ≤ t − 1 (d.h. jeder Knoten, von dem aus ein Pfad der Länge ≤ t − 1 zur Wurzel führt ) exakt k Kinder hat. Zunächst stellen wir fest, dass man einen k-ären Baum T der Tiefe t immer zum vollständigen k-ären Baum der Tiefe t ergänzen kann, indem man weitere Blätter an den Baum anhängt: Zunächst hängen wir Blätter an die Wurzel, falls diese < k Kinder hat, dann hängen wir Blätter an die Knoten in Tiefe 1, die < k Kinder haben, und so fort. Wann immer ein Schritt dieses Prozesses ein Blatt v in einen inneren Knoten umwandelt, entsteht mindestens ein neues Blatt als Kind von v. Daher kann in jedem Schritt die Zahl der Blätter nicht kleiner werden. Also ist die Zahl der Blätter in T höchstens so gross wie die Zahl der Blätter in einem vollständigen k-ären Baum T0 . Es genügt daher, die Behauptung für T0 zu zeigen. 2 Für T0 überlegt man sich nun einfach induktiv, dass es genau k i Knoten in Tiefe i gibt. Ein Knoten von T0 ist nach Definition von T0 genau dann ein Blatt, wenn er in Tiefe t ist. Daher ist die Zahl der Blätter in T0 genau k t . (6 Punkte) Aufgabe 5 Die folgenden Implikationen zeigen die gewünschte Äquivalenz. (1) ⇒ (4) Da G zusammenhängend ist, gibt es für jedes Paar von Knoten u, v mindestens einen Pfad von u nach v in G. Angenommen es gäbe für ein Paar u, v zwei verschiedene Pfade von u nach v. Dann überlegt man sich leicht, dass diese zwei Pfade einen Kreis enthalten: Seien die 2 Pfade (u1 , u2 , . . . , ur ) und (v1 , v2 , . . . , vs ) (mit u1 = v1 = u und ur = vs = v). Sei i minimal mit ui 6= vi . Sei j ≥ i minimal mit uj ∈ {vi , vi+1 , . . . , vs } und k ≥ i minimal mit vk = uj . Dann erhalten wir einen Kreis als (ui−1 , ui , . . . , uj−1 , uj , vk−1 , vk−2 , . . . , vi+1 , vi ). Dies widerspricht der Kreisfreiheit von G, also war die Annahme falsch und es gibt sogar genau einen Pfad für jedes Paar u, v. (4) ⇒ (2) Da G für jedes Paar u, v einen Pfad von u nach v enthält, ist G zusammenhängend. Sei {u, v} eine Kante in G. Ein Pfad von u nach v in G ist gegeben durch die Kante {u, v}. Da es genau einen Pfad von u nach v in G gibt, ist nach Löschen der Kante {u, v} keinen Pfad von u nach v vorhanden, der resultierende Graph ist also nicht zusammenhängend. Daher ist G minimal zusammenhängend. (2) ⇒ (1) Zu zeigen ist, dass G kreisfrei ist. Da G = (V, E) zusammenhängend ist, enthält G einen Spannbaum T = (V, E 0 ). Gäbe es eine Kante in E \ E 0 , so könnte man diese aus G entfernen, und der entstehende Graph enthielte immer noch T und wäre damit zusammenhängend. Dies wäre ein Widerspruch zur Minimalität von G. Also ist E = E 0 , und damit G = T ein Baum. Alternativ kann man auch Lemma 2.18 benutzen. (1) ⇒ (3) Dies ist uns bereits bekannt, da wir in der Vorlesung gezeigt haben, dass jeder Baum die Gleichung |E| = |V | − 1 erfüllt (Satz 2.45). (3) ⇒ (1) Es ist zu zeigen, dass G zusammenhängend ist. Jede Zusammenhangskomponente von G ist zusammenhängend (nach Definition) und kreisfrei (da G kreisfrei ist), also ein Baum. Sk Sk Seien die Komponenten C1 = (V1 , E1 ), . . . , Ck = (Vk , Ek ). Dann ist V = ˙ Vi und E = ˙ Ei . i=1 i=1 Da die Komponenten Bäume sind, besagt Satz 2.45 aber |Ei | = |Vi | − 1 für alle i ∈ {1, . . . , k}. Daher gilt ! k k k X X X |V | − 1 = |E| = |Ei | = (|Vi | − 1) = |Vi | − k = |V | − k. i=1 i=1 i=1 Vergleicht man die linke und die rechte Seite, so erhält man k = 1. Es gibt also genau eine Zusammenhangskomponente, und G ist zusammenhängend. (9 Punkte) 3