Kurs:Diskrete Mathematik (Osnabrück 2020)/Vorlesung 23/kontrolle
- Eulersche Kantenzüge
Man spricht auch kurz von einem Eulerzug. Bei einem eulerschen Kantenzug wird jede Kante genau einmal durchlaufen. Es kann dabei Knoten geben, die dabei mehrfach oder auch (isolierte Punkte) gar nicht berührt werden. Unter einem geschlossenen eulerschen Kantenzug versteht man einen eulerschen Kantenzug, bei dem die Anfangskante mit der Endkante inzident ist. Nicht geschlossene eulersche Kantenzüge nennt man auch offene eulersche Kantenzüge. Das ursprüngliche Brückenproblem bezieht sich auf einen Multigraphen, da die linke Insel doppelt mit beiden Flussseiten verbunden ist. Indem man aber auf diesen Kanten jeweils einen Hilfsknoten einführt, gelangt man zu einem äquivalenten Problem über einen einfachen Graphen.
Ein Graph heißt eulersch, wenn in ihm ein geschlossener Eulerzug existiert.
Zwei Untergraphen und in einem Graphen heißen kantendisjunkt, wenn ist.
Für einen zusammenhängenden Graphen sind folgende Aussagen äquivalent.
- ist eulersch.
- Jeder Knotenpunkt von hat einen geraden Grad.
- ist die Vereinigung von kantendisjunkten Kreisen (wobei ein einzelner Punkt hier als Kreis gelte).
Von (1) nach (2) ist klar, da bei einen geschlossenen Eulerzug jeder Knotenpunkt genau so oft besucht wie verlassen wird.
Von (2) nach (3). Wir führen Induktion über die Anzahl der Kanten. Da der Graph zusammenhängend ist, handelt es sich um einen isolierten Punkt oder aber jeder Knoten besitzt einen Grad von zumindest . Deshalb muss es in einen Kreis geben. Man kann ja inn einem beliebigen Punkt starten und von diesem Punkt ausgehend nach und nach einen Kantenzug konstruieren. Wenn der Kantenzug in einen Punkt hineingeht, so kann man den Kantenzug fortsetzen, da zumindest zwei Kanten in dem Punkt zusammenlaufen. Wenn erstmal ein schon erreichter Punkt erneut auftaucht, ist der Kreis fertig, die „Vorperiode“ kann man außer Acht lassen. Es seien die Kanten des Kreises und wir betrachten den neuen Graphen . Wenn ein Punkt aus zu einer Kante aus inzident ist, so reduziert sich der Grad in diesem Knoten um , da ja jeder Punkt in einem Kreis inzident zu zwei Kanten ist. Wenn ein Punkt im Kreis nicht aufgerufen wird, so ändert sich der Grad nicht. In jedem Fall besitzt in jeder Punkt wieder einen geraden Grad. Der neue Graph muss nicht mehr zusammenhängend sein, allerdings erfüllen die einzelnen Zusammenhangskomponenten von wieder die Voraussetzung, dass sämtliche Grade gerade sind. Nach Induktionsvoraussetzung besitzen die Zusammenhangskomponenten jeweils eine Darstellung als Vereinigung mit kantendisjunkten Kreisen. Also besitzt eine Darstellung als Vereinigung mit kantendisjunkten Kreisen und zusammen mit ergibt sich eine Darstellung von als Vereinigung mit kantendisjunkten Kreisen.
Von (3) nach (1). Es seien , , die beteiligten kantendisjunkten Kreise, die überdecken. Wir konstruieren induktiv Kantenzüge, die für zunehmend größere Vereinigungen dieser Kreise einen Eulerzug darstellen. Einen einzelnen Kreis kann man unmittelbar als einen Eulerzug für diesen Kreis auffassen. Es sei nun vorausgesetzt, dass man Kreise, die wir als durchnummerieren, derart gefunden hat, dass es einen Eulerzug für
gibt. Bei gibt es aufgrund des Zusammenhangs des Graphen einen weiteren Kreis, den wir nennen, der einen gemeinsamen Knotenpunkt mit hat, sagen wir . Dann erhält man aus dem Eulerzug für einen Eulerzug für , indem man, wenn der Eulerzug den Punkt erreicht, in den Kreis abbiegt, diesen einmal durchläuft und danach an der Stelle den alten Eulerzug fortsetzt. Da kantendisjunkt zu ist, entsteht dabei wieder ein Eulerzug.
Das im Beweis zu Satz 23.4 beschriebende Verfahren, um, falls die Gradbedingung erfüllt ist, einen geschlossenen eulerschen Kantenzug über die kantendisjunkten Kreise zu finden, ist grundsätzlich konstruktiv. Man nennt das Verfahren den Algorithmus von Hierholzer. Bei einem Knotenpunkt vom Grad ist der Kantendurchlauf für einen Eulerzug bis auf die Orientierung vorgegeben. Man kann aber im Allgemeinen bei einem Knotenpunkt mit einem Grad nicht frei vorgeben, in welcher Reihenfolge die in dem Punkt zusammenlaufenden Kanten hintereinander gelegt werden. Im Schmetterlingsgraphen können in einem Eulerzug die beiden rechten Kanten, die am Kreuzungspunkt anliegen, nicht direkt aufeinander folgen, da sonst der rechten Kreis geschlossen wird.
Es sei ein zusammenhängender Graph, für den der Grad eines jeden Knotenpunktes gerade ist. Es sei ein Punkt und es seien adjazente Punkte zu .
Dann ist die Kantenfolge genau dann Teil eines geschlossenen Eulerzuges durch , wenn der Graph , der aus entsteht, indem man einen neuen Punkt einführt und die beiden Kanten durch ersetzt, zusammenhängend ist.
Der konstruierte „Überbrückungsgraph“ besitzt ebenfalls die Eigenschaft, dass jeder Knotenpunkt einen geraden Grad besitzt. Wenn er zusammenhängend ist, so gibt es nach Satz 23.4 einen geschlossenen Eulerzug durch . Da an nur die beiden Kanten und anliegen, werden diese hintereinander durchlaufen. Wenn man die Konstruktion rückgängig macht (also und identifiziert), so erhält man einen Eulerzug von , bei dem die beiden Kanten hintereinander vorkommen. Wenn es umgekehrt einen Eulerzug von gibt, der die beiden Kanten hintereinander durchläuft, so kann man daraus direkt einen Eulerzug von konstruieren, was zeigt, dass zusammenhängend ist.
In einem zusammenhängenden Graphen
gibt es genau dann einen nichtgeschlossenen Eulerzug, wenn es genau zwei Knotenpunkte mit ungeradem Grad gibt.
Ein nicht geschlossener Eulerzug besitzt einen Anfangspunkt und einen davon verschiedenen Endpunkt . Wenn man den Eulerzug durchläuft und dabei für jeden Punkt die Grade zählt, so erhöht sich bei jedem Durchlauf durch einen Punkt (egal ob oder oder sonst ein Punkt) der Grad um . Am Anfang und am Ende kommt für bzw. nochmal dazu.
Es seien und die beiden Punkte mit ungeradem Grad. Wenn nicht zu gehört, so nimmt man diese Kante hinzu und erhält einen neuen Graphen , bei dem nun alle Knotenpunkte einen geraden Grad besitzen. Nach Satz 23.4 gibt es in einen geschlossenen Eulerzug. Dieser ist ohne die Kante ein nichtgeschlossener Eulerzug von . Wenn hingegen zu gehört, so nimmt man einen neuen Punkt zur Knotenmenge und die Kanten und zur Kantenmenge hinzu. Im neuen Graphen besitzt wieder jeder Knoten einen geraden Grad. Ein geschlossener Eulerzug von enthält den Kantenzug . Da in sonst keiner Kante auftritt, erhält man, indem man dieses Teilstück und weglässt, einen nichtgeschlossenen Eulerzug von .