1 The Limits of Computation Intractable and Non-computable functions.

33
1 The Limits of Computation Intractable and Non-computable functions

Transcript of 1 The Limits of Computation Intractable and Non-computable functions.

Page 1: 1 The Limits of Computation Intractable and Non-computable functions.

1

The Limits of Computation

Intractable and Non-computable functions

Page 2: 1 The Limits of Computation Intractable and Non-computable functions.

2

Decision Problems

A specific set of computations are classified as decision problems.

An algorithm describes a decision problem if its output is simply YES or NO, depending on whether a certain property holds for its input.

Example:Given a set of n shapes,can these shapes bearranged into a rectangle?

Page 3: 1 The Limits of Computation Intractable and Non-computable functions.

3

Monkey Puzzle Problem

Given: A set of n square cards whose sides are imprinted

with the upper and lower halves of colored monkeys. n is a square number, such that n = m2. Cards cannot be rotated.

Problem: Determine if an arrangement of the n cards in an

m X m grid exists such that each adjacent pair of cards display the upper and lower half of a monkey of the same color.

Source: www.dwheeler.com (2002)

Page 4: 1 The Limits of Computation Intractable and Non-computable functions.

4

Example 

Images from: Simonas Šaltenis, Aalborg University, [email protected]

1 2 3

4 5 6

7 8 9

Page 5: 1 The Limits of Computation Intractable and Non-computable functions.

5

Analysis

Simple algorithm: Pick one card for each cell of m X m grid. Verify if each pair of touching edges make a full

monkey of the same color. If not, try another arrangement until a solution is

found or all possible arrangements are checked. Answer "YES" if a solution is found. Otherwise,

answer "NO" if all arrangements are analyzed and no solution is found.

Page 6: 1 The Limits of Computation Intractable and Non-computable functions.

6

Analysis

If there are n = 9 cards (m = 3):

To fill the first cell, we have 9 card choices.

To fill the second cell, we have 8 card choices left.

To fill the third cell, we have 7 card choices remaining.

etc.

The total number of unique arrangements for n = 9 cards is:

9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 362,880

Page 7: 1 The Limits of Computation Intractable and Non-computable functions.

7

Analysis

For n cards, the number of arrangements to examine is n! (n factorial)

If we can analyze one arrangement in a microsecond:

n Time to analyze all arrangements

9 362880 s = 0.36288 s

16 20922789888000 s

25 15511210043330985984000000 s

Page 8: 1 The Limits of Computation Intractable and Non-computable functions.

8

Map Coloring

Given a map of n territories, can the map be colored using k colors such that no two adjacent territories are colored with the same color?

k=4: Answer is always yes. k=2: Only if the map contains no point that

is the junction of an odd number of territories.

Page 9: 1 The Limits of Computation Intractable and Non-computable functions.

9

Map Coloring

Page 10: 1 The Limits of Computation Intractable and Non-computable functions.

10

Map Coloring

Given a map of 48 territories, can the map be colored using 3 colors such that no two adjacent territories are colored with the same color? Pick a color for California (3 choices) Pick a color for Nevada (3 choices) ...

There are 348 = 79766443076872509863361possible colorings (not necessarily valid).

No one has come up with a better algorithmic solution that works in general for any map, so far.

Page 11: 1 The Limits of Computation Intractable and Non-computable functions.

11

Classifications

Algorithms that are O(nk) for some fixed k are polynomial-time algorithms. O(1), O(log n), O(n), O(n log n), O(n2) reasonable, tractable

All other algorithms are super-polynomial-time algorithms. O(2n), O(n!), O(nn) unreasonable, intractable

Page 12: 1 The Limits of Computation Intractable and Non-computable functions.

12

Traveling Salesperson

Given: a weighted graph of nodes representing cities and edges representing flight paths (weights represent cost)

Is there a route that takes the salesperson through every city and back to the starting city with cost no more than k? The salesperson can visit a city only once

(except for the start and end of the trip).

Page 13: 1 The Limits of Computation Intractable and Non-computable functions.

13

Traveling Salesperson

A

B

D

C

G

E

F

12

64

59

810

7 11

3

7

7

Is there a route with cost at most 52? YES (Route above costs 50.)Is there a route with cost at most 48? YES? NO?

Page 14: 1 The Limits of Computation Intractable and Non-computable functions.

14

Traveling Salesperson

If there are n cities, what is the maximum number of routes that we might need to compute?

Worst-case: There is a flight available between every pair of cities.

Compute cost of every possible route. Pick a starting city Pick the next city (n-1 choices remaining) Pick the next city (n-2 choices remaining) ...

Maximum number of routes: (n-1)! = O(n!)

how tobuild aroute

Page 15: 1 The Limits of Computation Intractable and Non-computable functions.

15

P and NP

The class P consists of all those decision problems that can be solved on a deterministic sequential machine (e.g. a computer) in an amount of time that is polynomial with respect to the size of the input

The class NP consists of all those decision problems whose positive solutions can be verified in polynomial time given the right information.

from Wikipedia

Page 16: 1 The Limits of Computation Intractable and Non-computable functions.

16

NP Complete

The class NPC consists of all those problems in NP that are least likely to be in P. Each of these problems is called NP Complete. Monkey puzzle, Traveling salesperson, and

