Euler und Hamiltonkreise

Ähnliche Dokumente
Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Hamiltonsche Graphen

Algorithmische Graphentheorie

Theoretische Informatik 1

Theoretische Informatik 1

3 Klassifikation wichtiger Optimierungsprobleme

Das Problem des Handlungsreisenden

Betriebswirtschaftliche Optimierung

Betriebliche Optimierung

Naiver Algorithmus für Hamiltonkreis

Aufgaben zur Klausurvorbereitung

Graphen. Definitionen

WS 2013/14. Diskrete Strukturen

Graphen. Leonhard Euler ( )

Graphalgorithmen II. Werner Sembach Werner Sembach Graphalgorithmen II / 22

Diskrete Strukturen Kapitel 4: Graphentheorie (Euler-Hamilton)

Programmiertechnik II

Bemerkung: Der vollständige Graph K n hat n(n 1)

Minimal spannende Bäume

Datenstrukturen und Algorithmen

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

12.4 Traveling Salesman Problem

Algorithmen für Planare Graphen

Breitensuche BFS (Breadth First Search)

4. Kreis- und Wegeprobleme

Nachbarschaft, Grad, regulär, Inzidenz

WS 2009/10. Diskrete Strukturen

Graphentheorie: Das Hamiltonische-Kreis-Problem: Definitionen, Resultate und Anwendungen

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmen und Datenstrukturen

Algorithmische Graphentheorie

5. Bäume und Minimalgerüste

Lösungen zu Kapitel 5

9: Gewichtete Graphen

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

Graphen: Rundwege, Kodierung von Bäumen

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

10. Übung Algorithmen I

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Traveling Salesman Problem (TSP)

3.2 Generischer minimaler Spannbaum-Algorithmus

Kapitel IV Minimale Spannbäume

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

12. Graphen. Königsberg Zyklen. [Multi]Graph

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

9 Minimum Spanning Trees

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Zweiter Zirkelbrief: Graphentheorie

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

Graphdurchmusterung, Breiten- und Tiefensuche

Programmierkurs Python

Programmierkurs Python II

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen

Def. 1.1: Graph, Knoten, Kanten, adjazent. Notwendige Bedingungen für Isomorphie. Das 3-Brunnen Problem, der vollständige bipartite Graph K 3,3

Übungsblatt Nr. 5. Lösungsvorschlag

9. Übung Algorithmen I

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

Diskrete Mathematik Graphentheorie (Übersicht)

Kap. 7 Optimierung. Überblick. Optimierung: Einführung. Motivation. Beispiele für Optimierungsprobleme. Rundreiseprobleme (TSP)

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen

4. Welchen Zusammenhang gibt es zwischen den Eckengraden und der Anzahl der Kanten eines ungerichteten Graphen?

Numerische Methoden und Algorithmen in der Physik

Anmerkungen zur Übergangsprüfung

Theoretische Grundlagen der Informatik

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem...

Einheit 11 - Graphen

in einem Zug finden, egal, wie lange man probiert? b) Warum kann man von bestimmten Ecken aus niemals eine Lösung

Zusammenfassung zu Graphentheorie

Übung zur Vorlesung Diskrete Strukturen I

Quicksort ist ein Divide-and-Conquer-Verfahren.

Freie Universität Berlin. Diskrete Mathematik. Ralf Borndörfer, Stephan Schwartz. Freie Universität. 08. April 2013

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Transkript:

Euler und Hamiltonkreise 1. Königsberger Brücken 2. Eulerwege und Kreise Definition, Algorithmus mit Tiefensuche 3. Hamiltonwege und Kreise Definition 4. Problem des Handlungsreisenden Enumeration und Heuristiken

2. Eulerwege und Kreise Definition: Sei G = (V,E) ein Graph. Ein Weg heißt Eulerweg, wenn jede Kante aus E genau einmal vorkommt. Falls Anfangsknoten=Endknote ist so handelt es sich um einen Eulerkreis. Satz: Ein (ungerichteter zusammenhängender) Graph enthält genau dann einen Eulerweg, wenn zwei oder keiner seiner Knoten von ungeradem Grad ist; hat kein Knoten ungeraden Grad, handelt es sich bei dem Eulerweg um einen Eulerkreis.

Eulerkreis durch Tiefensuche Strategie: Beginne mit beliebigem Knoten K. Suche Pfad durch G von K nach K und entferne begangene Kanten, bis K wieder erreicht ist. Falls entlang des Pfads Knoten mit Grad>0 existieren, rekursiver Aufruf.

