Summary of Previous Class There are languages that are not decidable –(we have not proved this yet) Why not extend Turing machines just as we did with.

Slides:



Advertisements
Similar presentations
Multi-tape Turing Machines: Informal Description
Advertisements

Chapter 5 Pushdown Automata
Variants of Turing machines
Pushdown Automata CPSC 388 Ellen Walker Hiram College.
Pushdown Automata Chapter 12. Recognizing Context-Free Languages We need a device similar to an FSM except that it needs more power. The insight: Precisely.
RECAP CSE 318. Final Exam Cumulative: –Regular languages, automata: 20% –Context-free languages, pushdown automata: 20% –Turing machines, decidable, recognizable,
Recap CS605: The Mathematics and Theory of Computer Science.
Turing Machines (At last!). Designing Universal Computational Devices Was Not The Only Contribution from Alan Turing… Enter the year 1940: The world is.
CS605 – The Mathematics and Theory of Computer Science Turing Machines.
CS21 Decidability and Tractability
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.
More Turing Machines Sipser 3.2 (pages ).
Courtesy Costas Busch - RPI1 Non Deterministic Automata.
1 … NPDAs continued. 2 Pushing Strings Input symbol Pop symbol Push string.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS 490: Automata and Language Theory Daniel Firpo Spring 2003.
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
CS 310 – Fall 2006 Pacific University CS310 Variants of Turing Machines Section 3.2 November 8, 2006.
Costas Busch - LSU1 Non-Deterministic Finite Automata.
Chapter 9 Turing Machine (TMs).
CS 3240: Languages and Computation Pushdown Automata & CF Grammars NOTE: THESE ARE ONLY PARTIAL SLIDES RELATED TO WEEKS 9 AND 10. PLEASE REFER TO THE TEXTBOOK.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
CS490 Presentation: Automata & Language Theory Thong Lam Ran Shi.
CSE202: Introduction to Formal Languages and Automata Theory Chapter 9 The Turing Machine These class notes are based on material from our textbook, An.
Pushdown Automata (PDAs)
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Push-down Automata Section 3.3 Fri, Oct 21, 2005.
Turing Machines Chapter 17. Languages and Machines SD D Context-Free Languages Regular Languages reg exps FSMs cfgs PDAs unrestricted grammars Turing.
Computability Chapter 5. Overview  Turing Machine (TM) considered to be the most general computational model that can be devised (Church-Turing thesis)
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
1 Turing machines Chapter 4, Smith and Kimber. A Turing machine is an abstraction of a human “computer”. Consists of - control, in the form of states -
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.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
THE CONVENTIONS 2 simple rules: Rule # 1: Rule # 2: RR “move to the right until you find  “ Note: first check. Then move (think of a “while”) “Never.
Unrestricted Grammars
1 8.4 Extensions to the Basic TM Extended TM’s to be studied: Multitape Turing machine Nondeterministic Turing machine The above extensions make no increase.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
CS6800 Advance Theory of Computation Spring 2016 Nasser Alsaedi
Lecture 11  2004 SDU Lecture7 Pushdown Automaton.
Recap: Nondeterministic Finite Automaton (NFA) A deterministic finite automaton (NFA) is a 5-tuple (Q, , ,s,F) where: Q is a finite set of elements called.
Non Deterministic Automata
Busch Complexity Lectures: Reductions
Reductions Costas Busch - LSU.
CS21 Decidability and Tractability
Theorem 29 Given any PDA, there is another PDA that accepts exactly the same language with the additional property that whenever a path leads to ACCEPT,
Pushdown Automata.
Pushdown Automata.
(Universal Turing Machine)
CSCI 2670 Introduction to Theory of Computing
Turing Machines (At last!).
Formal Definition Definition. A Turing machine is a 5-tuple (S, , , s, H), where: S is a set of states  is an alphabet It must contain  and . It cannot.
Chapter 3: The CHURCH-Turing thesis
Intro to Theory of Computation
Turing Machines Chapter 17.
Turing-Enumerable (Part II)
Non-Deterministic Finite Automata
Decidable Languages Costas Busch - LSU.
8. Introduction to Turing Machines
Non Deterministic Automata
Decidable Languages A language L is decidable if there is a Turing machine ML such that given any word w  0*, then: Input of ML: a  b  … w Output of.
CS21 Decidability and Tractability
Variations of the Turing Machine
Recall last lecture and Nondeterministic TMs
Decidability and Tractability
Variants of Turing machines
Intro to Theory of Computation
Presentation transcript:

