# AUTOMATA - The Myhill-Nerode Theorem - KUMAR 7, Study notes for Theory of Automata. Uttar Pradesh Technical University (UPTU)

PDF (261 KB)
28 pages
1000+Number of visits
Description
Lecture slides on:The Myhill-Nerode Theorem, Myhill-Nerode Relations, Relations b/t DFAs and Myhill-Nerode relations, isomorphism, bisimulation,Autobisimulation,
20points
this document
Preview3 pages / 28
Microsoft PowerPoint - AUTOMATA P.KUMAR (7).ppt [modalità compatibilità]

Transparency No. 10-1

Formal Language and Automata Theory

Chapter 10

The Myhill-Nerode Theorem (lecture 15,16 and B)

The Myhill-Nerode theorem

Transparency No. 10-2

Isomorphism of DFAs M = (QM,S,dM,sM,FM), N = (QN,S, dN,sN,FN): two DFAs M and N are said to be isomorphic if there is a bijection f:QM->

QN s.t. f(sM) = sN f(dM(p,a)) = dN(f(p),a) for all p  QM , a  S p  FM iff f(p)  FN.

I.e., M and N are essentially the same machine up to renaming of states.

facts: 1. Isomorphic DFAs accept the same set. 2. if M and N are any two DFAs w/o inaccessible states accepting the same set, then the quotient automata M/ and N/  are isomorphic 3. The DFA obtained by the collapsing algorithm (lec. 14) is the minimal DFA for the set it accepts, and this DFA is unique up to isomorphism.

The Myhill-Nerode theorem

Transparency No. 10-3

Myhill-Nerode Relations

R: a regular set, M=(Q, S, d,s,F): a DFA for R w/o inaccessible states.

M induces an equivalence relation M on S* defined by x  M y iff D(s,x) = D (s,y). i.e., two strings x and y are equivalent iff it is indistinguishable by running M (i.e., by running x and y, respectively, from the initial state of M.)

Properties of  M : 0.  M is an equivalence relation on S*.

(cf:  is an equivalence relation on states) 1.  M is a right congruence relation on S*: i.e., for any x,y  S* and a  S, x  M y => xa  M ya. pf: if x  M y => D(s,xa) = d(D (s,x),a) = d(D (s,y),a) = D(s, ya)

=> xa  M ya.

The Myhill-Nerode theorem

Transparency No. 10-4

Properties of the Myhill-Nerode relations

Properties of  M : 2. M refines R. I.e., for any x,y  S*,

