Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.

Slides:



Advertisements
Similar presentations
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Advertisements

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.
Class 39: Universality cs1120 Fall 2009 David Evans University of Virginia.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
February 11, 2015CS21 Lecture 161 CS21 Decidability and Tractability Lecture 16 February 11, 2015.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
CHAPTER 4 Decidability Contents Decidable Languages
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Computability and Complexity 10-1 Computability and Complexity Andrei Bulatov Gödel’s Incompleteness Theorem.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
Prof. Busch - LSU1 Undecidable Problems (unsolvable problems)
What computers just cannot do. COS 116: 2/28/2008 Sanjeev Arora.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Introduction to Computer Science. A Quick Puzzle Well-Formed Formula  any formula that is structurally correct  may be meaningless Axiom  A statement.
Universal Turing Machine
More Theory of Computing
Introduction to the Theory of Computation
1 CO Games Development 2 Week 21 Turing Machines & Computability Gareth Bellaby.
Institute for Experimental Physics University of Vienna Institute for Quantum Optics and Quantum Information Austrian Academy of Sciences Undecidability.
Undecidable Languages (Chapter 4.2) Héctor Muñoz-Avila.
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.
Prabhas Chongstitvatana1 NP-Complete What is an algorithm What is a proof What is a hard problem NP-Complete problems -- practical problems that are strongly.
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.
Turing Machines and the Halting Problem This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To.
Great Theoretical Ideas in Computer Science.
Great Theoretical Ideas in Computer Science.
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)
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Copyright © Curt Hill Proofs An Introduction.
Chapter 4 Computation Chapter 4: Computation.
NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,
Recursively Enumerable and Recursive Languages
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
On computable numbers, with an application to the ENTSCHEIDUNGSPROBLEM COT 6421 Paresh Gupta by Alan Mathison Turing.
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:
Theory of Computation Automata Theory Dr. Ayman Srour.
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis (Winter 2016, these slides were also used for Day 33)
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis Delayed due dates for HWs See updated schedule page. No class meeting.
Chapters 11 and 12 Decision Problems and Undecidability.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
CS 461 – Nov. 2 Sets Prepare for ATM finite vs. infinite Infinite sets
Introduction to Computing Science and Programming I
CIS Automata and Formal Languages – Pei Wang
Computable Functions.
Recursively Enumerable and Recursive Languages
CS154, Lecture 11: Self Reference, Foundation of Mathematics
Great Theoretical Ideas in Computer Science
Homework: Friday Read Section 4.1. In particular, you must understand the proofs of Theorems 4.1, 4.2, 4.3, and 4.4, so you can do this homework. Exercises.
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
No Proof System for Number Theory Reduction to Halting Problem
Decidable Languages Costas Busch - LSU.
CS21 Decidability and Tractability
Recall last lecture and Nondeterministic TMs
Prabhas Chongstitvatana
Class 24: Computability Halting Problems Hockey Team Logo
CS154, Lecture 11: Self Reference, Foundation of Mathematics
CSE 311: Foundations of Computing
CO Games Development 2 Week 21 Turing Machines & Computability
Presentation transcript:

Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural systems? What are the limits of computation? Are there things that cannot be “computed”?

Some history... Hilbert’s problems (1900) –Is mathematics complete? –Is mathematics consistent? –Is mathematics decidable? David Hilbert, 1862 −  1943

Some history... Hilbert’s problems (1900) –Is mathematics complete? Can every mathematical statement be proved or disproved from a finite set of axioms? –Is mathematics consistent? –Is mathematics decidable? David Hilbert, 1862 −  1943

Some history... Hilbert’s problems (1900) –Is mathematics complete? Can every mathematical statement be proved or disproved from a finite set of axioms? –Is mathematics consistent? Can only the true statements be proved? –Is mathematics decidable? David Hilbert, 1862 −  1943

