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 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:

  1. Erzeuge einen minimalen aufspannenden Baum  für den zugrunde liegenden Graphen mit Kantengewichten.
  2. Suche ein (bezüglich Kantengewicht) minimales perfektes Matching im Graphen zwischen den Knoten, die ungeraden Grad in dem gerade erzeugten Baum besitzen.
  3. Füge diese Kanten zu hinzu. Dabei können Multikanten auftreten. Der entstehende Graph  ist dann eulersch.
  4. Konstruiere eine Eulertour in .
  5. Konstruiere einen Hamiltonkreis in . 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 -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.

Beispiel

Ausgangslage: metrischer Graph mit Kantengewichten
Minimalen Spannbaum berechnen.
Die Menge der Knoten mit ungeradem Grad im Spannbaum bestimmen ().
auf die Knoten aus reduzieren ().
Matching mit minimalem Gewicht auf bestimmen.
Matching und Spannbaum vereinigen (). 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.
Euler-Tour auf 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

Einzelnachweise

  1. ↑ 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
  2. ↑ Anatoliy I. Serdyukov: Über einige extreme Kreise in Graphen. In: Upravlyaevye Sistemy. Band 17. Novosibirsk 1978, S. 76–79 (russisch, nsc.ru [PDF] Originaltitel: О некоторых экстремальных обходах в графах.).
  3. ↑ 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.