SlideShare a Scribd company logo
1 of 53
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Regular expressions and Kleene’s theorem
1/26
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
1 More closure properties of regular languages
Operations on languages
s-NFAs
Closure under concatenation and Kleene star
2 Regular expressions
Regular expressions
From regular expressions to regular languages
3Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regular expressions
2/26
Closure properties of regular languages
DFA minimization
1 Closure properties of regular languages
Union
Intersection
Complement
2 DFA minimization
The problem
An algorithm for minimization
3/ 29
Closure properties of regular languages
DFA minimization
Union
Intersection
Complement
Union of regular languages
Consider the following little theorem:
If L1 and L2 areregular languages over Σ, so is L1∪L2.
This is dead easy to prove using NFAs.
Suppose N1 = (Q1, ∆1, S1,F1) is an NFA for L1, and
N2 = (Q2, ∆2, S2, F2) is an NFA for L2.
We may assume Q1 ∩Q2 = ∅(just relabel states if not).
Now consider the NFA
(Q1 ∪Q2, ∆1 ∪∆2, S1 ∪S2, F1 ∪F2)
This is just N1 and N2 ‘side by side’. Clearly, this NFA recognizes
precisely L1 ∪ L2.
Number of states = |Q1| + |Q2| — no state explosion!
4/ 29
Closure properties of regular languages
DFA minimization
Union
Intersection
Complement
Intersection of regular languages
If L1 and L2 areregular languages over Σ, so is L1∩L2.
Suppose N1 = (Q1, ∆1, S1,F1) is an NFA for L1, and
N2 = (Q2, ∆2, S2, F2) is an NFA for L2.
We define a product NFA (Qj, ∆j, Sj, F j) by:
5/ 29
Qj = Q1 × Q2
a a a
(q, r) → (qj, rj) ∈∆j ⇐⇒ q → qj ∈∆1 and r→ rj ∈∆2
S j
Fj
= S1 ×S2
= F1 ×F2
Number of states = |Q1| × |Q2| — a bit more costly than union!
If N1 and N2 are DFAs then the product automaton is a DFA too.
Closure properties of regular languages
DFA minimization
Union
Intersection
Complement
Complement of a regular language
( Recall the set-difference operation,
A − B = {x ∈A |x ∈
/B }
where A, B are sets. )
If L is a regular language over Σ, then so is Σ∗ − L.
Suppose N = (Q, δ,s, F ) is a DFA for L.
Then (Q, δ,s, Q − F ) is a DFA for Σ∗ − L. (We simply swap the
accepting and rejecting states in N.)
determininstic!
6/ 29
Number of states = |Q| — no blow up at all, but weare required
to start with a DFA. This in itself has size implications.
The complement construction does not work if N is not
Closure properties of regular languages
DFA minimization
Union
Intersection
Complement
Closure properties of regular languages
We’ve seen that if both L1 and L2 are regular languages, then
so are:
L1 ∪L2
L1 ∩L2
Σ∗ − L1
(union)
(intersection)
(complement)
We sometimes express this by saying that regular languages
are closed under the operations of union, intersection and
complementation. (‘Closed’ used here in the senseof
‘self-contained’.)
Each closure property corresponds to an explicit construction
on finite automata. Sometimes this uses NFAs (union),
sometimes DFAs (complement), and sometimes the
construction works equally well for both NFAs and DFAs
(intersection).
7/ 29
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
The Minimization Problem
Determinization involves an exponential blow-up in the automaton.
Isit sometimes possible to reduce the size of the resulting DFA?
Many different DFAs can give rise to the same language, e.g.:
0
1 1
0
even odd
0
8/ 29
0
0
0
1
1
1 1
0,1
q2
q1 q4
q3
q0
We shall seethat there is always a unique smallest DFA for a given
regular language.
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
DFA minimization
0
0
0
0
1
1
1 1
0,1
q2
q1 q4
q3
q0
We perform the following steps to ‘reduce’ M above:
Throw away unreachable states (in this case, q4).
Squish together equivalent states, i.e. states q, qj such that:
every string accepted starting from q is accepted starting from
qj, and vice versa. (In this case, q0 and q2 are equivalent, as
are q1 and q3.)
Let’s write Min(M) for the resulting reduced DFA. In this case,
Min(M) is essentially the two-state machine on the previous slide.
9/ 29
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Properties of minimization
The minimization operation on DFAs enjoys the following
properties which characterise the construction:
L(Min(M)) = L(M).
If L(Mj) = L(M) and |Mj| ≤ |Min(M)| then Mj ∼
=Min(M).
Here |M| is the number of states of the DFA M, and ∼
=means the
two DFAs are isomorphic: that is, identical apart from a possible
renaming of states.
Two consequences of the above are:
Min(M) ∼
=Min(Mj) if and only if L(M) = L(Mj).
Min(Min(M)) ∼
=Min(M).
For a formal treatment of minimization, seeKozen chapters 13–16.
10/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Challenge question
Consider the following DFA over {a, b}.
q1
11/
q3
q2
a
b
a
b
b
b
q0 a
a
How many states does the minimized DFA have?
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Solution
The minimized DFA has just 2 states:
b
12/
a
q012 b q3
a
The minimized DFA has been obtained by squishing together
states q0, q1 and q2. Clearly q3 must be kept distinct.
Note that the corresponding language consists of all strings ending
with b.
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Minimization in practice
13/
Let’s look again at our definition of equivalent states:
states q, qj such that: every string accepted starting from
q is accepted starting from qj, and vice versa.
This is fine as an abstract mathematical definition of equivalence,
but it doesn’t seem to give us a way to compute which states are
equivalent: we’d have to ‘check’ infinitely many strings x ∈Σ∗.
Fortunately, there’s an actual algorithm for DFA minimization that
works in reasonabletime.
This is useful in practice: wecan specify our DFA in the most
convenient way without worrying about its size, then minimize to a
more ‘compact’ DFA to be implemented e.g. in hardware.
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
An algorithm for minimization
First eliminate any unreachable states (easy).
Then create a table of all possible pairs of states (p, q), initially
unmarked. (E.g. a two-dimensional array of booleans, initially set to
false.) We mark pairs (p, q) as and when wediscover that p and q
cannot be equivalent.
1 Start by marking all pairs (p, q) where p ∈F and q ƒ
∈
F , or
vice versa.
2 Look for unmarked pairs (p, q) such that for some u ∈Σ, the
3
14/
pair (δ(p, u), δ(q, u)) is marked. Then mark (p, q).
Repeat step 2 until no such unmarked pairs remain.
If (p, q) is still unmarked, can collapse p, q to a single state.
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
Consider the following DFA over {a, b}.
15/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
After eliminating unreachable states:
16/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
We mark states to be kept distinct using a half matrix:
q0
q1 ·
q2 · ·
q3 · · ·
q0 q1 q2 q3
17/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
First mark accepting/non-accepting pairs:
q0
q
1
q
2
·
q3
· ·
C C C
q0 q1 q2 q3
18/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
a a
(q0,q1) is unmarked, qo → q1, q1 → q3, and (q1,q3) is marked.
q0
q1 ·
q2 · ·
q3 C C C
q0 q1 q2 q3
19/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
So mark (q0,q1).
q0
q1 C
q2 · ·
q3 C C C
q0 q1 q2 q3
20/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
a a
(q0,q2) is unmarked, qo → q1, q2 → q3, and (q1,q3) is marked.
q0
q1 C
q2 · ·
q3 C C C
q0 q1 q2 q3
21/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
So mark (q0,q2).
q0
q1 C
q2 C ·
q3 C C C
q0 q1 q2 q3
22/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
The only remaining unmarked pair (q1,q2) stays unmarked.
q0
q1 C
q2 C ·
q3 C C C
q0 q1 q2 q3
23/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Illustration of minimization algorithm
So obtain mimized DFA by collapsing q1, q2 to a single state.
24/
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
Improving determinization
Now wehave a minimization algorithm, the following improved
determinization procedure is possible.
To determinize an NFA M with n states:
1
2
25/
Perform the subset construction on M to produce an
equivalent DFA N with 2n states.
Perform the minimization algorithm on N to produce a DFA
Min(N) with ≤ 2n states.
Using this method weare guaranteed to produce the smallest
possible DFA equivalent to M.
In many cases this avoids the exponential state-space blow-up.
In some cases, however, an exponential blow-up is unavoidable.
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
End-of-last-lecture challenge question
q4
26/ 29
q5
Consider last lecture’s example NFA over {0, 1}:
0,1
1 0,1 0,1 0,1
q0 q1 q2 q3
0,1
What is the number of states of the smallest DFA that recognises
the same language?
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
End-of-last-lecture challenge question
q4
26/ 29
q5
Consider last lecture’s example NFA over {0, 1}:
0,1
1 0,1 0,1 0,1
q0 q1 q2 q3
0,1
What is the number of states of the smallest DFA that recognises
the same language?
Answer: The smallest DFA has 32 states.
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
End-of-last-lecture challenge question
q4
26/ 29
q5
Consider last lecture’s example NFA over {0, 1}:
0,1
1 0,1 0,1 0,1
q0 q1 q2 q3
0,1
What is the number of states of the smallest DFA that recognises
the same language?
Answer: The smallest DFA has 32 states.
More generally, the smallest DFA for the language:
{x ∈Σ∗ |the n-th symbol from the end of x is 1}
has 2n states. Whereas, there is an NFA with n + 1 states.
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
End-of-lecture questions
1
27/
Show that the construction of a complement automaton (used
to prove that regular languages are closed under
complementation) does not work for nondeterministic finite
automata.
Specifically, find an example of an NFA M = (Q, ∆, S, F ) for
which the NFA (Q, ∆, S, Q − F ), obtained by swapping
accepting and non-accepting states, does not recognize
Σ∗ − L(M).
Answer: For example, over the alphabet Σ = {a} consider
({q0, q1}, {(q0, a,q0),(q1, a,q1)}, {q0, q1}, {q0})
Here {q0, q1} is the set of start states, and {q0} is the set of
accepting states. This recognises the full language Σ∗. If accepting
and non-accepting states are swapped, the new set of accepting
states is {q1}, and the language recognised is still Σ∗.
Closure properties of regular languages
DFA minimization
The problem
An algorithm for minimization
End-of-lecture questions
2
28/
Suppose N1 = (Q1, ∆1,S1, F1) is an DFA for L1, and
N2 = (Q2, ∆2, S2, F2) is an DFA for L2.
Give a direct construction of a DFA N such that
L(N) = L(N1) ∪L(N2).
Answer: Use the identity:
L1 ∪L2 = Σ∗ − ((Σ∗ − L1) ∩(Σ∗ − L2))
to reduce the construction to a composite of complementation and
intersection constructions.
More directly (but equivalently), simply modify the product
automaton construction on slide 5 with
a a a
(q, r) → (qj, rj) ∈∆j ⇐⇒ q → qj ∈∆1 or r→ r j ∈ ∆2
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Operations on languages
s-NFAs
Closureunderconcatenation andKleene star
Concatenation
31/
We write L1.L2 for the concatenation of languages L1 and L2,
defined by:
L1.L2 = {xy |x ∈L1, y ∈L2}
For example, if L1 = {aaa} and L2 = {b, c} then L1.L2 is the
language {aaab, aaac}.
Later wewill prove the following closure property.
If L1 and L2 areregular languages then so is L1.L2.
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Operations on languages
s-NFAs
Closureunderconcatenation andKleene star
Kleene star
32/
We write L∗ for the Kleene star of the language L, defined by:
L∗ = {s} ∪L ∪L.L ∪L.L.L ∪. ..
For example, if L3 = {aaa, b} then L∗
3contains strings like aaaaaa,
bbbbb, baaaaaabbaaa, etc.
More precisely, L∗
3contains all strings over {a, b} in which the
letter a always appears in sequences of length somemultiple of 3
Later wewill prove the following closure property.
If L is a regular language then so is L∗.
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Operations on languages
s-NFAs
Closureunderconcatenation andKleene star
Self-assessment question
Consider the language over the alphabet {a, b, c}
L = {x |x starts with a and ends with c}
Which of the following strings are valid for the language L.L ?
1
2
3
4
33/
abcabc
acacac
abcbcac
abcbacbc
Ans: yes
Ans: yes
Ans: yes
Ans: no
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Operations on languages
s-NFAs
Closureunderconcatenation andKleene star
Self-assessment question
Consider the (same) language over the alphabet {a, b, c}
L = {x |x starts with a and ends with c}
Which of the following strings are valid for the language L∗?
1
2
3
4
34/
s
acaca
abcbc
acacacacac
Ans: yes
Ans: no
Ans: yes
Ans: yes
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Operations on languages
s-NFAs
Closureunderconcatenation andKleene star
NFAs with s-transitions
We can vary the definition of NFA by also allowing transitions
labelled with the special symbol s (not a symbol in Σ).
The automaton may (but doesn’t have to) perform a spontaneous
s-transition at any time, without reading an input symbol.
This is quite convenient: for instance, wecan turn any NFA into an
s-NFA with just one start state and one accepting state:



