You are on page 1of 41

Turing Machine

Dr. A F M Saifuddin Saif


Senior Assistant Professor
Department of Computer Science
American International University – Bangladesh
Email: saif@aiub.edu
Exercise for Now
Write context free grammar for the following
language where ∑ = {a, b}
A={ w | w = akbo where k,o>1 and k=o }

Dr. A F M Saifuddin Saif 2


Answer
G= ({S,A},(a,b), {S → aAb, A → aAb | }, S)

A → aAb
→ aaAbb
→ aaaAbbb
→ aaabbb

Dr. A F M Saifuddin Saif 3


Turing Machines

Alan M. Turing
(1912–1954)
In 1936, Turing introduced his abstract model for
computation in is article “On Computable Numbers, with an
application to the Entscheidungsproblem”.
At the same time, Alonzo Church published
similar ideas and results.
However, the Turing model has become the
standard model in theoretical computer science.

Dr. A F M Saifuddin Saif 4


Informal Description TM
1 0 1 1 _ 0 # 1 _ _  At every step,
the head of the
TM M reads a
internal letter xi from the
L R one-way infinite
state set Q
tape.

Depending on its state and the letter xi, the TM


- writes down a letter,
- moves its read/write head left or right, and
- jumps to a new state.
Dr. A F M Saifuddin Saif 5
Input Convention
w1 w 2  w n _ _ _

Initially, the tape contains the input


state q0 w*, padded with blanks “_”,
and the TM is in start state q0.

During the computation, the head moves left


and right (but not beyond the leftmost point),
the internal state of the machine changes,
and the content of the tape is rewritten.

Dr. A F M Saifuddin Saif 6


TURING MACHINE

FINITE STATE
CONTROL
qq01

AI N P U T

INFINITE TAPE

Dr. A F M Saifuddin Saif 7


Output Convention
The computation can proceed indefinitely, or the
machines reaches one of the two halting states:

v1 v2  vm _ v1 v2  vm _

state qaccept or state qreject

Dr. A F M Saifuddin Saif 8


Formal Definition
A Turing machine M is defined by a
7-tuple (Q,,,,q0,qA,qR), with
 Q finite set of states
  finite input alphabet (without “_”)
  finite tape alphabet with { _ }    
 q0 start state  Q
 qA accept state  Q
 qR reject state  Q
  the transition function
: Q\{qA,qR}    Q    {L,R}

Dr. A F M Saifuddin Saif 9


Example of String Execution
A Turing machine M is defined by a
7-tuple (Q,,,,q0,qA,qR), with
 Q finite set of states: {A,B,C,D, E}
  finite input alphabet (without “_” or, “#”)
  finite tape alphabet with { # }    
 A start state  Q
 accept denotes accept state  Q
 reject denotes reject state  Q
  the transition function is denoted in the next
slides

Dr. A F M Saifuddin Saif 10


State Symbol (State, Symbol)
A x (B, #, R)
A y (E, #, R)
A # (Accept, #, R)
B x (B, x, R)
B y (B, y, R)
B # (C, #, L)
C x (D, #, L)
C y (Reject,#,R)
C # (Accept, #, R)
D x (D, x, L)
D y (D, y, L)
D # (Reject, #, R)
E x (E, x, R)
E y (E, y, R)
E # (Accept, #, L)

Dr. A F M Saifuddin Saif 11


For the transition table mentioned in
the previous slide show the execution
of the turing machine with the string
xyyyyxy# as input

Dr. A F M Saifuddin Saif 12


y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

accept

Dr. A F M Saifuddin Saif 13


y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyyyxy#

Dr. A F M Saifuddin Saif 14


y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyyyxy#
#
Dr. A F M Saifuddin Saif 15
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyyyxy#
# y
Dr. A F M Saifuddin Saif 16
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xy yyyxy#
# y y
Dr. A F M Saifuddin Saif 17
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyy yyxy#
# y y y
Dr. A F M Saifuddin Saif 18
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyy yxy#
# y y y y
Dr. A F M Saifuddin Saif 19
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyy xy#
# y y y y x
Dr. A F M Saifuddin Saif 20
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyyx y#
# y y y y x y
Dr. A F M Saifuddin Saif 21
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyyxy #
# y y y y x y #
Dr. A F M Saifuddin Saif 22
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyyxy#

# y y y y x ##
Dr. A F M Saifuddin Saif 23
y #, R

y y, R y y, L y y, R
x y, R x x, L x x, R

x #, R # #, L x #, L
A B C D E

# #, R
y #, R
# #, R

# #, R
reject
# accept, R

Input String: accept

xyyyxy# Answer: Accepted

# y y y y x ##
Dr. A F M Saifuddin Saif 24
Example 2
Here, denotes blank  a a b b   For the
symbol. followingg turing
machine show the
q0 execution of the
turing machine
with the string
aabb as input

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x a b b  

q1

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x a b b  

q1

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x a y b  

q2

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x a y b  

q2

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x a y b  

q0

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x x y b  

q1

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x x y b  

q1

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x x y y  

q2

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x x y y  

q2

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x x y y  

q0

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x x y y  

q3

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x x y y  

q3

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
 x x y y  

q4
Accept

q4 y  y, R y  y, L
y  y, R a  a, R a  a, L
  , L
y  y, R a  x, R b  y, L
q3 q0 q1 q2
x  x, R
DFA to Regular Expression: Example
Write regular expression for the following DFA

You might also like