• Nie Znaleziono Wyników

Algorytmika Problemów Trudnych Wykªad 3

N/A
N/A
Protected

Academic year: 2021

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

Copied!
27
0
0

Pełen tekst

(1)

Algorytmika Problemów Trudnych

Wykªad 3 Tomasz Krawczyk

krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2020/21

(2)

plan wykªadu

I Algorytmy rozgaª¦ziaj¡ce si¦ (Branching Algorithms).

I Algorytmy wykªadnicze:

I Pokrycie wierzchoªkowe.

I Minimalny zbiór rozcyklaj¡cy (Measure & Conquer).

I Algorytmy parametryzowane:

I Minimalny zbiór rozcyklaj¡cy.

I Minimalne pokrycie wierzchoªkowe powy»ej LP.

(3)

Algorytmy rozgaª¦ziaj¡ce si¦

Algorytmy rozgaª¦ziaj¡ce si¦:

I dekomponujemy problem na podproblemy prostsze (branching), I rozwi¡zujemy podproblemy,

I zwracamy najlepsze rozwi¡zanie podproblemu i uzasadniamy, »e jest to dobre rozwi¡zanie problemu wyj±ciowego,

Proces rozgaª¦zie« algorytmu  drzewo rozgaª¦zie« (podziaªów na podproblemy).

Czas dziaªania algorymu rozgaª¦ziaj¡cego mo»na ograniczy¢ przez:

liczba w¦zªów w drzewie × czas dziaªania dla pojedynczego w¦zªa, bad¹ liczba li±ci w drzewie × sumaryczny czas na ±cie»ce od korzenia do li±cia.

Drugi czynnik w powy»szych wyra»eniach jest cz¦sto wielomianowy od rozmiaru wej±cia. W takim przypadku, czas dziaªania: O(liczba w¦zªów) b¡d¹ O(liczba li±ci).

(4)

Minimalne pokrycie

Spostrze»enie:

Dla ka»dego wierzchoªka v stopnia ≥ 2, albo v albo N(v) jest w minimalnym pokryciu.

Algorytm minVC(G):

I if exists v ∈ V with d(v) = 0 return minVC(G \ v), I if exists v ∈ V with d(v) = 1 return 1 + minVC(G \ N[v]), I if d(v) ≥ 2 for all v ∈ V :

I choose any vertex v (with degree ≥ 2) of G,

I return max(1+minVC(G \ v), |N(v)| + minVC(G \ N[v])) T (n)  oszacowanie górne na liczb¦ li±ci drzewa przeszukiwa« dla instancji wej±ciowej rozmiaru n.

T (n) 6 T (n − 1) + T (n − 3)

(5)

Szacowanie T (n)

I Rekurencja: T (n) = T (n − 1) + T (n − 3),

I poszukujemy λ takiego, »e T (n) 6 c · λn dla pewnego n,

I poka»emy, »e najmniejsze λ ≥ 0 speªniaj¡ce λ3≥ λ2+1 jest dobre, a wi¦c λ = 1.4656...

Dowód indukcyjny:

I zakªadamy, »e T (n − 1) 6 c · λn−1 oraz T (n − 3) 6 c · λn−3, I Wtedy:

T (n) 6 T (n−1)+T (n−3) 6 c ·λn−1+c ·λn−36 c ·λn−32+1) 6 c ·λn.

(6)

Algorytmy rozgaª¦ziaj¡ce si¦ - wektor rozgaª¦zie«

Analiza czasu dziaªania  przypadek ogólny:

I n  rozmiar zadania,

I n − d1, . . . ,n − dk - rozmiar k podzada«, d16 d26 . . . 6 dk =d I (d1, . . . ,dk) wektor rozgaª¦zie« (branching vector)

Rekursja na liczb¦ li±ci drzewa rozgaª¦zie«:

T (n) 6 T (n − d1) + . . . +T (n − dk).

Wtedy T (n) 6 c · λn, gdzie λ jest dodatnim miejscem zerowym wielomianu λd− λd−d1− . . . − λd−dk−1−1 = 0.

Wielomian W (x) = akxk−ak−1xk−1− . . . −a0x0, gdzie ak,a0>0 oraz ai ≥0 dla i = 1, . . . , k − 1, w przedziale [0, ∞) ma jedno miejsce zerowe  λ.