35/



. . . . .
. . . . .
. . . . .
(Add s-transitions from new start state to each state in S, and
from each state in F to new acceptingstate.)
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Operations on languages
s-NFAs
Closureunderconcatenation andKleene star
Equivalence to ordinary NFAs
Allowing s-transitions is just a convenience: it doesn’t
fundamentally change the power of NFAs.
If N = (Q, ∆, S, F ) is an s-NFA, we can convert N to an ordinary
NFA with the same associated language, by simply ‘expanding’ ∆
and S to allow for silent s-transitions.
To achieve this, perform the following steps on N.
For every pair of transitions q →
a
qj (where a ∈Σ) and
qj →
s
qjj, add a new transition q →
a
qjj.
For every transition q →
s
qj, where q is a start state, makeqj
a start state too.
Repeat the two steps above until no further new transitions or new
start states can be added.
Finally, remove all s-transitions from the s-NFA resulting from the
above process. This produces the desired NFA.
36/
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Operations on languages
s-NFAs
Closureunderconcatenation andKleene star
Closure under concatenation
We use s-NFAs to show, as promised, that regular languages are
closed under the concatenation operation:
L1.L2 = {xy |x ∈L1, y ∈L2}
If L1, L2 are any regular languages, choose s-NFAs N1, N2 that
define them. As noted earlier, wecan pick N1 and N2 to have just
one start state and one acceptingstate.
Now hook up N1 and N2 like this:
N1
Clearly, this NFA corresponds to the language L1.L2.
37/26
N2

