Last class

advertisement
Last class
Decision/Optimization
3-SAT Independent-Set
Independent-Set  3-SAT
P, NP
Cook’s Theorem
NP-hard, NP-complete
3-SAT  Clique, Subset-Sum, 3-COL
Reductions
AB
all reductions we had were:
INSTANCE of A  INSTANCE of B
(many-to-one reductions)
the black-box intuition model allowed
more questions to an oracle for B
(Turing reductions)
Planar-3-COL
INSTANCE:
planar graph G
QUESTION:
can the vertices of G be assigned
colors red,green,blue so that
no two neighboring vertices have
the same color?
3-COL  Planar-3-COL
4-COL
INSTANCE:
graph G
QUESTION:
can the vertices of G be assigned
one of 4 colors so that no two
neighboring vertices have the
same color?
3-COL  4-COL
G

G
planar 4-COL
INSTANCE:
planar graph G
QUESTION:
can the vertices of G be assigned
one of 4 colors so that no two
neighboring vertices have the
same color?
planar 3-COL  planar 4-COL
?
planar 3-COL  planar 4-COL
planar 4-COL is very easy:
the answer is always yes.
(4-color theorem, Appel, Haken)
?
Integer linear-programming
INSTANCE:
variables x1,...,xn
collection of linear inequalities over the xi
with integer coefficients
QUESTION:
does there exist an assignment of integers
to the xi such that all the linear inequalities
are satisfied?
Integer linear-programming
INSTANCE:
variables x1,...,xn
collection of linear inequalities over the xi
with integer coefficients
QUESTION:
does there exist an assignment of integers
to the xi such that all the linear inequalities
are satisfied?
x1  1
x2  16 x1
x3  16 x2
x4  16 x3
x3+x4+x1  10000
Integer linear-programming
we will show that ILP is NP-hard
by showing 3-SAT  ILP
true = 1, false =0
y1   y2  y3  x1 + (1-x2) + x3  1
0 x1 1
....
0 xn 1
Integer linear-programming
Is integer linear programming NP-complete ?
I.e., is ILP in NP ?
Witness of solvability = solution,
but a priori we do not know that
the solution is polynomially bounded.
ILP  NP, but the proof is far from trivial.
Min-Cut problem
cut
SV
number of edges crossing the cut
| { {u,v} ; u S, v V-S } |
INPUT: graph G
OUTPUT: cut S with the minimum number of
crossing edges
Min-Cut problem
in P
for each s,t pair run max-flow algorithm
Max-Cut problem
cut
SV
number of edges crossing the cut
| { {u,v} ; u S, v V-S } |
INPUT: graph G
OUTPUT: cut S with the maximum number of
crossing edges
Max-Cut problem
INSTANCE: graph G, integer K
QUESTION: does G have a cut with  K
crossing edges?
Max-Cut problem
INSTANCE: graph G, integer K
QUESTION: does G have a cut with  K
crossing edges?
NAE-3-SAT  Max-Cut
NAE-3-SAT
INSTANCE: 3-CNF formula
QUESTION: does there exist an assignment such
that every claues have  1 false and  1 true ?
NAE-3-SAT  Max-Cut
INSTANCE: 3-CNF formula
QUESTION: does there exist an assignment such
that every claues have  1 false and  1 true ?
1 vertex for each literal
x1   x2  x3
x3
x1
 x2
x2
2m parallel
edges
3-SAT  NAE-3-SAT
y1  y2  y3

y1 y2 zi
,
 zi  y3  b
1.C satisfiable  can find 3-NAE assignment for C’
2.C’ has 3-NAE assignment  C satisfiable
Is NP  co-NP = P ?
Factoring
INPUT: integer n
OUTPUT: factorization of n, i.e.,
n=p11 ... pkk
Factoring – decision version
INSTANCE: pair of integers n,k
QUESTION: does n have a factor x{2,...k} ?
Download