SlideShare a Scribd company logo
1 of 116
Download to read offline
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.1
Chapter 4
Automata
Mathematical Modeling
(Materials drawn from this chapter in:
- Peter Linz. An Introduction to Formal Languages and Automata, (5th Ed.),
Jones & Bartlett Learning, 2011.
- John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullamn. Introduction to
Automata Theory, Languages, and Computation (3rd Ed.), Prentice Hall,
2006.
- Antal Iványi Algorithms of Informatics, Kempelen Farkas Hallgatói
Információs Központ, 2011. )
TVHoai, HTNguyen, NAKhuong, LHTrang
Faculty of Computer Science and Engineering
University of Technology, VNU-HCM
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.2
Contents
1 Motivation
2 Alphabets, words and languages
3 Regular expression or rationnal expression
4 Non-deterministic finite automata
5 Deterministic finite automata
6 Recognized languages
7 Determinisation
8 Minimization
9 DFAs combination
10 Some applications
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.3
Course outcomes
Course learning outcomes
L.O.1 Understanding of predicate logic
L.O.1.1 – Give an example of predicate logic
L.O.1.2 – Explain logic expression for some real problems
L.O.1.3 – Describe logic expression for some real problems
L.O.2 Understanding of deterministic modeling using some discrete
structures
L.O.2.1 – Explain a linear programming (mathematical statement)
L.O.2.2 – State some well-known discrete structures
L.O.2.3 – Give a counter-example for a given model
L.O.2.4 – Construct discrete model for a simple problem
L.O.3 Be able to compute solutions, parameters of models based on data
L.O.3.1 – Compute/Determine optimal/feasible solutions of integer
linear programming models, possibly utilizing adequate libraries
L.O.3.2 – Compute/ optimize solution models based on automata,
. . . , possibly utilizing adequate libraries
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.4
Introduction
Standard states of a process in operating system
• O with label: states
• →: transitions
Waiting Blocked
Running
CPU
Resource
Resource
CPU
Resource
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.5
Why study automata theory?
A useful model
for many important kinds of software and hardware
1 designing and checking the behaviour of digital circuits
2 lexical analyser of a typical compiler: a compiler component
that breaks the input text into logical units
3 scanning large bodies of text, such as collections of Web
pages, to find occurrences of words, phrases or other patterns
4 verifying pratical systems of all types that have a finite
number of distinct states, such as communications protocols
and other protocols for securely information exchange, etc.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.6
Alphabets, symbols
Definition
Alphabet Σ (bảng chữ cái) is a finite and non-empty set of
symbols (or characters).
For example:
• Σ = {a, b}
• The binary alphabet: Σ = {0, 1}
• The set of all lower-case letters: Σ = {a, b, . . . , z}
• The set of all ASCII characters.
Remark
Σ is almost always all available characters (lowercase letters,
capital letters, numbers, symbols and special characters such as
space or newline).
But nothing prevents to imagine other sets.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.7
Strings (words)
Definition
• A string/word u (chuỗi/từ) over Σ is a finite sequence (possibly
empty) of symbols (or characters) in Σ.
• A empty string is denoted by ε.
• The length of the string u, denoted by |u|, is the number of
characters.
• All the strings over Σ is denoted by Σ∗
.
• A language L over Σ is a sub-set of Σ∗
.
Remark
The purpose aims to analyze a string of Σ∗
in order to know
whether it belongs or not to L.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.8
Example
Let Σ = {0, 1}
• ε is a string with length of 0.
• 0 and 1 are the strings with length of 1.
• 00, 01, 10 and 11 are the strings with length of 2.
• ∅ is a language over Σ . It’s called the empty language.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.8
Example
Let Σ = {0, 1}
• ε is a string with length of 0.
• 0 and 1 are the strings with length of 1.
• 00, 01, 10 and 11 are the strings with length of 2.
• ∅ is a language over Σ . It’s called the empty language.
• Σ∗
is a language over Σ . It’s called the universal language.
• {ε} is a language over Σ .
• {0, 00, 001} is also a language over Σ .
• The set of strings which contain an odd number of 0 is a language
over Σ.
• The set of strings that contain as many of 1 as 0 is a language
over Σ.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.9
String concatenation
Intuitively, the concatenation of two strings 01 and 10 is 0110.
Concatenating the empty string ε and the string 110 is the string
110.
Definition
String concatenation is an application of Σ∗
× Σ∗
to Σ∗
.
Concatenation of two strings u and v in Σ is the string u.v.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.10
Languages
Specifying languages
A language can be specified in several ways:
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.10
Languages
Specifying languages
A language can be specified in several ways:
a enumeration of its words, for example:
• L1 = {ε, 0, 1},
• L2 = {a, aa, aaa, ab, ba},
• L3 = {ε, ab, aabb, aaabbb, aaaabbbb, . . .},
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.10
Languages
Specifying languages
A language can be specified in several ways:
a enumeration of its words, for example:
• L1 = {ε, 0, 1},
• L2 = {a, aa, aaa, ab, ba},
• L3 = {ε, ab, aabb, aaabbb, aaaabbbb, . . .},
b a property, such that all words of the language have this property
but other words have not, for example:
• L4 = {an
bn
|n = 0, 1, 2, . . .},
• L5 = {uu−1
|u ∈ Σ∗
} with Σ = {a, b},
• L6 = {u ∈ {a, b}∗
|na(u) = nb(u)} where na(u) denotes the
number of letter ’a’ in word u.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.10
Languages
Specifying languages
A language can be specified in several ways:
a enumeration of its words, for example:
• L1 = {ε, 0, 1},
• L2 = {a, aa, aaa, ab, ba},
• L3 = {ε, ab, aabb, aaabbb, aaaabbbb, . . .},
b a property, such that all words of the language have this property
but other words have not, for example:
• L4 = {an
bn
|n = 0, 1, 2, . . .},
• L5 = {uu−1
|u ∈ Σ∗
} with Σ = {a, b},
• L6 = {u ∈ {a, b}∗
|na(u) = nb(u)} where na(u) denotes the
number of letter ’a’ in word u.
c its grammar, for example:
• Let G = (N, T, P, S) where
N = {S}, T = {a, b}, P = {S → aSb, S → ab}
i.e. L(G) = {an
bn
|n ≥ 1} since
S ⇒ aSb ⇒ a2
Sb2
⇒ . . . ⇒ an
Sbn
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.11
Operations on languages
L, L1, L2 are languages over Σ
• union
L1 ∪ L2 = {u ∈ Σ∗
| u ∈ L1 or u ∈ L2},
• intersection
L1 ∩ L2 = {u ∈ Σ∗
| u ∈ L1 and u ∈ L2},
• difference
L1  L2 = {u ∈ Σ∗
| u ∈ L1 and u 6∈ L2},
• complement
L = Σ∗
 L,
• multiplication
L1L2 = {uv | u ∈ L1, v ∈ L2},
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.11
Operations on languages
L, L1, L2 are languages over Σ
• union
L1 ∪ L2 = {u ∈ Σ∗
| u ∈ L1 or u ∈ L2},
• intersection
L1 ∩ L2 = {u ∈ Σ∗
| u ∈ L1 and u ∈ L2},
• difference
L1  L2 = {u ∈ Σ∗
| u ∈ L1 and u 6∈ L2},
• complement
L = Σ∗
 L,