Algorithmus GetEulerCircle(G,v) Eingabe: Graph G und Startknoten v Rückgabe: Eine Liste K mit Referenzen auf die Knotenfolge des Eulerkreises Erzeuge leere Liste K K.insertLast(position(v)) // position() zeigt auf den Knoten im Graphen startvertex v do edges incidentedges(v) // Iterator mit inzidenten Kanten currentedge edges.nextobject() v G.opposite(v, currentedge) // nächsten Knoten suchen G.removeEdge(currentEdge) K.insertLast(ref(v)) while v startvertex pos K.first() while pos K.last() do v K.node(pos.element()) if degree(v) > 0 then K.insertListAfter(pos,GetEulerCircle(G,v)) pos K.after(pos) return K // node() sei eine Methode, die // den Knoten in G zurückliefert // Methode zum Einfügen // einer kompletten Liste

3. Hamiltonwege und Kreise Namensgeber des Problems ist der irische Astronom und Mathematiker Sir William Rowan Hamilton, der 1857 das Spiel "The Icosian Game" erfand (und später verbesserte zum "Traveller's Dodecahedron or A Voyage Round The World"). Ziel ist es, eine Reiseroute entlang der Kanten des Dodekaeders zu finden, die jede Stadt genau einmal besucht und dort aufhört, wo sie beginnt.

Hamiltonwege und Kreise Definition: Sei G = (V,E) ein schlichter ungerichteter Graph. Ein Weg heißt Hamiltonweg wenn jeder Knoten genau einmal vorkommt. Ein Kreis heißt Hamiltonkreis wenn jeder Knoten genau einmal vorkommt und der letzte Knoten gleich der erste ist. Hinreichende Kriterien: jeder vollständige Graph mit n>2 ist hamiltonisch jeder Knoten besitzt mindestens Minimalgrad n/2 die Summe des Grades (oder Valenz) zweier nicht-adjazenter Knoten mindestens n

4. Problem des Handlungsreisenden (Traveling Salesman Problem TSP) TSP ist ein Anwendungsbeispiel für Hamiltonkreise. Es geht darum in einem gewichteten Graphen den Hamiltonkreis mit dem geringsten Gewicht (Kosten) zu finden. Zum Beispiel die kürzeste Reiseroute eines Handlungsreisenden durch eine bestimmte Anzahl von Städten (Knoten). Deshalb werden beim TSP normalerweise vollständige Graphen behandelt. Soll trotzdem einmal eine Kante nicht befahrbar sein, so wird ihr Gewicht auf unendlich gesetzt.

Lösung durch Enumeration Alle Möglichen Permutationen ausrechnen und die günstigste nehmen. Berechnungsaufwand (n-1)!, also in Zeit O(2^n). Schon für Graphen mit 15 oder mehr Knoten nicht mehr durchführbar. ABCDA 13+27+15+ 9 = 64 ABDCA 13+11+15+ 5 = 44 ACBDA 5+27+11+ 9 = 52 ACDBA 5+15+11+13 = 44 ADBCA 9+11+27+ 5 = 52 ADCBA 9+15+27+13 = 64 Dieses Verfahren wird auch erschöpfendes Suchen genannt.

Heuristiken Nearest-Neighbor-Heuristik (nächster Nachbar) - entspricht intuitivem Vorgehen Von einer Stadt ausgehend wählt man jeweils die nächstgelegene als folgenden Ort aus (mit minimalen Kosten). Dieses wird sukzessive fortgesetzt, bis alle Städte bereist wurden und der Handlungsreisende zum Ausgangsort zurückgekehrt ist. Dies ist im allgemeinen jedoch nicht die beste Lösung, da die Distanz zwischen der Ausgangsstadt und der letzten besuchten Stadt bis zum Schluss nicht berücksichtigt wird.

Einfüge-Heuristiken: Heuristiken Die einfachsten Varianten davon sind die Nearest-Insertion- Heuristik (nächste Einfügung) und die Farthest-Insertion- Heuristik (entfernteste). Gegeben seien (wenige) einander benachbarte Städte des TSP, für die sich schnell eine optimale Rundreise ermitteln lässt. Es wird schrittweise überprüft, welche noch nicht besuchte Stadt am nächsten (oder am entferntesten) zu einer der Verbindungslinien der bisherigen Rundreise liegt. Ist diese Stadt gefunden, so wird sie zwischen den ihr am nächsten liegenden Städten in die Tour eingebaut. Das Verfahren wird solange fortgesetzt, bis die Rundreise alle Städte umfasst.

Heuristiken Minimum-Spanning-Tree-Heuristik (MST): 1. berechnen eines minimal aufspannenden Baumes 2. Verdopplung der Baumkanten 3. Finden einer Eulertour in dem entstandenen eulerschen Graphen und Abkürzen durch direkte Kanten, falls sonst ein Knoten doppelt besucht würde

Quellenangabe EAD Folien von Prof. Dr. Thomas Strothotte, Vorlesung Nr. 42, 17. Juni 2004 Wikipedia.de (Eulerkreis, Hamiltonkreis, Problem_des_Handlungsreisenden) www.zum.de/faecher/inf/saar/material/grenzen/grenzen2.htm http://my.2000i.de/documents/proseminar-folien.pdf www.infosun.fmi.uni-passau.de/br/lehrstuhl/kurse/proseminar_ss01/krompass.pdf