• Nie Znaleziono Wyników

Algorytmika Problemów Trudnych Wykªad 13

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmika Problemów Trudnych Wykªad 13"

Copied!
16
0
0

Pełen tekst

(1)

Tomasz Krawczyk

krawczyk@tcs.uj.edu.pl

Kraków, semestr letni 2019/20

(2)

plan wykªadu

Wielomianowy schemat aproksymacyjny dla euklidesowego problemu

komiwoja»era.

(3)

Niech P b¦dzie problemem optymalizacyjnym. Mówimy, »e algorytm A jest schematem aproksymacyjnym dla problemu P je»eli dla wej±cia (I , ) algorytm A zwraca rozwi¡zanie o koszcie val

A

( I ), gdzie:

I val

A

( I ) 6 (1 + )OPT (je»eli P jest problemem minimalizacyjnym).

I val

A

( I ) ≥ (1 − )OPT (je»eli P jest problemem maksymalizacyjnym).

Dodatkowo,

I je»eli czas dziaªania A jest wielomianowy dla ka»dego ustalonego  > 0 (np. gdy czas dziaªania A to O(n

1

) ), to A nazywamy wielomianowym schematem aproksymacyjnym (ang. polynomial-time approximation scheme, PTAS ).

I je»eli czas dziaªania A jest wielomianem od rozmiaru wej±cia i

1

, to A

nazywamy w peªni wielomianowym schematem aproksymacyjnym (ang. fully

polynomial-time approximation scheme, FPTAS).

(4)

Problem Komiwoja»era

Problem Komiwoja»era:

Wej±cie: : Graf peªny z kraw¦dziami o wagach (odlegªo±ci) dodatnich.

Wyj±cie: : Cykl Hamiltona o minimalnym koszcie.

(5)

Euklidesowy Problem Komiwojazera:

Wej±cie: Zbiór n punktów P = {P

1

, . . . , P

n

} na pªaszczy¹nie, punkt P

i

ma wspóªrzedne (x

i

, y

i

) .

Wyj±cie: Trasa przechodz¡ca przez wszystkie punkty P

1

, . . . , P

n

o najta«szym koszcie OPT .

Twierdzenie

Istnieje PTAS dla euklidesowego problemu komiwoja»era.

Uwagi:

I Twierdzenie pokazane niezale»nie przez Aror¦ oraz Mitchela.

I Obaj za ten wynik otrzymali nagrod¦ Gödla.

(6)

Euklidesowy Problem Komiwoja»era

Instancje wej±ciowe euklidesowego problemu komiwoja»era s¡ unormowane je»eli:

I wszystkie punkty z P mieszcz¡ si¦ w kwadracie o boku [−

L2

,

L2

] × [−

L2

,

L2

] , gdzie L jest rz¦du Θ(n ·

1

)) i L jest pewn¡ pot¦g¡ dwójki,

I dla ka»dego punktu (x

i

, y

i

) z P zachodzi |x

i

| 6

L2

, |y

i

| 6

L2

oraz x

i

, y

i

∈ Z, I istniej¡ dwa punkty z P o x-wspóªrz¦dnej równej

L2

oraz −

L2

lub istniej¡ dwa

punkty z P o y-wspóªrz¦dnej równej

L2

oraz −

L2

,

I odlegªo±¢ pomi¦dzy dowolnymi dwoma punktami z P wynosi co najmniej 4.

(7)

Normowanie instancji wej±ciowej:

I Operacja Skalowania.

Skalujemy instancj¦ wej±ciow¡ tak, aby:

I

wszystkie punkty z P wpadªy do prostok¡tu [−

L2

,

L2

] × [−

L2

,

L2

] oraz

I

istniaªy dwa punkty P

i

, P

j

w P takie, »e x

i

=

L2

oraz x

j

= −

L2

lub istniaªy dwa punkty P

i

, P

j

w P takie, »e y

i

=

L2

oraz y

i

= −

L2

,

I

L dobieramy tak, by L = Θ(n ·

1

) oraz L = 2

l

dla pewnego l.

I Operacja Przesuwania.

Przesuwamy ka»dy punkt z P w kierunku najbli»szego punktu kratowego (o

wspóªrz¦dnych caªkowitych). Zmieniamy wtedy ka»d¡ wspóªrz¦dn¡ punktu z P

o co najwy»ej

12

.

(8)

Euklidesowy Problem Komiwoja»era

Wªasno±ci instancji po normowaniu:

I Dªugo±¢ trasy optymalnej OPT po Operacji Skalowania jest równa co najmniej L.

I Niech OPT

0

b¦dzie dªugo±ci¡ optymalnej trasy po Operacji Przesuwania.

I Z nierówno±ci OPT ≥ L oraz z faktu, »e L = Θ(n ·

1

) mamy:

OPT

0

6 OPT +2n·1 6 OPT +2n = OPT + 2n