More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Operations on languages
s-NFAs
Closureunderconcatenation andKleene star
Closure under Kleene star
Similarly, wecan now show that regular languages are closed under
the Kleene star operation:
L∗ = {s} ∪L ∪L.L ∪L.L.L ∪. ..
For suppose L is represented by an s-NFA N with one start state
and one accepting state. Consider the following s-NFA:
N
38/26


Clearly, this s-NFA corresponds to the language L∗.
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Regular expressions
From regularexpressions to regular languages
Regular expressions
We’ve been looking at ways of specifying regular languages via
machines (often presented as pictures). But it’s very useful for
applications to have more textual ways of defining languages.
A regular expression is a written mathematical expression that
defines a language over a given alphabet Σ.
The basic regular expressions are
∅ s a (for a ∈Σ)
From these, more complicated regular expressions can be built
up by (repeatedly) applying the two binary operations +, . and
the unary operation ∗
. Example: (a.b + s)∗+ a
We use brackets to indicate precedence. In the absence of brackets,
∗ binds more tightly than ., which itself binds more tightly than +.
So a + b.a∗ means a + (b.(a∗))
Also the dot is often omitted: ab means a.b 12/26
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Regular expressions
From regularexpressions to regular languages
How do regular expressions define languages?
A regular expression is itself just a written expression. However,
every regular expression α over Σ can be seen as defining an actual
language L(α) ⊆ Σ∗ in the following way.
L(∅) = ∅
, L(s) = {s}, L(a) = {a}.
L(α + β) = L(α) ∪L(β)
L(α.β) = L(α) .L(β)
L(α∗) = L(α)∗
Example: a + ba∗ defines the language {a, b,ba,baa,baaa,...}.
The languages defined by ∅
,
s, a are obviously regular.
What’s more, we’ve seen that regular languages are closed under
union, concatenation and Kleene star.
This means every regular expression defines a regular language.
(Formal proof by induction on the size of the regular expression.)
40/26
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Regular expressions
From regularexpressions to regular languages
Self-assessment question
Consider (again) the language
{x ∈{0, 1}∗ |x contains an even number of 0’s}
Which of the following regular expressionsdefine the above
language?
1
2
3
4
41/26
(1∗01∗
01∗
)
∗
(1∗01∗
0)∗
1
∗
1∗
(01∗
0)∗
1∗
(1 + 01∗0)∗
Ans: no — 1 does not match expression
Ans: yes
Ans: no — 00100 does not match expression
Ans: yes
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Kleene’s theorem
We’ve seen that every regular expression defines a regular language.
The major goal of the lecture is to show the converse: every regular
language can be defined by a regular expression. For this purpose,
weintroduce Kleene algebra: the algebra of regular expressions.
The equivalence between regular languages and expressions is:
Kleene’s theorem
DFAs and regular expressions give rise to exactlythe
same class of languages (the regular languages).
As we’ve already seen, NFAs (with or without s-transitions) also
give rise to this class of languages.
So the evidence is mounting that the class of regular languages is
mathematically a very ‘natural’ class to consider.
42/26
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Kleene algebra
Regular expressions give a textual way of specifying regular
languages. This is useful e.g. for communicating regular languages
to a computer.
Another benefit: regular expressions can be manipulated using
algebraic laws (Kleene algebra). For example:
43/26
α+ (β + γ)
α(βγ)
α(β + γ)
∅
α
= (α + β) + γ
α + ∅ = α
= (αβ)γ
= αβ + αγ
= α
∅= ∅
α + β = β + α
α + α = α
sα = αs = α
(α + β)γ = αγ + βγ
s+ αα∗ = s + α∗α= α∗
Often these can be used to simplify regular expressions down to
more pleasantones.
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Other reasoning principles
44/26
Let’s write α ≤ β to mean L(α) ⊆ L(β) (or equivalently
α + β = β). Then
αγ + β ≤ γ ⇒ α∗β≤ γ
β + γα≤ γ ⇒ βα∗≤ γ
Arden’s rule: Given an equation of the form X = αX + β, its
smallest solution is X = α∗β.
What’s more, if s ƒ
∈
L(α), this is the only solution.
Beautiful fact: The rules on this slide and the last form a complete
set of reasoning principles, in the sense that if L(α) = L(β), then
‘α = β’ is provable using these rules. (Beyond scope of Inf2A.)
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
DFAs to regular expressions
We use an example to show how to convert a DFA to an
equivalent regular expression.
0
45/26
1 1
0
p q
For each state r, let the variable Xr stand for the set of strings that
take us from rto an accepting state. Then wecan write some
simultaneous equations:
Xp = 1Xp + 0Xq + s
Xq = 1Xq + 0Xp
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Where do the equations come from?
Consider:
Xp = 1Xp + 0Xq + s
This asserts the following.
Any string that takes us from p to an accepting state is:
a 1 followed by a string that takes us from p to an accepting
state; or
a 0 followed by a string that takes us from q to an accepting
state; or
the empty string.
Note that the empty string is included because p is an accepting
state.
46/26
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Solving the equations
47/26
We solve the equations by eliminating one variable at a time:
So Xp
Xq = 1∗0Xp by Arden’s rule
So Xp = 1Xp + 01∗0Xp + s
= (1 + 01∗0)Xp +s
= (1+ 01∗0)∗ by Arden’s rule
Since the start state is p, the resulting regular expression for Xp is
the one weare seeking. Thus the language recognised by the
automaton is:
(1 + 01∗0)∗
The method wehave illustrated here, in fact, works for arbitrary
NFAs (without s-transitions).
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Theory of regular languages: overview
DFAs
subset construction
reg exps
solve equations
v -
closure properties
s-NFAs
expand ∆, S
NFAs
ˆ
48/26
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
End-of-lecture question
N1 N2