• multiplication
L1L2 = {uv | u ∈ L1, v ∈ L2},
• power
L0
= {ε}, Ln
= Ln−1
L , if n ≥ 1,
• iteration or star operation
L∗
=
∞
[
i=0
Li
= L0
∪ L ∪ L2
∪ · · · ∪ Li
∪ · · · ,
We will use also the notation L+
L+
=
∞
[
i=1
Li
= L ∪ L2
∪ · · · ∪ Li
∪ · · · .
The union, product and iteration are called regular operations.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.12
Example
Let Σ = {a, b, c}, L1 = {ab, aa, b}, L2 = {b, ca, bac}
a L1 ∪ L2 =?,
b L1 ∩ L2 =?,
c L1  L2 =?,
d L1L2 =?,
e L2L1 =?.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.12
Example
Let Σ = {a, b, c}, L1 = {ab, aa, b}, L2 = {b, ca, bac}
a L1 ∪ L2 = {ab, aa, b, ca, bac},
b L1 ∩ L2 = {b},
c L1  L2 = {ab, aa},
d L1L2 = {abb, aab, bb, abca, aaca, bca, abbac, aabac, bbac},
e L2L1 = {bab, baa, bb, caab, caaa, cab, bacab, bacaa, bacb}.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.12
Example
Let Σ = {a, b, c}, L1 = {ab, aa, b}, L2 = {b, ca, bac}
a L1 ∪ L2 = {ab, aa, b, ca, bac},
b L1 ∩ L2 = {b},
c L1  L2 = {ab, aa},
d L1L2 = {abb, aab, bb, abca, aaca, bca, abbac, aabac, bbac},
e L2L1 = {bab, baa, bb, caab, caaa, cab, bacab, bacaa, bacb}.
Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac}
L2
=?
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.12
Example
Let Σ = {a, b, c}, L1 = {ab, aa, b}, L2 = {b, ca, bac}
a L1 ∪ L2 = {ab, aa, b, ca, bac},
b L1 ∩ L2 = {b},
c L1  L2 = {ab, aa},
d L1L2 = {abb, aab, bb, abca, aaca, bca, abbac, aabac, bbac},
e L2L1 = {bab, baa, bb, caab, caaa, cab, bacab, bacaa, bacb}.
Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac}
L2
= u.v, with u, v ∈ L including the following strings:
• abab, abaa, abb, abca, abbac,
• aaab, aaaa, aab, aaca, aabac,
• bab, baa, bb, bca, bbac,
• caab, caaa, cab, caca, cabac,
• bacab, bacaa, bacb, bacca, bacbac.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.13
Exercise
Let Σ = {a, b, c}
Give at least 5 strings for each of the following languages
1 all strings with exactly one ’a’.
2 all strings of even length.
3 all strings which the number of appearances of ’b’ is divisible by 3.
4 all strings ending with ’a’.
5 all non-empty strings not ending with ’a’.
6 all strings with at least one ’a’.
7 all strings with at most one ’a’.
8 all strings without any ’a’.
9 all strings including at least one ’a’ and whose the first appearance
of ’a’ is not followed by ’c’.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.14
Exercise
Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac}
Which of the following strings are in L∗
?
S1 aaa = a3
,
S2 abaabaaabaa = aba2
ba3
ba2
,
S3 bbb,
S4 aab,
S5 cc,
S6 aaaabaaaa = a4
ba4
,
S7 cabbbbaaaaaaaaab = cab4
a9
b,
S8 baaaaabaaaab = ba5
ba4
b,
S9 baaaaabaac = ba5
ba2
c,
S10 baca.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.15
Regular expressions
Regular expressions (biểu thức chính quy)
Permit to specify a language with strings consist of letters and ε,
parentheses (), operating symbols +, ., ∗. This string can be
empty, denoted ∅.
Regular operations on the languages
• union ∪ or +
• product of concatenation
• transitive closure ∗
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.15
Regular expressions
Regular expressions (biểu thức chính quy)
Permit to specify a language with strings consist of letters and ε,
parentheses (), operating symbols +, ., ∗. This string can be
empty, denoted ∅.
Regular operations on the languages
• union ∪ or +
• product of concatenation
• transitive closure ∗
Example on the aphabet set Σ = {a, b}
• (a + b)∗
represent all the strings
• a∗
(ba∗
)∗
represent the same language
• (a + b)∗
aab represent all strings ending with aab.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.16
Regular expressions
• ∅ is a regular expression representing the empty language.
• ε is a regular expression representing language {ε}.
• If a ∈ Σ, then a is a regular expression representing language {a}.
• If x, y are regular expressions representing languages X and Y
respectively, then (x + y), (xy), x∗
are regular expression
representing languages X
S
Y , XY and X∗
respectively.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.16
Regular expressions
• ∅ is a regular expression representing the empty language.
• ε is a regular expression representing language {ε}.
• If a ∈ Σ, then a is a regular expression representing language {a}.
• If x, y are regular expressions representing languages X and Y
respectively, then (x + y), (xy), x∗
are regular expression
representing languages X
S
Y , XY and X∗
respectively.
x + y ≡ y + x
(x + y) + z ≡ x + (y + z)
(xy)z ≡ x(yz)
(x + y)z ≡ xz + yz
x(y + z) ≡ xy + xz
(x + y)∗
≡ (x∗
+ y)∗
≡ (x + y∗
)∗
≡ (x∗
+ y∗
)∗
(x + y)∗
≡ (x∗
y∗
)∗
(x∗
)∗
≡ x∗
x∗
x ≡ xx∗
xx∗
+ ε ≡ x∗
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.17
Regular expressions
Kleene’s theorem
Language L ⊆ Σ∗
is regular if and only if there exists a regular
expression over Σ representing language L.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.18
Exercise
Let Σ = {a, b, c}
Give at least 3 words for each language represented by the
following regular expressions
1 E1 = a∗
+ b∗
,
2 E2 = a∗
b + b∗
a,
3 E3 = b(ca + ac)(aa)∗
+ a∗
(a + b),
4 E4 = (a∗
b + b∗
a)∗
.
Example
a∗
b = {b, ab, a2
b, a3
b, . . . , aaa . . . ab},
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.19
Exercise
Let Σ = {a, b, c}
Determine regular expression presenting for each of the following
languages.
1 all strings with exactly one ’a’.
2 all strings of even length.
3 all strings which the number of appearances of ’b’ is divisible by 3.
4 all strings ending with ’a’.
5 all non-empty strings not ending with ’a’.
6 all strings with at least one ’a’.
7 all strings with at most one ’a’.
8 all strings without any ’a’.
9 all strings including at least one ’a’ and whose the first appearance
of ’a’ is not followed by a ’c’.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.20
Exercise
Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac}
Which languages represented by the following regular expressions
are in L∗
?
1 E1 = a∗
+ ba,
2 E2 = b∗
+ a∗
aba∗
,
3 E3 = aab + cab∗
ac,
4 E4 = b(ca + ac)(aa)∗
+ a∗
(a + b),
5 E5 = (a4
ba3
)2∗
c,
6 E6 = b+
ac (b+
= bb∗
),
7 E7 = (b + c)ab + ba(c + ab)∗
,
8 E8 = (b + c)∗
ab + a(c + a)∗
.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.20
Exercise
Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac}
Which languages represented by the following regular expressions
are in L∗
?
1 E1 = a∗
+ ba,
2 E2 = b∗
+ a∗
aba∗
,
3 E3 = aab + cab∗
ac,
4 E4 = b(ca + ac)(aa)∗
+ a∗
(a + b),
5 E5 = (a4
ba3
)2∗
c,
6 E6 = b+
ac (b+
= bb∗
),
7 E7 = (b + c)ab + ba(c + ab)∗
,
8 E8 = (b + c)∗
ab + a(c + a)∗
.
Define a (simple) regular expression representing the language L∗
.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.21
Exercise
Simplify each of the following regular expressions
1 E1 = b + ab∗
+ aa∗
b + aa∗
ab∗
,
2 E2 = a∗
(b + ab∗
),
3 E3 = ε + ab + abab(ab)∗
,
4 E4 = (ba)∗
+ a(ba)∗
+ (ba)∗
b + a(ba)∗
b,
5 E5 = aa(b∗
+ a) + a(ab∗
+ aa),
6 E6 = (a∗
(ba)∗
)∗
(b + ε),
7 E7 = a(a + b)∗
+ aa(a + b)∗
+ aaa(a + b)∗
.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.22
Finite automata
Finite automata (Automat hữu hạn)
• The aim is representation of a process system.
• It consists of states (including an initial state and one or
several (or one) final/accepting states) and transitions
(events).
• The number of states must be finite.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.22
Finite automata
Finite automata (Automat hữu hạn)
• The aim is representation of a process system.
• It consists of states (including an initial state and one or
several (or one) final/accepting states) and transitions
(events).
• The number of states must be finite.
q0 q1
b
a, b
Regular expression
b∗
(a + b)
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.23
Exercise
Let Σ = {a, b}
Which of the strings
1 a3
b,
2 aba2
b,
3 a4
b2
ab3
a,
4 a4
ba4
,
5 ab4
a9
b,
6 ba5
ba4
b,
7 ba5
b2
,
8 bab2
a
are accepted by the following finite automata?
q0 q1 q2
a
b
a
b
a
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.24
Exercise
Let Σ = {a, b, c}
Propose FA presenting each of the following languages
1 all strings with exactly one ’a’.
2 all strings of even length.
3 all strings which the number of appearances of ’b’ is divisible by 3.
4 all strings ending with ’a’.
5 all non-empty strings not ending with ’a’.
6 all strings with at least one ’a’.
7 all strings with at most one ’a’.
8 all strings without any ’a’.
9 all strings including at least one ’a’ and whose the first appearance
of ’a’ is not followed by a ’c’.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.25
Exercise
Give regular expression for the following finite automata.
q0 q1
b
a q0 q1
b a, b
a
q0 q1
q2
a
b
a
b
q0 q1
q2
b
a
a, b
a
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.26
Exercise
Give regular expression for the following finite automata.
q0 q1 q2
a
b
a
b
a
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.26
Exercise
Give regular expression for the following finite automata.
q0 q1 q2
a
b
a
b
a
b
and this one.
q0 q1
b
a, b
b
a
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.27
Nondeterministic finite automata
Definition
A nondeterministic finite automata (NFA, Automat hữu hạn phi
đơn định) is mathematically represented by a 5-tuples
(Q, Σ, q0, δ, F) where
• Q a finite set of states.
• Σ is the alphabet of the automata.
• q0 ∈ Q is the initial state.
• δ : Q × Σ → Q is a transition function.
• F ⊆ Q is the set of final/accepting states.
Remark
According to an event, a state may go to one or more states.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.28
NFA with empty symbol ε
Other definition of NFA
Finite automaton with transitions defined by character x (in Σ) or
empty character ε.
q0 q1 q2
b
ε
a
b
a, b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.29
Exercise
Consider the set of strings on {a, b} in which every aa is followed
immediately by b.
For example aab, aaba, aabaabbaab are in the language,
but aaab and aabaa are not.
Construct an accepting NFA.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.30
Exercise
Let Σ = {a, b, c}
Propose NFA presenting each of the following languages
1 all strings with exactly one ’a’.
2 all strings of even number of appearances of ’b’.
3 all strings which the number of appearances of ’b’ is divisible by 3.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.31
Exercise
Let Σ = {a, b, c}
Construct an accepting finite automata for languages represented
by the following regular expressions.
• E1 = a∗
c + b∗
a,
• E2 = b∗
ab + a∗
aba∗
,
• E3 = aab + cab∗
ac,
• E4 = b(ca + ac)(aa)∗
+ a∗
(a + b),
• E5 = (ab)2∗
c + bac,
• E6 = bb∗
ac + b∗
a,
• E7 = (b + c)ab + ba(c + ab)∗
,
• E8 = (b + c)∗
ba + a(c + a)∗
,
• E9 = [a(b + c)∗
+ bc∗
]∗
,
• E10 = b∗
ac + bb∗
a.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.32
Exercise
Let Σ = {a, b}
Give 3 valid strings & 5 invalid strings in language L2
, with L
represented by the following finite automata.
A B
C
D
a
b
ε
b
b
a
a
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.33
Exercise
Let Σ = {a, b}
Give 3 valid strings & 5 invalid strings in language L2
, with L
represented by the following finite automata.
A B
C
D
a
b
a, ε
b
a
a
a
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.34
Deterministic finite automata
Definition
A deterministic finite automata (DFA, Automat hữu hạn đơn
định) is given by a 5-tuplet (Q, Σ, q0, δ, F) with
• Q a finite set of states.
• Σ is the input alphabet of the automata.
• q0 ∈ Q is the initial state.
• δ : Q × Σ → Q is a transition function.
• F ⊆ Q is the set of final/accepting states.
Condition
Transition function δ is an application.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.35
Example
Let Σ = {a, b}
Hereinafter, a deterministic and complete automata that
recognizes the set of strings which contain an odd number of a.
q0 q1
b
a
b
a
• Q = {q0, q1},
• δ(q0, a) = q1, δ(q0, b) = q0, δ(q1, a) = q0, δ(q1, b) = q1,
• F = {q1}.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.36
Configurations and executions
Let A = (Q, Σ, q0, δ, F)
A configuration (cấu hình) of automata A is a couple (q, u) where
q ∈ Q and u ∈ Σ∗
.
We define the relation → of derivation between configurations :
(q, a.u) → (q0
, u) iif δ(q, a) = q0
An execution (thực thi) of automata A is a sequence of
configurations
(q0, u0) . . . (qn, un) such that
(qi, ui) → (qi+1, ui+1), for i = 0, 1, . . . , n − 1.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.37
Exercise
Let Σ = {0, 1}
• Give a DFA that accepts all words that contain a number of 0
multiple of 3.
• Give an execution of this automata on 1101010.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.37
Exercise
Let Σ = {0, 1}
• Give a DFA that accepts all words that contain a number of 0
multiple of 3.
• Give an execution of this automata on 1101010.
Let Σ = {a, b}
• Give a DFA that accepts all strings containing 2 characters a.
• Give an execution of this automata on aabb, ababb and bbaa.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.38
Recognized languages
Definition
A language L over an alphabet Σ, defined as a sub-set of Σ∗
, is
recognized if there exists a finite automata accepting all strings of
L.
Proposition
If L1 and L2 are two recognized languages, then
• L1 ∪ L2 and L1 ∩ L2 are also recognized;
• L1.L2 and L∗
1 are also recognized.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.39
Example
Sub-string ab
Construct a DFA that recognizes the language over the alphabet
{a, b} containing the sub-string ab.
Regular expression
(a + b)∗
ab(a + b)∗
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.39
Example
Sub-string ab
Construct a DFA that recognizes the language over the alphabet
{a, b} containing the sub-string ab.
Regular expression
(a + b)∗
ab(a + b)∗
Transition table
a b
→ q0 q1 q0
q1 q1 q2
q2∗ q2 q2
Automata
q0 q1 q2
b
a
a
b
a, b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.40
Exercise
Let Σ = {a, b, c}
Propose DFA presenting each of the following languages
1 all strings which the number of appearances of ’aa’ and the one of
’b’ are the same.
2 all strings which the number of appearances of ’a’ is equal to the
one of ’b’ plus the one of ’c’.
3 all strings including at least one ’a’ and whose the first appearance
of ’a’ is not followed by a ’c’.
4 all strings which the difference between number of appearances of
’a’ and the one of ’c’ is less than 1.
5 all strings which there is at least ’b’ or ’cb’ after ’a’ or ’aa’.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.41
Example
Let Σ = {a, b, c}
Construct DFAs that recognize the languages represented by the
following regular expressions.
• E1 = a∗
+ b∗
a,
• E2 = b∗
+ a∗
aba∗
,
• E3 = aab + cab∗
ac,
• E4 = bb∗
ac + b∗
a,
• E5 = b∗
ac + bb∗
a.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.42
From NFA to DFA
Given a NFA
0 1
2
b b
a
a
ε
Transition table
a b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.42
From NFA to DFA
Given a NFA
0 1
2
b b
a
a
ε
Transition table
a b
→ {0} {1} {0}
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.42
From NFA to DFA
Given a NFA
0 1
2
b b
a
a
ε
Transition table
a b
→ {0} {1} {0}
{1} {0, 2} {1}
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.42
From NFA to DFA
Given a NFA
0 1
2
b b
a
a
ε
Transition table
a b
→ {0} {1} {0}
{1} {0, 2} {1}
{0, 2}∗
{1} {0}
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.42
From NFA to DFA
Given a NFA
0 1
2
b b
a
a
ε
Transition table
a b
→ {0} {1} {0}
{1} {0, 2} {1}
{0, 2}∗
{1} {0}
Corresponding DFA
{0} {1}
{0, 2}
b b
a
a
a
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.43
Other example of determinisation
Given a NFA
0 1
b
a, b
b
a
Transition table
a b
→ {0} {1} {0, 1}
{1}∗
{0} {1}
{0, 1}∗
{0, 1} {0, 1}
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.43
Other example of determinisation
Given a NFA
0 1
b
a, b
b
a
Transition table
a b
→ {0} {1} {0, 1}
{1}∗
{0} {1}
{0, 1}∗
{0, 1} {0, 1}
Corresponding DFA
{0} {1}
{0, 1}
b
a, b
a
b
a
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.44
Exercise
Let Σ = {a, b, c}
Determine DFAs which corresponds to the following NFAs:
0 1
b, c b, c
a, ε
a
0 1 2
a b
c, ε
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.44
Exercise
Let Σ = {a, b, c}
Determine DFAs which corresponds to the following NFAs:
0 1
b, c b, c
a, ε
a
0 1 2
a b
c, ε
0 1
2
a b
b
a, b
a
ε
0 1
2
a b, c
b, ε
ε
ε
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.45
Exercise
Let Σ = {a, b, c}
Determine DFAs which corresponds to the following NFAs:
0 1 2
3
b
b
a
b
c
a
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.46
Exercise
Let Σ = {a, b, c}
Determine DFAs which corresponds to the following NFAs:
0 1 2
3
b
a, c
a
b
b, c
c
c
a
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.47
Exercise
Let Σ = {a, b, c}
Determine finite automata, not necessarily deterministic,
recognizing the following languages:
• L1 = {a, ab, ca, cab, acc},
• L2 = { set of words of even number of a},
• L3 = { set of words containing ab and ending with b}.
Then, determine the corresponding complete DFAs.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.48
Exercise
Let Σ = {a, b, c}
Construct DFAs for languages represented by following expressions.
• E1 = a∗
+ b∗
a,
• E2 = b∗
+ a∗
aba∗
,
• E3 = (aab + ab∗
)∗
,
• E4 = b(ca + ac)(aa)∗
+ a∗
(a + b),
• E5 = ba∗
b + baa + baba,
• E6 = (ba∗
b + baa + baaba)∗
,
• E7 = ba∗
b + baa + aba(a + b)∗
,
• E9 = [a(b + c)∗
+ bc∗
]∗
,
• E10 = bb∗
ac + ba∗
b.
• E11 = bb∗
ac + b∗
a,
• E12 = (b + c)ab + ba(c + ab)∗
,
• E13 = (b + c)∗
ba + a(c + a)∗
,
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.49
Example
Determine a DFA that recognizes the language over the alphabet
{a, b} with an even number of a and an even number b.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.49
Example
Determine a DFA that recognizes the language over the alphabet
{a, b} with an even number of a and an even number b.
Automata
q0 q1
q2 q3
b
a
b
a
a
b
a
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.49
Example
Determine a DFA that recognizes the language over the alphabet
{a, b} with an even number of a and an even number b.
Automata
q0 q1
q2 q3
b
a
b
a
a
b
a
b
Transition table
a b
→ q∗
0 q2 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
→: start state
∗
: final state(s)
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s)
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I I I I
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a)
cl(s.b)
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II
cl(s.b) II
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I
cl(s.b) II I
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I
cl(s.b) II I I
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I
cl(s.b) II I I I
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II
cl(s.b) II I I I I
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II II
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II III II
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II III II IV
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II III II IV III
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II III II IV III
II IV III IV II III
II III III I III III
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II III II IV III
II IV III IV II III
II III III I III III
s 0 1 2 3 4 5
cl(s) I II III IV III
cl(s.a) II IV III II III
cl(s.b) III III III III
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II III II IV III
II IV III IV II III
II III III I III III
s 0 1 2 3 4 5
cl(s) I II III V IV III
cl(s.a) II IV III II III
cl(s.b) III III III III
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II III II IV III
II IV III IV II III
II III III I III III
s 0 1 2 3 4 5
cl(s) I II III V IV III
cl(s.a) II IV III II III
cl(s.b) V III III III III
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.50
From a DFA to a smaller DFA
0 1 2
3 4 5
a b
a b
b
b a
a a, b
a, b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II I II I I
cl(s.a) II I I I II I
cl(s.b) II I I I I I
0 1 2 3 4 5
I II III II IV III
II IV III IV II III
II III III I III III
s 0 1 2 3 4 5
cl(s) I II III V IV III
cl(s.a) II IV III IV II III
cl(s.b) V III III I III III
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.51
From a DFA to a smaller DFA
{0} {1}
{2, 5}
{3} {4}
a, b
a
b
a
b
b
b a
a
equivalence relationships
s 0 1 2 3 4 5
cl(s) I II III V IV III
cl(s.a) II IV III IV II III
cl(s.b) V III III I III III
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.52
Another example of minimization
0 1 2
3 4 5
b
a
a b
b
a
a
b
a
a
b
b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I I II I I I
cl(s.a) I I I I I I
cl(s.b) I II II I I II
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.52
Another example of minimization
0 1 2
3 4 5
b
a
a b
b
a
a
b
a
a
b
b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I I II I I I
cl(s.a) I I I I I I
cl(s.b) I II II I I II
0 1 2 3 4 5
I III II I I III
III I I III I I
I II II I I II
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.53
Another example of minimization
0 1 2
3 4 5
b
a
a b
b
a
a
b
a
a
b
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.53
Another example of minimization
0 1 2
3 4 5
b
a
a b
b
a
a
b
a
a
b
b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I III II I I III
cl(s.a) III I I III I I
cl(s.b) I II II I I II
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.53
Another example of minimization
0 1 2
3 4 5
b
a
a b
b
a
a
b
a
a
b
b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I III II I I III
cl(s.a) III I I III I I
cl(s.b) I II II I I II
0 1 2 3 4 5
I III II I IV III
III IV I III IV IV
IV II II IV I II
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.54
Another example of minimization
{0, 3} {1, 5} 2
4
b
a
a b
a
a
b
b
equivalence relationships
s 0 1 2 3 4 5
cl(s) I III II I IV III
cl(s.a) III IV I III IV IV
cl(s.b) IV II II IV I II
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.55
Exercise
Let Σ = {a, b}
Determine minimal DFA which corresponds to the following DFA:
0 1 8
2 3 4
5 6 7
b
a
a
b
b
b
a
a
b
b
a
b
b
b
a
a
a a
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.56
Exercise
0 1 2
b
a b
b a
a, b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.56
Exercise
0 1 2
b
a b
b a
a, b
Hint
Two-steps approach: (NFA → DFA); min (DFA).
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.57
Exercise
σ = {a, b}
Determine minimimal DFA regconized the languages represented
by the following regular expressions:
1 E1 = (a + b)∗
b(a + b)∗
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.57
Exercise
σ = {a, b}
Determine minimimal DFA regconized the languages represented
by the following regular expressions:
1 E1 = (a + b)∗
b(a + b)∗
2 E2 = ((a + b)2
)∗
+ ((a + b)3
)∗
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.57
Exercise
σ = {a, b}
Determine minimimal DFA regconized the languages represented
by the following regular expressions:
1 E1 = (a + b)∗
b(a + b)∗
2 E2 = ((a + b)2
)∗
+ ((a + b)3
)∗
3 E3 = ((a + b)2
)+
+ ((a + b)3
)+
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.57
Exercise
σ = {a, b}
Determine minimimal DFA regconized the languages represented
by the following regular expressions:
1 E1 = (a + b)∗
b(a + b)∗
2 E2 = ((a + b)2
)∗
+ ((a + b)3
)∗
3 E3 = ((a + b)2
)+
+ ((a + b)3
)+
4 E4 = baa∗
+ ab + (a + b)ab∗
.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.58
Exercise
σ = {a, b, c, d}
Determine minimimal complete DFA regconized the languages
consisting of all strings where all ’a’ is followed by a ’b’ and all ’c’ is
followed by a ’b’.
Then, deduce the corresponding regular expressions.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.58
Exercise
σ = {a, b, c, d}
Determine minimimal complete DFA regconized the languages
consisting of all strings where all ’a’ is followed by a ’b’ and all ’c’ is
followed by a ’b’.
Then, deduce the corresponding regular expressions.
σ = {a, b}
Give a NFA (as simple as possible) for the language defined by the
regular expression ab∗
+ a(ba)∗
. Then determine the equivalent DFA.
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.59
Exercise
Let Σ = {a, b, c}
Determine minimimal DFA regconized the languages represented by the
following regular expressions:
1 a∗
+ b∗
,
2 a∗
b + b∗
a,
3 b(ca + ac)(aa)∗
+ a∗
(a + b),
4 (a∗
b + b∗
a)∗
.
5 a∗
bc + bca∗
,
6 b(c + c)(aa)∗
+ (a + c)a∗
,
7 aab + cab∗
ac,
8 b(ca + ac)(a)∗
+ a(a + b)∗
,
9 ab(b + c)ab + ba(c + b)∗
+ (b + c)ab(b + c).
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.60
Equivalent automatons
Two following automatas are equivalent?
q0
q1 q2
a
b
a
a
a
b
p0
p1 p2
p3
b
b
a
a
b
a a
a
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.61
Equivalent automatons
Two following DFAs are equivalent?
q0
q1 q2
b
b
a
a
a
b
p0
p1 p2
p3
b
b
a
a
b
a a
b
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.62
Combination of two automata
Σ = {a, b}
a) Given two languages La, Lb defined by regular expressions
Ea = a(a + b)∗
and Eb = a∗
(ba)∗
b) Give a DFA for the language La, Lb.
c) Then, determine a (minimized) DFA for the following languages.
1 L1 = La ◦ Lb
2 L2 = La
T
Lb
3 L3 = La
S
Lb
4 L4 = La  Lb
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.62
Combination of two automata
Σ = {a, b}
a) Given two languages La, Lb defined by regular expressions
Ea = (a∗
b + b∗
a)+
and Eb = (a + b)∗
b(a + b)∗
a
b) Give a DFA for the language La, Lb.
c) Then, determine a (minimized) DFA for the following languages.
1 L1 = La ◦ Lb
2 L2 = La
T
Lb
3 L3 = La
S
Lb
4 L4 = La  Lb
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.62
Combination of two automata
Σ = {a, b}
a) Given two languages La, Lb defined by regular expressions
Ea = ab∗
+ a(ba)∗
and Eb = baa∗
+ ab + (a + b)ab∗
b) Give a DFA for the language La, Lb.
c) Then, determine a (minimized) DFA for the following languages.
1 L1 = La ◦ Lb
2 L2 = La
T
Lb
3 L3 = La
S
Lb
4 L4 = La  Lb
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.63
Odd Parity Detector
Describe DFA for Odd Parity Detector
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.64
TCP/IP protocol
Describe DFA for a demonstration of TCP/IP protocol
Automata
TVHoai, HTNguyen,
NAKhuong, LHTrang
Contents
Motivation
Alphabets, words and
languages
Regular expression or
rationnal expression
Non-deterministic
finite automata
Deterministic finite
automata
Recognized languages
Determinisation
Minimization
DFAs combination
Some applications
4.65
Application
Propose an automata to describe a vehicular multi-information
display system with a given number of buttons.
For example, digital speedo meter of Honda Lead motor with only
one button can display information about: petroleum level, speed,
trip, date, time, engine oil life.
(Hint: we distinguish two different actions: quickly press the
button; press the button and hold-down over two seconds.)

