the power and the limits of computation
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 PresentationTRANSCRIPT
![Page 1: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/1.jpg)
The Power and the Limits of Computation
Elaine Rich
![Page 2: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/2.jpg)
The Earliest Digital Computers
1945 ENIAC
Stored 20 10-digit decimal numbers
![Page 3: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/4.jpg)
![Page 5: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/6.jpg)
The iPod Nano
2005
Can store 4 gigabytes (1000 songs).
Cost: about $250.
![Page 7: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/7.jpg)
Compute Power Increases Over Time
From Hans Moravec, Robot Mere Machine to Transcendent Mind 1998.
![Page 8: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/8.jpg)
Moore’s Law
![Page 9: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/10.jpg)
The Traveling Salesman Problem
![Page 11: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/15.jpg)
The Post Correspondence Problem
i X Y1 b bbb2 babbb ba3 ba a4 bbbaa babbb
![Page 16: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/23.jpg)
A Tiling Problem
![Page 24: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/24.jpg)
A Tiling Problem
![Page 25: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/25.jpg)
A Tiling Problem
![Page 26: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/26.jpg)
A Tiling Problem
![Page 27: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/27.jpg)
A Tiling Problem
![Page 28: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/28.jpg)
A Tiling Problem
![Page 29: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/29.jpg)
A Tiling Problem
![Page 30: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/30.jpg)
A Tiling Problem
![Page 31: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/31.jpg)
A Tiling Problem
![Page 32: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/32.jpg)
A Tiling Problem
![Page 33: The Power and the Limits of Computation](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/56815c22550346895dc9f8e4/html5/thumbnails/41.jpg)
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.