Zum Inhalt springen

Kurs:Diskrete Mathematik (Osnabrück 2020)/Vorlesung 23

Aus Wikiversity



Eulersche Kantenzüge
Vorli stellt sich unter einem Graphen eine Ansammlung von Leckerlis vor, die durch lange Würste miteinander verbunden sind.


Euler möchte bei seinem täglichen Spaziergang über jede Brücke genau einmal gehen. Man spricht vom Königsberger Brückenproblem.



Es sei  G=(V,E)  ein Graph. Ein Kantenzug e1,,em heißt eulersch, wenn in ihm jede Kante aus E genau einmal vorkommt.

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 koinzident 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 G heißt eulersch, wenn in ihm ein geschlossener Eulerzug existiert.


Zwei Untergraphen  H1=(V1,E1)G  und  H2=(V2,E2)G  in einem Graphen  G=(V,E)  heißen kantendisjunkt, wenn  E1E2=  ist.




Satz  

Für einen zusammenhängenden Graphen  G=(V,E)  sind folgende Aussagen äquivalent.

  1. G ist eulersch.
  2. Jeder Knotenpunkt von G hat einen geraden Grad.
  3. G ist die Vereinigung von kantendisjunkten Kreisen (wobei ein einzelner Punkt hier als Kreis gelte).

Beweis  

Von (1) nach (2) ist klar, da bei einem 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 2. Deshalb muss es in G einen Kreis K geben. Man kann ja in 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. Sobald ein schon erreichter Punkt erneut auftaucht, ist der Kreis fertig, die „Vorperiode“ kann man außer Acht lassen. Es seien F die Kanten des Kreises und wir betrachten den neuen Graphen  G=(V,EF).  Wenn ein Punkt aus V zu einer Kante aus F inzident ist, so reduziert sich der Grad in diesem Knoten um 2, 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 G jeder Punkt wieder einen geraden Grad. Der neue Graph muss nicht mehr zusammenhängend sein, allerdings erfüllen die einzelnen Zusammenhangskomponenten von G wieder die Voraussetzung, dass sämtliche Grade gerade sind. Nach Induktionsvoraussetzung besitzen die Zusammenhangskomponenten jeweils eine Darstellung als Vereinigung mit kantendisjunkten Kreisen. Also besitzt G eine Darstellung als Vereinigung mit kantendisjunkten Kreisen und zusammen mit K ergibt sich eine Darstellung von G als Vereinigung mit kantendisjunkten Kreisen.

Von (3) nach (1). Es seien  Kj=(Vj,Ej),   jJ,  die beteiligten kantendisjunkten Kreise, die G ü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 s Kreise, die wir als K1,,Ks durchnummerieren, derart gefunden hat, dass es einen Eulerzug für

Gs=j=1sKj

gibt. Bei  s<r  gibt es aufgrund des Zusammenhangs des Graphen einen weiteren Kreis, den wir Ks+1 nennen, der einen gemeinsamen Knotenpunkt mit Gs hat, sagen wir u. Dann erhält man aus dem Eulerzug für Gs einen Eulerzug für  Gs+1=GsKs+1,  indem man, wenn der Eulerzug den Punkt u erreicht, in den Kreis Ks+1 abbiegt, diesen einmal durchläuft und danach an der Stelle u den alten Eulerzug fortsetzt. Da Ks+1 kantendisjunkt zu Gs ist, entsteht dabei wieder ein Eulerzug.


Das im Beweis zu Satz 23.4 beschriebene 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 2 ist der Kantendurchlauf für einen Eulerzug bis auf die Orientierung vorgegeben. Man kann aber im Allgemeinen bei einem Knotenpunkt mit einem Grad >2 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 rechte Kreis geschlossen wird.




Korollar  

Es sei  G=(V,E)  ein zusammenhängender Graph, für den der Grad eines jeden Knotenpunktes gerade ist. Es sei u ein Punkt und es seien v,w adjazente Punkte zu u.

Dann ist die Kantenfolge {v,u},{u,w} genau dann Teil eines geschlossenen Eulerzuges durch G, wenn der Graph G, der aus G entsteht, indem man einen neuen Punkt u einführt und die beiden Kanten {v,u},{u,w} durch {v,u},{u,w} ersetzt, zusammenhängend ist.

Beweis  

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 G. Da an u nur die beiden Kanten {v,u} und {u,w} anliegen, werden diese hintereinander durchlaufen. Wenn man die Konstruktion rückgängig macht (also u und u identifiziert), so erhält man einen Eulerzug von G, bei dem die beiden Kanten hintereinander vorkommen. Wenn es umgekehrt einen Eulerzug von G gibt, der die beiden Kanten hintereinander durchläuft, so kann man daraus direkt einen Eulerzug von G konstruieren, was zeigt, dass G zusammenhängend ist.



Satz  

In einem zusammenhängenden Graphen  G=(V,E) 

gibt es genau dann einen nichtgeschlossenen Eulerzug, wenn es genau zwei Knotenpunkte mit ungeradem Grad gibt.

Beweis  

Ein nicht geschlossener Eulerzug besitzt einen Anfangspunkt u und einen davon verschiedenen Endpunkt v. 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 u oder v oder sonst ein Punkt) der Grad um 2. Am Anfang und am Ende kommt für u bzw. v nochmal 1 dazu.

Es seien u und v die beiden Punkte mit ungeradem Grad. Wenn {u,v} nicht zu E gehört, so nimmt man diese Kante hinzu und erhält einen neuen Graphen G, bei dem nun alle Knotenpunkte einen geraden Grad besitzen. Nach Satz 23.4 gibt es in G einen geschlossenen Eulerzug. Dieser ist ohne die Kante {u,v} ein nichtgeschlossener Eulerzug von G. Wenn hingegen {u,v} zu E gehört, so nimmt man einen neuen Punkt w zur Knotenmenge und die Kanten {u,w} und {v,w} zur Kantenmenge hinzu. Im neuen Graphen G besitzt wieder jeder Knoten einen geraden Grad. Ein geschlossener Eulerzug von G enthält den Kantenzug {u,w},{w,v}. Da w in sonst keiner Kante auftritt, erhält man, indem man dieses Teilstück und w weglässt, einen nichtgeschlossenen Eulerzug von G.



<< | Kurs:Diskrete Mathematik (Osnabrück 2020) | >>

PDF-Version dieser Vorlesung

Arbeitsblatt zur Vorlesung (PDF)