0% found this document useful (0 votes)
188 views

Turing Machine

The document describes Turing machines, which are abstract machines that manipulate symbols on a tape according to a set of rules. It provides details on the components of a Turing machine including the tape, head, symbols, states, and transition function. Examples are given to illustrate how Turing machines can be constructed to perform tasks like replacing symbols. Variants including multi-tape and non-deterministic Turing machines are also explained.

Uploaded by

Ibrahim Ansari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
188 views

Turing Machine

The document describes Turing machines, which are abstract machines that manipulate symbols on a tape according to a set of rules. It provides details on the components of a Turing machine including the tape, head, symbols, states, and transition function. Examples are given to illustrate how Turing machines can be constructed to perform tasks like replacing symbols. Variants including multi-tape and non-deterministic Turing machines are also explained.

Uploaded by

Ibrahim Ansari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

TM

17/09/2023 1
Turing Machine
Consists of:-
• A Tape
Tape is infinite extending on either sides, divided into cells, each
cell capable of holding one symbol

• Head-
Associated with tape is read-write head that can travel left or right
on tape and read a single symbol on each move

17/09/2023 2
Turing Machine
Consists of:-
• Tape Symbols-
Finite set of symbols, consists of lowercase letters, digits, usual
punctuation marks and the Blank B

• States-
Set of states in which the machine can reside

17/09/2023 3
Turing Machine

A Turing machine is a mathematical model of computation that


defines an abstract machine[1] that manipulates symbols on a
strip of tape according to a table of rules
-Wikipedia

17/09/2023 4
Turing Machine
• Turing Machine was invented by Alan Turing in 1936
• Accepts Recursive Enumerable Languages (generated by Type-
0 Grammar).

17/09/2023 5
TM: Formal Definition
TM is denoted by 7 Tuple: M=(Q, ∑, ᴦ, δ, q0, B, F) where

• Q:Finite set of Internal states of the Control Unit

• ∑:Finite input alphabet

• ᴦ: Finite Set of Tape Symbols

• δ:Q X ᴦ ->Q X ᴦ X {L,R,N}: Transition function(TF)

• q0: Start state of Control Unit, q0 ∈ Q

• B : Blank Symbol

• F: Set of Final States/ Accept State, F ⊆ Q

• ∑ ⊆ ᴦ -{B}
17/09/2023 6
δ Function
δ Function:-
• δ:Q X ᴦ ->Q X ᴦ X {L,R,N}: Transition function(TF)

If δ(q,X)=(p,Y,L)
• If present state is q and the next symbol on the tape is X
then the Turing Machine changes the state to p, replaces the
symbol X by symbol Y and moves the tape head one position
left.

If δ(q,X)=(p,Y,R)
• If present state is q and the next symbol on the tape is X
then the Turing Machine changes the state to p, replaces the
symbol X by symbol Y and moves the tape head one position
right.
17/09/2023 7
TM Example 1 Transition Rules
Construct a TM to replace each occurrence of ‘a’ by ‘b’ for the
strings over ∑={a,b}

17/09/2023 8
TM Example 1 Simulation

Construct a TM to replace each occurrence of ‘a’ by ‘b’ for the


strings over ∑={a,b}

17/09/2023 9
TM Example 2 Transition Rules and Simulation

Design a TM to replace all occurrences of ‘111’ by ‘101’ over


∑={0,1}

17/09/2023 10
TM Example 2 Transition Diagram ,Table

Design a TM to replace all occurrences of ‘111’ by ‘101’ over


∑={0,1}

17/09/2023 11
TM Example 3
Design a TM accept the language containing substring “aba”
over ∑={a,b}

Logic-
During the process if TM discovers “aba” on the tape, it halts
and thereby accepts entire input string

M=(Q, ∑, ᴦ, δ, q0, B, F)

17/09/2023 12
TM Example 3
Design a TM accept the language containing substring “aba”
over ∑={a,b}

δ(q0,a)=(q1,a,R)
δ(q0,b)=(q0,b,R) self loop
δ(q1,a)=(q1,a,R) self loop
δ(q1,b)=(q2,b,R)
δ(q2,b)=(q0,b,R) go back
δ(q2,a)=(qf,a,N)

17/09/2023 13
TM Example 4 Transition Rules

Design a TM to replace all occurrences of ‘101’ by ‘011’ over


∑={0,1}

17/09/2023 14
Modifications of Turing Machines or Variants of Turing Machines

• Multi Tape Turing Machine