More Related Content

Similar to Mathematics Modeling - Chapter about Automata

Shallow parser for hindi language with an input from a transliterator
Shallow parser for hindi language with an input from a transliteratorShallow parser for hindi language with an input from a transliterator
Shallow parser for hindi language with an input from a transliterator
Shashank Shisodia
 
Speech To Sign Language Interpreter System
Speech To Sign Language Interpreter SystemSpeech To Sign Language Interpreter System
Speech To Sign Language Interpreter System
kkkseld
 
Lectura 3.5 word normalizationintwitter finitestate_transducers
Lectura 3.5 word normalizationintwitter finitestate_transducersLectura 3.5 word normalizationintwitter finitestate_transducers
Lectura 3.5 word normalizationintwitter finitestate_transducers
Matias Menendez
 
referát.doc
referát.docreferát.doc
referát.doc
butest
 

Similar to Mathematics Modeling - Chapter about Automata (20)

Ch3 4 regular expression and grammar
Ch3 4 regular expression and grammarCh3 4 regular expression and grammar
Ch3 4 regular expression and grammar
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Segmentation Words for Speech Synthesis in Persian Language Based On Silence
Segmentation Words for Speech Synthesis in Persian Language Based On SilenceSegmentation Words for Speech Synthesis in Persian Language Based On Silence
Segmentation Words for Speech Synthesis in Persian Language Based On Silence
 