Suppose the above s-NFA defining concatenation is modified by
identifying the final state of N1 with the start state of N2 (and
removing the then-redundant s-transistion linking the two states).
1
2
3
49/26
Find a pair of s-NFAs, N1 and N2, each with a single start
state and single accepting state, for which the modified
construction does not recognise L(N1).L(N2).
Show that if N1 has no loops from the accepting state back to
itself, then the modified s-NFA does recognise L(N1).L(N2).
Which construction of an s-NFA in this lecture violates the
assumption above about N1?
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Reading
Relevant reading:
Regular expressions: Kozen chapters 7,8; J & M chapter 2.1.
(Both texts actually discuss more general ‘patterns’ — see
next lecture.)
From regular expressions to NFAs: Kozen chapter 8; J & M
chapter 2.3.
Kleene algebra: Kozen chapter 9.
From NFAs to regular expressions: Kozen chapter 9.
Next time: Some applications of all this theory.
Pattern matching
Lexical analysis
50/26
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Appendix: (non-examinable) proof of Kleene’s theorem
51/26
Given an NFA N = (Q, ∆, S, F ) (without s-transitions), we’ll show
how to define a regular expression defining the same language as N.
In fact, to build this up, we’ll construct a three-dimensional array
X
uv
of regular expressions α : one for every u ∈Q, v ∈Q, X ⊆ Q.
Informally, αX will define the set of strings that get us from u to
uv
v allowing only intermediate states in X .
u,v
We shall build suitable regular expressions αX by working our way
from smaller to larger sets X .
Eventually, the language defined by N will be given by the sum
Q
sf
(+) of the languages α for all states s ∈S and f∈F .
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
Construction of αX
uv
uv
Here’s how the regular expressions αX arebuilt up.
If X = ∅
,let a1, . . . , ak be all the symbols a suchthat
(u,a,v) ∈∆. Two subcases:
If u ƒ= v , take αu
∅
v
= a1 + ···+ ak
If u = v , take αu
∅
v
= (a1 + ···+ ak ) +s
Convention: if k = 0, take ‘a1 + ... + ak’ to mean ∅
.
If X ƒ= ∅
,
choose any q ∈X , let Y = X − {q}, and define
52/26
αX
= αY + αY (αY )∗αY
uv uv uq qq qv
u,v
Applying these rules repeatedly gives us αX for every u,v, X .
More closure properties of regular languages
Regular expressions
Kleene’s theorem and Kleene algebra
Kleene’s theorem
Kleene algebra
From DFAs to regularexpressions
NFAs to regular expressions: tiny example
Let’s revisit our old friend:
0
53/26
1 1
0
p q
Here p is the only start state and the only accepting state.
By the rules on the previous slide:
α{p,q}
= α{p}
+ α{p}
(α{p}
)∗
α{p}
p,p p,p p,q q,q q,p
Now by inspection (or by the rules again), wehave
p,p = 1∗
α{p}
α{p}
p,q
α{p}
q,q = 1 + 01∗0 α{p}
q,p
= 1∗0
= 01∗
So the required regular expression is
1∗+ 1∗0(1 + 01∗0)∗01∗
(A bit messy!)

More Related Content

Similar to CS911-Lecture-13_34826.pptx

Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examplesankitamakin
 
Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Akila Krishnamoorthy
 
FiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxFiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxamara jyothi
 
FiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxFiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxranjan317165
 
Minimization of DFA
Minimization of DFAMinimization of DFA
Minimization of DFAkunj desai
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Srimatre K
 
FiniteAutomata (1).ppt
FiniteAutomata (1).pptFiniteAutomata (1).ppt
FiniteAutomata (1).pptssuser47f7f2
 
FiniteAutomata.ppt
FiniteAutomata.pptFiniteAutomata.ppt
FiniteAutomata.pptRohitPaul71
 
6-Nfa & equivalence with RE.pdf
6-Nfa & equivalence with RE.pdf6-Nfa & equivalence with RE.pdf
6-Nfa & equivalence with RE.pdfshruti533256
 
Nondeterministic Finite Automata AFN.pdf
Nondeterministic Finite Automata AFN.pdfNondeterministic Finite Automata AFN.pdf
Nondeterministic Finite Automata AFN.pdfSergioUlisesRojasAla
 
MidtermI-review.pptx
MidtermI-review.pptxMidtermI-review.pptx
MidtermI-review.pptxamara jyothi
 
