You are on page 1of 46

Polynomial Time Approximation Scheme

Euclidean TSP

Polynomial Time Approximation Schemes for Euclidean TSP

Problem komiwojaera (Traveling Salesman Problem, TSP) Majc n wierzchokowy graf I dla kadej pary rnych wierzchokw {i,j} koszt d(i,j) krawdzi midzy nimi, znajd najtaszy cykl, ktry przechodzi przez kady wierzchoek dokadnie raz Problem komiwojaera w przestrzeni metrycznej koszty krawdzi speniaj nierwno trjkta , tj.

Problem komiwojaera na paszczynie Euklidesowej wierzchoki to punkty na paszczynie punkt i-ty ma wsprzdne Odlego za to:

Co wiadomo o TSP?

Problem jest NP-zupeny Aproksymacja TSP ze staym wspczynnikiem jest NP-zupena Nawet Euclidan TSP jest NP-zupeny! Ale Euclidan TSP daje si aproksymowa

Wczeniejsze rezultaty
Przed powstaniem pracy Saanjeva Arory:

Wspczynnik 3/2 (Christofides 1976) Wspczynnik 4/3 (nie udowodniony, jedynie podejrzewany!) (Held-Karp ) Rozwizanie optymalne w (Smith 1988)

Czy da si aproksymowa Euclidan TSP z dowolnie dobr dokadnoci?

Polyniomal time approximation scheme


Polynomial time approximation scheme (PTAS) dla problemu X to algorytm lub rodzina algorytmw, dziaajcych w czasie wielomianowym z pomoc ktrej mona dla dowolnego c aproksymowa problem X ze wspczynnikiem 1 + 1/c

Znany jest PTAS np. dla problemw SubsetSum i Bin-packing Arora (1992) pokaza, e jeli P NP to metric TSP nie ma PTAS

PTAS dla Euclidan TSP

Ale Euclidan TSP to bardzo szczeglny przypadek! Przedstawimy PTAS dla Euclidan TSP taki, e dla wspczynnika aproksymacji 1+1/c algorytm dziaa w czasie Zatem jest on prawie liniowy i asymptotycznie szybszy ni przejrzenie wszystkich krawdzi, ktrych jest

Pomys

Podzieli paszczyzn na podobszary za pomoc quadtree, Ograniczy przejcia przez krawdzie podziaw do kilku ustalonych punktw, Zgadywa jak cieka bdzie przebiega wewntrz kadego podobszaru i niezalenie oblicza rozwizanie wewntrz, czy obliczone podrozwizania

Pomys

Krok 1 podzia paszczyzny

Zaley nam na podziale paszczyzny, ktry utworzy niewiele podobszarw, Podzia bdzie randomizowany aby czciowo uniezaleni si od rozkadu punktw, Wpowadzona bdzie perturbacja punktw Jak bdzie wyglda podzia paszczyzny, a jak perturbacja?

Quadtree

Drzewo o stopniu rozgazienia 4 dla zbioru punktw P Kady wierzchoek v reprezentuje kwadrat k(v) na paszczynie. Korze reprezentuje najmniejszy kwadrat mieszczcy cay zbir P Wierzchoek v jest liciem, jeli w k(v) znajduje si co najwyej jeden punkt ze zbioru P W przeciwnym razie kwadrat k(v) jest dzielony na czterech synw reprezentujcych podzia k(v) na cztery mniejsze kwadraty Liczba lici jest - kady li albo zawiera dokadnie jeden punkt z P albo jest bratem innego licia, ktry zawiera dokadnie jeden wierzchoek zatem maksymalnie 4n lici

Quadtree

Quadtree

Zamy, e punkty maj wsprzdne cakowite, a rozmiar bounding-boxa (najmniejszego kwadratu mieszczcego wszystkie punkty, czyli k(root)) to , Skoro lici jest to drzewo ma wierzchokw