Some history... Hilbert’s problems (1900) –Is mathematics complete? Can every mathematical statement be proved or disproved from a finite set of axioms? –Is mathematics consistent? Can only the true statements be proved? –Is mathematics decidable? Is there a “definite procedure” that can be applied to every statement that will tell us in a finite time whether the statement is true or false? David Hilbert, 1862 −  1943

Gödel’s incompleteness theorem: Arithmetic (and more complex systems of mathematics) must either be incomplete or inconsistent (or both) Kurt Gödel, 1906 −  1978

Gödel’s incompleteness theorem: Arithmetic (and more complex systems of mathematics) must either be incomplete or inconsistent (or both) “This statement is unprovable.” Kurt Gödel, 1906 −  1978

The “Entscheidungs” (decision) problem Is there a “definite procedure” (effective method) that can be applied to every statement that will tell us in a finite time whether the statement is true or false? What is a “definite procedure”?

Turing machines Alan Turing, 1912 −  1954

Simple example: Even or Odd?

Symbols: 0, 1, blank States: start, even, odd, halt Simple example: Even or Odd Number of 1s?

Symbols: 0, 1, blank States: start, even, odd, halt Simple example: Even or Odd Number of 1s? Quintuple: {0, Start -> blank, even, rt}

Symbols: 0, 1, blank States: start, even, odd, halt Simple example: Even or Odd Number of 1s?

Turing machine = “definite procedure”

Turing machine applet

Encoding a Turing Machine Goal: encode TM rules as a binary string

Encoding a Turing Machine Goal: encode TM rules as a binary string Possible code: StatesSymbolsActions start = 000‘0’ = 000move_right = 000 even = 001‘1’ = 001move_left = 111 odd = 010‘blank’ = 100 halt = 100 separator (―)= 111

Encoding a Turing Machine Goal: encode TM rules as a binary string Possible code: StatesSymbolsActions start = 000‘0’ = 000move_right = 000 even = 001‘1’ = 001move_left = 111 odd = 010‘blank’ = 100 halt = 100 separator (―)= 111 What does Rule 1 look like using this code?

Universal Turing Machine Special “universal” Turing machine U Input on U’s tape: code for some other Turing machine M, plus input I for that Turing machine Universal TM U “runs M on I” In other words, U is simply a programmable computer!

Turing’s solution to the Entscheidungs problem Recall the Entscheidungs problem: Is there always a definite procedure that can decide whether a statement is true? What Turing did: 1. Proposed a particular statement 2. Assume there exists a definite procedure (= Turing machine H) for deciding the truth or falsity of this statement 3. Prove that H cannot exist.

Turing’s proof that H cannot exist Let U(M, I) denote the results of having universal TM U run M on I Turing’s key insight: can have I = M  –That is, can have U(M, M  ) Example of this in your day-to-day experience? Can also have U(M, M) Example?

Turing’s proof that H cannot exist Proof (by contradiction): Statement: = “Turing Machine M, when run on input I, will halt after a finite number of time steps.” (Example of machine that does not halt?) Assume H exists, such that H(M, I) will answer “yes” if M halts on I; “no” if it does not, for any M, I. (Will later show this leads to a contradiction.)

Problem of designing H is called the “Halting Problem”. Not clear how to design H, but let’s assume it exists. Given H, let’s create H  as follows: –H  takes as input the code of a Turing machine M –H  then runs H(M,M) –If H(M,M) answers “yes” (i.e., “yes, M halts on input M”), then H  goes into an infinite loop. –If H(M,M) answers “no” (i.e., “no, M does not halt on input M”), then H  halts. Now, Turing asked, does H’ halt when given H’ as input?

Recap In the 1930s, Turing formalized the notion of “definite procedure” This formalization opened the door for the invention of programmable computers in the 1940s. Turing machines were blueprints for the “von-Neumann architecture”. Turing also showed that there are limits to what can be computed. 19 th century: all seemed possible in science and mathematics 20 th century: limits to prediction and determinism (quantum mechanics, chaos); limits to mathematics and computation 21 st century: ?