Algorytm Christofidesa

Z Wikipedii, wolnej encyklopedii

Algorytm Christofidesaalgorytm aproksymacyjny znajdujący rozwiązanie problemu komiwojażera w grafach w których wagi krawędzi są nieujemne i spełniają warunek nierówności trójkąta. Algorytm jest 1,5-optymalny, to znaczy, że znalezione rozwiązanie będzie nie gorsze niż 1,5 rozwiązania optymalnego.

Algorytm[edytuj | edytuj kod]

Niech będzie grafem pełnym.

  1. Dla grafu stwórzmy minimalne drzewo rozpinające
  2. Niech będzie zbiorem wierzchołków o nieparzystym stopniu w Znajdźmy minimalne skojarzenie doskonałe na wierzchołkach spośród krawędzi grafu pełnego
  3. Niech będzie multigrafem utworzonym z i
  4. Wyznaczmy cykl Eulera w grafie (graf jest eulerowski, ponieważ ma wszystkie wierzchołki parzystego stopnia).
  5. Z cyklu Eulera zróbmy cykl Hamiltona poprzez pomijanie odwiedzonych wierzchołków (skracanie).

Dowód 1,5 optymalności[edytuj | edytuj kod]

Oznaczmy rozwiązanie optymalne problemu komiwojażera w jako Zachodzi ponieważ po usunięciu jednej z krawędzi z powstaje drzewo rozpinające, które nie może być mniejsze od minimalnego drzewa rozpinającego Ponadto zachodzi Wynika to z faktu iż jest podgrafem a więc rozwiązanie problemu komiwojażera w jest nie większe niż oraz z faktu iż to rozwiązanie można podzielić na dwa uzupełniające się skojarzenia z których przynajmniej jedno musi być nie większe niż W takim razie waga W grafie spełniającym nierówność trójkąta, operacja skracania nie może wydłużyć cyklu, więc waga uzyskanego cyklu Hamiltona jest równa

Bibliografia[edytuj | edytuj kod]