<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Algorithmus_von_Christofides</id>
	<title>Algorithmus von Christofides - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Algorithmus_von_Christofides"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Algorithmus_von_Christofides&amp;action=history"/>
	<updated>2026-05-30T02:01:19Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Algorithmus_von_Christofides&amp;diff=713407&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Algorithmus_von_Christofides&amp;diff=713407&amp;oldid=prev"/>
		<updated>2025-07-12T07:04:08Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Algorithmus von Christofides&amp;#039;&amp;#039;&amp;#039; oder der &amp;#039;&amp;#039;&amp;#039;Algorithmus von Christofides und Serdyukov&amp;#039;&amp;#039;&amp;#039; ist ein [[Algorithmus]], der zur Approximation des [[Metrischer Raum|metrischen]] [[Problem des Handlungsreisenden]] dient. Er wurde 1976 unabhängig von [[Nicos Christofides]] und Anatoliy I. Serdyukov entdeckt&amp;lt;ref&amp;gt;N. Christofides, &amp;#039;&amp;#039;Worst-case analysis of a new heuristic for the travelling salesman problem&amp;#039;&amp;#039;, Report 388, Graduate School of Industrial Administration, Carnegie Mellon University (CMU), 1976&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Literatur |Autor=Anatoliy I. Serdyukov |Titel=Über einige extreme Kreise in Graphen |Hrsg= |Sammelwerk=Upravlyaevye Sistemy |Band=17 |Nummer= |Auflage= |Verlag= |Ort=Novosibirsk |Datum=1978 |Sprache=ru |ISBN= |Seiten=76–79 |Online=http://nas1.math.nsc.ru/aim/journals/us/us17/us17_007.pdf |Originaltitel=О некоторых экстремальных обходах в графах}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Literatur |Autor=René van Bevern, Viktoriia A. Slugina |Titel=A historical note on the 3/2-approximation algorithm for the metric traveling salesman problem |Hrsg= |Sammelwerk=Historia Mathematica |Band= |Nummer= |Auflage= |Verlag=Elsevier |Ort= |Datum=2020 |ISBN= |arXiv=2004.02437 |DOI=10.1016/j.hm.2020.04.003 |Seiten=}}&amp;lt;/ref&amp;gt; und war lange Zeit die beste Approximation des Problems für euklidische Graphen. 1996 stellten [[Sanjeev Arora|Arora]] und [[Joseph S. B. Mitchell|Mitchell]] für diese jedoch einen besseren [[Approximationsalgorithmus]] vor.&lt;br /&gt;
