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 AB 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 SV 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 SV 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=p11 ... pkk Factoring – decision version INSTANCE: pair of integers n,k QUESTION: does n have a factor x{2,...k} ?