Summary of Previous Class There are languages that are not decidable –(we have not proved this yet) Why not extend Turing machines just as we did with finite automata and pushdown automata? First Try: multi-tape Turing machines –More convenient than Turing machines –But multi-tape Turing machines can be simulated with Turing machines –Therefore, anything we can do with a multi-tape Turing machines can be done with Turing machines On the bright side we can use this to our advantage!

Second Try: Multi-Head Turing Machines Control We add a finite number of heads for the same tape … a1a1 a2a2  Tape head 1 … head 2 head n

ab  Tape ab State: s Configuration in a 2-header Turing Machine: s+b+1 s+b+1+b+2 Equivalent configuration in a Turing Machine ab 11 ab  22   ee       33

Example: Proof that Palindromes is Decidable

Nondeterministic Turing Machines Definition. A Nondeterministic Turing machine is a 5-tuple (S, , , s, H), where: S is a set of states  is an alphabet. It must contain and . It cannot contain  or  s  S is the initial state H  S is the set of halting states

Nondeterministic Turing Machine (II)  is a collection of transitions defined by the relation:   ((S-H)   )  (S  (   ( ,  })) such that: 1.For any q  S – H, if ((q,  ),(p,  ))   then  =  or  =  2.There cannot be any p, q  S and α   – {  } such that ((p, α),(q,  ))   (that is,  cannot be added) The difference between nondeterministic Turing machines and Turing machines is that the latter requires to have one and only one transition of the form ((q,  ),(_,_)) for every q  S-H and   

What does Nondeterministic Turing Machine Do? Reminder: When a word is accepted by a nondeterministic automata? Given an NFA, a string w   *, is accepted by A if at least one of the configurations yielded by (s,w) is a configuration of the form (f,e) with f a favorable state (s,w)  (p,w’)  …  (q,w’’) with w’’  e (s,w)  (p,w’)  …  (q,e) with q  F … (s,w)  (p,w’)  …  (f,e)  … We will do something similar for nondeterministic TMs

What does Nondeterministic Turing Machine Do? (2) Definition. A nondetermistic Turing machine NM semidecides a language L if: If w  L then at least one possible computation of NM halts If w  L then no computation of NM halts

Example of Nondeterministic TM Find a nondeterminstic TM semideciding the language a*ab*b Solution: C 0 = (s,  aab) (p,  aab) ∞ (q,  aab) ∞ (q,  aab) halt (f,  aab) p q f  a a  b b Halt ML: Assumption: unspecified transitions will caused the Turing machine to run in an endless loop

Nondeterministic TMs can be Simulated by TMs Theorem. If a nondeterministic Turing machine, NM, semidecides a language L, then there is a Turing machine, M, semideciding L

Nondeterministic TMs can be Simulated by TMs Idea: C 0 = (s,  hRS) C 11 C 12 C 13 … C 21 C 22 C 1n … … Simulate all computations in NM by computing them doing breadth-first order NM: C0C0  C 11 C 12 C 13 … C 1n  C 21 C 22 … … If w  L one of the C ij is a halting configuration: (h,  …) which will also be found by M Let w = hRS M:M:

Context-Free Languages are Turing- Computable (Decidable) Let L be a context-free language Let A be a pushdown automata accepting L We simulate the pushdown automata A using a 2-tape nondeterministic Turing machine, M. The second tape is used for simulating the stack The header of the first tape points to the next character to be processed and the header of the second tape points to the last element (top of the stack)

Context-Free Languages are Turing- Computable (Decidable, II) For each transition ((q, , ), (q’,  )) in A, we construct several transitions in M doing the following steps: 1.Check if the next substring is  (one transition per character in , moving once the header of tape 1 to the right) 2.Check if the top of the stack is (one transition per character in, moving once the header of tape 2 to the left and putting blank character) 3.If 1 and 2 hold, “push”  on tape 2

Possible Extensions of Turing Machines Turing Machines PhysicalComputational Adding several tapes Adding several heads Matrix Non determinism None of these extensions add computational power to the Turing Machines “no one can be told what the Matrix is, you have to see it for your self”