Projekt Graphentheorie Eulerpfad Dorothee Martin, Anjali Magin, Verena Möhler, Eva Muszar Was ist ein Eulerpfad? • Ein Eulerpfad ist ein Weg durch einen Graphen, der jede Kante genau einmal durchläuft. Ein bekanntes Beispiel hierfür: Das Haus des Nikolaus • Wenn die Anfangs- und Endknoten eines Eulerpfades identisch sind, heißt er Eulerkreis. In welchen Graphen gibt es Eulerpfade/Eulerkreise? Algorithmus: Wie findet man einen Eulerpfad? 1. Überprüfe, ob in dem ausgewählten Graphen ein Eulerpfad oder ein Eulerkreis existiert. Ist dies nicht der Fall, breche an dieser Stelle ab. 2. Unterteile den Graphen in mehrere Zyklen, so dass alle Kanten des Graphen verwendet werden. Schritt 3 Schritt 2 3. Wähle wie folgt einen Knoten in einem Zyklus aus: Existiert ein Eulerkreis, wähle einen beliebigen Knoten; existiert ein Eulerpfad, wähle einen der Knoten mit ungeradem Grad. Begriffserklärungen: Ein Graph besteht aus Knoten sowie Kanten, die die Knoten verbinden. Hat der Graph genau zwei Knoten mit ungeradem Grad, gibt es einen Eulerpfad, aber keinen Eulerkreis. Zwei Knoten sind benachbart, wenn sie durch eine Kante verbunden sind. Die beiden Knoten mit ungeradem Grad müssen Anfangs- und Endknoten sein, denn alle anderen Knoten müssen begangen und verlassen werden, dazu muss der Grad gerade sein, sonst landet man in einer Sackgasse. Der Grad eines Knoten gibt an, wie viele Kanten an diesen angrenzen. Einen Eulerkreis gibt es, wenn alle Knoten einen geraden Grad haben. Ein Algorithmus ist eine systematische Anweisung, um eine Fragestellung definitiv zu beantworten. Ein Weg ist eine Folge von Knoten über Kanten in einem Graphen. Ein Zyklus ist ein Weg, bei dem Anfangs- und Endknoten identisch sind und sonst keine Knoten und Kanten mehrfach verwendet werden. 4. Gehe zu einem benachbarten Knoten desselben Zyklus und markiere die begangene Kante. Schritt 4 5. Wiederhole den vorherigen Schritt so lange, a) bis du zu einem Knoten kommst, der auch in einem anderen Zyklus, in dem noch keine Kante begangen wurde, verwendet wird. Wähle diesen Zyklus als den in Schritt 6 zu bearbeitenden. b) bis alle Kanten des Zyklus begangen sind. Wähle nun einen beliebigen an den eben erreichten Knoten angrenzenden Zyklus als den in Schritt 6 zu bearbeitenden. 6. Gehe nun über eine noch nicht markierte Kante zu einem benachbarten Knoten im neuen Zyklus und markiere wiederum die dabei begangene Kante. Schritt 6 7. Wiederhole Schritt 5 und 6 bis du bei einem Knoten bist, dessen Kanten schon alle verwendet wurden. Fertig!