Types of Language in Theory of Computation
Types of Language in Theory of ComputationTypes of Language in Theory of Computation
Types of Language in Theory of Computation
 
Shallow parser for hindi language with an input from a transliterator
Shallow parser for hindi language with an input from a transliteratorShallow parser for hindi language with an input from a transliterator
Shallow parser for hindi language with an input from a transliterator
 
Phonetic Recognition In Words For Persian Text To Speech Systems
Phonetic Recognition In Words For Persian Text To Speech SystemsPhonetic Recognition In Words For Persian Text To Speech Systems
Phonetic Recognition In Words For Persian Text To Speech Systems
 
Theory of Computation Lecture Notes
Theory of Computation Lecture NotesTheory of Computation Lecture Notes
Theory of Computation Lecture Notes
 
G2 pil a grapheme to-phoneme conversion tool for the italian language
G2 pil a grapheme to-phoneme conversion tool for the italian languageG2 pil a grapheme to-phoneme conversion tool for the italian language
G2 pil a grapheme to-phoneme conversion tool for the italian language
 
ChomskyPresentation.pdf
ChomskyPresentation.pdfChomskyPresentation.pdf
ChomskyPresentation.pdf
 
Speech To Sign Language Interpreter System
Speech To Sign Language Interpreter SystemSpeech To Sign Language Interpreter System
Speech To Sign Language Interpreter System
 
