1 / 41

The Power and the Limits of Computation

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.

tabib
Download Presentation

The Power and the Limits of Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

  5. The iPod Nano 2005 Can store 4 gigabytes (1000 songs). Cost: about $250.

  6. Compute Power Increases Over Time From Hans Moravec, Robot Mere Machine to Transcendent Mind 1998.

  7. Moore’s Law

  8. 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?

  9. The Traveling Salesman Problem

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

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

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

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

  14. The Post Correspondence Problem

  15. The Post Correspondence Problem 2 X b a b b b Y b a

  16. The Post Correspondence Problem 2 1 X b a b b b b Y b a b b b

  17. The Post Correspondence Problem 2 1 1 X b a b b b b b Y b a b b b b b b

  18. The Post Correspondence Problem 2 1 1 3 X b a b b b b b b a Y b a b b b b b b a

  19. The Post Correspondence Problem

  20. 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 ….

  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 …. • But what if there is no solution?

  22. A Tiling Problem

  23. A Tiling Problem

  24. A Tiling Problem

  25. A Tiling Problem

  26. A Tiling Problem

  27. A Tiling Problem

  28. A Tiling Problem

  29. A Tiling Problem

  30. A Tiling Problem

  31. A Tiling Problem

  32. Programs Debug Programs Given an arbitrary program, can it be guaranteed to halt? 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

  33. A Problem That Cannot be Solved in Any Amount of Time Given an arbitrary program, can it be guaranteed to halt? 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 result 1 i= 2 2 i= 3 6 i= 4 24 i= 5 120

  34. Other Kinds of Loops result = 0 count = 0 until result > 100 do read n count = count + 1 result = result+n print count

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

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

  37. The Halting Problem Is Not Solvable • Suppose that the following program existed: • Halts(program, string) returns: • True if program halts on string • False otherwise

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

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

  40. 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 00010000111010000111110000000000000 • 00010000111011000111110000000000000 • … • So if the tiling problem were solvable then Halting would be. • But Halting isn’t. So neither is the tiling problem.

More Related