map coloring are all in NPC.

Every problem in NPC can be transformed to another problem in NPC. If there were some way to solve one of these problems

in polynomial time, we should be able to solve all of these problems in polynomial time.

Page 17: 1 The Limits of Computation Intractable and Non-computable functions.

17

Complexity Classes

NP Problems

P ProblemsNP Complete

Problems

But does P = NP?If P ≠ NP, then all decision problems can be brokendown into this classification scheme.If P = NP, then all three classes are one and the same.

The Clay Mathematics Institute is offering a $1M prize for the first person to prove P = NP or P ≠ NP. (http://www.claymath.org/millennium/P_vs_NP/)

We know that P < NP, sinceany problem that can be solvedin polynomial time can certainlyhave a solution verified in polynomial time.

Page 18: 1 The Limits of Computation Intractable and Non-computable functions.

18

Page 19: 1 The Limits of Computation Intractable and Non-computable functions.

19

It gets worse...

Tractable Problems Problems that have reasonable, polynomial-

time solutions Intractable Problems

Problems that may have no reasonable, polynomial-time solutions

Noncomputable Problems Problems that have no algorithms at all to solve

them

Page 20: 1 The Limits of Computation Intractable and Non-computable functions.

20

Noncomputability and Undecidability

An algorithmic problem that has no algorithm is called noncomputable.

If the noncomputable algorithm requires only a yes/no answer, the problem is called undecidable.

Page 21: 1 The Limits of Computation Intractable and Non-computable functions.

21

Noncomputability and Undecidability

Example: Given any set of any number of different tile

designs (examples shown above), with an infinite number of each type of tile, can we tile any area with these tiles without rotation so that like colored edges touch?

This problem is undecidable!

Page 22: 1 The Limits of Computation Intractable and Non-computable functions.

22

Tiling Problem

YES

Note the periodicity in the tiling.

Page 23: 1 The Limits of Computation Intractable and Non-computable functions.

23

Tiling Problem

NO

For this 3 X 3 room, if we try all 39 tiling configurations, no tiling works.

Page 24: 1 The Limits of Computation Intractable and Non-computable functions.

24

Tiling Problem

Possible algorithm: If we find a repeating pattern, report YES. If we find a floor we cannot tile, report NO.

But this algorithm isn’t correct: there are some tilings which have no repeating pattern!

Page 25: 1 The Limits of Computation Intractable and Non-computable functions.

25

Tom’s Believe-It-Or-Not! If you take the same problem and allow

tile rotations, you can ALWAYS tile any room regardless of the size.

This problem is definitely computable!

Page 26: 1 The Limits of Computation Intractable and Non-computable functions.

26

Another Undecidable Problem:The Barber Paradox

Suppose there is a town with one male barber; and that every man in the town keeps himself clean-shaven: some shave themselves and some are shaved by the barber. Only the barber can shave another man. The barber shaves all and only those men who do not shave themselves.

Does the barber shave himself?

Page 27: 1 The Limits of Computation Intractable and Non-computable functions.

27

Program Termination

Can we determine if a program will terminate given a valid input?

Example:x = input (“Input a positive integer”)

while x != 1:

x = x - 2

Does this algorithm terminate when x = 15105? Does this algorithm terminate when x = 2008? Does this algorithm terminate for any positive x?

Page 28: 1 The Limits of Computation Intractable and Non-computable functions.

28

Program Termination

Another Example:x = input (“Input a positive integer”)

while x != 1:

if x % 2 == 0:

x = x / 2

else:

x = 3 * x + 1

Does this algorithm terminate for x = 15? Does this algorithm terminate for x = 105? Does this algorithm terminate for any positive x?

Page 29: 1 The Limits of Computation Intractable and Non-computable functions.

29

The Halting Problem

Suppose a program called the Terminator existed that could take ANY program and determine if it terminates or not.

What happens if it tries to analyze this “evil” program P?

Program P:

Run the Terminator on program P (i.e. this program itself) and see what answer it gives.

If the Terminator says YES (i.e. this program terminates):

go into an infinite loop.

Else:

halt immediately.

Page 30: 1 The Limits of Computation Intractable and Non-computable functions.

30

The Halting Problem

Can we write a general program Q that takes as its input any program P and an input I and determines if program P will terminate (halt) when run with input I? It will answer YES if P terminates successfully on input I. It will answer NO if P never terminates on input I.

This computational problem is undecidable! No such general program Q can exist! It doesn’t matter how powerful the computer is. It doesn’t matter how much time we devote to the computation. The proof of this involves contradiction.

AlanTuring

Page 31: 1 The Limits of Computation Intractable and Non-computable functions.

31

start

end

Does this algorithm end?

yes

no

Contradiction

Page 32: 1 The Limits of Computation Intractable and Non-computable functions.

32

Contradiction isn't just forcomputer scientists...

Page 33: 1 The Limits of Computation Intractable and Non-computable functions.

33

The Big Ideas

Many problems are Tractable Problems that have reasonable, polynomial-time

solutions Some problems are Intractable

Problems that have no reasonable, polynomial-time solutions

NP Complete problems are those that are least likely to be tractable (but we haven’t proven or disproven this yet)

Some problems are noncomputable Problems that have no algorithms at all to solve them

in general