• Nie Znaleziono Wyników

Algorytmika Problemów Trudnych Wykªad 10

N/A
N/A
Protected

Academic year: 2021

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

Copied!
21
0
0

Pełen tekst

(1)

Algorytmika Problemów Trudnych

Wykªad 10 Tomasz Krawczyk

krawczyk@tcs.uj.edu.pl

Kraków, semestr letni 2020/21

(2)

plan wykªadu

Algorytmy aproksymacyjne:

I Poj¦cie algorytmu aproksymacyjnego i wspóªczynnika aproksymowalno±ci.

I Algorytm 2-aproksymacyjny dla drzewa Steinera.

I Algorytm

32

-aproksymacyjny dla metrycznego komiwoja»era.

I Wielomianowe (PTAS) i w peªni wielomianowe (FPTAS) schematy aproksymacyjne.

I FPTAS dla problemu plecakowego.

(3)

Algorytm α(n)-aproksymacyjny

Denicja

Algorytm A dla problemu optymalizacyjnego P jest jest algorytmem α( n)-aproksymacyjnym je»eli:

I A dziaªa w czasie wielomianowym od rozmiaru wej±cia n,

I dla ka»dej instancji I rozmiaru n, A zwraca rozwi¡zanie o koszcie val

A

( I ), gdzie:

I valA(I )

opt(I )

6 α(n) (je»eli P jest problemem minimalizacyjnym),

I opt(I )

valA(I )

6 α(n) (je»eli P jest problemem maksymalizacyjnym).

(4)

Problem drzewa Steinera

Graf wa»ony to para (V , c), gdzie V to zbiór wierzchoªków a c :

V2

 → (Q

+

∪ { 0}) to wagi kraw¦dzi grafu (graf jest zatem grafem peªnym).

Problem Drzewa Steinera:

Wej±cie: Graf wa»ony G = (V , c) oraz zbiór wierzchoªków K zwanych terminalami lub w¦zªami wymaganymi.

Wyj±cie: Minimalne (o minimalnym sumarycznym koszcie) drzewo w G ª¡cz¡ce wszystkie terminale.

W Metrycznym Problemie Drzewa Steinera funkcja wag speªnia nierówno±¢ trójk¡ta, to jest:

Dla ka»dych ró»nych u, v, w ∈ V : c(u, v) + c(v, w) ≥ c(u, w).

(5)

(Metryczny) Problem Drzewa Steinera

Istnieje algorytm α-aproksymacyjny dla ⇒ Istnieje algorytm α-aproksymacyjny dla metrycznego problemu drzewa Steinera. zwykªego problemu drzewa Steinera.

Dowód:

I Zaªó»my, »e mamy instancj¦ G = (V , c) problemu drzewa Steinera.

I Niech G

0

= (V , c

0

) b¦dzie domkni¦ciem metrycznym grafu G, to jest grafem wa»onym z funkcj¡ kosztu c

0

, gdzie c

0

( u, v) jest dªugo±ci¡ najkrótszej ±cie»ki z u do v w G.

I Waga minimalnego drzewa Steinera w G jest równa wadze minimalnego drzewa Steinera w G

0

.

I Je»eli T

0

jest drzewem Steinera w G

0

o koszcie 6 α · OPT w G

0

, to maksymalne

drzewo rozpinaj¡ce w grae skªadaj¡cym si¦ z najkrótszych ±cie»ek u → v w G,

gdzie uv jest kraw¦dzi¡ w T

0

, jest drzewem Steinera o koscie 6 α · OPT w G.

(6)

Metryczny Problem Drzewa Steinera

Algorytm:

I zwró¢ minimalne drzewo rozpinaj¡ce (MST) w grae indukowanym przez K.

Powy»szy algorytm jest algorytmem 2-aproksymacyjnym:

I Niech T b¦dzie minimalnym drzewem Steinera w G o koszcie OPT . I Podwajaj¡c kraw¦dzie T otrzymujemy graf eulerowski E o koszcie 2 · OPT . I Przechodzimy cykl Eulera E odwiedzaj¡c jednokrotnie wierzchoªki b¦d¡ce

terminalami. Poniewa» G jest metryczny, dªugo±¢ nowego cyklu jest ograniczona przez 6 2 · OPT .

I Istnieje wi¦c ±cie»ka rozpinaj¡ce na podgrae indukowanym przez K o koszcie 6 2 · OPT .

I MST na K ma wi¦c koszt 6 2 · OPT .

(7)

Metryczny Problem Drzewa Steinera

Algorytm:

I zwró¢ minimalne drzewo rozpinaj¡ce (MST) w grae indukowanym przez K.

Powy»szy algorytm jest algorytmem 2-aproksymacyjnym.

Analizy powy»szego algorytmu nie mo»na poprawi¢.

I Rozwa»my graf skªadaj¡cy si¦ ze ±rodka v i zbioru n terminali K w odlegªo±ci 1 od r. Pozostaªe kraw¦dzie grafu maj¡ wag¦ 2.

