Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Power and the Limits of Computation Elaine Rich.

Similar presentations


Presentation on theme: "The Power and the Limits of Computation Elaine Rich."— Presentation transcript:

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

4

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

24

25

26

27

28

29

30

31

32

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.


Download ppt "The Power and the Limits of Computation Elaine Rich."

Similar presentations


Ads by Google