Ponadto, W (x) < 0 dla 0 6 x < λ oraz W (x) > 0 dla x > λ.

Dowód indukcyjny. Pochodna W (x) ma posta¢ W (x) = ak·k · xk−1b¡d¹ te»

jest postaci xc·P(x), gdzie P speªnia takie same zaªo»enia jak wielomian W .

(7)

Minimalne pokrycie raz jeszcze

Spostrze»enie:

Dla ka»dego wierzchoªka v stopnia ≥ 2, albo v albo N(v) jest w minimalnym pokryciu.

minVC(G):

I if exists v ∈ V with d(v) = 0 return minVC(G \ v), I if exists v ∈ V with d(v) = 1 return 1 + minVC(G \ N[v]), I if d(v) 6 2 for all v ∈ V : solve in time polynomial in n, I if exist v ∈ V with d(v) ≥ 3:

I choose a vertex v of maximum degree in G,

I return max(1+minVC(G \ v), |N(v)| + minVC(G \ N[v])) Dla tego algorytmu wektor rozgaª¦zie« wynosi (1, 4), który jest istotnie lepszy ni» (1, 3). Poprawia czas dziaªania z O(1.4656n)do O(1.3803n).

Wzmocniona analiza czasu dziaªania tego algorytmu daje O(1.2905n).

(8)

Minimalne pokrycie  historia

Minimalne pokrycie  maksymalny zbiór niezale»ny w n wierzchoªkowym grae (problemy równowa»ne)

Historia:

I O(1.26n) Tarjan, Trojanowski, I O(1.2346n) Jian,

I O(1.2278n) Robson,

I O(1.2202n) Fomin, Grandoni, Kratsch, I O(1.2132n) Kneis, Langer, Rossmanith,

I O(1.2114n) Bourgeois, Escoer, Paschos, van Rooij

Przy zaªo»eniu ETH, istnieje granica tego ci¡gu, tzn. istnieje c > 1 takie, »e minimalnego pokrycia nie mozna zrobi¢ szybciej niz O?(cn).

ETH nie pozwala na wskazanie staªej c.

(9)

Minimalne pokrycie  historia

Minimalne pokrycie  maksymalny zbiór niezale»ny w n wierzchoªkowym grae (problemy równowa»ne)

Historia:

I O(1.26n) Tarjan, Trojanowski, I O(1.2346n) Jian,

I O(1.2278n) Robson,

I O(1.2202n) Fomin, Grandoni, Kratsch, I O(1.2132n) Kneis, Langer, Rossmanith,

I O(1.2114n) Bourgeois, Escoer, Paschos, van Rooij

Przy zaªo»eniu ETH, istnieje granica tego ci¡gu, tzn. istnieje c > 1 takie, »e minimalnego pokrycia nie mozna zrobi¢ szybciej niz O?(cn).

ETH nie pozwala na wskazanie staªej c.

(10)

Minimalne pokrycie  historia

Minimalne pokrycie  maksymalny zbiór niezale»ny w n wierzchoªkowym grae (problemy równowa»ne)

Historia:

I O(1.26n) Tarjan, Trojanowski, I O(1.2346n) Jian,

I O(1.2278n) Robson,

I O(1.2202n) Fomin, Grandoni, Kratsch, I O(1.2132n) Kneis, Langer, Rossmanith,

I O(1.2114n) Bourgeois, Escoer, Paschos, van Rooij

Przy zaªo»eniu ETH, istnieje granica tego ci¡gu, tzn. istnieje c > 1 takie, »e minimalnego pokrycia nie mozna zrobi¢ szybciej niz O?(cn).

ETH nie pozwala na wskazanie staªej c.

(11)

minimalny zbiór rozcyklaj¡cy

Zbiorem rozcyklaj¡cymgrafu G nazywamy zbiór wierzchoªków, który ma niepuste przeci¦cie z ka»dym cyklem grafu G.

Innymi sªowy, usuni¦cie zbioru rozcyklaj¡cego sprawia, »e graf staje si¦

drzewem.

Problem

Wej±cie: (G, k).

