Presentation is loading. Please wait.

Presentation is loading. Please wait.

P, NP and beyond CSA Summer School 2013 Chandan Saha.

Similar presentations


Presentation on theme: "P, NP and beyond CSA Summer School 2013 Chandan Saha."— Presentation transcript:

1 P, NP and beyond CSA Summer School 2013 Chandan Saha

2 What is Computational Complexity? Study of the amount of resources required by an algorithm to solve a problem.

3 What is Computational Complexity? Study of the amount of resources required by an algorithm to solve a problem. Time (bit operations) Space (bits) Randomness Communications

4 What is Computational Complexity? Study of the amount of resources required by an algorithm to solve a problem. Mathematically formalized as Turing Machines

5 What is Computational Complexity? Study of the amount of resources required by an algorithm to solve a problem. Language: Set of {0,1}* strings.

6 Turing Machines Input : 1 0 1 … 0 1 1

7 Turing Machine Input : Work tape: 1 0 1 … 0 1 1 1 1 0 … 1 1 1 Head

8 Turing Machine Input : Work tape: Output: 1 0 1 … 0 1 1 1 1 0 … 1 1 1 1 1 1 … 0 0 1

9 Turing Machine Input : Work tape: Output: 1 0 1 … 0 1 1 1 1 0 … 1 1 1 1 1 1 … 0 0 1 Processor (states)

10 Turing Machine Input : Work tape: Output: 1 0 1 … 0 1 1 1 1 0 … 1 1 1 1 1 1 … 0 0 1 Processor (states) Finite set of instructions ( transition functions )

11 Why Turing Machines ? Natural & intuitive.

12 Why Turing Machines ? Natural & intuitive. A formal model helps us study the power and limitations of computation mathematically.

13 Why Turing Machines ? Natural & intuitive. A formal model helps us study the power and limitations of computation mathematically. Church-Turing thesis: “Every physically realizable computation device – whether it’s based on silicon, DNA, neurons or some other alien technology – can be simulated by a Turing machine”. --- [quote from Arora-Barak’s book]

14 Why Turing Machines ? Natural & intuitive. A formal model helps us study the power and limitations of computation mathematically. Church-Turing thesis: “Every physically realizable computation device – whether it’s based on silicon, DNA, neurons or some other alien technology – can be simulated by a Turing machine”. --- [quote from Arora-Barak’s book] Might or might not be true!

15 Why Turing Machines ? Natural & intuitive. A formal model helps us study the power and limitations of computation mathematically. Church-Turing thesis: “Every physically realizable computation device – whether it’s based on silicon, DNA, neurons or some other alien technology – can be simulated by a Turing machine”. --- [quote from Arora-Barak’s book] Might or might not be true! Quantum computers ?

16 In support of the CT thesis Several other computational models like, “lamda calculus, cellular automata, pointer machines, bouncing billiard balls, Conway’s game of life, and so on..” are all equivalent to the Turing machine model of computation.

17 In support of the CT thesis Several other computational models like, “lamda calculus, cellular automata, pointer machines, bouncing billiard balls, Conway’s game of life, and so on..” are all equivalent to the Turing machine model of computation. Can Turing machines solve any computational problem?

18 In support of the CT thesis Several other computational models like, “lamda calculus, cellular automata, pointer machines, bouncing billiard balls, Conway’s game of life, and so on..” are all equivalent to the Turing machine model of computation. Can Turing machines solve any computational problem? Not really!

19 Example: Solving Diophantine equations Input: A system of polynomial equations in many variables with integer coefficients. Output: Check if the system has integer solutions. Question: Is there an algorithm to solve this problem?

20 Example: Solving Diophantine equations Input: A system of polynomial equations in many variables with integer coefficients. Output: Check if the system has integer solutions. Question: Is there an algorithm to solve this problem? x 2 y + 5y 3 = 3 x 2 + z 5 – 3y 2 = 0 y 2 – 4z 6 = 0 Integer solutions for x, y, z?

21 Example: Solving Diophantine equations Input: A system of polynomial equations in many variables with integer coefficients. Output: Check if the system has integer solutions. Question: Is there an algorithm to solve this problem? x 2 y + 5y 3 = 3 x 2 + z 5 – 3y 2 = 0 y 2 – 4z 6 = 0 Integer solutions for x, y, z? A question posed by David Hilbert in 1900