Zadbamy za pomoc perturbacji, aby dziki czemu (wobec tego, e c jest sta) rozmiar drzewa bdzie Mona bdzie je skontruowa w czasie moemy sobie na to pozwoli!) (oczywicie

Perturbacja

Chcemy aby: Punkty miay wsprzdne cakowite Niezerowe odlegoci midzy punktami byy rwne co najmniej 8 Najwiksza odlego midzy punktami bya rzdu Po co? Rozmiar quadtree oraz kilka innych wasnoci, ktre uka swe oblicze w przyszoci Jak to wykona, aby zoono i wspczynnik aproksymacji nie ucierpiay?

Perturbacja
1) Niech bdzie rozmiarem boundig-boxa orginalnego zbioru punktw, a optymalnym kosztem cyklu komiwojaera. Zauwamy, e (nawet jeli zbir to tylko dwa punkty, najmniejszy kwadrat nie moe mie boku krtszego ni odlego midzy tymi punktami!) 2) Podzielmy paszczyzn krat o romiarze kwadratu 3) Przesumy kady punkt do najbliszego mu punktu kratowego 4) Zauwamy, e teraz koszt optymalnego cyklu komiwojaera rni si o co najwyej Jest tak, gdy kady punkt jest o mniej ni dugo kwadratu kratki od swego dawnego pooenia zatem mona by zachowa dawn ciek wyznaczajc cykl i doda do niej nki czce do nowych pooe punktw a potem poprawi cykl korzystajc z nierwnoci trjkta!

Perturbacja

Perturbacja
5) Zauwamy, e w takim razie bdziemy musieli obliczy rozwizanie 1+ 3/4c aproksymacyjne, ale to nie problem c jest dowolne 6) Teraz dzielimy wszystkie wsprzdne przez dziki czemu wszystkie wsprzdne s cakowite (byy wielokrotnociami ) oraz miminalna niezerowa odlego to co najmniej 8. (niezerowa, gdy niektre punkty mogy zosta cignite do tego samego punktu kratowego)

Teraz na sperturbowanym zbiorze zbudujemy zrandomizowane quadtree!

(a,b) - quadtree
(a,b) quadtree struktura powstaa ze standardowego quadtree poprzez przesunicie cykliczne kadej krawdzi pionowej o a, za poziomej o b. Innymi sowy proste o rwnaniu x = c przechodz na proste o rwnaniu x = (c + a) mod L , za te o rwnaniu y = d na y = (d+b) mod L Obszary ktre zawiny si dookoa traktujemy jak jeden obszar. Dooymy stara, aby nie powodowao to zbdnych trudnoci.

(a,b) - quadtree

