Date post: | 20-Dec-2015 |
Category: |
Documents |
View: | 226 times |
Download: | 2 times |
Fall 2004 COMP 335 2
The Language Hierarchy
*aRegular Languages
Context-Free Languagesnnba Rww
nnn cba ww?
**ba
?
Fall 2004 COMP 335 3
*aRegular Languages
Context-Free Languagesnnba Rww
nnn cba ww
**ba
Languages accepted byTuring Machines
Fall 2004 COMP 335 5
The Tape
............
Read-Write head
No boundaries -- infinite length
The head moves Left or Right
Fall 2004 COMP 335 6
............
Read-Write head
The head at each time step:
1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
Fall 2004 COMP 335 7
............
Example:Time 0
............Time 1
1. Reads
2. Writes
a a cb
a b k c
a
k3. Moves Left
Fall 2004 COMP 335 8
............Time 1
a b k c
............Time 2
a k cf
1. Reads
2. Writes
bf
3. Moves Right
Fall 2004 COMP 335 9
The Input String
............
Blank symbol
head
a b ca
Head starts at the leftmost positionof the input string
Input string
Fall 2004 COMP 335 10
............
Blank symbol
head
a b ca
Input string
Remark: the input string is never empty
Fall 2004 COMP 335 16
Determinism
1q
2qRba ,
Allowed Not Allowed
3qLdb ,
1q
2qRba ,
3qLda ,
No lambda transitions allowed
Turing Machines are deterministic
Fall 2004 COMP 335 17
Partial Transition Function
1q
2qRba ,
3qLdb ,
............ a b ca
1q
Example:
No transitionfor input symbol c
Allowed:
Fall 2004 COMP 335 19
Example:
............ a b ca
1q
1q
2qRba ,
3qLdb ,
No possible transition
HALT!!!
Fall 2004 COMP 335 20
Final States
1q 2q Allowed
1q 2q Not Allowed
• Final states have no outgoing transitions
• In a final state the machine halts
Fall 2004 COMP 335 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
Fall 2004 COMP 335 22
Turing Machine Example
A Turing machine that accepts the language:
*aa
0q
Raa ,
L,1q
Fall 2004 COMP 335 35
Because of the infinite loop:
•The final state cannot be reached
•The machine never halts
•The input is not accepted
Fall 2004 COMP 335 36
Another Turing Machine Example
Turing machine for the language }1:{ nba nn
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Fall 2004 COMP 335 37
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
ba
0q
a bTime 0
Fall 2004 COMP 335 38
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
bx
1q
a b Time 1
Fall 2004 COMP 335 39
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
bx
1q
a b Time 2
Fall 2004 COMP 335 40
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
2q
a b Time 3
Fall 2004 COMP 335 41
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
2q
a b Time 4
Fall 2004 COMP 335 42
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
0q
a b Time 5
Fall 2004 COMP 335 43
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
1q
x b Time 6
Fall 2004 COMP 335 44
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
1q
x b Time 7
Fall 2004 COMP 335 45
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx x y
2q
Time 8
Fall 2004 COMP 335 46
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx x y
2q
Time 9
Fall 2004 COMP 335 47
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
0q
x y Time 10
Fall 2004 COMP 335 48
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
3q
x y Time 11
Fall 2004 COMP 335 49
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
3q
x y Time 12
Fall 2004 COMP 335 50
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
4q
x y
Halt & Accept
Time 13
Fall 2004 COMP 335 51
We easily modify the machine for the language }1:{ nba nn
to construct a TM for the language }1:{ ncba nnn
Observation:
Fall 2004 COMP 335 55
Turing Machine:
),,,,,,( 0 FqQM
States
Inputalphabet
Tapealphabet
Transitionfunction
Initialstate
blank
Finalstates
Fall 2004 COMP 335 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
Fall 2004 COMP 335 61
The Accepted Language
For any Turing Machine M
}:{)( 210 xqxwqwML f
Initial state Final state
Fall 2004 COMP 335 62
Standard Turing Machine
• Deterministic
• Infinite tape in both directions
•Tape is the input/output file
The machine we described is the standard:
Fall 2004 COMP 335 65
A function may have several parameters / arguments:
yxyxf ),(
Example: The Addition function
Fall 2004 COMP 335 66
Integer Domain
Unary:
Binary:
Decimal:
11111
101
5
We prefer unary representation:
easier to manipulate with Turing machines
Fall 2004 COMP 335 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
Fall 2004 COMP 335 68
)(0 wfqwq f
Initial Configuratio
n
FinalConfiguration
A function is computable ifthere is a Turing Machine such that:
fM
In other words:
Dw (the domain)
Fall 2004 COMP 335 69
Example
The function yxyxf ),( is computable
A Turing Machine M for f:
Input string: yx0 unary
Output string: 0xy unary
yx, are integers
Fall 2004 COMP 335 70
0
0q
1 1 1 1
x y
1 Start
initial state
The 0 is the delimiter that separates the two numbers
Fall 2004 COMP 335 72
0
fq
1 1
yx
11Finish
final state
The 0 helps when we usethe result for other operations
Fall 2004 COMP 335 73
0q
Turing machine M for the function:
1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
yxyxf ),(
Fall 2004 COMP 335 74
Execution Example:
11x
11y 0
0q
1 1 1 1
Input (time 0)
x y
Output (final result)
0
4q
1 1 1 1
yx
(2)
(2)
Fall 2004 COMP 335 88
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
4q
1 1 1 01
HALT & accept
Time 13
Fall 2004 COMP 335 89
Another Example
The function xxf 2)( is computable
Turing Machine:
Input string: x unary
Output string: xx unary
x is integer
Fall 2004 COMP 335 91
Turing Machine Pseudocode for xxf 2)(
• Replace every 1 with $
• Repeat:
• Find rightmost $, replace it with 1
• Go to right end, then insert 1
Until no more $ remains
Fall 2004 COMP 335 93
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
Fall 2004 COMP 335 96
Pseudocode for our Turing Machine:
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, then write 1 else erase tape, then write 0
x)( yx
)( yx