Algorithmus von Christofides
Der Algorithmus von Christofides oder der Algorithmus von Christofides und Serdyukov ist ein Algorithmus, der zur Approximation des metrischen Problem des Handlungsreisenden dient. Er wurde 1976 unabhängig von Nicos Christofides und Anatoliy I. Serdyukov entdeckt[1][2][3] und war lange Zeit die beste Approximation des Problems für euklidische Graphen. 1996 stellten Arora und Mitchell für diese jedoch einen besseren Approximationsalgorithmus vor.
Formal geht man ähnlich wie bei der Minimum-Spanning-Tree-Heuristik vor:
- Erzeuge einen minimalen aufspannenden Baum Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T} für den zugrunde liegenden Graphen Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle G=\left(V,E\right)} mit Kantengewichten.
- Suche ein (bezüglich Kantengewicht) minimales perfektes Matching Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle M} im Graphen zwischen den Knoten, die ungeraden Grad in dem gerade erzeugten Baum Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T} besitzen.
- Füge diese Kanten zu Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T} hinzu. Dabei können Multikanten auftreten. Der entstehende Graph Fehler beim Parsen (Konvertierungsfehler. Der Server („https://wikimedia.org/api/rest_“) hat berichtet: „Cannot get mml. Server problem.“): {\displaystyle T\cup M} ist dann eulersch.
- Konstruiere eine Eulertour in Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T\cup M} .
- Konstruiere einen Hamiltonkreis in Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T\cup M} . Wähle dazu einen beliebigen Startknoten und gehe die Eulertour ab. Ersetze dabei die bereits besuchten Knoten durch direkte Verbindungen (bzw. Abkürzungen) zum nächsten noch nicht besuchten Knoten.
Gütegarantie
Es lässt sich zeigen, dass die Christofides-Heuristik eine Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 1,5} -Approximation ist. Das heißt, die so entstandene Rundreise ist maximal um die Hälfte länger als die optimale Tour. Der Beweis beruht dabei auf einer wiederholten Anwendung der Dreiecksungleichung.
- Die Summe der Kantengewichte im Minimum-Spanning-Tree (MST) ist sowieso kleiner gleich der optimalen Lösung, da jede Lösung des Traveling Salesman Problem (TSP) einen Spannbaum enthält.
- Bezüglich des Matchings gilt folgendes:
Sei Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle i_1, \ldots, i_n} die Folge der Knoten vormals ungeraden Grades in der optimalen Lösung; dazwischen liegen irgendwelche anderen Knoten: Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle a - i_1 - b - i_2 - c - \cdots - i_n} . Betrachte die beiden Matchings Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \left\{ \left\{i_1, i_2\right\}, \left\{i_3, i_4\right\}, \ldots \left\{i_{n-1}, i_n\right\}\right\}} sowie Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \left\{ \left\{i_2, i_3\right\}, \left\{i_4, i_5\right\}, \ldots \left\{i_n, i_1\right\}\right\}} . Dann gilt aufgrund der Dreiecksungleichung, dass Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle c(i_1, i_2) \leq c(i_1, b) + c(b, i_2), c(i_2, i_3) \leq c(i_2, c) + c(c, i_3), \ldots}
Also sind die Gesamtkosten der optimalen Lösung größer gleich derer zweier beliebiger Matchings, insbesondere also zwei Mal des minimalen Matchings. Dann ist ein minimales Matching auch nur maximal halb so groß wie die optimale Lösung. So lässt sich die Summe der Kantengewichte entlang der Eulertour in Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T \cup M} (d. h. die Summe der Gewichte aller Kanten in Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T \cup M} ) nach oben hin abschätzen. - Schließlich lässt sich die Summe der Kanten in dem aus der Eulertour erzeugten Hamiltonkreis durch erneutes Anwenden der Dreiecksungleichung nach oben hin durch die Summe der Kanten in der Eulertour abschätzen (denn die Direktkanten können nicht länger sein als die Verbindung über einen schon früher besuchten Knoten), also transitiv durch das 1,5-Fache der optimalen Lösung.
Beispiel
Ausgangslage: metrischer Graph mit Kantengewichten | |
Minimalen Spannbaum Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T} berechnen. | |
Datei:V'.svg | Die Menge der Knoten mit ungeradem Grad im Spannbaum bestimmen (Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle V'} ). |
Datei:G V'.svg | Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle G} auf die Knoten aus Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle V'} reduzieren (Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle G|_{V'}} ). |
Datei:Christofides Matching.svg | Matching mit minimalem Gewicht auf Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle G|_{V'}} bestimmen. |
Datei:TuM.svg | Matching und Spannbaum vereinigen (Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T\cup M} ). Dieser Schritt sorgt dafür, dass Knoten mit vormals ungeradem Grad nun einen geraden Grad aufweisen. Dies ist eine notwendige Bedingung für die Berechnung der Euler-Tour im nächsten Schritt. |
Datei:Eulertour.svg | Euler-Tour auf Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle T\cup M} berechnen (A-B-C-A-D-E-A). |
Wiederholt vorkommende Knoten entfernen und durch Direktverbindung ersetzen (A-B-C-D-E-A). In metrischen Graphen führt dies nicht zu einer längeren Strecke.
Diese Tour ist die Ausgabe des Algorithmus. |
Literatur
- Lawler, Lenstra, Rinnooy Kan, Shmoys (Hrsg.): The Traveling Salesman Problem. A Guided Tour of Combinatorial Optimization. Wiley, Chichester 1985. ISBN 0-471-90413-9, Abschnitt 5.3.4: Christofides' algorithm
Weblinks
- Foliensatz mit grafischer Visualisierung des Algorithmus (PDF, 154 KiB)
Einzelnachweise
- ↑ N. Christofides, Worst-case analysis of a new heuristic for the travelling salesman problem, Report 388, Graduate School of Industrial Administration, Carnegie Mellon University (CMU), 1976
- ↑ Anatoliy I. Serdyukov: Über einige extreme Kreise in Graphen. In: Upravlyaevye Sistemy. Band 17. Novosibirsk 1978, S. 76–79 (russisch, nsc.ru [PDF] Originaltitel: О некоторых экстремальных обходах в графах.).
- ↑ René van Bevern, Viktoriia A. Slugina: A historical note on the 3/2-approximation algorithm for the metric traveling salesman problem. In: Historia Mathematica. Elsevier, 2020, doi:10.1016/j.hm.2020.04.003, arxiv:2004.02437.