Upload
uriel
View
45
Download
0
Tags:
Embed Size (px)
DESCRIPTION
CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University 2006. Content Languages, Alphabets and Strings Strings & String Operations Languages & Language Operations Regular Expressions Finite Automata, FA Deterministic Finite Automata, DFA. - PowerPoint PPT Presentation
Citation preview
1
CD5560
FABER
Formal Languages, Automata and Models of Computation
Lecture 2
Mälardalen University2006
2
Content
Languages, Alphabets and Strings
Strings & String Operations
Languages & Language Operations
Regular Expressions
Finite Automata, FA
Deterministic Finite Automata, DFA
3
Languages, Alphabets and
Strings
4
defined over an alphabet:
Languages
zcba ,,,,
A language is a set of strings
A String is a sequence of letters
An alphabet is a set of symbols
5
Alphabets and Strings
We will use small alphabets:
abbaw
bbbaaav
abu
baaabbbaaba
baba
abba
ab
aStrings
ba,
6
Operations on Strings
7
String Operations
m
n
bbbv
aaaw
21
21
y bbbaaax abba
mn bbbaaawv 2121
Concatenation (sammanfogning)
xy abbabbbaaa
8
12aaaw nR
naaaw 21 ababaaabbb
Reverse (reversering)
bbbaaababa
Example:
Longest odd length palindrome in a natural language:
saippuakauppias
(Finnish: soap sailsman)
9
String Length
naaaw 21
1
2
4
a
aa
abba
nw Length:
Examples:
10
Recursive Definition of Length
For any letter:
For any string :
Example:
1a
1wwawa
41111
11111
1
aab
abbabba
11
Length of Concatenation
vuuv
853
8
vuuv
aababaabuv
5,
3,
vabaabv
uaabuExample:
12
Proof of Concatenation Length
Claim:
Proof: By induction on the length
Induction basis:
From definition of length:
vuuv
v
1v
vuuuv 1
13
Inductive hypothesis:
vuuv
nv
1nv
vuuv
Inductive step: we will prove
for
for
14
Inductive Step
Write , where
From definition of length:
From inductive hypothesis:
Thus:
wav 1, anw
1
1
wwa
uwuwauv
wuuw
vuwauwuuv 1
END OF PROOF
15
Empty String
A string with no letters: (Also denoted as )
Observations:
}{{}
0
abbaabbaabba
www
16
Substring (delsträng)
Substring of string:
a subsequence of consecutive characters
String Substring
bbab
b
abba
ab
abbab
abbab
abbab
abbab
17
Prefix and Suffix
Suffixesabbab
abbab
abba
abb
ab
a
b
ab
bab
bbab
abbab uvw
prefix
suffix
Prefixes
18
Repetition
Example:
Definition:
n
n www... w
abbaabbaabba 2
0w
0abba
}
(String repeated n times)w
19
The * (Kleene star) Operation
the set of all possible strings from alphabet
*
,,,,,,,,,*
,
aabaaabbbaabaaba
ba
[Kleene is pronounced "clay-knee“]
20
The + Operation
: the set of all possible strings from
alphabet except
,ba
,,,,,,,,,* aabaaabbbaabaaba
*
,,,,,,,, aabaaabbbaabaaba
21
Example
* , oj, fy, usch, ojoj, fyfy,uschusch, ojfy, ojusch
*
, fyoj , usch
oj, fy, usch, ojoj, fyfy,uschusch, ojfy, ojusch
22
Operations on Languages
23
Language
A language is any subset of
Example:
Languages:
*
,,,,,,,,*
,
aaabbbaabaaba
ba
},,,,,{
,,
aaaaaaabaababaabba
aabaaa
24
Example
An infinite language }0:{ nbaL nn
Labb
aaaaabbbbb
aabb
ab
L
25
Operations on Languages
The usual set operations
aaaaaabbbaaaaaba
ababbbaaaaaba
aaaabbabaabbbaaaaaba
,,,,
}{,,,
},,,{,,,
,,,,,,, aaabbabaabbaa ,,,,,,,,,* aabaaabbbaabaaba
LL *Complement:
26
Reverse
}:{ LwwL RR
ababbaabababaaabab R ,,,,
}0:{
}0:{
nabL
nbaLnnR
nn
Examples:
Definition:
27
Concatenation
Definition: 2121 ,: LyLxxyLL
baaabababaaabbaaaab
aabbaaba
,,,,,
,,,
Example
28
Repeat
Definition:
Special case:
n
n LLLL
bbbbbababbaaabbabaaabaaa
babababa
,,,,,,,
,,,, 3
0
0
,, aaabbaa
L
29
Example
}0:{ nbaL nn
}0,:{2 mnbabaL mmnn
2Laabbaaabbb
30
Star-Closure (Kleene *)
Definition:
Example:
210* LLLL
,,,,
,,,,
,,
,
*,
abbbbabbaaabbaaa
bbbbbbaabbaa
bbabba
31
Positive Closure
Definition
*L 21
LLL
,,,,
,,,,
,,
,
abbbbabbaaabbaaa
bbbbbbaabbaa
bba
bba
32
Regular Expressions
33
Regular Expressions: Recursive Definition
1
1
21
21
*
r
r
rr
rr
are Regular Expressions
,,Primitive regular expressions:
2rGiven regular expressions and 1r
34
Examples
)(* ccbaA regular expression:
baNot a regular expression:
35
Zero or more.
a* means "zero or more a's."
To say "zero or more ab's," that is,
{, ab, abab, ababab, ...}, you need to say (ab)*.
ab* denotes {a, ab, abb, abbb, abbbb, ...}.
cba ,,Building Regular Expressions
36
One or more.
Since a* means "zero or more a's", you can use aa* (or equivalently, a*a) to mean "one or more a's.“
Similarly, to describe "one or more ab's," that is,
{ab, abab, ababab, ...}, you can use ab(ab)*.
cba ,,Building Regular Expressions
37
Any string at all.
To describe any string at all (with = {a, b, c}), you can use (a+b+c)*.
Any nonempty string.
This can be written as any character from followed by any string at all: (a+b+c)(a+b+c)*.
cba ,,
Building Regular Expressions
38
Any string not containing....
To describe any string at all that doesn't contain an a (with = {a, b, c}), you can use (b+c)*.
Any string containing exactly one...
To describe any string that contains exactly one a, put "any string not containing an a," on either side of the a, like this: (b+c)*a(b+c)*.
cba ,,Building Regular Expressions
39
Languages of Regular Expressions
,...,,,,,*)( bcaabcaabcacbaL
Example
rL rlanguage of regular expression
40
Definition
For primitive regular expressions:
aaL
L
L
41
Definition (continued)
For regular expressions and
1r 2r
2121 rLrLrrL
2121 rLrLrrL
** 11 rLrL
11 rLrL
42
Example *aba
*abaL *aLbaL
*aLbaL
*aLbLaL
*aba
,...,,,, aaaaaaba
,...,,,...,,, baababaaaaaa
Regular expression:
43
Example
Regular expression
bbabar *
,...,,,,, bbbbaabbaabbarL
44
Example
Regular expression
bbbaar **
}0,:{ 22 mnbbarL mn
45
Example
Regular expression
*)10(00*)10( r
)(rL { all strings with at least
two consecutive 0 }
1,0
46
Example
Regular expression
(consists of repeating 1’s and 01’s).
)0(*)011(1 r
)(rL = { all strings without
two consecutive 0 }
1,0
47
Example
L = { all strings without
two consecutive 0 }
)0(*1)0(**)011*1(2 r
(In order not to get 00 in a string, after each 0 there must be an 1, which means that strings of the form 1....101....1are repeated. That is the first parenthesis. To take into account strings that end with 0, and those consisting of 1’s solely, the rest of the expression is added.)
Equivalent solution:
48
Equivalent Regular Expressions
Regular expressions and
1r 2r
)()( 21 rLrL are equivalent if
Definition:
49
Example L = { all strings without
two consecutive 0 }
)0(*1)0(**)011*1(2 r
LrLrL )()( 21 1r 2randare equivalent
regular expressions.
)0(*)011(1 r
50
Finite Automata
FA
51
There is no formal definition for "automaton". Instead, there are various kinds of automata, each with it's own formal definition.
• has some form of input
• has some form of output
• has internal states,
• may or may not have some form of storage
• is hard-wired rather than programmable
Generally, an automaton
52
Finite Automaton
Input
String
Output
String
Finite
Automaton
53
Finite Accepter
Input
“Accept”
or
“Reject”
String
Finite
Automaton
Output
54
Nodes = States Edges = Transitions
An edge with several symbols is a short-hand for several edges:
FA as Directed Graph
1qa
0q
1qba,0q1q
a
0qb
55
Deterministic Finite AutomataDFA
56
• Deterministic there is no element of choice• Finite only a finite number of states and arcs • Acceptors produce only a yes/no answer
DFA
57
Transition Graph
initial
state
final
state
“accept”statetransition
abba -Finite Acceptor
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
},{ baAlphabet =
58
Initial Configuration
Input Stringa b b a
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
59
Reading the Input
a b b a
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
60
a b b a
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
61
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
62
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
63
0q 1q 2q 3q 4qa b b a
Output: “accept”
5q
a a bb
ba,
a b b a
ba,
64
Rejection
1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
0q
65
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
66
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
67
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
68
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
Output:
“reject”
a b a
ba,
69
Another Example
a
b ba,
ba,
0q 1q 2q
a ba
70
a
b ba,
ba,
0q 1q 2q
a ba
71
a
b ba,
ba,
0q 1q 2q
a ba
72
a
b ba,
ba,
0q 1q 2q
a ba
73
a
b ba,
ba,
0q 1q 2q
a ba
Output: “accept”
74
Rejection
a
b ba,
ba,
0q 1q 2q
ab b
75
a
b ba,
ba,
0q 1q 2q
ab b
76
a
b ba,
ba,
0q 1q 2q
ab b
77
a
b ba,
ba,
0q 1q 2q
ab b
78
a
b ba,
ba,
0q 1q 2q
ab b
Output: “reject”
79
Formal definitions
Deterministic Finite Accepter (DFA)
FqQM ,,,, 0
Q
0q
F
: set of states
: input alphabet
: transition function
: initial state
: set of final states
80
Input Aplhabet
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
ba,
81
Set of States
Q
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
543210 ,,,,, qqqqqqQ
ba,
82
Initial State
0q
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
83
Set of Final States
F
0q 1q 2q 3qa b b a
5q
a a bb
ba,
4qF
ba,
4q
84
Transition Function
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
QQ :
ba,
85
10 , qaq
2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q 1q
86
50 , qbq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
87
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
32 , qbq
88
Transition Function
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
a b0q
2q
5q
1q 5q
5q5q
3q
4q
1q 5q 2q
5q 3q
4q5q
5q 5q
89
Extended Transition Function
*
QQ *:*
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
90
20 ,* qabq
3q 4qa b b a
5q
a a bb
ba,
ba,
0q 1q 2q
91
40 ,* qabbaq
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
92
50 ,* qabbbaaq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
93
50 ,* qabbbaaq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
0q
Observation: There is a walk from to
with label
0q 5qabbbaa
94
Recursive Definition
)),,(*(,*
,*
awqwaq
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
95
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
21
0
0
0
0
,
,,
,,,*
),,(*
,*
qbq
baq
baq
baq
abq
96
Languages Accepted by DFAs
Take DFA
Definition:
The language contains
all input strings accepted by
= { strings that drive to a final state}
M
MLM
ML M
97
Example
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
abbaML M
accept
},{ baAlphabet =
98
Another Example
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
abbaabML ,, M
acceptacceptaccept
},{ baAlphabet =
99
Formally
For a DFA
Language accepted by :
FqQM ,,,, 0
M
FwqwML ,*:* 0
alphabet transition
function
initial
state
final
states
100
Observation
Language accepted by
FwqwML ,*:* 0
M
FwqwML ,*:* 0
MLanguage rejected by
101
More Examples
a
b ba,
ba,
0q 1q 2q
}0:{ nbaML n
accept trap state},{ baAlphabet =
102
ML = { all strings with prefix }ab
a b
ba,
0q 1q 2q
accept
ba,3q
ab
},{ baAlphabet =
103
ML = { all strings without substring }001
0 00 001
1
0
1
10
0 1,0
}1,0{Alphabet =
104
Regular Languages
All regular languages form a language family
LM MLL
A language is regular if there is
a DFA such that
105
Example
*,: bawawaL
a
b
ba,
a
b
ba
0q 2q 3q
4q
is regular
The language
},{ baAlphabet =