November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 1 Languages Accepted by Turing Machines Example 2: Language L =

Slides:



Advertisements
Similar presentations
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 17: ProvingUndecidability.
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Class 39: Universality cs1120 Fall 2009 David Evans University of Virginia.
Programming Languages Wrap-up. Your Toolkit Object-oriented Imperative Functional Logic.
October 13, 2009Theory of Computation Lecture 11: A Universal Program III 1 Coding Programs by Numbers Gödel numbers are usually very large, even for small.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Decidable A problem P is decidable if it can be solved by a Turing machine T that always halt. (We say that P has an effective algorithm.) Note that the.
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.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
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.
CS 302: Discrete Math II A Review. An alphabet Σ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x.
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
Recursively Enumerable and Recursive Languages
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
CS 310 – Fall 2006 Pacific University CS310 Turing Machines Section 3.1 November 6, 2006.
Fall 2004COMP 3351 The Chomsky Hierarchy. Fall 2004COMP 3352 Non-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free.
Lecture 5 Turing Machines
October 29, 2009Introduction to Cognitive Science Lecture 14: Theory of Computation I 1 Finite Automata Example 2: Can we build a finite automaton that.
CS1001 Lecture 23. Overview Incompleteness and the Halting Problem Incompleteness and the Halting Problem Methods in Artificial Intelligence Methods in.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
1 Foundations of Software Design Fall 2002 Marti Hearst Lecture 29: Computability, Turing Machines, Can Computers Think?
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
Turing Machines CS 105: Introduction to Computer Science.
Class 19: Undecidability in Theory and Practice David Evans cs302: Theory of Computation University of Virginia Computer.
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
Introduction to Computer Science. A Quick Puzzle Well-Formed Formula  any formula that is structurally correct  may be meaningless Axiom  A statement.
More Theory of Computing
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
Cs3102: Theory of Computation Class 18: Proving Undecidability Spring 2010 University of Virginia David Evans.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
1 Turing Machines There are languages that are not context-free. What can we say about the most powerful automata and the limits of computation?. Alan.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
How Solvable Is Intelligence? A brief introduction to AI Dr. Richard Fox Department of Computer Science Northern Kentucky University.
Halting Problem Introduction to Computing Science and Programming I.
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.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Capabilities of computing systems Numeric and symbolic Computations A look at Computability theory Turing Machines.
Chapter 15 P, NP, and Cook’s Theorem. 2 Computability Theory n Establishes whether decision problems are (only) theoretically decidable, i.e., decides.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
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.
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 5 Reducibility Some slides are in courtesy.
Undecidability and The Halting Problem
Recall last lecture and Nondeterministic TMs Ola Svensson.
Turing Machines CS 130 Theory of Computation HMU Textbook: Chap 8.
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:
Turing Machines- Cont. Theory of Computation Lecture 11 Tasneem Ghnaimat.
Computability. Turing Machines Read input letter & tape letter, write tape letter, move left or right.
1 Recursively Enumerable and Recursive Languages.
Introduction to Computing Science and Programming I
Recursively Enumerable and Recursive Languages
Theory of Computation Lecture 12: A Universal Program III
Linear Bounded Automata LBAs
CS154, Lecture 11: Self Reference, Foundation of Mathematics
Jaya Krishna, M.Tech, Assistant Professor
Decidable Languages Costas Busch - LSU.
Chapter 3 Turing Machines.
Computability and Complexity
CS154, Lecture 11: Self Reference, Foundation of Mathematics
Theory of Computation Lecture 11: A Universal Program III
Presentation transcript:

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 1 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/B a/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 2 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BaabbB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 3 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabbB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 4 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabbB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 5 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabbB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 6 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabbB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 7 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabbB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 8 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabbB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 9 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 10 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 11 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 12 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 13 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBabBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 14 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBBbBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 15 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBBbBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 16 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBBbBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 17 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBBbBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 18 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBBBBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 19 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 B/Ba/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBBBBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 20 Languages Accepted by Turing Machines Example 2: Language L = {a [n] b [n] | n > 0} on the alphabet {a, b}. q7q7q7q7 q1q1q1q1 q2q2q2q2 Accept!a/B q3q3q3q3 q8q8q8q8 q6q6q6q6 q5q5q5q5b/L a/L b/L B/L q4q4q4q4b/B B/R a/R b/R B/L B/R … BBBBBB… ↑

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 21 TMs as Computers So what languages can Turing machines accept? This class of languages is called the recursively enumerable languages. For example, it includes the language L = {a [n] b [n] | n > 0}, which is not a regular language. This shows that the unlimited memory leads to increased computational capabilities. But what about the functions that Turing machines can compute? (After the TM halts, the symbols on the tape can be regarded as the output of the TM, or the result of the function it computes.)

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 22 Church’s Thesis Church’s thesis: Any function that can be algorithmically computed can also be computed by a Turing machine. Why is it only a thesis? There is no general mathematical definition of algorithm – it is always specific to a particular scheme, i.e., a programming language. Therefore, Church’s thesis cannot be proved. However, no counterexample has been found, and no scientist seriously doubts that Church’s thesis is correct.

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 23 The Halting Problem Are there any functions that cannot be computed? Yes! The most famous of those is the halting problem. Let us enumerate all possible Turing machines, i.e., give them numbers 1, 2, 3, … Then the function HALT(x, y) is true if Turing machine y terminates when given input x, and is false otherwise. Here comes a surprise: HALT(x, y) is not a computable function.

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 24 The Halting Problem Because of Church’s thesis, we can state the halting problem in a more general form: There exists no algorithm that can decide for any other algorithm whether its computation will ever halt for a given input.

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 25 The Halting Problem It may surprise you that there is no algorithm for solving the halting problem. But did we not assume that the Theory of Computation applies to all things that compute, including our brains? And is it not possible for a computer scientist to analyze a given program and find out whether it will terminate for a particular input or not (even if this analysis takes a very long time)? No, actually we can devise a very simple Turing machine or computer program for which to date nobody is able to tell whether it will ever terminate.

November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 26 The Halting Problem This program is based on Goldbach’s conjecture, which assumes that every even number  4 is the sum of two prime numbers. For example, 4 = 2 + 2, 6 = 3 + 3, 48 = It was first stated by Goldbach in 1742, and despite great efforts, nobody has ever been able to prove or disprove it. It would be easy to build a Turing machine or write a C, Java, or Basic program that searches for a counterexample to this conjecture. Nobody knows whether this program will ever halt.