24
On the limitations of efficient computation Oded Goldreich Weizmann Institute of Science

On the limitations of efficient computation

  • Upload
    norman

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

On the limitations of efficient computation. Oded Goldreich Weizmann Institute of Science. - PowerPoint PPT Presentation

Citation preview

Page 1: On the limitations  of  efficient computation

On the limitations of

efficient computation

Oded GoldreichWeizmann Institute of Science

Page 2: On the limitations  of  efficient computation

Like Mathematics, typically, TOC does not engage in solving specific problems but rather studies the solvability of classes of problems. Specifically, it studies the efficient solvability of computational problems.

Theory of Computation: a “meta-discipline”

Individual problems consists of infinitely many instances, and the problem specifics a set of valid solutions for each instance.

Categories

Classes of problems

Problems = set of instance-solution pairs

Instances = finite object (repr’ed by a finite sequence of bits)

Page 3: On the limitations  of  efficient computation

Problems of full information.So what is the problem here? The problem is to transform one representation of the information to another (more explicit representation).

Problems (i.e., computational problems)

answer implicitin (input) data

explicit answer in outputtransformation

= data manipulation

Page 4: On the limitations  of  efficient computation

Search problems: binary relations specifying valid instance-solution pairs.

Type of questions: The P-vs-NP Question

The P-vs-NP Question:Is solving harder than checking?

• Finding solutions: given an instance, find a valid solution.

• Checking validity of solutions: given an instance-solution pair, determine whether the solution is valid.• “P” = class of search problems for which solutions can be found efficiently.• “NP” = class of search problems for which the validity of solutions can be checked efficiently.

Page 5: On the limitations  of  efficient computation

Solving seems harder than checking

Example 1: Sudoku

Page 6: On the limitations  of  efficient computation

Solving seems harder than checking, cont.

Example 2: Factoring integers

= 6917 889361512881

Example 3: Solving a system of linear (or quadratic) equations

2x + 3y z = 9

x y + 3z = 4

3x + 2y + z = 0

x = 1

y = 2

z = 1

2x2 + 3xy z = 0

x y2 + 3yz = 5

3x + 2xy +2xz = 3

x = 1

y = 1

z = 1

Page 7: On the limitations  of  efficient computation

Solving seems harder than checking, cont.

Example 4: Coloring a Map (with 3 colors)

Page 8: On the limitations  of  efficient computation

Not all problems in NP are in P:There exist search problems for which solutions can be efficiently checked (for correctness), and yet can not be found efficiently (when given an instance).For these problems, solving is harder than checking.

The P-vs-NP Conjecture

• Finding solutions: given an instance, find a valid solution.

• Checking validity of solutions: given an instance-solution pair, determine whether the solution is valid. • “P” = class of search problems for

which solutions can be found efficiently.• “NP” = class of search problems for which the validity of solutions can be checked efficiently.

I mean significantly harder

Exhaustive search

Page 9: On the limitations  of  efficient computation

Assuming that not all problems in NP are in P, can we pinpoint such a problem (i.e., a problem for which finding solutions is harder than verifying their correctness)?Yes we can; furthermore, a host of natural problem are such! E.g., solving systems of quadratic equations (SQE).

NP-Completeness (universal problems in NP)

If you can efficiently solve (i.e., find solutions to)any such (NP-complete) problem, then you can efficiently solve all problems in NP.How is this done?

By encoding instances of any problem in NP (e.g., factoring, 3-color) as instances of the universal problem (e.g., SQE).Indeed amazing: we can factor a composite number (or 3-color a geometric map) by solving a “related” system of quadratic equations, where the system can be efficiently obtained from the number (or map).

Page 10: On the limitations  of  efficient computation

The Bright Side of Hardness

The hardness conjecture we need (one-way functions): There are efficient processes that cannot be efficiently reversed/inverted (not even on typical cases).

• “P” = class of search problems for which solutions can be found efficiently.• “NP” = class of search problems for which the validity of solutions can be checked efficiently.

If NP is not contained in P, in a strong sense, then we get Cryptography and pseudorandomness.

I.e., hard to solve on typical cases and not only on worst cases.

The inverting task is always in NP.Cryptography:

systems that are easy to use but hard to abuse.

pseudorandomness: object that look random although they are not truly random.

Page 11: On the limitations  of  efficient computation

Pseudorandomness (exists if OWFs exist)

A (huge) world determined

using an unlimited amount

of randomness

An alternative world determined using a very small amount of randomness

An alternative world determined using a

very small amount of randomness

We cannot distinguish these two worlds (i.e., a truly random world vs. a pseudorandom one)

Page 12: On the limitations  of  efficient computation

Pseudorandomness (exists if OWFs exist), revised

A truly random function from n-digit numbers to n-digit numbers, where (say) n=100.

We cannot distinguish these two cases (i.e., a truly random function vs. a pseudorandom one).

A function from n-digit numbers to n-digit numbers, determined by a random n-digit number.

Page 13: On the limitations  of  efficient computation

The EndThe slides of this talk are available at

http://www.wisdom.weizmann.ac.il/~oded/T/eff-comp.pptA related textbook is available at http://www.wisdom.weizmann.ac.il/~oded/bc-book.html

Page 14: On the limitations  of  efficient computation

auxiliary slides follow

taken from related talks

Page 15: On the limitations  of  efficient computation

A common feature: Easy to check correctness

The fact that it is easy to check correctness of candidate solutions yields an obvious (but slow) way of finding solutions to all problems, called exhaustive search: Just try all potential solutions and check the correctness of each of them, halting with a correct solution once it is found.