22 Computational limitations of TM The problem, Solving Diophantine equations, cannot be solved by any Turing machines (no matter how much time & space we allow).

23 Computational limitations of TM The problem, Solving Diophantine equations, cannot be solved by any Turing machines (no matter how much time & space we allow). Such problems are known as undecidable problems. There are many other examples.

24 Computational limitations of TM The problem, Solving Diophantine equations, cannot be solved by any Turing machines (no matter how much time & space we allow). Such problems are known as undecidable problems. There are many other examples. For the rest of this talk, we’ll restrict our attention to computable (or decidable) problems.

25 Computational limitations of TM The problem, Solving Diophantine equations, cannot be solved by any Turing machines (no matter how much time & space we allow). Such problems are known as undecidable problems. There are many other examples. For the rest of this talk, we’ll restrict our attention to computable (or decidable) problems. Good idea to have a list of computable problems in mind!

26 Problem set 1 Multiplication: Given two integers a & b compute ab

27 Problem set 1 Multiplication: Given two integers a & b compute ab Solving linear system: Solve a system of m linear equations in n variables over rationals.

28 Problem set 1 Multiplication: Given two integers a & b compute ab Solving linear system: Solve a system of m linear equations in n variables over rationals. 1.5x + 0.5y – z = 1.25 x + 2y = 0.25 2x - 0.33y + 0.7z = 2 rational solutions for x, y, z?

29 Problem set 1 (contd.) Shortest path: Given a weighted graph and two vertices s & t, find the shortest path from s to t.

30 Problem set 1 (contd.) Shortest path: Given a weighted graph and two vertices s & t, find the shortest path from s to t. Maximum matching: Given a graph, find a maximum matching.

31 Problem set 1 (contd.) Shortest path: Given a weighted graph and two vertices s & t, find the shortest path from s to t. Maximum matching: Given a graph, find a maximum matching. Matching

32 Problem set 2 Vertex cover: Given a graph G and an integer k, check if there’s a set of k vertices that covers all the edges. Vertex cover of size 5

33 Problem set 2 (contd.) Boolean 3-satisfiability: Given a set of m clauses in n variables check if there’s an assignment that satisfies all the clauses. ¬x + y + z + u = 1 x + ¬y + ¬u = 1 x + ¬y + z = 1 Boolean solution for x,y,z,u?

34 Problem set 2 (contd.) Travelling salesman problem: Given a list of pairwise distances between n cities, is there a route of length at most k that travels through all of them?

35 Problem set 3 Smallest Boolean circuit: Find the smallest Boolean circuit equivalent to a given Boolean circuit. (VLSI design)

36 Problem set 3 Smallest Boolean circuit: Find the smallest Boolean circuit equivalent to a given Boolean circuit. Number of Cycles: Given a directed graph G, count the number of simple cycles in G. (VLSI design)

37 Which of the problems in Set 1, 2 and 3 can be solved efficiently?

38 We need to formalize the notion of computational efficiency.

39 Defining `Efficiency’: Class P Polynomial time computation: An algorithm runs in polynomial time if for every input of size n the running time of the algorithm is bounded by n c, where c is a constant independent of the input. c may vary from one algorithm to the other

40 Why `polynomial time’? All computational models that are `equivalent’ to Turing machines, reduce to each other in polynomial time If you can solve one problem in one computational model, you can also solve it any other `equivalent’ computational model with just a polynomial slow down in the running time of the algorithm.

41 Problems in class P All the problems in Set 1: Integer Multiplication Solving linear system Shortest path Maximum matching can be solved in polynomial time.

42 Problems in class P All the problems in Set 1: Integer Multiplication Solving linear system Shortest path Maximum matching (Edmonds 1965) can be solved in polynomial time.

43 Are all computable problems in P? Certainly not!

44 Are all computable problems in P? Certainly not! Ideal membership problem: Given multivariate polynomials g, f 1, …., f n, check if there exist polynomials h 1, …, h n such that g = h 1 f 1 + … + h n f n

45 Are all computable problems in P? Certainly not! Ideal membership problem: Given multivariate polynomials g, f 1, …., f n, check if there exist polynomials h 1, …, h n such that g = h 1 f 1 + … + h n f n IM is not in class P

