Eulerkreis-Problem
Ein Eulerkreis oder (geschlossener) Euler-Zug (auch Eulertour oder Eulersche Linie) ist in der Graphentheorie ein Zyklus, der alle Kanten eines Graphen genau einmal enthält. Ein \offener Euler-Zug oder Eulerweg ist dann gegeben, wenn die Identität von Start- und Endknoten nicht verlangt wird, d.h. statt eines Zyklus wird lediglich ein Weg verlangt, der jede Kante des Graphen genau einmal enthält. Einen Graph, der einen Eulerkreis besitzt, bezeichnet man auch als eulersch.Die Aufgabe, zu einem gegebenen Graph zu bestimmen, ob dieser eulersch ist oder nicht, bezeichnet man als Eulerkreis-Problem. Es geht auf das 1736 von Leonhard Euler gelöste Königsberger Brückenproblem zurück. Das Problem existiert auch für gerichtete Graphen und Graphen mit Mehrfachkanten.
Table of contents |
2 Eigenschaften 3 Lösung 4 Anwendungsbeispiele 5 Siehe auch |
Für ungerichtete Graphen sind folgende Aussagen äquivalent:
Euler hat die folgende Gesetzmäßigkeit entdeckt: In einem Graph gibt es mindestens einen Eulerweg, wenn dieser maximal 2 Knoten mit ungeradem Grad besitzt (wenn also nicht an mehr als zwei Knoten eine ungerade Anzahl Kanten angeschlossen sind). Beim Königsberger Brückengraphen gibt es vier Knoten mit ungeradem Grad (die Zahlen neben den Knoten geben hier deren Grad an). Deshalb ist der Stadtrundgang mit dem nur einmaligen Benutzen jeder Brücke unmöglich.
llllllllllllllllllllllllllll
llllllllllllllllllllllllllllll
lllllllllllllllllllllllllll
llllllllllllllllllllll
Ein Eulerweg ist z.B. 1-2-4-3-1-4-5-3-2.
Ein Quadrat mit Diagonalen enthält keinen Eulerweg, da alle seine Knoten den Grad 3 haben. (Im Bild sind das nur die Punkte 1,2,3,4 mit den verbindenden Kanten.)Beispiel
Eigenschaften
Analog sind für gerichtete Graphen folgende Aussagen äquivalent:
Verallgemeinerung: Eulerweg
Ein (ungerichteter zusammenhängender) Graph enthält einen Eulerweg gdw. 2 oder 0 seiner Knoten von ungeradem Grad sind; Sind es genau 0 Knoten handelt es sich bei dem Eulerweg um einen Eulerkreis.Lösung
Das Problem lässt sich relativ leicht algorithmisch lösen, da ein Graph genau dann eulersch ist, wenn er zusammenhängend ist und jeder Knoten geraden Grad besitzt. Mittels Tiefensuche lässt sich dies leicht in linearer Zeit feststellen. Zu einem eulerschen Graphen einen Eulerkreis zu finden erfordert dagegen einen etwas komplizierteren Algorithmus, der auch auf Tiefensuche basiert und dieses Problem ebenfalls in Linearzeit lösen kann. Den ersten Linearzeit-Algorithmus dafür konnte Hierholzer angeben, der ausnutzte, dass eulersche Graphen auch dadurch charakterisiert werden können, dass sie aus kantendisjunkten Kreisen zusammengesetzt werden können.Anwendungsbeispiele
Das Königsberger Brückenproblem
Das Königsberger Brückenproblem lässt sich in folgendem Graphen ausdrücken:"Das-ist-das-Haus-vom-Nikolaus"
Das beliebte Kinderrätsel hingegen enthält einen Eulerweg, aber keinen Eulerkreis, da sein Graph Knoten vom Grad 3 enthält.