Limitations. Limitations of Computation Hardware precision Hardware precision Software - we’re human Software - we’re human Problems Problems –complex.

Slides:



Advertisements
Similar presentations
What computers just cannot do. (Part II) COS 116, Spring 2012 Adam Finkelstein.
Advertisements

CS211 Problems: unsolvable, unfeasible and unsolved Topic 2: Halting problem.
Lecture 19. Reduction: More Undecidable problems
Hard problems November Administrivia Ps 8 –Handed out Tuesday (12/4) –Due Tuesday (12/11) or Tuesday (12/18) your choice Ps 9 –Handed out Thursday.
The Halting Problem of Turing Machines. Is there a procedure that takes as input a program and the input to that program, and the procedure determines.
Copyright © Cengage Learning. All rights reserved.
1 The Limits of Computation Intractable and Non-computable functions.
CSE115/ENGR160 Discrete Mathematics 02/28/12
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
Undecidability. Church-Turing Thesis n A Turing machine that halts on all inputs is the precise formal notion corresponding to the intuitive notion of.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Humans, Computers, and Computational Complexity J. Winters Brock Nathan Kaplan Jason Thompson.
What computers just cannot do. (Part II) COS 116: 3/5/2008 Sanjeev Arora.
Slide 1 of No. Insert Unit Name Here Lecture L: Computability Unit L1: What is Computation?
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
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.
Computability Thank you for staying close to me!! Learning and thinking More algorithms... computability.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Computability and Modeling Computation What are some really impressive things that computers can do? –Land the space shuttle (and other aircraft) from.
Class 37: Uncomputability David Evans University of Virginia cs1120 Halting Problems Hockey Team.
CSE 311 Foundations of Computing I Lecture 30 Computability: Other Undecidable Problems Autumn 2012 CSE 3111.
1 Ethics of Computing MONT 113G, Spring 2012 Session 13 Limits of Computer Science.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
1 CO Games Development 2 Week 21 Turing Machines & Computability Gareth Bellaby.
The Recursion Theorem Pages 217– ADVANCED TOPICS IN C O M P U T A B I L I T Y THEORY.
Institute for Experimental Physics University of Vienna Institute for Quantum Optics and Quantum Information Austrian Academy of Sciences Undecidability.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
Great Theoretical Ideas in Computer Science for Some.
Lecture 18. Unsolvability Before the 1930’s, mathematics was not like today. Then people believed that “everything true must be provable”. (More formally,
CS 345: Chapter 8 Noncomputability and Undecidability Or Sometimes You Can’t Get It Done At All.
Course Overview and Road Map Computability and Logic.
Halting Problem Introduction to Computing Science and Programming I.
1 Theory: Models of Computation  Readings:  Chapter 11 & Chapter 3.6 of [SG]  Content:  What is a Model  Model of Computation  Model of a Computing.
Great Theoretical Ideas in Computer Science.
1 Computability CS 101E Spring 2007 Michele Co. 2 So Far In Class We’ve seen the following programming constructs –if, if-else, if-else-if –switch –for.
Great Theoretical Ideas in Computer Science.
What computers just cannot do. (Part II) COS 116: 3/1/2011 Sanjeev Arora.
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.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
Russell’s Paradox and the Halting Problem Lecture 24 Section 5.4 Wed, Feb 23, 2005.
SNU OOPSLA Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Complexity © 2014 Project Lead The Way, Inc.Computer Science and Software Engineering.
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
CSE 311 Foundations of Computing I Lecture 28 Computability: Other Undecidable Problems Autumn 2011 CSE 3111.
Chapter 4 Computation Chapter 4: Computation.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
Thales’ Legacy: What Is A Proof? Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2004 Lecture 27April 22, 2004Carnegie Mellon.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
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:
Introduction to Computing Science and Programming I
Discrete Mathematics for Computer Science
Universality of Computation
Unsolvable Problems December 4, 2017.
Great Theoretical Ideas in Computer Science
CSCE 411 Design and Analysis of Algorithms
Decidable Languages Costas Busch - LSU.
Halting Problem.
Great Theoretical Ideas in Computer Science
Impossible problems.
CSE 311: Foundations of Computing
Algorithms CSCI 235, Spring 2019 Lecture 37 The Halting Problem
CO Games Development 2 Week 21 Turing Machines & Computability
Lecture 23: Computability CS200: Computer Science
Presentation transcript:

Limitations

Limitations of Computation Hardware precision Hardware precision Software - we’re human Software - we’re human Problems Problems –complex problem formulation (weather?) –complexity –inherent uncomputability

Hardware Read text section 17.1 arithmetic precision arithmetic precision –but use extra words –be attentive to numerical roundoff effects physical components physical components –build in redundancy, test, maintain communications communications –check-digits, parity bits, error-correcting codes are we reaching the limit of Moore’s law? are we reaching the limit of Moore’s law?

Software Read text section 17.2 Software complexity Software complexity –software engineering –formal i/o specification –code reviews, inspection, testing –formal verification  often too complex, but has been useful

Problems Complex problems Complex problems –many factors and variables –difficulty modeling –no “closed form” temp tomorrow = temp. today * pressure… –solved via large-scale simulation with lots of math dictating behavior of “cells” based on adjacent cells. turn crank, see what happens. –as moments increase, accuracy decreases

Problems Computational Complexity Running time of an algorithm is a function of input size Running time of an algorithm is a function of input size Some functions grow faster than others Some functions grow faster than others WAY faster WAY faster For some problems, we have efficient algorithms (functions that grow moderately). For some problems, we have efficient algorithms (functions that grow moderately). For others, the best known algorithms have running times that grow so fast that they are impractical, and always will be. For others, the best known algorithms have running times that grow so fast that they are impractical, and always will be. Some problems provably cannot be solved with a faster algorithm Some problems provably cannot be solved with a faster algorithm

Spreadsheet of running times and execution times at 1 billion steps/sec and execution times at 1 billion steps/secexercise: - create columns for n, n 2, n 3, 2 n, 3 n, n! - compute running times for n=10,20,…

UNCOMPUTABLE problems previous category were problems that could be solved, but known methods took too long previous category were problems that could be solved, but known methods took too long this category are problems for which we know: this category are problems for which we know: THEY CANNOT BE SOLVED BY ANY ALGORITHM WHATSOEVER

History Hilbert’s “program” Hilbert’s “program” Gödel’s undecidability theorem Gödel’s undecidability theorem Turing’s halting problem Turing’s halting problem Natural problems and consequences Natural problems and consequences

David Hilbert famous mathematician famous mathematician 23 problems 23 problems founder of founder of “metamathematics” “metamathematics” goal to “mechanize” goal to “mechanize”mathematics

Kurt Gödel Logician Logician Proved in 1931 …(age 25) Proved in 1931 …(age 25) “there are true propositions that cannot be proved” (i.e., “no” to Hilbert’s program) Shook the foundations of Shook the foundations of –mathematics –philosophy –science –everything

Alan Turing British Mathematician British Mathematician Seminal work in Computation, AI, Cryptanalysis Seminal work in Computation, AI, Cryptanalysis Subject of several books, movies Subject of several books, movies

A Halting Problem x = input (“please enter a positive number) WHILE x > 1: IF x is even: x = x/2 ELSE: x = 3x + 1

The Halting Problem Given: Program, Input to program Given: Program, Input to program Does the program on the input ever halt? Does the program on the input ever halt? Critical question that pervades all of computation Critical question that pervades all of computation Has much more broad consequences than it at first appears Has much more broad consequences than it at first appears

Hilbert’s 10th problem Finding integer solutions to a polynomial with integer coefficients: Finding integer solutions to a polynomial with integer coefficients: 15x 4 y 2 - 3xy 3 z 2 + 2x 2 z = 1 No algorithm exists for finding such solutions, or determining whether there are any. No algorithm exists for finding such solutions, or determining whether there are any.  in some cases you can find solutions, or tell that there is no solution. By “No algorithm exists” we mean there isn’t a general method that works for all possible polynomials.

Mathematical theorems… Given a possible theorem T, we’d like to know if T is true. Given a possible theorem T, we’d like to know if T is true. We need to find a proof of T. We need to find a proof of T. Can write a computer program P to enumerate all possible proofs for T, and check to see if any is a correct one. Can write a computer program P to enumerate all possible proofs for T, and check to see if any is a correct one. If P ever halts, it has found a correct proof. If P ever halts, it has found a correct proof. Thus, halting problem for P is question of whether or not T is provably true. Thus, halting problem for P is question of whether or not T is provably true.

Towards proving that the Halting Problem is unsolvable…

Warm-ups: Self-reference leads to paradox In a certain town, there is a barber who shaves all and only those who don’t shave themselves. In a certain town, there is a barber who shaves all and only those who don’t shave themselves. Homogenous words: self-describing Homogenous words: self-describing –“english”, “short”, “polysyllabic”, … Heterogenous words: non-self-describing –“spanish”, “long”, “monosyllabic”, …

Warm-ups: Self-reference leads to paradox I can force you to lie, if you answer my question with only “yes” or “no”: I can force you to lie, if you answer my question with only “yes” or “no”: Q: Will the next word you say be “no”? Q: Will the next word you say be “no”?

“Proof” of Halting problem Suppose there was an algorithm that could tell whether a program halted on given input……(and worked for all inputs) Suppose there was an algorithm that could tell whether a program halted on given input……(and worked for all inputs) We will show how this leads to a logical contradiction. When an assumption leads to a contradiction, the assumption must be false. We will show how this leads to a logical contradiction. When an assumption leads to a contradiction, the assumption must be false.

“Proof” of Halting problem Suppose there was an algorithm that could tell whether a program halted on given input…… program P data D “yes, P(D) halts” “no, P(D) doesn’t halt” halt-checker

Program Q program P data P “yes, P(P) halts” “no, P(P) doesn’t halt” program P purposely get into infinite loop!! halt and print “Q halts” halt-checker

Program Q when given itself program Q data Q yes, Q(Q) halts no, Q(Q) doesn’t halt program Q purposely get into infinite loop!! halt and print “Q halts” So, Program Q when run with program Q as input halts if and only if Program Q when run with program Q as input doesn’t halt! halt-checker This is a contradiction. Thus, no “halt-checker” can exist!!

Summary Impending hardware limitations ?? Impending hardware limitations ?? Software limitations due to how large and complex programs can become. Software limitations due to how large and complex programs can become. Running-time limitations because sometimes best algorithm runs too slow. Running-time limitations because sometimes best algorithm runs too slow. Some problems too complex to be modeled. Some problems too complex to be modeled. Some problems just have no algorithm. Some problems just have no algorithm.