• Nie Znaleziono Wyników

Algorytmika Problemów Trudnych Wykªad 2

N/A
N/A
Protected

Academic year: 2021

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

Copied!
42
0
0

Pełen tekst

(1)

Algorytmika Problemów Trudnych

Wykªad 2 Tomasz Krawczyk

krawczyk@tcs.uj.edu.pl

Kraków, semestr letni 2020/21

(2)

plan wykªadu

I Algorytmy parametryzowane.

I Algorytmy kernelizacji.

I Przykªady algorytmów kernelizacji dla problemów:

I

pokrycia wierzchoªkowego grafu.

I

zbioru przecinaj¡cego wszystkie cykle w turnieju.

(3)

Zªo»ono±¢ Parametryzowana

Analizuj¡c algorytmy parametryzowane badamy ich zªo»ono±¢ czasow¡ w zale»no±ci nie tylko od wielko±ci instancji wej±ciowej (np. grafu) ale równie» w zale»no±ci od innych parametrów (czasami wynikaj¡cych z wej±cia lub implicite danych na wej±ciu).

Parametrem mo»e by¢:

I stopie« `skomplikowania' instancji wej±ciowej (np. szeroko±¢ drzewowa grafu),

I rozmiar rozwi¡zania, które nas ju» zadowala.

(4)

Problemy parametryzowane

Problem parametryzowany to j¦zyk L ⊂ Σ

× N, gdzie Σ jest ustalonym sko«czonym j¦zykiem. Dla pary (x, k) ∈ L:

I x nazywamy instancj¡ wej±ciow¡ (x opisuje np. graf), I k nazywamy parametrem.

Mo»na rozwa»a¢ przypadki, w których j¦zyk L zawiera wi¦cej parametrów.

(5)

Problemy FPT (Fixed Parameter Tractable)

Parametryzowany problem L jest w klasie FPT (ang. xed parameter

tractable) je»eli istnieje algorytm testuj¡cy przynale»no±¢ (x, k) do L dziaªaj¡cy

w czasie f (k)(|x|)

c

, gdzie f jest pewn¡ funkcj¡ obliczaln¡ a c jest pewn¡ staª¡.

(6)

Przykªady problemów parametryzowanych

I (G, k): graf G jest k-kolorowalny?

(nie jest FPT o ile P 6= NP), I ( G, k): graf G ma pokrycie wierzchoªkowe rozmiaru k (jest FPT), I ( T , k): turniej T ma k kraw¦dzi, które przecinaj¡ wszystkie cykle turnieju

(Feedback Arc Set in Tournaments), (jest FPT),

I (G, k): graf G ma klik¦ rozmiaru k (nie jest FPT, ale musimy mie¢

mocniejsze zaªo»enie zªo»ono±ciowe ni» P 6= NP, wystarczy ETH).

(7)

Przykªady problemów parametryzowanych

I (G, k): graf G jest k-kolorowalny? (nie jest FPT o ile P 6= NP),

I ( G, k): graf G ma pokrycie wierzchoªkowe rozmiaru k (jest FPT), I ( T , k): turniej T ma k kraw¦dzi, które przecinaj¡ wszystkie cykle turnieju

(Feedback Arc Set in Tournaments), (jest FPT),

I (G, k): graf G ma klik¦ rozmiaru k (nie jest FPT, ale musimy mie¢

mocniejsze zaªo»enie zªo»ono±ciowe ni» P 6= NP, wystarczy ETH).

(8)

Przykªady problemów parametryzowanych

I (G, k): graf G jest k-kolorowalny? (nie jest FPT o ile P 6= NP), I ( G, k): graf G ma pokrycie wierzchoªkowe rozmiaru k

(jest FPT), I ( T , k): turniej T ma k kraw¦dzi, które przecinaj¡ wszystkie cykle turnieju

(Feedback Arc Set in Tournaments), (jest FPT),

I (G, k): graf G ma klik¦ rozmiaru k (nie jest FPT, ale musimy mie¢

mocniejsze zaªo»enie zªo»ono±ciowe ni» P 6= NP, wystarczy ETH).

(9)

Przykªady problemów parametryzowanych

I (G, k): graf G jest k-kolorowalny? (nie jest FPT o ile P 6= NP), I ( G, k): graf G ma pokrycie wierzchoªkowe rozmiaru k (jest FPT),

I ( T , k): turniej T ma k kraw¦dzi, które przecinaj¡ wszystkie cykle turnieju (Feedback Arc Set in Tournaments), (jest FPT),

I (G, k): graf G ma klik¦ rozmiaru k (nie jest FPT, ale musimy mie¢

mocniejsze zaªo»enie zªo»ono±ciowe ni» P 6= NP, wystarczy ETH).

(10)

Przykªady problemów parametryzowanych

I (G, k): graf G jest k-kolorowalny? (nie jest FPT o ile P 6= NP), I ( G, k): graf G ma pokrycie wierzchoªkowe rozmiaru k (jest FPT), I ( T , k): turniej T ma k kraw¦dzi, które przecinaj¡ wszystkie cykle turnieju

(Feedback Arc Set in Tournaments),

(jest FPT),

I (G, k): graf G ma klik¦ rozmiaru k (nie jest FPT, ale musimy mie¢

mocniejsze zaªo»enie zªo»ono±ciowe ni» P 6= NP, wystarczy ETH).

(11)

Przykªady problemów parametryzowanych

I (G, k): graf G jest k-kolorowalny? (nie jest FPT o ile P 6= NP), I ( G, k): graf G ma pokrycie wierzchoªkowe rozmiaru k (jest FPT), I ( T , k): turniej T ma k kraw¦dzi, które przecinaj¡ wszystkie cykle turnieju

(Feedback Arc Set in Tournaments), (jest FPT),

I (G, k): graf G ma klik¦ rozmiaru k (nie jest FPT, ale musimy mie¢

mocniejsze zaªo»enie zªo»ono±ciowe ni» P 6= NP, wystarczy ETH).

(12)

Przykªady problemów parametryzowanych

I (G, k): graf G jest k-kolorowalny? (nie jest FPT o ile P 6= NP), I ( G, k): graf G ma pokrycie wierzchoªkowe rozmiaru k (jest FPT), I ( T , k): turniej T ma k kraw¦dzi, które przecinaj¡ wszystkie cykle turnieju

(Feedback Arc Set in Tournaments), (jest FPT), I (G, k): graf G ma klik¦ rozmiaru k

(nie jest FPT, ale musimy mie¢

mocniejsze zaªo»enie zªo»ono±ciowe ni» P 6= NP, wystarczy ETH).

(13)

Przykªady problemów parametryzowanych

I (G, k): graf G jest k-kolorowalny? (nie jest FPT o ile P 6= NP), I ( G, k): graf G ma pokrycie wierzchoªkowe rozmiaru k (jest FPT), I ( T , k): turniej T ma k kraw¦dzi, które przecinaj¡ wszystkie cykle turnieju

(Feedback Arc Set in Tournaments), (jest FPT),

I (G, k): graf G ma klik¦ rozmiaru k (nie jest FPT, ale musimy mie¢

mocniejsze zaªo»enie zªo»ono±ciowe ni» P 6= NP, wystarczy ETH).

(14)

Algorytm FPT dla pokrycia wierzchoªkowego

Alg(G,k)  sprawdza, czy graf ma pokrycie wierzchoªkowe rozmiaru k.

I if G = ∅ return YES, I if k = 0 return;

I if G has an edge e = {u, v}:

I

return Alg(G \ u,k − 1)

I

return Alg(G \ v,k − 1)

Komentarz:

I czas dziaªania O(2

k

· n) (ale mo»na szybciej), jest wi¦c FPT,

I powy»szy algorytm nale»y do grupy algorytmów rozgaª¦ziaj¡cych si¦ (ang.

branching algorithms ).

(15)

Algorytm FPT dla pokrycia wierzchoªkowego

Alg(G,k)  sprawdza, czy graf ma pokrycie wierzchoªkowe rozmiaru k.

I if G = ∅ return YES, I if k = 0 return;

I if G has an edge e = {u, v}:

I

return Alg(G \ u,k − 1)

I

return Alg(G \ v,k − 1)

Komentarz:

I czas dziaªania O(2

k

· n) (ale mo»na szybciej), jest wi¦c FPT,

I powy»szy algorytm nale»y do grupy algorytmów rozgaª¦ziaj¡cych si¦ (ang.

branching algorithms ).

(16)

kernelizacja

Algorytm kernelizacji dla problemu parametryzowanego Q ⊂ Σ

× N to algorytm, który maj¡c na wej±ciu (x, k) ∈ Σ

× N w czasie wielomianowym od (|x| + k) zwróci par¦ (x

0

, k

0

) tak¡, »e:

I ( x, k) ∈ Q wtedy i tylko wtedy, gdy (x

0

, k

0

) ∈ Q, I |x

0

|, k

0

6 g (k) dla pewnej funkcji obliczalnej g .

Zredukowana instancja (x

0

, k

0

) to j¡dro dla problemu (x, k) rozmiaru g(k).

Kernelizacja to proces polegaj¡cy na redukowaniu (w czasie wielomianowym) instancji wej±ciowej (x, k) do instancji równowa»nej o rozmiarze ograniczonym funkcj¡ parametru k.

Zakªadaj¡c, »e k jest zapisane w sposób unarny, algorytmy kernelizacji s¡

wielomianowe od rozmiaru wej±cia.

(17)

kernelizacja vs FPT

Twierdzenie

Niech Q b¦dzie rozstrzygalnym problemem parametryzowanym. Q jest w klasie FPT wtedy i tylko wtedy, gdy Q posiada algorytm kernelizacji.

Je»eli problem Q posiada algorytm kernelizacji, to jest FPT. Algorytm FPT:

I zredukuj instancj¦ wej±ciow¡ (x, k) w czasie wielomianowym do instancji równowa»nej (x

0

, k

0

) rozmiaru g(k),

I rozstrzygnij, czy (x

0

, k

0

) jest w L (czas ograniczony pewn¡ funkcj¡ k

0

).

(18)

kernelizacja vs FPT

Twierdzenie

Niech Q b¦dzie rozstrzygalnym problemem parametryzowanym. Q jest w klasie FPT wtedy i tylko wtedy, gdy Q posiada algorytm kernelizacji.

Je»eli problem Q posiada algorytm kernelizacji, to jest FPT.

Algorytm FPT:

I zredukuj instancj¦ wej±ciow¡ (x, k) w czasie wielomianowym do instancji równowa»nej (x

0

, k

0

) rozmiaru g(k),

I rozstrzygnij, czy (x

0

, k

0

) jest w L (czas ograniczony pewn¡ funkcj¡ k

0

).

(19)

kernelizacja vs FPT

Twierdzenie

Niech Q b¦dzie rozstrzygalnym problemem parametryzowanym. Q jest w klasie FPT wtedy i tylko wtedy, gdy Q posiada algorytm kernelizacji.

Je»eli problem Q posiada algorytm kernelizacji, to jest FPT.

Algorytm FPT:

I zredukuj instancj¦ wej±ciow¡ (x, k) w czasie wielomianowym do instancji równowa»nej (x

0

, k

0

) rozmiaru g(k),

I rozstrzygnij, czy (x

0

, k

0

) jest w L (czas ograniczony pewn¡ funkcj¡ k

0

).

(20)

Kernelizacja vs FPT

Twierdzenie

Niech Q b¦dzie rozstrzygalnym problemem parametryzowanym. Q jest w klasie FPT wtedy i tylko wtedy, gdy Q posiada algorytm kernelizacji.

Je»eli Q posiada algorytm FPT (z czasem dziaªania f (k)|x|

c

), to ma równie» algorytm kernelizacji.

Algorytm kernelizacji:

I symuluj algorytm kernelizacji przez |x|

c+1

kroków,

I je»eli algorytm zako«czy prac¦ (na pewno tak si¦ stanie, gdy |x| ≥ f (k)), przepisz jego odpowied¹, w przeciwnym przypadku zwró¢ (x, k).

Powy»szy algorytm daje j¡dro o rozmiarze f (k).

(21)

Kernelizacja vs FPT

Twierdzenie

Niech Q b¦dzie rozstrzygalnym problemem parametryzowanym. Q jest w klasie FPT wtedy i tylko wtedy, gdy Q posiada algorytm kernelizacji.

Je»eli Q posiada algorytm FPT (z czasem dziaªania f (k)|x|

c

), to ma równie»

algorytm kernelizacji.

Algorytm kernelizacji:

I symuluj algorytm kernelizacji przez |x|

c+1

kroków,

I je»eli algorytm zako«czy prac¦ (na pewno tak si¦ stanie, gdy |x| ≥ f (k)), przepisz jego odpowied¹, w przeciwnym przypadku zwró¢ (x, k).

Powy»szy algorytm daje j¡dro o rozmiarze f (k).

(22)

Kernelizacja vs FPT

Twierdzenie

Niech Q b¦dzie rozstrzygalnym problemem parametryzowanym. Q jest w klasie FPT wtedy i tylko wtedy, gdy Q posiada algorytm kernelizacji.

Je»eli Q posiada algorytm FPT (z czasem dziaªania f (k)|x|

c

), to ma równie»

algorytm kernelizacji.

Algorytm kernelizacji:

I symuluj algorytm kernelizacji przez |x|

c+1

kroków,

I je»eli algorytm zako«czy prac¦ (na pewno tak si¦ stanie, gdy |x| ≥ f (k)), przepisz jego odpowied¹, w przeciwnym przypadku zwró¢ (x, k).

Powy»szy algorytm daje j¡dro o rozmiarze f (k).

(23)

Kernelizacja vs FPT

Twierdzenie

Niech Q b¦dzie rozstrzygalnym problemem parametryzowanym. Q jest w klasie FPT wtedy i tylko wtedy, gdy Q posiada algorytm kernelizacji.

Je»eli Q posiada algorytm FPT (z czasem dziaªania f (k)|x|

c

), to ma równie»

algorytm kernelizacji.

Algorytm kernelizacji:

I symuluj algorytm kernelizacji przez |x|

c+1

kroków,

I je»eli algorytm zako«czy prac¦ (na pewno tak si¦ stanie, gdy |x| ≥ f (k)), przepisz jego odpowied¹, w przeciwnym przypadku zwró¢ (x, k).

Powy»szy algorytm daje j¡dro o rozmiarze f (k).

(24)

Pokrycie wierzchoªkowe - algorytm kernelizacji

Trzy reguªy redukcji (G, k):

I Reguªa 1: Je»eli G posiada wierzchoªek izolowany, usu« go z G. Nowa instancja: (G \ v, k).

I Reguªa 2: Je»eli G posiada wierzchoªek v o stopniu istotnie wi¦kszym od k, usu« go z G. Nowa instancja:(G \ v, k − 1).

I Reguªa 3: Je»eli nie mo»emy stosowa¢ reguªy 1 oraz 2, oraz je»eli G posiada istotnie wi¦cej ni» k

2

+ k wierzchoªków b¡d¹ istotnie wi¦cej ni» k

2

kraw¦dzi, zwró¢ prost¡ NIE instancj¦.

Ka»da z tych reguª jest poprawna tzn. instancja przed zastosowaniem ka»dej z

reguª jest równowa»na instancji wynikowej. A zatem, rozwa»any przez nas

parametryzowany problem pokrycia wierzchoªkowego ma j¡dro o O(k

2

)

wierzchoªkach i O(k

2

) kraw¦dziach.

(25)

Pokrycie wierzchoªkowe - algorytm kernelizacji

Trzy reguªy redukcji (G, k):

I Reguªa 1: Je»eli G posiada wierzchoªek izolowany, usu« go z G. Nowa instancja: (G \ v, k).

I Reguªa 2: Je»eli G posiada wierzchoªek v o stopniu istotnie wi¦kszym od k, usu« go z G. Nowa instancja:(G \ v, k − 1).

I Reguªa 3: Je»eli nie mo»emy stosowa¢ reguªy 1 oraz 2, oraz je»eli G posiada istotnie wi¦cej ni» k

2

+ k wierzchoªków b¡d¹ istotnie wi¦cej ni» k

2

kraw¦dzi, zwró¢ prost¡ NIE instancj¦.

Ka»da z tych reguª jest poprawna tzn. instancja przed zastosowaniem ka»dej z

reguª jest równowa»na instancji wynikowej. A zatem, rozwa»any przez nas

parametryzowany problem pokrycia wierzchoªkowego ma j¡dro o O(k

2

)

wierzchoªkach i O(k

2

) kraw¦dziach.

(26)

Pokrycie wierzchoªkowe - algorytm kernelizacji

Trzy reguªy redukcji (G, k):

I Reguªa 1: Je»eli G posiada wierzchoªek izolowany, usu« go z G. Nowa instancja: (G \ v, k).

I Reguªa 2: Je»eli G posiada wierzchoªek v o stopniu istotnie wi¦kszym od k, usu« go z G. Nowa instancja:(G \ v, k − 1).

I Reguªa 3: Je»eli nie mo»emy stosowa¢ reguªy 1 oraz 2, oraz je»eli G posiada istotnie wi¦cej ni» k

2

+ k wierzchoªków b¡d¹ istotnie wi¦cej ni»

k

2

kraw¦dzi, zwró¢ prost¡ NIE instancj¦.

Ka»da z tych reguª jest poprawna tzn. instancja przed zastosowaniem ka»dej z

reguª jest równowa»na instancji wynikowej. A zatem, rozwa»any przez nas

parametryzowany problem pokrycia wierzchoªkowego ma j¡dro o O(k

2

)

wierzchoªkach i O(k

2

) kraw¦dziach.

(27)

Pokrycie wierzchoªkowe - algorytm kernelizacji

Trzy reguªy redukcji (G, k):

I Reguªa 1: Je»eli G posiada wierzchoªek izolowany, usu« go z G. Nowa instancja: (G \ v, k).

I Reguªa 2: Je»eli G posiada wierzchoªek v o stopniu istotnie wi¦kszym od k, usu« go z G. Nowa instancja:(G \ v, k − 1).

I Reguªa 3: Je»eli nie mo»emy stosowa¢ reguªy 1 oraz 2, oraz je»eli G posiada istotnie wi¦cej ni» k

2

+ k wierzchoªków b¡d¹ istotnie wi¦cej ni»

k

2

kraw¦dzi, zwró¢ prost¡ NIE instancj¦.

Ka»da z tych reguª jest poprawna tzn. instancja przed zastosowaniem ka»dej z

reguª jest równowa»na instancji wynikowej. A zatem, rozwa»any przez nas

parametryzowany problem pokrycia wierzchoªkowego ma j¡dro o O(k

2

)

wierzchoªkach i O(k

2

) kraw¦dziach.

(28)

Minimalny zbiór przecinaj¡cy wszystkie cykle w turnieju

Problem parametryzowany (T , k): czy turniej T ma zbiór k kraw¦dzi, które

przecinaj¡ wszystkie cykle turnieju T ?

(29)

Zbiór przecinaj¡cy wszystkie cykle w turnieju

I F  zbiór kraw¦dzi turnieju,

I T ◦ F  turniej powstaªy z T poprzez odwrócenie kraw¦dzi z F .

Lemat

Zbiór F kraw¦dzi turnieju T jest minimalnym zbiorem przecinaj¡cym wszystkie cykle T wtedy i tylko wtedy, gdy F jest minimalnym zbiorem kraw¦dzi takim,

»e T ◦ F jest acykliczny.

F - minimalny zbiór przecinaj¡cy wszystkie cykle ⇒ F - minimalny zbiór taki,

»e T ◦ F jest acykliczny.

I F  minimalny zbiór przecinaj¡cy wszystkie cykle T , I zaªó»my, »e T ◦ F zawiera cykl C,

I niech f

1

, . . . , f

k

b¦d¡ wszystkimi kraw¦dziami z C, którym zmieniono kierunek,

I z minimalno±ci F , ka»da kraw¦d¹ f z F le»y na (prywatnym) cyklu C

f

w T , który nie zawiera innych kraw¦dzi z F ,

I cykl C wraz z cyklami C

fi

dla i = 1, . . . , k daje cykl w T omijaj¡cy kraw¦dzie z F , sprzeczno±¢.

I minimalno±¢ F jest oczywista.

(30)

Zbiór przecinaj¡cy wszystkie cykle w turnieju

I F  zbiór kraw¦dzi turnieju,

I T ◦ F  turniej powstaªy z T poprzez odwrócenie kraw¦dzi z F .

Lemat

Zbiór F kraw¦dzi turnieju T jest minimalnym zbiorem przecinaj¡cym wszystkie cykle T wtedy i tylko wtedy, gdy F jest minimalnym zbiorem kraw¦dzi takim,

»e T ◦ F jest acykliczny.

F - minimalny zbiór taki, »e T ◦ F jest acykliczny ⇒ F - minimalny zbiór przecinaj¡cy wszystkie cykle T .

I F - minimalny zbiór taki, »e T ◦ F jest acykliczny, I F - zbiór kraw¦dzi przecinaj¡cy wszystkie cykle,

I je»eli istnieje mniejszy zbiór F

0

w F przecinaj¡cy wszystkie cykle, to

T ◦ F

0

jest acykliczny (z poprzedniej cz¦±ci).

(31)

Zbiór przecinaj¡cy wszystkie cykle w turnieju - kernelizacja

( T , k): czy T ma zbiór kraw¦dzi F o mocy k taki, »e T ◦ F jest acykliczny?

Trójk¡t w turnieju: trzy wierzchoªki turnieju le»¡ce na cyklu. Reguªy redukcji instancji (T , k):

I Reguªa 1: Je»eli kraw¦d¹ e nale»y do k + 1 trójk¡tów, odwró¢ e i zmniejsz k o 1.

I Reguªa 2: Je»eli wierzchoªek e nie nale»y do »adnego trójk¡ta, usu« go z T i pozostaw k bez zmian.

I Reguªa 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ i je»eli turniej ma istotnie wi¦cej ni» k

2

+ 2k wierzchoªków, zwró¢ NIE instancj¦.

Poprawno±¢ Reguªy 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ oraz turniej ma zbiór F taki, »e T ◦ F jest acykliczny, to ka»dy wierzchoªek turnieju nale»y do trójk¡ta, którego jedna z kraw¦dzi nale»y do F .

Powy»szy algorytm daje j¡dro rozmiaru O(k

2

) .

(32)

Zbiór przecinaj¡cy wszystkie cykle w turnieju - kernelizacja

( T , k): czy T ma zbiór kraw¦dzi F o mocy k taki, »e T ◦ F jest acykliczny?

Trójk¡t w turnieju: trzy wierzchoªki turnieju le»¡ce na cyklu.

Reguªy redukcji instancji (T , k):

I Reguªa 1: Je»eli kraw¦d¹ e nale»y do k + 1 trójk¡tów, odwró¢ e i zmniejsz k o 1.

I Reguªa 2: Je»eli wierzchoªek e nie nale»y do »adnego trójk¡ta, usu« go z T i pozostaw k bez zmian.

I Reguªa 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ i je»eli turniej ma istotnie wi¦cej ni» k

2

+ 2k wierzchoªków, zwró¢ NIE instancj¦.

Poprawno±¢ Reguªy 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ oraz turniej ma zbiór F taki, »e T ◦ F jest acykliczny, to ka»dy wierzchoªek turnieju nale»y do trójk¡ta, którego jedna z kraw¦dzi nale»y do F .

Powy»szy algorytm daje j¡dro rozmiaru O(k

2

) .

(33)

Zbiór przecinaj¡cy wszystkie cykle w turnieju - kernelizacja

( T , k): czy T ma zbiór kraw¦dzi F o mocy k taki, »e T ◦ F jest acykliczny?

Trójk¡t w turnieju: trzy wierzchoªki turnieju le»¡ce na cyklu.

Reguªy redukcji instancji (T , k):

I Reguªa 1: Je»eli kraw¦d¹ e nale»y do k + 1 trójk¡tów, odwró¢ e i zmniejsz k o 1.

I Reguªa 2: Je»eli wierzchoªek e nie nale»y do »adnego trójk¡ta, usu« go z T i pozostaw k bez zmian.

I Reguªa 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ i je»eli turniej ma istotnie wi¦cej ni» k

2

+ 2k wierzchoªków, zwró¢ NIE instancj¦.

Poprawno±¢ Reguªy 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ oraz turniej ma zbiór F taki, »e T ◦ F jest acykliczny, to ka»dy wierzchoªek turnieju nale»y do trójk¡ta, którego jedna z kraw¦dzi nale»y do F .

Powy»szy algorytm daje j¡dro rozmiaru O(k

2

) .

(34)

Zbiór przecinaj¡cy wszystkie cykle w turnieju - kernelizacja

( T , k): czy T ma zbiór kraw¦dzi F o mocy k taki, »e T ◦ F jest acykliczny?

Trójk¡t w turnieju: trzy wierzchoªki turnieju le»¡ce na cyklu.

Reguªy redukcji instancji (T , k):

I Reguªa 1: Je»eli kraw¦d¹ e nale»y do k + 1 trójk¡tów, odwró¢ e i zmniejsz k o 1.

I Reguªa 2: Je»eli wierzchoªek e nie nale»y do »adnego trójk¡ta, usu« go z T i pozostaw k bez zmian.

I Reguªa 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ i je»eli turniej ma istotnie wi¦cej ni» k

2

+ 2k wierzchoªków, zwró¢ NIE instancj¦.

Poprawno±¢ Reguªy 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ oraz turniej ma zbiór F taki, »e T ◦ F jest acykliczny, to ka»dy wierzchoªek turnieju nale»y do trójk¡ta, którego jedna z kraw¦dzi nale»y do F .

Powy»szy algorytm daje j¡dro rozmiaru O(k

2

) .

(35)

Zbiór przecinaj¡cy wszystkie cykle w turnieju - kernelizacja

( T , k): czy T ma zbiór kraw¦dzi F o mocy k taki, »e T ◦ F jest acykliczny?

Trójk¡t w turnieju: trzy wierzchoªki turnieju le»¡ce na cyklu.

Reguªy redukcji instancji (T , k):

I Reguªa 1: Je»eli kraw¦d¹ e nale»y do k + 1 trójk¡tów, odwró¢ e i zmniejsz k o 1.

I Reguªa 2: Je»eli wierzchoªek e nie nale»y do »adnego trójk¡ta, usu« go z T i pozostaw k bez zmian.

I Reguªa 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ i je»eli turniej ma istotnie wi¦cej ni» k

2

+ 2k wierzchoªków, zwró¢ NIE instancj¦.

Poprawno±¢ Reguªy 3: Je»eli Reguªy 1 i 2 si¦ nie stosuj¡ oraz turniej ma zbiór F taki, »e T ◦ F jest acykliczny, to ka»dy wierzchoªek turnieju nale»y do trójk¡ta, którego jedna z kraw¦dzi nale»y do F .

Powy»szy algorytm daje j¡dro rozmiaru O(k

2

) .

(36)

Programowanie Liniowe

Problem Programowania Liniowego jest problemem optymalizacyjnym zdeniowanym nast¦puj¡co:

zminimalizuj: P

n j=1

c

j

x

j

przy warunkach: P

n

j=1

a

ij

x

j

≥ b

i

i = 1, . . . , m x

j

≥ 0 j = 1, . . . , n.

W Programowaniu Liniowym Caªkowitoliczbowym ILP (Zero-Jedynkowym 01LP) na zmienne x

i

nakªadamy warunek x

i

∈ Z (x

i

∈ {0, 1} odpowiednio).

I Istniej¡ algorytmy o wielomianowym czasie dziaªania dla problemu Programowania Liniowego.

I Problem Programowania Caªkowitoliczbowego jest NP-trudny.

(37)

Pokrycie wierzchoªkowe - programowanie caªkowitoliczbowe

Problem pokrycia wierzchoªkowego jest równowa»ny rozwi¡zaniu nast¦puj¡cego programu caªkowitoliczbowego:

zminimalizuj: P

n j=1

x

j

przy warunkach: x

i

+ x

j

≥ 1 dla ka»dej kraw¦dzi {i, j} grafu G

x

i

∈ {0, 1}, i = 1, . . . , n. (1)

Relaksacja powy»szego programu wygl¡da nast¦puj¡co:

zminimalizuj: P

n

j=1

x

j

przy warunkach: x

i

+ x

j

≥ 1 dla ka»dej kraw¦dzi {i, j} grafu G

x

i

≥ 0 i = 1, . . . , n. (2)

(38)

J¡dro rozmiaru 6 2k

I Przyjmijmy: x

i

 rozwi¡zanie równania (2).

I Je»eli P

ni=1

x

i

> k, to zwró¢ NIE (pokrycie wierzchoªkowe rozmiaru 6 k przekªada si¦ na dopuszczalne rozwi¡zanie (2) o koszcie 6 k).

I Przyjmijmy:

V

0

= {x

i

∈ V : x

i

<

12

} V

1

2

= {x

i

∈ V : x

i

=

12

} V

1

= {x

i

∈ V : x

i

>

12

} .

Lemat

Istnieje minimalne (na liczno±¢) pokrycie wierzchoªkowe S

grafu G takie, »e V

1

⊆ S

⊆ V

1

∪ V

1

2

. J¡dro rozmiaru 6 2k: zwró¢ podgraf indukowany na V

1

2

z parametrem k − |V

1

| .

(39)

J¡dro rozmiaru 6 2k

Dowód lematu:

I Zaªó»my, »e S jest pokryciem minimalnym grafu G,

I Zdeniujmy S

= ( S ∪ (V

1

\ S)) \ (V

0

∩ S) tzn. S

otrzymujemy poprzez rozszerzenie S na caªy zbiór V

1

i wyrzucenie z S tych wierzchoªków, które s¡ w V

0

.

I S

 pokrycie wierzchoªkowe (ªatwe do sprawdzenia, nie ma kraw¦dzi mi¦dzy wierzchoªkami z V

0

),

I S

 równie» minimalne pokrycie. Wystarczy pokaza¢, »e

|V

1

\ S| 6 |V

0

∩ S|. Zaªó»my zatem, »e

|V

1

\ S| > |V

0

∩ S|.

I Niech  = min{x

i

12

: x

i

∈ V

1

∪ V

0

}. Zdeniujmy:

y

i

= x

i

−  gdy x

i

∈ V

1

\ S

y

i

= x

i

+  gdy x

i

∈ V

0

∩ S

y

i

= x

i

gdy x

i

∈ V

0

∩ S

i zauwa»my »e y

i

jest rozwi¡zaniem (2) o mniejszym koszcie

(sprzeczno±¢).

(40)

J¡dro rozmiaru 6 2k

A co zrobi¢, gdy programowanie liniowe zwróci vc (G) bardzo du»e?

Wtedy na pewno nie ma maªego pokrycia wierzchoªkowego.

Mimo wszystko chcemy je obliczy¢!

(41)

J¡dro rozmiaru 6 2k

A co zrobi¢, gdy programowanie liniowe zwróci vc (G) bardzo du»e?

Wtedy na pewno nie ma maªego pokrycia wierzchoªkowego.

Mimo wszystko chcemy je obliczy¢!

(42)

J¡dro rozmiaru 6 2k

A co zrobi¢, gdy programowanie liniowe zwróci vc (G) bardzo du»e?

Wtedy na pewno nie ma maªego pokrycia wierzchoªkowego.

Mimo wszystko chcemy je obliczy¢!

Cytaty

Powiązane dokumenty

Na podstawie pomiarów zale no ci parametrów p tli histerezy dielektrycznej od temperatury wyznaczy zale no polaryzacji spontanicznej i pola koercji od temperatury.. Schemat

Sposób podª¡czenia baterii kondensatorów kompensacyjnych Odpowied¹: Moc czynna odbiornika Podb = 2480 W, moc bierna odbiornika Qodb = 3315 VAr, moc pozorna odbiornika Sodb = 4140

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