Wyj±cie: TAK je»eli w grae G istnieje zbiór rozcyklaj¡cy o mocy 6 k.

Poka»emy algorytm o czasie dziaªania O((3k)knO(1)), a zatem problem ten jest FPT.

Istnieje algorytm kernelizacji konstruuj¡cy j¡dro rozmiaru O(k2).

(12)

Minimalny zbiór rozcyklaj¡cy

Idea:

I skoro po usuni¦ciu graf ma by¢ drzewem, to trzeba usuwa¢ pewne wierzchoªki o wysokim stopniu.

Preprocessing:

I usu« wierzchoªki izolowane, stopnia 1, oraz stopnia 2, i zwró¢ instancj¦

równowa»n¡, w której ka»dy wierzchoªek ma stopie« przynajmniej 3 (by¢

mo»e istniej¡ kraw¦dzie dwukrotne mi¦dzy par¡ wierzchoªków).

Dla instancji po preprocessingu mamy 2|E| ≥ 3|V |.

(13)

Minimalny zbiór rozcyklaj¡cy

I v1,v2, . . . ,vn  porz¡dek wierzchoªków grafu G taki, »e d(v1) ≥d(v2) ≥ . . . ≥d(vn).

I Poka»emy, »e ka»dy zbiór X przecinaj¡cy wszystkie cykle rozmiaru co najwy»ej k zawiera jeden z 3k pierwszych elementów ci¡gu v1, . . . ,vn. I Algorytm sprawdza ka»d¡ z 3k mo»liwo±ci, wywoªuj¡c si¦ rekurencyjnie

dla ka»dej mo»liwo±ci. Gª¦boko±ci rekursji ograniczamy przez k.

I Czas dziaªania algorytmu: O((3k)knO(1)).

(14)

Minimalny zbiór rozcyklaj¡cy

Wyka»emy, »e je»eli X jest zbiorem przecinaj¡cym wszystkie cykle, to:

X

v∈X

(d(v) − 1) ≥ |E| − |V | + 1.

Nierówno±¢ ta wynika z nierówno±ci:

X

v∈X

d(v) + (|V | − |X | − 1) ≥ |E|,

która wynika z faktu, i» ka»da kraw¦d¹ grafu albo przylega do elementu z X albo jest kraw¦dzi¡ z lasu rozpi¦tego na wierzchoªkach V \ X .

(15)

Minimalny zbiór rozcyklaj¡cy

Dla ka»dego zbioru X przecinaj¡cego wszystkie cykle mamy X

v∈X

(d(v) − 1) ≥ |E| − |V | + 1.

Zaªó»my, »e zbiór X rozmiaru 6 k nie ma cz¦±ci wspólnej z {v1, . . . ,v3k}. Policzmy Pv∈V(d(v) − 1). Mamy:

P

v∈V(d(v) − 1) = P3ki=1(d(vi) −1) + Pni=3k+1(d(vi) −1)

≥ 3(|E| − |V | + 1) + (|E| − |V | + 1)

≥ 4(|E| − |V | + 1).

Ale Pv∈V(d(v) − 1) = 2|E| − |V |. Ostatecznie 2|E| − |V | ≥ 4|E| − 4|V | + 4, co implikuje 3|V | ≥ 2|E| + 4, to za± jest sprzeczne z 3|V | 6 2|E|.

(16)

Minimalne pokrycie ponad vc

( G)

Rozwa»my relaksacj¦ problemu minimalnego pokrycia LPVC(G) dla grafu G:

minX xi

x(i) + x(j) ≥ 1 dla ka»dej kraw¦dzi {i, j}

x(i) ≥ 0

Niech:

I x(i), vc(G)  rozwi¡zanie optymalne LPVC(G), I vc(G)  minimalne pokrycie G.

Oczywi±cie,

vc(G) 6 vc(G).

(17)

Minimalne pokrycie ponad vc

( G)

Nie istnieje pokrycie wierzchoªkowe G rozmiaru 0, 1, . . . , dvc(G)e − 1, ale mo»e ju» istnie¢ rozmiaru dvc(G)e, dvc(G)e + 1, . . . , n.

Parmatryzacja powy»ej LP:

