Class 2
Class 2
Languages
A language is a set of strings
String: A sequence of letters
Examples: cat, dog, house,
Defined over an alphabet:
a, b, c, , z
a
ab
abba
baba
aaabbbaabab
a, b
u ab
v bbbaaa
w abba
3
String Operations
w a1a2 an
abba
bbbaaa
v b1b2 bm
Concatenation
wv a1a2 anb1b2 bm
abbabbbaaa
4
w a1a2 an
ababaaabbb
Reverse
R
w an a2 a1
bbbaaababa
5
String Length
w a1a2 an
Length:
Examples:
w n
abba 4
aa 2
a 1
6
a 1
wa w 1
abba abb 1
ab 1 1
a 111
1111
4
Length of Concatenation
uv u v
Example:
u aab, u 3
v abaab, v 5
uv aababaab 8
uv u v 3 5 8
8
uv u v
Induction basis:
v 1
uv u 1 u v
9
Inductive hypothesis:
uv u v
vfor
1,2, , n
uv u v
v n 1
10
Inductive Step
Write
v wa,
w n, a 1
where
uwa uw 1
wa w 1
From inductive hypothesis:
Thus:
uw u w
uv u w 1 u wa u v
11
Empty String
A string with no letters:
Observations:
0
w w w
abba abba abba
12
Substring
Substring of string:
a subsequence of consecutive characters
String
Substring
abbab
abbab
abbab
abbab
ab
abba
b
bbab
13
abbab
Prefixes
Suffixes
a
ab
abb
abba
abbab
abbab
bbab
bab
ab
b
w uv
prefix
suffix
14
Another Operation
n
w ww
w
n
Example:
Definition:
abba abbaabba
2
abba
0
15
The * Operation
16
The + Operation
alphabet except
a, b
* , a, b, aa, ab, ba, bb, aaa, aab,
Language
A language is any subset of
Example:
a, b
* , a, b, aa, ab, ba, bb, aaa,
Languages:
a, aa, aab
{ , abba, baba, aa, ab, aaaaaa}
18
Another Example
An infinite language
ab
aabb
aaaaabbbbb
n n
L {a b : n 0}
abb L
19
Operations on Languages
The usual set operations
L * L
Reverse
Definition:
Examples:
L {w : w L}
n n
L {a b : n 0}
R
n n
L {b a : n 0}
21
Concatenation
Definition:
Example:
L1L2 xy : x L1, y L2
a, ab, ba b, aa
ab, aaa, abb, abaa, bab, baaa
22
Another Operation
Definition:
L LL L
n
a, b a, b a, b a, b
aaa, aab, aba, abb, baa, bab, bba, bbb
3
Special case: L
a , bba , aaa 0
23
More Examples
n n
L {a b : n 0}
2
n n m m
L {a b a b : n, m 0}
2
aabbaaabbb L
24
Star-Closure (Kleene *)
Definition:
L* L L L
Example:
a, bb,
a, bb *
aa
,
abb
,
bba
,
bbbb
,
Positive Closure
Definition:
L L L
L *
a, bb,
a, bb aa, abb, bba, bbbb,
26
Finite Automata
27
Finite Automaton
Input
String
Output
Finite
Automaton
String
28
Finite Accepter
Input
String
Finite
Automaton
Output
Accept
or
Reject
29
Transition Graph
Abba -Finite Accepter
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
initial
state
state
transition
a, b
q4
final
state
accept
30
Initial Configuration
a b b a
Input String
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
31
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
32
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
33
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
34
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
35
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
Output: accept
36
Rejection
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
37
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
38
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
39
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
40
a b a
a, b
b
q0 a
Output:
q5 reject
a, b
a
a
b
q1 b q2 b q3 a
q4
41
Another Example
a a b
a, b
q0
q1
a, b
q2
42
a a b
a, b
q0
q1
a, b
q2
43
a a b
a, b
q0
q1
a, b
q2
44
a a b
a, b
q0
q1
a, b
q2
45
a a b
a
q0
Output: accept
q1
a, b
a, b
q2
46
Rejection
b a b
a, b
q0
q1
a, b
q2
47
b a b
a, b
q0
q1
a, b
q2
48
b a b
a, b
q0
q1
a, b
q2
49
b a b
a, b
q0
q1
a, b
q2
50
b a b
a, b
q0
q1
a, b
q2
Output: reject
51
Formalities
Deterministic Finite Accepter (DFA)
M Q, , , q0 , F
Q : set of states
: input alphabet
q0
: transition function
: initial state
52
Input Aplhabet
a, b
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
53
Set of States Q
Q q0 , q1, q2 , q3 , q4 , q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
54
Initial State q0
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
55
F q4
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
56
Transition Function
:Q Q
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
57
q0 , a q1
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
58
q0 , b q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
59
q2 , b q3
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
60
q0
q1
q2
q3
q4
q5
a
q1
q5
q2
q4
q5
q5
Transition Function
b
q5
q2
q3
q5
q5
q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
61
* : Q * Q
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
62
* q0 , ab q2
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
63
* q0 , abba q4
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
64
* q0 , abbbaa q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
65
q1
* q0 , abbbaa q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
66
Recursive Definition
* q, q
* q, wa ( * (q, w), a )
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
67
* q0 , ab
* (q0 , a ), b
* q0 , , a , b
q0 , a , b
q1 , b
q2
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
68
Definition:
The language L M contains
all input strings accepted by M
L M
69
Example
L M abba
M
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
accept
70
Another Example
L M , ab, abba
M
a, b
q5
q0 a
accept
a
b
q1 b q2 b q3 a
accept
a, b
q4
accept
71
Formally
For a DFA
M Q, , , q0 , F
Language accepted by
L M w * : * q0 , w F
alphabet
transition
function
initial
state
final
states
72
Observation
Language accepted by M :
L M w * : * q0 , w F
Language rejected by M :
L M w * : * q0 , w F
73
More Examples
L M {a b : n 0}
n
a, b
q0
q1
accept
a, b
q2
trap state
74
q0
q1
q3
q2
accept
a, b
75
0,1
00
001
0
76
Regular Languages
A language L is regular if there is
a DFA M such that L L M
77
Example
The language
is regular:
L awa : w a, b *
a
b
q0
b
q2
q3
a
b
q4
a, b
78