A Brief Introduction To The Theory of Computer Science and The PCP Theorem By Dana Moshkovitz Faculty of Mathematics and Computer Science The Weizmann Institute of Science
Theory of CS Applied CS Computer Science (CS) Where Are We? Networks Bio- informatics Software Engineering Algorithms Complexity Learning Computational Geometry
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? Checking Solving
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? P=NP? If not, then you also cannot do… (hardness results) If not, then you can use this to… (cryptography) concentrate on what you can solve (algorithms, approximations) relax the question (lower bounds) is it the right question? (average-case complexity, quantum computing,…) equivalent to other questions? (pseudo- randomness) understand NP better (PCP)
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!