120 likes | 264 Views
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. Learning. Software Engineering. Computational Geometry. Bio-informatics. Networks. Where Are We?.
E N D
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
Learning Software Engineering Computational Geometry Bio-informatics Networks 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£nSudoku table. • Task: Solve! Theorem (Cook, Levin, Karp, 1972): Solving Sudoku efficiently is equivalent to solving efficiently ~100,000other 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? concentrate on what you can solve (algorithms, approximations) If not, then you can use this to… (cryptography) relax the question (lower bounds) P=NP? If not, then you also cannot do… (hardness results) is it the right question? (average-case complexity, quantum computing,…) understand NP better (PCP) equivalent to other questions? (pseudo-randomness)
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 random2 places and checking only them!