the power and the limits of computation elaine rich
TRANSCRIPT
![Page 1: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/1.jpg)
The Power and the Limits of Computation
Elaine Rich
![Page 2: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/4.jpg)
![Page 5: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/8.jpg)
Moore’s Law
![Page 9: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/10.jpg)
The Traveling Salesman Problem
![Page 11: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/16.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/17.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/18.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/19.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/20.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/23.jpg)
A Tiling Problem
![Page 24: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/24.jpg)
A Tiling Problem
![Page 25: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/25.jpg)
A Tiling Problem
![Page 26: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/26.jpg)
A Tiling Problem
![Page 27: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/27.jpg)
A Tiling Problem
![Page 28: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/28.jpg)
A Tiling Problem
![Page 29: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/29.jpg)
A Tiling Problem
![Page 30: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/30.jpg)
A Tiling Problem
![Page 31: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/31.jpg)
A Tiling Problem
![Page 32: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/32.jpg)
A Tiling Problem
![Page 33: The Power and the Limits of Computation Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/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 Elaine Rich](https://reader036.vdocument.in/reader036/viewer/2022062518/56649eaa5503460f94baf12b/html5/thumbnails/41.jpg)
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.