Download presentation
Presentation is loading. Please wait.
Published byRoberta French Modified over 9 years ago
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!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.