Dla pary (G, µ) pytamy czy istnieje pokrycie wierzchoªkowe rozmiaru co najwy»ej vc(G) + µ. Czy problem ten jest FPT?

Inaczej: Czy istnieje pokrycie wierzchoªkowe rozmiaru k, gdzie k = vc(G) + µ.

Poszukujemy algorytmu o zªo»ono±ci

f (µ) · nO(1).

(18)

pokrycie wierzchoªkowe  j¡dro rozmiaru 6 2k

Niech {x(v) : v ∈ V } b¦dzie rozwi¡zaniem optymalnym póªcaªkowitym, tzn.

takim, »e x(v) ∈ {0,12,1}. Deniujemy:

V0 = {v : xv=0}, V1

2 = {v : xv=12}, V1 = {v : xv=1}.

Wykazali±my, »e w zbiorze minimalnych (na liczno±¢) pokry¢ wierzchoªkowych G istnieje pokrycie S takie, »e

V1⊂S ⊂ V1∪V1 2.

(19)

pokrycie wierzchoªkowe  reguªa redukcji

Redukcja: Rozwi¡» LPVC(G). Oblicz V0,V1

2,V1i je»eli V16= ∅zwró¢

równowa»n¡ instancj¦ (V1

2,k − |V1|).

Niech G0=G[V1

2]. Zauwa»my, »e:

vc(G) = vc(G0) + |V1|, vc(G) = vc(G0) + |V1|.

W konsekwencji:

G posiada pokrycie wierzchoªkowe rozmiaru vc(G) + µ wtedy i tylko wtedy, gdy

G0posiada pokrycie wierzchoªkowe rozmiaru vc(G0) + µ.

(20)

Minimalne pokrycie

Minimalne pokrycie ponad LP:

I je»eli istnieje rozwi¡zanie póªcaªkowite LPVC(G) takie, »e V16= ∅, wykonaj redukcj¦ i wywoªaj si¦ na podzadaniu mniejszym (parametr µ pozostaje bez zmian);

I w przeciwnym przypadku (ka»de rozwi¡zanie optymalne programu liniowego jest postaci x(v) = 12 dla ka»dego v), wybierz dowolny v ∈ V i wywoªaj si¦ rekurencyjnie, rozgaª¦ziaj¡c si¦ na dwa przypadki:

I v idzie do pokrycia. Zredukowana instancja to (G − v, k − 1) (parametr µ zmniejsza si¦ o 12),

I N(v) idzie do pokrycia. Zredukowana instancja to (G − N[v], k − |N(v)|) (parametr µ zmniejsza si¦ przynajmniej o 12).

(21)

Minimalne pokrycie ponad LP - analiza algorytmu

Šatwo sprawdzi¢, czy jedynym rozwi¡zaniem programowania liniowego jest x(v) =12 dla ka»dego v ∈ V .

Istnieje rozwi¡zanie optymalne LPVC(G) w którym x(v) = 1.

m

Istnieje v takie, »e rozwi¡zanie optymalne LPVC(G − v) ma koszt o 1 mniejszy.

Powy»szy warunek mo»na sprawdzi¢ w czasie n × m√ n.

(22)

Minimalne pokrycie ponad LP - analiza algorytmu

Prze±led¹my zmian¦ parametru µ = k − vcw przypadku, gdy algorytm rozgaª¦zia si¦:

I v idzie do pokrycia, zredukowana instancja to (G − v, k − 1):

I parametr k spada o 1,

I vco 12, (w p.p., rozwi¡zanie poszerzone o x(v) = 1 jest optymalnym rozwi¡zaniem LPVC(G) z V16= ∅)

I µspada o 12.

I N(v) idzie do pokrycia, zredukowana instancja to (G − N[v], k − |N(v)|):

I parametr k spada o |N(v)|,

I vco |N(v)| −12 b¡d¹ mniej (w p.p., rozwi¡zanie poszerzone o x(w) = 1 dla w ∈ N(v) jest optymalnym rozwi¡zaniem LPVC(G) z V16= ∅)

I µspada przynajmniej o 12.

W obu przypadkach, µ = k − vczmiejsza si¦ przynajmniej o 12.

(23)

Minimalne pokrycie ponad vc

( G) - analiza algorytmu

Czas dziaªania:

