courtesy costas busch - rpi1 turing machines. courtesy costas busch - rpi2 the language hierarchy...
Post on 20-Dec-2015
226 views
TRANSCRIPT
Courtesy Costas Busch - RPI 1
Turing Machines
Courtesy Costas Busch - RPI 2
The Language Hierarchy
*aRegular Languages
Context-Free Languagesnnba Rww
nnn cba ww?
**ba
?
Courtesy Costas Busch - RPI 3
*aRegular Languages
Context-Free Languagesnnba Rww
nnn cba ww
**ba
Languages accepted byTuring Machines
Courtesy Costas Busch - RPI 4
A Turing Machine
............Tape
Read-Write head
Control Unit
Courtesy Costas Busch - RPI 5
The Tape
............
Read-Write head
No boundaries -- infinite length
The head moves Left or Right
Courtesy Costas Busch - RPI 6
............
Read-Write head
The head at each time step:
1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
Courtesy Costas Busch - RPI 7
............
Example:Time 0
............Time 1
1. Reads
2. Writes
a a cb
a b k c
a
k3. Moves Left
Courtesy Costas Busch - RPI 8
............Time 1
a b k c
............Time 2
a k cf
1. Reads
2. Writes
bf
3. Moves Right
Courtesy Costas Busch - RPI 9
The Input String
............
Blank symbol
head
a b ca
Head starts at the leftmost positionof the input string
Input string
Courtesy Costas Busch - RPI 10
............
Blank symbol
head
a b ca
Input string
Remark: the input string is never empty
Courtesy Costas Busch - RPI 11
States & Transitions
1q 2qLba ,
Read Write Move Left
1q 2qRba ,
Move Right
Courtesy Costas Busch - RPI 12
Example:
1q 2qRba ,
............ a b ca
Time 1
1qcurrent state
Courtesy Costas Busch - RPI 13
............ a b caTime 1
1q 2qRba ,
............ a b cbTime 2
1q
2q
Courtesy Costas Busch - RPI 14
............ a b caTime 1
1q 2qLba ,
............ a b cbTime 2
1q
2q
Example:
Courtesy Costas Busch - RPI 15
............ a b caTime 1
1q 2qRg,
............ ga b cbTime 2
1q
2q
Example:
Courtesy Costas Busch - RPI 16
Determinism
1q
2qRba ,
Allowed Not Allowed
3qLdb ,
1q
2qRba ,
3qLda ,
No lambda transitions allowed
Turing Machines are deterministic
Courtesy Costas Busch - RPI 17
Partial Transition Function
1q
2qRba ,
3qLdb ,
............ a b ca
1q
Example:
No transitionfor input symbol c
Allowed:
Courtesy Costas Busch - RPI 18
Halting
The machine halts if there areno possible transitions to follow
Courtesy Costas Busch - RPI 19
Example:
............ a b ca
1q
1q
2qRba ,
3qLdb ,
No possible transition
HALT!!!
Courtesy Costas Busch - RPI 20
Final States
1q 2q Allowed
1q 2q Not Allowed
• Final states have no outgoing transitions
• In a final state the machine halts
Courtesy Costas Busch - RPI 21
Acceptance
Accept Input If machine halts in a final state
Reject Input
If machine halts in a non-final state or If machine enters an infinite loop
Courtesy Costas Busch - RPI 22
Turing Machine Example
A Turing machine that accepts the language:
*aa
0q
Raa ,
L,1q
Courtesy Costas Busch - RPI 23
aaTime 0
0q
a
0q
Raa ,
L,1q
Courtesy Costas Busch - RPI 24
aaTime 1
0q
a
0q
Raa ,
L,1q
Courtesy Costas Busch - RPI 25
aaTime 2
0q
a
0q
Raa ,
L,1q
Courtesy Costas Busch - RPI 26
aaTime 3
0q
a
0q
Raa ,
L,1q
Courtesy Costas Busch - RPI 27
aaTime 4
1q
a
0q
Raa ,
L,1q
Halt & Accept
Courtesy Costas Busch - RPI 28
Rejection Example
0q
Raa ,
L,1q
baTime 0
0q
a
Courtesy Costas Busch - RPI 29
0q
Raa ,
L,1q
baTime 1
0q
a
No possible Transition
Halt & Reject
Courtesy Costas Busch - RPI 30
Infinite Loop Example
0q
Raa ,
L,1q
Lbb ,
A Turing machine for language *)(* babaa
Courtesy Costas Busch - RPI 31
baTime 0
0q
a
0q
Raa ,
L,1q
Lbb ,
Courtesy Costas Busch - RPI 32
baTime 1
0q
a
0q
Raa ,
L,1q
Lbb ,
Courtesy Costas Busch - RPI 33
baTime 2
0q
a
0q
Raa ,
L,1q
Lbb ,
Courtesy Costas Busch - RPI 34
baTime 2
0q
a
baTime 3
0q
a
baTime 4
0q
a
baTime 5
0q
a
Infinite
loop
Courtesy Costas Busch - RPI 35
Because of the infinite loop:
•The final state cannot be reached
•The machine never halts
•The input is not accepted
Courtesy Costas Busch - RPI 36
Another Turing Machine Example
Turing machine for the language }{ nnba
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Courtesy Costas Busch - RPI 37
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
ba
0q
a bTime 0
Courtesy Costas Busch - RPI 38
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
bx
1q
a b Time 1
Courtesy Costas Busch - RPI 39
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
bx
1q
a b Time 2
Courtesy Costas Busch - RPI 40
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
2q
a b Time 3
Courtesy Costas Busch - RPI 41
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
2q
a b Time 4
Courtesy Costas Busch - RPI 42
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
0q
a b Time 5
Courtesy Costas Busch - RPI 43
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
1q
x b Time 6
Courtesy Costas Busch - RPI 44
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
1q
x b Time 7
Courtesy Costas Busch - RPI 45
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx x y
2q
Time 8
Courtesy Costas Busch - RPI 46
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx x y
2q
Time 9
Courtesy Costas Busch - RPI 47
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
0q
x y Time 10
Courtesy Costas Busch - RPI 48
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
3q
x y Time 11
Courtesy Costas Busch - RPI 49
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
3q
x y Time 12
Courtesy Costas Busch - RPI 50
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
4q
x y
Halt & Accept
Time 13
Courtesy Costas Busch - RPI 51
If we modify the machine for the language }{ nnba
we can easily construct a machine for the language }{ nnn cba
Observation:
Courtesy Costas Busch - RPI 52
Formal Definitionsfor
Turing Machines
Courtesy Costas Busch - RPI 53
Transition Function
1q 2qRba ,
),,(),( 21 Rbqaq
Courtesy Costas Busch - RPI 54
1q 2qLdc ,
),,(),( 21 Ldqcq
Transition Function
Courtesy Costas Busch - RPI 55
Turing Machine:
),,,,,,( 0 FqQM
States
Inputalphabet
Tapealphabet
Transitionfunction
Initialstate
blank
Finalstates
QF
0
,
Courtesy Costas Busch - RPI 56
Configuration
ba
1q
a
Instantaneous description:
c
baqca 1
Courtesy Costas Busch - RPI 57
yx
2q
a b
Time 4
yx
0q
a b
Time 5
A Move: aybqxxaybq 02
Courtesy Costas Busch - RPI 58
yx
2q
a b
Time 4
yx
0q
a b
Time 5
bqxxyybqxxaybqxxaybq 1102
yx
1q
x b
Time 6
yx
1q
x b
Time 7
Courtesy Costas Busch - RPI 59
bqxxyybqxxaybqxxaybq 1102
bqxxyxaybq 12
Equivalent notation:
Courtesy Costas Busch - RPI 60
Initial configuration: wq0
ba
0q
a b
w
Input string
Courtesy Costas Busch - RPI 61
The Accepted Language
For any Turing Machine M
}:{)( 210 xqxwqwML f
Initial state Final state
Courtesy Costas Busch - RPI 62
Standard Turing Machine
• Deterministic
• Infinite tape in both directions
•Tape is the input/output file
The machine we described is the standard:
Courtesy Costas Busch - RPI 63
Computing Functionswith
Turing Machines
Courtesy Costas Busch - RPI 64
A function )(wf
Domain: Result Region:
has:
D
Dw
S
Swf )()(wf
Courtesy Costas Busch - RPI 65
A function may have many parameters:
yxyxf ),(
Example: Addition function
Courtesy Costas Busch - RPI 66
Integer Domain
Unary:
Binary:
Decimal:
11111
101
5
We prefer unary representation:
easier to manipulate with Turing machines
Courtesy Costas Busch - RPI 67
Definition:
A function is computable ifthere is a Turing Machine such that:
fM
Initial configuration Final configuration
Dw Domain
0q
w
fq
)(wf
final stateinitial state
For all
Courtesy Costas Busch - RPI 68
)(0 wfqwq f
Initial Configuration
FinalConfiguration
A function is computable ifthere is a Turing Machine such that:
fM
In other words:
Dw DomainFor all
Courtesy Costas Busch - RPI 69
Example
The function yxyxf ),( is computable
Turing Machine:
Input string: yx0 unary
Output string: 0xy unary
yx, are integers
Courtesy Costas Busch - RPI 70
0
0q
1 1 1 1
x y
1 Start
initial state
The 0 is the delimiter that separates the two numbers
Courtesy Costas Busch - RPI 71
0
0q
1 1 1 1
x y
1
0
fq
1 1
yx
11
Start
Finish
final state
initial state
Courtesy Costas Busch - RPI 72
0
fq
1 1
yx
11Finish
final state
The 0 helps when we usethe result for other operations
Courtesy Costas Busch - RPI 73
0q
Turing machine for function
1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
yxyxf ),(
Courtesy Costas Busch - RPI 74
Execution Example:
11x
11y 0
0q
1 1 1 1
Time 0
x y
Final Result
0
4q
1 1 1 1
yx
(2)
(2)
Courtesy Costas Busch - RPI 75
0
0q
1 1Time 0
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
1 1
Courtesy Costas Busch - RPI 76
0q
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
01 11 1Time 1
Courtesy Costas Busch - RPI 77
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
0
0q
1 1 1 1Time 2
Courtesy Costas Busch - RPI 78
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
1q
1 11 11Time 3
Courtesy Costas Busch - RPI 79
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
1q
1 1 1 11Time 4
Courtesy Costas Busch - RPI 80
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
1q
1 11 11Time 5
Courtesy Costas Busch - RPI 81
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
2q
1 1 1 11Time 6
Courtesy Costas Busch - RPI 82
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 11 01Time 7
Courtesy Costas Busch - RPI 83
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 1 1 01Time 8
Courtesy Costas Busch - RPI 84
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 11 01Time 9
Courtesy Costas Busch - RPI 85
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 1 1 01Time 10
Courtesy Costas Busch - RPI 86
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 11 01Time 11
Courtesy Costas Busch - RPI 87
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
4q
1 1 1 01
HALT & accept
Time 12
Courtesy Costas Busch - RPI 88
Another Example
The function xxf 2)( is computable
Turing Machine:
Input string: x unary
Output string: xx unary
x is integer
Courtesy Costas Busch - RPI 89
0q
1 1
x
1
1
fq
1 1
x2
11
Start
Finish
final state
initial state
Courtesy Costas Busch - RPI 90
Turing Machine Pseudocode for xxf 2)(
• Replace every 1 with $
• Repeat:
• Find rightmost $, replace it with 1
• Go to right end, insert 1
Until no more $ remain
Courtesy Costas Busch - RPI 91
0q 1q 2q
3q
R,1$
L,1
L,
R$,1 L,11 R,11
R,
Turing Machine for xxf 2)(
Courtesy Costas Busch - RPI 92
0q 1q 2q
3q
R,1$
L,1
L,
R$,1 L,11 R,11
R,
Example
0q
1 1
3q
1 11 1
Start Finish
Courtesy Costas Busch - RPI 93
Another Example
The function ),( yxf
is computable0
1 yx
yx
if
if
Courtesy Costas Busch - RPI 94
Turing Machine for
Input: yx0
Output: 1 0or
),( yxf0
1 yx
yx
if
if
Courtesy Costas Busch - RPI 95
Turing Machine Pseudocode:
Match a 1 from with a 1 from x y
• Repeat
Until all of or is matchedx y
• If a 1 from is not matched erase tape, write 1 else erase tape, write 0
x)( yx
)( yx
Courtesy Costas Busch - RPI 96
Combining Turing Machines
Courtesy Costas Busch - RPI 97
Block Diagram
TuringMachine
input output
Courtesy Costas Busch - RPI 98
Example:
),( yxf0
yx yx
yx
if
if
Comparer
Adder
Eraser
yx,
yx,
yx
yx
yx
0