cdt314 faber formal languages, automata and models of computation lecture 2
DESCRIPTION
CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 2 School of Innovation, Design and Engineering Mälardalen University 2012. Content Languages, Alphabets and Strings Strings & String Operations Languages & Language Operations - PowerPoint PPT PresentationTRANSCRIPT
1
CDT314
FABER
Formal Languages, Automata and Models of Computation
Lecture 2
School of Innovation, Design and Engineering Mälardalen University
2012
2
Content
Languages, Alphabets and Strings
Strings & String Operations
Languages & Language Operations
Regular Languages and their Representations
Regular Expressions
3
Languages, Alphabets and Strings
Based on C Busch, RPI, Models of Computation
4
defined over an alphabet:
Languages
zcba ,,,,
A language is a set of strings
A string is a sequence of symbols
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 a 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“]
http://en.wikipedia.org/wiki/Kleene_star
20
The + (Kleene plus) Operation
: the set of all possible strings from the
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 Languages
Definition of Set of Regular Languages
Basis Clause:
where are regular languages.
Inductive Clause: If Lr and Ls are regular languages, then Lr Ls , LrLs and Lr
* are regular languages.
Nothing is a regular language unless it is obtained from the above two clauses.
33
}{,}{,}{
34
Standard Representations of
Regular Languages
35
Regular Language Representations
DFA
NFA
Regular
Expression
Regular
Grammar
Regular
Language
36
Regular Expressions
37
Regular Expressions: Recursive Definition
1
1
21
21
*
r
r
rr
rr
are Regular Expressions
,,Primitive regular expressions:
2rGiven regular expressions and 1r
38
Examples
)(* ccbaA regular expression:
baNot a regular expression:
39
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
40
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
41
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
42
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
43
Languages of Regular Expressions
,...,,,,,*)( bcaabcaabcacbaL
Example
rL rlanguage of regular expression
44
Definition
For primitive regular expressions:
aaL
L
L
45
Definition (continued)
For regular expressions and
1r 2r
2121 rLrLrrL
2121 rLrLrrL
** 11 rLrL
11 rLrL
46
Example *aba
*abaL *aLbaL
*aLbaL
*aLbLaL
*aba
,...,,,, aaaaaaba
,...,,,...,,, baababaaaaaa
Regular expression:
47
Example
Regular expression
bbabar *
,...,,,,, bbbbaabbaabbarL
48
Example
Regular expression
bbbaar **
}0,:{ 22 mnbbarL mn
49
Example
Regular expression
*)10(00*)10( r
)(rL { all strings with at least
two consecutive 0 }
1,0
50
Example
Regular expression
(consists of repeating 1’s and 01’s).
)0(*)011(1 r
)(rL = { all strings without
two consecutive 0 }
1,0
51
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:
52
Equivalent Regular Expressions
Regular expressions and
1r 2r
)()( 21 rLrL are equivalent if
Definition:
53
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
Lennart Salling’s Video Resourceshttp://www.math.uu.se/~salling/ Lennart Salling
http://www.math.uu.se/~salling/AUTOMATA_DV/index.html
Introduktion: http://www2.math.uu.se/~salling/Movies/Intro%20to%20Automata.mov
Program, strings, integers and integer functions
http://www2.math.uu.se/~salling/Movies/StringsNumbersAndFunctions.mov
http://www.youtube.com/embed/EuhbL0MPryU Vad handlar kursen om?
http://www.youtube.com/embed/VM5SUcyY4sI?hl=en&fs=1 Kan alla problem lösas av program?
http://www.youtube.com/embed/acsUNSkzUgg?hl=en&fs=1 Vad har stora och små oändligheter med saken att göra?
http://www.youtube.com/embed/eQoP_kuNgXU?hl=sv&fs=1 Vad har språk och beräkningar med varandra att göra?
http://www.youtube.com/embed/-4K72wsQmPI?hl=sv&fs=1 Reguljära språk, vad är det?
http://www.youtube.com/embed/R2bHYnBXWFs?hl=sv&fs=1 Vilka automater är specialiserade på reguljära språk?
http://www.youtube.com/embed/2PNyEWl1AI0?hl=sv&fs=1 Varför icke-determinism?
http://www.youtube.com/embed/2abHjjS8Tqc?hl=sv&fs=1 Hur ser problem ut som inte kan lösas av program?
http://www.youtube.com/embed/WMN_wz-b3K0?hl=sv&fs=1
http://www.youtube.com/embed/y-zMnV3G9pg?hl=sv&fs=1 Hur kan man visa att ett problem inte kan lösas av program?
54
Lennart Salling’s Video Video Resources
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Closure_properties/Closure_properties.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/FA_to_RegExpression/FA_to_RegExpression.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Famous_undecidable_and_decidable_problems/Famous_undecidable_and_decidable_problems.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Universal_Turing_machines/Universal_Turing_machines.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Turing_machines/Turing_machines.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Unrestricted_grammar/Unrestricted_grammar.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Pumping%20CFL/Pumping%20CFL.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/PDA/PDA.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/CFG/CFG.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Nonregularity/Nonregularity.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Reduction_of_number_of_states/Reduction_of_number_of_states.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/Closure_properties/Closure_properties.mov
http://www2.math.uu.se/~salling/AUTOMATA_DV/media/2011/FA_to_RegExpression/FA_to_RegExpression.mov
55
More Video’s 1
www.youtube.com/watch?v=MzDG34w0LLA&feature=player_embedded SubsetConstruction
http://www.youtube.com/watch?v=acsUNSkzUgg&feature=related Infinities
http://www.youtube.com/watch?v=y-zMnV3G9pg&feature=related Rice'sTheorem
http://www.youtube.com/watch?v=R2bHYnBXWFs&feature=related Finite Automata
http://www.youtube.com/watch?v=eQoP_kuNgXU&feature=related Strings and Languages
http://www.youtube.com/watch?v=-4K72wsQmPI&feature=related Regular Languages
http://www.youtube.com/watch?v=WMN_wz-b3K0&feature=related Accept and decide (TM)
56
More Video’s 2
http://www.youtube.com/watch?v=RYNN-tb9WxI&feature=related
Regular Expression to NFA
http://www.youtube.com/watch?v=shN_kHBFOUE&feature=related 2 - Convert Regular Expression to Finite-State Automaton
http://www.youtube.com/watch?v=dlH2pIndNrU&feature=related Convert Regular Expression to DFA
http://www.youtube.com/watch?v=5a_pO3NYJl0 Great Principles of Computing - Peter J. Denning
http://www.youtube.com/watch?v=60P7717-XOQ&feature=related Stephen Wolfram: Computing a theory of everything
http://www.youtube.com/watch?v=cCdbZqI1r7I&feature=related Computing Beyond Turing - Jeff Hawkins
57