ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Prof. Dr. Emo Welzl HS 2012 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 i=1 (2) aii = |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) (b) Behauptung: Der Graph G besitzt ein Dreieck genau dann, wenn die Summe der Diagonalelemente von A3G positiv ist. Beweis: Ein Dreieck {vi , vj , vk } ∈ V3 erzeugt zum Beispiel den Spaziergang (vi , vj , vk , vi ) der (3) Länge 3. Deshalb ist (wieder mit Satz 2.29) aii > 0 und folglich auch die Summe der Diagok 3 nalelemente von AG positiv (die Einträge in AG sind immer nicht-negativ). Umgekehrt, wenn die (3) Summe der Diagonalelemente von A3G positiv ist, ist auch mindestens ein aii positiv, insbesondere existiert ein Spaziergang der Länge 3 von vi zu sich selbst. Man sieht sofort, dass ein Spaziergang der Länge 3 mit gleichem Anfangs- und Endknoten immer ein Dreieck beschreibt (eine Kante kann nicht zweimal durchlaufen werden). P|V | (3) Behauptung: Die Anzahl der Dreiecke in G ist 61 i=1 aii . (3) Dies folgt wieder unmittelbar aus der Interpretation von aii 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 1 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 deg(v) ≥ 2|V1 | ≥ |V1 | + |V2 | = |V | = |E| + 1, |E| = | {z } v∈V1 ≥2 offenbar ein Widerspruch. (3 Punkte) 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 noch nicht verwendeten 2n−1 Zahlen 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 Bob hat recht. Um dies einzusehen, betrachten wir den Sachverhalt graphentheoretisch: Wir wählen einen bipartiten Graphen mit den Knotenklassen {l1 , l2 , . . . , l8 } für die acht Länder und {1, 2, 5, 10, 20, 50, 100, 200} für die Werte der Münzen in Cent, und wir fügen eine Kante {l, w} ein, genau dann wenn Alice eine Münze aus dem Land l vom Wert w mitgebracht hat. Aus der 2 Aufgabenstellung folgt, dass der so konstruierte Graph 5-regulär ist. Satz 2.53 liefert uns unmittelbar die Existenz eines perfekten Matchings in diesem Graphen, d.h. eine Menge von acht Münzen aus acht verschiedenen Ländern und von allen acht Münzwerten. Diese Münzen (im Gesamtwert von 3,88 Euro) kann Alice an ein Kind verteilen. Entfernen wir die Kanten des entsprechenden perfekten Matchings aus dem Graphen, so ist der verbleibende bipartite Graph 4-regulär, und wir finden leicht ein weiteres perfektes Matching. Wenden wir dieses Argument wiederholt an, so ist die Verteilung aller Münzen an die Kinder auf die geforderte Weise offenbar kein Problem. Man beachte, dass der so konstruierte Graph gemäss Aufgabenstellung keine Mehrfachkanten besitzt (mehrere Münzen vom selben Wert aus demselben Land). Satz 2.51 und Satz 2.53 gelten jedoch unverändert auch für Graphen mit Mehrfachkanten, sodass diese Bedingung eigentlich überflüssig ist. (8 Punkte) 3