(a,b) - quadtree
Losujemy a oraz b i budujemy (a,b)-quadtree na zbiorze punktw po perturbacji (nazywajmy go P'). Nie bdzie to duo trudniejsze ni budowa zwykego quadtree, cho kwestia jest do techniczna.

Portale oraz teoria strukturalna


Niech m,r bd dodatnie. M-regularnym zbiorem portali dla quadtree T nazwiemy zbir punktw (portali) na krawdziach kwadratw T o tej wasnoci, e kady kwadrat T ma portale na swoich wierzchokach, ponadto na kadej krawdzi kwadratu jest m rwno rozoonych portali. Niech droga komiwojaera oznacza cykl, ktry przechodzi przez punkty z P' oraz pewien podzbir portali (moe przechodzi wielokrotnie przez kady portal) Powiemy, e droga komiwojaera jest (m,r)-lekka dla T jeli dla kadej krawdzi T przechodzi przeze co najwyej r razy i zawsze przez portale. To prowadzi nas do rozwizania!

Portale oraz teoria strukturalna

Portale oraz teoria strukturalna


Teoria strukturalna
Niech c > 0 bdzie dowoln sta. Niech minimalna odlego pomidzy punktami z P' wynosi 8 a L bdzie rozmiarem bounding-boxa. Niech a,b wybrane losowo bd wspczynnikami (a,b)-quadtree T. Wtedy z prawdopodobiestwem przynajmniej 0.5 istnieje droga komiwojaera o koszcie co najwyej (1 + 1/c)OPT, ktra jest (m,r)-lekka dla T oraz m = O(c log(L)) i nieparzyste oraz r = O(c).
Czas udowodni t teori! Pniej pokaemy, jak znale najlepsz (m,r)-lekk drog, a teoria zagwarantuje nam jej niski koszt. Udowodnimy najpierw lematy: o naprawianiu I o przeciciach.

Teoria strukturalna
Lemat o naprawianiu
Istnieje staa g > 0 taka, e ponisze stwierdzenie jest prawdziwe: Niech S bdzie dowolnym odcinkiem dugoci s a p zamknit krzyw ktra przecina S co najmniej trzy razy. Wtedy istnieje zbir fragmentw S o dugoci nie wikszej ni gs taki, e po jego doczeniu do p otrzymujemy p' ktra przecina S co najwyej dwa razy. Po co nam to? W przyszoci uyjemy tego lematu, aby nakania drog komiwojaera do przejcia przez portale.

Lemat o naprawianiu - dowd


Niech p przecina S w t > 2 punktach wzgldem tych punktw p na cieki stronach S. Wemy dwie kopie zbioru punktw do dwch stron S. Nazwijmy te kopie . Podzielmy po dwch I przypiszmy je oraz

Lemat o naprawianiu - dowd


Teraz dodamy pewne krawdzie (lece na S) dla kadej kopii punktw:

Optimal TS cycle poniewa punkty le na odcinku bdzie mia dugo nie wiksz ni 2s (zielony) Minimal Cost Maximal Matching dla punktw bez pierwszego, jeli t jest nieparzyste lub bez pierwszego I ostatniego, jeli t jest parzyste o koszcie co najwyej s (niebieski) Jeli t nieparzyste dodajemy krawd pomidzy pierwszymi punktami z obu zbiorw, jeli parzyste pomidzy pierwszymi I pomidzy ostatnimi (fioletowy) o zerowej dugoci.

Lemat o naprawianiu - dowd

Lemat o naprawianiu - dowd


Teraz w grafie pocze midzy punktami kady wierzchoek ma stopie dokadnie 4. Wemy cykl Eulera dla grafu pocze wszystkie odcinki dodane w poprzednim kroku maj razem dugo co najwyej 6s (3s dla kadej ze stron). Tym cyklem Eulera zastpujemy krzyw p i otrzymujemy krzyw p' o dugoci wikszej o co najwyej 6s. Zatem teoria jest prawdziwa dla g = 6. Sprytniejszy & bardziej skomplikowany sposb daje g = 3 (Christofides)

Teoria strukturalna
Lemat o przeciciach
Niech paszczyzna bdzie pokryta krat o dugoci jednostkowej. Niech p bdzie cyklem komiwojaera dugoci X na zbiorze punkw dla ktrych odlego midzy kad par to 0 albo przynajmniej 4. Niech bdzie jedn z pionowych i poziomych prostych wyznaczajcych krat i niech bdzie liczb przeci tej prostej z cyklem komiwojaera. Wtedy

Lemat o przeciciach - dowd


Spjrzmy na kady odcinek L dugoci s nalecy do cyklu komiwojaera p. Niech u i v bd odpowiednio rzutem L na o X I na o Y. Wtedy wiadomo, e Ponadto L dodaje co najwyej (u+1) przeci z prostymi pionowymi i (v+1) przeci z prostymi poziomymi.

Lemat o przeciciach - dowd


Jego wkad w lew stron nierwnoci z lematu to gdzie ostatnia nierwno wynika z Sumujc po wszystkich odcinkach tworzcych p (suma ich dugoci to X) otrzymujemy:

Teoria strukturalna - dowd


Niech , gdzie to staa z lematu o naprawianiu i niech i nieparzyste

Niech bdzie optymalnym cyklem komiwojaera I niech przesunicie (a,b) dla quadtree T bdzie wybrane losowo. Bdziemy krok po kroku przeksztaca komiwojaera. Jak? w (m,r)-lekk drog

Dla analizy pokryjmy paszczyzn krat jednostkow. Pokaemy oczekiwane grne ograniczenie na zwikszenie si kosztu podczas modyfikacji. Obciymy kad prost z kraty czci kosztu.

Teoria strukturalna - dowd


Co bdziemy chcieli pokaza? Warto oczekiwana obcienia kadej prostej K przy przesuniciu (a,b) spenia: Jeli to by si udao, to z liniowoci wartoci oczekiwanej, sumujc po wszystkich prostych mielibymy: (atwe przeksztacenie wzoru, ktry pojawi si wczeniej mnoymy przez 3g/s) Poniewa dobralimy to wietna wiadomo! to przyrost kosztu jest nie wikszy ni

Teoria strukturalna - dowd


Nierwno Markova mwi nam, e z prawdopodobiestwem przynajmniej 0.5 wzrost kosztu jest nie wikszy ni Zatem z prawdopodobiestwem przynajmniej 0.5 istnieje (m,r)-lekka droga komiwojaera o koszcie mniejszym ni Jak modyfikowa cykl ?

Teoria strukturalna - dowd

Powrmy do quadtree gdyby nie przerywa dzielenia paszczyzny gdy w kwadracie jest nie wicej ni jeden punkt dostalibymy krat jednostkow w ktrej kada prosta ma pewien poziom odpowiadajcy wysokoci wierzchoka w quadtree. Poziom 0 - pierwszy podzia paszczyzny na 4 kwadraty, Poziom 1 to podziay kolejnych kwadratw itd. Spjrzmy na takie pionowe proste po losowym przesuniciu (a,b) dla (a,b)-quadtree.

Teoria strukturalna - dowd

Teoria strukturalna - dowd


Teraz bdziemy dla kadej prostej pionowej K o poziomie i (analiza jest symetryczna dla poziomych) modyfikowa:

Dla j od log(L) do i : przejrzyj wszystkie odcinki prostej K z poziomu j i jeli ktry jest przecinany wicej ni s razy zastosuj do lemat o naprawianiu (! przeci moe by potem 4 a nie 2 zawinite kwadraty!) - do ilu odcinkw z poziomu j zastosowalimy lemat

Teoria strukturalna - dowd


- naprawienie prostej K przy losowym przesuniciu b gdy jest na poziomie i :

by moe powstay nowe przecicia dla prostych poziomych atwo rozwiemy ten problem za chwil!

Teoria strukturalna - dowd


Oczekiwany koszt, jakim obciymy prost K przy przesuniciu (a,b)

Pamitacie wzr ze slajdu 30? Jest ju blisko! Mamy podan liczb przeci teraz pozostaje przesun je do najbliszych portali

Teoria strukturalna - dowd


Ale portale s na kocach kadego odcinka, ktry modyfikowalimy, zatem pacimy co najwyej:

Ale m>2slog(L) - to razem daje nam (przy zaoeniu, e s > 15)

dla poziomych i pionowych dostajemy wic co najwyej co jest nie wiksze od

Teoria strukturalna - dowd


Jeli teraz dodamy drobn sztuczk i zamienimy na

Unikniemy problemw z dodatkowymi przeciciami dla linii o innej orientacji! Uyj lematu o naprawianiu, jeli pojawi si ich za duo nie zwiksza to kosztu. Kada krawd kwadratu dostanie co najwyej 4 przecicia wicej!

Teraz czas wykorzysta to wszystko w algorytmie dynamicznym!

Programowanie dynamiczne

Bdziemy wylicza najlepsze rozwizanie dla kadego kwadratu quadtree w kolejnoci od najmniejszych do najwikszych. Pamitajmy, e kwadratw jest Skoro kada krawd jest przecinana co najwyej r razy, to moemy myle tak, e wybieramy multizbir portali i parujemy je wejciewyjcie. Korzystamy z obliczonych uprzednio optymalnych rozwiza dla mniejszych kwadratw. Wyborw dotyczcych tego multizbioru jest nie wicej ni pierwszy czynnik ogranicza liczb moliwych multizbiorw portali, drugi za ogranicza liczb wyborw kolejnoci i parowa.

Programowanie dynamiczne

Programowanie dynamiczne
Trzeba oczywicie rozway to jak wybrane cieki przebywaj wntrze kwadratu. Jeli kwadrat jest liciem to w jego wntrzu jest co najwyej jeden punkt zatem moemy w rozway dla kadego wyboru na ktrej ze cieek lee bdzie ten punkt. W przeciwnym razie kwadrat ten jest podzielony na cztery podkwadraty . Pozostaje wybra przez jakie portale bdziemy wdrowali na wewntrznych krawdziach (na sposobw) i na ktrych ciekach wybranych w poprzednim kroku bd one lee (na sposobw). Nie musimy wybiera portali na zewntrznych krawdziach one ju zostay wybrane dla wikszego kwadratu I s te portalami dla mniejszych! Sumujemy wczeniej obliczone rozwizania w mniejszych kwadratach.

Programowanie dynamiczne

Programowanie dynamiczne
Gdy wymnoymy liczb moliwych wyborw obu krokw i przemnoymy przez liczb wierzchokw w quadtree uzyskujemy ale liczba wierzchokw jest zatem zoono algorytmu to a

Cel osignity!

To wreszcie koniec

Dzikuj za wysuchanie!

You might also like