Escolar Documentos
Profissional Documentos
Cultura Documentos
Dorel Lucanu
Faculty of Computer Science
Alexandru Ioan Cuza University, Iasi, Romania
dlucanu@info.uaic.ro
PA 2014/2015
Probleme NP-complete
PA 2014/2015
1 / 56
Outline
Clasele P si NP
Probleme NP-complete
PA 2014/2015
2 / 56
Clasele P si NP
Plan
Clasele P si NP
Probleme NP-complete
PA 2014/2015
3 / 56
Clasele P si NP
Probleme NP-complete
PA 2014/2015
4 / 56
Clasele P si NP
SAT
Instance O formula propozitionala F cu variabile din X = {x1 , . . . , xn }.
Question Exista o atribuire a : X {0, 1} (sau a : X {false, true})
care satisface F ?
Exemplu de instanta:
X = {x, y , z}
F = ((x y ) (x z)) ((y z) (x y z))
Probleme NP-complete
PA 2014/2015
5 / 56
Clasele P si NP
CSAT
Instance
Probleme NP-complete
PA 2014/2015
6 / 56
Clasele P si NP
DSAT
Instance
Probleme NP-complete
PA 2014/2015
7 / 56
Clasele P si NP
Probleme NP-complete
PA 2014/2015
8 / 56
Clasele P si NP
CIRCUIT-SAT
Instance Un circuit boolean construit cu portile logice AND, OR, NOT,
si care are o singura iesire.
Question Exista o atribuire de valori {0, 1} pentru intrarile circuitului
astfel ncat valoarea de la iesire sa fie 1?
Probleme NP-complete
PA 2014/2015
9 / 56
Clasele P si NP
Probleme NP-complete
PA 2014/2015
10 / 56
Clasele P si NP
Probleme NP-complete
PA 2014/2015
11 / 56
Clasele P si NP
Probleme NP-complete
PA 2014/2015
12 / 56
Clasele P si NP
Probleme NP-complete
PA 2014/2015
13 / 56
Clasele P si NP
Clasele P si NP
Probleme NP-complete
PA 2014/2015
14 / 56
Clasele P si NP
Probleme NP-complete
PA 2014/2015
15 / 56
Clasele P si NP
Probleme NP-complete
PA 2014/2015
16 / 56
Clasele P si NP
P NP sau P = NP?
Probleme NP-complete
PA 2014/2015
17 / 56
Plan
Clasele P si NP
Probleme NP-complete
PA 2014/2015
18 / 56
Probleme NP-complete
PA 2014/2015
19 / 56
Probleme NP-complete
PA 2014/2015
20 / 56
Probleme NP-complete
PA 2014/2015
21 / 56
Probleme NP-complete
PA 2014/2015
22 / 56
Echivalenta
Probleme NP-complete
PA 2014/2015
23 / 56
Probleme NP-complete
PA 2014/2015
24 / 56
RUCSAC II OPTIM
Input
wi Z+ , pi Z, i = 1, . . . , n
MZ
Output xi {0, 1}, i = 1, . . . , n cu proprietatea maximizeaza functia
obiectiv si obiectele alese ncap n rucsac:
n
P
max
xi pi
n
P
i=1
i=1
xi wi M
Probleme NP-complete
PA 2014/2015
25 / 56
i=1
xi wi M?
Theorem
RUCSAC II OPTIM RUCSAC II DECIZIE (reducere Turing/Cook).
D. Lucanu (FII - UAIC)
Probleme NP-complete
PA 2014/2015
26 / 56
Ipoteza de lucru
Probleme NP-complete
PA 2014/2015
27 / 56
Completitudine
Fie C o clasa de probleme.
Definitie
O problema P este C-dificila (hard) daca Q P pentru orice Q C.
De remarcat ca nu trebuie sa avem P C.
Definitie
O problema P este C-completa daca este C-dificila s P C.
C = P: probleme P-complete
C = NP: probleme NP-complete
S-a sperat ca se poate arata ca problemele NP-complete sunt n NP \ P.
Probleme NP-complete
PA 2014/2015
28 / 56
Teorema
CSAT este NP-completa.
CSAT a fost prima problema pentru care s-a demonstrat
NP-completitudinea (1971), utilizandu-se alta demonstratie.
Vom demonstra teorema lui Cook dupa ce vom arata NP-completitudinea
unei probleme mai simple, dar foarte apropiata de SAT.
Probleme NP-complete
PA 2014/2015
29 / 56
Probleme NP-complete
PA 2014/2015
30 / 56
Probleme NP-complete
PA 2014/2015
31 / 56
x"
y"
w"
A"
S"
x"
y"
w"
A"
Probleme NP-complete
PA 2014/2015
32 / 56
Probleme NP-complete
PA 2014/2015
33 / 56
x"
y"
w"
A"
S"
x"
y"
w"
A"
w"
A"
S"
p(n)
x"
y"
S"
S"
x"
y"
w"
Probleme NP-complete
A"
PA 2014/2015
34 / 56
Probleme NP-complete
PA 2014/2015
35 / 56
Theorem
Daca Q este NP-completa, P este n NP si Q P, atunci P este
NP-completa.
Se utilizeaza faptul ca este tranzitiva.
Probleme NP-complete
PA 2014/2015
36 / 56
Probleme NP-complete
PA 2014/2015
37 / 56
Teorema
3-CSAT este NP-completa.
Clauzele obtinute din portile booleene au lungimea 2 sau 3. Orice clauza
de lungime 2 u v este eqchivalenta cu conjuntia a doua clauze de
lungime 3: (u v w ) (u v w ).
Probleme NP-complete
PA 2014/2015
38 / 56
Theorem
Daca Q este NP-completa, P este n NP si Q este un caz particular al lui
P, atunci P este NP-completa.
Corolar
SAT este NP-completa.
Probleme NP-complete
PA 2014/2015
39 / 56
Probleme NP-complete
PA 2014/2015
40 / 56
DSAT este n P
Analog obtinem SAT g (n) DSAT, dar, din nou, nu putem deduce ca
DSAT este NP-completa.
Mai mult, DSAT este n P:
Exemplu: F = (x y z) (x z) (x y y z)
o formula DNF F este satisfiabila exista o clauza satisfiabia
Probleme NP-complete
PA 2014/2015
41 / 56
2-CSAT este n P
Probleme NP-complete
PA 2014/2015
42 / 56
INDEPENDENT-SET
Domeniul problemei:
Fie G = (V , E ) un graf. O submultime U V se numeste independenta
daca oricare doua varfuri din U nu sunt adiacente.
INDEPENDENT-SET
Instance Un graf G = (V , E ), un numar ntreg k 0.
Question Exista o submultime U V independenta cu cel putin k
elemente? (|U| k).
Probleme NP-complete
PA 2014/2015
43 / 56
INDEPENDENT-SET
Lema
3-SAT INDEPENDENT-SET.
Fie F o formula 3CNF cu variabilele {x1 , . . . , xn } si m clauze C1 , . . . , Cm .
Construim GF astfel:
exista 2n varfuri-treapta x1 , . . . , xn , x 1 , . . . , x n (x i corespunde lui xi ) si cate
o muchie [xi x i ];
pentru fiecare clauza Cj se construieste o componenta distincta care are ca
varfuri sunt etichetate cu literalii din clauze si exista muchie ntre oricare
doua varfuri ale componentei;
pentru fiecare nod etichetat cu un xi exista o muchie ce leaga componenta
cu opusul x i ;
pentru fiecare nod etichetat cu un x i exista o muchie ce leaga componenta
cu opusul xi .
Instanta F este transformata n (GF , k = n + m).
D. Lucanu (FII - UAIC)
Probleme NP-complete
PA 2014/2015
44 / 56
INDEPENDENT-SET: Exemplu
F = (x1 x2 x3 ) (x1 x2 x3 ).
x1
x2 I
x
H
H
HH
I x1
I x2
x
x
H
A HH
A
H
H
1
A
HH
Hx
A
H
HH
A
HH
A
HH
A
Hx
A
2 A
x
A
x
A
A
A 1
A
AH
x
HH
H
HH
3
H
Hx
x
x3
x2
x3 I
x
x3
Figure 1: Construction in the proof of NP-completeness of Independent Set for the formula
(x1 _ x2 _ x
3 ) ^ (x1 _ x
2 _ x3 ). The independent set of size 5 corresponding to the satisfying
assignment x1 = false, x2 = true, and x3 = true is shown by nodes marked I.
Probleme NP-complete
PA 2014/2015
45 / 56
INDEPENDENT-SET: corectitudine
Trebuie sa aratam ca F este satisfiabila daca si numai daca exista o
multime independenta cu n + m elemente.
U se construieste astfel: se alege cate un varf din fiecare componenta Cj si
cate unul dintre varfurile-treapta xi sau x i astfel ncat:
daca din Cj se alege un varf etichetat cu xi , atunci se va alege si
varful-treapta xi ;
daca din Cj se alege un varf etichetat cu x i , atunci se va alege si
varful-treapta x i ;
Atribuirea a care satisface F va fi data de a(xi ) = 1 daca xi U, a(xi ) = 0
daca x i U.
Teorema
INDEPENDENT-SET este NP-completa.
Probleme NP-complete
PA 2014/2015
46 / 56
VERTEX-COVER
Domeniul problemei:
Fie G = (V , E ) un graf. O submultime W V se numeste V-acoperire
daca oricare muchie din E este incidenta ntr-un varf din W .
VERTEX-COVER
Instance Un graf G = (V , E ), un numar ntreg k 0.
Question Exista o submultime W V care este V-acoperire si are cel
mult k elemente? (|W | k).
Probleme NP-complete
PA 2014/2015
47 / 56
VERTEX-COVER
Lema
INDEPENDENT-SET VERTEX-COVER.
O instanta (G , k) este transformata ntr-o instanta (G , n k).
Teorema
VERTEX-COVER este NP-completa.
Probleme NP-complete
PA 2014/2015
48 / 56
C
ateva probleme NP-complete importante
Plan
Clasele P si NP
Probleme NP-complete
PA 2014/2015
49 / 56
C
ateva probleme NP-complete importante
Multimi
SUBSET-SUM
Instance O multime A, o marime s(a) Z+ , pentru orice a A si
K Z+ .
Question Exista o submultime A0 A pentru care suma marimilor
elementelor din A0 sa fie exact K ?
SET-COVER
Instance O coelctie de m multimi A1 , . . . , Am si k Z+ .
Question Exista o subcolectie de k multimi Ai1 , . . . , Aik astfel ncat
A1 Am = Ai1 Aik ?
Probleme NP-complete
PA 2014/2015
50 / 56
C
ateva probleme NP-complete importante
Planificare
MULTIPROCESSOR SCHEDULING
Instance O multime P de programe, un numar m de procesoare, un
timp de executie t(p), pentru fiecare p P, si un termen D.
Question Exista o planificare a procesoarelor pentru P astfel ncat
orice program sa fie executat nainte de termenul D?
Probleme NP-complete
PA 2014/2015
51 / 56
C
ateva probleme NP-complete importante
Algebra
QUADRATIC RESIDUU
Instance Intregii pozitivi a, b, c.
Question Exista un ntreg pozitiv x < c astfel ncat x 2 a (mod b)?
QUADRATIC DIOPHANTIC EQUATIONS
Instance Intregii pozitivi a, b, c.
Question Exista x, y Z+ astfel ncat ax 2 + by = c?
Probleme NP-complete
PA 2014/2015
52 / 56
C
ateva probleme NP-complete importante
Programare matematica
INTEGER PROGRAMMING
Instance O multime X de perechi (x, b), unde x = (x1 , . . . , xm ), xi , b Z, o
secventa c = (c1 , . . . , cm ) si un ntreg K .
Question Exista y = (y1 , . . . , ym ) astfel ncat:
P
1
Pi xi yi b pentru orice (x, b) X ;
2
i c i yi K ?
KNAPSACK 0/1
Instance wi Z+ , pi Z, i = 1, . . . , n
M Z+
K Z+ (scop)
Question Exista xi {0, 1}, i = 1, . . . , n cu proprietatea ca scopul este atins
si obiectele alese ncap n rucsac:
n
P
xi pi K
i=1
n
P
i=1
xi wi M?
Probleme NP-complete
PA 2014/2015
53 / 56
C
ateva probleme NP-complete importante
Grafuri
K -COLORING
Instance Un graf G = (V , E ) si k Z+ .
Question Exista o colorare cu k culori a grafului G ?
HAMILTONIAN CIRCUIT DIGRAPH
Instance Un digraf D = (V , A).
Question Contine D un circuit hamiltonian (circuit care trece prin
toate varfurile din V )?
Probleme NP-complete
PA 2014/2015
54 / 56
C
ateva probleme NP-complete importante
Grafuri
Probleme NP-complete
PA 2014/2015
55 / 56
C
ateva probleme NP-complete importante
Grafuri
LONGEST PATH
Instance Un graf ponderat G = (V , E ) cu ponderele ` : E Z+ , un
ntreg pozitiv K si doua varfuri distincte i si j.
Question Exista n G un drum de la i la j de lungime K ?
Probleme NP-complete
PA 2014/2015
56 / 56