Turing Machines
Chapter 3.1
1
Plan• Turing Machines(TMs)– Alan Turing • Church-Turing Thesis
– Definitions• Computation• Configuration• Recognizable vs. Decidable
– Examples– Simulator
2
Alan Turing
Alan Turing was one of the founding fathers of CS.• His computer model the Turing Machine(1936) was
the inspiration for the electronic computer that came two decades later
• Was instrumental in cracking the Nazi Enigma cryptosystem in WWII
• Invented the “Turing Test” used in AI• The Turing Award. Pre-eminent award in Theoretical
CS (called the “Nobel Prize” of CS)
3
Church-Turing Thesis
• Thesis- Every effectively calculable function is a computable function
• Everything that is computable is computable by a Turing machine
• The thesis remains a hypothesis– Despite the fact that it cannot be formally proven
the Church–Turing thesis now has near-universal acceptance.
4
Turing Machine
• Most powerful machine so far…– Similar to a finite automata
1. Uses infinite tape as memory2. Can both read from and write to the tape3. Read/write head can move left/right4. Accept/reject take affect immediately
• Cannot solve all problems
Comparison with Previous Models
6
Device
Separate Input?
Read/Write Data Structure
Deterministic by default?
FA Yes None Yes
PDA Yes LIFO Stack No
TM No
1-way infinite tape. 1 cell access per
step.
Yes
Formal Definition of a TM
7
Successor Program• Sample Rules:
1. If read 1, write 0, go right, repeat.2. If read 0, write 1, HALT!3. If read “”, write 1, HALT!
• Using these rules on a tape containing the reverse binary representation of 47 we obtain:
8
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read �“”, write 1, HALT!
9
1 1 1 1 0 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!
10
0 1 1 1 0 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”, write 1, HALT!
11
0 0 1 1 0 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!
12
0 0 0 1 0 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read �“”, write 1, HALT!
13
0 0 0 0 0 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”, write 1, HALT!
14
0 0 0 0 1 1
Successor Program
So the successor’s output on 111101 was 000011 which is the reverse binary representation of 48.
Similarly, the successor of 127 should be 128:
15
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”, �write 1, HALT!
16
1 1 1 1 1 1 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!
17
0 1 1 1 1 1 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”, write 1, HALT!
18
0 0 1 1 1 1 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!
19
0 0 0 1 1 1 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!
20
0 0 0 0 1 1 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!
21
0 0 0 0 0 1 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!
22
0 0 0 0 0 0 1
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read �“”, write 1, HALT!
23
0 0 0 0 0 0 0
Successor Program
If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!
24
0 0 0 0 0 0 0 1
Drawing the machine
• Draw the machine– Description
1. If read 1, write 0, go right, repeat.2. If read 0, write 1, HALT!3. If read “”� , write 1, HALT!
25
TM Dynamic Picture
• A string w is accepted by M if after being put on the tape then letting M run, M eventually enters the accept state. Therefore, w is an element of L(M) - the language accepted by M.
• We can formalize this notion as follows:
26
TM Formal DefinitionDynamic Picture
Suppose TM’s configuration at time t is given by uapxv where p is the current state, ua is what’s to the left of the head, x is what’s being read, and v is what’s to the right of the head.
If p,x= (q,y,R) then write:uapxv uayqv
With resulting configuration uaypv at time t+1. If, p,x= (q,y,L) instead, then write:
uapxv uqayvThere are also two special cases:
– head is forging new ground –pad with the blank symbol �– head is stuck at left end –by def. head stays put
NOTE: “” is read as “yields”
27
TM outcomesThree possibilities occur on a given input w :1. The TM M eventually enters qacc and therefore
halts and accepts. (w L(M) )2. The TM M eventually enters qrej or crashes
somewhere. M rejects w . (w L(M) )3. Neither occurs! I.e., M never halts its
computation and is caught up in an infinite loop, never reaching qacc or qrej. In this case w is neither accepted nor rejected. However, any string not explicitly accepted is considered to be outside the accepted language. (w L(M) )
28
Recognizable vs. Decidable
• Recognizable- The TM recognizes the language but doesn’t necessarily reach an accept or reject state (could loop FOREVER )
• Decidable- is recognizable and guaranteed to reach an accept or reject state (without the possibility for an infinite loop )
29
Bit-shifting example
30
31
3.7 Diagram
32
Fall 2010 Exam 2 Question 1
33
1) (25 pts) Give the full, formal description of a Turing Machine that accepts the following language: L = { w#wR | where w consists of only 0s and 1s and has length at least 1. } The input alphabet will be {0, 1, #}.The tape alphabet will include 0, 1, #, B, and any other symbols you choose to include in it. Give a simple intuitive description of what each state in the machine represents. And draw the diagram for this machine.
34
35
36
Simulator
• Accepts 4 or 5 tuples– (Start,input,NewState,
output,Direction)– (Start,input,NewState,Di
rection OR output)
• One tape• http://ironphoenix.org/
tril/tm/
37
END
38
Top Related