Languages, Ontologies and Automatic Grammar Generation - Prof. Pedro Rangel H...
Languages, Ontologies and Automatic Grammar Generation - Prof. Pedro Rangel H...Languages, Ontologies and Automatic Grammar Generation - Prof. Pedro Rangel H...
Languages, Ontologies and Automatic Grammar Generation - Prof. Pedro Rangel H...
 
Nlp
NlpNlp
Nlp
 
Lectura 3.5 word normalizationintwitter finitestate_transducers
Lectura 3.5 word normalizationintwitter finitestate_transducersLectura 3.5 word normalizationintwitter finitestate_transducers
Lectura 3.5 word normalizationintwitter finitestate_transducers
 
Chomsky classification for types of grammars
Chomsky classification for types of grammarsChomsky classification for types of grammars
Chomsky classification for types of grammars
 
01-Introduction&Languages.pdf
01-Introduction&Languages.pdf01-Introduction&Languages.pdf
01-Introduction&Languages.pdf
 
Sslis
SslisSslis
Sslis
 
Segmentation Words for Speech Synthesis in Persian Language Based On Silence
Segmentation Words for Speech Synthesis in Persian Language Based On SilenceSegmentation Words for Speech Synthesis in Persian Language Based On Silence
Segmentation Words for Speech Synthesis in Persian Language Based On Silence
 
referát.doc
referát.docreferát.doc
referát.doc
 
An implementation of apertium based assamese morphological analyzer
An implementation of apertium based assamese morphological analyzerAn implementation of apertium based assamese morphological analyzer
An implementation of apertium based assamese morphological analyzer
 
Cross language alignments - challenges guidelines and gold sets
Cross language alignments - challenges guidelines and gold setsCross language alignments - challenges guidelines and gold sets
Cross language alignments - challenges guidelines and gold sets
 

Recently uploaded

會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdfContoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
cupulin
 
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
EADTU
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
CaitlinCummins3
 
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MysoreMuleSoftMeetup
 

Recently uploaded (20)

Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio App
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
AIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptAIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.ppt
 
e-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopale-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopal
 
Major project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategiesMajor project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategies
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdfContoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
 
Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
 
The Liver & Gallbladder (Anatomy & Physiology).pptx
The Liver &  Gallbladder (Anatomy & Physiology).pptxThe Liver &  Gallbladder (Anatomy & Physiology).pptx
The Liver & Gallbladder (Anatomy & Physiology).pptx
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
 
OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...
 
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
 
How to Manage Website in Odoo 17 Studio App.pptx
How to Manage Website in Odoo 17 Studio App.pptxHow to Manage Website in Odoo 17 Studio App.pptx
How to Manage Website in Odoo 17 Studio App.pptx
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
 

