busch complexity lectures turing machines · 2017-01-16 · turing machine: m =(q,Σ,Γ,δ,q 0, ,...
TRANSCRIPT
Prof. Busch - LSU 1
Busch Complexity Lectures:
Turing Machines
Prof. Busch - LSU 2
The Language Hierarchy
*aRegular Languages
Context-Free Languages nnba Rww
nnn cba ww?
**ba
?
Prof. Busch - LSU 3
*aRegular Languages
Context-Free Languages nnba Rww
nnn cba ww
**ba
Languages accepted by Turing Machines
Prof. Busch - LSU 4
A Turing Machine
...... ...... Tape
Read-Write head Control Unit
Prof. Busch - LSU 5
The Tape
...... ......
Read-Write head
No boundaries -- infinite length
The head moves Left or Right
Prof. Busch - LSU 6
...... ......
Read-Write head
The head at each transition (time step): 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
Prof. Busch - LSU 7
...... ......
Example: Time 0
...... ...... Time 1
1. Reads 2. Writes
a a cb
a b k c
ak
3. Moves Left
Prof. Busch - LSU 8
...... ...... Time 1
a b k c
...... ...... Time 2 a k cf
1. Reads 2. Writes
bf
3. Moves Right
Prof. Busch - LSU 9
The Input String
...... ...... ◊ ◊ ◊ ◊
Blank symbol
head
◊a b ca
Head starts at the leftmost position of the input string
Input string
Prof. Busch - LSU 10
States & Transitions
1q 2qLba ,→
Read Write Move Left
1q 2qRba ,→
Move Right
Prof. Busch - LSU 11
Example:
1q 2qRba ,→
...... ...... ◊ ◊ ◊ ◊◊a b caTime 1
1qcurrent state
Prof. Busch - LSU 12
...... ...... ◊ ◊ ◊ ◊◊a b caTime 1
1q 2qRba ,→
...... ...... ◊ ◊ ◊ ◊◊a b cbTime 2
1q
2q
Prof. Busch - LSU 13
...... ...... ◊ ◊ ◊ ◊◊a b caTime 1
1q 2qLba ,→
...... ...... ◊ ◊ ◊ ◊◊a b cbTime 2
1q
2q
Example:
Prof. Busch - LSU 14
...... ...... ◊ ◊ ◊ ◊◊a b caTime 1
1q 2qRg,→◊
...... ...... ◊ ◊ ◊ ◊ga b cbTime 2
1q
2q
Example:
Prof. Busch - LSU 15
Determinism
1q
2qRba ,→
Allowed Not Allowed
3qLdb ,→
1q
2qRba ,→
3qLda ,→
No lambda transitions allowed
Turing Machines are deterministic
Prof. Busch - LSU 16
Partial Transition Function
1q
2qRba ,→
3qLdb ,→
...... ...... ◊ ◊ ◊ ◊◊a b ca
1q
Example:
No transition for input symbol c
Allowed:
Prof. Busch - LSU 17
Halting
The machine halts in a state if there is no transition to follow
Prof. Busch - LSU 18
Halting Example 1:
...... ...... ◊ ◊ ◊ ◊◊a b ca
1q
1q No transition from
HALT!!! 1q
Prof. Busch - LSU 19
Halting Example 2:
...... ...... ◊ ◊ ◊ ◊◊a b ca
1q
1q
2qRba ,→
3qLdb ,→
No possible transition from and symbol
HALT!!! 1q c
Prof. Busch - LSU 20
Accepting States
1q 2q Allowed
1q 2q Not Allowed
• Accepting states have no outgoing transitions • The machine halts and accepts
Prof. Busch - LSU 21
Acceptance
Accept Input If machine halts in an accept state
Reject Input
If machine halts in a non-accept state or If machine enters an infinite loop
string
string
Prof. Busch - LSU 22
Observation:
In order to accept an input string, it is not necessary to scan all the symbols in the string
Prof. Busch - LSU 23
Turing Machine Example
Accepts the language: *a
0q
Raa ,→
L,◊→◊1q
Input alphabet },{ ba=Σ
Prof. Busch - LSU 24
◊ ◊ ◊ ◊aaTime 0
0q
a
0q
Raa ,→
L,◊→◊1q
Prof. Busch - LSU 25
◊ ◊ ◊ ◊aaTime 1
0q
a
0q
Raa ,→
L,◊→◊1q
Prof. Busch - LSU 26
◊ ◊ ◊ ◊aaTime 2
0q
a
0q
Raa ,→
L,◊→◊1q
Prof. Busch - LSU 27
◊ ◊ ◊ ◊aaTime 3
0q
a
0q
Raa ,→
L,◊→◊1q
Prof. Busch - LSU 28
◊ ◊ ◊ ◊aaTime 4
1q
a
0q
Raa ,→
L,◊→◊1q
Halt & Accept
Prof. Busch - LSU 29
Rejection Example
0q
Raa ,→
L,◊→◊1q
◊ ◊ ◊ ◊baTime 0
0q
a
Prof. Busch - LSU 30
0q
Raa ,→
L,◊→◊1q
◊ ◊ ◊ ◊baTime 1
0q
a
No possible Transition Halt & Reject
Prof. Busch - LSU 31
Accepts the language: *a
0q
but for input alphabet }{a=ΣA simpler machine for same language
Prof. Busch - LSU 32
◊ ◊ ◊ ◊aaTime 0
0q
a
0q
Halt & Accept
Not necessary to scan input
Prof. Busch - LSU 33
Infinite Loop Example
0q
Raa ,→
L,◊→◊1q
Lbb ,→
A Turing machine for language *)(* baba ++
Prof. Busch - LSU 34
◊ ◊ ◊ ◊baTime 0
0q
a
0q
Raa ,→
L,◊→◊1q
Lbb ,→
Prof. Busch - LSU 35
◊ ◊ ◊ ◊baTime 1
0q
a
0q
Raa ,→
L,◊→◊1q
Lbb ,→
Prof. Busch - LSU 36
◊ ◊ ◊ ◊baTime 2
0q
a
0q
Raa ,→
L,◊→◊1q
Lbb ,→
Prof. Busch - LSU 37
◊ ◊ ◊ ◊baTime 2
0q
a
◊ ◊ ◊ ◊baTime 3
0q
a
◊ ◊ ◊ ◊baTime 4
0q
a
◊ ◊ ◊ ◊baTime 5
0qa
Infinite loop
Prof. Busch - LSU 38
Because of the infinite loop:
• The accepting state cannot be reached
• The machine never halts • The input string is rejected
Prof. Busch - LSU 39
Another Turing Machine Example
Turing machine for the language }{ nnba
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
1≥n
Prof. Busch - LSU 40
Match a’s with b’s: Repeat: replace leftmost a with x find leftmost b and replace it with y Until there are no more a’s or b’s If there is a remaining a or b reject
Basic Idea:
Prof. Busch - LSU 41
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊ba
0q
a bTime 0 ◊
Prof. Busch - LSU 42
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊bx
1q
a b ◊Time 1
Prof. Busch - LSU 43
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊bx
1q
a b ◊Time 2
Prof. Busch - LSU 44
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
2q
a b ◊Time 3
Prof. Busch - LSU 45
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
2q
a b ◊Time 4
Prof. Busch - LSU 46
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
0q
a b ◊Time 5
Prof. Busch - LSU 47
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
1q
x b ◊Time 6
Prof. Busch - LSU 48
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
1q
x b ◊Time 7
Prof. Busch - LSU 49
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx x y
2q
◊Time 8
Prof. Busch - LSU 50
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx x y
2q
◊Time 9
Prof. Busch - LSU 51
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
0q
x y ◊Time 10
Prof. Busch - LSU 52
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
3q
x y ◊Time 11
Prof. Busch - LSU 53
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
3q
x y ◊Time 12
Prof. Busch - LSU 54
0q 1q 2q3qRxa ,→
Raa ,→Ryy ,→
Lyb ,→
Laa ,→Lyy ,→
Rxx ,→
Ryy ,→
Ryy ,→4q
L,◊→◊
◊ ◊yx
4q
x y ◊
Halt & Accept
Time 13
Prof. Busch - LSU 55
If we modify the machine for the language }{ nnba
we can easily construct a machine for the language }{ nnn cba
Observation:
Prof. Busch - LSU 56
Formal Definitions for
Turing Machines
Prof. Busch - LSU 57
Transition Function
1q 2qRba ,→
),,(),( 21 Rbqaq =δ
Prof. Busch - LSU 58
1q 2qLdc ,→
),,(),( 21 Ldqcq =δ
Transition Function
Prof. Busch - LSU 59
Turing Machine:
),,,,,,( 0 FqQM ◊ΓΣ= δ
States
Input alphabet
Tape alphabet
Transition function
Initial state
blank
Accept states
Prof. Busch - LSU 60
Configuration
◊ ◊ ◊ba
1q
a
Instantaneous description:
c◊
baqca 1
Prof. Busch - LSU 61
◊ ◊yx
2q
a bTime 4
◊ ◊yx
0q
a bTime 5
◊ ◊
A Move: aybqxxaybq 02 ≻
(yields in one mode)
Prof. Busch - LSU 62
◊ ◊yx
2q
a bTime 4
◊ ◊yx
0q
a bTime 5
◊ ◊
bqxxyybqxxaybqxxaybq 1102 ≻≻≻
◊ ◊yx
1q
x bTime 6
◊ ◊yx
1q
x bTime 7
◊ ◊
A computation
Prof. Busch - LSU 63
bqxxyybqxxaybqxxaybq 1102 ≻≻≻
bqxxyxaybq 12∗≻Equivalent notation:
Prof. Busch - LSU 64
Initial configuration: wq0
◊ ◊ba
0q
a b ◊
wInput string
Prof. Busch - LSU 65
The Accepted Language
For any Turing Machine M
}:{)( 210 xqxwqwML f∗
= ≻
Initial state Accept state
Prof. Busch - LSU 66
If a language is accepted by a Turing machine then we say that is:
• Turing Acceptable • Recursively Enumerable
ML
L
• Turing Recognizable
Other names used: