Turing Machines – Decidability Lecture 25 Section 3.1 Fri, Oct 19, 2007.

Slides:



Advertisements
Similar presentations
Algorithms Sipser 3.3 (pages ). CS 311 Fall Computability Hilbert's Tenth Problem: Find a process according to which it can be determined.
Advertisements

Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only.
Introduction to Computability Theory
Variants of Turing machines
Turing -Recognizable vs. -Decidable
Reducibility 2 Theorem 5.1 HALT TM is undecidable.
Applied Computer Science II Chapter 3 : Turing Machines Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany.
Algorithms Sipser 3.3 (pages ). CS 311 Mount Holyoke College 2 Computability Hilbert's Tenth Problem: Find “a process according to which it can.
Turing machines Sipser 2.3 and 3.1 (pages )
More Turing Machines Sipser 3.2 (pages ). CS 311 Fall Multitape Turing Machines Formally, we need only change the transition function to.
Turing machines Sipser 2.3 and 3.1 (pages )
Mapping Reducibility Sipser 5.3 (pages ).
More Turing Machines Sipser 3.2 (pages ).
Mapping Reducibility Sipser 5.3 (pages ). CS 311 Fall Computable functions Definition 5.17: A function f:Σ*→Σ* is a computable function.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
Turing Machines New capabilities: –infinite tape –can read OR write to tape –read/write head can move left and right q0q0 input tape.
FLAC Lecture 19 Turing Machines and Real Life * Reductions Mihai Budiu March 3, 2000.
Reducibility A reduction is a way of converting one problem into another problem in such a way that a solution to the second problem can be used to solve.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
CS 310 – Fall 2006 Pacific University CS310 Turing Machines Section 3.1 November 6, 2006.
Lecture 5 Turing Machines
Turing Machines.
CS5371 Theory of Computation Lecture 10: Computability Theory I (Turing Machine)
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Cs3102: Theory of Computation Class 17: Undecidable Languages Spring 2010 University of Virginia David Evans.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
Computability Construct TMs. Decidability. Preview: next class: diagonalization and Halting theorem.
Push-down Automata Section 3.3 Fri, Oct 21, 2005.
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Part 1 – Pages COMPUTABILITY THEORY.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 16: Universality and Undecidability.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 7 Undecidability cont. Jan Maluszynski, IDA, 2007
Turing -Recognizable vs. -Decidable
Lecture 9  2010 SDU Lecture9: Turing Machine.  2010 SDU 2 Historical Note Proposed by Alan Turing in 1936 in: On Computable Numbers, with an application.
Computability Review homework. Video. Variations. Definitions. Enumerators. Hilbert's Problem. Algorithms. Summary Homework: Give formal definition of.
CS 3240: Languages and Computation
CSCI 2670 Introduction to Theory of Computing October 7, 2004.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
Turing Machines – Examples Lecture 24 Section 3.1 Wed, Oct 17, 2007.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Turing Machines- Cont. Theory of Computation Lecture 11 Tasneem Ghnaimat.
CSCI 2670 Introduction to Theory of Computing September 29, 2005.
Theory of Computation Automata Theory Dr. Ayman Srour.
Fall 2006Costas Busch - RPI1 RE languages and Enumerators.
Recursively Enumerable Languages
Busch Complexity Lectures: Turing Machines
Busch Complexity Lectures: Reductions
Reductions Costas Busch - LSU.
CS21 Decidability and Tractability
Pumping Lemma Revisited
Deterministic Finite Automata
Computing with Turing Machines
Turing Machines 2nd 2017 Lecture 9.
CSE 105 theory of computation
Decidability and Enumerability
Turing acceptable languages and Enumerators
Chapter 3: The CHURCH-Turing thesis
CSE 105 theory of computation
Turing acceptable languages and Enumerators
CS21 Decidability and Tractability
Decidability and Tractability
CSE 105 theory of computation
CSE 105 theory of computation
Formal Definitions for Turing Machines
CSE 105 theory of computation
CSE 105 theory of computation
Presentation transcript:

Turing Machines – Decidability Lecture 25 Section 3.1 Fri, Oct 19, 2007

Turing Machine as Calculator Design a Turing Machine that will compare (<) two integers. Input: 0110#11100 Output: 1 (true) Input: 11100#0110 Output: 0 (false)

Turing Machine as Calculator Design a Turing Machine that will add two integers. Input: 0110#11100 Output:

Turing Machine as Calculator Design a Turing Machine that will multiply two integers. Input: 0110#11100 Output:

Turing Machine as Calculator Design a Turing Machine that will find the square root of an integer. Input: Output: 101

Configurations The current “state” of a Turing machine is fully described by specifying The current state, The current tape position, The current tape contents.

Configurations This can be summarized in a triple uqv, called a configuration, where u, v   * and q  Q. The interpretation is The current state is q. The current tape content is uv. The current tape position is at the first symbol in v.

Computations We say that a configuration C 1 yields a configuration C 2 if there is a transition that takes the Turing machine from C 1 to C 2. A computation is a sequence of configurations C 1, …, C n, where C i yields C i + 1 for i = 1, …, n – 1.

Example Our machine that accepts {w#w} will perform the following computation on input 101#101: q 0 101#101 $q 3 01#101 $0q 3 1#101 $01q 3 #101 $01#q 4 101

Example $01q 5 #$01 $0q 6 1#$01 $q 6 01#$01 q 6 $01#$01 $q 0 01#$01 $$q 1 1#$01 etc.

Accepting and Rejecting Configurations The start configuration on input w is q 0 w. An accepting configuration is one where the state is q accept. A rejecting configuration is one where the state is q reject.

Accepting Input A Turing Machine accepts input w if there is a computation C 1, …, C n, where C 1 is the start configuration on w. C n is an accepting configuration.

Rejecting Input A Turing Machine rejects input w if there is a computation C 1, …, C n, where C 1 is the start configuration on w. C n is a rejecting configuration.

The Third Possibility It is possible that a Turing Machine neither accepts nor rejects an input w.

Turing-Recognizable Languages The language of a Turing machine M is the set of input strings that are accepted by M. L(M) = {w | M accepts w}. A language is Turing- recognizable if it is accepted by some Turing machine.

Turing-Decidable Languages A Turing Machine is a decider if it halts on all inputs. A Turing machine M decides a language L if M accepts every string in L and rejects every string not in L. A language is Turing-decidable if it is decided by some Turing machine.

Example The language {w#w | w   * } is a Turing-decidable language. Every Turing-decidable language is Turing-recognizable, but not every Turing- recognizable language is Turing- decidable.