Transcript Module 24

Module 24
• Myhill-Nerode Theorem
–
–
–
–
distinguishability
equivalence classes of strings
designing FSA’s
proving a language L is not regular
1
Distinguishability
2
Distinguishable and
Indistinguishable
• String x is distinguishable from string y with
respect to language L iff
– there exists a string z such that
• xz is in L and yz is not in L OR
• xz is not in L and yz is in L
• String x is indistinguishable from string y with
respect to language L iff
– for all strings z,
• xz and yz are both in L OR
• xz and yz are both not in L
3
Example
• Let EVEN-ODD be the set of strings over
{a,b} with an even number of a’s and an
odd number of b’s
– Is the string aa distinguishable from the string
bb with respect to EVEN-ODD?
– Is the string aa distinguishable from the string
ab with respect to EVEN-ODD?
4
Equivalence classes of strings
5
Definition of equivalence classes
• Every language L partitions S* into equivalence
classes via indistinguishability
– Two strings x and y belong to the same equivalence
class defined by L iff x and y are indistinguishable w.r.t
L
– Two strings x and y belong to different equivalence
classes defined by L iff x and y are distinguishable w.r.t.
L
6
Example
How does EVEN-ODD partition {a,b}* into equivalence classes?
Strings with an
EVEN number of a’s
and an
EVEN number of b’s
Strings with an
ODD number of a’s
and an
EVEN number of b’s
Strings with an
EVEN number of a’s
and an
ODD number of b’s
Strings with an
ODD number of a’s
and an
ODD number of b’s
7
Second Example
Let 1MOD3 be the set of strings over {a,b} whose length mod 3 = 1.
How does 1MOD3 partition {a,b}* into equivalence classes?
Length mod 3 = 0
Length mod 3 = 1
Length mod 3 = 2
8
Designing FSA’s
9
Designing an FSA
for EVEN-ODD
l
a
b
b
Even
Even
Odd
Even
Even
Odd
Odd
Odd
a
b
a
ab
10
Length mod 3 = 0
Designing an
FSA for 1MOD3
Length mod 3 = 1
Length mod 3 = 2
a,b
l
a,b
a
a,b
aa
11
Proving a language is not regular
12
Third Example
• Let EQUAL be the set of strings x over {a,b} s.t.
the number of a’s in x = the number of b’s in x
• How does EQUAL partition {a,b}* into
equivalence classes?
• How many equivalence classes are there?
• Can we construct a finite state automaton for
EQUAL?
13
Myhill-Nerode Theorem
14
Theorem Statement
• Two part statement
– If L is regular, then L partitions S* into a finite
number of equivalence classes
– If L partitions S* into a finite number of
equivalence classes, then L is regular
• One part statement
– L is regular iff L partitions S* into a finite
number of equivalence classes
15
Implication 1
• Method for constructing FSA’s to accept a
language L
–
–
–
–
Identify equivalence classes defined by L
Make a state for each equivalence class
Identify initial and accepting states
Add transitions between the states
• You can use a canonical element of each
equivalence class to help with building the transition
function d
16
Implication 2
• Method for proving a language L is not
regular
– Identify equivalence classes defined by L
– Show there are an infinite number of such
equivalence classes
• Table format may help, but it is only a way to help
illustrate that there are an infinite number of
equivalence classes defined by L
17
Proving a language is not regular
revisited
18
Proving EQUAL is not regular
• Let EQUAL be the set of strings x over {a,b} s.t.
the number of a’s in x = the number of b’s in x
• We want to show that EQUAL partitions {a,b}*
into an infinite number of equivalence classes
• We will use a table that is somewhat reminiscent of
the table used for diagonalization
– Again, you must be able to identify the infinite number
of equivalence classes being defined by the table. They
ultimately represent the proof that EQUAL or whatever
language you are working with is not regular.
19
Table *
a
aa
aaa
aaaa
aaaaa
...
b
IN
OUT
OUT
OUT
OUT
...
bb
OUT
IN
OUT
OUT
OUT
...
bbb
OUT
OUT1
IN
OUT
OUT
...
bbbb
OUT
OUT
OUT
IN
OUT
...
bbbbb
OUT
OUT
OUT
OUT
IN
...
…
…
…
…
…
…
The strings being distinguished are the rows.
The tables entries indicate that the concatenation of the row
string with the column string is in or not in EQUAL.
Each complete column shows one row string is distinguishable
from all the other row strings.
20
Concluding EQUAL is
nonregular *
• We have shown that EQUAL partitions
{a,b}* into an infinite number of
equivalence classes
– In this case, we only identified some of the
equivalence classes defined by EQUAL, but
that is sufficient
• Thus, the Myhill-Nerode Theorem implies
that EQUAL is nonregular
21
Summary
• Myhill-Nerode Theorem and what it says
– It does not say a language L is regular iff L is finite
• Many regular languages such as S* are not finite
– It says that a language L is regular iff L partitions S*
into a finite number of equivalence classes
• Provides method for designing FSA’s
• Provides method for proving a language L is not
regular
– Show that L partitions S* into an infinite number of
equivalence classes
22
Three Types of Problems
• Create a table that helps prove that a
specific language L is not regular
– You get to choose the “row” and “column”
strings
– I choose the “row” strings
• Identify the equivalence classes defined by
L as highlighted by a given table
23