PPT 2.1.1(The Pumping Lemma for Regular sets, Application of the Pumping Lemm...
PPT 2.1.1(The Pumping Lemma for Regular sets, Application of the Pumping Lemm...PPT 2.1.1(The Pumping Lemma for Regular sets, Application of the Pumping Lemm...
PPT 2.1.1(The Pumping Lemma for Regular sets, Application of the Pumping Lemm...ArjunMehra32
 
RegularLanguageProperties.pptx
RegularLanguageProperties.pptxRegularLanguageProperties.pptx
RegularLanguageProperties.pptxEzhumalai p
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsRushabh2428
 
Nondeterministic Finite Automata
Nondeterministic Finite AutomataNondeterministic Finite Automata
Nondeterministic Finite AutomataAdel Al-Ofairi
 
Pushdown AutomataChapter 12Recognizing Context-F.docx
Pushdown AutomataChapter 12Recognizing Context-F.docxPushdown AutomataChapter 12Recognizing Context-F.docx
Pushdown AutomataChapter 12Recognizing Context-F.docxwoodruffeloisa
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)Naman Joshi
 

Similar to CS911-Lecture-13_34826.pptx (20)

Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examples
 
Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)
 
FiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxFiniteAutomata_anim.pptx
FiniteAutomata_anim.pptx
 
FiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxFiniteAutomata_anim.pptx
FiniteAutomata_anim.pptx
 
Minimization of DFA
Minimization of DFAMinimization of DFA
Minimization of DFA
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1
 
FiniteAutomata (1).ppt
FiniteAutomata (1).pptFiniteAutomata (1).ppt
FiniteAutomata (1).ppt
 
FiniteAutomata.ppt
FiniteAutomata.pptFiniteAutomata.ppt
FiniteAutomata.ppt
 
6-Nfa & equivalence with RE.pdf
6-Nfa & equivalence with RE.pdf6-Nfa & equivalence with RE.pdf
6-Nfa & equivalence with RE.pdf
 
Nondeterministic Finite Automata AFN.pdf
Nondeterministic Finite Automata AFN.pdfNondeterministic Finite Automata AFN.pdf
Nondeterministic Finite Automata AFN.pdf
 
MidtermI-review.pptx
MidtermI-review.pptxMidtermI-review.pptx
MidtermI-review.pptx
 
PPT 2.1.1(The Pumping Lemma for Regular sets, Application of the Pumping Lemm...
PPT 2.1.1(The Pumping Lemma for Regular sets, Application of the Pumping Lemm...PPT 2.1.1(The Pumping Lemma for Regular sets, Application of the Pumping Lemm...
PPT 2.1.1(The Pumping Lemma for Regular sets, Application of the Pumping Lemm...
 
RegularLanguageProperties.pptx
RegularLanguageProperties.pptxRegularLanguageProperties.pptx
RegularLanguageProperties.pptx
 
Nfa vs dfa
Nfa vs dfaNfa vs dfa
Nfa vs dfa
 
Alofairi Adel
Alofairi  AdelAlofairi  Adel
Alofairi Adel
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and Problems
 
Finite automata
Finite automataFinite automata
Finite automata
 
Nondeterministic Finite Automata
Nondeterministic Finite AutomataNondeterministic Finite Automata
Nondeterministic Finite Automata
 
Pushdown AutomataChapter 12Recognizing Context-F.docx
Pushdown AutomataChapter 12Recognizing Context-F.docxPushdown AutomataChapter 12Recognizing Context-F.docx
Pushdown AutomataChapter 12Recognizing Context-F.docx
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)
 

More from ALIZAIB KHAN

Ants coony optimiztion problem in Advance analysis of algorithms
Ants coony optimiztion problem in Advance analysis of algorithmsAnts coony optimiztion problem in Advance analysis of algorithms
Ants coony optimiztion problem in Advance analysis of algorithmsALIZAIB KHAN
 
Ant Colony Optimization algorithms in ADSA
Ant Colony Optimization algorithms in ADSAAnt Colony Optimization algorithms in ADSA
Ant Colony Optimization algorithms in ADSAALIZAIB KHAN
 
decison tree and rules in data mining techniques
decison tree and rules in data mining techniquesdecison tree and rules in data mining techniques
decison tree and rules in data mining techniquesALIZAIB KHAN
 
Artificial Neural Networks for data mining
Artificial Neural Networks for data miningArtificial Neural Networks for data mining
Artificial Neural Networks for data miningALIZAIB KHAN
 
CS911-Lecture-19_40235.pptx
CS911-Lecture-19_40235.pptxCS911-Lecture-19_40235.pptx
CS911-Lecture-19_40235.pptxALIZAIB KHAN
 
Types of Algorithms.ppt
Types of Algorithms.pptTypes of Algorithms.ppt
Types of Algorithms.pptALIZAIB KHAN
 

More from ALIZAIB KHAN (9)

Ants coony optimiztion problem in Advance analysis of algorithms
Ants coony optimiztion problem in Advance analysis of algorithmsAnts coony optimiztion problem in Advance analysis of algorithms
Ants coony optimiztion problem in Advance analysis of algorithms
 
Ant Colony Optimization algorithms in ADSA
Ant Colony Optimization algorithms in ADSAAnt Colony Optimization algorithms in ADSA
Ant Colony Optimization algorithms in ADSA
 
decison tree and rules in data mining techniques
decison tree and rules in data mining techniquesdecison tree and rules in data mining techniques
decison tree and rules in data mining techniques
 
Artificial Neural Networks for data mining
Artificial Neural Networks for data miningArtificial Neural Networks for data mining
Artificial Neural Networks for data mining
 
Chapter01.ppt
Chapter01.pptChapter01.ppt
Chapter01.ppt
 
CS911-Lecture-19_40235.pptx
CS911-Lecture-19_40235.pptxCS911-Lecture-19_40235.pptx
CS911-Lecture-19_40235.pptx
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Types of Algorithms.ppt
Types of Algorithms.pptTypes of Algorithms.ppt
Types of Algorithms.ppt
 
10994479.ppt
10994479.ppt10994479.ppt
10994479.ppt
 

Recently uploaded

HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 

Recently uploaded (20)

HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 

CS911-Lecture-13_34826.pptx

  • 1. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Regular expressions and Kleene’s theorem 1/26
  • 2. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra 1 More closure properties of regular languages Operations on languages s-NFAs Closure under concatenation and Kleene star 2 Regular expressions Regular expressions From regular expressions to regular languages 3Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regular expressions 2/26
  • 3. Closure properties of regular languages DFA minimization 1 Closure properties of regular languages Union Intersection Complement 2 DFA minimization The problem An algorithm for minimization 3/ 29
  • 4. Closure properties of regular languages DFA minimization Union Intersection Complement Union of regular languages Consider the following little theorem: If L1 and L2 areregular languages over Σ, so is L1∪L2. This is dead easy to prove using NFAs. Suppose N1 = (Q1, ∆1, S1,F1) is an NFA for L1, and N2 = (Q2, ∆2, S2, F2) is an NFA for L2. We may assume Q1 ∩Q2 = ∅(just relabel states if not). Now consider the NFA (Q1 ∪Q2, ∆1 ∪∆2, S1 ∪S2, F1 ∪F2) This is just N1 and N2 ‘side by side’. Clearly, this NFA recognizes precisely L1 ∪ L2. Number of states = |Q1| + |Q2| — no state explosion! 4/ 29
  • 5. Closure properties of regular languages DFA minimization Union Intersection Complement Intersection of regular languages If L1 and L2 areregular languages over Σ, so is L1∩L2. Suppose N1 = (Q1, ∆1, S1,F1) is an NFA for L1, and N2 = (Q2, ∆2, S2, F2) is an NFA for L2. We define a product NFA (Qj, ∆j, Sj, F j) by: 5/ 29 Qj = Q1 × Q2 a a a (q, r) → (qj, rj) ∈∆j ⇐⇒ q → qj ∈∆1 and r→ rj ∈∆2 S j Fj = S1 ×S2 = F1 ×F2 Number of states = |Q1| × |Q2| — a bit more costly than union! If N1 and N2 are DFAs then the product automaton is a DFA too.
  • 6. Closure properties of regular languages DFA minimization Union Intersection Complement Complement of a regular language ( Recall the set-difference operation, A − B = {x ∈A |x ∈ /B } where A, B are sets. ) If L is a regular language over Σ, then so is Σ∗ − L. Suppose N = (Q, δ,s, F ) is a DFA for L. Then (Q, δ,s, Q − F ) is a DFA for Σ∗ − L. (We simply swap the accepting and rejecting states in N.) determininstic! 6/ 29 Number of states = |Q| — no blow up at all, but weare required to start with a DFA. This in itself has size implications. The complement construction does not work if N is not
  • 7. Closure properties of regular languages DFA minimization Union Intersection Complement Closure properties of regular languages We’ve seen that if both L1 and L2 are regular languages, then so are: L1 ∪L2 L1 ∩L2 Σ∗ − L1 (union) (intersection) (complement) We sometimes express this by saying that regular languages are closed under the operations of union, intersection and complementation. (‘Closed’ used here in the senseof ‘self-contained’.) Each closure property corresponds to an explicit construction on finite automata. Sometimes this uses NFAs (union), sometimes DFAs (complement), and sometimes the construction works equally well for both NFAs and DFAs (intersection). 7/ 29
  • 8. Closure properties of regular languages DFA minimization The problem An algorithm for minimization The Minimization Problem Determinization involves an exponential blow-up in the automaton. Isit sometimes possible to reduce the size of the resulting DFA? Many different DFAs can give rise to the same language, e.g.: 0 1 1 0 even odd 0 8/ 29 0 0 0 1 1 1 1 0,1 q2 q1 q4 q3 q0 We shall seethat there is always a unique smallest DFA for a given regular language.
  • 9. Closure properties of regular languages DFA minimization The problem An algorithm for minimization DFA minimization 0 0 0 0 1 1 1 1 0,1 q2 q1 q4 q3 q0 We perform the following steps to ‘reduce’ M above: Throw away unreachable states (in this case, q4). Squish together equivalent states, i.e. states q, qj such that: every string accepted starting from q is accepted starting from qj, and vice versa. (In this case, q0 and q2 are equivalent, as are q1 and q3.) Let’s write Min(M) for the resulting reduced DFA. In this case, Min(M) is essentially the two-state machine on the previous slide. 9/ 29
  • 10. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Properties of minimization The minimization operation on DFAs enjoys the following properties which characterise the construction: L(Min(M)) = L(M). If L(Mj) = L(M) and |Mj| ≤ |Min(M)| then Mj ∼ =Min(M). Here |M| is the number of states of the DFA M, and ∼ =means the two DFAs are isomorphic: that is, identical apart from a possible renaming of states. Two consequences of the above are: Min(M) ∼ =Min(Mj) if and only if L(M) = L(Mj). Min(Min(M)) ∼ =Min(M). For a formal treatment of minimization, seeKozen chapters 13–16. 10/
  • 11. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Challenge question Consider the following DFA over {a, b}. q1 11/ q3 q2 a b a b b b q0 a a How many states does the minimized DFA have?
  • 12. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Solution The minimized DFA has just 2 states: b 12/ a q012 b q3 a The minimized DFA has been obtained by squishing together states q0, q1 and q2. Clearly q3 must be kept distinct. Note that the corresponding language consists of all strings ending with b.
  • 13. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Minimization in practice 13/ Let’s look again at our definition of equivalent states: states q, qj such that: every string accepted starting from q is accepted starting from qj, and vice versa. This is fine as an abstract mathematical definition of equivalence, but it doesn’t seem to give us a way to compute which states are equivalent: we’d have to ‘check’ infinitely many strings x ∈Σ∗. Fortunately, there’s an actual algorithm for DFA minimization that works in reasonabletime. This is useful in practice: wecan specify our DFA in the most convenient way without worrying about its size, then minimize to a more ‘compact’ DFA to be implemented e.g. in hardware.
  • 14. Closure properties of regular languages DFA minimization The problem An algorithm for minimization An algorithm for minimization First eliminate any unreachable states (easy). Then create a table of all possible pairs of states (p, q), initially unmarked. (E.g. a two-dimensional array of booleans, initially set to false.) We mark pairs (p, q) as and when wediscover that p and q cannot be equivalent. 1 Start by marking all pairs (p, q) where p ∈F and q ƒ ∈ F , or vice versa. 2 Look for unmarked pairs (p, q) such that for some u ∈Σ, the 3 14/ pair (δ(p, u), δ(q, u)) is marked. Then mark (p, q). Repeat step 2 until no such unmarked pairs remain. If (p, q) is still unmarked, can collapse p, q to a single state.
  • 15. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm Consider the following DFA over {a, b}. 15/
  • 16. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm After eliminating unreachable states: 16/
  • 17. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm We mark states to be kept distinct using a half matrix: q0 q1 · q2 · · q3 · · · q0 q1 q2 q3 17/
  • 18. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm First mark accepting/non-accepting pairs: q0 q 1 q 2 · q3 · · C C C q0 q1 q2 q3 18/
  • 19. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm a a (q0,q1) is unmarked, qo → q1, q1 → q3, and (q1,q3) is marked. q0 q1 · q2 · · q3 C C C q0 q1 q2 q3 19/
  • 20. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm So mark (q0,q1). q0 q1 C q2 · · q3 C C C q0 q1 q2 q3 20/
  • 21. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm a a (q0,q2) is unmarked, qo → q1, q2 → q3, and (q1,q3) is marked. q0 q1 C q2 · · q3 C C C q0 q1 q2 q3 21/
  • 22. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm So mark (q0,q2). q0 q1 C q2 C · q3 C C C q0 q1 q2 q3 22/
  • 23. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm The only remaining unmarked pair (q1,q2) stays unmarked. q0 q1 C q2 C · q3 C C C q0 q1 q2 q3 23/
  • 24. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Illustration of minimization algorithm So obtain mimized DFA by collapsing q1, q2 to a single state. 24/
  • 25. Closure properties of regular languages DFA minimization The problem An algorithm for minimization Improving determinization Now wehave a minimization algorithm, the following improved determinization procedure is possible. To determinize an NFA M with n states: 1 2 25/ Perform the subset construction on M to produce an equivalent DFA N with 2n states. Perform the minimization algorithm on N to produce a DFA Min(N) with ≤ 2n states. Using this method weare guaranteed to produce the smallest possible DFA equivalent to M. In many cases this avoids the exponential state-space blow-up. In some cases, however, an exponential blow-up is unavoidable.
  • 26. Closure properties of regular languages DFA minimization The problem An algorithm for minimization End-of-last-lecture challenge question q4 26/ 29 q5 Consider last lecture’s example NFA over {0, 1}: 0,1 1 0,1 0,1 0,1 q0 q1 q2 q3 0,1 What is the number of states of the smallest DFA that recognises the same language?
  • 27. Closure properties of regular languages DFA minimization The problem An algorithm for minimization End-of-last-lecture challenge question q4 26/ 29 q5 Consider last lecture’s example NFA over {0, 1}: 0,1 1 0,1 0,1 0,1 q0 q1 q2 q3 0,1 What is the number of states of the smallest DFA that recognises the same language? Answer: The smallest DFA has 32 states.
  • 28. Closure properties of regular languages DFA minimization The problem An algorithm for minimization End-of-last-lecture challenge question q4 26/ 29 q5 Consider last lecture’s example NFA over {0, 1}: 0,1 1 0,1 0,1 0,1 q0 q1 q2 q3 0,1 What is the number of states of the smallest DFA that recognises the same language? Answer: The smallest DFA has 32 states. More generally, the smallest DFA for the language: {x ∈Σ∗ |the n-th symbol from the end of x is 1} has 2n states. Whereas, there is an NFA with n + 1 states.
  • 29. Closure properties of regular languages DFA minimization The problem An algorithm for minimization End-of-lecture questions 1 27/ Show that the construction of a complement automaton (used to prove that regular languages are closed under complementation) does not work for nondeterministic finite automata. Specifically, find an example of an NFA M = (Q, ∆, S, F ) for which the NFA (Q, ∆, S, Q − F ), obtained by swapping accepting and non-accepting states, does not recognize Σ∗ − L(M). Answer: For example, over the alphabet Σ = {a} consider ({q0, q1}, {(q0, a,q0),(q1, a,q1)}, {q0, q1}, {q0}) Here {q0, q1} is the set of start states, and {q0} is the set of accepting states. This recognises the full language Σ∗. If accepting and non-accepting states are swapped, the new set of accepting states is {q1}, and the language recognised is still Σ∗.
  • 30. Closure properties of regular languages DFA minimization The problem An algorithm for minimization End-of-lecture questions 2 28/ Suppose N1 = (Q1, ∆1,S1, F1) is an DFA for L1, and N2 = (Q2, ∆2, S2, F2) is an DFA for L2. Give a direct construction of a DFA N such that L(N) = L(N1) ∪L(N2). Answer: Use the identity: L1 ∪L2 = Σ∗ − ((Σ∗ − L1) ∩(Σ∗ − L2)) to reduce the construction to a composite of complementation and intersection constructions. More directly (but equivalently), simply modify the product automaton construction on slide 5 with a a a (q, r) → (qj, rj) ∈∆j ⇐⇒ q → qj ∈∆1 or r→ r j ∈ ∆2
  • 31. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Operations on languages s-NFAs Closureunderconcatenation andKleene star Concatenation 31/ We write L1.L2 for the concatenation of languages L1 and L2, defined by: L1.L2 = {xy |x ∈L1, y ∈L2} For example, if L1 = {aaa} and L2 = {b, c} then L1.L2 is the language {aaab, aaac}. Later wewill prove the following closure property. If L1 and L2 areregular languages then so is L1.L2.
  • 32. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Operations on languages s-NFAs Closureunderconcatenation andKleene star Kleene star 32/ We write L∗ for the Kleene star of the language L, defined by: L∗ = {s} ∪L ∪L.L ∪L.L.L ∪. .. For example, if L3 = {aaa, b} then L∗ 3contains strings like aaaaaa, bbbbb, baaaaaabbaaa, etc. More precisely, L∗ 3contains all strings over {a, b} in which the letter a always appears in sequences of length somemultiple of 3 Later wewill prove the following closure property. If L is a regular language then so is L∗.
  • 33. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Operations on languages s-NFAs Closureunderconcatenation andKleene star Self-assessment question Consider the language over the alphabet {a, b, c} L = {x |x starts with a and ends with c} Which of the following strings are valid for the language L.L ? 1 2 3 4 33/ abcabc acacac abcbcac abcbacbc Ans: yes Ans: yes Ans: yes Ans: no
  • 34. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Operations on languages s-NFAs Closureunderconcatenation andKleene star Self-assessment question Consider the (same) language over the alphabet {a, b, c} L = {x |x starts with a and ends with c} Which of the following strings are valid for the language L∗? 1 2 3 4 34/ s acaca abcbc acacacacac Ans: yes Ans: no Ans: yes Ans: yes
  • 35. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Operations on languages s-NFAs Closureunderconcatenation andKleene star NFAs with s-transitions We can vary the definition of NFA by also allowing transitions labelled with the special symbol s (not a symbol in Σ). The automaton may (but doesn’t have to) perform a spontaneous s-transition at any time, without reading an input symbol. This is quite convenient: for instance, wecan turn any NFA into an s-NFA with just one start state and one accepting state:    35/    . . . . . . . . . . . . . . . (Add s-transitions from new start state to each state in S, and from each state in F to new acceptingstate.)
  • 36. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Operations on languages s-NFAs Closureunderconcatenation andKleene star Equivalence to ordinary NFAs Allowing s-transitions is just a convenience: it doesn’t fundamentally change the power of NFAs. If N = (Q, ∆, S, F ) is an s-NFA, we can convert N to an ordinary NFA with the same associated language, by simply ‘expanding’ ∆ and S to allow for silent s-transitions. To achieve this, perform the following steps on N. For every pair of transitions q → a qj (where a ∈Σ) and qj → s qjj, add a new transition q → a qjj. For every transition q → s qj, where q is a start state, makeqj a start state too. Repeat the two steps above until no further new transitions or new start states can be added. Finally, remove all s-transitions from the s-NFA resulting from the above process. This produces the desired NFA. 36/
  • 37. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Operations on languages s-NFAs Closureunderconcatenation andKleene star Closure under concatenation We use s-NFAs to show, as promised, that regular languages are closed under the concatenation operation: L1.L2 = {xy |x ∈L1, y ∈L2} If L1, L2 are any regular languages, choose s-NFAs N1, N2 that define them. As noted earlier, wecan pick N1 and N2 to have just one start state and one acceptingstate. Now hook up N1 and N2 like this: N1 Clearly, this NFA corresponds to the language L1.L2. 37/26 N2 
  • 38. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Operations on languages s-NFAs Closureunderconcatenation andKleene star Closure under Kleene star Similarly, wecan now show that regular languages are closed under the Kleene star operation: L∗ = {s} ∪L ∪L.L ∪L.L.L ∪. .. For suppose L is represented by an s-NFA N with one start state and one accepting state. Consider the following s-NFA: N 38/26   Clearly, this s-NFA corresponds to the language L∗.
  • 39. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Regular expressions From regularexpressions to regular languages Regular expressions We’ve been looking at ways of specifying regular languages via machines (often presented as pictures). But it’s very useful for applications to have more textual ways of defining languages. A regular expression is a written mathematical expression that defines a language over a given alphabet Σ. The basic regular expressions are ∅ s a (for a ∈Σ) From these, more complicated regular expressions can be built up by (repeatedly) applying the two binary operations +, . and the unary operation ∗ . Example: (a.b + s)∗+ a We use brackets to indicate precedence. In the absence of brackets, ∗ binds more tightly than ., which itself binds more tightly than +. So a + b.a∗ means a + (b.(a∗)) Also the dot is often omitted: ab means a.b 12/26
  • 40. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Regular expressions From regularexpressions to regular languages How do regular expressions define languages? A regular expression is itself just a written expression. However, every regular expression α over Σ can be seen as defining an actual language L(α) ⊆ Σ∗ in the following way. L(∅) = ∅ , L(s) = {s}, L(a) = {a}. L(α + β) = L(α) ∪L(β) L(α.β) = L(α) .L(β) L(α∗) = L(α)∗ Example: a + ba∗ defines the language {a, b,ba,baa,baaa,...}. The languages defined by ∅ , s, a are obviously regular. What’s more, we’ve seen that regular languages are closed under union, concatenation and Kleene star. This means every regular expression defines a regular language. (Formal proof by induction on the size of the regular expression.) 40/26
  • 41. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Regular expressions From regularexpressions to regular languages Self-assessment question Consider (again) the language {x ∈{0, 1}∗ |x contains an even number of 0’s} Which of the following regular expressionsdefine the above language? 1 2 3 4 41/26 (1∗01∗ 01∗ ) ∗ (1∗01∗ 0)∗ 1 ∗ 1∗ (01∗ 0)∗ 1∗ (1 + 01∗0)∗ Ans: no — 1 does not match expression Ans: yes Ans: no — 00100 does not match expression Ans: yes
  • 42. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Kleene’s theorem We’ve seen that every regular expression defines a regular language. The major goal of the lecture is to show the converse: every regular language can be defined by a regular expression. For this purpose, weintroduce Kleene algebra: the algebra of regular expressions. The equivalence between regular languages and expressions is: Kleene’s theorem DFAs and regular expressions give rise to exactlythe same class of languages (the regular languages). As we’ve already seen, NFAs (with or without s-transitions) also give rise to this class of languages. So the evidence is mounting that the class of regular languages is mathematically a very ‘natural’ class to consider. 42/26
  • 43. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Kleene algebra Regular expressions give a textual way of specifying regular languages. This is useful e.g. for communicating regular languages to a computer. Another benefit: regular expressions can be manipulated using algebraic laws (Kleene algebra). For example: 43/26 α+ (β + γ) α(βγ) α(β + γ) ∅ α = (α + β) + γ α + ∅ = α = (αβ)γ = αβ + αγ = α ∅= ∅ α + β = β + α α + α = α sα = αs = α (α + β)γ = αγ + βγ s+ αα∗ = s + α∗α= α∗ Often these can be used to simplify regular expressions down to more pleasantones.
  • 44. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Other reasoning principles 44/26 Let’s write α ≤ β to mean L(α) ⊆ L(β) (or equivalently α + β = β). Then αγ + β ≤ γ ⇒ α∗β≤ γ β + γα≤ γ ⇒ βα∗≤ γ Arden’s rule: Given an equation of the form X = αX + β, its smallest solution is X = α∗β. What’s more, if s ƒ ∈ L(α), this is the only solution. Beautiful fact: The rules on this slide and the last form a complete set of reasoning principles, in the sense that if L(α) = L(β), then ‘α = β’ is provable using these rules. (Beyond scope of Inf2A.)
  • 45. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions DFAs to regular expressions We use an example to show how to convert a DFA to an equivalent regular expression. 0 45/26 1 1 0 p q For each state r, let the variable Xr stand for the set of strings that take us from rto an accepting state. Then wecan write some simultaneous equations: Xp = 1Xp + 0Xq + s Xq = 1Xq + 0Xp
  • 46. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Where do the equations come from? Consider: Xp = 1Xp + 0Xq + s This asserts the following. Any string that takes us from p to an accepting state is: a 1 followed by a string that takes us from p to an accepting state; or a 0 followed by a string that takes us from q to an accepting state; or the empty string. Note that the empty string is included because p is an accepting state. 46/26
  • 47. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Solving the equations 47/26 We solve the equations by eliminating one variable at a time: So Xp Xq = 1∗0Xp by Arden’s rule So Xp = 1Xp + 01∗0Xp + s = (1 + 01∗0)Xp +s = (1+ 01∗0)∗ by Arden’s rule Since the start state is p, the resulting regular expression for Xp is the one weare seeking. Thus the language recognised by the automaton is: (1 + 01∗0)∗ The method wehave illustrated here, in fact, works for arbitrary NFAs (without s-transitions).
  • 48. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Theory of regular languages: overview DFAs subset construction reg exps solve equations v - closure properties s-NFAs expand ∆, S NFAs ˆ 48/26
  • 49. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions End-of-lecture question N1 N2  Suppose the above s-NFA defining concatenation is modified by identifying the final state of N1 with the start state of N2 (and removing the then-redundant s-transistion linking the two states). 1 2 3 49/26 Find a pair of s-NFAs, N1 and N2, each with a single start state and single accepting state, for which the modified construction does not recognise L(N1).L(N2). Show that if N1 has no loops from the accepting state back to itself, then the modified s-NFA does recognise L(N1).L(N2). Which construction of an s-NFA in this lecture violates the assumption above about N1?
  • 50. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Reading Relevant reading: Regular expressions: Kozen chapters 7,8; J & M chapter 2.1. (Both texts actually discuss more general ‘patterns’ — see next lecture.) From regular expressions to NFAs: Kozen chapter 8; J & M chapter 2.3. Kleene algebra: Kozen chapter 9. From NFAs to regular expressions: Kozen chapter 9. Next time: Some applications of all this theory. Pattern matching Lexical analysis 50/26
  • 51. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Appendix: (non-examinable) proof of Kleene’s theorem 51/26 Given an NFA N = (Q, ∆, S, F ) (without s-transitions), we’ll show how to define a regular expression defining the same language as N. In fact, to build this up, we’ll construct a three-dimensional array X uv of regular expressions α : one for every u ∈Q, v ∈Q, X ⊆ Q. Informally, αX will define the set of strings that get us from u to uv v allowing only intermediate states in X . u,v We shall build suitable regular expressions αX by working our way from smaller to larger sets X . Eventually, the language defined by N will be given by the sum Q sf (+) of the languages α for all states s ∈S and f∈F .
  • 52. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions Construction of αX uv uv Here’s how the regular expressions αX arebuilt up. If X = ∅ ,let a1, . . . , ak be all the symbols a suchthat (u,a,v) ∈∆. Two subcases: If u ƒ= v , take αu ∅ v = a1 + ···+ ak If u = v , take αu ∅ v = (a1 + ···+ ak ) +s Convention: if k = 0, take ‘a1 + ... + ak’ to mean ∅ . If X ƒ= ∅ , choose any q ∈X , let Y = X − {q}, and define 52/26 αX = αY + αY (αY )∗αY uv uv uq qq qv u,v Applying these rules repeatedly gives us αX for every u,v, X .
  • 53. More closure properties of regular languages Regular expressions Kleene’s theorem and Kleene algebra Kleene’s theorem Kleene algebra From DFAs to regularexpressions NFAs to regular expressions: tiny example Let’s revisit our old friend: 0 53/26 1 1 0 p q Here p is the only start state and the only accepting state. By the rules on the previous slide: α{p,q} = α{p} + α{p} (α{p} )∗ α{p} p,p p,p p,q q,q q,p Now by inspection (or by the rules again), wehave p,p = 1∗ α{p} α{p} p,q α{p} q,q = 1 + 01∗0 α{p} q,p = 1∗0 = 01∗ So the required regular expression is 1∗+ 1∗0(1 + 01∗0)∗01∗ (A bit messy!)