the power and the limits of computation

41
The Power and the Limits of Computation Elaine Rich

Upload: chanel

Post on 09-Feb-2016

38 views

Category:

Documents


1 download

DESCRIPTION

The Power and the Limits of Computation. Elaine Rich. The Earliest Digital Computers. 1945 ENIAC. Stored 20 10-digit decimal numbers. The IBM 7090. A 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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Power and the Limits of Computation

The Power and the Limits of Computation

Elaine Rich

Page 2: The Power and the Limits of Computation

The Earliest Digital Computers

1945 ENIAC

Stored 20 10-digit decimal numbers

Page 3: The Power and the Limits of Computation

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
Page 5: The Power and the Limits of Computation

The Earth SimulatorThe 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

The iPod Nano

2005

Can store 4 gigabytes (1000 songs).

Cost: about $250.

Page 7: The Power and the Limits of Computation

Compute Power Increases Over Time

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

Page 8: The Power and the Limits of Computation

Moore’s Law

Page 9: The Power and the Limits of Computation

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

The Traveling Salesman Problem

Page 11: The Power and the Limits of Computation

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

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

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

2 2 11 4790016003 6 12 62270208004 24 13 871782912005 120 14 13076743680006 720 15 209227898880007 5040 16 3556874280960008 40320 17 64023737057280009 362880 18 12164510040883200010 3628800 19 243290200817664000011 39916800 36 3.6 1041

Page 14: The Power and the Limits of Computation

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

The Post Correspondence Problem

i X Y1 b bbb2 babbb ba3 ba a4 bbbaa babbb

Page 16: The Power and the Limits of Computation

The Post Correspondence Problem

i X Y1 b bbb2 babbb ba3 ba a4 bbbaa babbb

2

X b a b b b

Y b a

Page 17: The Power and the Limits of Computation

The Post Correspondence Problem

i X Y1 b bbb2 babbb ba3 ba a4 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

The Post Correspondence Problem

i X Y1 b bbb2 babbb ba3 ba a4 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

The Post Correspondence Problem

i X Y1 b bbb2 babbb ba3 ba a4 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

The Post Correspondence Problem

i X Y1 10 1012 011 113 101 011

i X Y1 1101 12 0110 113 1 110

Page 21: The Power and the Limits of Computation

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

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

A Tiling Problem

Page 24: The Power and the Limits of Computation

A Tiling Problem

Page 25: The Power and the Limits of Computation

A Tiling Problem

Page 26: The Power and the Limits of Computation

A Tiling Problem

Page 27: The Power and the Limits of Computation

A Tiling Problem

Page 28: The Power and the Limits of Computation

A Tiling Problem

Page 29: The Power and the Limits of Computation

A Tiling Problem

Page 30: The Power and the Limits of Computation

A Tiling Problem

Page 31: The Power and the Limits of Computation

A Tiling Problem

Page 32: The Power and the Limits of Computation

A Tiling Problem

Page 33: The Power and the Limits of Computation

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

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

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

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

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

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

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

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

Other Unsolvable ProblemsTiling:

•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.