(Teil{)Musterlosung zum 12.Aufgabenblatt (Regina Richter) 1. Hamiltonsche Kreise (a) Seien N ,M die beiden disjunkten Knotenmengen des Kn;m , j j= N n und j j= M . m : Der vollstandige bipartite Graph Kn;m ist genau dann ein Baum, wenn = 1 oder m = 1. Beweis: Wenn n = 1 und m > 1, dann ist der Knoten aus N unser einziger innerer Knoten und die Knoten aus M sind die Blatter. Der K1;1 ist trivialerweise ein Baum, denn er besteht aus genau einer Kante. Wenn n; m 2, dann ist der vollstandige K2;2 Untergraph des Graphen und dieser ist ein Kreis, d.h., der Graph kann kein Baum sein. Behauptung n Der vollstandige bipartite Graph Kn;m besitzt einen Hamiltonschen Kreis, genau dann wenn n = m > 1. Die Anzahl der verschiedenen Hamiltonschen Kreise des Kn;n ist n!(n 1)! Behauptung: Beweis: Wenn n > m ist, dann kann der Graph keinen Hamiltonschen Kreis besitzen, denn dieser besucht die Knoten aus N und M abwechselnd und jeden genau einmal, also muss n = m sein. n = m = 1 scheidet aus, denn das ist ein Baum. Wir legen o.B.d.A. fest, dass wir unseren Hamiltonschen Kreis in der Menge N starten wollen. Fur den Anfangsknoten gibt es n Moglichkeiten. Den Kreis mussen wir in M fortsetzen; dafur haben wir n Fortsetzungsmoglichkeiten. Danach haben wir noch n 1 Moglichkeiten, den Kreis mit einem Knoten aus N fortzusetzen. In M ist auch schon einer verbraucht, also n 1 Moglichkeiten fur den nachsten Knoten aus M . In N sind schon 2 Knoten verbraucht, also n 2 Moglichkeiten unseren Kreis fortzusetzen. Genauso wie in M . Dies setzen wir fort, bis wir alle Knoten erreicht haben. Die Anzahl aller moglichen Kreise mit einem Startknoten in N ist also: n ( n n 1) (n 1) (n 2) (n 2) : : : 1 1 = n! n! (1) Nun gibt es aber zyklische Vertauschungen. Wenn wir einen von den oben konstruierten Hamiltonschen Kreisen betrachten, dann bemerken wir, dass wir an n verschiedenen Knoten anfangen konnen und den gleichen Hamiltonschen Kreis erhalten, da n Knoten in unserer Startmenge N sind. Jeder Kreis wurde also n-mal gezahlt. Die Anzahl der (echt verschiedenen) Hamiltonschen Kreise ist demnach: ! n! n n = (n 1)! n! (2) Diese Aufgabe wurde ubrigens schon einmal gelost, s. Musterlosung zu Ubung 6, Aufgabe 7b. Hinweis: Was wir soeben abgezahlt haben, sind eigentlich die gerichteten Hamiltonkreise. Will man die ungerichteten zahlen, so muss man jeweils die 2 zueinander inversen identizieren und dann sind es (n 1)! n!=2 viele. 2. B aume und k urzeste Wege (a) Sei i die Anzahl der inneren Knoten und l die Anzahl der Blatter in dem q {naren Baum. Es gibt insgesamt n 1 (gerichtete) Kanten. Da von jedem inneren Knoten genau q Kanten abgehen, ist n 1 = i q . Also i = 1 n (3) q Da jeder Knoten entweder innerer Knoten oder Blatt ist, haben wir l =n i =n 1 n q (4) (b) Was ist die Anzahl der Kanten in einem Wald mit n Knoten? Sei c die Anzahl der Baume im Wald F und ni mit 1 i c die Anzahl der Knoten im i{ten Baum. Dieser hat dann ni 1 Kanten. Insgesamt haben wir ci=1 (ni 1) = n c viele Kanten. Diese Anzahl wird minimal fur c = n, d.h., jeder Baum im Wald besteht nur aus einem Knoten und es gibt keine Kanten. Die Kantenzahl wird maximiert fur c = 1, der Wald besteht aus genau einem Baum mit n Knoten. (c) Mit dem Algorithmus BFS (Breitensuche) mit Start in Knoten a berechnen wir kurzeste Wege zu allen anderen Knoten im Graphen. Die Existenz solcher Wege ist wegen des Zusammenhangs des Graphen gewahrleistet. Um einen kurzesten Pfad von Knoten x zu Knoten y uber a zu konstruieren, konkatenieren wir den inversen Weg zum berechneten kurzesten Weg von a nach x mit dem berechneten kurzesten Weg von a nach y . Das dies ein tatsachlich kurzester Pfad von x nach y uber a ist, ist klar. Denn falls es noch einen kurzeren gabe, so ware dieser auf dem Teilstuck von x nach a oder auf dem Teilstuck von a nach y kurzer. Widerspruch, denn BFS berechnet korrekt kurzeste Wege! P 3. Totale Senke Ein totale Senke in einem gerichteten Graphen (ohne Schleifen) G = (V ; E ) ist ein Knoten mit Ingrad jV j 1 und Ausgrad 0. Der Graph sei in Adjazenzmatrixdarstellung (mit jV j2 Eintragen) gegeben. Argumentieren Sie, dass man nur linear in jV j viele Anfragen an Matrixeintrage stellen muss, um zu entscheiden, ob G eine totale Senke besitzt. : Seien v1 ; : : : ; vn die Knoten des Graphen. Man beachte, dass es hochstens eine totale Senke vc im Graphen geben kann. Was lernt man aus dem Eintrag ai;j in der Adjazenzmatrix fur i 6= j ? Falls ai;j = 0, so kann vj keine totale Senke sein, denn es gibt keine Kante von vi nach vj ; falls ai;j = 1 so entfallt vi als Kandidat fur eine totale Senke. L osung In einer ersten Phase werden wir sequentiell aus den Knoten v1 ; : : : vn einen einzigen Kandidaten vc bestimmen, der als totale Senke in Frage kommt. Angenommen, v1 ; : : : ; vc 1 scheiden als Kandidaten schon aus und vc ist der aktuelle zu untersuchende Knoten: (a) Falls ein minimales j mit c < j und ac;j = 1 existiert, wissen wir nunmehr, dass v1 ; : : : ; vc ; : : : vj 1 als totale Senke nicht in Frage kommen. Wir setzen c = j und fahren f ur c < n rekursiv fort bzw. falls c = n gilt, erkl aren wir vn zum einzigen Kandidaten. (b) Andererseits, falls es ein solches j nicht gibt, wird das aktuelle vc als einziger Kandidat ausgegeben. Man beachte, dass in dieser Phase genau n 1 Anfragen an die Adjazenzmatrix gestellt wurden. Nun ist noch zu uberprufen, ob der einzige Kandidat vc tatsachlich totale Senke ist. Dazu wird getestet, ob ac;k = 0 fur alle k 6= c und auerdem ai;c = 1 fur alle i 6= c gilt. In dieser zweiten Phase werden also hochstens 2n 2 Matrixeintrage getestet. Insgesamt kann man damit die Frage nach der Existenz einer totalen Senke mit 3n 3 Anfragen an die Adjzenzmatrix beantworten und diese Senke auch nden, falls sie existiert.
© Copyright 2024 ExpyDoc