Faculty of Mathematics and Computer Science The Weizmann Institute of Science
A Brief Introduction To The Theory of Computer Science and The PCP Theorem
By Dana Moshkovitz
Where Are We?
Computer Science (CS)
Theory of CS Algorithms
Applied CS
Complexity
Theory of CS
Goal: Understand the mathematics of Computing.
Computing = Solving Problems •Algorithms: Solve problems efficiently
• [small #operations, memory-usage, randomness, #processors,…]
•Complexity: Understand the limits of algo.
• [how much #operations, memory-usage, randomness, #processors do we really need?]
Example of Problem: Sudoku
• Input: An n£n Sudoku table. • Task: Solve!
Theorem (Cook, Levin, Karp, 1972): Solving Sudoku efficiently is equivalent to solving efficiently ~100,000 other problems:
– related to mapping the human genome, routing, designing railroads, etc.
What’s So Special In Sudoku??
• if I know a solution for Sudoku, I can prove this to you! • Efficient Checking: Given my solution, you can check its validity efficiently. • The class of all problems having this property is called NP (= non-deterministic polynomial time).
Solving vs. Checking
So, what’s easier, solving or checking?
Solving
Checking
Solving vs. Checking
• Solving ) Checking: If you can solve Sudoku yourself, you can compare to my solution, and thus check. • Checking Solving?? Seems not! • We let P (= polynomial time) be the class of all problems that can be solved efficiently.
The biggest question in the Theory of CS: Is Checking equivalent to Solving? Is P=NP?
How The Area Evolves From Here?
If not, then you can use this to…
(cryptography)
concentrate on what you can solve (algorithms,
approximations)
If not, then you also cannot do…
(hardness results)
relax the question (lower
P=NP?
bounds)
understand NP better (PCP)
is it the right question?
equivalent to other questions? (pseudorandomness)
(average-case complexity, quantum computing,…)
My Research: Understanding NP Better
PCP (=probabilistically checkable proofs): Surprising characterization of NP. Even more important than first seems… • Cannot do: gives hardness of approximation. • Can do: gives new constructions.
Sudoku Standard Verification
Do I have a solution?
Probabilistically Checkable Proof
Yes! With confidence 99.9% I think it’s a solution.
PCP Theorem
Theorem ([AS,ALMSS], 1992): Given any Sudoku riddle, given any solution, one can write the solution in a way that allows extremely fast verification: • verification by picking at random 2 places and checking only them!