I liczba li±ci w drzewie ograniczona T (µ) 6 2T (µ −12), co daje T (µ) = 4µ. I dªugo±¢ ka»dej ±cie»ki od korzenia w drzewie do li±cia jest ograniczona

przez n,

I czas dziaªania algorytmu w ka»dym w¦¹le jest ograniczony przez nO(1). Ogólnie, czas dziaªania algorytmu na instancji (G, µ) jest ograniczony przez:

4µnO(1).

Problem jest wi¦c FPT w zale»no±ci od parametru µ = k − vc(G).

(24)

Minimalne pokrycie powy»ej maksymalnego dopasowania

Niech M(G) b¦dzie dopasowaniem o maksymalnej liczno±ci w G. Poniewa»

|M(G)| ≥ vc(G), mamy równie» algorytm sprawdzaj¡cy czy istnieje pokrycie wierzchoªkowe rozmiaru k w grae G dziaªaj¡cy w czasie

4k−|M(G)|nO(1).

(25)

Aplikacja  minimalny zbiór przecinaj¡cy wszystkie cykle nieparzystej dªugo±ci

Problem

Wej±cie: G, k.

Wyj±cie: TAK wtedy i tylko wtedy, gdy istnieje zbiór k wierzchoªków, które przecinaj¡ wszystkie cykle nieparzystej dªugo±ci w G?

Niech G b¦dzie grafem skªadaj¡cym si¦ z dwóch kopii grafu G: G0 i G00oraz dopasowania doskonaªego ª¡cz¡cego te same elementy z ró»nych kopii.

Fakt

G ma zbiór k wierzchoªków przecinaj¡cych wszystkie cykle nieparzystej dªugo±ci

m Gma pokrycie wierzchoªkowe rozmiaru n + k.

Ostatni warunek mo»na sprawdzi¢ w czasie 4n+k−nnO(1)=4knO(1). Problem jest wi¦c w klasie FPT.

(26)

Aplikacja

Fakt

G ma zbiór k wierzchoªków przecinaj¡cych wszystkie cykle nieparzystej dªugo±ci

m Gma pokrycie wierzchoªkowe rozmiaru n + k.

Oznaczenie. X  zbiór w G, X0  odpowiadaj¡cy mu zbiór w G0.

Dowód. Zaªó»my, »e X jest zbiorem przecinaj¡cym wszystkie cykle w G. Wtedy G − X jest dwudzielny. Niech A, B b¦d¡ klasami dwudzielno±ci G − X . Šatwo sprawdzi¢, »e X ∪ X0A ∪ B0jest pokryciem rozmiaru n + k w grae G0.

Zaªó»my, »e Gma pokrycie VC rozmiaru n + k. Dokªadnie k kraw¦dzi dopasowania ª¡cz¡cego G i G0ma dwa ko«ce w VC. Oznaczmy te elementy w G przez X , przez A [B] te elemenety a z G których pokryty koniec kraw¦dzi aa0 le»y w G [G0]. Nietrudno sprawdzi¢, »e A ∪ B indukuje graf dwudzielny w G. G ma wi¦c ziór przecinaj¡cy cykle wszystkie nieparzyste dªugo±ci rozmiaru 6 k.

(27)

Problemy modykacji grafów

Problem

C klasa grafów.

Wej±cie: (G, k).

Wyj±cie: TAK wtedy i tylko wtedy, gdy na grae k mo»na dokona¢ k modykacji tak, aby przeksztaªci¢ go w graf z klasy C.

Zazwyczaj rozwa»a si¦ nastepuj¡ce modykacje:

I usuni¦cie wierzchoªka,

I dodanie nowej kraw¦dzi do grafu, I usuni¦cie kraw¦dzi z grafu, oraz ich kombinacje.

Przykªady

I Minimalne pokrycie wierzchoªkowe  sprowadzenie grafu do zbioru niezale»nego, gdzie dozwolon¡ modykacj¡ jest usuni¦cie wierzchoªka.

I Minimalny zbiór rozcyklaj¡cy  sprowadzenie grafu do lasu, gdzie dozwolon¡

modykacj¡ jest usuni¦cie wierzchoªka.

Cytaty

Powiązane dokumenty

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

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