41
The Power and the Limits of Computation Elaine Rich

The Power and the Limits of Computation Elaine Rich

Embed Size (px)

Citation preview

Page 1: The Power and the Limits of Computation Elaine Rich

The Power and the Limits of Computation

Elaine Rich

Page 2: The Power and the Limits of Computation Elaine Rich

The Earliest Digital Computers

1945 ENIAC

Stored 20 10-digit decimal numbers

Page 3: The Power and the Limits of Computation Elaine Rich

The IBM 7090A dual 7090 system at NASA in about 1962.

Could store 32,768 36-bit words.

That’s about .00015 gigabytes.

Cost:

about $3,000,000.

or $19,794,000 2005 dollars

Page 4: The Power and the Limits of Computation Elaine Rich
Page 5: The Power and the Limits of Computation Elaine Rich

The Earth Simulator

The Earth Simulator (ES) is a project of Japanese agencies to develop a 40 TFLOPS system for climate modeling.

The ES site is a new location in an industrial area of Yokohama, an hour drive west of Tokyo. The facility became operational in late 2001.

Hardware

The ES is based on: 5,120 (640 8-way nodes) 500 MHz NEC CPUs

8 GFLOPS per CPU (41 TFLOPS total) 2 GB (4 512 MB FPLRAM modules) per CPU (10 TB total)

shared memory inside the node 640 × 640 crossbar switch between the nodes

16 GB/s inter-node bandwidth 20 kVA power consumption per node

Page 6: The Power and the Limits of Computation Elaine Rich

The iPod Nano

2005

Can store 4 gigabytes (1000 songs).

Cost: about $250.

Page 7: The Power and the Limits of Computation Elaine Rich

Compute Power Increases Over Time

From Hans Moravec, Robot Mere Machine to Transcendent Mind 1998.

Page 8: The Power and the Limits of Computation Elaine Rich

Moore’s Law

Page 9: The Power and the Limits of Computation Elaine Rich

What Can We Do With All that Power?

Overheard in ACES last week: “Genomics has turned biology into an information science.”

Is there anything we can’t do?

Page 10: The Power and the Limits of Computation Elaine Rich

The Traveling Salesman Problem

Page 11: The Power and the Limits of Computation Elaine Rich

Finding a Solution to the TSP

Given n cities:

•n choices for a starting point.•n-1 for the next city•n-2 for the next city

For a total of n! paths to be considered.

Page 12: The Power and the Limits of Computation Elaine Rich

Finding a Solution to the TSP

Given n cities:

•n choices for a starting point.•n-1 for the next city•n-2 for the next city

For a total of n! paths to be considered.

We notice that it doesn’t matter where we start (since we need to make a loop).

And the cost is the same forward or backward. So we can cut the number of paths down to:

(n – 1)!/2

Page 13: The Power and the Limits of Computation Elaine Rich

The Growth Rate of n!n! = n(n-1)(n-2)…(1)

2 2 11 479001600

3 6 12 6227020800

4 24 13 87178291200

5 120 14 1307674368000

6 720 15 20922789888000

7 5040 16 355687428096000

8 40320 17 6402373705728000

9 362880 18 121645100408832000

10 3628800 19 2432902008176640000

11 39916800 36 3.6 1041

Page 14: The Power and the Limits of Computation Elaine Rich

Putting that Rate into Perspective

Speed of light: 3 108 m/sec

Width of a proton: 10-15 m

If we perform one operation in the time light crosses a proton, we can perform: 3 1023 ops/sec

Seconds since the big bang: 3 1017

Operations since the big bang: 9 1040

Compared to 36! 3.6 1041

Page 15: The Power and the Limits of Computation Elaine Rich

The Post Correspondence Problem

i X Y

1 b bbb

2 babbb ba

3 ba a

4 bbbaa babbb

Page 16: The Power and the Limits of Computation Elaine Rich

The Post Correspondence Problem

i X Y

1 b bbb

2 babbb ba

3 ba a

4 bbbaa babbb

2

X b a b b b

Y b a

Page 17: The Power and the Limits of Computation Elaine Rich

The Post Correspondence Problem

i X Y

1 b bbb

2 babbb ba

3 ba a

4 bbbaa babbb

2 1

X b a b b b b

Y b a b b b

Page 18: The Power and the Limits of Computation Elaine Rich