L · L 6 OPT +2·OPT 6 (1+2)OPT .

W dalszej cz¦±ci wykªadu zakªadamy, »e nasza instancje wej±ciowe s¡ unormowane.

(9)

Linie podziaªu:

I Dwie linie poziome x = −L oraz x = L oraz dwie linie pionowe y = −L oraz y = −L s¡ liniami podziaªu poziomu 0.

I Maj¡c linie podziaªu (pionowe i poziome) poziomów 0, . . . , i, linie poziomu i + 1 tworzymy nast¦puj¡co:

I

pomi¦dzy ka»de dwie s¡siednie (poziome lub pionowe) linie podziaªu z poziomów {0, 1, . . . , i} wkªadamy w ±rodek lini¦ poziomu i + 1,

I Procedur¦ kontynuujemy dopóki odlegªo±¢ pomi¦dzy dwoma liniami jest wi¦ksza

od 1. Poziomów jest wi¦c k = Θ(log (n ·

1

)) .

(10)

Euklidesowy Problem Komiwoja»era

Kwadraty podziaªu:

Ka»dy kwadrat w [−L, L] × [−L, L] ograniczony dwoma s¡siednimi liniami pionowymi z poziomów {0, . . . , i} i dwoma s¡siednimi liniami poziomymi z poziomów {0, . . . , i} jest kwadratem podziaªu poziomu i.

Kwadraty podziaªu tworz¡ struktur¦ drzewiast¡: ka»dy kwadrat podziaªu poziomu i dzieli si¦ na cztery kwadraty podziaªu poziomu i + 1.

Przej±cia:

Ka»dy kwadrat podziaªu na ka»dym swoim brzegu ma m przej±¢ oddalonych od siebie

w równym dystansie, gdzie m jest pot¦g¡ dwójki z przedziaªu [

k

,

2k

] .

(11)

Unormowane trasy komiwoja»era:

Trasa komiwoja»era jest unormowana je»eli wchodzi i wychodzi do ka»dego kwadratu podziaªu tylko i wyª¡cznie przez przej±cia tego kwadratu.

Niestety, istniej¡ takie zbiory punktów P, »e najkrótsze trasy unormowane s¡ dalekie od tras optymalnych. Aby skonstruowa¢ taki przykªad, nale»y rozmie±ci¢ wiele punktów z P po obu stronach lini podziaªu o niskim numerze (np. 1).

Aby omin¡¢ problem koncentracji punktów wokóª linii podziaªu niskiego poziomu

przesuwamy siatk¦ linii podziaªu o losowo wybrany wektor (a, b) ∈ [−

L2

,

L2

] × [−

L2

,

L2

] .

Wtedy, oczekiwana najkrótsza unormowana trasa komiwoja»era jest ju» bliska trasie

optymalnej (dowód na kolejnych slajdach).

(12)

Euklidesowy Problem Komiwoja»era

Fact Niech T b¦dzie optymaln¡ tras¡ komiwoja»era. Wtedy T przecina co najwy»ej 2 · OPT wszystkich linii podziaªu.

Dowód:

I Niech P

i

, P

j

b¦d¡ dwoma kolejnymi wierzchoªkami optymalnej trasy T . I Niech x = |x

i

− x

j

| oraz y = |y

i

− y

j

| .

I p

x

2

+ y

2

≥ 4, gdy» instancja jest unormowana.

I Wkªad odcinka P

i

P

j

do OPT : px

2

+ y

2

.

I Liczba przeci¦¢ odcinka P

i

P

j

z liniami podziaªu: x + y + 2.

I Szacuj¡c:

x + y + 2 6 q

2(x

2

+ y

2

) + 2 6 2px

2

+ y

2

,

otrzymujemy tez¦ faktu.

(13)

Niech a i b b¦d¡ liczbami wybranymi losowo z rozkªadem jednostajnym z przedziaªu [−

L2

,

L2

] . Przenie±my linie podziaªu tak, aby linie poziomu 1 miaªy wspóªrz¦dne x = a oraz y = b. Oczekiwana najkrótsza trasa unormowana jest nie dªu»sza od  · OPT od trasy optymalnej.

Dowód:

I Zaªó»my, »e l jest lini¡, która przecina optymaln¡ tras¦ T .

I Je»eli l jest na poziomie i, to ma przej±cia w odlegªo±ci

2iL·m

. Nadwy»ka trasy spowodowana przej±ciem przez lini¦ l jest ograniczona przez

2iL·m

.

I Poniewa» jest 2

i−1

linii na poziomie i a wyborów jest L, prawdopodobie«stwo »e linia l jest na poziomie i jest ograniczone od góry przez

2i −1L

=

2L2i

.

I oczekiwana nadwy»ka spowodowana przej±ciem przez lini¦ l jest ograniczona przez P

ki=12iLm

·

2L2i

=

2mk

6 ,