Mathematics Modeling - Chapter about Automata

  • 1. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.1 Chapter 4 Automata Mathematical Modeling (Materials drawn from this chapter in: - Peter Linz. An Introduction to Formal Languages and Automata, (5th Ed.), Jones & Bartlett Learning, 2011. - John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullamn. Introduction to Automata Theory, Languages, and Computation (3rd Ed.), Prentice Hall, 2006. - Antal Iványi Algorithms of Informatics, Kempelen Farkas Hallgatói Információs Központ, 2011. ) TVHoai, HTNguyen, NAKhuong, LHTrang Faculty of Computer Science and Engineering University of Technology, VNU-HCM
  • 2. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.2 Contents 1 Motivation 2 Alphabets, words and languages 3 Regular expression or rationnal expression 4 Non-deterministic finite automata 5 Deterministic finite automata 6 Recognized languages 7 Determinisation 8 Minimization 9 DFAs combination 10 Some applications
  • 3. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.3 Course outcomes Course learning outcomes L.O.1 Understanding of predicate logic L.O.1.1 – Give an example of predicate logic L.O.1.2 – Explain logic expression for some real problems L.O.1.3 – Describe logic expression for some real problems L.O.2 Understanding of deterministic modeling using some discrete structures L.O.2.1 – Explain a linear programming (mathematical statement) L.O.2.2 – State some well-known discrete structures L.O.2.3 – Give a counter-example for a given model L.O.2.4 – Construct discrete model for a simple problem L.O.3 Be able to compute solutions, parameters of models based on data L.O.3.1 – Compute/Determine optimal/feasible solutions of integer linear programming models, possibly utilizing adequate libraries L.O.3.2 – Compute/ optimize solution models based on automata, . . . , possibly utilizing adequate libraries
  • 4. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.4 Introduction Standard states of a process in operating system • O with label: states • →: transitions Waiting Blocked Running CPU Resource Resource CPU Resource
  • 5. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.5 Why study automata theory? A useful model for many important kinds of software and hardware 1 designing and checking the behaviour of digital circuits 2 lexical analyser of a typical compiler: a compiler component that breaks the input text into logical units 3 scanning large bodies of text, such as collections of Web pages, to find occurrences of words, phrases or other patterns 4 verifying pratical systems of all types that have a finite number of distinct states, such as communications protocols and other protocols for securely information exchange, etc.
  • 6. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.6 Alphabets, symbols Definition Alphabet Σ (bảng chữ cái) is a finite and non-empty set of symbols (or characters). For example: • Σ = {a, b} • The binary alphabet: Σ = {0, 1} • The set of all lower-case letters: Σ = {a, b, . . . , z} • The set of all ASCII characters. Remark Σ is almost always all available characters (lowercase letters, capital letters, numbers, symbols and special characters such as space or newline). But nothing prevents to imagine other sets.
  • 7. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.7 Strings (words) Definition • A string/word u (chuỗi/từ) over Σ is a finite sequence (possibly empty) of symbols (or characters) in Σ. • A empty string is denoted by ε. • The length of the string u, denoted by |u|, is the number of characters. • All the strings over Σ is denoted by Σ∗ . • A language L over Σ is a sub-set of Σ∗ . Remark The purpose aims to analyze a string of Σ∗ in order to know whether it belongs or not to L.
  • 8. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.8 Example Let Σ = {0, 1} • ε is a string with length of 0. • 0 and 1 are the strings with length of 1. • 00, 01, 10 and 11 are the strings with length of 2. • ∅ is a language over Σ . It’s called the empty language.
  • 9. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.8 Example Let Σ = {0, 1} • ε is a string with length of 0. • 0 and 1 are the strings with length of 1. • 00, 01, 10 and 11 are the strings with length of 2. • ∅ is a language over Σ . It’s called the empty language. • Σ∗ is a language over Σ . It’s called the universal language. • {ε} is a language over Σ . • {0, 00, 001} is also a language over Σ . • The set of strings which contain an odd number of 0 is a language over Σ. • The set of strings that contain as many of 1 as 0 is a language over Σ.
  • 10. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.9 String concatenation Intuitively, the concatenation of two strings 01 and 10 is 0110. Concatenating the empty string ε and the string 110 is the string 110. Definition String concatenation is an application of Σ∗ × Σ∗ to Σ∗ . Concatenation of two strings u and v in Σ is the string u.v.
  • 11. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.10 Languages Specifying languages A language can be specified in several ways:
  • 12. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.10 Languages Specifying languages A language can be specified in several ways: a enumeration of its words, for example: • L1 = {ε, 0, 1}, • L2 = {a, aa, aaa, ab, ba}, • L3 = {ε, ab, aabb, aaabbb, aaaabbbb, . . .},
  • 13. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.10 Languages Specifying languages A language can be specified in several ways: a enumeration of its words, for example: • L1 = {ε, 0, 1}, • L2 = {a, aa, aaa, ab, ba}, • L3 = {ε, ab, aabb, aaabbb, aaaabbbb, . . .}, b a property, such that all words of the language have this property but other words have not, for example: • L4 = {an bn |n = 0, 1, 2, . . .}, • L5 = {uu−1 |u ∈ Σ∗ } with Σ = {a, b}, • L6 = {u ∈ {a, b}∗ |na(u) = nb(u)} where na(u) denotes the number of letter ’a’ in word u.
  • 14. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.10 Languages Specifying languages A language can be specified in several ways: a enumeration of its words, for example: • L1 = {ε, 0, 1}, • L2 = {a, aa, aaa, ab, ba}, • L3 = {ε, ab, aabb, aaabbb, aaaabbbb, . . .}, b a property, such that all words of the language have this property but other words have not, for example: • L4 = {an bn |n = 0, 1, 2, . . .}, • L5 = {uu−1 |u ∈ Σ∗ } with Σ = {a, b}, • L6 = {u ∈ {a, b}∗ |na(u) = nb(u)} where na(u) denotes the number of letter ’a’ in word u. c its grammar, for example: • Let G = (N, T, P, S) where N = {S}, T = {a, b}, P = {S → aSb, S → ab} i.e. L(G) = {an bn |n ≥ 1} since S ⇒ aSb ⇒ a2 Sb2 ⇒ . . . ⇒ an Sbn
  • 15. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.11 Operations on languages L, L1, L2 are languages over Σ • union L1 ∪ L2 = {u ∈ Σ∗ | u ∈ L1 or u ∈ L2}, • intersection L1 ∩ L2 = {u ∈ Σ∗ | u ∈ L1 and u ∈ L2}, • difference L1 L2 = {u ∈ Σ∗ | u ∈ L1 and u 6∈ L2}, • complement L = Σ∗ L, • multiplication L1L2 = {uv | u ∈ L1, v ∈ L2},
  • 16. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.11 Operations on languages L, L1, L2 are languages over Σ • union L1 ∪ L2 = {u ∈ Σ∗ | u ∈ L1 or u ∈ L2}, • intersection L1 ∩ L2 = {u ∈ Σ∗ | u ∈ L1 and u ∈ L2}, • difference L1 L2 = {u ∈ Σ∗ | u ∈ L1 and u 6∈ L2}, • complement L = Σ∗ L, • multiplication L1L2 = {uv | u ∈ L1, v ∈ L2}, • power L0 = {ε}, Ln = Ln−1 L , if n ≥ 1, • iteration or star operation L∗ = ∞ [ i=0 Li = L0 ∪ L ∪ L2 ∪ · · · ∪ Li ∪ · · · , We will use also the notation L+ L+ = ∞ [ i=1 Li = L ∪ L2 ∪ · · · ∪ Li ∪ · · · . The union, product and iteration are called regular operations.
  • 17. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.12 Example Let Σ = {a, b, c}, L1 = {ab, aa, b}, L2 = {b, ca, bac} a L1 ∪ L2 =?, b L1 ∩ L2 =?, c L1 L2 =?, d L1L2 =?, e L2L1 =?.
  • 18. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.12 Example Let Σ = {a, b, c}, L1 = {ab, aa, b}, L2 = {b, ca, bac} a L1 ∪ L2 = {ab, aa, b, ca, bac}, b L1 ∩ L2 = {b}, c L1 L2 = {ab, aa}, d L1L2 = {abb, aab, bb, abca, aaca, bca, abbac, aabac, bbac}, e L2L1 = {bab, baa, bb, caab, caaa, cab, bacab, bacaa, bacb}.
  • 19. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.12 Example Let Σ = {a, b, c}, L1 = {ab, aa, b}, L2 = {b, ca, bac} a L1 ∪ L2 = {ab, aa, b, ca, bac}, b L1 ∩ L2 = {b}, c L1 L2 = {ab, aa}, d L1L2 = {abb, aab, bb, abca, aaca, bca, abbac, aabac, bbac}, e L2L1 = {bab, baa, bb, caab, caaa, cab, bacab, bacaa, bacb}. Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac} L2 =?
  • 20. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.12 Example Let Σ = {a, b, c}, L1 = {ab, aa, b}, L2 = {b, ca, bac} a L1 ∪ L2 = {ab, aa, b, ca, bac}, b L1 ∩ L2 = {b}, c L1 L2 = {ab, aa}, d L1L2 = {abb, aab, bb, abca, aaca, bca, abbac, aabac, bbac}, e L2L1 = {bab, baa, bb, caab, caaa, cab, bacab, bacaa, bacb}. Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac} L2 = u.v, with u, v ∈ L including the following strings: • abab, abaa, abb, abca, abbac, • aaab, aaaa, aab, aaca, aabac, • bab, baa, bb, bca, bbac, • caab, caaa, cab, caca, cabac, • bacab, bacaa, bacb, bacca, bacbac.
  • 21. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.13 Exercise Let Σ = {a, b, c} Give at least 5 strings for each of the following languages 1 all strings with exactly one ’a’. 2 all strings of even length. 3 all strings which the number of appearances of ’b’ is divisible by 3. 4 all strings ending with ’a’. 5 all non-empty strings not ending with ’a’. 6 all strings with at least one ’a’. 7 all strings with at most one ’a’. 8 all strings without any ’a’. 9 all strings including at least one ’a’ and whose the first appearance of ’a’ is not followed by ’c’.
  • 22. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.14 Exercise Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac} Which of the following strings are in L∗ ? S1 aaa = a3 , S2 abaabaaabaa = aba2 ba3 ba2 , S3 bbb, S4 aab, S5 cc, S6 aaaabaaaa = a4 ba4 , S7 cabbbbaaaaaaaaab = cab4 a9 b, S8 baaaaabaaaab = ba5 ba4 b, S9 baaaaabaac = ba5 ba2 c, S10 baca.
  • 23. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.15 Regular expressions Regular expressions (biểu thức chính quy) Permit to specify a language with strings consist of letters and ε, parentheses (), operating symbols +, ., ∗. This string can be empty, denoted ∅. Regular operations on the languages • union ∪ or + • product of concatenation • transitive closure ∗
  • 24. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.15 Regular expressions Regular expressions (biểu thức chính quy) Permit to specify a language with strings consist of letters and ε, parentheses (), operating symbols +, ., ∗. This string can be empty, denoted ∅. Regular operations on the languages • union ∪ or + • product of concatenation • transitive closure ∗ Example on the aphabet set Σ = {a, b} • (a + b)∗ represent all the strings • a∗ (ba∗ )∗ represent the same language • (a + b)∗ aab represent all strings ending with aab.
  • 25. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.16 Regular expressions • ∅ is a regular expression representing the empty language. • ε is a regular expression representing language {ε}. • If a ∈ Σ, then a is a regular expression representing language {a}. • If x, y are regular expressions representing languages X and Y respectively, then (x + y), (xy), x∗ are regular expression representing languages X S Y , XY and X∗ respectively.
  • 26. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.16 Regular expressions • ∅ is a regular expression representing the empty language. • ε is a regular expression representing language {ε}. • If a ∈ Σ, then a is a regular expression representing language {a}. • If x, y are regular expressions representing languages X and Y respectively, then (x + y), (xy), x∗ are regular expression representing languages X S Y , XY and X∗ respectively. x + y ≡ y + x (x + y) + z ≡ x + (y + z) (xy)z ≡ x(yz) (x + y)z ≡ xz + yz x(y + z) ≡ xy + xz (x + y)∗ ≡ (x∗ + y)∗ ≡ (x + y∗ )∗ ≡ (x∗ + y∗ )∗ (x + y)∗ ≡ (x∗ y∗ )∗ (x∗ )∗ ≡ x∗ x∗ x ≡ xx∗ xx∗ + ε ≡ x∗
  • 27. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.17 Regular expressions Kleene’s theorem Language L ⊆ Σ∗ is regular if and only if there exists a regular expression over Σ representing language L.
  • 28. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.18 Exercise Let Σ = {a, b, c} Give at least 3 words for each language represented by the following regular expressions 1 E1 = a∗ + b∗ , 2 E2 = a∗ b + b∗ a, 3 E3 = b(ca + ac)(aa)∗ + a∗ (a + b), 4 E4 = (a∗ b + b∗ a)∗ . Example a∗ b = {b, ab, a2 b, a3 b, . . . , aaa . . . ab},
  • 29. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.19 Exercise Let Σ = {a, b, c} Determine regular expression presenting for each of the following languages. 1 all strings with exactly one ’a’. 2 all strings of even length. 3 all strings which the number of appearances of ’b’ is divisible by 3. 4 all strings ending with ’a’. 5 all non-empty strings not ending with ’a’. 6 all strings with at least one ’a’. 7 all strings with at most one ’a’. 8 all strings without any ’a’. 9 all strings including at least one ’a’ and whose the first appearance of ’a’ is not followed by a ’c’.
  • 30. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.20 Exercise Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac} Which languages represented by the following regular expressions are in L∗ ? 1 E1 = a∗ + ba, 2 E2 = b∗ + a∗ aba∗ , 3 E3 = aab + cab∗ ac, 4 E4 = b(ca + ac)(aa)∗ + a∗ (a + b), 5 E5 = (a4 ba3 )2∗ c, 6 E6 = b+ ac (b+ = bb∗ ), 7 E7 = (b + c)ab + ba(c + ab)∗ , 8 E8 = (b + c)∗ ab + a(c + a)∗ .
  • 31. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.20 Exercise Let Σ = {a, b, c} and L = {ab, aa, b, ca, bac} Which languages represented by the following regular expressions are in L∗ ? 1 E1 = a∗ + ba, 2 E2 = b∗ + a∗ aba∗ , 3 E3 = aab + cab∗ ac, 4 E4 = b(ca + ac)(aa)∗ + a∗ (a + b), 5 E5 = (a4 ba3 )2∗ c, 6 E6 = b+ ac (b+ = bb∗ ), 7 E7 = (b + c)ab + ba(c + ab)∗ , 8 E8 = (b + c)∗ ab + a(c + a)∗ . Define a (simple) regular expression representing the language L∗ .
  • 32. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.21 Exercise Simplify each of the following regular expressions 1 E1 = b + ab∗ + aa∗ b + aa∗ ab∗ , 2 E2 = a∗ (b + ab∗ ), 3 E3 = ε + ab + abab(ab)∗ , 4 E4 = (ba)∗ + a(ba)∗ + (ba)∗ b + a(ba)∗ b, 5 E5 = aa(b∗ + a) + a(ab∗ + aa), 6 E6 = (a∗ (ba)∗ )∗ (b + ε), 7 E7 = a(a + b)∗ + aa(a + b)∗ + aaa(a + b)∗ .
  • 33. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.22 Finite automata Finite automata (Automat hữu hạn) • The aim is representation of a process system. • It consists of states (including an initial state and one or several (or one) final/accepting states) and transitions (events). • The number of states must be finite.
  • 34. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.22 Finite automata Finite automata (Automat hữu hạn) • The aim is representation of a process system. • It consists of states (including an initial state and one or several (or one) final/accepting states) and transitions (events). • The number of states must be finite. q0 q1 b a, b Regular expression b∗ (a + b)
  • 35. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.23 Exercise Let Σ = {a, b} Which of the strings 1 a3 b, 2 aba2 b, 3 a4 b2 ab3 a, 4 a4 ba4 , 5 ab4 a9 b, 6 ba5 ba4 b, 7 ba5 b2 , 8 bab2 a are accepted by the following finite automata? q0 q1 q2 a b a b a b
  • 36. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.24 Exercise Let Σ = {a, b, c} Propose FA presenting each of the following languages 1 all strings with exactly one ’a’. 2 all strings of even length. 3 all strings which the number of appearances of ’b’ is divisible by 3. 4 all strings ending with ’a’. 5 all non-empty strings not ending with ’a’. 6 all strings with at least one ’a’. 7 all strings with at most one ’a’. 8 all strings without any ’a’. 9 all strings including at least one ’a’ and whose the first appearance of ’a’ is not followed by a ’c’.
  • 37. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.25 Exercise Give regular expression for the following finite automata. q0 q1 b a q0 q1 b a, b a q0 q1 q2 a b a b q0 q1 q2 b a a, b a b
  • 38. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.26 Exercise Give regular expression for the following finite automata. q0 q1 q2 a b a b a b
  • 39. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.26 Exercise Give regular expression for the following finite automata. q0 q1 q2 a b a b a b and this one. q0 q1 b a, b b a
  • 40. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.27 Nondeterministic finite automata Definition A nondeterministic finite automata (NFA, Automat hữu hạn phi đơn định) is mathematically represented by a 5-tuples (Q, Σ, q0, δ, F) where • Q a finite set of states. • Σ is the alphabet of the automata. • q0 ∈ Q is the initial state. • δ : Q × Σ → Q is a transition function. • F ⊆ Q is the set of final/accepting states. Remark According to an event, a state may go to one or more states.
  • 41. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.28 NFA with empty symbol ε Other definition of NFA Finite automaton with transitions defined by character x (in Σ) or empty character ε. q0 q1 q2 b ε a b a, b
  • 42. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.29 Exercise Consider the set of strings on {a, b} in which every aa is followed immediately by b. For example aab, aaba, aabaabbaab are in the language, but aaab and aabaa are not. Construct an accepting NFA.
  • 43. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.30 Exercise Let Σ = {a, b, c} Propose NFA presenting each of the following languages 1 all strings with exactly one ’a’. 2 all strings of even number of appearances of ’b’. 3 all strings which the number of appearances of ’b’ is divisible by 3.
  • 44. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.31 Exercise Let Σ = {a, b, c} Construct an accepting finite automata for languages represented by the following regular expressions. • E1 = a∗ c + b∗ a, • E2 = b∗ ab + a∗ aba∗ , • E3 = aab + cab∗ ac, • E4 = b(ca + ac)(aa)∗ + a∗ (a + b), • E5 = (ab)2∗ c + bac, • E6 = bb∗ ac + b∗ a, • E7 = (b + c)ab + ba(c + ab)∗ , • E8 = (b + c)∗ ba + a(c + a)∗ , • E9 = [a(b + c)∗ + bc∗ ]∗ , • E10 = b∗ ac + bb∗ a.
  • 45. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.32 Exercise Let Σ = {a, b} Give 3 valid strings & 5 invalid strings in language L2 , with L represented by the following finite automata. A B C D a b ε b b a a b
  • 46. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.33 Exercise Let Σ = {a, b} Give 3 valid strings & 5 invalid strings in language L2 , with L represented by the following finite automata. A B C D a b a, ε b a a a b
  • 47. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.34 Deterministic finite automata Definition A deterministic finite automata (DFA, Automat hữu hạn đơn định) is given by a 5-tuplet (Q, Σ, q0, δ, F) with • Q a finite set of states. • Σ is the input alphabet of the automata. • q0 ∈ Q is the initial state. • δ : Q × Σ → Q is a transition function. • F ⊆ Q is the set of final/accepting states. Condition Transition function δ is an application.
  • 48. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.35 Example Let Σ = {a, b} Hereinafter, a deterministic and complete automata that recognizes the set of strings which contain an odd number of a. q0 q1 b a b a • Q = {q0, q1}, • δ(q0, a) = q1, δ(q0, b) = q0, δ(q1, a) = q0, δ(q1, b) = q1, • F = {q1}.
  • 49. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.36 Configurations and executions Let A = (Q, Σ, q0, δ, F) A configuration (cấu hình) of automata A is a couple (q, u) where q ∈ Q and u ∈ Σ∗ . We define the relation → of derivation between configurations : (q, a.u) → (q0 , u) iif δ(q, a) = q0 An execution (thực thi) of automata A is a sequence of configurations (q0, u0) . . . (qn, un) such that (qi, ui) → (qi+1, ui+1), for i = 0, 1, . . . , n − 1.
  • 50. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.37 Exercise Let Σ = {0, 1} • Give a DFA that accepts all words that contain a number of 0 multiple of 3. • Give an execution of this automata on 1101010.
  • 51. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.37 Exercise Let Σ = {0, 1} • Give a DFA that accepts all words that contain a number of 0 multiple of 3. • Give an execution of this automata on 1101010. Let Σ = {a, b} • Give a DFA that accepts all strings containing 2 characters a. • Give an execution of this automata on aabb, ababb and bbaa.
  • 52. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.38 Recognized languages Definition A language L over an alphabet Σ, defined as a sub-set of Σ∗ , is recognized if there exists a finite automata accepting all strings of L. Proposition If L1 and L2 are two recognized languages, then • L1 ∪ L2 and L1 ∩ L2 are also recognized; • L1.L2 and L∗ 1 are also recognized.
  • 53. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.39 Example Sub-string ab Construct a DFA that recognizes the language over the alphabet {a, b} containing the sub-string ab. Regular expression (a + b)∗ ab(a + b)∗
  • 54. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.39 Example Sub-string ab Construct a DFA that recognizes the language over the alphabet {a, b} containing the sub-string ab. Regular expression (a + b)∗ ab(a + b)∗ Transition table a b → q0 q1 q0 q1 q1 q2 q2∗ q2 q2 Automata q0 q1 q2 b a a b a, b
  • 55. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.40 Exercise Let Σ = {a, b, c} Propose DFA presenting each of the following languages 1 all strings which the number of appearances of ’aa’ and the one of ’b’ are the same. 2 all strings which the number of appearances of ’a’ is equal to the one of ’b’ plus the one of ’c’. 3 all strings including at least one ’a’ and whose the first appearance of ’a’ is not followed by a ’c’. 4 all strings which the difference between number of appearances of ’a’ and the one of ’c’ is less than 1. 5 all strings which there is at least ’b’ or ’cb’ after ’a’ or ’aa’.
  • 56. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.41 Example Let Σ = {a, b, c} Construct DFAs that recognize the languages represented by the following regular expressions. • E1 = a∗ + b∗ a, • E2 = b∗ + a∗ aba∗ , • E3 = aab + cab∗ ac, • E4 = bb∗ ac + b∗ a, • E5 = b∗ ac + bb∗ a.
  • 57. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.42 From NFA to DFA Given a NFA 0 1 2 b b a a ε Transition table a b
  • 58. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.42 From NFA to DFA Given a NFA 0 1 2 b b a a ε Transition table a b → {0} {1} {0}
  • 59. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.42 From NFA to DFA Given a NFA 0 1 2 b b a a ε Transition table a b → {0} {1} {0} {1} {0, 2} {1}
  • 60. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.42 From NFA to DFA Given a NFA 0 1 2 b b a a ε Transition table a b → {0} {1} {0} {1} {0, 2} {1} {0, 2}∗ {1} {0}
  • 61. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.42 From NFA to DFA Given a NFA 0 1 2 b b a a ε Transition table a b → {0} {1} {0} {1} {0, 2} {1} {0, 2}∗ {1} {0} Corresponding DFA {0} {1} {0, 2} b b a a a b
  • 62. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.43 Other example of determinisation Given a NFA 0 1 b a, b b a Transition table a b → {0} {1} {0, 1} {1}∗ {0} {1} {0, 1}∗ {0, 1} {0, 1}
  • 63. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.43 Other example of determinisation Given a NFA 0 1 b a, b b a Transition table a b → {0} {1} {0, 1} {1}∗ {0} {1} {0, 1}∗ {0, 1} {0, 1} Corresponding DFA {0} {1} {0, 1} b a, b a b a
  • 64. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.44 Exercise Let Σ = {a, b, c} Determine DFAs which corresponds to the following NFAs: 0 1 b, c b, c a, ε a 0 1 2 a b c, ε
  • 65. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.44 Exercise Let Σ = {a, b, c} Determine DFAs which corresponds to the following NFAs: 0 1 b, c b, c a, ε a 0 1 2 a b c, ε 0 1 2 a b b a, b a ε 0 1 2 a b, c b, ε ε ε
  • 66. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.45 Exercise Let Σ = {a, b, c} Determine DFAs which corresponds to the following NFAs: 0 1 2 3 b b a b c a
  • 67. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.46 Exercise Let Σ = {a, b, c} Determine DFAs which corresponds to the following NFAs: 0 1 2 3 b a, c a b b, c c c a
  • 68. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.47 Exercise Let Σ = {a, b, c} Determine finite automata, not necessarily deterministic, recognizing the following languages: • L1 = {a, ab, ca, cab, acc}, • L2 = { set of words of even number of a}, • L3 = { set of words containing ab and ending with b}. Then, determine the corresponding complete DFAs.
  • 69. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.48 Exercise Let Σ = {a, b, c} Construct DFAs for languages represented by following expressions. • E1 = a∗ + b∗ a, • E2 = b∗ + a∗ aba∗ , • E3 = (aab + ab∗ )∗ , • E4 = b(ca + ac)(aa)∗ + a∗ (a + b), • E5 = ba∗ b + baa + baba, • E6 = (ba∗ b + baa + baaba)∗ , • E7 = ba∗ b + baa + aba(a + b)∗ , • E9 = [a(b + c)∗ + bc∗ ]∗ , • E10 = bb∗ ac + ba∗ b. • E11 = bb∗ ac + b∗ a, • E12 = (b + c)ab + ba(c + ab)∗ , • E13 = (b + c)∗ ba + a(c + a)∗ ,
  • 70. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.49 Example Determine a DFA that recognizes the language over the alphabet {a, b} with an even number of a and an even number b.
  • 71. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.49 Example Determine a DFA that recognizes the language over the alphabet {a, b} with an even number of a and an even number b. Automata q0 q1 q2 q3 b a b a a b a b
  • 72. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.49 Example Determine a DFA that recognizes the language over the alphabet {a, b} with an even number of a and an even number b. Automata q0 q1 q2 q3 b a b a a b a b Transition table a b → q∗ 0 q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 →: start state ∗ : final state(s)
  • 73. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s)
  • 74. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I I I I
  • 75. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I
  • 76. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) cl(s.b)
  • 77. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II cl(s.b) II
  • 78. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I cl(s.b) II I
  • 79. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I cl(s.b) II I I
  • 80. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I cl(s.b) II I I I
  • 81. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II cl(s.b) II I I I I
  • 82. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I
  • 83. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II II
  • 84. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II III II
  • 85. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II III II IV
  • 86. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II III II IV III
  • 87. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II III II IV III II IV III IV II III II III III I III III
  • 88. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II III II IV III II IV III IV II III II III III I III III s 0 1 2 3 4 5 cl(s) I II III IV III cl(s.a) II IV III II III cl(s.b) III III III III
  • 89. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II III II IV III II IV III IV II III II III III I III III s 0 1 2 3 4 5 cl(s) I II III V IV III cl(s.a) II IV III II III cl(s.b) III III III III
  • 90. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II III II IV III II IV III IV II III II III III I III III s 0 1 2 3 4 5 cl(s) I II III V IV III cl(s.a) II IV III II III cl(s.b) V III III III III
  • 91. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.50 From a DFA to a smaller DFA 0 1 2 3 4 5 a b a b b b a a a, b a, b equivalence relationships s 0 1 2 3 4 5 cl(s) I II I II I I cl(s.a) II I I I II I cl(s.b) II I I I I I 0 1 2 3 4 5 I II III II IV III II IV III IV II III II III III I III III s 0 1 2 3 4 5 cl(s) I II III V IV III cl(s.a) II IV III IV II III cl(s.b) V III III I III III
  • 92. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.51 From a DFA to a smaller DFA {0} {1} {2, 5} {3} {4} a, b a b a b b b a a equivalence relationships s 0 1 2 3 4 5 cl(s) I II III V IV III cl(s.a) II IV III IV II III cl(s.b) V III III I III III
  • 93. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.52 Another example of minimization 0 1 2 3 4 5 b a a b b a a b a a b b equivalence relationships s 0 1 2 3 4 5 cl(s) I I II I I I cl(s.a) I I I I I I cl(s.b) I II II I I II
  • 94. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.52 Another example of minimization 0 1 2 3 4 5 b a a b b a a b a a b b equivalence relationships s 0 1 2 3 4 5 cl(s) I I II I I I cl(s.a) I I I I I I cl(s.b) I II II I I II 0 1 2 3 4 5 I III II I I III III I I III I I I II II I I II
  • 95. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.53 Another example of minimization 0 1 2 3 4 5 b a a b b a a b a a b b
  • 96. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.53 Another example of minimization 0 1 2 3 4 5 b a a b b a a b a a b b equivalence relationships s 0 1 2 3 4 5 cl(s) I III II I I III cl(s.a) III I I III I I cl(s.b) I II II I I II
  • 97. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.53 Another example of minimization 0 1 2 3 4 5 b a a b b a a b a a b b equivalence relationships s 0 1 2 3 4 5 cl(s) I III II I I III cl(s.a) III I I III I I cl(s.b) I II II I I II 0 1 2 3 4 5 I III II I IV III III IV I III IV IV IV II II IV I II
  • 98. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.54 Another example of minimization {0, 3} {1, 5} 2 4 b a a b a a b b equivalence relationships s 0 1 2 3 4 5 cl(s) I III II I IV III cl(s.a) III IV I III IV IV cl(s.b) IV II II IV I II
  • 99. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.55 Exercise Let Σ = {a, b} Determine minimal DFA which corresponds to the following DFA: 0 1 8 2 3 4 5 6 7 b a a b b b a a b b a b b b a a a a
  • 100. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.56 Exercise 0 1 2 b a b b a a, b
  • 101. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.56 Exercise 0 1 2 b a b b a a, b Hint Two-steps approach: (NFA → DFA); min (DFA).
  • 102. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.57 Exercise σ = {a, b} Determine minimimal DFA regconized the languages represented by the following regular expressions: 1 E1 = (a + b)∗ b(a + b)∗
  • 103. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.57 Exercise σ = {a, b} Determine minimimal DFA regconized the languages represented by the following regular expressions: 1 E1 = (a + b)∗ b(a + b)∗ 2 E2 = ((a + b)2 )∗ + ((a + b)3 )∗
  • 104. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.57 Exercise σ = {a, b} Determine minimimal DFA regconized the languages represented by the following regular expressions: 1 E1 = (a + b)∗ b(a + b)∗ 2 E2 = ((a + b)2 )∗ + ((a + b)3 )∗ 3 E3 = ((a + b)2 )+ + ((a + b)3 )+
  • 105. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.57 Exercise σ = {a, b} Determine minimimal DFA regconized the languages represented by the following regular expressions: 1 E1 = (a + b)∗ b(a + b)∗ 2 E2 = ((a + b)2 )∗ + ((a + b)3 )∗ 3 E3 = ((a + b)2 )+ + ((a + b)3 )+ 4 E4 = baa∗ + ab + (a + b)ab∗ .
  • 106. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.58 Exercise σ = {a, b, c, d} Determine minimimal complete DFA regconized the languages consisting of all strings where all ’a’ is followed by a ’b’ and all ’c’ is followed by a ’b’. Then, deduce the corresponding regular expressions.
  • 107. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.58 Exercise σ = {a, b, c, d} Determine minimimal complete DFA regconized the languages consisting of all strings where all ’a’ is followed by a ’b’ and all ’c’ is followed by a ’b’. Then, deduce the corresponding regular expressions. σ = {a, b} Give a NFA (as simple as possible) for the language defined by the regular expression ab∗ + a(ba)∗ . Then determine the equivalent DFA.
  • 108. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.59 Exercise Let Σ = {a, b, c} Determine minimimal DFA regconized the languages represented by the following regular expressions: 1 a∗ + b∗ , 2 a∗ b + b∗ a, 3 b(ca + ac)(aa)∗ + a∗ (a + b), 4 (a∗ b + b∗ a)∗ . 5 a∗ bc + bca∗ , 6 b(c + c)(aa)∗ + (a + c)a∗ , 7 aab + cab∗ ac, 8 b(ca + ac)(a)∗ + a(a + b)∗ , 9 ab(b + c)ab + ba(c + b)∗ + (b + c)ab(b + c).
  • 109. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.60 Equivalent automatons Two following automatas are equivalent? q0 q1 q2 a b a a a b p0 p1 p2 p3 b b a a b a a a
  • 110. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.61 Equivalent automatons Two following DFAs are equivalent? q0 q1 q2 b b a a a b p0 p1 p2 p3 b b a a b a a b
  • 111. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.62 Combination of two automata Σ = {a, b} a) Given two languages La, Lb defined by regular expressions Ea = a(a + b)∗ and Eb = a∗ (ba)∗ b) Give a DFA for the language La, Lb. c) Then, determine a (minimized) DFA for the following languages. 1 L1 = La ◦ Lb 2 L2 = La T Lb 3 L3 = La S Lb 4 L4 = La Lb
  • 112. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.62 Combination of two automata Σ = {a, b} a) Given two languages La, Lb defined by regular expressions Ea = (a∗ b + b∗ a)+ and Eb = (a + b)∗ b(a + b)∗ a b) Give a DFA for the language La, Lb. c) Then, determine a (minimized) DFA for the following languages. 1 L1 = La ◦ Lb 2 L2 = La T Lb 3 L3 = La S Lb 4 L4 = La Lb
  • 113. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.62 Combination of two automata Σ = {a, b} a) Given two languages La, Lb defined by regular expressions Ea = ab∗ + a(ba)∗ and Eb = baa∗ + ab + (a + b)ab∗ b) Give a DFA for the language La, Lb. c) Then, determine a (minimized) DFA for the following languages. 1 L1 = La ◦ Lb 2 L2 = La T Lb 3 L3 = La S Lb 4 L4 = La Lb
  • 114. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.63 Odd Parity Detector Describe DFA for Odd Parity Detector
  • 115. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.64 TCP/IP protocol Describe DFA for a demonstration of TCP/IP protocol
  • 116. Automata TVHoai, HTNguyen, NAKhuong, LHTrang Contents Motivation Alphabets, words and languages Regular expression or rationnal expression Non-deterministic finite automata Deterministic finite automata Recognized languages Determinisation Minimization DFAs combination Some applications 4.65 Application Propose an automata to describe a vehicular multi-information display system with a given number of buttons. For example, digital speedo meter of Honda Lead motor with only one button can display information about: petroleum level, speed, trip, date, time, engine oil life. (Hint: we distinguish two different actions: quickly press the button; press the button and hold-down over two seconds.)