The Post Correspondence Problem

i X Y

1 b bbb

2 babbb ba

3 ba a

4 bbbaa babbb

2 1 1

X b a b b b b b

Y b a b b b b b b

Page 19: The Power and the Limits of Computation Elaine Rich

The Post Correspondence Problem

i X Y

1 b bbb

2 babbb ba

3 ba a

4 bbbaa babbb

2 1 1 3

X b a b b b b b b a

Y b a b b b b b b a

Page 20: The Power and the Limits of Computation Elaine Rich

The Post Correspondence Problem

i X Y

1 10 101

2 011 11

3 101 011

i X Y

1 1101 1

2 0110 11

3 1 110

Page 21: The Power and the Limits of Computation Elaine Rich

The Post Correspondence ProblemA program to solve this problem:

Until a solution is found do:Generate the next candidate solution.Test it. If it is a solution, halt and report yes.

So, if there are say 4 rows in the table, we’ll try:1 2 3 4 1,1 1,2 1,3 1,4 1,5 2,1 …… 1,1,1 ….

Page 22: The Power and the Limits of Computation Elaine Rich

The Post Correspondence ProblemA program to solve this problem:

Until a solution is found do:Generate the next candidate solution.Test it. If it is a solution, halt and report yes.

So, if there are say 4 rows in the table, we’ll try:1 2 3 4 1,1 1,2 1,3 1,4 1,5 2,1 …… 1,1,1 ….

But what if there is no solution?

Page 23: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 24: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 25: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 26: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 27: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 28: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 29: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 30: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 31: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 32: The Power and the Limits of Computation Elaine Rich

A Tiling Problem

Page 33: The Power and the Limits of Computation Elaine Rich

Programs Debug Programs

read nif 2*int(n/2) = n then print “even” else print “odd”

read nresult = 1for i = 2 to n do

result = result * iprint result

Given an arbitrary program, can it be guaranteed to halt?

Page 34: The Power and the Limits of Computation Elaine Rich

A Problem That Cannot be Solved in Any Amount of Time

read nif 2*int(n/2) = n then print “even” else print “odd”

read nresult = 1for i = 2 to n do

result = result * iprint result

Given an arbitrary program, can it be guaranteed to halt?

result1

i= 2 2 i= 3 6i= 4 24i= 5 120

Page 35: The Power and the Limits of Computation Elaine Rich

Other Kinds of Loops

result = 0count = 0until result > 100 do

read n count = count + 1 result = result+nprint count

Page 36: The Power and the Limits of Computation Elaine Rich

Other Kinds of Loops

result = 0count = 0until result > 100 do

read n count = count + 1 result = result+nprint count

Suppose all the inputs are positive integers.

Page 37: The Power and the Limits of Computation Elaine Rich

Other Kinds of Loops

result = 0count = 0until result > 100 do

read n count = count + 1 result = result+nprint count

Suppose some of the integers are negative.

Page 38: The Power and the Limits of Computation Elaine Rich

The Halting Problem Is Not Solvable

Suppose that the following program existed:

Halts(program, string) returns:•True if program halts on string•False otherwise

Page 39: The Power and the Limits of Computation Elaine Rich

The Halting Problem is Not Solvable

Consider the following program:

Trouble(string) = If Halts(string, string) then loop forever else halt.

Now we invoke Trouble(<Trouble>).

What should Halts(<Trouble>, <Trouble>) say? If it:•Returns True (Trouble will halt): Trouble loops•Returns False (Trouble will not halt): Trouble halts

So there is no answer that Halts can give that does not lead to a contradiction.

Page 40: The Power and the Limits of Computation Elaine Rich

Other Unsolvable Problems

PCP:

•We can encode a <program>,<input> pair as an instance of PCP so that the PCP problem has a solution iff <program> halts on <input>.

•So if PCP were solvable then Halting would be.

•But Halting isn’t. So neither is PCP.

Page 41: The Power and the Limits of Computation Elaine Rich

Other Unsolvable Problems

Tiling:

•We can encode a <program>,<input> pair as an instance of a tiling problem so that there is an infinite tiling iff <program> halts on <input>.

00010000111000000111110000000000000 0001000011101000011111000000000000000010000111011000111110000000000000 …

•So if the tiling problem were solvable then Halting would be.

•But Halting isn’t. So neither is the tiling problem.