A search problem consists of an infinite (or huge) set of instances and a concise/simple specification of valid solutions.

“NP” = All search problems for which valid solutions can be efficiently recognized; that is, there exists an efficient procedure that, when given an instance-solution pair, determines whether or not the solution is valid.

Page 16: On the limitations  of  efficient computation

Exhaustive search: an obvious (but slow) way of finding solutions to all NP problems

Example 3: 3-coloring a map (with 20 countries). 320

possibilities.

Trying all potential solutions, we find a correct one once it is tried.

Example 1: Sudoku (with 50/81 entries missing). 950

possibilities. Example 2: Factoring 8-digit integers. 10000 possibilities.

(When factoring 200-digit integers, there are 10100 possibilities!)

Are there better ways to find solutions?

Example 2b: 3-coloring a (3-colorable) map. (prob.) NO!

Example 1a: Solving systems of linear equations.

YES!

Example 2a: 2-coloring a (2-colorable) map. YES!

Example 1b: Solving systems of quadratic equations.

(prob.) NO!

Page 17: On the limitations  of  efficient computation

The P-vs-NP Question (version 1: search problems)

“P” = All search problems that can be solved efficiently; that is, there exists an efficient procedure that, when given an instance of the problem, finds a valid solution to that instance (or indicates that none exists).

“NP” = All search problems for which valid solutions can be efficiently recognized; that is, there exists an efficient procedure that, when given an instance-solution pair, determines whether or not the solution is valid.

It is widely believed that there are problems in NP P.

For example: 3-Coloring, TSP, Knapsack, Solve-Quad-Equations,

and also Factoring.

Page 18: On the limitations  of  efficient computation

Decision problems (a formulation)

A generic example (having solutions w.r.t a search problem): An instance is an instance of a search problem, and the question is whether this instance has a solution.

Example 2 (coloring maps): An instance is a map, and the question is whether it is 3-colrable (i.e., whether there exists a 3-coloring of the areas such that no two adjacent areas are assigned the same color).

Again, a problem is not a specific instance (e.g.,a specific Sudoko puzzle), but rather the general form/class/type (e.g., Sudoku).

A decision problem consists of an infinite (or huge) set of instances and a concise/simple specification of YES-instnaces (a set of instances having a “desired” property).

Example 1 (Sudoku): An instance is any 9-by-9 rectangle partially filled with single digits, and the question is whether it can be augmented such that …

Page 19: On the limitations  of  efficient computation

Focus on the problem of 3-colorability

Coloring a Map with 3 colors such that no two adjacent areas are assigned the same color.

THM: Every map can be colored with four colors.

Some maps can be colored with three colors, this one not (e.g., Belarus is surrounded by five neighbors).

The decision problem: Given a map, determine whether it is 3-colorable.

Page 20: On the limitations  of  efficient computation

The P-vs-NP Question (version 2: decision problems)

P = All decision problems that can be solved efficiently; that is, there exists an efficient procedure that, when given an instance of the problem, determines whether it is a YES-instance.

NP = All decision problems for which each YES-instance has an efficiently verifiable certificate; that is, there exists an efficient procedure that, when given an instance-certificate pair, determines whether or not the certificate is valid.

It is widely believed that there are problems in NP P.

For example: 3-Coloring, TSP, Knapsack, Solve-Quad-Equations.

Page 21: On the limitations  of  efficient computation

Universal problems (NP-completeness)

P = All decision problems that can be solved efficiently; that is, there exists an efficient procedure that, when given an instance of the problem, determines whether it is a YES-instance.

NP = All decision problems for which each YES-instance has an efficiently verifiable certificate; that is, there exists an efficient procedure that, when given an instance-certificate pair, determines whether or not the certificate is valid.

A problem in NP is called NP-complete if the ability to efficiently solve it implies the ability to efficiently solve any problem in NP.

How can such problems possibly exist? (Let alone how can we prove that they exist?)

PNP NP-complete problems are hard to solve.

For example: 3-Coloring, TSP, Knapsack, Solve-Quad-Equations.

Page 22: On the limitations  of  efficient computation

Universal problems (NP-completeness) [continued]

A (decision) problem C in NP is called NP-complete if the ability to efficiently solve it implies the ability to efficiently solve any (decision) problem D in NP.

How can NP-complete problems possibly exist? (Let alone how can we prove that they exist?)

Idea: An efficient transformation of instances of

(any NP) problem D into instances of problem C such that YES-instances are mapped to YES-instances (and NO-instances are mapped to NO-instances).

For example: 3-Coloring, TSP, Knapsack, Solve-Quad-Equations are all NP-complete. Instances, say, of FACTORING (in NP) can be mapped to any of them.

Page 23: On the limitations  of  efficient computation

Universal problems (NP-completeness) [2nd cont.]

A (decision) problem C in NP is called NP-complete if the ability to efficiently solve it implies the ability to efficiently solve any (decision) problem D in NP.

Shown via an efficient transformation of instances of (any NP) problem D into instances of problem C such that YES-instances are mapped to YES-instances (and NO-instances are mapped to NO-instances).

NONO

YESYESD

C

(e.g.,3Color)

(e.g.,Factor)

Page 24: On the limitations  of  efficient computation

The EndThe slides of this talk are available at

http://www.wisdom.weizmann.ac.il/~oded/T/p-vs-np.pptA related textbook is available at http://www.wisdom.weizmann.ac.il/~oded/bc-book.html