I Algorytm zwróci drzewo Steinera o wadze 2n − 2.

I Minimalne drzewo Steinera ma wag¦ n.

Powy»sza rodzina jest rodzin¡ przypadków trudnych dla powy»szego algorytmu.

(8)

Metryczny problem Drzewa Steinera

Aktualny stan wiedzy:

I istnieje algorytm 1.39-aproksymacyjny dla problemu drzewa Steinera (Byrka, Grandoni, Rothwoÿ, Sanità),

I nie da si¦ aproksymowa¢ metrycznego problemu drzewa Steinera ze

wspóªczynnikiem ≥

9695

o ile P 6= NP (Bern and Plassmann, Chlebík i

Chlebíkowá)

(9)

Problem Komiwoja»era

Problem Komiwoja»era:

Wej±cie: Graf wa»ony G = (V , c).

Wyj±cie: Cykl Hamiltona o minimalnym koszcie.

W przypadku problemu komiwoja»era, wersja ogólna ró»ni si¦ istotnie od wersji

metrycznej.

(10)

Problem Komiwoja»era

Dla dowolnej funkcji wielomianowo obliczalnej α : N → N, problem komiwojazera nie posiada algorytmu α(n)-aproksymuj¡cego.

Dowód:

I Wyka»emy, »e je»eli istnieje algorytm α(n)-aproksymacyjny dla problemu komiwoja»era, to problem cyklu Hamiltona mo»na rozwi¡za¢ w wielomianowym czasie.

I Niech G = (V , E) b¦dzie instancj¡ wej±ciow¡ dla problemu cyklu Hamiltona.

I Konstruujemy graf wa»ony G

0

= ( V , c

0

) , gdzie c

0

( u, v) =

 1 ( u, v) jest kraw¦dzi¡ w G, nα(n) w przeciwnym przypadku.

I Šatwo zauwa»y¢, »e G posiada cykl Hamiltona wtedy i tylko wtedy, gdy G

0

posiada tras¦ komiwoja»era o wadze 6 n. G nie posiada cyklu Haniltona wtedy i tylko wtedy, gdy minimalna trasa komiwoja»era w G

0

jest wi¦ksza od α(n) · n.

I Algorytm α(n)-aproksymacyjny dla problemu komiwoja»era rozwi¡zywaªby

zatem w wielomianowym czasie problem cyklu Hamiltona.

(11)

Metryczny Problem Komiwoja»era

Algorytm:

I znajd¹ minimalne drzewo rozpinaj¡ce T w grae wa»onym G = (V , c), I podwój kraw¦dzie T i otrzymaj graf eulerowski E,

I zwró¢ nastepuj¡c¡ tras¦ komiwoja»era: startuj¡c od dowolnego wierzchoªka v przejd¹ po cyklu Eulera na kraw¦dziach z E opuszczaj¡c wierzchoªki, które zostaªy ju» wcze±niej odwiedzone, zatrzymaj si¦ w v.

Powy»szy algorytm jest algorytmem 2-aproksymacyjnym:

I waga T jest mniejsza b¡d¹ równa optymalnej trasie komiwoja»era OPT , I waga E jest mniejsza b¡d¹ równa 2 · OPT ,

I z metryczno±ci G, waga zwróconej trasy komiwoja»era jest mniejsza b¡d¹ równa

od wagi cyklu Eulera E.

(12)

Metryczny Problem Komiwoja»era - algorytm Christodesa

Algorytm:

I znajd¹ minimalne drzewo rozpinaj¡ce T w grae wa»onym G = (V , c), I niech V

0

b¦dzie zbiorem wierzchoªków, które w T maj¡ nieparzysty stopie« (jest

ich zawsze parzy±cie wiele),

I niech M b¦dzie minimalnym dopasowaniem w grae indukowanym przez V

0

, I zauwa», »e E = M ∪ T jest grafem eulerowskim w G,

I zwró¢ nastepuj¡c¡ tras¦ komiwoja»era: startuj¡c od dowolnego wierzchoªka v przejd¹ po cyklu Eulera na kraw¦dziach z E opuszczaj¡c wierzchoªki, które zostaªy ju» wcze±niej odwiedzone, zatrzymaj si¦ w v.

Powy»szy algorytm jest algorytmem

32

-aproksymacyjnym:

I waga T jest mniejsza b¡d¹ równa optymalnej trasie komiwoja»era OPT , I waga M jest mniejsza b¡d¹ równa

12

· OPT ,

I z metryczno±ci G, waga zwróconej trasy komiwoja»era jest mniejsza b¡d¹ równa

od wagi cyklu Eulera E.

(13)

Metryczny Problem Komiwoja»era

Aktualny stan wiedzy:

I najlepszy znany algorytm ma wspóªczynnik aproksymacji

32

(Christodes), I nie istnieje algorytm

220219

-aproksymacyjny o ile P 6= NP (Papadimitriou,

Vempala).

(14)

Schematy aproksymacji  PTAS i FPTAS

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).

(15)

Problem plecakowy

Problem Plecakowy:

Wej±cie: Zbiór n przedmiotów a

