COMP-330 Theory of Computation Fall 2017 -- Prof. Claude Crépeau Lec. 16 : Turing Machines
COMP 330 Fall 2017: Lectures Schedule 1-2. Introduction 1.5. Some basic mathematics 2-3. Deterministic finite automata +Closure properties, 4. Nondeterministic finite automata 5. Minimization 6. Determinization+Kleene s theorem 7. Regular Expressions+GNFA 8. The pumping lemma 9. Myhill-Nerode theorem 10. Context-Free Grammar 11. PushDown automata 12.CFG - PDA equivalence 13. CFG Pumping lemma and applications 14. MIDTERM 15-16. Deterministic CFLs 16-17. Turing Machines and Church-Turing Thesis 17. Models of computation Basic computability theory 18. Reducibility, undecidability and Rice s theorem 19. Undecidable problems about CFGs 20. Post Correspondence Problem 21. Validity of FOL is RE / Gödel s and Tarski s thms 22. Universality / The recursion theorem 23. Degrees of undecidability 24. Introduction to complexity 25. Introduction to Quantum Computing/Complexity 26. Review of course material
All languages Computability Theory Languages we can describe Decidable Languages Context-free Languages Regular NON-Regular Languages via Pumping Lemma Languages NON-Regular Languages via Reductions
All languages Computability Theory Languages we can describe Decidable Languages Context-free Languages Regular Languages NON-CFLs via Pumping Lemma NON-CFLs via Reductions
All languages Computability Theory Decidable Languages Languages. we can describe Context-free Languages Regular Languages NON-decidable via Diagonalization NON-decidable via Reductions
Turing MACHINES Alan Turing
M1
M 1 q1 10010101
M 1 1 q2 10010101
M 1 0 q3 10010101
M 1 1 q2 10110101 read and write! moves Right and Left!
M 1 0 q3 10110101
Turing Machines
TM Example
Definition of TM States q1 q2 q3 a,b,c Tape Alphabet a,b,c,a,b,c,_ Input Alphabet Transition function Start state Accept state Reject state b c,d q1 q2
Definition of TM q2 q 3 q1 L or R States output head input symbol move Input Alphabet a,b,c symbol b c,d Tape Alphabet a,b,c,a,b,c,_ Transition function q1 b c,d Start state q1 Accept state Reject state q2 q2
Definition of TM States q2 q1 q3 a,b,c Tape Alphabet a,b,c,a,b,c,_ Input Alphabet Transition function Start state q1 Accept state qacc Reject state qrej b c,d q1 q2
TM definition
TM Configuration
TM Computation
TM definition For all a,b,c Γ, u,v Γ*, qi,qi Q Config. ua qi bv yields config. u qj acv if δ(qi,b) = qj,c,l Config. ua qi bv yields config. uac qj v if δ(qi,b) = qj,c,r Special cases: Config. q i bv yields qj cv if δ(qi,b) = qj,c,l Config. q i bv yields c qj v if δ(qi,b) = qj,c,r
TM Computation Start configuration: q0 w (w = input string) Accepting configuration: state = qaccept Rejecting configuration: state = qreject
TM Computation Turing Machine M accepts input w if there exists configurations C0, C1,..., Cm such that C0 is a start configuration Ci yields Ci+1 for 0 i<m Cm is an accepting configuration. The collection of strings that M accepts is the language of M or the language recognized by M, denoted L(M).
TM Computation A TM decides a language if it recognizes it and halts (reaches an accepting or rejecting states) on all input strings.
TM Computation A TM decides a language if it recognizes it and halts (reaches an accepting or rejecting states) on all input strings. 1 Often named Recursively-Enumerable in the literature. 2 Often named Recursive in the literature.
TM Examples
TM Examples
TM Computation
TM Examples
\ { #, _ } \ { x, _ }
TM Examples
TM Examples
TM Examples
More Turing MACHINES Multitape Turing Machines Non-Deterministic Turing Machines Enumerator Turing Machines Everything else...
Multitape TM
Multitape TM
Multitape TM
Multitape TM
Non-deterministic TM
Non-deterministic TM
Non-deterministic TM
Enumerator TM
Enumerator TM
Enumerator TM
Enumerator TM
Enumerator TM
Everything Else Lambda-calculus Alonzo Church Recursive Functions Programming languages: FORTRAN, PASCAL, C, JAVA,... Stephen Kleene LISP, SCHEME,... J. Barkley Rosser
Everything Else Lambda-calculus Alonzo Church Recursive Functions Programming languages: FORTRAN, PASCAL, C, JAVA,... Stephen Kleene LISP, SCHEME,... J. Barkley Rosser
Everything Else Lambda-calculus Alonzo Church Recursive Functions Programming languages: FORTRAN, PASCAL, C, JAVA,... Stephen Kleene LISP, SCHEME,... J. Barkley Rosser
Church-Turing Thesis Alonzo Church Alan Turing
Church-Turing Thesis
Paris, 1900 David Hilbert Speaking on 8 August 1900, at the Paris 2 nd International Congress of Mathematicians, at La Sorbonne, German mathematician David Hilbert presented ten problems in mathematics. The problems were all unsolved at the time, and several of them turned out to be very influential for 20 th century mathematics.
Hilbert s 10 th problem Let P be a polynomial in several variables: P(x,y,z)=24x 2 y 3 +17x+5y+25 Is there a set of integers for x,y,z such that P(x,y,z)=0? This problem is undecidable... but is Turing-Recognizable... Needed a formal model of computing to prove impossibility. Yuri Matiyasevich
Single variable Poly
COMP-330 Theory of Computation Fall 2017 -- Prof. Claude Crépeau Lec. 16 : Turing Machines & Church-Turing Thesis