&lt;br /&gt;
Formal geht man ähnlich wie bei der [[Minimum-Spanning-Tree-Heuristik]] vor:&lt;br /&gt;
&lt;br /&gt;
# Erzeuge einen [[Minimal spannender Baum|minimalen aufspannenden Baum]]&amp;amp;nbsp;&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; für den zugrunde liegenden [[Graph (Graphentheorie)|Graphen]] &amp;lt;math&amp;gt;G=\left(V,E\right)&amp;lt;/math&amp;gt; mit Kantengewichten.&lt;br /&gt;
# Suche ein (bezüglich Kantengewicht) minimales [[Perfekte Paarung|perfektes Matching]] &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; im Graphen zwischen den Knoten, die ungeraden [[Grad (Graphentheorie)|Grad]] in dem gerade erzeugten Baum &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; besitzen.&lt;br /&gt;
# Füge diese Kanten zu &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; hinzu. Dabei können Multikanten auftreten. Der entstehende Graph&amp;amp;nbsp; &amp;lt;math&amp;gt;T\cup M&amp;lt;/math&amp;gt; ist dann [[Eulerscher Graph|eulersch]].&lt;br /&gt;
# Konstruiere eine [[Eulertour#Auffinden eines Eulerkreises|Eulertour]] in&amp;amp;nbsp;&amp;lt;math&amp;gt;T\cup M&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Konstruiere einen [[Hamiltonkreisproblem|Hamiltonkreis]] in &amp;lt;math&amp;gt;T\cup M&amp;lt;/math&amp;gt;. 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.&lt;br /&gt;
&lt;br /&gt;
== Gütegarantie ==&lt;br /&gt;
Es lässt sich zeigen, dass die Christofides-Heuristik eine &amp;lt;math&amp;gt;1{,}5&amp;lt;/math&amp;gt;-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]].&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Bezüglich des Matchings gilt folgendes:&amp;lt;br /&amp;gt;Sei &amp;lt;math&amp;gt;i_1, \ldots, i_n&amp;lt;/math&amp;gt; die Folge der Knoten vormals ungeraden Grades in der optimalen Lösung; dazwischen liegen irgendwelche anderen Knoten: &amp;lt;math&amp;gt;a - i_1 - b - i_2 - c - \cdots - i_n&amp;lt;/math&amp;gt;. Betrachte die beiden Matchings &amp;lt;math&amp;gt;\left\{ \left\{i_1, i_2\right\}, \left\{i_3, i_4\right\}, \ldots \left\{i_{n-1}, i_n\right\}\right\}&amp;lt;/math&amp;gt; sowie &amp;lt;math&amp;gt;\left\{ \left\{i_2, i_3\right\}, \left\{i_4, i_5\right\}, \ldots \left\{i_n, i_1\right\}\right\}&amp;lt;/math&amp;gt;. Dann gilt aufgrund der Dreiecksungleichung, dass &amp;lt;math&amp;gt;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&amp;lt;/math&amp;gt;&amp;lt;br/&amp;gt; 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 &amp;lt;math&amp;gt;T \cup M&amp;lt;/math&amp;gt; (d.&amp;amp;nbsp;h. die Summe der Gewichte aller Kanten in &amp;lt;math&amp;gt;T \cup M&amp;lt;/math&amp;gt;) nach oben hin abschätzen.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:Metrischer Graph mit 5 Knoten.svg|150px]]|| Ausgangslage: metrischer Graph &amp;lt;math&amp;gt;G=\left(V,E\right)&amp;lt;/math&amp;gt; mit Kantengewichten&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:Christofides MST.svg|150px]] || Minimalen Spannbaum &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; berechnen.&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:V&amp;#039;.svg|150px]] || Die Menge der Knoten mit ungeradem Grad im Spannbaum bestimmen (&amp;lt;math&amp;gt;V&amp;#039;&amp;lt;/math&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:G V&amp;#039;.svg|150px]] || &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; auf die Knoten aus &amp;lt;math&amp;gt;V&amp;#039;&amp;lt;/math&amp;gt; reduzieren (&amp;lt;math&amp;gt;G|_{V&amp;#039;}&amp;lt;/math&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:Christofides Matching.svg|150px]] || Matching &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; mit minimalem Gewicht auf &amp;lt;math&amp;gt;G|_{V&amp;#039;}&amp;lt;/math&amp;gt; bestimmen.&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:TuM.svg|150px]] || Matching und Spannbaum vereinigen (&amp;lt;math&amp;gt;T\cup M&amp;lt;/math&amp;gt;). 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:Eulertour.svg|150px]] || Euler-Tour auf &amp;lt;math&amp;gt;T\cup M&amp;lt;/math&amp;gt; berechnen (A-B-C-A-D-E-A).&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:Eulertour_bereinigt.svg|150px]] || Wiederholt vorkommende Knoten entfernen und durch Direktverbindung ersetzen (A-B-&amp;#039;&amp;#039;&amp;#039;C-D&amp;#039;&amp;#039;&amp;#039;-E-A). In metrischen Graphen führt dies nicht zu einer längeren Strecke.&lt;br /&gt;
Diese Tour ist die Ausgabe des Algorithmus.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Lawler, Lenstra, Rinnooy Kan, Shmoys (Hrsg.): &amp;#039;&amp;#039;The Traveling Salesman Problem. A Guided Tour of Combinatorial Optimization&amp;#039;&amp;#039;. Wiley, Chichester 1985. ISBN 0-471-90413-9, Abschnitt 5.3.4: &amp;#039;&amp;#039;Christofides&amp;#039; algorithm&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.belfrage.net/eth/da/pdf/uebung13.pdf Foliensatz mit grafischer Visualisierung des Algorithmus] (PDF, 154&amp;amp;nbsp;KiB)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Optimierungsalgorithmus|C]]&lt;br /&gt;
[[Kategorie:Algorithmus (Graphentheorie)|C]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>