1 Language Recognition (12.4) and Turing Machines (12.5)
-
Upload
arnold-cobb -
Category
Documents
-
view
220 -
download
0
Transcript of 1 Language Recognition (12.4) and Turing Machines (12.5)
1
Language Recognition (12.4)and Turing Machines (12.5)
2
Three Equivalent Representations
Finite automata
Regularexpressions
Regular languages
Each can
describethe others
Kleene’s Theorem:
For every regular expression, there is a deterministic finite-state automaton that defines the same language, and vice versa.
3
NFAs Regular grammarsThus, the language recognized by FSA
is a regular language
Every NFA (=FSA) can be converted into a corresponding regular grammar and vice versa.
Each symbol A of the grammar is associated with a non-terminal node of the NFA sA, in particular, start symbol
S is associated with the start state sS.
Every transition is associated with a grammar production:
T(sA,a) = sB A aB.
Every production B is associated with final state sB.See p. 823.
4
Kleene’s Theorem
LanguagesGenerated byRegular Expressions
LanguagesRecognizedby FSA
5
LanguagesGenerated byRegular Expressions
LanguagesRecognizedby FSA
LanguagesGenerated byRegular Expressions
LanguagesRecognizedby FSA
We will show:
6
Proof - Part 1
r)(rL
For any regular expression
the language is recognized by FSA (= is a regular language)
LanguagesGenerated byRegular Expressions
LanguagesRecognizedby FSA
Proof by induction on the size of r
7
Induction BasisPrimitive Regular Expressions: , , a
NFAs
)()( 1 LML
)(}{)( 2 LML
)(}{)( 3 aLaML
regularlanguages
a
8
Inductive Hypothesis
Assume for regular expressions andthat and are regular languages (i.e., L(FSA))
1r 2r
)( 1rL )( 2rL
9
Inductive StepWe will prove:
1
1
21
21
*
rL
rL
rrL
rrL
Are regular Languages
10
By definition of regular expressions:
11
11
2121
2121
**
rLrL
rLrL
rLrLrrL
rLrLrrL
p. 818
11
)( 1rL )( 2rLBy inductive hypothesis we know: and are regular languages
Regular languages are closed under:
*1
21
21
rL
rLrL
rLrL Union
Concatenation
Star
We need to show:
Can be shown via defn. of regular grammar.,
Note: alt. Proof Thm. 1 p 819, directly constructs FSA. See Fig. 2 and Fig. 3.
12
Therefore:
** 11
2121
2121
rLrL
rLrLrrL
rLrLrrL
Are regularlanguages
And trivially: ))(( 1rL is a regular language
13
Proof - Part 2
LanguagesGenerated byRegular Expressions
LanguagesRecognizedby FSA
Lr LrL )(
For any regular language there is a regular expression with
Proof by construction of regular expression
14
Since is regular take the NFA that accepts it
LM
LML )(
Single final state
15
From construct the equivalentGeneralized Transition Graph in which transition labels are regular
expressions
M
Example:
a
ba,
cM
a
ba
c
16
Another Example:
ba a
b
b
0q 1q 2q
ba,a
b
b
0q 1q 2q
b
b
17
Reducing the states:
ba a
b
b
0q 1q 2q
b
0q 2q
babb*
)(* babb
18
Resulting Regular Expression:
0q 2q
babb*
)(* babb
*)(**)*( bbabbabbr
LMLrL )()(
19
In GeneralRemoving states:
iq q jqa b
cde
iq jq
dae* bce*dce*
bae*
20
The final transition graph:
0q fq
1r
2r
3r4r
*)*(* 213421 rrrrrrr
LMLrL )()(
The resulting regular expression:
21
DFA - regular languages
Push down automata - Context-free
Bounded Turing M’s - Context sensitive
Turing machines - Phrase-structure
Models of computing
22
Foundations
The theory of computation and the practical application it made possible — the computer — was developed by an Englishman called Alan Turing.
24
The Decision ProblemIn 1928 the German mathematician, David Hilbert (1862-1943), asked whether there could be a mechanical way (i.e. by means of a fully specifiable set of instructions) of determining whether some statement in a formal system like arithmetic was provable or not.In 1936 Turing published a paper the aim of which was to show that there was no such method. “On computable numbers, with an application to the Entscheidungs problem.” Proceedings of the London Mathematical Society, 2(42):230-265).
29
FunctionsIt is essential to the idea of a Turing machine that it is not a physical machine, but an abstract one — a set of procedures.
It makes no difference whether the machine is embodied by a person in a boxcar on a track, or a person with a paper and pencil, or a smart and well-trained flamingo.
31
First computers: custom computing machines
1950 -- Eniac: the control is hardwired manually foreach problem.
Control
Input tape (read only)
Output tape (write only)
Work tape (memory)
1940: VON NEUMANN: DISTINCTION BETWEEN DATA AND INSTRUCTIONS
32
Can Machines Think?In “Computing machinery and intelligence,” written in 1950, Turing asks whether machines can think.He claims that this question is too vague, and proposes, instead, to replace it with a different one.That question is: Can machines pass the “imitation game” (now called the Turing test)? If they can, they are intelligent. Turing is thus the first to have offered a rigorous test for the determination of intelligence quite generally.
33
The Turing TestThe game runs as follows. You sit at a computer terminal and have an electronic conversation. You don’t know who is on the other end; it could be a person or a computer responding as it has been programmed to do.
If you can’t distinguish between a human being and a computer from your interactions, then the computer is intelligent.
Note that this is meant to be a sufficient condition of intelligence only. There may be other ways to be intelligent.
35
The Church-Turning Thesis
Turing, and a logician called Alonzo Church (1903-1995), independently developed the idea (not yet proven by widely accepted) that whatever can be computed by a mechanical procedure can be computed by a Turing machine.This is known as the Church-Turing thesis.
37
Turing Machines
38
The Language Hierarchy
*aRegular Languages
Context-Free Languagesnnba Rww
nnn cba ww?
**ba
?
39
*aRegular Languages
Context-Free Languagesnnba Rww
nnn cba ww
**ba
Languages accepted byTuring Machines
40
A Turing Machine
............Tape
Read-Write head
Control Unit
41
The Tape
............
Read-Write head
No boundaries -- infinite length
The head moves Left or Right
42
............
Read-Write head
The head at each time step:
1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
43
............
Example:Time 0
............Time 1
1. Reads
2. Writes
a a cb
a b k c
a
k3. Moves Left
44
............Time 1
a b k c
............Time 2
a k cf
1. Reads
2. Writes
bf
3. Moves Right
45
The Input String
............
Blank symbol
head
a b ca
Head starts at the leftmost positionof the input string
Input string
46
............
Blank symbol
head
a b ca
Input string
Remark: the input string is never empty
47
States & Transitions
1q 2qLba ,
Read Write Move Left
1q 2qRba ,
Move Right
48
Example:
1q 2qRba ,
............ a b ca
Time 1
1qcurrent state
49
............ a b caTime 1
1q 2qRba ,
............ a b cbTime 2
1q
2q
50
............ a b caTime 1
1q 2qLba ,
............ a b cbTime 2
1q
2q
Example:
51
............ a b caTime 1
1q 2qRg,
............ ga b cbTime 2
1q
2q
Example:
52
Determinism
1q
2qRba ,
Allowed Not Allowed
3qLdb ,
1q
2qRba ,
3qLda ,
Turing Machines are deterministic
53
Partial Transition Function
1q
2qRba ,
3qLdb ,
............ a b ca
1q
Example:
No transitionfor input symbol c
Allowed:
54
Halting
The machine halts if there areno possible transitions to follow
55
Example:
............ a b ca
1q
1q
2qRba ,
3qLdb ,
No possible transition
HALT!!!
56
Final States
1q 2q Allowed
1q 2q Not Allowed
• Final states have no outgoing transitions
• In a final state the machine halts
57
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
58
Turing Machine Example
A Turing machine that accepts the language:
*aa
0q
Raa ,
L,1q
59
aaTime 0
0q
a
0q
Raa ,
L,1q
60
aaTime 1
0q
a
0q
Raa ,
L,1q
61
aaTime 2
0q
a
0q
Raa ,
L,1q
62
aaTime 3
0q
a
0q
Raa ,
L,1q
63
aaTime 4
1q
a
0q
Raa ,
L,1q
Halt & Accept
64
Rejection Example
0q
Raa ,
L,1q
baTime 0
0q
a
65
0q
Raa ,
L,1q
baTime 1
0q
a
No possible Transition
Halt & Reject
66
Infinite Loop Example
0q
Raa ,
L,1q
Lbb ,
A Turing machine for language *)(* babaa
67
baTime 0
0q
a
0q
Raa ,
L,1q
Lbb ,
68
baTime 1
0q
a
0q
Raa ,
L,1q
Lbb ,
69
baTime 2
0q
a
0q
Raa ,
L,1q
Lbb ,
70
baTime 2
0q
a
baTime 3
0q
a
baTime 4
0q
a
baTime 5
0q
a
Infinite
loop
71
Because of the infinite loop:
•The final state cannot be reached
•The machine never halts
•The input is not accepted
72
Another Turing Machine Example
Turing machine for the language }{ nnba
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
73
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
ba
0q
a bTime 0
74
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
bx
1q
a b Time 1
75
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
bx
1q
a b Time 2
76
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
2q
a b Time 3
77
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
2q
a b Time 4
78
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
0q
a b Time 5
79
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
1q
x b Time 6
80
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
1q
x b Time 7
81
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx x y
2q
Time 8
82
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx x y
2q
Time 9
83
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
0q
x y Time 10
84
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
3q
x y Time 11
85
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
3q
x y Time 12
86
0q 1q 2q3qRxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
yx
4q
x y
Halt & Accept
Time 13
87
If we modify the machine for the language }{ nnba
we can easily construct a machine for the language }{ nnn cba
Observation:
88
*aRegular Languages
Context-Free Languagesnnba Rww
nnn cba ww
**ba
Languages accepted byTuring Machines
89
More details in Chapter 12 of Rosen.
End of intro to Languages (sets of strings), Grammars, Automata, andTuring Machines (= computation).
90
91
Formal Definitionsfor
Turing Machines
92
Transition Function
1q 2qRba ,
),,(),( 21 Rbqaq
93
1q 2qLdc ,
),,(),( 21 Ldqcq
Transition Function
94
Turing Machine:
),,,,,,( 0 FqQM
States
Inputalphabet
Tapealphabet
Transitionfunction
Initialstate
blank
Finalstates
95
Configuration
ba
1q
a
Instantaneous description:
c
baqca 1
96
yx
2q
a b
Time 4
yx
0q
a b
Time 5
A Move: aybqxxaybq 02
97
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
98
bqxxyybqxxaybqxxaybq 1102
bqxxyxaybq 12
Equivalent notation:
99
Initial configuration: wq0
ba
0q
a b
w
Input string
100
The Accepted Language
For any Turing Machine M
}:{)( 210 xqxwqwML f
Initial state Final state
101
Standard Turing Machine
• Deterministic
• Infinite tape in both directions
•Tape is the input/output file
The machine we described is the standard:
102
Computing Functionswith
Turing Machines
103
A function )(wf
Domain: Result Region:
has:
D
Dw
S
Swf )()(wf
104
A function may have many parameters:
yxyxf ),(
Example: Addition function
105
Integer Domain
Unary:
Binary:
Decimal:
11111
101
5
We prefer unary representation:
easier to manipulate with Turing machines
106
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
107
)(0 wfqwq f
Initial Configuration
FinalConfiguration
A function is computable ifthere is a Turing Machine such that:
fM
In other words:
Dw DomainFor all
108
Example
The function yxyxf ),( is computable
Turing Machine:
Input string: yx0 unary
Output string: 0xy unary
yx, are integers
109
0
0q
1 1 1 1
x y
1 Start
initial state
The 0 is the delimiter that separates the two numbers
110
0
0q
1 1 1 1
x y
1
0
fq
1 1
yx
11
Start
Finish
final state
initial state
111
0
fq
1 1
yx
11Finish
final state
The 0 helps when we usethe result for other operations
112
0q
Turing machine for function
1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
yxyxf ),(
113
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)
114
0
0q
1 1Time 0
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
1 1
115
0q
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
01 11 1Time 1
116
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
0
0q
1 1 1 1Time 2
117
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
1q
1 11 11Time 3
118
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
1q
1 1 1 11Time 4
119
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
1q
1 11 11Time 5
120
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
2q
1 1 1 11Time 6
121
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 11 01Time 7
122
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 1 1 01Time 8
123
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 11 01Time 9
124
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 1 1 01Time 10
125
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
3q
1 11 01Time 11
126
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
127
Another Example
The function xxf 2)( is computable
Turing Machine:
Input string: x unary
Output string: xx unary
x is integer
128
0q
1 1
x
1
1
fq
1 1
x2
11
Start
Finish
final state
initial state
129
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
130
0q 1q 2q
3q
R,1$
L,1
L,
R$,1 L,11 R,11
R,
Turing Machine for xxf 2)(
131
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
132
Another Example
The function ),( yxf
is computable0
1 yx
yx
if
if
133
Turing Machine for
Input: yx0
Output: 1 0or
),( yxf0
1 yx
yx
if
if
134
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
135
Combining Turing Machines
136
Block Diagram
TuringMachine
input output
137
Example:
),( yxf0
yx yx
yx
if
if
Comparer
Adder
Eraser
yx,
yx,
yx
yx
yx
0