Przyklady Problemow NP

Transkrypt

Przyklady Problemow NP
Z ŁO ŻONO Ś Ć OBLICZENIOWA ALGORYTMÓW
P RZYKŁADY P ROBLEMÓW NP- ZUPEŁNYCH
Bartosz Zieliński
Katedra Fizyki Teoretycznej i Informatyki
Zima 2011-2012
P ROBLEM 3SAT
Spełnialność formuł φ = D1 ∧ . . . ∧ Dn w koniunktywnej postaci
normalnej, w których każda z klauzul Di jest dysjunkcja˛ co
najwyżej trzech literałów. Podobnie można zdefiniować problem
k−SAT dla dowolnego k > 0
P RZYKŁAD
Spełnialność formuły
φ = (x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ x2 ∨ x3 ) ∧ (x2 ∨ ¬x3 ).
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
2 / 22
R EDUKCJA SAT DO 3SAT
Niech φ = D1 ∧ . . . ∧ Dn be˛ dzie formuła˛ w koniunktywnej postaci
normalnej. Opiszemy formułe˛ R(φ) w koniunktywnej postaci
normalnej w której każda z klauzul jest dysjunkcja˛ co najwyżej
trzech literałów i która jest spełnialna wtedy i tylko wtedy gdy φ
jest spełnialna.
Niech Di = ai1 ∨ . . . ∨ aim , dla 1 ≤ i ≤ n, gdzie aij sa˛ literałami.
Zdefiniujmy R(φ) := R̂(D1 ) ∧ . . . ∧ R̂(Dn ) gdzie
R̂(ai1 ∨ . . . ∨ aim ) = ai1 ∨ . . . ∨ aim
gdy
m≤3
R̂(ai1 ∨ . . . ∨ aim ) = (ai1 ∨ ai2 ∨ yi1 ) ∧ (¬yi1 ∨ ai3 ∨ yi2 )
∧ (¬yi2 ∨ ai4 ∨ yi3 ) ∧ . . .
. . . ∧ (¬yi,m−3 ∨ ai,m−1 ∨ aim )
gdy m > 3,
gdzie yi1 , . . . , yi,m−3 sa˛ świeżymi zmiennymi, dla i = 1, . . . , n.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
3 / 22
R EDUKCJA 3SAT DO UPROSZCZONEGO 3SAT
w którym każda zmienna może pojawić sie˛ co najwyżej trzy razy
a każdy literał co najwyżej dwa razy.
Niech formuła φ b˛edzie instancja˛ 3SAT. Dla każdej zmiennej x
pojawiajacej
˛
si˛e k > 3 razy w φ modyfikujemy φ nastepuj
˛
aco:
˛
Zastepujemy
˛
pierwsze pojawienie sie˛ w φ zmiennej x przez
nowa˛ zmienna˛ x1 , drugie przez x2 , . . ., k−te przez xk .
Dodajemy do φ klauzule
(¬x1 ∨ x2 ), (¬x2 ∨ x3 ), . . . , (¬xk ∨ x1 ).
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
4 / 22
2SAT JEST W NLS PACE ( A ZATEM W P)
Niech formuła φ b˛edzie instancja˛ 2SAT. Zdefiniujemy graf G(φ):
Wierzchołkami G(φ) sa˛ zmienne φ i ich negacje.
W G(φ) istnieje krawe˛ dź od α do β (oznaczamy αEβ) wtedy i
tylko wtedy gdy ¬α ∨ β jest jedna˛ z klauzul w φ.
T WIERDZENIE
Formuła φ w 2SAT nie jest spełnialna wtedy i tylko wtedy gdy
istnieje zmienna x t.ż. w G(φ) istnieja˛ ścieżki od x do ¬x i od ¬x
do x.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
5 / 22
P RZYKŁAD DO T WIERDZENIA
(x1 ∨ x2 ) ∧ (x1 ∨ ¬x3 ) ∧ (¬x1 ∨ x2 ) ∧ (x2 ∨ x3 )
¬x3
x3
x1
¬x1
¬x2
¬x2
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
6 / 22
D OWÓD T WIERDZENIA
O BSERWACJA I
Jeśli w G(φ) zachodzi αEβ to zachodzi także ¬βE¬α
(bo ¬α ∨ β ≡ ¬¬β ∨ ¬α).
O BSERWACJA II
Dla dowolnej formuły Φ jeśli |= Φ ⇒ Ψ to Φ ∧ Ψ jest spełnialne
wtedy i tylko wtedy gdy Φ jest spełnialne.
O BSERWACJA III
αEβ oznacza że |= φ ⇒ (α ⇒ β).
Stad
˛ ścieżka od α do β w G(φ) implikuje |= φ ⇒ (α ⇒ β)
(implikacja jest tranzytywna).
Stad
˛ ścieżka od α do β od β do α implikuje |= φ ⇒ (α ⇔ β).
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
7 / 22
Jeśli istnieje zmienna x taka że w G(φ) jest ścieżka od x do ¬x i
z powrotem to zgodnie z Obserwacjami II i III mielibyśmy że φ
jest spełnialne wtedy i tylko wtedy gdy jest spełnialne
φ ∧ (x ⇔ ¬x), ale φ ∧ (x ⇔ ¬x) jest niespełnialne.
Przypuśćmy że takie x nie istnieje. Zbudujemy wartościowanie
spełniajace
˛ dla φ nast˛epujaco:
˛
Wybieramy wierzchołek α któremu nie została jeszcze
nadana wartość logiczna i dla którego nie istnieje ścieżka
od α do ¬α.
Nadajemy α i wszystkim wierzchołkom osiagalnym
˛
zα
wartość true a ich negacjom wartość false.
Powtarzamy powyższa˛ procedure˛ tak długo aż wszystkim
wierzchołkom zostana˛ nadane wartości logiczne.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
8 / 22
W NIOSEK
Problem 2SAT jest w NLS PACE (i tym samym jest w P).
D OWÓD
Klasa NLS PACE jest zamknie˛ ta na dopełnienia. Stad
˛ wystarczy
pokazać że potrafimy rozpoznać w NLS PACE formuły
niespełnialne. W tym wypadku możemy to zrobić zgadujac
˛ x i
ścieżke˛ od x do ¬x i z powrotem.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
9 / 22
P ROBLEM INDEPENDENT SET
D EFINICJA
Niech G = (V , E) b˛edzie grafem nieskierowanym. Powiemy że
I ⊆ V jest jest niezależny jeżeli mie˛ dzy żadna˛ para˛ wierzchołków
i, j ∈ V nie istnieje krawe˛ dź w G.
P ROBLEM INDEPENDENT SET (Z BIÓR
NIEZALE ŻNY ):
Czy dla danego grafu nieskierowanego G = (V , E) oraz wartości
docelowej K istnieje w G zbiór niezależny I taki że |I| = K.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
10 / 22
R EDUKCJA Z 3SAT DO INDEPENDENT SET
(Z 3SAT o m klauzulach do INDEPENDENT SET z K = m)
P RZYKŁAD
(x1 ∨ x2 ∨ x3 ) ∧ (¬x1 ∨ ¬x2 ∨ ¬x3 ) ∧ (¬x1 ∨ x2 ∨ x3 )
¬x1
x1
x2
x3
B AR TOSZ Z IELI ŃSKI (KFT I I)
¬x1
¬x3
¬x2
Z ŁO ŻONO Ś Ć ...
x3
x2
2011/12
11 / 22
P ROBLEM CLIQUE
P ROBLEM CLIQUE (K LIKA ):
Czy dla danego grafu nieskierowanego G i liczby K istnieje w G
zbiór K wierzchołków tworzacych
˛
klike˛
(powiazanych
˛
ze soba˛ wszystkimi możliwymi krawedziami).
˛
CLIQUE
I
INDEPENDENT SET
Klika w G jest zbiorem niezależnym w dopełnieniu G.
Zbiór niezależny w G jest klika˛ w dopełnieniu G.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
12 / 22
P ROBLEM NODE COVER
P ROBLEM NODE COVER (P OKRYCIE W IERZCHOŁKOWE ):
Czy dla danego grafu nieskierowanego G i liczby B istnieje zbiór
C złożony z co najwyżej B wierzchołków taki że każda krawedź
˛
w G ma przynajmniej jeden koniec w zbiorze C.
NODE COVER
I
INDEPENDENT SET
I jest zbiorem niezależnym grafu nieskierowanego G = (V , E)
wtedy i tylko wtedy gdy V − I jest pokryciem wierzchołkowym G.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
13 / 22
P ROBLEM TRIPAR TITE MATCHING
D EFINICJA
Dane sa˛ trzy zbiory n-elementowe B, G i P oraz relacja
T ⊆ B × G × P. Znaleźć w T zbiór n trójek z których żadne dwie
nie maja˛ wspólnej składowej.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
14 / 22
P RZYKŁAD
T x := {(b0x , g1x , p0x ), (b0x , g0x , p1x ), (b1x , g0x , p2x ), (b1x , g1x , p3x )}
p1x
b0x
g0x
p0x
p2x
g1x
b1x
p3x
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
15 / 22
R EDUKCJA Z U PROSZCZONEGO 3SAT DO
TRIPAR TITE MATCHING
Niech φ b˛edzie instancja˛ uproszczonego problemu 3SAT.
Skonstruujemy instancje˛ T (φ) problemu TRIPARTITE
MATCHING.
T (φ) zawiera T x dla każdej zmiennej x z φ.
Każdy T x ma dwa możliwe dopasowania:
{(b0x , g0x , p1x ), (b1x , g1x , p3x )} (x = false),
{(b0x , g1x , p0x ), (b1x , g0x , p2x )} (x = true).
Dla każdej klauzuli c z φ wprowadzamy elementy bc i gc .
Dla każdego literału α z klauzuli c w φ dodajemy do T (φ)
trójke:
˛
(bc , gc , p1x ) lub (bc , gc , p3x ) gdy α = x.
(bc , gc , p0x ) lub (bc , gc , p2x ) gdy α = ¬x.
Dodajemy do T (φ) trójki (b̂ix , ĝix , pix ) dla wszystkich wolnych
pix .
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
16 / 22
R EDUKCJA Z HAMILTON PATH DO P ROBLEMU
K OMIWOJA ŻERA
Majac
˛ dany graf G o n wierzchołkach opiszemy macierz
odległości dij i limit B takie że komiwojażer ma trase˛ długości co
najwyżej B wtedy i tylko wtedy gdy G ma ścieżke˛ Hamiltona.
Jest n miast, po jednym dla każdego wierzchołka grafu G.
Odległość mi˛edzy miastami dij = 1 gdy istnieje w G krawedź
˛
pomiedzy
˛
i i j. W przeciwnym przypadku dij = 2.
Ustalamy B = n + 1.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
17 / 22
P ROBLEM : D OKŁADNE P OKRYCIE 3-Z BIORAMI
D EFINICJA : EXACT COVER BY 3-SETS (ECB3S)
Dane: Rodzina F = {S1 , . . . , Sn } podzbiorów zbioru U , takich
że |U | = 3m oraz |Si | = 3 dla każdego i.
Problem: Czy w F istnieje m parami rozłacznych
˛
zbiorów
których unia jest równa U .
R EDUKCJA
Z
TRIPAR TITE MATCHING
DO
ECB3S
Problem TRIPARTITE MATCHING jest szczególnym
przypadkiem EXACT COVER BY 3-SETS w którym U może być
rozbite na trzy równoliczne zbiory B, G i P, a każdy ze zbiorów z
F zawiera po jednym elemencie z każdego z tych zbiorów.
W NIOSEK
EXACT COVER BY 3-SETS jest NP-zupełny.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
18 / 22
P ROBLEM P LECAKOWY (KNAPSACK)
D ANE
n elementów. Dla każdego i, i-temu elementowi przypisana jest
waga wi i wartość vi (be˛ dace
˛ liczbami całkowitymi). Mamy także
dane ograniczenie wagi W i wartość docelowa˛ K.
P ROBLEM
Czy istnieje podzbiór S ⊆ {1, . . . , n} taki że:
P
wi ≤ W i
Pi∈S
i∈S vi ≥ K.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
19 / 22
R EDUKCJA Z EXACT COVER BY 3-SETS DO
KNAPSACK
D ANY
PRZYKŁAD
EXACT COVER BY 3-SETS:
Zbiory {S1 , . . . , Sn } z |Si | = 3. Szukamy pokrycia zbioru
U = {1, . . . , 3m}.
R EDUKCJA
DO
KNAPSACK:
Reprezentujemy podzbiory U jako wektory bitowe z {0, 1}n .
Interpretujemy te wektory jako liczby przy podstawie n + 1.
Dla A ⊆ U oznaczmy jako  reprezentacje˛ liczbowa˛ A.
Dla S ⊆ {1, . . . , n} rodzina {Si }i∈S jest rozwiazaniem
˛
danej
instancji ECB3S wtedy i tylko wtedy gdy S jest
rozwiazaniem
˛
instancji KNAPSACK gdzie n jest ilościa˛
elementów, wi = vi = Ŝi,
K = W = n1 (n+1)3m −1 = 1+(n+1)+(1+n)2 . . .+(n+1)3m−1
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
20 / 22
P SEUDOWIELOMIANOWO Ś Ć P ROBLEMU
P LECAKOWEGO
U WAGA
Dowolny przykład problemu KNAPSACK może być rozwiazany
˛
w
czasie O(nW ) gdzie W jest limitem wagi a n ilościa˛ elementów.
D OWÓD
Zdefiniujmy V (w, i) dla wszystkich 0 ≤ w ≤ W i 1 ≤ i ≤ n jako
najwieksz
˛
a˛ wartość możliwa˛ do otrzymania przez wybranie
elementów spośród i poczatkowych
˛
tak aby ich sumaryczna
waga była równa dokładnie W . V obliczamy rekurencyjnie:
V (w, 0) = 0, V (w, i + 1) = max{V (w, i), vi+1 + V (w − wi+1 , i)}.
Instancja problemu KNAPSACK jest przykładem pozytywnym
wtedy i tylko wtedy gdy V zawiera liczbe˛ wie˛ ksza˛ lub równa˛
docelowej wartości K.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
21 / 22
P ODSUMOWANIE : P RZYKŁADY P ROBLEMÓW
NP-Z UPEŁNYCH
Circuit-SAT, SAT, 3SAT, Uproszczony 3SAT,
TRIPARTITE MATCHING,
INDEPENDENT SET, CLIQUE, NODE COVER,
EXACT COVER BY 3-SETS
HAMILTON PATH,
Problem Komiwojażera,
KNAPSACK
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
22 / 22