Download presentation
Presentation is loading. Please wait.
Published byDebra Mitchell Modified over 9 years ago
1
The Power and the Limits of Computation Elaine Rich
2
The Earliest Digital Computers 1945 ENIAC Stored 20 10- digit decimal numbers
3
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. or $19,794,000 2005 dollars
5
The Earth Simulator The Earth Simulator (ES) is a project of Japanese agencies to develop a 40 TFLOPS system for climate modeling.Earth Simulator 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
6
The iPod Nano 2005 Can store 4 gigabytes (1000 songs). Cost: about $250.
7
Compute Power Increases Over Time From Hans Moravec, Robot Mere Machine to Transcendent Mind 1998.
8
Moore’s Law
9
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?
10
The Traveling Salesman Problem
11
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.
12
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
13
The Growth Rate of n! n! = n(n-1)(n-2)…(1) 2211479001600 36126227020800 4241387178291200 5120141307674368000 67201520922789888000 7504016355687428096000 840320176402373705728000 936288018121645100408832000 103628800192432902008176640000 113991680036 3.6 10 41
14
Putting that Rate into Perspective Speed of light:3 10 8 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 10 23 ops/sec Seconds since the big bang:3 10 17 Operations since the big bang:9 10 40 Compared to 36!3.6 10 41
15
The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb
16
The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb 2 X b a b b b Yb a
17
The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb 21 X b a b b b b Yb a b b b
18
The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb 21 1 X b a b b b b b Yb a b b b b b b
19
The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb 21 1 3 X b a b b b b b b a Yb a b b b b b b a
20
The Post Correspondence Problem iXY 110101 201111 3101011 iXY 111011 2011011 31110
21
The Post Correspondence Problem A 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 ….
22
The Post Correspondence Problem A 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?
23
A Tiling Problem
33
Programs Debug Programs read n if 2*int(n/2) = n then print “even” else print “odd” read n result = 1 for i = 2 to n do result = result * i print result Given an arbitrary program, can it be guaranteed to halt?
34
A Problem That Cannot be Solved in Any Amount of Time read n if 2*int(n/2) = n then print “even” else print “odd” read n result = 1 for i = 2 to n do result = result * i print result Given an arbitrary program, can it be guaranteed to halt? result 1 i= 22 i= 36 i= 4 24 i= 5 120
35
Other Kinds of Loops result = 0 count = 0 until result > 100 do read n count = count + 1 result = result+n print count
36
Other Kinds of Loops result = 0 count = 0 until result > 100 do read n count = count + 1 result = result+n print count Suppose all the inputs are positive integers.
37
Other Kinds of Loops result = 0 count = 0 until result > 100 do read n count = count + 1 result = result+n print count Suppose some of the integers are negative.
38
The Halting Problem Is Not Solvable Suppose that the following program existed: Halts(program, string) returns: True if program halts on string False otherwise
39
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( ). What should Halts(, ) 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.
40
Other Unsolvable Problems PCP: We can encode a, pair as an instance of PCP so that the PCP problem has a solution iff halts on. So if PCP were solvable then Halting would be. But Halting isn’t. So neither is PCP.
41
Other Unsolvable Problems Tiling: We can encode a, pair as an instance of a tiling problem so that there is an infinite tiling iff halts on. 00010000111000000111110000000000000 00010000111010000111110000000000000 00010000111011000111110000000000000 … So if the tiling problem were solvable then Halting would be. But Halting isn’t. So neither is the tiling problem.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.