P versus NP a Millennium Prize Problem Chung-Chih Li School of Information Technology, ISU March 21, 2018 STV 346 11/23/2018 Math Talk
7 Millennium Problems Clay Mathematics Institute Yang–Mills and Mass Gap Riemann Hypothesis P vs NP Problem Navier–Stokes Equation Hodge Conjecture Poincaré Conjecture (solved, Grigori Perelman/Richard Hamilton) Birch and Swinnerton-Dyer Conjecture 11/23/2018 Math Talk
The hardness of a problem whether an efficient algorithm exists Binary Search, O(log n), supper fast Sequential Search, O(n), fast Sorting, O(n log n), good Shortest Path, O(n2), OK Minimum spanning tree, O(n2), OK Maximum flow, not so bad Euler Path, not so bad Clique, not so good Hamiltonian path, not good Vertex cover, feel bad, SAT, bad ….. What is going on? 11/23/2018 Math Talk
Boolean formula: f(a,b,c) Satifibility (SAT): is a given Boolean formula satifiable? Boolean formula: f(a,b,c) a a = F a = T b b b = F b = T b = F b = T c c c c c = F c = T c = F c = T c = F c = T c = F c = T F T T F F F F F f(a,b,c) 11/23/2018 Math Talk
Boolean formula: f(a,b,c) Backtracking algorithm a a = F a = T Exp b b b = F b = T b = F b = T c c c c c = F c = T c = F c = T c = T c = F c = T c = F F T T F F F F F f(a,b,c) 11/23/2018 Math Talk
P << Exp 11/23/2018 Math Talk
Boolean formula: f(a,b,c) Nondeterministic algorithm Boolean formula: f(a,b,c) a a = F a = T b b b = F b = T b = F b = T N P c c c c c = F c = T c = F c = T c = F c = T c = F c = T F T T F F F F F If one of the result is T, then f is satisfiable. f(a,b,c) 11/23/2018 Math Talk
Nondeterministic algorithms are not randomized algorithms. Nondeterministic algorithms can’t be implemented using parallel computers. Nondeterministic algorithms can’t be implemented using quantum computers. a a = F a = T b b b = T b = F b = F b = T c c c c c = F c = T c = F c = T c = F c = T c = T c = F F T T F F F F F f(a,b,c) 11/23/2018 Math Talk
Is there a 3-clique? NP v1 v2 v5 v4 v3 11/23/2018 Math Talk v1v2v3
p Is there a 3-clique? Is there a 2-vertex-cover? complement graph this can be done in P 11/23/2018 Math Talk
Is there A S, such that A = 2730 ? Is there a 2-vertex-cover? S = {1, 4, 16, 64, 256, 1040, 1089, 1108, 1280, 1285 } v1 Is there A S, such that A = 2730 ? v5 v2 v4 v3 A = {1, 16, 64, 256, 1108, 1285} How about A = 1706 ? 11/23/2018 Math Talk
Is there a 2-vertex-cover? 45 44 43 42 41 40 e1 e2 e3 e4 e5 v1 1 1280 v2 1108 v3 1040 v4 1285 v5 1089 256 64 16 4 2 2730 v1 e1 e2 v5 v2 e5 e3 e4 v4 v3 11/23/2018 Math Talk
Is there a 9-vertex-cover? (x y z) (x y z) ( x y z) Is there a 9-vertex-cover? x x y z z y y x z z z z 11/23/2018 Math Talk
Cook Reduction, Polynomial Time Reduction A p B A is reduced to B B reduces A SAT p Vertex-Cover Clique p Vertex-Cover Clique p Vertex-Cover Vertex-Cover p Clique 11/23/2018 Math Talk
Problem A is called NP-complete if A is NP Every NP problem can be reduced to A Steven Cook (1971): SAT is an NP-Complete Problem. 11/23/2018 Math Talk