Feladat:

 

Készítsünk az

a(b+c(ba)*ca)*b+b

reguláris kifejezéssel megadott nyelvhez VDA-t, a Myhill Nerode tétel alapján, a maradék-nyelvek kiszámításával.

 

Megoldás:

 

0 hosszú „előtag” maradéknyelve:

Lε  = L

 

1 hosszú „előtag”-hoz tartozó maradéknyelvek:
(a szó első betűje a, b, vagy c, mi lehet a folytatás)

La = (b+c(ba)*ca)*b                      (új, tovább kell számolni)

Lb = ε                                             ez a szó vége, nem lehet folytatni, nem kell tovább számolni

Lc = Ø                                            mivel nem kezdődhet c-vel a szó, ez az üres, halmaz, nem számoljuk tovább!

 

2 hosszú „előtag”-hoz tartozó maradéknyelvek:
(csak az a-val kezdődő nyelvosztályokat kell kiszámolni, tehát meg kell nézni, mi a maradéknyelv aa, ab, és ac kezdet esetén)

 

Laa = Ø

Lab = ε + (b+c(ba)*ca)*b               (új, tovább kell számolni)

Lac = (ba)*ca (b+c(ba)*ca)*b         (új, tovább kell számolni)

 

3 hosszú „előtag”-hoz tartozó maradéknyelvek:
(csak az ab-vel ás ac-vel kezdődők folytatásaival foglalkozunk)

 

Laba = Ø

Labb = ε + (b+c(ba)*ca)*b = Lab

Labc = (ba)*ca (b+c(ba)*ca)*b = Lac

Laca = Ø

Lacb = a(ba)*ca (b+c(ba)*ca)*b      (új, tovább kell számolni)

Lacc = a (b+c(ba)*ca)*b                  (új, tovább kell számolni)

 


4 hosszú „előtag”-hoz tartozó maradéknyelvek:
(csak az acb-vel ás acc-vel kezdődők folytatásaival foglalkozunk)

 

Lacba = (ba)*ca (b+c(ba)*ca)*b = Lac

Lacbb = Ø

Lacbc = Ø

Lacca =(b+c(ba)*ca)*b = La

Laccb = Ø

Laccc = Ø

 

Nem kaptunk új maradéknyelvet, kész vagyunk. Rajzoljuk le a VDA gráfját!

Állapotok a kapott maradéknyelvek.

Kezdőállapot az Lε (=L).

Végállapotok azok, amelyekben az ε szerepel: Lb , Lab .

Az átmenet függvényt abból lehet kiolvasni, hogyan kaptuk meg az egyik maradéknyelvből a következőt (La állapotból b-t olvasva jutunk Lab állapotba, hisz a szó eleje ’a’-ról ’ab’-re növekedett.)

 

Az automata még nem VDA, mert parciális. A „hiba” állapottal, és a hibába futó élekkel kellene kiegészíteni, hogy VDA legyen, de a jobb áttekinthetőség miatt most ezek nélkül ábrázoljuk.

 

(ha hibát talál, kérem jelezze: veanna@elte.hu címre, köszönöm)