Computability Construct TMs. Decidability. Preview: next class: diagonalization and Halting theorem.

Slides:



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

Chapter 5 Pushdown Automata
Variants of Turing machines
The Recursion Theorem Sipser – pages Self replication Living things are machines Living things can self-reproduce Machines cannot self reproduce.
Turing -Recognizable vs. -Decidable
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.2: Variants of Turing Machines) David Martin With.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
More Turing Machines Sipser 3.2 (pages ). CS 311 Fall Multitape Turing Machines Formally, we need only change the transition function to.
Introduction to Computability Theory
More Turing Machines Sipser 3.2 (pages ).
Decidable languages Sipser 4.1 (pages ). CS 311 Mount Holyoke College 2 Hierarchy of languages All languages Turing-recognizable Turing-decidable.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
1 … NPDAs continued. 2 Pushing Strings Input symbol Pop symbol Push string.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Decidability. Why study un-solvability? When a problem is algorithmically unsolvable, we realize that the problem must be simplified or altered before.
CS 310 – Fall 2006 Pacific University CS310 Decidability Section 4.1/4.2 November 10, 2006.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 6 Decidability Jan Maluszynski, IDA, 2007
Linear Bounded Automata LBAs
Foundations of (Theoretical) Computer Science Chapter 4 Lecture Notes (Section 4.1: Decidable Languages) David Martin With modifications.
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
CS5371 Theory of Computation Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)
111 Computability, etc. Recap. Present homework. Grammar and machine equivalences. Turing history Homework: Equivalence assignments. Presentation proposals,
TM Design Universal TM MA/CSSE 474 Theory of Computation.
Turing Machines – Decidability Lecture 25 Section 3.1 Fri, Oct 19, 2007.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
CSCI 2670 Introduction to Theory of Computing October 12, 2005.
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Computability Review homework. Video. Variations. Definitions. Enumerators. Hilbert's Problem. Algorithms. Summary Homework: Give formal definition of.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Recursively Enumerable and Recursive Languages
1 Section 13.1 Turing Machines A Turing machine (TM) is a simple computer that has an infinite amount of storage in the form of cells on an infinite tape.
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
Recall last lecture and Nondeterministic TMs Ola Svensson.
 2005 SDU Lecture11 Decidability.  2005 SDU 2 Topics Discuss the power of algorithms to solve problems. Demonstrate that some problems can be solved.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Decidable.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
Computability Joke. Context-free grammars Parsing. Chomsky
Busch Complexity Lectures: Turing Machines
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
Reductions Costas Busch - LSU.
CSE 105 theory of computation
CSE 105 theory of computation
CSE 2001: Introduction to Theory of Computation Fall 2013
CSCI 2670 Introduction to Theory of Computing
Turing Machines Acceptors; Enumerators
CSE322 The Chomsky Hierarchy
Jaya Krishna, M.Tech, Assistant Professor
Decidable Languages Costas Busch - LSU.
Non Deterministic Automata
Decidable and undecidable languages
CS21 Decidability and Tractability
Decidability and Tractability
… NPDAs continued.
CSE 105 theory of computation
Automata, Grammars and Languages
The Chomsky Hierarchy Costas Busch - LSU.
CSE 105 theory of computation
Presentation transcript:

Computability Construct TMs. Decidability. Preview: next class: diagonalization and Halting theorem.

Homework/Classwork Last Thursday, I showed a design for a TM that accepts {ww | w a string in {0,1}*}. It was decidable (always halts). What about – {a n b n c n | n>=0}

Homework Video: reactions to video including reading from one of the original Turing papers?

Enumerator Recall: this was a type machine that takes no input but prints out members of a language L. – If a language is Turing Recognizable, then there exists (we can design) an enumerator that prints out members of the language. If there exists an enumerator for a language L, then there is a TM that recognizes it. – IF a language is decidable, we can build an enumerator that prints out the strings in lexical order. If an enumerator prints out the machines in lexical order, then it is Turing decidable. Note: we aren't saying that if a given enumerator doesn't print out the strings in lexical order, there couldn't be another one that does….

Enumerator Homework/classwork Provide formal definition of enumerator

Decidable vs Turing Recognizable A language is decidable if there is a TM that accepts the language and always halts. A language is Turing-recognizable if there is a TM that accepts the language and may or may not halt on some of the strings NOT in the language. All decidable languages are TM recognizable.

Hierarchy Bull's eye Each is contained in and strictly smaller than next: FSM  NDFSM  regular expressions (deterministic push down automaton) Push Down Automation  Context Free Grammars Turing decidable  nondeterministic TM decidable Turing recognizable  nondeterministic TM recognizable

Decidability question The language { | B is a FSM that accepts w} is decidable. That is, there exists a TM that says yes for a when B accepts w, and says no (stops and says no) if B does not accept w. Informal proof: – Assume some encoding of B that a TM can check. If the first part of input doesn't fit a valid encoding for a FSM, reject. First states of TM check the encoding – Add to TM the simulation for B. Also record on the tape the state and the position scanning w. Do simulation. When done (known by position), check if state is accepting state.

More… The language { | E is a regular expression that generates w} is decidable – convert E to FSM – Build TM to simulate the FSM. Try on w. – Accept or reject

The language { | A is a FSM and L(A) is empty} is decidable Design encoding for FSM: list states and list triples representing the arcs: pairs of states and the letter. Build TM that checks for valid encoding. Note: alphabet includes symbol for each state. Grow alphabet to include marked state for every state symbol. Add to the TM coding that does following marking: mark start state. Scanning the triples, mark any state that has a transition from a marked state. Repeat for new round. Stop when no new state has been marked in the round. So this will take at most N rounds when N is number of states. Are any accept states marked? If yes, accept; otherwise reject.

Context Free Grammar { | B is a CFG and generates w} is decidable. Informal proof: – Generate the CFG in Chomsky normal form that is equivalent to B. Claim: If length of w is n, there is a derivation of w that is not greater than 2n + 1 steps. – Given the limit on the size of the parse tree/number of derivations, CLAIM we can construct a TM that tries each one.

Parse tree A B S A1 B1 A2 B2 ….. w1 w2 w3 … wn 2*n -1 derivations

CFG case The fact that the number of derivations is bounding means that the TM knows when it has checked enough possibilities and can reject if there isn't a parse tree!!!

Preview: Halting problem Take two inputs: encoding of a TM T and input w for that TM and simulate / run T on w. Will show that { |M is a TM and w is a string and M accepts w} is – Turing-recognizable but not – Turing-decidable