x M y => x  R iff y  R pf: x  R iff D(s,x)  F iff D(s,y)  F iff y  R. Property 2 means that every M-class has either all its elements in R or none of its elements in R. Hence R is a union of some  M-classes. 3. It is of finite index, i.e., it has only finitely many equivalence classes. (i.e., the set { [x] M | x  S*} is finite. pf: x M y iff D(s,x) = D(s,y) = q for some q  Q. Since there are only |Q| states, hence S* has |Q| M-classes

S* R

M-classes

The Myhill-Nerode theorem

Transparency No. 10-5

Definition of the Myhill-Nerode relation

 : an equivalence relation on S*, R: a [regular] language over S*.

 is called an Myhill-Nerode relation for R if it satisfies property 1~3. i.e., it is a right congruence of finite index refining R.

Facts: 0. R is regular iff it has a Myhill-Nerode relation.

(to be proved later) 1. For any DFA M accepting R, M is a Myhill-Nerode relation for R. 2. If  is a Myhill-Nerode relation for R then there is a DFA M accepting R s.t. M =  . 3. The constructions M  M and   M are inverse up to isomorphism of automata. (i.e.  = M and M = MM)

The Myhill-Nerode theorem

Transparency No. 10-6

From  to M

R: a language over S,  : a Myhill-Nerode relation for R; the -class of the string x is [x] =def {y | x  y}. Note: Although there are infinitely many strings, there are only finitely many  -classes. (by property of finite index)

Define DFA M = (Q,S,d,s,F) where Q = {[x] | x  S*}, s = [e], F = {[x] | x  R }, d([x],a) = [xa].

Notes: 0: M has |Q| states, each corresponding to an  -class of . Hence the more classes  has, the more states M has. 1. By right congruence of  , d is well-defined, since, if y,z [x] => y  z  x => ya  za  xa => ya, za  [xa] 2. x  R iff [x]  F. pf: =>: by definition of M ; <=: [x]  F => \$ y s.t. y  R and x  y => x  R. (property 2)

The Myhill-Nerode theorem

Transparency No. 10-7

M   M and   M are inverses

Lemma 15.1: D([x],y) = [xy] pf: Induction on |y|. Basis: D([x],e) = [x] =[xe].

Ind. step: D([x],ya) = d(D([x],y),a) = d([xy],a) = [xya]. QED

Theorem 15.2: L(M) = R. pf: x  L(M) iff D([e],x)  F iff [x]  F iff x  R. QED

Lemma 15.3:  : a Myhill-Nerode relation for R, M: a DFA for R w/o inaccessible states, then

1. if we apply the construction   M to  and then apply M  M to the result, the resulting relation M  is identical to  .

2. if we apply the construction M  M to M and then apply   M to the result, the resulting relation MM is identical to M.

The Myhill-Nerode theorem

Transparency No. 10-8

M   M and   M are inverses (cont’d)

Pf: (of lemma 15.3) (1) Let M =(Q,S,d,s,F) be the DFA constructed as described above. then for any x,y in S*, x M y iff D([e], x) = D([e],y) iff [x] = [y] iff x  y.

(2) Let M = (Q, S ,d,s,F) and let MM = (Q’, S , d’,s’,F’). Recall that [x] = {y | y M x} = {y | D(s,y) = D(s,x) } Q’ = {[x] | x  S*}, s’ = [e], F’ = {[x] | x  R} d’([x], a) = [xa].

Now let f:Q’-> Q be defined by f([x]) = D(s,x). 1. By def., [x] = [y] iff D(s,x) = D(s,y), so f is well-defined and 1-1. Since M has no inaccessible state, f is onto. 2. f(s’) = f([e]) = D(s, e ) = s 3. [x]  F’ <=> x  R <=> D(s,x)  F <=> f([x])  F. 4. f(d’([x],a)) = f([xa]) = D(s,xa) = d(D(s,x),a) = d(f([x]), a) By 1~4, f is an isomorphism from MM to M. QED

The Myhill-Nerode theorem

Transparency No. 10-9

Relations b/t DFAs and Myhill-Nerode relations

Theorem 15.4: R: a regular set over S. Then up to isomorphism of FAs, there is a 1-1 correspondence b/t DFAs w/o inaccessible states accepting R and Myhill-Nerode relations for R.

I.e., Different DFAs accepting R correspond to different Myhill-Nerode relations for R, and vice versa. We now show that there exists a coarsest Myhill-Neorde relation R for any R, which corresponds to the unique minimal DFA for R.

Def 16.1:  1 ,  2 : two relations. If 1  2 (i.e., for all x,y, x 1 y => x 2 y) we say 1 refines 2 .

Note:1. If  1 and  2 are equivalence relations, then  1 refines  2 iff every  1-class is included in a  2-class.

2. The refinement relation on equivalence relations is a partial order. (since  is ref, transitive and antisymmetric).

The Myhill-Nerode theorem

Transparency No. 10-10

The refinement relation

Note: 3. If , 1   2 ,we say 1 is the finer and 2 is the coarser of the two relations. 4. The finest equivalence relation on a set U is the identity relation IU = {(x,x) | x  U}

5. The coarsest equivalence relation on a set U is universal relation U2 = {(x,y) | x, y  U}

Def. 16.1: R: a language over S (possibly not regular). Define a relation R over S* by

x R y iff for all z  S* (xz  R <=> yz  R) i.e., x and y are related iff whenever appending the same string

to both of them, the resulting two strings are either both in R or both not in R.

The Myhill-Nerode theorem

Transparency No. 10-11

Properties of  R Lemma 16.2: Properties of R :

0. R is an equivalence relation over S*. 1. R is right congruent 2. R refines R. 3. R the coarsest of all relations satisfying 0,1 and 2. [4. If R is regular => R is of finite index. ]

Pf: (0) : trivial; (4) immediate from (3) and theorem 15.2. (1) x R y => for all z  S* (xz  R <=> yz  R)

=>  a  w (xaw  R <=> yaw  R) =>  a (xa R ya)

(2) x R y => (x  R <=> y  R) (3) Let  be any relation satisfying 0~2. Then x  y => z xz  yz --- by ind. on |z| using property (1)

=> z (xz  R <=> yz  R) --- by (2) => x R y.

The Myhill-Nerode theorem

Transparency No. 10-12

Myhill-Nerode theorem

Thorem16.3: Let R be any language over S. Then the following statements are equivalent: (a) R is regular; (b) There exists a Myhill-Nerode relation for R; (c) the relation R is of finite index.

pf: (a) =>(b) : Let M be any DFA for R. The construction M  M produces a Myhill-Nerode relation for R. (b) => (c): By lemma 16.2, any Myhill-Nerode relation for R is of finite index and refines R => R is of finite index. (c)=>(a): If R is of finite index, by lemma 16.2, it is a Myhill- Nerode relation for R, and the construction   M produce a DFA for R.

The Myhill-Nerode theorem

Transparency No. 10-13

Relations b/t  R and collapsed machine Note: 1. Since  R is the coarsest Myhill-Nerode relation for a

regular set R, it corresponds to the DFA for R with the fewest states among all DFAs for R.

(i.e., let M = (Q,...) be any DFA for R and M = (Q’,…) the DFA induced by R, where Q’ = the set of all  R-classes

==> |Q| = | the set of  M-classes | >= | the set of R -classes | = |Q’|.

Fact: M=(Q,S,s,d,F): a DFA for R that has been collapsed (i.e., M = M/). Then R = M (hence M is the unique DFA for R with the fewest states).

pf: x R y iff  z  S* (xz  R <=> yz  R) iff  z  S* (D(s,xz)  F <=> D(s,yz)  F) iff  z  S* (D(D(s,x),z)  F <=> D(D(s,y),z)  F) iff D(s,x)  D(s,y) iff D(s,x) = D(s,y) -- since M is collapsed iff x M y Q.E.D.

The Myhill-Nerode theorem

Transparency No. 10-14

An application of the Myhill-Nerode relation

Can be used to determine whether a set R is regular by determining the number of R -classes.

Ex: Let A = {anbn | n  0 }. If k  m => ak not A am, since akbk A but ambk  A . Hence A is not of finite index => A is not regular. In fact A has the following A-classes: Gk = {ak}, k  0 Hk = {an+k bn | n  1 }, k  0 E = S* - Uk  0 (GkU Hk) = S* - {ambn | m  n  0 }

The Myhill-Nerode theorem

Transparency No. 10-15

Uniqueness of Minimal NFAs

Problem: Does the conclusion that minimal DFA accepting a language is unique apply to NFA as well ?

Ans : ?

The Myhill-Nerode theorem

Transparency No. 10-16

Minimal NFAs are not unique up to isomorphism

Example: let L = { x1 | x ∈ {0,1} }* 1. What is the minimum number k of states of all FAs

accepting L ? Analysis : k ≠ 1. Why ?

2. Both of the following two 2-states FAs accept L.

p q

0,1

1 ts

0 1 1

0

The Myhill-Nerode theorem

Transparency No. 10-17

Collapsing NFAs

Minimal NFAs are not unique up to isomorphism Part of the Myhill-Nerode theorem generalize to NFAs based

on the notion of bisimulation. Bisimulation: Def: M=(QM,S, dM,SM,FM), N=(QN,S,dN,SN,FN): two NFAs,

 : a binary relation from QM to QN. For B  QN , define C (B) = {p  QM | \$q  B p  q } For A  QM, define C (A) = {q  QN | \$P  A p  q }

Extend  to subsets of QM and QN as follows: A  B <=>def A  C(B) and B  C(A)

iff p  A \$q  B s.t. p  q and  q  B \$p  A s.t. p  q

The Myhill-Nerode theorem

Transparency No. 10-18

QM QN

A C(A)

C(C(A))

qp

The Myhill-Nerode theorem

Transparency No. 10-19

Bisimulation Def B.1: The relation  is called a bisimulation if

1. SM  SN 2. if p  q thena  S, dM(p,a)  dN(q,a) 3. if p  q then p  FM iff q  FN.

M and N are bisimilar if there exists a bisimulation between them.

For each NFA M, the bisimilar class of M is the family of all NFAs that are bisimilar to M.

Properties of bisimulaions: 1.Bisimulation is symmetric: if is a bisimulation b/t M and N,

then its reverse {(q,p) | p  q} is a bisimulation b.t N and M. 2.Bisimulation is transitive: M  1 N and N  2 P => M  1  2 P 3.The union of any nonempty family of bisimulation b/t M

and N is a bisimulation b/t M and N.

The Myhill-Nerode theorem

Transparency No. 10-20

Properties of bisimulations Pf: 1,2: direct from the definition. (3): Let {i | i  I } be a nonempty indexed set of bisimulations b/t

M and N. Define  =def Ui  I  i. Thus p  q means \$i  I p  i q. 1. Since I is not empty, SM  i SN for some i  I, hence SM  SN 2. If p  q => \$i  I p  i q => dM(p,a)  i dN(q,a) => dM(p,a)  dN(q,a) 3. If p  q => p  i q for some i => (p  FM <=> q  FN ) Hence  is a bisimulation b/t M and N. Lem B.3:  : a bisimulation b/t M and N. If A  B, then for all x in S*, D(A,x)  D (B,x).

pf: by induction on |x|. Basis: 1. x = e =>D(A,e) = A  B = D(B,e). 2.x = a : since A  C(B), if p  A => \$q  B with p  q. => dM(p,a)  C(dN(q,a))  C (DN(B,a)). => DM (A,a) = Up  A dM (p,a)  C(DN(B,a)).

By a symmetric argument, DN(B,a)  C(DM(A,a)). So DM (A,a)  DN(B,a)).

The Myhill-Nerode theorem

Transparency No. 10-21

Bisimilar automata accept the same set.

3. Ind. case: assume DM(A,x)  DN(B,x). Then DM(A,xa) = DM(DM(A,x), a)  DN(DN(B,x),a) = DN(B,xa). Q.E.D.

Theorem B.4: Bisimilar automata accept the same set. Pf: assume  : a bisimulation b/t two NFAs M and N.

Since SM  SN => DM (SM,x)  DN (SN,x) for all x. Hence for all x, x  L(M) <=> DM(SM, x)  FM  {} <=> DN(SN,x)  FN  {} <=> x  L(N). Q.E.D.

Def:  : a bisimulation b/t two NFAs M and N The support of  in M is the states of M related by  to some

state of N, i.e., {p  QM | p  q for some q  QN} = C(QN).

The Myhill-Nerode theorem

Transparency No. 10-22

Autobisimulation

Lem B.5: A state of M is in the support of all bisimulations involving M iff it is accessible.

Pf: Let  be any bisimulation b/t M and another FA. By def B.1(1), every start state of M is in the support of . By B.1(2), if p is in the support of , then every state in d(p,a) is

in the support of . It follows by induction that every accessible state is in the support of .

Conversely, since the relation B.3 = {(p,p) | p is accessible} is a bisimulation from M to M and all inaccessible states of M are not in the support of B.3. It follows that no inaccessible state is in the support of all bisimulations. Q.E.D.

Def. B.6: An autobisimulation is a bisimlation b/t an automaton and itself.

The Myhill-Nerode theorem

Transparency No. 10-23

Property of autobisimulations

Theorem B.7: Every NFA M has a coarsest autobisimulation M , which is an equivalence relation.

Pf: let B be the set of all autobisimulations on M. B is not empty since the identity relation IM = {(p,p) | p in Q } is an autobisimulation.

1. let M be the union of all bisimualtions in B. By Lem B.2(3),  M is also a bisimualtion on M and belongs to B. So M is the largest (i.e., coarsest) of all relations in B.

2. M is ref. since for all state p (p,p)  IM  M . 3. M is sym. and tran. by Lem B.2(1,2). 4. By 2,3, M is an equivalence relation on Q.

The Myhill-Nerode theorem

Transparency No. 10-24

Find minimal NFA bisimilar to a NFA

M = (Q,S,d,S,F) : a NFA. Since accessible subautomaton of M is bisimilar to M under

the bisimulation B.3, we can assume wlog that M has no inaccessible states.

Let be M, the maximal autobisimulation on M. for p in Q, let [p] = {q | p  q } be the -class of p, and let « be the relation relating p to its -class [p], i.e.,

«  Qx2Q =def {(p,[p]) | p in Q } for each set of states A  Q, define [A] = {[p] | p in A }. Then

Lem B.8: For all A,B  Q, 1. A  C (B) iff [A]  [B], 2. A  B iff [A] = [B], 3. A « [A]

pf:1. A  C(B) <=>p in A  q in B s.t. p  q <=> [A]  [B] 2. Direct from 1 and the fact that A  B iff A  C(B) and B  C(A) 3. p  A => p  [p]  [A], B  [A] => \$ p  A with p « [p] = B.

The Myhill-Nerode theorem

Transparency No. 10-25

Minimal NFA bisimilar to an NFA (cont’d) Now define M’ = {Q’, S, d’, S’,F’} = M/ where

Q’ = [Q] = {[p] | p  Q}, S’ = [S] = {[p] | p  S} , F’ = [F ] = {[p] | p  F} and d’([p],a) = [d(p,a)], Note that d’ is well-defined since [p] = [q] => p  q => d(p,a)  d(q,a) => [d(p,a)] = [d(q,a)] => d‘([p],a) = d‘([q],a)

Lem B.9: The relation « is a bisimulation b/t M and M’. pf: 1. By B.8(3): S  [S] = S’.

2. If p « [q] => p  q => d(p,a)  d(q,a) => [d(p,a)] = [d(q,a)] => d(p,a) « [d(p,a)] = [d(q,a)].

3. if p  F => [p]  [F] = F’ and if [p]  F’= [F] => \$q  F with [q] = [p] => p  q => p  F.

By theorem B.4, M and M’ accept the same set.