Technische Universität München Zentrum Mathematik Prof. Dr. P. Gritzmann, Dipl.-Inf. Dipl.-Math. S. Borgwardt, Dipl.-Math. M. Ritter Optimierung 2, WS 2008/09 Übungsblatt 3 Aufgabe 3.1 Zeigen Sie: Ein Digraph G besitzt genau dann einen Kreis der Länge k ≥ 3 als induzierten Subgraphen, wenn die Adjazenzmatrix AG eine zyklische k × k-Permutationsmatrix mit den selben Zeilen- und Spaltenindices als Teilmatrix enthält. Gilt die Aussage auch für Graphen? Lösung zu Aufgabe 3.1 Zeilen und Spalten von AG korrespondieren zu Knoten von G. Eine k × k-Teilmatrix von AG gehört dementsprechend genau zu einem induzierten k × k-Subgraphen von G der entsprechenden Knotenwahl. Falls ein Ck als induzierter Subgraph existiert, wird in der zugehörigen Teilmatrix nur dieser Kreis abgebildet. Ein Kreis entspricht aber genau einer zyklischen Permutationsmatrix, siehe Aufgabe 2.2c). Andere Kanten gibt es in dem induzierten Subgraphen nach Definition (von induziert“) nicht, also tauchen keine weiteren Eins-Einträge auf. ” Gibt es eine zyklische k × k-Permutationsmatrix in AG , so liefert der induzierte Subgraph, der durch die Auswahl der zugehörigen Knoten entsteht, einen Ck . Durch die Struktur der Permutationsmatrix ist der Kreis eindeutig vorgegeben: Wieder analog zu Aufgabe 2.2c) können wir den Kreis ablesen, indem wir für jeden Knoten die ein- und ausgehenden Kanten identifizieren (1 in entsprechender Spalte oder Zeile). Durch die zyklische Matrix erhalten wir zudem keine Kanten außer denen des Kreises. Für ungerichtete Graphen (und ihre Teilmatrizen mit gleichen Zeilen- wie Spaltenindices) ist die Adjazenzmatrix symmetrisch, was für eine Permutationsmatrix nicht der Fall sein muss. Wenn die entsprechende Teilmatrix genau die Symmetrisierung einer k×k-Permutationsmatrix ist, gilt die Aussage. Aufgabe 3.2 Sei G = (V, E) ein Digraph mit Adjazenzmatrix AG . a) Bestimmen Sie die Adjazenzmatrix AG des unten abgebildeten Digraphen. Berechnen Sie A2G , A3G und zeichnen Sie die zugehörigen Digraphen ein. 1 3 1 4 2 b) Ist AkG für beliebiges k (und beliebigen Digraphen G) wieder Adjazenzmatrix eines Digraphen? Geben sie einen Beweis bzw. ein Gegenbeispiel an! c) Stellen Sie einen Zusammenhang zwischen G und AkG bzw. dem zugehörigen Digraphen für k ∈ N her. Beweisen Sie Ihre Vermutung. d) Entwickeln Sie einen Algorithmus, der die Potenzen AkG benutzt, um zu ermitteln, ob es für zwei Knoten s, t ∈ V einen Weg von s nach t gibt und ggf. einen kürzesten Weg von s nach t zu bestimmen. e) Entwickeln Sie einen Algorithmus, der die Potenzen AkG benutzt, um alle Kreise in einem Digraphen G zu identifizieren. Lösung zu Aufgabe 3.2 a) Es gilt offenbar 0 0 AG = 0 0 1 0 0 0 1 0 0 1 1 0 0 1 2 0 0 , AG = 0 0 0 0 0 0 1 1 0 0 1 0 0 0 3 , AG = 0 0 0 0 0 0 0 0 1 0 0 0 0 0 , A4 = 0. 0 G 0 Die zu A2G , A3G und AkG , k ≥ 4, gehörigen Graphen sehen demnach wie folgt aus: 3 1 3 4 3 1 4 2 2 1 4 2 b) Die Aussage ist falsch, wie der vollständige Digraph auf 3 Knoten zeigt: 3 1 2 2 Hier gilt 0 1 1 2 1 1 AG = 1 0 1 und A2G = 1 2 1 . 1 1 0 1 1 2 (k) c) Behauptung: Der Eintrag αi,j in AkG ist die Anzahl der i-j-Kantenzüge der (kombinatorischen) Länge k, die es in G gibt. Für k = 1 ist die Behauptung klar, ein Kantenzug der Länge 1 ist genau eine Kante. Sei die Behauptung nun für ein k gezeigt, dann betrachten wir zwei beliebige Knoten i, j ∈ V . Jeder i-j-Kantenzug der Länge k + 1 ergibt sich als Kombination eines i-lKantenzugs der Länge k und einer Kante (l, j) für einen Knoten l ∈ V , deren Anzahl (k) ist also αil · αlj für einen festen Knoten l. Um die Anzahl aller solchen Kantenzüge zu ermitteln, summieren wir einfach über l: X (k) (k+1) αil · αlj = αij . l∈V Nach Definition der Matrixmultiplikation zeigt das die Behauptung. d) Mit der Aussage aus der vorigen Teilaufgabe ist das nicht mehr schwer: Man beobachtet (k) den Eintrag αst für wachsendes k. Sobald der Eintrag > 0 wird, ist ein s-t-Weg der Länge k gefunden (wenn man das minimale k mit dieser Eigenschaft nimmt, ist es auch sicher ein Weg, nicht nur ein Kantenzug). Aus den vorhergehenden Potenzen von AG kann man dann rückwärts rekonstruieren, wie der (besser: ein) Weg aufgebaut werden muss, vgl. vorige Teilaufgabe. Einziges Problem: Wenn es keinen s-t-Weg gibt, läuft der Algorithmus unendlich lange weiter (übrigens muss die Folge der AkG auch nicht konvergieren – basteln Sie mal ein Gegenbeispiel). Um das zu vermeiden, kann man bei k = |V | abbrechen – wenn es keinen Weg der Länge |V | gibt, kann es gar keinen geben. e) Mit Teil c) stellt man fest, dass ein Kreis der Länge k sich in AkG als positiver Diagonaleintrag (ggf. mehrere Diagonaleinträge, je nach Größe des Kreises) äußert. Es reicht also , die Potenzen zu berechnen und darauf zu achten, wann welche Diagonaleinträge positiv werden. Rückwärts kann man daraus wieder auf den Kreis schließen. 3 Aufgabe 3.3 Hausaufgabe Beweisen Sie die folgenden Aussagen: a) In jedem Graphen mit n ≥ 2 Knoten gibt es zwei Knoten gleichen Grades. b) Jeder kreisfreie, zusammenhängende Graph mit n ≥ 2 Knoten besitzt mindestens zwei Knoten mit Grad 1. Lösung zu Aufgabe 3.3 a) Sei zunächst G ein zusammenhängender Graph, dann hat jeder Knoten einen Grad zwischen 1 und n−1. Da es n Knoten gibt, müssen zwei davon gleichen Grad haben. Besitzt G einen isolierten Knoten, so wenden wir das Argument auf eine Zusammenhangskomponente mit mindestens 2 Knoten analog an (zwei isolierte Knoten kann es auch nicht geben, die hätten ja wieder gleichen Grad). b) Der Baum T ist zusammenhängend, daher hat jeder Knoten mindestens Grad 1. Sei W = vo , . . . , vk ein Weg maximaler (kombinatorischer) Länge in T . Das heißt, dass jeder Nachbar von vk auf W liegt. Wäre vi für i < k − 1 ein Nachbar von vk , so enthielte der Baum einen Kreis, Widerspruch. Also ist vk nur zu vk−1 benachbart und damit ein Blatt. Analog zeigt man, dass v0 ein Blatt ist. 4