46 A simpler version of Ideal membership A valid set of polynomials h 1, …, h n is a certificate of the fact that g = h 1 f 1 + … + h n f n

47 A simpler version of Ideal membership A valid set of polynomials h 1, …, h n is a certificate of the fact that g = h 1 f 1 + … + h n f n Simpler version of IM: Suppose an `alleged certificate’ h 1, …, h n is given. Check if g = h 1 f 1 + … + h n f n Verification version of IM

48 A simpler version of Ideal membership A valid set of polynomials h 1, …, h n is a certificate of the fact that g = h 1 f 1 + … + h n f n Simpler version of IM: Suppose an `alleged certificate’ h 1, …, h n is given. Check if g = h 1 f 1 + … + h n f n Is this problem easy?

49 A simpler version of Ideal membership A valid set of polynomials h 1, …, h n is a certificate of the fact that g = h 1 f 1 + … + h n f n Simpler version of IM: Suppose an `alleged certificate’ h 1, …, h n is given. Check if g = h 1 f 1 + … + h n f n Is this problem easy? The certificate h 1, …, h n can be much larger than the original polynomials g, f 1, …., f n ; implying that verification cannot be done in time polynomial in the size of g, f 1, …., f n.

50 Class NP A problem is in NP if: its solution or certificate size is small, solution or certificate can be verified efficiently.

51 Class NP A problem is in NP if: its solution or certificate size is small, solution or certificate can be verified efficiently. Problems in set 2: Vertex cover Boolean 3-satisfiability Travelling Salesman problem are all in class NP.

52 The P versus NP question To summarize, P: Problems that can be solved efficiently. NP: Problems whose (alleged) solutions can be verified efficiently. must be of size at most polynomial in the input size of the problem

53 The P versus NP question To summarize, P: Problems that can be solved efficiently. NP: Problems whose (alleged) solutions can be verified efficiently. P versus NP question: Can problems with efficiently verifiable solutions be also solved efficiently? Note: P is in NP

54 The P versus NP question NP problems can be solved in exponential time. Simply go over all possible choices of certificates in 2 poly(n) time.

55 The P versus NP question NP problems can be solved in exponential time. P versus NP question: Can exponential search for solution be avoided?

56 Philosophical implications of P vs NP A proof (solution or certificate) of a mathematical theorem is easier to verify that to actually prove (i.e find a solution to) the theorem. If P = NP then in principle computers can replace mathematicians some day!

57 Notion of NP-completeness NP-complete problems hardest problems in NP

58 Notion of NP-completeness NP-complete problems hardest problems in NP A problem L in NP is NP-complete if a polynomial time algorithm for L implies a polynomial time algorithm for every other problem in NP.

59 Notion of NP-completeness NP-complete problems hardest problems in NP A problem L in NP is NP-complete if a polynomial time algorithm for L implies a polynomial time algorithm for every other problem in NP. All the problems in set 2 are NP-complete! along with thousands of other problems!

60 Problems in NP but not in NPC U P? Are there problems in NP which are neither NP-complete nor in P?

61 Problems in NP but not in NPC U P? Are there problems in NP which are neither NP-complete nor in P? Yes, if P ≠ NP NPC P Ladner’s theorem (1975) NP

62 Natural problems in NP / (NPC U P)? Are there natural examples of problems which are neither NP-complete nor in P?

63 Natural problems in NP / (NPC U P)? Are there natural examples of problems which are neither NP-complete nor in P? No one knows yet as that would imply P ≠ NP. Some researchers suspect that graph isomorphism, integer factoring could be examples of such problems.

64 Graph Isomorphism problem Given two directed graphs G and H on the same vertex set V, check if there exist a permutation л on V such that (u,v) in E G (л(u), л(v)) in E H Edge set of G Edge set of H

65 Graph Isomorphism problem Given two directed graphs G and H on the same vertex set V, check if there exist a permutation л on V such that (u,v) in E G (л(u), л(v)) in E H 12 4 3 12 3 4 G H G ~ H

66 Graph Isomorphism problem Given two directed graphs G and H on the same vertex set V, check if there exist a permutation л on V such that (u,v) in E G (л(u), л(v)) in E H 12 4 3 12 3 4 G H G ~ H Note: GI is in NP

67 Complexity theory P vs NP Role of Randomness Approximation algorithms Average-case complexity Secrecy & security Coping with NP-hardness Boon of NP-hardness

68 Complexity theory P vs NP Role of Randomness Approximation algorithms Average-case complexity Secrecy & security Coping with NP-hardness Boon of NP-hardness

69 Role of Randomness in computation Can randomness give additional power to computation?

70 Role of Randomness in computation Can randomness give additional power to computation? The answer depends on how we use randomness. First, we need to make the model of probabilistic computation formal & precise.

71 Probabilistic Turing Machine Turing Machine M 1 0 1 … 0 1 1 additional input/power r = random bits (each bit is 1 with prob. ½ and 0 with prob. 1/2)

72 Probabilistic Turing Machine Turing Machine M 1 0 1 … 0 1 1 additional input/power r = random bits (each bit is 1 with prob. ½ and 0 with prob. 1/2) Output of M depends on the value of r. Ideally, number of bits of r = poly(n), where n is the input size.

73 Probabilistic Turing Machine A TM with the additional power of generating random bits.

74 Probabilistic Turing Machine A TM with the additional power of generating random bits. How can we generate random bits? Is this a realistic model?

75 Probabilistic Turing Machine A TM with the additional power of generating random bits. How can we generate random bits? Practically, using psuedo-random number generators functions whose output behave like random numbers

76 Probabilistic Turing Machine A TM with the additional power of generating random bits. How can we generate random bits? Practically, using psuedo-random number generators In theory, true randomness can be found in quantum physics

77 Example: Randomized Quicksort Worst-case complexity of Quick-sort on n numbers is O(n 2 ).

78 Example: Randomized Quicksort Worst-case complexity of Quick-sort on n numbers is O(n 2 ). In randomized QS, position of a pivot element is chosen at random (in every iteration or level of the recursion).

79 Example: Randomized Quicksort Worst-case complexity of Quick-sort on n numbers is O(n 2 ). In randomized QS, position of a pivot element is chosen at random (in every iteration or level of the recursion). Time complexity improves to O(n log n) with high probability. Randomness does help indeed!

80 Example: Randomized Quicksort Worst-case complexity of Quick-sort on n numbers is O(n 2 ). In randomized QS, position of a pivot element is chosen at random (in every iteration or level of the recursion). Time complexity improves to O(n log n) with high probability. Randomness does help indeed! But how much?

81 Can randomness improve the efficiency of an algorithm from exponential-time to polynomial-time? Probabilistic polynomial-time computation

82 Class BPP Probabilistic polynomial time computation: An algorithm runs in probabilistic polynomial time if for every input of size n: the algorithm uses r = poly(n) random bits.

83 Class BPP Probabilistic polynomial time computation: An algorithm runs in probabilistic polynomial time if for every input of size n: the algorithm uses r = poly(n) random bits. outputs the right answer with probability 99%.

84 Class BPP Probabilistic polynomial time computation: An algorithm runs in probabilistic polynomial time if for every input of size n: the algorithm uses r = poly(n) random bits. outputs the right answer with probability 99%. the running time of the algorithm is bounded by n c, where c is a constant independent of the input.

85 Can randomness improve the efficiency of an algorithm from exponential-time to polynomial-time? Is NP in BPP ?

86 Can randomness improve the efficiency of an algorithm from exponential-time to polynomial-time? Is NP in BPP ? Unlikely!

87 Hardness vs Randomness Under a widely believed complexity theoretic assumption on existence of hard functions in DTIME(2 O(n) ), BPP = P

88 Hardness vs Randomness Under a widely believed complexity theoretic assumption on existence of hard functions in DTIME(2 O(n) ), “… randomness never speeds up computation by more than a polynomial amount unless…”. --- (Impagliazzo, Wigderson 1997) BPP = P

89 Redemption for Randomness? Doesn’t randomness give any significant computational power?

90 Redemption for Randomness? Doesn’t randomness give any significant computational power? It does…

91 Redemption for Randomness? Doesn’t randomness give any significant computational power? It does… Ever wondered why most of us tend to learn faster through interaction with an expert, as compared to reading books by ourselves?

92 Interactive Protocol Is x in L ?

93 Interactive Protocol Is x in L ? All powerful prover (Expert) Verifier (Learner) Agrees upon a protocol Randomized polynomial time machine

94 Interactive Protocol Is x in L ? All powerful prover (Expert) Verifier (Learner) sends a query Randomized polynomial time machine

95 Interactive Protocol Is x in L ? All powerful prover (Expert) Verifier (Learner) answers the query Randomized polynomial time machine

96 Interactive Protocol Is x in L ? All powerful prover (Expert) Verifier (Learner) sends a query Randomized polynomial time machine

97 Interactive Protocol Is x in L ? All powerful prover (Expert) Verifier (Learner) Randomized polynomial time machine answers the query

98 Interactive Protocol Is x in L ? All powerful prover (Expert) Verifier (Learner) Randomized polynomial time machine...... poly(n) number of rounds |x| = n

99 Interactive Protocol Is x in L ? All powerful prover (Expert) Verifier (Learner) Randomized polynomial time machine...... poly(n) number of rounds |x| = n In the end, Verifier either outputs x in L, or x not in L

100 Class IP IP: It is set of all problems (i.e. languages L) for which there’s an interactive protocol satisfying the following:

101 Class IP IP: It is set of all problems (i.e. languages L) for which there’s an interactive protocol satisfying the following: ( Completeness): If x in L, there’s an honest Prover who convinces Verifier that x in L, with probability 1.

102 Class IP IP: It is set of all problems (i.e. languages L) for which there’s an interactive protocol satisfying the following: ( Completeness): If x in L, there’s an honest Prover who convinces Verifier that x in L, with probability 1. (Soundness): If x not in L, there’s no Prover who can convince Verifier that x in L, with probability higher than 0.01

103 Class IP In essence, IP captures that set of all problems whose solutions an intelligent verifier can learn efficiently from an expert without getting fooled by quacks!

104 Class IP In essence, IP captures that set of all problems whose solutions an intelligent verifier can learn efficiently from an expert without getting fooled by quacks! Needs to fix a protocol and ask intelligent questions

105 Class IP In essence, IP captures that set of all problems whose solutions an intelligent verifier can learn efficiently from an expert without getting fooled by quacks! probabilistic polynomial-time

106 Class IP In essence, IP captures that set of all problems whose solutions an intelligent verifier can learn efficiently from an expert without getting fooled by quacks! Soundness – this is where we actually need randomness!

107 Interactive Protocol for GNI Check if G 1 is non-isomorphic to G 2

108 Interactive Protocol for GNI Check if G 1 is non-isomorphic to G 2 Not known to be in NP!

109 Interactive Protocol for GNI Check if G 1 is non-isomorphic to G 2 Now ponder on this….

110 Interactive Protocol for GNI Verifier picks one of G 1 and G 2 at random – say, G i, and a random permutation л on the vertices of G i. Check if G 1 is non-isomorphic to G 2

111 Interactive Protocol for GNI Verifier picks one of G 1 and G 2 at random – say, G i, and a random permutation л on the vertices of G i. Verifier sends л(G i ) to the Prover (and expects the Prover to return i  this is the protocol) Check if G 1 is non-isomorphic to G 2

112 Interactive Protocol for GNI Prover returns some j. Verifier picks one of G 1 and G 2 at random – say, G i, and a random permutation л on the vertices of G i. Verifier sends л(G i ) to the Prover (and expects the Prover to return i  this is the protocol) Check if G 1 is non-isomorphic to G 2

113 Interactive Protocol for GNI Prover returns some j. Verifier checks if i = j. Check if G 1 is non-isomorphic to G 2

114 Interactive Protocol for GNI Prover returns some j. Verifier checks if i = j. If so, outputs G 1 non- isomorphic to G 2. Check if G 1 is non-isomorphic to G 2

115 Interactive Protocol for GNI Prover returns some j. Verifier checks if i = j. If so, outputs G 1 non- isomorphic to G 2. Otherwise, outputs G 1 isomorphic to G 2. Check if G 1 is non-isomorphic to G 2

116 Interactive Protocol for GNI Prover returns some j. Verifier checks if i = j. If so, outputs G 1 non- isomorphic to G 2. Otherwise, outputs G 1 isomorphic to G 2. Check if G 1 is non-isomorphic to G 2 Repeat this protocol a few times to reduce Verifier’s chance of making a mistake

117 How big is the class IP? IP contains problems that are seemingly not in NP! (like GNI)

118 IP = PSPACE IP = Set of all problems that can be solved by a TM using poly(n) space =: PSPACE

119 IP = PSPACE IP = Set of all problems that can be solved by a TM using poly(n) space =: PSPACE NP is contained in PSPACE

120 IP = PSPACE IP = Set of all problems that can be solved by a TM using poly(n) space =: PSPACE The power of PSPACE comes from the fact that space can be reused!

121 IP = PSPACE IP = Set of all problems that can be solved by a TM using poly(n) space =: PSPACE Take randomness away from the Verifier : (deterministic) IP = NP Randomness is absolutely essential for the Verifier!

122 Yet another usefulness of randomness Ever wondered how a teacher checks so many answer scripts so quickly, without compromising on the fairness of the evaluation process?

123 Probabilistically Checkable Proofs Every NP problem admits a certificate (or a proof) of polynomial length that can be verified efficiently.

124 Probabilistically Checkable Proofs Every NP problem admits a certificate (or a proof) of polynomial length that can be verified efficiently. Such a proof is static, in the sense that one has to read the entire proof to verify for correctness.

125 Probabilistically Checkable Proofs Every NP problem admits a certificate (or a proof) of polynomial length that can be verified efficiently. Such a proof is static, in the sense that one has to read the entire proof to verify for correctness. Can NP-proofs be written in a format that can be verified by reading very few random bits of the proof?

126 Probabilistically Checkable Proofs Every NP problem admits a certificate (or a proof) of polynomial length that can be verified efficiently. Such a proof is static, in the sense that one has to read the entire proof to verify for correctness. Can NP-proofs be written in a format that can be verified by reading very few random bits of the proof? Such a proof is known as a PCP

127 The PCP theorem Theorem: Every NP problem has a PCP of length poly(n) that can be verified with high probability for correctness, by reading only constantly many locations of the proof. NP = PCP (O(log n), O(1))

128 The PCP theorem Theorem: Every NP problem has a PCP of length poly(n) that can be verified with high probability for correctness, by reading only constantly many locations of the proof. NP = PCP (O(log n), O(1)) Number of random bits required

129 The PCP theorem Theorem: Every NP problem has a PCP of length poly(n) that can be verified with high probability for correctness, by reading only constantly many locations of the proof. NP = PCP (O(log n), O(1)) Number of locations read

130 Complexity theory P vs NP Role of Randomness Approximation algorithms Average-case complexity Secrecy & security Coping with NP-hardness Boon of NP-hardness

131 Approximation algorithms In practice, for many of the NP-complete problems we would be quite happy to compute a good approximate of the optimum solution.

132 Approximation algorithms In practice, for many of the NP-complete problems we would be quite happy to compute a good approximate of the optimum solution. Example: For TSP, even an approximately short route might be good enough.

133 Approximate (Euclidean) TSP “For every ε, there is a poly(n (log n) O(1/ε) )-time algorithm that given Euclidean distances between n cities, comes up with a tour that is at most a factor (1+ε) worse than the optimal tour.” --- Arora (1996)

134 Some other approximation algorithms Vertex cover has a factor 2 approximation algorithm. MAX 3-SAT has a 7/8 approximation algorithm. … and many others.

135 MAX 3-SAT Given a 3-SAT formula φ, find the maximum number of clauses that can be satisfied (simultaneously) by any assignment.

136 MAX 3-SAT Given a 3-SAT formula φ, find the maximum number of clauses that can be satisfied (simultaneously) by any assignment. Of course, the problem is NP-hard

137 MAX 3-SAT Given a 3-SAT formula φ, find the maximum number of clauses that can be satisfied (simultaneously) by any assignment. A 7/8-approximation algorithm outputs an assignment that satisfies 7/8. (the maximum number of satisfiable clauses).

138 MAX 3-SAT Given a 3-SAT formula φ, find the maximum number of clauses that can be satisfied (simultaneously) by any assignment. A 7/8-approximation algorithm outputs an assignment that satisfies 7/8. (the maximum number of satisfiable clauses). Wonder where the 7/8 come from?

139 MAX 3-SAT Ponder on this… On expectation how many clauses does a random assignment satisfy?

140 Hardness of approximation One cannot hope to keep optimizing these approximation factors for ever.

141 Hardness of approximation One cannot hope to keep optimizing this approximation factors for ever. How much can we optimize the approximation factor before the problem becomes hard again?

142 Hardness of approximation One cannot hope to keep optimizing this approximation factors for ever. Theorem: For every constant ε > 0, if there is a polynomial time (7/8 + ε)-approximation algorithm for MAX-3SAT then P=NP.

143 Hardness of approximation One cannot hope to keep optimizing this approximation factors for ever. Theorem: For every constant ε > 0, if there is a polynomial time (7/8 + ε)-approximation algorithm for MAX-3SAT then P=NP. Proof uses PCP theorem

144 Complexity theory P vs NP Role of Randomness Approximation algorithms Average-case complexity Secrecy & security Coping with NP-hardness Boon of NP-hardness

145 Average-case complexity An NP-complete problem is supposedly hard in the worst-case, meaning that it’s unlikely there’s an algorithm that solves it efficiently on all input instances.

146 Average-case complexity An NP-complete problem is supposedly hard in the worst-case, meaning that it’s unlikely there’s an algorithm that solves it efficiently on all input instances. This does not rule out the possibility that there’s an efficient algorithm that solves it on most input instances.

147 Class distP A distributional problem is a pair, where L is a subset of {0,1}* and D = {D n } is a sequence of distributions. Distribution on {0,1} n

148 Class distP A distributional problem is a pair, where L is a subset of {0,1}* and D = {D n } is a sequence of distributions. A problem is in distP if there’s an algorithm for L such that E x ε D [time(x)] = n c, where c is a constant

149 Clique number on random graphs Random n-vertex graphs: Create a graph by choosing each of the possible n(n-1)/2 edges with probability ½.

150 Clique number on random graphs Random n-vertex graphs: Create a graph by choosing each of the possible n(n-1)/2 edges with probability ½. Clique number of a graph G: Size of the largest complete subgraph in G.

151 Clique number on random graphs Random n-vertex graphs: Create a graph by choosing each of the possible n(n-1)/2 edges with probability ½. Clique number problem: Given G, find it’s clique number.

152 Clique number on random graphs Random n-vertex graphs: Create a graph by choosing each of the possible n(n-1)/2 edges with probability ½. Clique number problem: Given G, find it’s clique number. NP-hard in the worst case

153 Clique number on random graphs Random n-vertex graphs: Create a graph by choosing each of the possible n(n-1)/2 edges with probability ½. Clique number problem: Given G, find it’s clique number. But easy on random graphs!

154 Clique number on random graphs Random n-vertex graphs: Create a graph by choosing each of the possible n(n-1)/2 edges with probability ½. Theorem: With very high probability, clique number of a random n-vertex graph is about 2log n

155 Clique number on random graphs Random n-vertex graphs: Create a graph by choosing each of the possible n(n-1)/2 edges with probability ½. Theorem: With very high probability, clique number of a random n-vertex graph is about 2log n n O(log n) algorithm for the clique number problem on random graphs Why?

156 Complexity theory P vs NP Role of Randomness Approximation algorithms Average-case complexity Secrecy & security Coping with NP-hardness Boon of NP-hardness One-way functions

157 Impagliazzo’s complexity worlds

158 World 1: Algorithmica P=NP or NP in BPP World is a computational Utopia. Computers can do the jobs that require significant creativity in engineering, programming and mathematics. Modern day cryptography collapses!

159 World 2: Heuristica P≠NP but NP in distP (average-case easy). Efficient algorithms for all real life problem instances for NP-complete problems. Encryption gets trickier!

160 World 3: Pesiland P≠NP and NP problems hard on average. One-way function does not exist. Modern day cryptography relies on the presumed existence of one-way functions

161 World 4: Minicrypt P≠NP; NP problems hard on average; and one-way functions exist. Yet, some of the structured NP-problems like integer factoring, discrete logarithm are in P. No public-key cryptography?

162 World 5: Cryptomania NP-problems like integer factoring are exponentially hard on average. Most of the researchers believe that this is the world we reside in!

163 World 5: Cryptomania NP-problems like integer factoring are exponentially hard on average. Most of the researchers believe that this is the world we reside in! A central goal of complexity theory is to mathematically establish in which of these possible worlds we actually reside in.

164 Thank you!


Download ppt "P, NP and beyond CSA Summer School 2013 Chandan Saha."

Similar presentations


Ads by Google