The Power and the Limits of Computation Elaine Rich.

Slides:



Advertisements
Similar presentations
Lecture 19. Reduction: More Undecidable problems
Advertisements

Problem: Give as many proofs as you can for the Pythagorean Theorem. i.e., a 2 + b 2 = c 2 holds for any right triangle with sides a & b and hypotenuse.
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
Copyright © Cengage Learning. All rights reserved.
1 The Limits of Computation Intractable and Non-computable functions.
1 Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible.
Easy, Hard, and Impossible. Easy Tic Tac Toe Hard.
1 Lecture 4 Topics –Problem solving Subroutine Theme –REC language class The class of solvable problems Closure properties.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
CHAPTER 4 Decidability Contents Decidable Languages
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
Prof. Busch - LSU1 Undecidable Problems (unsolvable problems)
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
THE NATURE OF SETS Copyright © Cengage Learning. All rights reserved. 2.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
1 Chapter 9 PSPACE: A Class of Problems Beyond NP Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.
1 Ethics of Computing MONT 113G, Spring 2012 Session 13 Limits of Computer Science.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
Easy, Hard, and Impossible Elaine Rich. Easy Tic Tac Toe.
MA/CSSE 474 Theory of Computation More Reduction Examples Non-SD Reductions.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
1 The Halting Problem and Decidability How powerful is a TM? Any program in a high level language can be simulated by a TM. Any algorithmic procedure carried.
Numerical Representation Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg 1.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
Halting Problem Introduction to Computing Science and Programming I.
Compsci 100, Fall What is Computing? Informatics? l What is computer science, what is its potential?  What can we do with computers in our lives?
Erdal Kose CC30.10 These slides are based of Prof. N. Yanofsky Lecture notes.
Halting Problem and TSP Wednesday, Week 8. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have.
Beauty and Joy of Computing Limits of Computing Ivona Bezáková CS10: UC Berkeley, April 14, 2014 (Slides inspired by Dan Garcia’s slides.)
CPS What is Computer Science? What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread.
CS 3813: Introduction to Formal Languages and Automata Chapter 12 Limits of Algorithmic Computation These class notes are based on material from our textbook,
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
Computability Heap exercise. The class P. The class NP. Verifiers. Homework: Review RELPRIME proof. Find examples of problems in NP.
Computability Universal Turing Machine. Countability. Halting Problem. Homework: Show that the integers have the same cardinality (size) as the natural.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Week 13 - Monday.  What did we talk about last time?  B-trees  Hamiltonian tour  Traveling Salesman Problem.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 15: Intractable Problems (Smiley.
Easy, Hard, and Impossible Elaine Rich. Easy Tic Tac Toe.
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
Computation. Binary Numbers Decimal numbers Binary numbers.
CSE 311 Foundations of Computing I Lecture 28 Computability: Other Undecidable Problems Autumn 2011 CSE 3111.
CompSci On the Limits of Computing  Reasons for Failure 1. Runs too long o Real time requirements o Predicting yesterday's weather 2. Non-computable.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
The Pigeonhole Principle Alan Kaylor Cline. The Pigeonhole Principle Statement Children’s Version: “If k > n, you can’t stuff k pigeons in n holes without.
The Big Picture Chapter 3.
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
CompSci Today’s Topics Computer Science Noncomputability Upcoming Special Topic: Enabled by Computer -- Decoding the Human Genome Reading Great.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
MA/CSSE 474 Theory of Computation Decision Problems, Continued DFSMs.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Decidability.
The Acceptance Problem for TMs
CS 461 – Nov. 2 Sets Prepare for ATM finite vs. infinite Infinite sets
Introduction to Computing Science and Programming I
CSE 311 Foundations of Computing I
Undecidable Problems Costas Busch - LSU.
MA/CSSE 474 Decision Problems Languages, Machines, Computation
Introduction to the Analysis of Complexity
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
How Hard Can It Be?.
CSE 311 Foundations of Computing I
Breakfast Bytes Easy, Hard, and Impossible
CSE 311: Foundations of Computing
The Pigeonhole Principle
What is Computer Science at Duke?
Presentation transcript:

The Power and the Limits of Computation Elaine Rich

The Earliest Digital Computers 1945 ENIAC Stored digit decimal numbers

The IBM 7090 A dual 7090 system at NASA in about Could store 32, bit words. That’s about gigabytes. Cost: about $3,000,000. or $19,794, dollars

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

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

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

Moore’s Law

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?

The Traveling Salesman Problem

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.

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

The Growth Rate of n! n! = n(n-1)(n-2)…(1)  10 41

Putting that Rate into Perspective Speed of light:3  10 8 m/sec Width of a proton: m If we perform one operation in the time light crosses a proton, we can perform:3  ops/sec Seconds since the big bang:3  Operations since the big bang:9  Compared to 36!3.6  10 41

The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb

The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb 2 X b a b b b Yb a

The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb 21 X b a b b b b Yb a b b b

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

The Post Correspondence Problem iXY 1bbbb 2babbbba 3 a 4bbbaababbb X b a b b b b b b a Yb a b b b b b b a

The Post Correspondence Problem iXY iXY

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 1,2 1,3 1,4 1,5 2,1 …… 1,1,1 ….

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 1,2 1,3 1,4 1,5 2,1 …… 1,1,1 …. But what if there is no solution?

A Tiling Problem

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?

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

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

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.

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.

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

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.

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.

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