1

, . . . , a

n

, ka»dy z nich ma rozmiar size(a

i

) oraz warto±¢ prot(a

i

) , dopuszczalny rozmiar plecaka B.

Wyj±cie: Maksymalna ª¡czna warto±¢ (zysk) przedmiotów o rozmiarze 6 B.

(16)

Algorytmy pseudowielomianowe i problemy silnie NP-trudne

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 wej±ciu kodowane s¡ w systemie unarnym.

Problem P nazywamy problemem silnie NP-trudnym je»eli jest NP-trudny nawet w przypadku, gdy liczby na wej±ciu kodowane s¡ w sposób unarny.

Problemy silnie NP-trudne nie maj¡ algorytmów pseudowielomianowych.

(17)

Pseudowielomianowy algorytm dla problemu plecakowego

Niech:

I P  maksymalna warto±¢ obiektu w {a

1

, . . . , a

n

} .

I S[i, p]  podzbiór {a

1

, . . . , a

i

} o najmniejszym rozmiarze daj¡cy zysk p, I A[i, p]  sumaryczny rozmiar S

i,p

.

Tablic¦ A[i, p] mo»emy obliczy¢ w czasie O(n

2

P) zgodnie z reguª¡:

A[i+1, p] =

 min{A[i, p], size(a

i+1

) + A[i, p − prot(a

i+1

)]} je»eli prot(a

i+1

) 6 p A[i, p] w p.p.

Maksymalny mo»liwy zysk dla przedmiotów o ª¡cznym rozmiarze nie przekraczaj¡cym B jest równy max{p : A[n, p] 6 B}.

Powy»szy algorytm jest algorytmem pseudowielomianowym dla problemu plecakowego.

(18)

FPTAS dla problemu plecakowego

FPTAS dla problemu plecakowego:

I Dla danego  > 0, niech K ≈

nP

(niech K b¦dzie pot¦g¡ 2).

I Dla ka»dego przedmiotu a

i

niech prot

0

( a

i

) = b

prot(aK i)

c .

I Korzystaj¡c z programowania dynamicznego, znajd¹ najkorzystniejszy zbiór S

0

dla problemu plecakowego z zyskami prot

0

( a

i

) .

I Wypisz zysk S

0

.

Uwagi:

I je»eli K = 2

l

, to prot

0

( a

i

) otrzymujemy z prot(a) przez skre±lenie l ostatnich liczb z rozwini¦cia dwójkowego prot(a

i

) ,

I prot

0

( a

i

) 6 O(n ·

1

) ,

I algorytm dziaªa w czasie O(n

3

·

1



) .

(19)

FPTAS dla problemu plecakowego

Lemat

prot(S

0

) ≥ ( 1 − ) · OPT . Proof:

I O - zbiór obiektów z optymalnym zyskiem, I prot(O) − K · prot

0

( O) 6 nK,

I Mamy:

prot(S

0

) ≥ K · prot

0

( O)

≥ prot(O) − nK

≈ OPT − P

≥ ( 1 − ) · OPT .

(20)

Silna NP-zupeªno±¢ a istnienie FPTAS

Twierdzenie

Niech p b¦dzie wielomianem i niech P b¦dzie NP-trudnym problemem minimalizacji z funkcj¡ celu f . Zaªó»my, »e f przyjmuje warto±ci caªkowite oraz, »e OPT (I ) < p(|I |) gdy instancja I kodowana jest unarnie. Je»eli istnieje FPTAS dla P, to istnieje algorytm pseudowielomianowy dla P.

Dowód:

I Niech I b¦dzie instancj¡ wej±ciow¡ problemu P, kodowan¡ w sposób unarny.

I Zauwa», »e algorytm FPTAS A dla  =

2p(|I |)1

rozwi¡zuje problem P dokªadnie.

I Czas dziaªania A dla  =

2p(|I |)1

jest wielomianowy od |I |.

Wniosek: Naturalne problemy silnie NP-trudne nie maj¡ FPTAS.

(21)

Euklidesowy Problem Komiwoja»era

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.

Cytaty

Powiązane dokumenty

najmniejszy do±¢ trudny graf (najmniejszy graf dla którego algorytm mo»e uzy¢ wiecej kolorów ni» χ(g))  droga P 4. nie istnieje graf trudny (najmniejszy graf dla którego

Liczbę naturalną n nazwiemy szczęśliwą, jeżeli istnieją takie dwa trójkąty równoboczne o bokach długości całkowitej, że jeden trójkąt ma pole większe o n% od pola

[r]

• Pami¦tajmy, dªugo±¢ stringu to jest ilo±¢ jego znaków, a rozmiar stringu (jako tablicy) jest zawsze o 1 wi¦kszy.... • Je»eli string inicjalizujemy od razu w momencie

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

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

Nietrudno jest zauwa»y¢, »e odwzorowanie tak okre±lone jest bijekcj¡ ze zbioru wszystkich kraw¦dzi wstecznych w zbiór wszystkich trójk¡tów T dla których X T

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