520 likes | 650 Vues
This document delves into computational complexity theory, covering essential topics such as P, NP, NP-complete problems, and zero-knowledge proofs. It discusses the significance of polynomial time solutions and the challenges posed by problems like the Traveling Salesman and 3-Coloring. The work highlights that while some problems can be verified in polynomial time, not all have polynomial time proofs, with examples illustrating the complexity of factoring and coloring challenges. Furthermore, it introduces the concept of zero-knowledge proofs, demonstrating how one can prove knowledge without revealing specific information.
E N D
233-234 Sedgewick & Wayne (2004); Chazelle (2005)
Linear-reduces: Cost of reduction is proportional to size of input
P Problems that can be solved in polynomial time c If input size = N, then time is O(N ) Suffices to look at Yes/No problems NP Problems that have polynomial time proofs
3-Coloring Not known to be in P
3-Coloring But is in NP
Don’t all problems have polynomial time proofs? No ! Piano mover’s problem Winning strategies
P Problems that can be solved in polynomial time NP Problems that have polynomial time proofs (Note that P is symmetric with yes/no but NP is not) COMPOSITE is in NP (easy); so is PRIME (hard)
P Problems that can be solved in polynomial time NP Problems that have polynomial time proofs NP-Complete: Any problem A in NP such that any problem in NP polynomial-reduces to it Over 10,000 known NP-complete problems !
FACTORING Given n-bit integer x and k, does x have a factor 1<x<k ? 3-COLOR Given graph G, can it be colored red, white, blue? FACTORING and 3-COLOR are in NP 3-COLOR is NP-complete 3-color efficiently and destroy ALL e-commerce!
Zero Knowledge Can I convince you I have a proof without revealing anything about it?
3-Coloring Prover interacts with Verifier
3-Coloring Prover hides coloring
3-Coloring Verifier checks an edge at random
3-Coloring Verifier spots a lie with probability 1/E
3-Coloring Verifier repeats 100E times
If Verifier spots no lies, she concludes the graph is 3-colorable Prover fools Verifier with negligible probability
Is it Zero-Knowledge? Verifier can color most of the graph!
Not Zero-Knowledge! Why do we require the Verifier to check randomly?
Repeat 100 E times: 1. Prover: shuffle colors 2. Verifier: Check any edge
Shuffle colors: what’s that? Random permutation (6 possibilities)
Why is it zero-knowledge? No matter what the Verifier does, she only sees a random pair of colors So, she can simulate the whole protocol by herself – no need for the prover.
Every problem in NP has a zero-knowledge proof
PCP (probabilistically checkable proofs) Can I convince you I have a proof of Riemann’s hypothesis by letting you look at only 2 lines picked at random? Yes, with probability of error 1/google
My proof of RH compiler Slightly longer proof of RH