I poniewa» mamy co najwy»ej 2 · OPT punktów przeci¦cia z liniami podziaªu,

oczekiwana nadwy»ka jest ograniczona przez 2 · OPT .

(14)

Euklidesowy problem komiwoja»era

Powiemy, »e unormowana trasa ma ograniczone przeci¦cia je»eli odwiedza ka»de przej±cie co najwy»ej 2 razy.

Fact Dla ka»dej unormowanej trasy komiwoja»era istnieje nie dªu»sza unormowana trasa komiwoja»era, która ma ograniczone przeci¦cia i nie ma samoprzeci¦¢.

Dowód (zarys):

I Samoprzeci¦cia mo»na wyeliminowa¢ ªatwo (zmiana kolejno±ci odwiedzanych punktów).

I Nadmiarowe przeci¦cia mo»emy likwidowa¢ za pomoc¡ skrótów: je»eli trasa

u»ywa przej±cia na linii l wi¦cej ni» dwukrotnie, mo»emy skraca¢ tras¦ po obu

stronach l.

(15)

Lemat

Optymaln¡ tras¦ komiwoja»era unormowan¡, z ograniczonymi przeci¦ciami i bez samoprzeci¦¢, mo»na policzy¢ w czasie n

O(1)

.

Dla ka»dego kwadratu K z poziomu i algorytm oblicza wszystkie mo»liwe przeci¦cia

trasy komiwoja»era (unormowanej, bez samoprzeci¦¢ i z ograniczonymi przeci¦ciami) z

kwadratem K.

(16)

Euklidesowy Problem Komiwoja»era

Lemat

Optymaln¡ tras¦ komiwoja»era unormowan¡, z ograniczonymi przeci¦ciani i bez samoprzeci¦¢, mo»na policzy¢ w czasie n

O(1)

.

Obserwacje:

I Co najwy»ej 4m ±cie»ek wchodzi i wychodzi z kwadratu K (ka»de przej±cie mo»e by¢ wykorzystane co najwy»ej 2 razy, jest 4m przej±¢, ka»da ±cie»ka wykorzystuje 2 przej±cia). Poprawne ±cie»ki zawieraj¡ wszystkie punkty P, które s¡ w K.

I Ustalmy dla ka»dego przej±cia w K liczb¦ (0, 1, lub 2) ±cie»ek przechodz¡cych przez to przej±cie: liczba mo»liwych ró»nych konguracji jest równa

3

4m

= 3

log(n·1)

= poly(n)

1

(

1

- staªa),

I Dla jednej konguracji (z okre±lon¡ liczb¡ przej±¢ przez ka»de przej±cie), liczba mo»liwo±ci poª¡cze« przej±¢ (wej±cie/wyj±cie dla ±cie»ki) jest rz¦du liczby Catalana o numerze 4m: jest wi¦c rz¦du

4m+11 8m4m

 6 2

8m

= poly(n)

1

, przy czym ostatnia nierówno±¢ zachodzi dla odpowiednio du»ych m.

Wniosek: Wykorzystuj¡c programowanie dynamiczne, optymaln¡ tras¦ unormowan¡,

bez samoprzeci¦¢, z ograniczonymi przeci¦ciami mo»emy obliczy¢ w czasie n

O(1)

.

Cytaty

Powiązane dokumenty

I sposób: stosujemy bardziej wyrafinowane miary do mierzenia wielkości podzadań (zazwyczaj: rozmiar podzadania to liczba wierzchołków grafu)... Makysmalna klika (bądź

Wniosek: Problemy: Kliki, Ró»nobarwnej Kliki, Zbioru Niezale»nego, Ró»nobarwnego Zbioru Niezale»nego wzajemnie si¦ do siebie redukuj¡ (w sposób parametryzowany).. Uwaga:

Programowanie dynamiczne jest to technika projektowania algorytmów (zazwyczaj optymalizacyjnych) oparta na podziale zadania na podproblemy wzgl¦dem pewnych parametrów.. Z

Ogólnie, i-t¡ warstw¡ grafu G nazywamy pierwsz¡ warstw¦ grafu planarnego powstaªego z G przez usuni¦cie wierzchoªków z warstw od 1 do i −

Ogólnie, i-t¡ warstw¡ grafu G nazywamy pierwsz¡ warstw¦ grafu planarnego powstaªego z G przez usuni¦cie wierzchoªków z warstw od 1 do i −

krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2020/21.. Algorytmy wykªadnicze dla SAT

Algorytm A dla problemu P jest algorytmem pseudowielomianowym je»eli czas jego dziaªania jest wielomianowy w zale»no±ci od rozmiaru wej±cia przy zaªo»eniu, »e liczby na

I Zaokr¡glij (losowo) rozwi¡zanie rzeczywiste do rozwi¡zania caªkowitoliczbowego i udowodnij, »e nie jest du»o gorsze od optymalnego... Rozwa»my sieci z