a brief introduction to the theory of computer science and the pcp theorem

Post on 25-Feb-2016

31 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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?. - PowerPoint PPT Presentation

TRANSCRIPT

A Brief Introduction To The Theory of Computer Science

and The PCP TheoremBy Dana Moshkovitz

Faculty of Mathematics and Computer ScienceThe Weizmann Institute of Science

Theory of CS

Applied CS

Computer Science (CS)

Where Are We?

NetworksBio-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?

CheckingSolving

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 VerificationDo 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!

top related