• Non-Deterministic Turing Machine

17/09/2023 15
Multi Tape Turing Machine
• A Multitape Turing Machine-

17/09/2023 16
Multi Tape Turing Machine
• It is a Turing Machine with several tapes , each has its own
tape heads
• It consists of a finite control with k tape heads and k tapes
(k>1)
• The move of this Turing machine depends on the present
state of the finite control and the symbol scanned by each of
the tape heads.

17/09/2023 17
Multi Tape Turing Machine
• In each move, depending on the present state and the
symbols scanned by each of the tape heads , the machine can
– change state of the finite control
– print a new symbol on each of cells scanned by each of the
tape heads
– move each tape one cell left or one cell right
independently

17/09/2023 18
Multi Tape Turing Machine

• The transition function of Multitape turing machine is :


• δ:Q X {ᴦ1 X ᴦ2 X ………. ᴦk} ->Q X {ᴦ1 X ᴦ2 X ………. ᴦk} X
{ {L,R,N} X {L,R,N} ……………{L,R,N} k times}

• δ(q1, (a1,a2,……ak) )=(p,(b1,b2,…….bk),(L,R,L,L……k times))

17/09/2023 19
Multi Tape Turing Machine

• All Variants have same power, every multitape turing


machine has an equivalent single tape Turing machine

17/09/2023 20
Multi Tape Turing Machine
• Let M be a k tape Turing Machine(k>1)

• Let us construct a single tape turing machine M1, which


simulates M as follows:-

17/09/2023 21
Multi Tape Turing Machine

• M1 stores the information available on the k tapes of M on


its tape, using a symbol $ as delimiter

• To keep a track of the head positions for each tape of M, the


symbols below each of these tape heads are written with
underline on the tape of M1

17/09/2023 22
Multi Tape Turing Machine

• M1 scans its tape starting from first $ up to (k+1)st $ for tape


symbols that are underlined to simulate the move by
replacing these symbols according to the move of M

• δ(q, (0,a,X) )=(p,(1,b,Y),(L,L,R))


• After this move the contents of the tape are-

17/09/2023 23
Non-Deterministic Turing Machine

• Turing Machine which at any point while carrying out


computation , may proceed according to several possibilities
• For a tape symbol scanned, The machine has a finite number
of choices of next move
• The transition function defines mapping from
• Q X ᴦ to a finite subset of Q X ᴦ X {L,R,N}
• It accepts input, if some sequence of choices of moves lead
to an accepting state

17/09/2023 24
Non-Deterministic Turing Machine

• All variants have the same power, thus Every Non-


Deterministic Turing Machine has an equivalent
deterministic Turing machine

17/09/2023 25
Non-Deterministic Turing Machine

• For a Non-Deterministic Turing machine M,


• It is always possible to construct a turing machine M1,
which tries all possible sequences of computations or
branches of computations of M
• If M enters into an accept state on any of these branches,
M1 accepts otherwise continues to simulate Mwithout
termination
• Thus, M1 is accepting the same language as M

17/09/2023 26
TM Example 5 Transition Rules

Design a TM which recognizes the language L=01*0 for ∑={0,1}

Lets take string 0110

17/09/2023 27
TM Example 5
Design a TM which recognizes the language L=01*0 for ∑={0,1}

0 1 1 0 B
X Y Y X B

17/09/2023 28
TM Example 5
Design a TM which recognizes the language L=0N1N for ∑={0,1}

17/09/2023 29
TM Example 5
Design a TM which recognizes the language L=0N1N for ∑={0,1}

Algorithm-
• Change 0 to X
• Move Right to first “1”
• If None:Reject
• Change “1” to “y”
• Move LEFT to Leftmost “0”
• Repeat the above steps until no more “0”s
• Make sure no more “1”s remain

17/09/2023 30
TM Example 5
Simulation for L=0N1N , String 00001111

Algorithm-
• Change 0 to X
• Move Right to first “1”
• If None:Reject
• Change “1” to “y”
• Move LEFT to Leftmost “0”
• Repeat the above steps until no more “0”s
• Make sure no more “1”s remain

17/09/2023 31
TM Example 5
Design a TM which recognizes the language L=0N1N for ∑={0,1}

Algorithm-
Change 0 to X
Move Right to first “1”
If None:Reject
Change “1” to “y”
Move LEFT to Leftmost “0”
Repeat the above steps until no more “0”s
Make sure no more “1”s remain
17/09/2023 32

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy