automatÁk, nyelvek, kÓdokmath.bme.hu/~babcs/aut.pdf · automatÁk, nyelvek, kÓdok babcsányi...

556
AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Upload: others

Post on 12-Jan-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

AUTOMATÁK, NYELVEK, KÓDOK

Babcsányi IstvánBME, Matematika Intézet

Algebra Tanszék

2007

1

Page 2: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ELŐSZÓAutomatán a mindennapi életben olyan rendszert szokás érteni, amely a kül-világból bizonyos ingereket (bemenő jeleket) kaphat, a bemenő jelek hatásá-ra megváltozhat az automata (belső) állapota, tulajdonsága. Az automataáltalában valamilyen módon válaszol (kimenő jelek) is ezekre a külső ha-tásokra. Ha a rendszert halmazelméleti fogalomnak tekintjük, akkor elju-tunk az automata matematikai fogalmához. Ez lehetőséget ad arra, hogyaz automaták szerkezeti vizsgálatára alkalmazzuk az algebra eredményeit ésszokásos vizsgálati módszereit. Az automaták algebrai vizsgálata az 1950-es években kezdődött. A kezdeti lépéseket D.A.Huffman, G.H.Mealy,E.F.Moore, M.O.Rabin, D.Scott, Ju.T.Medvegyev, J.R. Büchi ésS.C.Kleene tették meg. Az algebrai elmélet kiépítésében alapvető sze-repet játszott S.Ginsburg, V.M.GLuskov, A.Gill és A.Salomaa. Azautomata algebrai fogalmának létrejötte az automataelmélet tárgyát is lé-nyegesen bővítette. Az automaták algebrai elmélete ma már az algebránakés a számítástudománynak egyaránt fontos önálló fejezete, amelyben szá-mos jól körvonalazható kutatási irányt különböztethetünk meg. Ezek közülnéhányat felsorolunk: az automaták mint nyelvfelismerő rendszerek, az au-tomaták mint információátalakító rendszerek, az automaták mint elméletiszámítógépek, az automaták kompozícióelmélete, az automaták vizsgálatafélcsoportelméleti eszközökkel.

A hazai kutatások az 1960-as évek elején kezdődtek elsősorban GécsegFerenc és Peák István munkásságával. 1972-ben jelent meg máig is irány-mutató munkájuk, a [26] monográfia. Tudomásunk szerint Gécseg Ferencvolt az első magyar algebrista, akinek dolgozata jelent meg (1963) az auto-maták algebrai elméletéből. Az automaták kompozícióelmélete területén út-törő jelentőségű Gécseg Ferenc és munkatársainak (Dömösi Pál, ÉsikZoltán, Imreh Balázs, stb) eredményei. Moore automatákkal hazai vi-szonylatban Ádám András kezdett foglalkozni.

Kimenő jel nélküli automaták félcsoportelméleti vizsgálatát A.C.Fleck,G.P.Weeg, CH.A.Trauth és R.H.Oehmke kezdeményezték. A hazai ku-tatásokat Peák István kiterjesztette kimenőjeles automatákra, ahol DangHuu Dao ért el kimagasló eredményeket. Ezekhez a kutatásokhoz kapcso-lódott magyar matematikusokon kívül elsősorban japán, német és amerikaialgebristák egész sora.

Mi az automatákat mint információátalakító illetve nyelvfelismerő rend-szereket tanulmányozzuk. Megadjuk az automata matematikai, pontosabbanalgebrai modelljét. E modell segítségével absztrakt algebrai módszerekkelvizsgáljuk az automaták szerkezetét, más egyszerűbb automatákból való fel-

2

Page 3: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

épithetőségét. Néhány speciális automata- és nyelvosztályt részletesebbenis vizsgálunk. Rövid bevezetést adunk a formális nyelvek elméletébe, és akódelmélet félcsoportelméleti megközelítésébe.

Megemlítjük, hogy algoritmikusan megoldható és megoldhatatlan problé-mákkal is foglalkozunk. Az algoritmus matematikai fogalmára nincs egységes,mindenki számára elfogadott definíció. A számunkra megfelelő algoritmusfogalmának kialakításához közelítsük meg először az eljárás fogalmát. Eljá-ráson általában valamely nyelven véges hosszúságú kifejezéssel leírt, diszkrétlépésekben gépiesen végrehajtható utasítások egy rendszerét értik, amelyekvégrehajtásának sorrendje is meg van adva. Ez természetesen nem mate-matikai fogalom. A számítógépek elterjedésével azonban sok eljárás prog-ramozható, azaz átírható a számítógépek nyelvére. Ez alapján (matemati-kai) eljáráson mi számítógéppel végrehajtható eljárást értünk. Pontosabban,A.M.Turing nyomán képzeljünk el egy ideális számítógépet (Turing auto-matát), amely diszkrét időskálában dolgozik, soha nem hibázik, akármennyiideig képes dolgozni, anélkül, hogy elromolna, s kapacitása korlátlanul bővít-hető. (A Turing automata fogalmát a 44. fejezetben pontosan megadjuk.)Egy matematikai eljárás Turing automatán végrehajtható diszkrét lépéseksorozatát jelenti. A matematikai eljárásnak ez a fogalma az un. Churchtézis alapján kellően megalapozottnak tűnik. A Church tézis azt mondjaki, hogy minden pontosan definiált eljáráshoz megadható egy Turing auto-mata, amely ezt az eljárást végrehajtja. Eddig nem találtak olyan eljárást,amelyhez nem lehet a megfelelő Turing automatát megkonstruálni. A vizs-gálatainkban igaznak fogadjuk el a Church tézist.

Algoritmusnak olyan eljárást nevezünk, amely véges számú lépésben befe-jeződik. Fontosak lesznek számunkra az eldöntési eljárások, amelyek állításokigazságának eldöntésére szolgálnak. A kiszámítási vagy megadási eljárásokegy adott eredmény vagy objektum megadására vagy megkonstruálására szol-gálnak. A felsorolási eljárások eredmények, objektumok felsorolását adják.

A Függelékben a felhasznált halmazelméleti és algebrai fogalmakat és té-teleket foglaltuk össze. A Tárgymutató ezeket az adatokat nem tartalmazza.A lineáris algebra, a számelmélet és a kombinatorika alapfogalmait és alap-vető eredményeit azonban ismertnek tételezzük fel. Legtöbb fejezet végénfeladatok is találhatók. A feladatokhoz megoldási útmutatót adunk. Sokesetben közöljük a teljes megoldást.

Ez a munka tartalmazza a Budapesti Műszaki és GazdaságtudományiEgyetem Természettudományi Karának alkalmazott matematikus szakán tar-tott Formális rendszerek négyféléves témacsoport utolsó három félévénekanyagát is, de ennél jóval bővebb terjedelmű. A kötet egyfajta bevezetésaz automaták algebrai elméletébe, a formális nyelvek elméletébe és az általá-

3

Page 4: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

nos kódelméletbe. A munkámat egykori tanárom, Peák István (1938-1989)emlékének ajánlom, aki már 1965-ben megismertetett az automaták algebraielméletének alapjaival. Megjegyzem, hogy még ma is jól használható PeákIstván 1977 és 1980 között, az automaták algebrai elméletéből írt [46], [47]és [48] háromkötetes egyetemi jegyzete.

Hálás vagyok Nagy Attilának értékes észrevételeiért, Sági Gábornaka rajzok lelkiismeretes elkészítéséért, Wettl Ferencnek LATEX tudásomcsiszolásásáért, amely azt hiszem igen nagy fáradságot okozott neki. Az éveksorán hallgatóim is sok hibát kijavítottak. Ezt itt is megköszönöm nekik. Eza munka a T035192 és a T042481 számú OTKA támogatásával készült.

4

Page 5: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

TARTALOMJEGYZÉKELŐSZÓ 2

I. AUTOMATÁK 9

1. Az automata fogalma 9

2. Generátorrendszer, részautomata 21

3. Homomorfizmus, izomorfizmus 26

4. Az automaták kongruenciái 37

5. Automatabővítések 41

6. Endomorfizmusfélcsoport, automorfizmus-csoport 45

7. Karakterisztikus félcsoport 51

8. Kváziautomaták 61

II. AUTOMATALEKÉPEZÉSEK 69

9. Az automataleképezés fogalma 69

10.Állapotok megkülönböztethetősége 76

11.Automaták ekvivalenciája 80

12.Véges automaták minimalizálása 86

13.Univerzális automaták 92

III. AUTOMATÁK SZORZATAI 100

14.Direkt és szubdirekt szorzat 100

15.Homomorf-direkt szorzat 114

16.Párhuzamos és soros kapcsolás 121

17.Általános szorzat, rendezett szorzat 129

5

Page 6: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

18.αi-szorzatok 141

IV. AUTOMATÁK TELJES RENDSZEREI 150

19.Homomorfan teljes rendszerek 150

20.Izomorfan teljes rendszerek 158

21.A Krohn–Rhodes tétel 169

22.Homomorfan α0-teljes rendszerek 190

23.Metrikusan teljes rendszerek 203

V. SPECIÁLIS AUTOMATAOSZTÁLYOK 210

24.Ciklikus automaták 210

25.Erősen összefüggő automaták 217

26.Kommutatív automaták 223

27.Egyszerű automaták 225

28.Állapotfüggetlen automaták 230

29.Félperfekt automaták 234

30.Perfekt automaták 242

31.Irányítható automaták 245

32.Nilpotens és definit automaták 254

33.Összefüggő automaták 258

34.Retraktálható automaták 264

VI. NYELVEK 275

35.Nyelvalgebrák 275

36.Generatív grammatikák 280

6

Page 7: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

37.Környezetfüggetlen nyelvek 29437.1. Chomsky normálforma . . . . . . . . . . . . . . . . . . . . . . 29437.2. Bar-Hillel lemma . . . . . . . . . . . . . . . . . . . . . . . . . 30037.3. Felesleges szimbólumok kiküszöbölése . . . . . . . . . . . . . . 30537.4. Bal oldali levezetések . . . . . . . . . . . . . . . . . . . . . . . 30837.5. Greibach normálforma . . . . . . . . . . . . . . . . . . . . . . 31037.6. Reguláris környezetfüggetlen nyelvek . . . . . . . . . . . . . . 31637.7. Homomorf jellemzés . . . . . . . . . . . . . . . . . . . . . . . . 31937.8. Környezetfüggetlen kifejezések . . . . . . . . . . . . . . . . . . 323

38.Környezetfüggő nyelvek 328

39.Mondatszerkezetű nyelvek 336

VII. NYELVEK ÉS AUTOMATÁK 343

40.Nyelvek előállítása automatákban 343

41.Reguláris nyelvek 351

42.A véges automaták által indukálhatóautomataleképezések 368

43.Veremautomaták 373

44.Turing automaták 385

45.Véges nyelvek 392

46.Definit és nilpotens nyelvek 399

47.Kommutatív nyelvek 407

48.Végtelen szavak 410

VIII. KÓDOK 419

49.A kód fogalma 420

50.A kód mértéke 429

51.Maximális kódok 435

52.Teljes kódok 442

7

Page 8: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

53.Prefix kódok 449

54.A prefix kódok algebrája 455

55.Szemafor kódok 463

56.Bifix kódok 468

57.Kódok és automaták 473

58.Szinkron kódok 479

59.Hibajavító kódok 484

60.Optimális kódok 488

MEGOLDÁSOK, ÚTMUTATÓK 499

FÜGGELÉK 521

AJÁNLOTT IRODALOM 541

8

Page 9: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

I. AUTOMATÁKAz automaták algebrai vizsgálatának igénye már a fogalom kialakulásakor istermészetes módon vetődött fel. Az automaták szerkezetének leírására haté-konynak bizonyultak az univerzális algebrai módszerek. Az olyan klasszikusalgebrai fogalmak, mint a homomorfia, izomorfia, kongruencia, generátor-rendszer, részstruktúra ill. olyan klasszikus algebrai struktúrák, mint a fél-csoportok, csoportok, hálók jelentős szerepet játszottak az automaták algeb-rai elméletének kiépítésében. Az I. részben ennek az elméletnek az alapjaittárgyaljuk.

1. Az automata fogalmaElőször megadjuk a Mealy automata fogalmát, amelyből speciálizálással to-vábbi automatafogalmakat kapunk. Végül ezeket a fogalmakat szükségesmódon általánosítjuk.

Mealy automatának vagy röviden automatának nevezünk minden olyanA = (A,X, Y, δ, λ) rendszert, amely áll az A, X és Y halmazokból, valaminta δ : A×X → A és a λ : A×X → Y függvényekből. Az A,X és Y halmazelemeit rendre az A automata (belső) állapotainak, bemenő jeleinek és ki-menő jeleinek mondjuk, magukat a halmazokat pedig A állapothalmazának,bemenő halmazának és kimenő halmazának, a δ és λ függvényeket pedig Aátmenetfüggvényének ill. kimenetfüggvényének nevezzük. Adott X halmazill. X és Y halmazok esetén azt is mondjuk, hogy egy automata X felettiill.(X, Y ) feletti, ha bemenő halmaza X ill. bemenő halmaza X, a kimenőhalmaza pedig Y egy részhalmaza.

Egy Mealy automata működését a következőképpen gondoljuk el. Haaz automata valamely időpillanatban az a ∈ A állapotban van és ebben azidőpillanatban az x ∈ X bemenő jelet kapja, akkor ennek hatására átmegy aδ(a, x) ∈ A állapotba és közben kiadja a λ(a, x) ∈ Y jelet. A továbbiakbanazt is feltételezzük, hogy az automata diszkrét időskálában dolgozik, azazcsak meghatározott, egymástól elkülöníthető időpontokban kaphat bemenőjelet.

Ha az A = (A,X, Y, δ, λ) Mealy automata átmenet- és kimenetfüggvényeminden (a, x) (a ∈ A, x ∈ X) párra értelmezve van, akkor az automatát tel-jesen definiáltnak, ellenkező esetben pedig parciálisnak mondjuk. Ha δ(a, x)(a ∈ A, x ∈ X) nincs értelmezve, akkor feltételezzük azt is, hogy λ(a, x)sincs értelmezve. Néhány kivételtől eltekintve teljesen definiált automaták-kal foglalkozunk, ezért a továbbiakban automata mindig teljesen definiált au-tomatát jelent. Külön jelezzük, amikor parciális automatáról van szó. Egy

9

Page 10: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

parciális automata könnyen kiegészíthető teljesen definiált automatává. Aδ átmenetfüggvény értelmezését kiterjeszthetjük minden olyan (a, x) párra,amelyre eddig nem volt értelmezve úgy, hogy δ(a, x) = a legyen. Egy má-sik mód az, hogy kibővítjük az állapothalmazt úgy egy d(/∈ A) állapottal,hogy ha δ nincs értelmezve az (a, x) párra, akkor legyen δ(a, x) = d. Ter-mészetesen minden x ∈ X bemenő jelre δ(d, x) = d. A λ kimenetfüggvényértelmezését minden olyan (a, x) párra, amelyre eddig nem volt értelmezve alegegyszerűbben λ(a, x) = z feltétellel terjeszthetjük ki, ahol z /∈ Y egy új ki-menő jel. Ezek a kiterjesztések nem változtatják meg lényegesen az automataműködését.

Az X bemenő halmazról mindig feltesszük, hogy nem üres. Az X = ∅esetben elképzelhetnénk az automata működését úgy, hogy ha az automataaz a ∈ A állapotban van, akkor egy meghatározott időpontban átmegy egyb ∈ A állapotba, miközben kiad egy y ∈ Y jelet, vagyis az átmenetfüggvényétδ : A → A, a kimenetfüggvényét pedig λ : A → Y alakban adnánk meg. Ezazonban azt jelentené, hogy az A = (A, ∅, Y, δ, λ) automata helyett tekint-hetnénk az A′ = (A, {x}, Y, δ′, λ′) automatát, ahol minden a ∈ A állapotraδ′(a, x) = δ(a) és a λ′(a, x) = λ(a).

A λ kimenetfüggvényt minden esetben szürjektívnek tekintjük. Ez azutóbbi feltételezés csupán azt jelenti, hogy ne legyenek olyan kimenő jelek,amelyeket az automata nem adhat ki.

Az A = (A,X, Y, δ, λ) Mealy automatát Moore automatának nevezzük,ha bármely a ∈ A állapotra és x1, x2 ∈ X bemenő jelekre

λ(a, x1) = λ(a, x2).

Ebben az esetben λ helyett tekinthetjük a

µ(a) = λ(a, x) (a ∈ A, x ∈ X)

feltétellel definiált µ : A → Y szürjektív leképezést. A µ függvényt aMoore automata jelfüggvényének nevezzük és Moore automatákra az A =(A,X, Y, δ, µ) jelölést használjuk.

Moore automata működését úgy képzeljük el, hogy ha az automata va-lamely időpillanatban az a ∈ A állapotban van, akkor kiadja a µ(a) jelet, sha ebben az időpillanatban az x ∈ X bemenő jelet kapja, akkor átmegy aδ(a, x) ∈ A állapotba.

Ha az A = (A,X, Y, δ, λ) Mealy automata teljesíti a

(1.1) δ(a1, x1) = δ(a2, x2) =⇒ λ(a1, x1) = λ(a2, x2) (a ∈ A, x1, x2 ∈ X)

Moore kritériumot, akkor van olyan µ : Rδ → Y függvény, amelyre

(1.2) λ(a, x) = µ(δ(a, x)) (a ∈ A, x ∈ X)

10

Page 11: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

teljesül. Ha az automatát a Aµ = (A,X, Y, δ, µ) alakban, vagyis a λ kimenet-függvény helyett a µ jelfüggvény segítségével adjuk meg, akkor olyan parciálisMoore automatához jutunk, amely csak annyiban különbözik az eredeti Me-aly automatától, hogy a jeleket késleltetve adja ki. Ezt a Moore automatátaz (1.1) feltételt kielégítő A Mealy automatához tartozó Moore automatánaknevezzük.

Megfordítva, ha A = (A,X, Y, δ, µ) tetszőleges Moore automata, akkora λ = µδ függvényt kimenetfüggvénynek tekintve, a Moore kritériumnakeleget tevő Aλ = (A,X,Rλ, δ, λ) Mealy automatához jutunk. Az Aλ Mealyautomatát az A Moore automatához tartozó Mealy automatának nevezzük.A λ = µδ függvényt az A Moore automata kimenetfüggvényének is mondjuk.

Az egyszerűbb tárgyalás miatt szükségünk lesz az üres automata (∅) fo-galmára. Üres automatának nevezzük azt az automatát, amelynek állapot-halmaza az üres halmaz. Ebben az esetben a bemenő halmaz tetszőlegesenválasztható, a kimenő halmaz üres, átmenet- és kimenetfüggvény pedig nincsértelmezve. (Ez azt is jelenti, hogy egyetlen üres automata van.)

Ha az Y kimenő halmaz üres, s így a λ kimenetfüggvény nincs értelmezve,akkor az automatát kimenő jel nélküli automatának nevezzük, amelynek ajelölése A = (A,X, δ). Természetesen a kimenő jel nélküli automata felfog-ható olyan automataként is, amely mindig az üres jelet bocsátja ki. (Az üresjelet a későbbiekben üres szónak is nevezzük.) Ezért, ha egy automatánakegyetlen kimenő jele van, akkor kimenő jel nélküli automatának is tekinthető.Így a kimenő jeles automaták esetében a kimenő halmazról feltesszük, hogylegalább kételemű halmaz. Az A = (A,X, δ) kimenő jel nélküli automatatekinthető olyan A = (A,X, Y, δ, λ) Mealy automatának is, amelyre λ = δteljesül. Ebben a felfogásban Y = Rδ. Ha mást nem mondunk, akkor Mealyautomatákra feltételezzük, hogy λ 6= δ. Az A = (A,X, δ) kimenő jel nélkü-li automata felfogható az A = (A,X, Y, δ, µ) Moore automataként is, aholµ = ιA. Ebből következik, hogy Y = A. Ha Moore automatáról beszélünk ésmást nem mondunk, akkor mindig feltesszük, hogy µ 6= ιA. Az A = (A,X, δ)kimenő jel nélküli automatát olyan A = (A,X, Y, δ, λ) Mealy automatának istekinthető, amelyre Y = A×X és λ = ιA×X . Ebben a felfogásban egy (a, x)kimenő jel az automata a ∈ A állapotának és x ∈ X bemenő jelének kijelölé-sét jelenti. Ennek a felfogásnak a hasznát az automaták szuperpozíciójánál(16. fejezet) látjuk majd.

Az A = (A,X, Y, δ, λ) Mealy automatát redukált bemenetű nek nevezzük,ha nincsenek un. felesleges bemenő jelek, vagyis minden a ∈ A állapotra, haδ(a, x1) = δ(a, x2) és λ(a, x1) = λ(a, x2), akkor x1 = x2. Redukált bemenetűMoore vagy kimenő jel nélküli automata esetén definiíciójában a másodikösszefüggés természetesen nem szerepel.

Sok esetben nem vizsgáljuk az A Mealy automata kimeneti viselkedését,

11

Page 12: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ezért az Y kimenő halmazt és a λ kimenetfüggvényt elhagyhatjuk. Igy azAv = (A,X, δ) kimenő jel nélküli automatát kapjuk, amelyet az A Mealy au-tomata vetületének vagy projekciójának hívunk. Megegyezünk abban, hogyazokat a fogalmakat, amelyekben az automata kimeneti viselkedése nem ját-szik szerepet az egyszerűség kedvéért csak kimenő jel nélküli automatákraadjuk meg. Ezeket a fogalmakat Mealy [Moore] automatákra vetületükkeldefiniáljuk. Ebben az esetben a tételeket is kimenő jel nélküli automatákramondjuk ki. Igy például a következő fogalmak is Mealy [Moore] automatákraa vetületük segítségével adhatók meg.

Az A = (A,X, δ) automatát teljes beállító automatának nevezzük, habármely a, b ∈ A és x ∈ X esetén δ(a, x) = δ(b, x) teljesül. Az A automatátautonómnak hívjuk, ha bármely a ∈ A és x1, x2 ∈ X esetén δ(a, x1) =δ(a, x2). (Speciálisan minden egy bemenő jeles automata autonóm.)

Az A = (A,X, Y, δ, λ) (Y 6= ∅) Mealy automatához egy másik kimenő jelnélküli automatát is rendelünk, amely leírja az automata kimeneti viselkedé-sét is. Az A Mealy automata vázán azt az AY = (A × Y,X, δY ) kimenő jelnélküli automatát értjük, amelyre δY -t minden (a, y) ∈ A× Y, x ∈ X eseténa

(1.3) δY ((a, y), x) = (δ(a, x), λ(a, x))

egyenlőséggel definiáljuk.Az A = (A,X, Y, δ, λ) automatát iniciális automatának nevezzük, ha

az A állapothalmazának valamely a0 állapotát kijelöljük. Ekkor az A =(A, a0, X, Y, δ, λ) vagy a (A, a0) jelölést használjuk. A kijelölt a0 állapotot azA automata kezdő állapotának vagy iniciális állapotának mondjuk és megál-lapodunk abban, hogy az automata működése kezdetén ebben az állapotbanvan. Előfordul, hogy több kezdő állapotot is kijelölünk, vagyis megadjukaz állapothalmaz egy nemüres valódi A0 részhalmazát. Ebben az esetben aA = (A,A0, X, Y, δ, λ) vagy a (A, A0) jelölést használjuk és úgy tekintjük,hogy az automata működése kezdetén valamelyik kezdő állapotban van. (HaA0 = A, akkor minden állapot lehet kezdő állapot.)

Egy automatát A-végesnek mondunk, ha állapothalmaza véges, és vé-gesnek, ha minden hozzá tartozó halmaz véges. Hasonlóan beszélhetünkX-véges, Y-véges, XY-véges és AY-véges automatákról is. Az AX-véges au-tomaták a véges automaták, mivel ebben az esetben az automata véges sokkimenő jelet képes kibocsátani. Az egyállapotú automatákat triviális auto-matáknak is nevezzük. Nyilvánvaló, hogy minden A-véges redukált bemenetűkimenő jel nélküli automata véges.

Az A = (A,X, Y, δ, λ) véges Mealy automata átmenet-kimenettáblázatánolyan téglalap alakú táblázatot értünk, amelynek sorait A bemenő jeleivel,

12

Page 13: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

oszlopait pedig A állapotaival jelöljük meg. Az x ∈ X bemenő jellel megjelöltsor és az a ∈ A állapottal megjelölt oszlop metszetébe a (δ(a, x), λ(a, x))rendezett párt írjuk:

A a...

x · · · (δ(a, x), λ(a, x)) · · ·...

Megállapodunk abban, hogy ha az automata iniciális, akkor az oszlopokmegjelölését a kezdő állapotokkal kezdjük. Az A = (A,X, Y, δ, µ) Mooreautomata átmenettáblázata (bal oldali táblázat) abban különbözik az előzőtáblázattól, hogy az x-szel jelölt sor és az a-val jelölt oszlop metszetében csaka δ(a, x) állapot áll és az a állapot fölé a µ(a) kimenő jel kerül. E táblázatok-ból értelemszerűen adódik a kimenő jel nélküli automata átmenettáblázata(jobb oldali tábla):

µ(a)A a A a

......

x · · · δ(a, x) · · · x · · · δ(a, x) · · ·...

...

Parciális automaták esetén a táblázatokban azokat a helyeket nem töltjükki, ahol az egyes függvények nincsenek értelmezve.

A véges automaták működését megadhatjuk irányított gráffal is. AzA = (A,X, Y, δ, λ) véges Mealy automata átmenet-kimenetgráfján azt azirányított gráfot értjük, amelynek kis körökkel ábrázolt csúcsait megjelöljükaz automata állapotaival. Az a ∈ A állapottal megjelölt csúcsból akkor éscsak akkor vezet a b ∈ A állapottal megjelölt csúcsba az (x, y) rendezett pár-ral megjelölt irányított él, ha az x ∈ X bemenő jel hatására az automata az aállapotból átmegy a b állapotba, miközben kiadja az y jelet, azaz δ(a, x) = bés λ(a, x) = y. Parciális automata esetén előfordulhat, hogy nem minden xbemenő jelre vezet az a állapottal megjelölt csúcsból valamilyen (x, y) ren-dezett párral megjelölt irányított él egy másik csúcsba. Az is lehet, hogy azirányított él csak az x bemenő jellel van megjelölve. Ez azt jelenti, hogy azautomata nem ad ki jelet ennél az átmenetnél. Megállapodunk abban, hogyiniciális automata kezdő állapotait kör helyett egy kis négyzet ábrázolja. AzA = (A,X, Y, δ, µ) Moore automata átmenet-kimenetgráfja az előbbi gráftólannyiban tér el, hogy az a ∈ A állapot µ(a) jelét az a-val megjelölt csúcshozírjuk. Az a-val megjelölt csúcsból, röviden a-ból, akkor és csak akkor vezet

13

Page 14: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

x ∈ X bemenő jellel megjelölt irányított él b-be, ha δ(a, x) = b. Ezek alap-ján nyilvánvalóan adódik egy kimenő jel nélküli automata átmenetgráfja. Az1. ábrában egy Mealy, Moore ill. kimenő jel nélküli automata gráfja látható.

������

���:

XXXXXX

XXXy

6

����

��������

a1

a3

a2x1

x1

x2���6

����

������

���:

XXXXXXXXXz

66

��������

a2

a1

a0 (x2, y2) (x1, y2)

(x1, y1)

x2

"!#

"!#

"!#

"!#

-

-

6 6

a3, y2 a4

a1, y1 a2, y1

x1

x1

x3 x2

���6

����

x2

x1, x2

x2

x1, x3

1. ábra.

Ha egy automatát vizsgálunk, akkor általában nem egyetlen bemenő jelreadott reakciójára vagyunk kíváncsiak, hanem az automata időbeli működé-sének leírására, azaz hogy miként reagál időpontok egymásutánjaiban veleközölt jelsorozatra.

Legyen A = (A,X, Y, δ, λ) tetszőleges Mealy automata. Az X∗ és Y ∗szabad monoidokat A bemenő félcsoport jának ill. kimenő félcsoport jának,elemeiket pedig A bemenő szavainak ill. ill. kimenő szavainak fogjuk mon-dani.

A δ és λ függvények értelmezését kiterjesztjük a következő módon. Azegyszerűség kedvéért a függvényeket a kiterjesztés után is δ ill. λ jelöli.Legyenek

δ : A×X∗ → A+ és λ : A×X∗ → Y ∗

olyanok, hogy tetszőleges a ∈ A állapotra és az e üres szóra teljesüljenek

(1.4) δ(a, e) = a és λ(a, e) = e,

14

Page 15: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

feltételek, továbbá tetszőleges p = x1x2 . . . xk ∈ X+ bemenő szó esetén legyen

(1.5) δ(a, p) = a1a2 . . . ak és λ(a, p) = y1y2 . . . yk,

ahola1 = δ(a, x1), a2 = δ(a1, x2), . . . , ak = δ(ak−1, xk),

y1 = λ(a, x1), y2 = λ(a1, x2), . . . , yk = λ(ak−1, xk).

A Mealy automata átmenetfüggvényének és kimenetfüggvényének ez a ki-terjesztése azt mutatja, hogy ha az automata nem kap bemenő jelet, vagyisaz üres szót kapja, akkor állapotát nem változtatja meg és nem ad ki jelet,azaz az üres szót adja ki. Ha pedig egy k jelből álló jelsorozatot kap, akkorennek hatására ugyancsak k jelből álló jelsorozatot bocsát ki. Az automataúgy működik, hogy a bemenő szó jeleit balról jobbra egymásután "olvassael", állapotok egy sorozatán megy keresztül és közben a kimenő jeleket isegymásután adja ki. E tulajdonság alapján azt mondjuk, hogy az automataszekvenciális működésű gép. Ezt a 2. ábra alapján szemléletesen például úgyképzelhetjük el, hogy az automatának (vezérlőműnek) van egy olvasófeje ésegy írófeje. Az olvasófej előtt egy rekeszekre osztott szalag (bemenő szalag)mozog. A bemenő szalag egyes rekeszeibe legfeljebb egy betű írható. A sza-lagra sorra rá vannak írva a bemenő szó betűi. Az automata az olvasófejsegítségével egymás után beolvassa a szó betűit, a leolvasás ütemében álla-potok sorozatán megy át, s ebben az ütemben az állapotátmenetekkel vezérliaz írófejet, az írófej az előtte mozgó másik szalagra (kimenő szalag) kiírja amegfelelő szót.

A definícióban szereplő a1, a2, . . . , ak−1 állapotokat az a, a1, a2, . . . ak−1, akállapotsorozat közbülső állapotainak is nevezzük, az ak = δ(a, p) állapotrapedig az (ap)A jelölést is használjuk. Ha nem vezet ellentmondásra, azazcsak egy automatát vizsgálunk, akkor (ap)A-t helyett a rövidebben ap jelölésthasználjuk.Így minden a ∈ A állapotra és x ∈ X bemenő jelre δ(a, x) helyettax is írható. A δ(a, p) és az ap kifejezések között tehát az a különbség,hogy az előbbi feltünteti az egész állapotváltozás "útját", az utóbbi viszontnem tartalmazza a közbülső állapotokat. Ez alapján mondjuk azt, hogyδ(a, p) az a állapotból az ap állapotba vezető út. Megemlítjük, hogy szokásosa δ(a, p) = ap (a ∈ A, p ∈ X∗) feltétellel megadott δ : A × X∗ → Akiterjesztés is. Ha az a, b ∈ A állapotokhoz van olyan p ∈ X∗ bemenő szó,amelyre b = ap teljesül, akkor azt mondjuk, hogy a b állapot (a p szóval)elérhető az a állapotból. Ha pedig a ∈ A állapotra és a p ∈ X∗ bemenő szóraaz ap állapot létezik, akkor azt mondjuk, hogy az automata az a állapotbanelfogadja az p bemenő szót.

A (1.5) formulákat sokszor az alábbi egyszerűbben kezelhető ekvivalensalakban adjuk meg:

15

Page 16: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

?

6

x1 x2 xk· · ·

y1 y2 · · ·

vezérlőmű

olvasófej

írófej

2. ábra.

Bármely a ∈ A, p, q ∈ X+ esetén teljesüljenek a

(1.6) δ(a, pq) = δ(a, p)δ(ap, q), λ(a, pq) = λ(a, p)λ(ap, q),

feltételek.Ha az A = (A,X, Y, δ, µ) Moore automata esetében a δ átmenetfügg-

vény kiterjesztését a Mealy automatákra megismert módon végezzük el, µjelfüggvény értelmezését pedig homomorf módon terjesztjük ki az A+ szabadfélcsoportra, vagyis úgy, hogy minden a1 . . . ak ∈ A+ állapotsorozatra

(1.7) µ(a1 . . . ak) = µ(a1) . . . µ(ak)

teljesüljön, akkor λ = µδ kimenetfüggvénnyel megadott Aλ = (A,X, Y, δ, λ)Mealy automata kimenetfüggvényének is az (1.5)-ban megadott kiterjesztésétkapjuk. Ez részletesebben azt jelenti, hogy minden a ∈ A állapotra és p ∈ X+

bemenő szóra

(1.8) λ(a, e) = e és λ(a, p) = µ(δ(a, p))

teljesül. A λ átmenetfüggvény értelmezését az A ×X∗ halmazra Moore au-tomaták esetén nem lehet úgy kiterjeszteni, hogy minden a ∈ A állapotraés p ∈ X∗ bemenő szóra λ(a, p) = µ(δ(a, p)) igaz legyen. Ebben az esetbenugyanis azt kapnánk, hogy

λ(a, e) = µ(δ(a, e)) = µ(a),

16

Page 17: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz az automata az a állapotában bár nem kap bemenő jelet, mégis kiadjaa µ(a) jelet. Ez pedig a λ (1.4) kiterjesztése miatt nem lehetséges.

Az A = (A,X, Y, δ, λ) Mealy automata hatványautomatájának nevezzüka P(A)+ = (P (A)+, X, P ′(Y ), δ′, λ′) Mealy automatát, ha P (A) az A hat-ványhalmaza, P (A)+ = P (A) − ∅ és P ′(Y ) az Y P (Y ) hatványhalmazánakrészhalmaza, valamint minden A′ ∈ P (A)+ és x ∈ X esetén

(1.9) δ′(A′, x) = {δ(a, x); a ∈ A′}, λ′(A′, x) = {λ(a, x); a ∈ A′}.

Ha A = (A,X, Y, δ, µ) Moore automata, akkor a

P(A)+ = (P (A)+, X, P ′(Y ), δ′, µ′)

hatványautomatára

(1.10) δ′(A′, x) = {δ(a, x); a ∈ A′}, µ′(A′) = {µ(a); a ∈ A′}

feltételek teljesülnek. Ha A kimenő jel nélküli automata, akkor természetesena második feltétel hiányzik. Ha az automata parciális, akkor előfordulhat,hogy δ′(A′, x), λ′(A′, x) vagy a µ′(A′) halmaz A′ 6= ∅ esetben is üres. Ezértparciális automata hatványautomatájának a P(A) = (P (A), X, P ′(Y ), δ′, λ′)automatát tekintjük az (1.9) ill. az (1.10) definíciókkal. Ez azt jelenti, hogyminden x ∈ X bemenő jelre

δ′(∅, x) = λ′(∅, x) = µ′(∅) = ∅.

Az egyszerűség kedvéért sokszor P (A) és P (Y ) egyelemű részhalmazaitazonosítjuk az elemükkel. Ha a δ′ és λ′ függvények értelmezését (1.4) és (1.5)szerint kiterjesztjük a P (A)×X∗ szorzathalmazra, akkor nem nehéz belátni,hogy minden A′ ∈ P (A) és p ∈ X∗ esetén

(1.11) δ′(A′, p) = {δ(a, p); a ∈ A′}, λ′(A′, p) = {λ(a, p); a ∈ A′},

s így

(1.12) A′p = {ap; a ∈ A′}, λ′(A′, p) = {λ(a, p); a ∈ A′}.

Az eddigi automaták mind olyanok, hogy ha egy adott állapotban egyadott bemenő jelet elfogadnak, akkor egyértelműen megmondható, hogy me-lyik állapotba mennek át, s ha adnak ki kimenő jelet, akkor melyiket. Azilyen automatákat determinisztikus automatáknak nevezzük. Szükségünk leszazonban a következőkben leírt nemdeterminisztikus automatákra is.

17

Page 18: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az A = (A,X, Y, δ, λ) nemdeterminisztikus Mealy automata fogalmát adeterminisztikus Mealy automata fogalmából úgy kapjuk, hogy a δ átmenet-függvény és a λ kimenetfüggvény értelmezését módosítjuk, mégpedig legye-nek

(1.13) δ : A×X → P (A), λ : A×X → P (Y )

alakúak. Látható, hogy egy determinisztikus A = (A,X, Y, δ, λ) Mealy auto-mata olyan nemdeterminisztikus Mealy automatának tekinthető, amelybenminden a ∈ A és x ∈ X esetén

(1.14) |δ(a, x)| ≤ 1, |λ(a, x)| ≤ 1.

Az A = (A,X, Y, δ, µ) nemdeterminisztikus Moore automata annyiban külön-bözik egy nemdeterminisztikus Mealy automatától, hogy a λ : A×X → P (Y )kimenetfüggvény helyett az

(1.15) µ : A→ P (Y )

jelfüggvény szerepel. Egy nemdeterminisztikus kimenő jel nélküli automataolyan nemdeterminisztikus Mealy vagy Moore automata, amelynek kimenőhalmaza üres, s így a kimenet- vagy jelfüggvény nincs definiálva. A nem-determinisztikus automatákat is inicializálhatjuk, azaz kijelölhetünk kezdőállapotot vagy kezdő állapotoknak egy halmazát.

Mivel alapvetően a determinisztikus automatákat tanulmányozzuk, ezérta továbbiakban automatán mindig determinisztikus automatát értünk, ésjelezük, ha nemdeterminisztikus automatáról lesz szó. Minden nemdetermi-nisztikus A = (A,X, Y, δ, λ) Mealy automata felfogható a teljesen definiáltdeterminisztikus A = (P (A), X, P ′(Y ), δ, λ) (P ′(Y ) ⊆ P (Y )) Mealy automa-taként is, amelyben, ha A′ ∈ P (A), |A′| 6= 1 és x ∈ X, akkor

δ(A′, x) = λ(A′, x) = ∅.

Hasonlóan minden nemdeterminisztikus Moore és kimenő jel nélküli automa-ta tekinthető teljesen definiáltnak és determinisztikusnak.

A teljesen definiált nemdeterminisztikus automata működése annyibankülönbözik a teljesen definiált determinisztikus automata működésétől, hogyha az automata az a ∈ A állapotban az x ∈ X bemenő jelet kapja, ak-kor valamelyik δ(a, x)-beli állapotba megy át és kiad egy λ(a, x)-beli jelet.A parciális nemdeterminisztikus automata pedig lehet olyan a állapotban,amelyben nem fogad el minden bemenő jelet, vagy ha minden bemenő jeletel is fogad, előfordulhat olyan x bemenő jel, hogy miközben az automataátmegy a δ(a, x) állapotok egyikébe, nem ad kimenő jelet.

18

Page 19: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Nemdeterminisztikus automata átmenet-kimenetgráfja olyan, hogy egycsúcsból több olyan irányított él is vezethet csúcsokba, amelyeket megjelölőrendezett párok első vagy második tagja megegyezik.

Definiáljuk az A = (A,X, Y, δ, λ) nemdeterminisztikus Mealy automataP(A) = (P (A), X, P ′(Y ), δ′, λ′) hatványautomatáját is. A δ′ átmenetfügg-vényt és a λ′ kimenetfüggvényt minden A′ ∈ P (A) és x ∈ X esetén a

(1.16) δ′(A′, x) = ∪a∈A′δ(a, x), λ′(A′, x) = ∪a∈A′λ(a, x)

összefüggésekkel adjuk meg. Sokszor egy nemdeterminisztikus automatát ahatványautomatájával adunk meg, amely teljesen definiált és determinisz-tikus. Ha A iniciális és kezdő állapotainak halmaza A0, akkor P(A)-t isiniciálisnak tekintjük, mégpedig A0 kezdő állapottal. A nemdeterminisztikusMoore automata ill. kimenő jel nélküli automata hatványautomatájánakdefinícióját ezek alapján könnyen megadhatjuk. A δ′ és λ′ függvények értel-mezését, ha nem mondunk mást, akkor a következő módon terjesztjük ki aP (A) × X∗ halmaz azon részhalmazára, ahol ez lehetséges: Legyen mindena ∈ A állapotra

(1.17) δ′(a, e) = a, λ′(a, e) = e,

ahol e az üres szó. Tetszőleges a ∈ A, x ∈ X és p ∈ X∗ esetén pedig

(1.18) δ′(a, px) = ∪b∈δ′(a,p)δ′(b, x), λ′(a, px) = ∪b∈δ′(a,p)λ′(b, x).

Végül, ha A′ ∈ P (A) és p ∈ X∗, akkor legyen

(1.19) δ′(A′, p) = ∪a∈A′δ′(a, p), λ′(A′, p) = ∪a∈A′λ′(a, p).

Nem nehéz belátni, hogy determinisztikus esetben ez a kiterjesztés azt mu-tatja meg, hogy egy p bemenő szó hatására, ha ezt elfogadja, valamely aállapotból melyik állapotba megy át az automata és ha ad ki jeleket, akkormelyik jelet adja ki utoljára, azaz δ′(a, p) = ap és λ′(a, p) = λ(a, p). Megmu-tatható, hogy ez a kiterjesztés nemdeterminisztikus esetben is ezt jelenti. Haaz A nemdeterminisztikus automata az a ∈ A állapotban van és a p ∈ X∗bemenő szót elfogadja, akkor δ′(a, p) az a állapotból a p szóval elérhető ál-lapotok halmaza és λ(a, p) a p szó hatására az automata által kibocsáthatójelsorozatok utolsó betűinek halmaza.

A δ′ és λ′ függvények értelmezését a P (A)×X∗ szorzathalmaz azon rész-halmazára, ahol ez lehetséges, úgy is ki lehet terjeszteni, amely megmutatja,hogy a bemenő jelsorozatokra hatására az automata állapok milyen sorozata-in mehet át és milyen jelsorozatokat adhat ki. Erre a kiterjesztésre azonbannem lesz szükségünk, ezért ezzel nem foglalkozunk.

19

Page 20: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az A = (A,X, δ) nemdeterminisztikus automata duálisának nevezzük azAd = (A,X, δd) nemdeterminisztikus automatát, ha minden a, b ∈ A, x ∈ Xesetén

(1.20) b ∈ δd(a, x) ⇐⇒ a ∈ δ(b, x).

Megemlítjük, hogy a hatványautomata fogalmát következőképpen általá-nosíthatjuk. Például az A = (A,X, Y, δ, λ) Mealy automata általánosítotthatványautomatájának nevezzük a P(A)′ = (P (A)+, P (X)+, P ′(Y ), δ′, λ′)Mealy automatát, ha P (A) és P (X) az A ill. X hatványhalmaza, P (A)+ =P (A) − ∅ P (X)+ = P (X) − ∅ és P ′(Y ) az Y P (Y ) hatványhalmazánakrészhalmaza, valamint minden A′ ∈ P (A)+ és X ′ ∈ P (X)+ esetén

δ′(A′, X ′) = {δ(a, x); a ∈ A′, x ∈ X ′},

(1.21) λ′(A′, X ′) = {λ(a, x); a ∈ A′, x ∈ X ′}.

Ez alapján más típusú automaták esetén is könnyen megadható ez a fogalom.A teljesség kedvéért megadjuk még a sztochasztikus automata fogalmát

is, bár ebben a munkában sztochasztikus automatákkal nem foglalkozunk.Jelölje [0, 1] a 0 ≤ r ≤ 1 valós számok halmazát. Az A = (A,X, Y, ν)rendszert sztochasztikus automatának nevezzük, ha

ν : A×X × A× Y → [0, 1],

továbbá minden a ∈ A állapotra és x ∈ X bemenő jelre∑b∈A,y∈Y

ν(a, x, b, y) = 1.

Ez azt jelenti, hogy ha az automata az a állapotban van és az x bemenő jeletkapja, akkor ν(a, x, b, y) valószínűséggel megy át a b állapotba és adja ki azy jelet.

Az A sztochasztikus automatát iniciálisnak nevezzük és ebben az eset-ben az A = (A, κ,X, Y, ν) jelölést használjuk, ha adott egy κ : A → [0, 1]függvény, amelyre ∑

b∈A

κ(b) = 1.

Ezt úgy értelmezzük, hogy egy b ∈ A állapot κ(b) valószínűséggel lesz kezdőállapota az automatának. Ha minden a, b ∈ A, x ∈ X és y ∈ Y esetén

ν(a, x, b, y) =

(∑y′∈Y

ν(a, x, b, y′)

)(∑b′∈A

ν(a, x, b′, y)

),

20

Page 21: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

akkor A-t sztochasztikus Mealy automatának hívjuk. Az A sztochasztikusMealy automatát sztochasztikus Moore automatának mondjuk, ha bármelya ∈ A állapotra, x1, x2 ∈ X bemenő jelekre és y ∈ Y kimenő jelre∑

b′∈A

ν(a, x1, b′, y) =

∑b′∈A

ν(a, x2, b′, y).

Az A = (A,X, ν) rendszert sztochasztikus kimenő jel nélküli automatánaknevezzük, ha

ν : A×X × A→ [0, 1]

és minden a ∈ A, x ∈ X párra∑b∈A

ν(a, x, b) = 1.

Megemlítjük még a lineáris automata fogalmát, bár ezekkel az automa-tákkal sem foglalkozunk. Az A = (A,X, Y, δ, λ) Mealy automatát lineárisMealy automatának nevezzük, ha A, X, Y egy T test feletti vektorterek, a δés λ függvények pedig lineáris leképezések. Hasonlóan beszélhetünk lineárisMoore automatáról vagy lineáris kimenő jel nélküli automatáról is.

Megjegyezzük, hogy a Mealy automatákhoz hasonlóan a különböző típusúautomatákat, ha nem vezet félreértésre, sokszor röviden csak automatáknaknevezzük.

2. Generátorrendszer, részautomataAzt mondjuk, hogy egy B ⊆ A halmaz az A = (A,X, δ) kimenő jel nél-küli automata generátorrendszere, ha minden a ∈ A állapothoz van olyanb ∈ B és p ∈ X∗, hogy a = bp. Mealy [Moore] automata generátorrendsze-rén vetületének generátorrendszerét értjük. A definíció szerint az automataállapothalmaza mindig generátorrendszere az automatának. A B generá-torrendszert A minimális generátorrendszerének nevezzük, ha A-nak nincsolyan generátorrendszere, amely valódi részhalmaza B-nek. Az A automatátminimálisan (végesen) generálhatónak nevezzük, ha van minimális (véges)generátorrendszere és ciklikusnak ha létezik egyelemű generátorrendszere, rö-viden generátoreleme. Egy iniciális automatát akkor mondunk iniciálisanösszefüggőnek ha valamely kezdő állapota generátoreleme az automatának.Ez azt jelenti, hogy minden iniciálisan összefüggő automata ciklikus. Egyautomatát erősen összefüggőnek nevezünk, ha minden állapota generátorele-me az automatának, azaz, ha átmenetgráfja erősen összefüggő. Azt mond-juk, hogy az A = (A,X, δ) automata irányítottan összefüggő, ha bármely

21

Page 22: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a, b ∈ A állapotpárhoz van olyan p ∈ X∗, hogy ap = b vagy bp = a, azaz haaz automata átmenetgráfja összefüggő. Minden ciklikus, s így minden erősenösszefüggő automata irányítottan összefüggő.

2.1 Tétel Bármely automata minden minimális generátorrendszere egyenlőszámosságú.

Bizonyítás. Először megjegyezzük, hogy ha G az A = (A,X, δ) automataminimális generátorrendszere, akkor bármely a ∈ A és p ∈ X∗ esetén a, ap ∈G akkor és csak akkor, ha ap = a. Ha ugyanis ap 6= a teljesülne, akkor G−{ap} is generátorendszer lenne. Legyenek G1 és G2 az A automata minimálisgenerátorrendszerei. Minthogy G1 az A automata generátorrendszere, ezértminden b ∈ G2 állapothoz van olyan a ∈ G1 állapot és olyan p ∈ X∗ bemenőszó, amelyekre ap = b. Jelölje G12 ezeknek az a állapotoknak a halmazát.Mivel G2 az A automata generátorrendszere, így G12 is az. De G12 ⊆ G1 ésG1 minimális generátorrendszer, ezért G12 = G1. Ez azt jelenti, hogy mindena ∈ G1 állapothoz van olyan p ∈ X∗, amelyre ap ∈ G2. A G1 és G2 szerepétfelcserélve kapjuk, hogy minden a ∈ G1 állapothoz van olyan b ∈ G2 állapotés q ∈ X∗ bemenő szó, hogy bq = a, és minden G2-beli b-hez van olyanq ∈ X∗, hogy bq ∈ G1. Definiáljuk a ϕ ⊆ G1×G2 megfeleltetést a következőmódon:

(a, b) ∈ ϕ ⇐⇒ (∃p ∈ X∗)(ap = b).

Megmutatjuk, hogy ϕ G1 bijektív leképezése G2-re, ami azt jelenti, hogy|G1| = |G2|. Ha az a ∈ G1 és b, b′ ∈ G2 állapotokra (a, b), (a, b′) ∈ ϕ, akkorvannak olyan p, p′ ∈ X∗ bemenő szavak, hogy ap = b és ap′ = b′. Az előzőmeggondolások szerint valamilyen q ∈ X∗ esetén apq = bq ∈ G1, s így a = bq.Amiből b′ = ap′ = bqp′. De G2 is minimális generátorrendszer, ezért b′ = b.Ha az a, a′ ∈ G1 és b ∈ G2 állapotokra (a, b), (a′, b) ∈ ϕ, akkor vannak olyanp, p′ ∈ X∗ bemenő szavak, amelyekre ap = a′p′ = b. Van olyan q ∈ X∗, hogybq ∈ G1, azaz

apq = a′p′q = bq ∈ G1.

Mivel G1 minimális generátorrendszer, ezért a = bq = a′. Így ϕ valóban G1

bijektív leképezése G2-re. �Felhívjuk a figyelmet arra, hogy a tétel csak azt állítja, hogy ha egy

automatának vannak minimális generátorrendszerei, akkor azok mind egyen-lő számosságúak. A következő egyszerű példa mutatja, hogy nem mindenautomatának van minimális generátorrendszere. Jelölje Z az egész számokhalmazát. Legyen X = {x} és minden n ∈ Z egész számra δ(n, x) = n + 1.Könnyen belátható, hogy a Z = (Z,X, δ) automatának nincs minimális gene-rátorrendszere. Ha ugyanis B(⊆ Z) a Z automata egy generátorrendszere ésn ∈ B, akkor van olyan m < n(m ∈ Z), hogy m ∈ B. De mxn−m = n, ezért

22

Page 23: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

B − {n} is generátorrendszere Z-nek. Egy automatát minimálisan generál-hatónak nevezzük, ha van minimális generátorrrendszere. Minden A-végesautomata minimálisan generálható.

A következő meggondolásokból egy eljárás kapható minimálisan gene-rálható automaták, például A-véges automaták minimális generátorrendsze-reinek szerkesztésére. Tetszőleges A = (A,X, δ) automatára definiáljuk aκA ⊆ A× A relációt az alábbi módon:

(2.1) (a, b) ∈ κA ⇐⇒ (∃p, q ∈ X∗)(b = ap, a = bq).

A κA relációt a kölcsönös elérhetőség relációjának nevezzük. Könnyen be-látható, hogy κA ekvivalencia az A állapothalmazon. Jelölje κA[a] az a ∈ Aállapotot tartalmazó κA-osztályt. Vezessük be az

A/κA = {κA[a]; a ∈ A}

faktorhalmazon a ≤ részbenrendezést a következőképpen:

(2.2) κA[a] ≤ κA[b] ⇐⇒ (∃p ∈ X∗)(ap = b).

Nem nehéz belátni, hogy ez valóban a A/κA halmaz egy részbenrendezése.Gondoljuk meg, hogy az A automatának akkor és csak akkor van minimálisgenerátorrendszere, ha a (2.2) részbenrendezés mellett A/κA bármely κA[a]eleméhez A/κA-nak van olyan κA[b] minimális eleme, hogy κA[b] ≤ κA[a].Nevezzük el ezeket a minimális elemeket minimális κA-osztályoknak. Tegyükfel, hogy A-nak van minimális generátorrendszere. A minimális κA-osztályoksegítségével meg is adhatjuk A minimális generátorrendszereit. Az A auto-mata B generátorrendszere akkor és csak akkor minimális, ha minden mini-mális κA-osztálynak pontosan egy elemét tartalmazza, s más elemeket nemtartalmaz.

Az A′ = (A′, X, Y ′, δ′, λ′) automatát az A = (A,X, Y, δ, λ) automatarészautomatájának, nevezzük, ha A′ ⊆ A, Y ′ ⊆ Y , a δ′ és λ′ függvények pediga δ ill. λ függvények szűkítései a A′×X halmazra, Y ′ pedig λ′ értékkészlete.Ha nem vezet ellentmondásra, akkor δ′-t és λ′-t is egyszerűen δ-val ill. λ-val jelöljük. Hasonlóan beszélhetünk Moore és kimenő jel nélküli automatákrészautomatáiról is. Az A automata egy fontos részautomatája az A1 =(A1, X, Y1, δ1, λ1) automata, ahol A1 = Rδ Ezt az automatát az A automataértékkészletének nevezzük.

Egy A = (A,X, δ) automata részautomatáinak Sub(A) halmaza a ∪ és ∩műveletekre teljes háló, ahol A bármely A1 = (A1, X, δ) és A2 = (A2, X, δ)részautomatája esetén legyen

(2.3) A1 ∪A2 = (A1 ∪ A2, X, δ) A1 ∩A2 = (A1 ∩ A2, X, δ).

23

Page 24: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A SubA háló legkisebb eleme az üres automata és a legnagyobb eleme pedigA. A Sub(A) hálót az A részautomatahálójának nevezzük. Ha Sub(A)-trészbenrendezett halmazként adjuk meg, akkor a ⊆ részbenrendezést az

(2.4) A1 ⊆ A2 ⇐⇒ A1 ⊆ A2 (A1,A2 ∈ Sub(A))

feltétellel definiáljuk.Az Ai = (Ai, X, Y, δi, λi) (i ∈ I) közös bemenő és kimenő halmazú

automaták egyesítésének nevezzük az A = (A,X, Y, δ, λ) automatát, haA = ∪i∈IAi, továbbá minden ai ∈ Ai állapotra és x ∈ X bemenő jelre

(2.5) δ(ai, x) = δi(ai, x) és λ(ai, x) = λi(ai, x)

teljesül. Ebben az esetben A-ra a ∪i∈IAi jelölést is használjuk. Azt ismondjuk, hogy A lefedhető az {Ai; i ∈ I} automatákkal. Az A = ∪i∈IAi

lefedést minimálisnak mondjuk, ha nincs olyan I ′ ⊂ I, amelyre A = ∪i∈I′Ai

teljesülne.Ha az {Ai; i ∈ I} halmazrendszer páronként diszjunkt, akkor az ∪i∈IAi

automata létezik, amelyet az Ai automaták direkt összegének nevezzük, s ráa ⊕

i∈I

Ai

jelölést használjuk. Az Ai automatákat a direkt összeg tagjainak mondjuk.Minden automata önmagának egytagú direkt összege.

Az A = (A,X, δ) automata c ∈ A állapotát az automata csapdájánaknevezzük, ha minden x ∈ X bemenő jelre teljesül a δ(c, x) = c összefüggés.Ez nyilvánvalóan ekvivalens azzal, hogy az automatának van olyan részauto-matája, amelynek egyetlen állapota van. Az egyállapotú részautomatákat iscsapdának mondjuk. Jelölje Cs(A) az A automata csapdáinak halmazát. Haaz A automatának van csapdája, akkor csapdás automatának, ha n csapdájavan, akkor n-csapdás automatának, ha pedig minden állapota csapda, azazCs(A) = A, akkor diszkrét automatának hívjuk. A Cs(A) = (Cs(A), X, δ)automata A diszkrét részautomatája. A Cs(A) automatát a A diszkrét ré-szének is nevezzük. Egy A = (A,X, δ) automata c csapdáját az A adjungáltcsapdájának mondjuk, ha A′ = (A−{c}, X, δ) az A-nak részautomatája. Pél-dául az ∅ egy parciális automata hatványautomatájának adjungált csapdája.Bármely A = (A,X, δ) automata tekinthető olyan B = (B,X, δ′) automa-ta részautomatájának, amely diszkrét részének állapothalmaza nemüres éstetszőleges számosságú. Vegyünk ugyanis tetszőleges olyan D = (D,X, δ′′)diszkrét automatát, amelyre A ∩D = ∅, és legyen B a A és a D automatadirekt összege. Ebben az esetben azt mondjuk, hogy A-hoz csapdákat adjun-gáltunk. Az A = (A,X, δ) egycsapdás automatát, amelyben c ∈ A a csapda,

24

Page 25: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

erősen csapda-összefüggőnek hívjuk, ha bármely a ∈ A − {c} és b ∈ A ál-lapotpárhoz van olyan p ∈ X∗, hogy ap = b. Csak megemlítjük, hogy az1. fejezet elején, amikor arról beszéltünk, hogy egy parciális automata ho-gyan egészíthető ki teljesen definiálttá, az egyik esetben az automatához egycsapdát definiáltunk.

Legyen B ⊆ A és jelölje [B] azoknak az a ∈ A állapotoknak a halmazát,amelyekhez van olyan b ∈ B és p ∈ X∗, hogy a = bp. Ha B = {b}, akkor[B] helyett egyszerűen [b]-t írunk. A [B] = ([B], X, Y ′, δ, λ) automatát az Aautomata B által generált részautomatájának nevezzük. Ha B = {b}, akkorazt mondjuk, hogy [b] az A b által generált ciklikus részautomatája. Bár-mely A automatára A = ∪a∈A[a], azaz minden automata lefedhető ciklikusautomatákkal.

A definíciók alapján azonnal belátható az alábbi egyszerű tétel.

2.2 Tétel Egy automata akkor és csak akkor erősen összefüggő, ha nincsvalódi részautomatája. Egycsapdás automata akkor és csak akkor erősencsapda-összefüggő, ha nincs legalább kétállapotú valódi részautomatája.

Az A = (A,X, δ) automata a ∈ A állapotát az automata reverzibilisállapotának nevezzük, ha bármely p ∈ X∗ bemenő szóhoz van olyan q ∈ X∗bemenő szó, amelyekre apq = a teljesül. Jelölje A reverzibilis állapotainakhalmazát Rev(A). Az automatát reverzibilisnek mondjuk, ha Rev(A) = A.

2.3 Lemma A Rev(A) = (Rev(A), X, δ) rendszer az A = (A,X, δ) auto-mata reverzibilis részautomatája.

Bizonyítás. Az üres automata nyilvánvalóan reverzibilis. Tegyük fel, hogyRev(A) 6= ∅. Ha a ∈ Rev(A) és x ∈ X, akkor minden p ∈ X∗ bemenő szóhozvan olyan q ∈ X∗ bemenő szó, hogy a(xp)q = a. Ebből következik, hogy(ax)p(qx) = ax, azaz δ(a, x) = ax ∈ Rev(A). Ez azt jelenti, hogy Rev(A)részautomatája A-nak. �A Rev(A)-t automatát az A reverzibilis részének nevezzük. (A Rev(A) = ∅esetben az A reverzibilis része az üres automata.)

2.4 Tétel Egy automata akkor és csak akkor reverzibilis, ha erősen össze-függő automaták direkt összege.

A tétel bizonyítását, annak egyszerűsége miatt, elhagyjuk. Minden rever-zibilis automata minimálisan generálható. Reverzibilis automata minimálisgenerátorrendszerei az állapothalmazának azok a részhalmazai, amelyek azautomata minden erősen összefüggő részautomatájának pontosan egy álla-potát tartalmazzák.

25

Page 26: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A későbbiekben szükségünk lesz a részautomata fogalom következő álta-lánosítására is. Az A′ = (A′, X ′, Y ′, δ′, λ′) automatát az A = (A,X, Y, δ, λ)automata AX-részautomatájának nevezzük, ha A′ ⊆ A, X ′ ⊆ X, Y ′ ⊆ Y , aδ′ és λ′ függvények pedig a δ ill. λ függvények szűkítései a A′×X ′ halmazra,Y ′ pedig λ′ értékkészlete. Ha nem vezet ellentmondásra, akkor δ′-t és λ′-tis δ-val ill. λ-val jelöljük. A Moore és a kimenő jel nélküli automaták AX-részautomatáit hasonlóan definiálhatjuk. Az A′ valódi AX-részautomatájaA-nak, ha az A′ és X ′ halmazok közül legalább az egyik valódi részhalma-za A megfelelő halmazának. A definíció alapján nyilvánvaló, hogy az üresautomata minden automatának AX-részautomatája.

Ha X ′ = X, akkor az A′ automata az A automata már definiált részauto-matája. Ha pedig A′ = A, akkor A′-t az A automata X-részautomatájánakmondjuk. Ha X ′ 6= ∅ az X bemenő halmaz egy nemüres részhalmaza, akkor(A,X ′, Y ′, δ, λ) az A automata egy X-részautomatája. Ha egy automata be-menő jelei közül töröljük a felesleges bemenő jeleket, akkor az automata egyredukált bemenetű X-részautomatájához jutunk. Ezt az X-részautomatát azautomatához tartozó redukált bemenetű automatának nevezzük.

Feladatok2.1. A B ⊆ A halmazt az A = (A,X, Y, δ, λ) Mealy automata kimeneti generá-torrendszerének nevezzük, ha minden y ∈ Y kimenő jelhez van olyan b ∈ B ésp ∈ X+, hogy y a λ(b, p) kimenő szó utolsó betűje. Ha B ⊆ A halmaz A egygenerátorrendszere, akkor B kimeneti generátorrendszere is A-nak.2.2 Ha B egy [minimális] kimeneti generátorrendszere az A = (A,X, Y, δ, λ) Mealyautomatának, akkor A-nak van olyan részautomatája, amelynek B egy [minimális]generátorrendszere.2.3. A 2.1. Tétel igaz-e Mealy automaták minimális kimeneti generátorrendszere-ire?2.4. Igaz-e az, hogy Mealy automata minimális generátorrendszere minimális ki-meneti generátorrendszere is az automatának?

3. Homomorfizmus, izomorfizmusA gyakorlatban sokszor mondjuk azt, hogy bizonyos automaták ugyanúgyvagy hasonlóan működnek. Ebben a fejezetben ezeknek a hétköznapi fogal-maknak algebrai megfelelőivel foglalkozunk.

Legyen A = (A,X, δ) tetszőleges kimenő jel nélküli automata. Definiáljukminden x ∈ X bemenő jelhez a δx : A→ A leképezést az alábbi módon:

(3.1) ∀a ∈ A : δx(a) = δ(a, x).

26

Page 27: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az A automata tekinthető az (A,F ) unér algebrának is, ahol az egyváltozósműveletek F halmaza egyenlő a (3.1) transzformációk halmazával.

Adjuk meg az A = (A,X, δ) és A′ = (A′, X, δ′) közös bemenő halma-zú, kimenő jel nélküli automatákat a (3.1) műveletek segítségével (A,F ) ill.(A′, F ′) unér algebraként. Legyen α az (A,F ) unér algebra homomorf le-képezése az (A′, F ′) unér algebrába, azaz minden a ∈ A és x ∈ X eseténteljesüljön a

(3.2) α(δx(a)) = δ′x(α(a))

feltétel. A (3.2) feltétel minden a ∈ A állapotra és x ∈ X bemenő jelre az

(3.3) α(δ(a, x)) = δ′(α(a), x)

ekvivalens alakba is írható. Ez az átírás módot ad az algebrai struktúrákelméletében alapvető fontosságú homomorfia és izomorfia fogalmak automa-tákra való megadására. Így lehetővé válik, hogy automatákat algebrai mód-szerekkel vizsgáljunk. Bár nem hangsúlyoztuk, de olyan fontos algebrai fogal-makat, mint generátorrendszer vagy részalgebra, már az előző fejezetben isdefiniáltunk automatákra. Például az A = (A,X, δ) automata részautomatáimegegyeznek az (A,F ) unér algebra részalgebráival.

Ezek után megadjuk az általunk vizsgált automata típusokra a homo-morfizmus és az izomorfizmus fogalmát. Legyenek A = (A,X, Y, δ, λ) ésA′ = (A′, X, Y, δ′, λ′) tetszőleges Mealy automaták. Azt mondjuk, hogy azα : A → A′ leképezés az A automatának az A′ automatába való homomor-fizmusa vagy homomorf leképezése, ha minden a ∈ A, x ∈ X párra

(3.4) α(δ(a, x)) = δ′(α(a), x),

(3.5) λ(a, x) = λ′(α(a), x).

Ebben az esetben azt is mondjuk, hogy A homomorfan beágyazható az A′

automatába. Ha még α szürjektív is, akkor azt mondjuk, hogy az A′ automataaz A automata homomorf képe, aminek a jelölése: A ∼ A′. Két automatahasonló működése az automataelméletben azt jelenti, hogy az egyik automatahomomorf képe a másik automatának.

Ha α injektív, akkor a α-t A-nak A′-be való izomorfizmusának vagy izo-morf leképezésének nevezzük. Ezt úgy is mondjuk, hogy A izomorfan be-ágyazható A′-be. Ha emellett még α szürjektív, akkor azt mondjuk, hogy azA′ automata az A automata izomorf képe, aminek a jelölése: A ' A′. Az

27

Page 28: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

izomorf automaták felelnek meg az automataelméletben annak a kijelentés-nek, hogy az automaták ugyanúgy működnek. Ha egy homomorfizmus nemizomorfizmus, akkor valódi homomorfizmusnak nevezzük.

A ∼ homomorfia reláció reflexív és tranzitív, az ' izomorfia reláció pedigekvivalencia. Az automaták algebrai elméletében is használjuk az algebrá-ból ismert izomorfiaelvet, azaz izomorf automatákat algebrai szempontbólnem tekintünk különbözőknek, hiszen lényegében azonos viselkedésűek, csaka hozzájuk tartozó halmazok elemeinek jelölésében térnek el egymástól. Bi-zonyos vizsgálatokban azonban, így például automata izomorf részautomatáiesetében, az izomorfiaelvet nem célszerű alkalmazni.

Automaták valamely homomorfizmusát iniciális homomorfizmusnak ne-vezzük, ha kezdő állapot homomorf képe is kezdő állapot.

A B = (B,X ′, Y ′, δ′, λ′) automata homomorfan reprezentálható az A =(A,X, Y, δ, λ) automatával, ha B az A automata egy részautomatájának ho-momorf képe. Úgy is mondjuk, hogy A homomorfan reprezentálja B-t vagyA a B egy homomorf reprezentációja. Ha B az A automata egy részauto-matájával izomorf, akkor azt mondjuk, hogy B izomorfan reprezentálható A-val vagy A izomorfan reprezentálja B-t vagy A az B egy izomorf reprezen-tációja. Ez pontosan azt jelenti, hogy B izomorfan beágyazható A-ba.

Ha A homomorfan [izomorfan] reprezentálható A′-vel és A′ homomorfan[izomorfan] reprezentálható A′′-vel, akkor A homomorfan [izomorfan] repre-zentálható A′′-vel, azaz a homomorf [izomorf] reprezentáció tranzitív.

Szükségünk lesz a homomorfizmus ill. izomorfizmus fogalmának követke-ző általánosítására. Legyenek A = (A,X, Y, δ, λ) és A′ = (A′, X ′, Y ′, δ′, λ′)tetszőleges Mealy automaták. Azt mondjuk, hogy az α : A → A′, β :X → X ′ és γ : Y → Y ′ leképezésekből álló (α, β, γ) leképezésrendszer az Aautomatának az A′ automatába való általános homomorfizmusa, ha mindena ∈ A, x ∈ X párra teljesülnek a

(3.6) α(δ(a, x)) = δ′(α(a), β(x)),

(3.7) γ(λ(a, x)) = λ′(α(a), β(x))

feltételek. Ha az α és a β leképezések szürjektívek, akkor a kimenetfüggvé-nyek szürjektivitása miatt szükségképpen γ is szürjektiv. Ekkor azt mondjuk,hogy az A′ automata az A automata általános homomorf képe .

Ha az α, β és γ leképezések injektívek, akkor az (α, β, γ) leképezésrend-szert az A-nak A′-be való általános izomorfizmusának nevezzük. Ha mégemellett α és β szürjektív, s így γ is szürjektív, akkor azt mondjuk, hogy azA′ automata az A automata általános izomorf képe.

28

Page 29: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha az A és A′ automatákra X = X ′ és Y = Y ′ teljesül, továbbá a βés γ leképezések az X ill. Y halmazok identikus leképezései, akkor a β és γleképezésektől eltekintünk, azaz az (α, β, γ) általános homomorfizmus meg-egyezik a (3.6) és (3.7) összefüggésekkel definiált α homomorfizmussal. Ekkorazt is mondják, hogy α A-homomorfizmus vagy állapot-homomorfizmus, miazonban ezt az elnevezést nem használjuk. Könnyen definiálható a többi spe-ciális homomorfizmust is, mint például az X-homomorfizmus vagy bemenet-homomorfizmus, az AY-izomorfizmus vagy állapotkimenet-izomorfizmus.Mivel a kimenetfüggvényeket szürjektíveknek tekintjük, ezért a kimenet-

homomorfizmusok természetesen mindig szürjektívek.Legyen A = (A,X, Y, δ, λ) tetszőleges Mealy automata. Ha α : A → A′,

β : X → X ′ és γ : Y → Y ′ bijektív leképezések, akkor definiálhatjuk az A′ =(A′, X ′, Y ′, δ′, λ′) automata δ′ átmenetfüggvényét és λ′ kimenetfüggvényétúgy, hogy minden a ∈ A és x ∈ X esetén

δ′(α(a), β(x)) = α(δ(a, x)), λ′(α(a), β(x)) = γ(λ(a, x))

teljesüljenek. Ez azt jelenti, hogy (α, β, γ) az A = (A,X, Y, δ, λ) automataáltalános izomorfizmusa az A′ = (A,X ′, Y ′, δ′, λ′) automatára. Az A′ auto-mata működése csak abban különbözik az A automata működésétől, hogyaz állapotokat, a bemenő és a kimenő jeleket másképpen jelöltük. Vagyisekvivalens halmazokból algebrai szempontból ugyanazokat az automatákatszerkeszthetjük meg. Így az (X, Y ) feletti automaták halmazát azonosíthat-juk az (X ′, Y ′) feletti automaták halmazával. Ezt a későbbiekben sokszormeg is tesszük. Például egy n állapotú automata állapothalmaza sokszor az[n] halmaz.

3.1 Tétel Legyenek A = (A,X, Y, δ, λ) és A′ = (A′, X ′, Y ′, δ′, λ′) tetsző-leges Mealy automaták, valamint α A-nak A′-re, β X-nek X ′-re és γ Y -nak Y ′-re való leképezése. Az (α, β, γ) hármas az A automatának akkor éscsak akkor általános homomorfizmusa az A′ automatára, ha vannak olyanA = (A,X, Y ′, δ, λ) és A = (A′, X, Y ′, δ, λ) Mealy automaták, hogy γ az Akimenet-homomorfizmusa A-ra, α az A homomorfizmusa A-re, és β az Abemenet-homomorfizmusa A′-re.

Bizonyítás. Legyen (α, β, γ) az A = (A,X, Y, δ, λ) Mealy automata ál-talános homomorf leképezése az A′ = (A′, X ′, Y ′, δ′, λ′) Mealy automatára.Definiáljuk a λ : A × X → Y ′, a δ : A′ × X → A′ és a λ : A′ × X → Y ′

leképezéseket a következő módon. Minden a ∈ A, a′ ∈ A′ és x ∈ X elemrelegyen

λ(a, x) = γ(λ(a, x)), δ(a′, x) = δ′(a′, β(x)), λ(a′, x) = λ′(a′, β(x)).

29

Page 30: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Könnyen belátható, hogy γ az A automata kimenet-homomorfizmusa azA = (A,X, Y ′, δ, λ) automatára, α az A automata homomorfizmusa az A =(A′, X, Y ′, δ, λ) automatára, és β az A automata bemenet-homomorfizmusaaz A′ automatára.

Megfordítva, legyen γ az A automata kimenet-homomorfizmusa az Aautomatára, α az A automata homomorfizmusa az A automatára és β azA automata bemenet-homomorfizmusa az A′ automatára. Akkor bármelya ∈ A állapotra és x ∈ X bemenő jelre

α(δ(a, x)) = δ(α(a), x) = δ′(α(a), β(x)),

γ(λ(a, x)) = λ(a, x) = λ(α(a), x) = λ′(α(a), β(x))

teljesül. 3.4 és 3.5 szerint (α, β, γ) az A automata általános homomorf leké-pezése az A′ automatára. �

Legyen (α, β, γ) az A automata általános homomorf leképezése az A′

automatába és (α′, β′, γ′) az A′ automata általános homomorf leképezése azA′′, akkor

(α, β, γ) ◦ (α′, β′, γ′) = (α ◦ α′, β ◦ β′, γ ◦ γ′)

leképezés A általános homomorf leképezése A′′-be.Így egy (α, β, γ) általános homomorf leképezés a 3.1. Tételben szereplő

jelölésekkel

(α, β, γ) = (ιA′ , β, ιY ′) ◦ (α, ιX , ιY ′) ◦ (ιA, ιX , γ)

vagy röviden(α, β, γ) = β ◦ α ◦ γ

alakban is írható, amit a 3. ábrán egy un. kommutatív diagrammal szemlél-tetünk.

A kimenő jel nélküli automaták általános homomorfizmusai abban kü-lönböznek a Mealy automaták általános homomorfizmusaitól, hogy a γ le-képezés nem szerepel a leképezésrendszerben. Könnyen belátható például,hogy ha (α, β, γ) az A = (A,X, Y, δ, λ) Mealy automata egy általános homo-morfizmusa, akkor (α, β) az A automata Av = (A,X, δ) vetületének egy ál-talános homomorfizmusa. Mealy automata homomorfizmusa vagy bemenet-homomorfizmusa vetületének is ugyanolyan homomorfizmusa. Hasonló állí-tások igazak izomorfizmusokra is.

Megfordítva, legyen (α, β) az A = (A,X, Y, δ, λ) Mealy automata Av ve-tületének általános homomorf leképezése az A′ = (A′, X ′, Y ′, δ′, λ′) Mealyautomata A′v vetületébe. Akkor és csak akkor van olyan γ : Y → Y ′ leképe-zés, amelyre (α, β, γ) az A általános homomorf leképezése A′-be, ha bármely

30

Page 31: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

-

-

?

6

A A

A A′

α

γ β

(α, β, γ)

3. ábra.

a1, a2 ∈ A állapotokra és x1, x2 ∈ X bemenő jelekre teljesül a

λ(a1, x1) = λ(a2, x2) =⇒ λ′(α(a1), β(x1)) = λ′(α(a2), β(x2)),

implikáció.A 3.1. Tétel kimenő jel nélküli automatákra azt jelenti, hogy (α, β) az

A = (A,X, δ) automatának akkor és csak akkor általános homomorf leképe-zése az A′ = (A′, X ′, δ′) automatára, ha van olyan A = (A′, X, δ) automata,hogy α az A homomorfizmusa A-re és β az A bemenet-homomorfizmusaA′-re.

Legyenek A = (A,X, Y, δ, µ) és A′ = (A′, X ′, Y ′, δ′, µ′) tetszőleges Mooreautomaták. Azt mondjuk, hogy az α : A → A′, β : X → X ′ és γ : Y →Y ′ leképezésekből álló (α, β, γ) leképezésrendszer az A automatának az A′

automatába való általános homomorfizmusa, ha minden a ∈ A, x ∈ X párra(3.6), (3.7) helyett pedig minden a ∈ A állapotra

(3.8) γ(µ(a)) = µ′(α(a))

feltétel teljesül. Ezek alapján természetes módon definiálhatók a Mealy au-tomatákra már megismert speciális homomorfia és izomorfia fogalmak is.

3.2 Tétel Moore automata bármely általános homomorfizmusa a hozzá tar-tozó Mealy automata egy általános homomomorfizmusa.

Bizonyítás. Legyen (α, β, γ) az A = (A,X, Y, δ, µ) Moore automata álta-lános homomorf leképezése az A′ = (A′, X ′, Y ′, δ′, µ′) Moore automatába.Definiáljuk az A és A′ Moore automaták λ ill. λ′ kimenetfüggvényeit (1.2)szerint. Akkor bármely a ∈ A és x ∈ X párra

γ(λ(a, x)) = γ(µ(δ(a, x))) = µ′(α(δ(a, x))) =

31

Page 32: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

= µ′(δ′(α(a), β(x))) = λ′(α(a), β(x))

teljesül. Ebből (3.6) és (3.7) alapján azonnal adódik az állítás. �A bizonyításból látható, hogy Moore automata bármilyen fajta homo-

morfizmusa a hozzá tartozó Mealy automata ugyanolyan fajta homomomor-fizmusa.

Ha egy Mealy automata nem teljesíti az (1.1) Moore kritériumot, ak-kor egyetlen homomorf képe sem teljesíti azt. A Moore kritériumot teljesítőMealy automaták izomorf képei is teljesítik a Moore kritériumot. Ez azon-ban nem igaz általában a homomorf képekre. A (3.4) és (3.5) egyenlőségekteljesülését ellenőrizve láthatjuk, hogy az

A′ 1 2 3x1 (2, y1) (1, y1) (1, y1)x2 (2, y2) (3, y1) (2, y2)

automata az

A a b c dx1 (b, y1) (a, y1) (d, y1) (a, y1)x2 (c, y2) (d, y1) (d, y1) (c, y2)

automatának homomorf képe, mégpedig az

α(a) = 1, α(b) = α(c) = 2, α(d) = 3

összefüggésekkel definiált α leképezés A-nak A′-re való homomorfizmusa.Észrevehetjük azt is, hogy A eleget tesz az (1.1) Moore kritériumnak, A′

viszont nem.Ha az A′ = (A′, X, Y ′, δ′, λ′) Mealy automata az A = (A,X, Y, δ, µ)

Moore automatához tartozó Aλ Mealy automata homomorf képe, akkor aztmondjuk, hogy az A′ Mealy automata az A Moore automata homomorf képe.Megmutatjuk, hogy minden Mealy automatához van olyan Moore automata,amelynek a Mealy automata homomorf képe, azaz hasonlóan működik, mintaz adott Mealy automata.

Legyen A = (A,X, Y, δ, λ) tetszőleges Mealy automata és AY = (A ×Y,X, δY ) az A automata (1.3)-ban definiált váza. Az AY kimenő jel nélküliautomatát lássuk el az Y kimenő halmazzal és azzal a λY kimenetfüggvénnyel,amelyre

(3.9) λY ((a, y), x) = λ(a, x) (a ∈ A, y ∈ Y, x ∈ X)

teljesül. Jelölje az így kapott Mealy automatát AλY . LegyenM(A) az AλY

Mealy automata azon M = (M,X, Y, δY , λY ) részautomatáinak halmaza,

32

Page 33: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amelyekre minden a ∈ A állapot-hoz létezik y ∈ Y , amelyre (a, y) ∈ M . Adefinícióból látható, hogy AλY ∈M(A).

3.3 Tétel Bármely A Mealy automatára minden B ∈ M(A) teljesíti aMoore kritériumot. Az A Mealy automata akkor és csak akkor homomorfképe a B Moore automatának, ha B-nek vanM(A)-beli homomorf képe.

Bizonyítás. Először megmutatjuk, hogy bármely M ∈ M(A) is teljesíti aMoore kritériumot. Legyenek (a1, y1), (a2, y2) ∈M és

δY ((a1, y1), x1) = δY ((a2, y2), x2).

Akkor (1.3) szerint

(δ(a1, x1), λ(a1, x1)) = (δ(a2, x2), λ(a2, x2)),

azazλY ((a1, y1), x1) = λ(a1, x1) = λ(a2, x2) = λY ((a2, y2), x2).

Ez (1.1) szerint azt jelenti, hogy M teljesíti a Moore kritériumot.Nem nehéz megmutatni, hogy a ϕ(a, y) = a ((a, y) ∈ M) leképezés M

homomorf leképezése az A automatára.Legyen B = (B,X, Y, δB, µB) (µB 6= ιB) egy Moore automata és λB =

µBδB a B kimenetfüggvénye. Ha B-nek van M(A)-beli homomorf képe,akkor az előzőek szerint A a B automata homomorf képe.

Megfordítva, tegyük fel, hogy ϕ a BλB = (B,X, Y, δB, λB) automatánakA-ra való homomorfizmusa. Ha M = {(ϕ(b), µB(b)); b ∈ B}, akkor M =(M,X, Y, δY , λY ) egyM(A)-beli automata. Megmutatjuk, hogy a

ψ(b) = (ϕ(b), µB(b)) (b ∈ B)

megfeleltetés BλB -nak M-re való homomorf leképezése. A ψ megfeleltetésnyilvánvalóan B-nek M -re való leképezése. Legyenek b ∈ B és x ∈ X tetsző-legesek. Akkor

ψ(δB(b, x)) = (ϕ(δB(b, x)), µB(δB(b, x))) = (δ(ϕ(b), x), λB(b, x)) =

= (δ(ϕ(b), x), λ(ϕ(b), x)) = δY ((ϕ(b), µB(b)), x) = δY (ψ(b), x),

λB(b, x) = λ(ϕ(b), x) = λY ((ϕ(b), µB(b)), x) = λY (ψ(b), x),

azaz ψ homomorfizmus. �Az AλY Mealy automata helyett megadhatjuk azt az

AµY = (A× Y,X, Y, δY , µY )

33

Page 34: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Moore automatát, amely µY : A× Y → Y jelfüggvénye teljesíti a

(3.10) µY (a, y) = y (a ∈ A, y ∈ Y, x ∈ X)

feltételt. Nem nehéz belátni ugyanis, hogy a két automata izomorf. Továb-bá bármely A = (A,X, Y, δ, µ) Moore automatához van olyan M(Aλ)-beliautomata, amely izomorf A-val. (Ha M = {(a, µ(a)); a ∈ A}, akkor AY -nakazon részautomatája, amelynek M állapothalmaza, izomorf A-val.)

Megmutatjuk, hogy mindig van olyanM(A)-beli automata, amely min-den M(A)-beli automatának homomorf képe. Használjuk továbbra is azA1 = Rδ jelölést. Ha A = A1, akkor egyetlen ilyen automata van. Ha pedigA 6= A1, akkor ezek az automaták izomorfak.

Ha A 6= A1, akkor adjunk meg egy κ : A−A1 → Y leképezést. Definiáljuktovábbá minden a ∈ A1 állapotra az Ya(⊆ Y ) halmazt a következő módon:

(3.11) λ(b, x) ∈ Ya ⇐⇒ δ(b, x) = a (b ∈ A, x ∈ X).

Legyen M(A) = ∪a∈AMa, ahol Ma = {(a, y); y ∈ Ya}, ha a ∈ A1, ésMa = {(a, κ(a))}, ha a ∈ A−A1. Jelöljön M(A) egyM(A)-beli automatát,amelynek állapothalmaza M(A). A definícióból látható, hogy ha A = A1,akkor egyetlen ilyen M(A) automata van.

3.4 Lemma Ha A 6= A1, akkor az M(A) automaták izomorfak.

Bizonyítás. Tegyük fel, hogy A 6= A1. Legyenek κ1 és κ2 az A − A1

halmaznak Y -ba való leképezései, valamint M1(A) és M2(A) a tétel előtt asegítségükkel definiált M(A) automaták. Nem nehéz megmutatni, hogy a

ϕ(a, y) =

{(a, y), ha y 6= κ1(a),(a, κ2(a)), ha y = κ1(a)

feltétellel definiált ϕ : M1 → M2 leképezés M1(A)-nak M2(A)-ra való izo-morf leképezése. �

3.5 Tétel Az M(A) = (M(A), X, Y, δY , λY ) automata bármelyM(A)-beliautomatának homomorf képe.

Bizonyítás. Legyen a B = (B,X, Y, δY , λY ) tetszőlegesM(A)-beli automa-ta. Legyen minden a ∈ A állapotra Ba = {(a, y); (a, y) ∈ B}. Adjuk meg azM(A) automata M(A) = ∪a∈AMa állapothalmazát úgy, hogy minden a ∈ Aállapotra Ma ⊆ Ba teljesüljön. (Ha a ∈ A1, akkor Ma ⊆ Ba. Ha a ∈ A−A1,akkor válasszuk κ-t úgy, hogy (a, κ(a)) ∈ Ba.) Legyen továbbá ϕ a B halmaztetszőleges olyan leképezése az M(A) halmazra, amely minden Ba halmazt

34

Page 35: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ma-ra képez le és minden c ∈ Ma (a ∈ A) elemre teljesíti a ϕ(c) = c felté-telt. Nem nehéz számolással megmutatható, hogy ϕ a B automata homomorfleképezése az M(A) automatára. �

A 3.3. és a 3.5. Tétel alapján kimondhatjuk a következő tételt.

3.6 Tétel Minden A Mealy automatához létezik olyan Moore automata,amelynek az A Mealy automata homomorf képe. Továbbá azon Moore au-tomatákhoz tartozó Mealy automaták között, amelyeknek A homomorf ké-pe, (izomorfiától eltekintve egyértelműen) megadható olyan Mealy automata,amely a többinek homomorf képe.

A 3.6. Tétel gyakorlatilag azt mondja ki, hogy egy Mealy automatahelyettesíthető egy egyszerűbben működő Moore automatával. Ez azonbannem mindig előnyös, mert a Moore automatának több állapota van, mint aMealy automatának, azaz bonyolultabb szerkezetű.

Legyenek B,X(6= ∅) tetszőleges halmazok. A B és X halmazok felet-ti szabad automatának nevezzük az BX = (B × X∗, X, δ) automatát, aholminden b ∈ B, p ∈ X∗ és x ∈ X esetén

(3.12) δ((b, p), x) = (b, px)

teljesül. Az üres automata nyilvánvalóan szabad automata. Ha a BX auto-matát tetszőleges Y kimenő halmazzal és λ kimenetfüggvénnyel [µ jelfügg-vénnyel] látjuk el, akkor szabad Mealy automatáról [Moore automatáról] be-szélünk. Speciálisan, ha B = {e}, ahol e az üres szó, minden (e, p) állapototazonosítjuk a p szóval, s így a B ×X∗ halmazt az X∗ halmazzal. A BX sza-bad automatára pedig egyszerűen X∗ = (X∗, X, δ) jelölést használjuk, aholp ∈ X∗ és x ∈ X esetén

(3.13) δ(p, x) = px.

Nyilvánvaló, hogy X∗ szabad automata iniciálisan összefüggő.Nemüres szabad automaták átmenet-kimenetgráfjai irányított végtelen

fákból álló erdők.

3.7 Tétel Bármely A automatához van olyan szabad automata, amelynekA homomorf képe.

Bizonyítás. Legyen A = (A,X, δ) tetszőleges kimenő jel nélküli automataés B egy generátorrendszere (például B = A). Megmutatjuk, hogy a ϕ :B × X∗ → A leképezés, amelyet bármely b ∈ B és p ∈ X∗ elemekre aϕ(b, p) = bp összefüggéssel definiálunk, BX = (B × X∗, X, δ′) homomorf

35

Page 36: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

leképezése az A automatára. Mivel B az A automata egy generátorrendszere,ezért ϕ szürjektív. Ha x ∈ X tetszőleges bemenő jel, akkor

ϕ(δ′((b, p), x)) = ϕ(b, px) = bpx = δ(bp, x) = δ(ϕ(b, p), x),

azaz ϕ valóban homomorfizmus. Ha az A automatát az Y kimenő halmazzalés a λ [µ] kimenetfüggvénnyel [jelfüggvénnyel] látjuk el, akkor a BX auto-matát lássuk el azzal a λ′ [µ′] kimenetfüggvénnyel [jelfüggvénnyel], amelyrebármely b ∈ B, p ∈ X∗ és x ∈ X esetén

λ′((b, p), x) = λ(bp, x) [µ′(b, p) = µ(bp)]

teljesül. Tehát ϕ ezekben az esetekben is homomorfizmus. �A 3.7. Tétel bizonyítása alapján nem nehéz belátni, hogy ha egy A =

(A,X, δ) automatára teljesül az

(3.14) ap = bq ⇐⇒ a = b és p = q (a, b ∈ A, p, q ∈ X∗)

feltétel, akkor izomorf egy szabad automatával.Automaták homomorf képei közül adott esetben fontosak lehetnek adott

K osztályba eső automaták, amelyeket az automata K-homomorf képeineknevezünk. Előfordul, hogy léteznek olyan automaták, amelyek az adott au-tomata K-homomorf képei, de nem valódi homomorf képei az adott automa-ta egyetlen K-homomorf képének sem. Az ilyen automatát az adott auto-mata maximális K-homomorf képének nevezzük. Egy automata legnagyobbK-homomorf képének nevezzük az automata egy K-homomorf képét, ha ho-momorf módon leképezhető az adott automata minden K-homomorf képére.

Feladatok3.1. Mealy automata általános homomorf [izomorf] képének váza a Mealy auto-mata vázának általános homomorf [izomorf] képe.3.2 Legyen (α, β) az A = (A,X, δ) automata általános homomorf leképezéseaz A′ = (A′, X ′, δ′) automatára. Ha α bijektív, akkor β az A automata X-homomorfizmusa az A = (A,X ′, δ) automatára és α a A automata homomor-fizmusa az A′ automatára, ahol

δ(a, β(x)) = δ(a, x) (a ∈ A, x ∈ X).

3.3. Legyenek A = (A,X, δ) és A′ = (A′, X ′, δ′) tetszőleges automaták, α azA-nak A′-re, β pedig Az X-nek X ′-re való leképezése. (α, β) az A-nak akkorés csak akkor általános homomorf leképezése A′-re, ha van olyan A = (A′, X, δ)automata, amelyre az α leképezés A homomorfizmusa A-re és a β leképezés pedigA X-homomorfizmusa A′-re.

36

Page 37: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

3.4. Legyen (α, β, γ) az A = (A,X, δ, λ) Mealy automata általános homomorfleképezése az A′ = (A′, X ′, δ′, λ′) automatára. Ha α és γ bijektív, akkor β az Aautomata X-homomorfizmusa az A = (A,X ′, δ, λ) Mealy automatára és (α, γ) aA automata AY-homomorfizmusa az A′ automatára, ahol minden a ∈ A és x ∈ Xpárra

δ(a, β(x)) = δ(a, x) λ(a, β(x)) = δ(a, x).

4. Az automaták kongruenciáiEmlékeztetünk arra, hogy egy A = (A,X, δ) kimenő jel nélküli automatatekinthető egy (A,F ) unér algebrának is, ahol az egyváltozós műveletek Fhalmaza a (3.1) transzformációk halmaza. Így az algebrai struktúrák elmé-letében fontos kongruenciafogalom is átvihető automatákra. Legyen ρ egyekvivalencia az A állapothalmazon. A ρ relációt az A automata kongruen-ciájának nevezzük, ha minden a, b ∈ A állapotpárra és x ∈ X bemenő jelreteljesül az

(4.1) (a, b) ∈ ρ =⇒ (δ(a, x), δ(b, x)) ∈ ρ

implikáció. A ρ kongruenciához tartozó osztályozást az A állapothalmazkompatibilis osztályozásának hívjuk. Mivel (4.1) ekvivalens az

(a, b) ∈ ρ =⇒ (δx(a), δx(b)) ∈ ρ

implikációval, ezért ρ az (A,F ) unér algebra egy kongruenciája. Ezt a kong-ruenciafogalmat általánosítjuk Mealy és Moore automatákra.

Legyen A = (A,X, Y, δ, λ[µ]) tetszőleges Mealy [Moore] automata. Aρ ⊆ A2 ekvivalenciát A kongruenciájának nevezzük, ha bármely a, b ∈ Aállapotpárra és x ∈ X bemenő jelre (4.1) fennáll, továbbá még a

(4.2) (a, b) ∈ ρ =⇒ λ(a, x) = λ(b, x) [µ(a) = µ(b)]

feltétel is teljesül. Ez parciális automata esetén jelentse azt is, hogy δ(a, x)[λ(a, x), µ(a)] akkor és csak akkor van értelmezve, ha δ(b, x) [λ(b, x), µ(b)]is értelmezve van. Szokás ρ-t A-kongruenciának vagy állapotkongruenciánakis nevezni. A ρ(⊆ A2) ekvivalencia akkor és csak akkor kongruencia, ha az(a, b) ∈ ρ feltételből minden p ∈ X∗ bemenő szóra következik, hogy

(4.3) (ap, bp) ∈ ρ és λ(a, p) = λ(b, p) [µ(δ(a, p)) = µ(δ(b, p))].

Az (4.3)-beli állítások helyettesíthetők a következőkkel:

(4.4) (ap, bp) ∈ ρ és λ(a, p) = λ(b, p) [µ(ap) = µ(bp)].

37

Page 38: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen A = (A,X, Y, δ, µ) Moore automata és π(⊆ A2), amelyre

(4.5) (a, b) ∈ π ⇐⇒ µ(a) = µ(b) (a, b ∈ A).

A π reláció az A állapothalmaz egy ekvivalenciája, amelyet az A Mooreautomata jelekvivalenciájának nevezzük.

4.1 Lemma Ha ρ az A = (A,X, Y, δ, µ) Moore automata kongruenciája,akkor ρ ⊆ π és ρ az Aλ Mealy automatának is kongruenciája. Megforditva,ha ρ az Aλ Mealy automata egy kongruenciája, akkor ρ ∩ π az A Mooreautomata egy kongruenciája.

Bizonyítás. Legyen ρ az A = (A,X, Y, δ, µ) Moore automata kongruenciája.Ha (a, b) ∈ ρ és x ∈ X, akkor (4.2) szerint (δ(a, x), δ(b, x)) ∈ ρ és µ(a) = µ(b),amiből ismét (4.2) szerint µ(δ(a, x) = µ(δ(b, x)). Így ρ ⊆ π, s mivel µδ = λ,ezért ρ az Aλ Mealy automata kongruenciája.

Megfordítva, legyen ρ az Aλ Mealy automata egy kongruenciája. Ha(a, b) ∈ ρ ∩ π és x ∈ X, akkor µ(a) = µ(b), továbbá az (4.3) szerint, aλ = µδ összefüggést is felhasználva, (δ(a, x), δ(b, x)) ∈ ρ és µ(δ(a, x)) =µ(δ(b, x)). Amiből ((δ(a, x), δ(b, x)) ∈ ρ∩π, azaz ρ∩π az A Moore automatakongruenciája. �

Legyen ρ az A = (A,X, Y, δ, λ[µ]) Mealy [Moore] automata egy kong-ruenciája és A/ρ az A állapothalmaz ρ-szerinti faktorhalmaza. Definiáljukaz A/ρ = (A/ρ,X, Y, δρ, λρ[µρ]) Mealy [Moore] automatát, amelyre a δρ át-menetfüggvényt és a λρ kimenetfüggvényt [µρ jelfüggvényt] minden a ∈ Aállapotra és x ∈ X bemenő jelre a

(4.6) δρ(ρ[a], x) = ρ[δ(a, x)],

(4.7) λρ(ρ[a], x) = λ(a, x) [µρ(ρ[a]) = µ(a)]

összefüggésekkel értelmezzük. Könnyen belátható, hogy az A/ρ automatajól definiált. A/ρ-t az A automata ρ szerinti faktorautomatájának nevez-zük. Természetesen kimenő jel nélküli automatákra csak az (4.6) feltételtkell tekinteni.

Az αρ : a → ρ[a] leképezés az A automatának az A/ρ faktorautomatáravaló homomorfizmusa. Ezt az A automatának az A/ρ faktorautomatára valótermészetes (vagy kanonikus) homomorfizmusának nevezzük. Érvényes azalábbi ún. homomorfiatétel, amely kimenő jel nélküli automatákra ekvivalensaz unér algebrákra vonatkozó homomorfiatétellel. A homomorfiatételt és azutána következő két izomorfiatételt csak Mealy automatákra mondjuk ki, bárnyilvánvalóan Moore automatákra is igaz.

38

Page 39: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

4.2 Tétel Ha A = (A,X, Y, δ, λ) és A′ = (A′, X, Y, δ′, λ′) Mealy automatákés α az A-nak A′-re való homomorfizmusa, akkor kerα kongruencia az A-nés A′ ∼= A/kerα.

Igazak az alábbi ún. izomorfiatételek is, amelyek kimenő jel nélküli au-tomatákra szintén ekvivalensek az unér algebrákra vonatkozó izomorfiatéte-lekkel:

4.3 Tétel Ha A = (A,X, Y, δ, λ) egy Mealy automata, ρ egy kongruenciájaés B = (B,X, Y ′, δ, λ) olyan részautomatája A-nak, hogy minden a ∈ A-raB ∩ ρ[a] 6= ∅, akkor A/ρ ∼= B/ρB.

4.4 Tétel Ha ρ és τ az A Mealy automata olyan kongruenciái, hogy τ ⊆ ρ,akkor ρ/τ kongruencia az A/τ faktorautomatán és A/ρ ∼= (A/τ)/(ρ/τ).

Hasonlóan, az algebrai struktúrákhoz, tetszőleges A automata kongruen-ciái is teljes hálót alkotnak a Függelékben megadott műveletekre, amelyet azA automata kongruenciahálójának hívunk és C(A)-val jelölünk. Egy algeb-rai struktúra kongruenciahálójának ιA és ωA, az ún. triviális kongruenciák,a legkisebb ill. a legnagyobb eleme. Az algebrai struktúrát egyszerűnek ne-vezzük, ha csak triviális kongruenciái vannak. Minthogy minden kimenő jelnélküli automata a (3.1)-ben definiált müveletekre unér algebrának is tekint-hető, ezért egy kimenő jel nélküli automatát is akkor nevezünk egyszerű nek,ha csak triviális kongruenciái vannak. Minden legfeljebb kétállapotú kimenőjel nélküli automata egyszerű.

Természetesen ιA identikus reláció minden automata esetén kongruencia.Ha azonban az automata kimenő jeles, akkor az ωA univerzális reláció csaknagyon speciális esetben kongruenciája az automatának. Az egyszerűség kér-dése kimenő jeles automaták esetében is lényeges, ezért megvizsgáljuk, hogyaz univerzális reláció milyen Mealy [Moore] automatákra kongruencia.

Ha a kimenő jel csak a pillanatnyi bemenő jel függvénye, azaz bármelya, b ∈ A állapotokra és x ∈ X bemenő jelre

λ(a, x) = λ(b, x),

akkor az A Mealy automatát memória nélküli automatának nevezzük. EgyMoore automatát akkor nevezünk memória nélkülinek, ha a hozzá tartozóMealy automata memória nélküli. Könnyen belátható a

4.5 Lemma Az A = (A,X, Y, δ, λ) Mealy automatára ωA akkor és csakakkor kongruencia, ha A memória nélküli automata.

39

Page 40: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az egyszerű kimenő jeles automaták definícióját a 11. fejezetben adjukmeg. Ezekkel az automatákkal a II. részben foglalkozunk. Az egyszerű kime-nő jel nélküli automatákat pedig a 27. fejezetben vizsgáljuk részletesebben.

Definiáljuk az A = (A,X, δ) automata A állapothalmazán a következő τk(k ∈ N) binér relációkat:

(4.8) (a, b) ∈ τk ⇐⇒ (∀p ∈ Xk) (ap = bp).

4.6 Tétel Bármely k ∈ N esetén τk az A = (A,X, δ) automata kongru-enciája és τk ⊆ τk+1. Ha τk = τk+1, akkor minden i pozitív egész számraτk = τk+i. Ha |A| = n, akkor van olyan 0 ≤ k ≤ n− 1, amelyre τk = τk+1.

Bizonyítás. Minden k ∈ N esetén τk ekvivalencia és τk ⊆ τk+1. τ0 = ιAnyilvánvalóan kongruencia. Ha 1 ≤ k, x, y ∈ X és q ∈ Xk−1, akkor

(ax)(qy) = (axq)y = (bxq)y = (bx)(qy),

vagyis τk kongruencia. A második állításhoz elegendő megmutatni, hogyha τk = τk+1, akkor τk+1 = τk+2. Mivel τk+1 ⊆ τk+2, ezért csak azt kellmegmutatni, τk+2 ⊆ τk+1. Ehhez legyenek p ∈ Xk és x, y ∈ X tetszőlegesek.Ha (a, b) ∈ τk+2, akkor

(ax)(py) = axpy = bxpy = (bx)(py),

azaz (ax, bx) ∈ τk+1 = τk. Amiből következik, hogy axp = bxp, azaz (a, b) ∈τk+1. Ha |A| = n és ck a τk-osztályok száma, akkor 1 ≤ ck ≤ n. Legyenk ∈ N a legkisebb, amelyre τk = τk+1. De

ιA = τ0 ⊂ τ1 ⊂ τk = τk+1 ⊆ ωA,

amiből következik az utolsó állítás. �Az A = (A,X, δ) automatát definitnek nevezzük, ha van olyan k ∈ N ,

amelyre τk = ωA. A definit automatákkal a 32. és a 46. fejezetben foglalko-zunk részletesebben.

Az A = (A,X, δ) automatát redukált állapotúnak nevezzük, ha τ1 = ιA,azaz, ha

(4.9) (∀x ∈ X) (δ(a, x) = δ(b, x)) ⇐⇒ a = b.

Bármely A = (A,X, δ) automatának az A/τ1 faktorautomata redukált ál-lapotú homomorf képe. Nyilvánvaló, hogy minden legalább háromállapotúegyszerű automata redukált állapotú. A következő egyszerű példa is mutatja,hogy az állítás megfordítása nem igaz.

4.7 Példa Az A = (A,X, δ) automata redukált állapotú, de nem egyszerű,ahol A = {1, 2, 3}, X = {x} és

δ(1, x) = 2, δ(2, x) = 1, δ(3, x) = 3.

40

Page 41: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Feladatok4.1. Legyen ρ az A = (A,X, δ) automata kongruenciája. Az A/ρ faktorautomataakkor és csak akkor egyszerű, ha A-nak nincs olyan τ kongruenciája, amelyreρ ⊂ τ ⊂ ωA.4.2. Ha B az A automata homomorf képe, akkor C(B) izomorfan beágyazhatóC(A)-ba.

5. AutomatabővítésekSzükséges egy speciális kongruenciafogalom bevezetése, amely a későbbi vizs-gálatokban alapvető szerepet játszik. A gruppoidokra (speciálisan félcsopor-tokra) definiált Rees kongruenciákról van szó. Ezek kimenő jel nélküli au-tomatákra (unér algebrákra) is megadhatók, ha a gruppoidok ideáljait azautomaták részautomatáival helyettesítjük.

Legyen B = (B,X, δ) az A = (A,X, δ) automata egy részautomatája ésρ a B-nek egy kongruenciája. Ha B az üres automata, akkor ρ = ∅. Aztmondjuk, hogy R(ρ) a ρ-nak A-ra való Rees kiterjesztése, ha

(5.1) R(ρ) = ρ ∪ ιA.

(5.1) R(ρ) = ρ ∪ ιA.

Speciálisan R(ωB)-t az A automata B szerinti Rees kongruenciájának nevez-zük. Az A/R(ωB) halmazt A/B-vel is jelöljük. A definícióból látható, hogybármely a, b ∈ A állapotokra

(5.2) (a, b) ∈ R(ωB) ⇐⇒ a, b ∈ B vagy a = b.

Az A/R(ωB) faktorautomatát az A B szerinti Rees-faktorának hívjuk, sröviden A/B-vel jelöljük. Ha B 6= ∅, akkor B az A/B Rees-faktor egycsapdája. Ha B = ∅, akkor A/B izomorf A-val, azaz minden automataönmaga üres automata szerinti Rees-faktora.

Jelöljük Rees(A)-val az A automata Rees kongruenciáinak halmazát.A Rees(A) az A automata C(A) kongruenciahálójának teljes részhálója,amelynek legkisebb eleme R(ω∅) = ιA és legnagyobb eleme R(ωA) = ωA.Ha a0 az A automata egy csapdája, akkor R(ω{a0}) = ιA. Ha A-nak nincscsapdája, akkor Sub(A) részautomatahálója izomorf Rees(A)-val.

A Rees kongruenciák segítségével megadjuk az automaták más automa-tákkal való bővítésének algebrai fogalmát. Az A automatát a B automatá-nak a C = (C,X, δ′) automatával való bővítésének nevezzük, ha C izomorf

41

Page 42: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A/B-vel. Ha A nemüres, akkor A/A egyállapotú automata. Továbbá A/∅izomorf A-val. Ezért bármely A nemüres automata önmagának egyállapotúautomatával vagy az üres automatának A-val való bővítése. Ha B 6= ∅, A,akkor valódi bővítésről beszélünk.

Szükségünk lesz az összefüggőség fogalmának következő általánosítására.Az A = (A,X, δ) automatát összefüggőnek nevezzük, ha bármely a, b ∈ Aállapotpárhoz vannak olyan p, q ∈ X∗ bemenő szavak, amelyekre ap = bqteljesül. (Ha minden a, b ∈ A esetén p = e vagy q = e, akkor a összefüggőautomata irányítottan összefüggő.) Összefüggő automata minden részauto-matája összefüggő és legfeljebb egy csapdája van.

Legyen tetszőleges p ∈ X∗ bemenő szóra Ap = {ap; a ∈ A}. Azt mond-juk, hogy az A = (A,X, δ) automata irányítható vagy szinkronizálható,ha van olyan p ∈ X∗, amelyre |Ap| = 1. Ilyenkor p-t az A irányító vagyszinkronizáló szavának, azt a d állapotot pedig, amelyre Ap = {d}, az Airányított vagy szinkronizált állapotának hívjuk. Úgy is mondjuk, hogyaz A automata a p szóval irányítható a d állapot-hoz. A szinkronizálhatĂłautomata elnevezés az irányítható automaták és az 58. fejezetben definiáltszinkron kódok szoros kapcsolatára utal. Minden triviális automata olyanirányítható automata, amelynek állapota irányított és minden bemenő szóirányító szó. Továbbá minden A = (A,X, δ) (A 6= ∅) teljes beállító auto-mata olyan irányítható automata, amelyben X+ minden eleme irányító szóés az irányított állapotok halmaza a δ átmenetfüggvény értékkészlete. Ha azirányítható automatának van csapdája, akkor a csapda az egyetlen irányítottállapot. Az összefüggő, speciálisan az irányítható automaták vizsgálatára azV. részben visszatérünk. A definícióból látható, hogy minden irányítható au-tomata összefüggő. A következő lemma szerint A-véges csapdás automatákesetén igaz az állítás megfordítása.

5.1 Lemma A-véges csapdás automata akkor és csak akkor összefüggő, hairányítható.

Bizonyítás. Legyen az A-vĂŠges A = (A,X, δ) csapdás automata összefüg-gő és a0 ∈ A az automata csapdája. (Mint azt már megjegyeztük, összefüggőautomatának legfeljebb egy csapdája van.) Ha |A| = 1, akkor A nyilvánva-lóan irányítható.

Tegyük fel, hogy |A| > 1, és legyen a1 6= a0 (a1 ∈ A). Mivel A összefüggő,ezért van olyan p1 ∈ X+, hogy a1p1 = a0p1 = a0. Ez azt jelenti, hogy |Ap1| <|A|. Ha Ap1 = {a0}, akkor A irányítható. Tegyük fel, hogy |Ap1| > 1, éslegyen a2 ∈ A olyan, amelyre a2p1 6= a0. De A összefüggő, ezért van olyanp2 ∈ X+, hogy (a2p1)p2 = a0p2 = a0. Ebből következik, hogy |Ap1p2| <|Ap1|. Ha Ap1p2 = {a0}, akkor A irányítható. Ha |Ap1p2| > 1, akkor

42

Page 43: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

folytatjuk az előbbi eljárást Ap1 helyett Ap1p2-vel. Az A halmaz végességemiatt van olyan 1 ≤ k < |A| és vannak olyan p1, p2, . . . pk ∈ X+, amelyekreAp1p2 . . . pk = {a0}, azaz A irányítható. �

5.2 Lemma Egy automata akkor és csak adható meg egy reverzibilis auto-matának összefüggő automatával való bővítéseként, ha minden ciklikus rész-automatájának van reverzibilis állapota.

Bizonyítás. Legyen A = (A,X, δA) a B = (B,X, δB) reverzibilis automa-tának a C = (C,X, δC) összefüggő automatával való bővítése. Az izomor-fiaelv miatt feltehetjük, hogy B az A automata reverzibilis részautomatájaés C = A/B összefüggő. Ebből kapjuk, hogy B a C egyetlen csapdája ésminden a ∈ A állapot-hoz van olyan p ∈ X∗ bemenő szó, hogy ap ∈ B,azaz ap az A automata a állapota által generált ciklikus részautomatájánakreverzibilis állapota.

Megfordítva, tegyük fel A minden ciklikus részautomatájának van rever-zibilis állapota. Akkor az A automata Rev(A) reverzibilis része, amely a2.3. Lemma szerint az A-nak reverzibilis részautomatája, nemüres. Továbbáminden a ∈ A állapothoz van olyan p ∈ X∗ bemenő szó, hogy ap ∈ Rev(A).Ez azt jelenti, hogy A/Rev(A) összefüggő automata. �

5.3 Tétel Minden A-véges automata megadható reverzibilis automatánakirányítható automatával való bővítéseként.

Bizonyítás. Legyen A = (A,X, δ) tetszőleges A-véges automata. Megmu-tatjuk, hogy minden [a] (a ∈ A) ciklikus részautomatájának van reverzibilisállapota. Ha [a] erősen összefüggő, akkor minden állapota reverzibilis állapot.Ha [a] nem erősen összefüggő, akkor van olyan a1 ∈ [a], amelyre [a1] ⊂ [a].Ha [a1] erősen összefüggő, akkor minden eleme reverzibilis állapot. Ha [a1]nem erősen összefüggő, akkor van olyan a2 ∈ [a1], amelyre [a2] ⊂ [a1]. Azelőbbi meggondolást a1 helyett a2-vel megismételve, az A végessége miattléteznek olyan ai (i = 1, . . . , k) állapotok, hogy

[ak] ⊂ [ak−1] ⊂ . . . [a1] ⊂ [a],

és [ak] erősen összefüggő, s így minden állapota reverzibilis.A 5.2. Lemma szerint ez azt jelenti, hogy A megadható egy reverzibi-

lis automatának összefüggő automatával való bővítéseként. Amiből a 5.1.Lemmát felhasználva adódik az állítás. �

A Rees kongruencia fogalmát általánosíthatjuk részautomaták rendszereisegítségével. Ennek a fogalomnak a segítségével dolgozta ki Wilfried Lex

43

Page 44: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

és Wiegandt Richárd az automaták (aktok) torzióelméletét. A vizsgá-latainkban ezzel az elmélettel nem foglalkozunk, de az érdeklődők számáramegemlítjük W. Lex és Wiegandt R. [43] dolgozatát.

Legyen A = {Ak = (Ak, X, δ); k ∈ I} az A = (A,X, δ) automatarészautomatáinak egy rendszere. Tekintsük az A automata olyan kongru-enciáit, amelyekre bármely Ak (k ∈ I) állapothalmaz benne van valamelykongruencia-osztályban. Ezek közül a legkisebbet, azaz a metszetüket, az Aautomata A szerinti Rees kongruenciájának nevezzük. Jelöljük ezt a kong-ruenciát R(A)-val. Definíció szerint legyen R(∅) = R({∅}) = ιA. Megje-gyezzük, hogy az |I| = 1 esetben visszakapjuk a Rees kongruencia eredetifogalmát.

A A rendszerből elhagyva az üres automatát és az egyállapotú automa-tákat a Rees kongruencia nem változik. Továbbá, ha Ak ∩ Al 6= ∅, akkor Akés Al ugyanabban a R(A)-osztályban van. Így (2.3) szerint nem szorítjukmeg az általánosságot, ha I 6= ∅ esetben feltesszük, hogy minden Ak (k ∈ I)legalább kételemű és

k 6= l (k, l ∈ I) =⇒ Ak ∩ Al = ∅.

Ekkor a R(A)-osztályok a Ak (k ∈ I) halmazok és A − ∪k∈IAk egyeleműrészhalmazai.

Az A automata Rees kongruenciáinak halmaza ebben az általános esetbenis az A automata kongruenciahálójának teljes részhálója, amelynek legkisebbeleme R(∅) = ιA és legnagyobb eleme R({A}) = ωA.

Az A automatát az automaták A rendszerének a C = (C,X, δ′) automa-tával való bővítésének nevezzük, ha C izomorf A/R(A)-val.

A (5.1)-ben definiált Rees kiterjesztéseket is általánosíthatjuk a követ-kező módon. Legyen Ak = (Ak, X, δ) (k ∈ I) az A = (A,X, δ) automatarészautomatáinak egy páronként diszjunkt rendszere. Legyenek továbbá ρkaz Ak (k ∈ I) automaták tetszőleges kongruenciái, akkor

R(ρk; k ∈ I) = (∪k∈Iρk) ∪ ιA

a ρk (k ∈ I) kongruenciák Rees kiterjesztése az A automata egy kongruenci-ája. Legyen

C(Ak; k ∈ I) = {∪k∈Iρk; ρk ∈ C(Ak)}.

5.4 Lemma Ha Ak = (Ak, X, δ) (k ∈ I) az A = (A,X, δ) automata részau-tomatáinak egy páronként diszjunkt rendszere, akkor C(Ak; k ∈ I) izomorfC(A) egy részhalójával. Speciálisan, C(Ak (k ∈ I) izomorf C(A) egy rész-halójával.

44

Page 45: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Egy megfelelő izomorfizmus a

∪k∈Iρk → R(ρk; k ∈ I), ρk ∈ C(Ak)

leképezés. �

Feladatok5.1. Az A = (A,X, δ) automata A′ = (A′, X, δ) és A” = (A”, X, δ) részautoma-táira R(ωA′) ◦ R(ωA”) = R(ωA”) ◦ R(ωA′) akkor és csak akkor, ha A′ ⊆ A” vagyA” ⊆ A′ vagy A′ ∩A” = ∅.5.2. Tetszőleges A automata esetén Rees(A) homomorf képe Sub(A)-nak, ésRees(A) akkor és csak akkor izomorf Sub(A)-val, ha az A automatának nincscsapdája.5.3. Egyszerű Mealy [Moore] automata minden részautomatája is egyszerű.5.4. Ha B = (B,X, δ) az A = (A,X, δ) automata részautomatája, akkor C(B)izomorf a C(A) [ιA, R(ωB)] intervallumával, azaz kimenő jel nélküli automata bár-mely A- részautomatájának kongruenciahálója izomorfan beágyazható az automatakongruenciahálójába.

6. Endomorfizmusfélcsoport, automorfizmus-csoport

Az A = (A,X, Y, δ, λ) Mealy automata önmagába való általános homomorfleképezéseit az A általános endomorfizmusainak mondjuk. Ha (α1, β1, λ1) és(α2, β2, γ2) az A automata két általános endomorfizmusa, akkor

(α1α2, β1β2, γ1γ2)

is általános endomorfizmusa A-nak, amelyet az (α1, β1, λ1) és (α2, β2, λ2) álta-lános endomorfizmusok szorzatának nevezünk. Jelölje Eg(A) az A automataáltalános endomorfizmusainak halmazát. Az Eg(A) halmazon vezessük be aszorzás műveletét úgy, hogy Eg(A) bármely (α1, β1, γ1) és (α2, β2, γ2) elemére

(6.1) (α1, β1, γ1)(α2, β2, γ2) = (α1α2, β1β2, γ1γ2)

teljesüljön. Nem nehéz megmutatni, hogy Eg(A) erre a műveletre monoidotalkot, amelynek egységeleme (ιA, ιX , ιY ). Ezt a monoidot az A automataáltalános endomorfizmusfélcsoportjának nevezzük és szintén Eg(A)-val jelöl-jük.

Az A = (A,X, Y, δ, λ) Mealy automata önmagára való általános izomor-fizmusait az A általános automorfizmusainak nevezzük. Az A automata

45

Page 46: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

általános automorfizmusainak Gg(A) halmaza a (6.1) műveletre az Eg(A)endomorfizmusfélcsoport részcsoportja, amelyet az A általános automorfiz-muscsoportjának nevezünk.

Az előző fejezet alapján a (6.1) művelet segítségével definiálhatók az Aautomata különböző speciális endomorfizmusfélcsoportjai és automorfizmus-csoportjai, amelyek az Eg(A) általános endomorfizmusfélcsoport részfélcso-portjai. Természetesen mindegyik speciális automorfizmuscsoport a Gg(A)általános automorfizmuscsoport részcsoportja.

Az A automata önmagába való (állapot)homomorf leképezéseit egysze-rűen endomorfizmusoknak mondjuk. Hasonlóan beszélünk az automata au-tomorfizmusairól. Az A automata endomorfizmusfélcsoportját [automorfiz-muscsoportját] E(A)-val [G(A)-val] jelöljük. A λ kimenetfüggvény szürjek-tív, ezért ιY az egyetlen Y-endomorfizmus.

Egy S félcsoport S ′ részfélcsoportját az S normális részfélcsoportjánaknevezzük, ha bármely s, t ∈ S és r ∈ S ′ elemekre srt ∈ S ′ akkor és csak akkorha st ∈ S ′. Nem nehéz megmutatni, hogy egy csoport normális részcsoportjaa csoportnak normális részfélcsoportja.

6.1 Tétel Bármely A = (A,X, Y, δ, λ) Mealy automata speciális endomor-fizmusfélcsoportjai [automorfizmuscsoportjai] az A általános endomorfizmus-félcsoportjának [automorfizmuscsoportjának] normális részfélcsoportjai [rész-csoportjai].

Bizonyítás. Legyenek (αi, βi, γi) (i = 1, 2) tetszőleges általános endomor-fizmusok és α tetszőleges endomorfizmus. A (3.4) definíció szerint α írható(α, ιX , ιY ) alakba. Az

(α1, β1, γ1)(α, ιX , ιY )(α2, β2, γ2) = (α1αα2, β1β2, γ1γ2)

általános endomorfizmus akkor és csak akkor endomorfizmus, ha az

(α1, β1, γ1)(α2, β2, γ2) = (α1α2, β1β2, γ1γ2)

általános endomorfizmus is az, mert mindkét esetben β1β2 = ιX és γ1γ2 = ιY .Ezzel megmutattuk, hogy az A Mealy automata endomorfizmusfélcsoportjaaz A általános endomorfizmusfélcsoportjának normális részfélcsoportja.

Ha (α1, β1, γ1) általános automorfizmus és α automorfizmus, akkor

(α−11 , β−1

1 , γ−11 )(α, ιX , ιY )(α1, β1, γ1) = (α−1

1 αα1, ιX , ιY ),

azaz az A Mealy automata automorfizmuscsoportja az A általános automor-fizmuscsoportjának normális részcsoportja.

46

Page 47: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A többi speciális endomorfizmusra [automorfizmusra] hasonlóan mutat-ható meg az állítás. �

Megmutatható az is, hogy Mealy automata endomorfizmusfélcsoportja[automorfizmuscsoportja] AX- és AY-endomorfizmusfélcsoportjának [AX- ésAY-automorfizmuscsoportjának] normális részfélcsoportja [részcsoportja].X-endomorfizmusfélcsoportja [X-automorfizmuscsoportja] pedig AX- és XY-endomorfizmusfélcsoportjának [AX- és XY-automorfizmuscsoportjának] nor-mális részfélcsoportja [részcsoportja].

A (6.1) művelet segítségével az előző fejezet alapján megadhatók a kimenőjel nélküli automaták különböző endomorfizmusfélcsoportjai és automorfiz-muscsoportjai, valamint a Moore automaták endomorfizmusfélcsoportjai ésautomorfizmuscsoportjai. Moore automata endomorfizmusfélcsoportja a hoz-zá tartozó Mealy automata endomorfizmusfélcsoportjának részfélcsoportja.

6.2 Tétel Mealy automata általános endomorfizmusfélcsoportja [általánosautomorfizmuscsoportja] izomorfan beágyazható vetületének általános endo-morfizmusfélcsoportjába [általános automorfizmuscsoportjába].

Bizonyítás. Legyen A = (A,X, Y, δ, λ) tetszőleges Mealy automata. Ha(α, β, γ) és (α, β, γ′) általános endomorfizmusai A-nak, akkor γ = γ′. Nemnehéz megmutatni, hogy ϕ : Eg(A)→ Eg(Av), amelyre

ϕ(α, β, γ) = (α, β)

minden (α, β, γ) ∈ Eg(A) esetén teljesül, az Eg(A) izomorf beágyazásaEg(Av)-be. Ha (α, β, γ) ∈ Gg(A), akkor (α, β) ∈ Gg(Av). �

Hasonló tételeket lehet kimondani a fentebb definiált különböző endomor-fizmusfélcsoportokra [automorfizmuscsoportokra]. Például egy Mealy auto-mata endomorfizmusfélcsoportja a vetület endomorfizmusfélcsoportjának egyrészfélcsoportja.

A 3. fejezet elején már kifejtettük, hogy a kimenő jel nélküli automatákfelfoghatók unér algebráknak is. Természetesen egy (A,F ) unér algebra te-kinthető annak a kimenő jel nélküli automatának, amelynek állapothalmazaaz A tartóhalmaz, bemenő halmaza az F művelethalmaz, a δ átmenetfügg-vényt pedig, minden a ∈ A és f ∈ F esetén, a δ(a, f) = f(a) összefüggésseldefiniáljuk. Ennek a fogalomnak egy messzemenő általánosítása tetszőlegesalgebrai struktúrákra a faautomaták fogalma, amelyet ebben a munkábannem tárgyalunk. Az érdeklődő olvasó számára ajánljuk Gécseg Ferenc ésMagnus Steinby [27], [28], [29] munkáit.

Az (A,F ) algebrai struktúrából más módon is kaphatunk kimenő jel nél-küli automatát. Definiáljuk az A = (A,X, δ) automatát úgy, hogy tetszőleges

47

Page 48: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a1, . . . , an ∈ A állapotokra, x ∈ X bemenő jelre és bármely n-változós fn ∈ Fműveletre teljesüljön a

(6.2) δ(fn(a1, . . . , an), x) = fn(δ(a1, x), . . . , δ(an, x))

feltétel. Legyen E(A,F ) az (A,F ) algebrai struktúra endomorfizmusfélcso-portja és δx a (3.1)-ben definiált leképezés. Tekintsük azt az

AE = (A,E(A,F ), δE)

automatát, amelynek a δE átmenetfüggvényét minden a ∈ A és α ∈ E(A,F )esetén a

δE(a, α) = α(a)

összefüggéssel adjuk meg. Az ϕ : A → A leképezés akkor és csak akkorendomorfizmusa AE-nek, ha minden α ∈ E(A,F )-re ϕα = αϕ.

6.3 Lemma Legyen (A,F ) tetszőleges algebrai struktúra. Az A = (A,X, δ)automata akkor és csak akkor teljesíti a (6.2) feltételt, ha X-homomorfanbeágyazható az AE automatába.

Bizonyítás. Ha az A = (A,X, δ) automata teljesíti a (6.2) feltételt, akkorminden x ∈ X bemenő jelre δx ∈ E(A,F ). Definiáljuk a β : X → E(A,F )leképezést minden x ∈ X bemenő jelre a β(x) = δx összefüggéssel. Bármelya ∈ A állapotra

δ(a, x) = δx(a) = δE(a, δx) = δE(a, β(x)),

ami azt jelenti, hogy β az A automata X-homomorf leképezése az AE auto-matába.

Megfordítva, legyen β az A automatának az AE automatába való X-homomorfizmusa, továbbá fn ∈ F, a1, . . . , an ∈ A és x ∈ X. Akkor

δ(fn(a1, . . . , an), x) = δE(fn(a1, . . . , an), β(x)) = β(x)(fn(a1, . . . , an)) =

= fn(β(x)(a1), . . . , β(x)(an)) = fn(δ(a1, x), . . . , δ(an, x)),

azaz a A automata teljesíti a (6.2) feltételt. �Mint már az 4. fejezetben is mondtuk, az A = (A,X, δ) automatát akkor

nevezzük egyszerű nek, ha csak triviális kongruenciái vannak. Most kicsitáltalánosabban azokat az automatákat vizsgáljuk, amelyeknek kongruencia-hálója véges. Az egyszerű automaták az ilyen automatáknak speciális esetei,mégpedig azok, amelyek kongruenciahálója legfeljebb kételemű. Az előzőfejezetben leírtakból nyilvánvalóan adódik a

48

Page 49: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

6.4 Lemma Ha az A = (A,X, δ) automata C(A) kongruenciahálója véges,akkor véges sok részautomatája van, és minden részautomatájának kongru-enciahálója is véges.

6.5 Következmény Ha az A automata kongruenciahálója véges, akkor Avégesen generálható.

Bizonyítás. A 2. fejezetben beszéltünk arról, hogy minden automata le-fedhető ciklikus részautomatáival. Az előző lemma szerint A-nak véges sokrészautomatája, s így véges sok ciklikus részautomatája van. Ez azt jelenti,hogy A végesen generálható. �

6.6 Tétel Ha az A = (A,X, δ) automata C(A) kongruenciahálója véges,akkor E(A) endomorfizmusfélcsoportja is véges.

Bizonyítás. Először megmutatjuk, hogy a G(A) automorfizmuscsoport vé-ges. Tegyük fel, hogy G(A) végtelen. Legyen α ∈ G(A) végtelen rendű.Legyen m teszőleges pozitív egész szám. Nem nehéz belátni, hogy

{αlm(a); l ∈ Z}, {αlm+1(a); l ∈ Z}, . . . , {αlm+m−1(a); l ∈ Z}, a ∈ A

minden m-re kompatibilis osztályozás. Jelölje a megfelelő kongruenciákatραm . Ezek a kongruenciák mind különbözőek. Ez ellentmond annak, hogyC(A) véges. Így G(A) minden eleme véges rendű.

Legyen α ∈ G(A) rendje r. Akkor

{a, α(a), . . . , αr−1}, a ∈ A

kompatibilis osztályozás. Jelölje a hozzá tartozó kongruenciát ρα. A feltételmiatt véges sok különböző

ρα1 , ρα2 , . . . , ραn

kongruencia van.Legyen a β ∈ G(A) automorfizmusra ρβ = ραi (1 ≤ i ≤ n). A 6.5.

Következmény szerint A végesen generálható. Ha {a1, . . . , ak} az A automataegy generátorrendszere, akkor

ρβ[a1] = ραi [a1], ρβ[a2] = ραi [a2], . . . , ρβ[ak] = ραi [ak],

vagyis

β(a1) = αij1(a1), β(a2) = αi

j2(a2), . . . , β(ak) = αijk(ak)

(0 ≤ j1, j2, . . . , jk ≤ r − 1).

49

Page 50: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Így minden p ∈ X∗ bemenő szóra

β(a1p) = αij1(a1p), β(a2p) = αi

j2(a2p), . . . , β(akp) = αijk(akp)

(0 ≤ j1, j2, . . . , jk ≤ r − 1).

Ez azt jelenti, hogy β az az endomorfizmus, amely az ai (i = 1, 2, . . . k) állapotáltal generált ciklikus részautomatán megegyezik az αij1 endomorfizmussal.Ebből következik, hogy minden αi (i = 1, 2, . . . , n) automorfizmushoz végessok olyan β ∈ E(A) automorfizmus van, amelyre ρβ = ραi . Tehát G(A)véges, a feltevésünkkel ellentétben.

Most megmutatjuk, hogy az E(A) endomorfizmusfélcsoport is véges. Aznyilvánvaló, hogy Aα = (α(A), X, δ′) az A automata részautomatája. Afeltétel miatt véges sok különböző

kerα1, kerα2, . . . , kerαl (α1, α2, . . . , αl ∈ E(A))

kongruencia van. Minden kerαi (1 ≤ i ≤ l) kongruenciához véges sok külön-böző

Aβ1 , Aβ2 , . . . , Aβm

részautomata létezik, amelyekre

ker β1 = ker β2 = · · · = ker βm = kerαi (β1, β2, . . . , βm ∈ E(A)).

Legyen γ ∈ E(Aα) endomorfizmusra

ker γ = ker βj, Aγ = Aβj .

Definiáljuk a ϕj,γ : A→ A leképezést úgy, minden a ∈ A állapotra

ϕj,γ(βj(a)) = γ(a)

teljesüljön, vagyis ϕj,γβj = γ (1 ≤ j ≤ m). Mivel ker βj = ker γ, ezért ϕj,γbijektív. Továbbá minden a ∈ A állapotra és x ∈ X bemenő jelre

ϕj,γ(δ(βj(a), x) = ϕj,γ(βj(δ(a, x))) =

= γ(δ(a, x)) = δ(γ(a), x) = δ(ϕj,γ(βj(a)), x),

azaz ϕj,γ ∈ G(Aβj).Ha γ, γ′ ∈ E(Aα) endomorfizmusokra

ker γ = ker γ′ = ker βj, Aγ = Aγ′ = Aβj ,

50

Page 51: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ésϕj,γ = ϕj,γ′ ,

akkor γ = γ′. A 6.4. Lemmát és a bizonyítás első részét alkalmazva kapjuk,hogy G(Aβj) véges, ezért minden αi (i = 1, 2, . . . , l) endomorfizmushoz végessok olyan β endomorfizmus van, hogy kerαi = ker β, azaz E(A) véges. �

A fejezetet a következő egyszerű lemmával zárjuk.

6.7 Lemma Izomorf automaták endomorfizmusfélcsoportjai és automorfiz-muscsoportjai izomorfak.

Bizonyítás. Legyen ϕ az A = (A,X, δ) automata izomorf leképezése aB = (B,X, δ′) automatára. Nem nehéz megmutatni, hogy az α → ϕαϕ−1

(α ∈ E(A) [G(A)]) leképezés E(A) [G(A)]) izomorf leképezése E(B)-re[G(B)-re]. �

Feladatok6.1. Bármely A Mealy automata esetén E(A) a (6.1) műveletre monoidot alkot.6.2. Az A Mealy automata automorfizmusainak G(A) halmaza a (6.1) műveletreE(A) részcsoportja.6.3. Tekintsük a 3.3. Tétel előtt definiált M(A) halmazt. Legyenek B1,B2 ∈M(A). ϕ : B1 → B2 akkor és csak akkor homomorf leképezése B1-nek B2-be, haminden (a, y) ∈ B1 esetén ϕ(a, y) = (ϕ1(a), y) teljesül, ahol ϕ1 az A automata egyendomorfizmusa.

7. Karakterisztikus félcsoportAz algebrai struktúrákhoz bizonyos kísérő struktúrákat rendelünk, amelyekszerkezetéből következtetünk az adott struktúra szerkezetére. Automatákatkísérő struktúrákat eddig is vizsgáltunk, mégpedig az endomorfizmusfélcso-portokat, az automorfizmuscsoportokat, a kongruenciahálókat és a részau-tomatahálókat. Ebben a fejezetben megadjuk az automaták legfontosabbkísérő struktúrájának, a karakterisztikus félcsoportnak a fogalmát, s a rá vo-natkozó alapvető eredményeket. A karakterisztikus félcsoport segítségével azautomaták bizonyos osztályai félcsoportelméleti eszközökkel vizsgálhatók.

Legyen A = (A,X, δ) tetszőleges kimenő jel nélküli automata. Definiáljukaz X∗ szabad monoidon a ρA,a (a ∈ A) relációkat a

(7.1) (p, q) ∈ ρA,a ⇐⇒ ap = aq (p, q ∈ X∗)

51

Page 52: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

feltétellel. Legyen továbbá ρA = ∩{ρA,a; a ∈ A}, azaz

(7.2) (p, q) ∈ ρA ⇐⇒ (∀a ∈ A) (ap = aq) (p, q ∈ X∗).

7.1 Lemma Bármely a ∈ A állapot esetén ρA,a az X∗ szabad monoid jobbkongruenciája, ρA pedig X∗ kongruenciája.

Bizonyítás. Nyilvánvaló, hogy ρA és minden a ∈ A állapotra ρA,a ekvi-valencia. Ha az a ∈ A állapotra és a p, q ∈ X∗ bemenő szavakra ap = aqteljesül, akkor (1.6) alapján bármely r ∈ X+ bemenő szóra

a(pr) = (ap)r = (aq)r = a(qr),

azaz (pr, qr) ∈ ρA,a. Ez azt jelenti, hogy ρA,a jobb kongruencia.Ha (p, q) ∈ ρA, akkor minden a ∈ A állapotra és r ∈ X+ bemenő szóra

(p, q) ∈ ρA,ar, azaz

a(rp) = (ar)p = (ar)q = a(rq).

Ezzel megmutattuk, hogy ρA kongruencia. �A (7.2) feltétellel definiált ρA kongruenciát az A = (A,X, δ) automata

Myhill-Nerode kongruenciájának nevezzük. A ρA reláció X+-ra való szűkí-tését az egyszerűség kedvéért szintén ρA-val jelöljük. Az X+/ρA faktorfél-csoportot pedig A karakterisztikus félcsoport jának nevezzük. Ha a karakte-risztikus félcsoport csoport, akkor A karakterisztikus csoport jának mondjuk.Ha ρA[e] = {e}, ahol e az üres szó, akkor X∗/ρA = X+/ρA∪{{e}}. Ha pedig|ρ[e]| > 1, azaz van olyan r ∈ X+, hogy minden a ∈ A állapotra ar = a,akkor X∗/ρA = X+/ρA. (A ρ[e] osztályt (amely X∗ egy részmonoidja is)azonosítjuk azzal azX+/ρA-beli osztállyal, amely ρ[e]-ből e elhagyásával kap-ható.) Az X∗/ρA faktorfélcsoportot A karakterisztikus monoidjának hívjuk.Az előbbi megjegyzés szerint a karakterisztikus monoid vagy megegyezik akarakterisztikus félcsoporttal, vagy abból egységelem adjungálásával kapha-tó. Ha a karakterisztikus félcsoport csoport és megegyezik a karakterisztikusmonoiddal, akkor az automata reverzibilis. Felhívjuk a figyelmet arra, hogyha a karakterisztikus félcsoport monoid, akkor ebből nem következik, hogymegegyezik a karakterisztikus monoiddal. (Például, ha A = ({1, 2}, x, δ),ahol δ(1, x) = δ(2, x) = 2, akkor X+/ρA = {X+} és X∗/ρA = {X+, {e}}).Automata karakterisztikus félcsoportja [monoidja] megegyezik hatványauto-matájának karakterisztikus félcsoportjával [monoidjával].

Megmutatjuk, hogy X+/ρA izomorf egy A feletti transzformációfélcso-porttal is. Definiáljuk minden p ∈ X+ bemenő szóra az A állapothalmaz δptranszformációját a

(7.3) δp(a) = ap (a ∈ A)

52

Page 53: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

feltétellel. Jelölje T (A) a δp (p ∈ X+) transzformációk halmazát. Előfor-dulhat, hogy van olyan r ∈ X+, amelyre δr = ιA, azaz ιA ∈ T (A). Ha X+

helyett X∗-ot tekintjük, akkor ιA ∈ T (A), mivel δe = ιA.

7.2 Lemma Az A = (A,X, δ) automata karakterisztikus félcsoportja [mo-noidja] izomorf T (A)-val.

Bizonyítás. Ha p, q ∈ X+ tetszőleges bemenő szavak és a ∈ A tetszőlegesállapot, akkor

(δp ◦ δq)(a) = δq(δp(a)) = δq(ap) = (ap)q = a(pq) = δpq(a),

azaz δp ◦ δq = δpq. Így T (A) zárt a leképezések kompozĂciĂłjĂĄra, amibőlmár következik, hogy A feletti transzformációfélcsoport. Könnyen ellenőriz-hető, hogy a

(7.4) ϕ(δp) = ρA[p] (p ∈ X+)

összefüggéssel definiált ϕ : T (A) → X+/ρA leképezés T (A)-nak X+/ρA-ravaló izomorfizmusa.

Ha az előbbi bizonyításban X+ helyett X∗-ot tekintjük, akkor (7.4) leké-pezés T (A)-nak X∗/ρA-ra való izomorfizmusa. �

Nem nehéz belátni, hogy T (A) egy generátorrendszere az M = {δx;x ∈X} rendszer. A továbbiakban az A = (A,X, δ) automata karakterisztikusfélcsoportját S(A)-val jelöljük és a célnak megfelelően azonosítjuk egy veleizomorf félcsoporttal, például X+/ρA-val vagy T (A)-val. Mivel véges hal-maz feletti minden transzformációfélcsoport véges, ezért A-véges automatakarakterisztikus félcsoportja véges. Az A automata karakterisztikus monoid-ját S1(A)-val fogjuk jelölni. A karakterisztikus félcsoport [monoid] központiszerepet játszik az automaták vizsgálatában. Azt is mondhatjuk, hogy akarakterisztikus félcsoport [monoid] az automata működését írja le.

A következőkben a karakterisztikus félcsoport és monoid fogalmát álta-lánosítjuk Mealy automatákra olyan módon, hogy az automata kimeneti vi-selkedése is szerepet játszon. Legyen A = (A,X, Y, δ, λ) tetszőleges Mealyautomata. Vezessük be az X∗ szabad félcsoporton a τA,a (a ∈ A) ekvivalen-ciakat a

(7.5) (p, q) ∈ τA,a ⇐⇒ λ(a, p) = λ(a, q) (p, q ∈ X∗)

feltétellel. A λ kimenetfüggvény (1.4) és (1.5) kiterjesztése szerint τA,a[e] ={e}. (Megállapodás szerint e = e.) Legyenek továbbá

(7.6) τA = ∩{τA,a; a ∈ A},

(7.7) ρ′A,a = ρA,a ∩ τA,a és ρ′A = ∩{ρ′A,a; a ∈ A}.

53

Page 54: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

7.3 Lemma Bármely A = (A,X, Y, δ, λ) Mealy automatára ρ′A,a (a ∈ A)az X∗ szabad félcsoport jobb kongruenciája, τA bal kongruenciája, ρ′A pedigX∗ kongruenciája és

(7.8) ρ′A = ρA ∩ τA.

Bizonyítás. Ha (p, q) ∈ ρA,a (p, q ∈ X∗), akkor a 7.1.Lemma szerint mindenr ∈ X+-ra (pr, qr) ∈ ρA,a. Továbbá

λ(a, pr) = λ(ap, r) = λ(aq, r) = λ(a, qr),

így (pr, qr) ∈ τA,a, azaz (pr, qr) ∈ ρ′A,a. De ρ′A,a ⊆ ρA,a, ezért az előzőekszerint ρ′A,a jobb kongruencia.

Ha (p, q) ∈ τA, akkor minden a ∈ A és r ∈ X+ esetén

λ(a, rp) = λ(ar, p) = λ(ar, q) = λ(a, rq),

így (rp, rq) ∈ τA, azaz τA bal kongruencia. A 7.1.Lemma bizonyításához ha-sonló módon megmutatható, hogy ρ′A kongruencia. A definíciókból látható,hogy ρ′A = ρA ∩ τA. �

A (7.7) feltétellel definiált ρ′A kongruenciát az A Mealy automata Peákkongruenciájának nevezzük. A ρ′A X+-ra való szűkítését, amely kongruenciaX+-on, szintén ρ′A-val jelölünk. Az X∗/ρ′A faktorfélcsoportot A karakte-risztikus monoidjának, X+/ρ′A faktorfélcsoportot pedig A karakterisztikusfélcsoport jának nevezzük. A definícióból adódik, hogy

X∗/ρ′A = X+/ρ′A ∪ {e}.

A (7.8) összefüggés miatt ρ′A ⊆ ρA, vagyis Mealy automata vetületénekkarakterisztikus félcsoportja [monoidja] a Mealy automata karakterisztikusfélcsoportjának [monoidjának] homomorf képe.

A (7.5)-ben definiált τA,a relációt egy A = (A,X, Y, δ, µ) Moore automataesetén a

(p, q) ∈ τA,a ⇐⇒ µ(ap) = µ(aq) (p, q ∈ X∗)

feltétellel adjuk meg, azaz (7.2)-ben és (7.6)-ben definiált ρA ill. τA relációkraρA ⊆ τA, s így (7.8) miatt ρ′A = ρA. Ezek alapján Moore automaták karak-terisztikus félcsoportján [monoidján] vetületük karakterisztikus félcsoportját[monoidját] értjük.

7.4 Tétel Mealy automata karakerisztikus félcsoportja [monoidja] egyenlővázának karakterisztikus félcsoportjával [monoidjával].

54

Page 55: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen A = (A,X, Y, δ, λ) tetszőleges Mealy automata ésAY = (A × Y,X, δY ) az A automata váza. (1.3) alapján a p ∈ X+ hosszaszerinti teljes indukcióval megmutatható, hogy tetszőleges a ∈ A, y ∈ Y, p ∈X+ esetén

(a, y)p = (ap, λ(a, p)).

Mivel (1.4) szerint δY ((a, y), e) = (a, y) (a ∈ A, y ∈ Y ), ezért ρAY= ρ′A. �

A (7.8) összefüggésből adódik a következő tétel, amely összhangban vanazzal, hogy Moore automaták karakterisztikus félcsoportján vetületük karak-terisztikus félcsoportját értjük.

7.5 Tétel Ha egy Mealy automata teljesíti a Moore kritériumot, akkor ka-rakterisztikus félcsoportja egyenlő vetületének karakterisztikus félcsoportjá-val.

Bizonyítás. Teljesítse az A = (A,X, Y, δ, λ) Mealy automata a Moore kri-tériumot. Tegyük fel, hogy (p, q) ∈ ρA (p, q ∈ X+). Legyenek p′, q′ ∈ X∗ ésx, z ∈ X, amelyekre p = p′x és q = q′z. Akkor minden a ∈ A állapotra

δ(ap′, x) = ap = aq = δ(aq′, z)

teljesül. Ebből (1.1) szerint

λ(a, p) = λ(ap′, x) = λ(aq′, z) = λ(a, q),

azaz ρA ⊆ τA, tehát ρ′A = ρA. �Láttuk, hogy ρ′A[e] = {e}, ezért az előző tétel karakterisztikus monoi-

dokra csak abban az esetben igaz, ha ρA[e] = {e}.Most megadjuk, hogy milyen strukturális kapcsolat van Mealy automa-

ták és vetületük karakterisztikus félcsoportjai között. Ehhez először megad-juk Mealy automaták karakterisztikus félcsoportját bizonyos leképezéspárokfélcsoportjaként is. Definiáljuk minden p ∈ X+ bemenő szóra az A állapot-halmaz λp (p ∈ X+) leképezéseit az Y kimenő halmazba olyan módon, hogyminden a ∈ A állapotra

(7.9) λp(a) = λ(a, p)

teljesüljön. Jelölje T ′(A) a (δp, λp) (p ∈ X+) leképezéspárok halmazát, aholδp (p ∈ X+) az A halmaz (7.3) transzformációja. Vezessük be a T ′(A)halmazon a . műveletet a

(7.10) (δp, λp) . (δq, λq) = (δp ◦ δq, δp ◦ λq) (p, q ∈ X+)

összefüggéssel.

55

Page 56: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

7.6 Lemma Az A = (A,X, Y, δ, λ) Mealy automata karakterisztikus félcso-portja izomorf T ′(A)-val.

Bizonyítás. Először megmutatjuk, hogy T ′(A) a . műveletre félcsoport.Bármely a ∈ A és p, q ∈ X+ esetén, (1.6) összefüggést is felhasználva,

λpq(a) = λ(a, pq) = λ(ap, q) = λq(δp(a)) = (δp ◦ λq)(a),

azazλpq = δp ◦ λq.

Ez azt jelenti, hogy T ′(A) zárt a . műveletre. Nem nehéz számolással meg-mutatható, hogy a . művelet asszociatív. A

(7.11) ϕ(δp, λp)) = ρ′A[p] (p ∈ X+)

összefüggéssel definiált ϕ : T ′(A)→ X+/ρA′ leképezés T ′(A)-nak X+/ρA′-revaló izomorfizmusa. �

A T ′(A) egy generátorrendszere az M ′ = {(δx, λx);x ∈ X} rendszer. AzA = (A,X, Y, δ, λ) Mealy automata karakterisztikus félcsoportját S ′(A)-valfogjuk jelölni, és adott esetben azonosítjuk egy vele izomorf félcsoporttal, pél-dául X+/ρ′A-val vagy T ′(A)-val. Ha T ′(A)-hoz egységelemként adjungáljuka (δe, λe) leképezéspárt, akkor A karakterisztikus monoidjával izomorf fél-csoportot kapunk. Ha azonban (7.10)-ben X+ helyett X∗-ot vesszük, akkor(δe, λe) nem lesz egységelem.

Legyenek S és T tetszőleges félcsoportok és ϕ az S-nek E(T )-be való tet-szőleges homomorf leképezése. Jelölje az s ∈ S képét ϕs a ϕ leképezésnél.Ekkor minden s1, s2 ∈ S esetén ϕs1s2 = ϕs1ϕs2 . Definiáljuk az S×T halmazona (s1, t1)(s2, t2) = (s1s2, t1ϕs1(t2)) szorzást. Az S × T halmaz erre a műve-letre félcsoportot alkot, amelyet S és T ϕ szerinti szemidirekt szorzatánaknevezünk, s S ∗ϕT -sel jelölünk. A szemidirekt szorzat a direkt szorzat egy ál-talánosítása. Ha ugyanis ϕ(S) = ιT , akkor S ∗ϕT = S×T . Egy S ′ félcsoporta S és T félcsoportok szubszemidirekt szorzata, jelekben S ′ = S ∗subϕ T , ha S ′részfélcsoportja a S ∗ϕ T szemidirekt szorzatnak és minden s ∈ S elemhezvan olyan t ∈ T , hogy (s, t) ∈ S ′.

7.7 Tétel (Dao tétele) Ha S ′(A) az A = (A,X, Y, δ, λ) Mealy automata,S(A) pedig A vetületének karakterisztikus félcsoportja, akkor van olyan Ujobbzéró félcsoport és olyan ϕ : S(A) → E(U) homomorfizmus, hogy S ′(A)egyenlő egy S(A) ∗subϕ U szubszemidirekt szorzattal.

Bizonyítás. Legyen U = {λq; q ∈ X+} és vezessük be az U halmazona � műveletet úgy, hogy erre a műveletre U jobbzéró félcsoport legyen. A

56

Page 57: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

7.2. Lemma szerint azonosítsuk az S(A) karakterisztikus félcsoportot a T (A)transzformációfélcsoporttal. Definiáljuk minden p ∈ X+ bemenő szóra aψp : U → U leképezést a

ψp(λq) = λpq (q ∈ X+)

összefüggéssel. Bármely q1, q2 ∈ X+ párra

ψp(λq1 � λq2) = ψp(λq2) = λpq2 = λpq1 � λpq2 = ψp(λq1) � ψp(λq2),

azaz ψp ∈ E(U). Tekintsük azt a ϕ : S(A) → E(U) leképezést, amelyretetszőleges δp ∈ S(A) (p ∈ X+) esetén ϕ(δp) = ψp teljesül. (Nem nehézbelátni, hogy ϕ valóban leképezés.) Bármely p1, p2, q ∈ X+ bemenő szavakra

ψp1p2(λq) = λ(p1p2)q = λp1(p2q) = ψp1(p2q) = ψp1(ψp2(λq)),

vagyis ψp1p2 = ψp1ψp2 . Ez azt jelenti, hogy ϕ az S(A)-nak E(U)-ba valóhomomorfizmusa.

Megmutatjuk, hogy S ′(A) = S(A) ∗subϕ U . Azonosítsuk a 7.6. Lemmaszerint S ′(A)-t T ′(A)-val. Így S ′(A) az S(A) ∗ϕ U szemidirekt szorzat rész-halmaza. Mivel minden δp ∈ S(A) elemre (δp, λp) ∈ S ′(A), ezért csupán aztkell igazolni, hogy az S ′(A)-beli és a S(A)∗ϕU -beli műveletek megegyeznek.De az S ′(A)-ban

(δp, λp) . (δq, λq) = (δp ◦ δq, δp ◦ λq) = (δpq, λpq),

az S(A) ∗ϕ U félcsoportban pedig

(δp, λp)(δq, λq) = (δp ◦ δq, λp � ψp(λq)) = (δpq, ψp(λq)) = (δpq, λpq),

amivel az utóbbi állítást is igazoltuk. �Legyen (α, β, γ) leképezésrendszer az A = (A,X, Y, δ, λ) automatának az

A′ = (A′, X ′, Y ′, δ′, λ′) automatába való általános homomorfizmusa. Ha azα, a β és a γ leképezéseket homomorfan kiterjesztjük az A+, az X∗ ill. Y ∗félcsoportokra, a kiterjesztéseket ugyanúgy jelölve, akkor (1.4), (1.5), (3.6)és (3.7) alapján bármely a ∈ A állapotra és p ∈ X∗ bemenő szóra

(7.12) α(δ(a, p)) = δ′(α(a), β(p)),

(7.13) γ(λ(a, p)) = λ′(α(a), β(p)).

Megmutatjuk, hogy (7.12) igaz. Az (1.4) és (1.5) jelöléseit alkalmazva:

α(δ(a, e)) = α(a) = δ′(α(a), e) = δ′(α(a), β(e)),

57

Page 58: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

α(δ(a, p)) = α(a1a2 . . . ak) = α(a1)α(a2) . . . α(ak) =

= α(δ(a, x1))α(δ(a1, x2)) . . . α(δ(ak−1, xk)) =

δ′(α(a), β(x1))δ′(α(a1), β(x2)) . . . δ′(α(ak−1), β(xk)) =

= δ′(α(a), β(x1)β(x2) . . . β(xk)) = δ(α(a), β(p)).

A (7.13) érvényességét hasonlóan igazolhatjuk.Természetesen kimenő jel nélküli automatákra csak (7.12) érvényes. Mivel

δ(a, p) utolsó betűjét ap jelöli, ezért a (7.12) összefüggésből nyilvánvalóankövetkezik, hogy bármely a ∈ A és p ∈ X+ esetén

(7.14) α(ap) = α(a)β(p).

7.8 Tétel Ha az A′ automata az A automata általános homomorf képe,akkor A′ karakterisztikus félcsoportja [monoidja] homomorf képe A karakte-risztikus félcsoportjánaknak [monoidjának].

Bizonyítás. Mealy automata általános homomorf képének váza a vázánakáltalános homomorf képe. A 7.4. Tétel szerint Mealy automata karakteriszti-kus félcsoportja [monoidja] egyenlő vázának karakterisztikus félcsoportjával[monoidjával]. Továbbá Moore automata általános homomorf képének ve-tülete a vetületének általános homomorf képe. A 7.5. Tétel szerint Mooreautomata karakterisztikus félcsoportja [monoidja] megegyezik vetületének ka-rakterisztikus félcsoportjával [monoidjával]. Ezért elegendő az állítást kimenőjel nélküli automatákra bebizonyítani.

Legyen (α, β) az A = (A,X, δ) automata általános homomorf leképezéseaz A′ = (A′, X ′, δ′) automatára. Terjesszük ki az α és β leképezéseket azA+ ill. az X+ szabad félcsoportokra homomorf módon. A (7.3) feltétel és a7.2. Lemma szerint S(A) = {δp; p ∈ X+} és S(A′) = {δ′β(p); p ∈ X+}. Adjukmeg a ϕ : S(A) → S(A′) megfeleltetést a ϕ(δp) = δ′β(p) (p ∈ X+) feltétellel.A ϕ megfeleltetés S(A)-nek S(A′)-re való egyértelmű leképezése. Legyenekp, q ∈ X+ tetszőleges bemenő szavak. Akkor (7.7) szerint

ϕ(δp ◦ δq) = ϕ(δpq) = δ′β(pq) = δ′β(p)β(q) = δ′β(p) ◦ δ′β(q) = ϕ(δp) ◦ ϕ(δq),

azaz ϕ homomorfizmus.A bizonyítás karakterisztikus monoidokra csak annyiban különbözik az

előzőektől, hogy β-t X∗-ra terjesztjük ki homomorf módon, azaz β(e) = e isteljesül. �

A 7.8. Tétel segítségével könnyen igazolható a

7.9 Tétel Általánosan izomorf automaták karakterisztikus félcsoportjai izo-morfak. Izomorf automaták karakterisztikus félcsoportjai egyenlők.

58

Page 59: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

7.10 Tétel Ha az A′ automata az A automata AX-részautomatája, akkorA′ karakterisztikus félcsoportja [monoidja] homomorf képe A karakteriszti-kus félcsoportja [monoidja] egy részfélcsoportjának [részmonoidjának].

Bizonyítás. Mealy automata AX-részautomatájának váza a vázának rész-automatája, Moore automata AX-részautomatájának vetülete pedig a vetü-letének AX-részautomatája. Így a 7.4. és a 7.5. Tétel szerint elegendő azállítást kimenő jel nélküli automatákra bebizonyítani.

Legyen A′ = (A′, X ′, δ′) az A = (A,X, δ) automata AX-részautomatája.Adjuk meg az S(A) félcsoportot a 7.2. Lemma alapján a T (A) transzfor-mációfélcsoportként. Könnyen belátható, hogy S ′ = {δp; p ∈ X ′+} az S(A)karakterisztikus félcsoportnak részfélcsoportja. A

ϕ(δp) = δ′p (p ∈ X ′+)

feltétellel definiált ϕ megfeleltetés S ′-nek S(A′)-re való homomorf leképezése.A bizonyítás karakterisztikus monoidokra annyiban különbözik az előző

bizonyítástól, hogy S ′-ben szerepel a δe identikus leképezés. �

7.11 Tétel Ha A′ automata az A automata részautomatája, akkor A′ ka-rakterisztikus félcsoportja [monoidja] homomorf képe A karakterisztikus fél-csoportjánaknak. [monoidjának]

Bizonyítás. Mealy automata részautomatájának váza a vázának részauto-matája és Moore automata részautomatájának vetülete a vetületének rész-automatája. Így a 7.4. és a 7.5. Tétel szerint elegendő az állítást most iskimenő jel nélküli automatákra bebizonyítani.

Legyen A′ = (A′, X, δ′) az A = (A,X, δ) automata részautomatája. A7.10.Tétel bizonyításából nyilvánvalóan adódik az állítás, mivel a bizonyítás-ban szereplő S ′ egyenlő S(A)-val. �

7.12 Tétel Ha A′ az A automata X-részautomatája, akkor A′ karakteriszti-kus félcsoportja [monoidja] A karakterisztikus félcsoportjának [monoidjának]részfélcsoportja [részmonoidja].

Bizonyítás. Legyen az A′ = (A,X ′, Y ′, δ′, λ′) Mealy automata az A =(A,X, Y, δ, λ) Mealy automata X-részautomatája. Az (1.3) definíció alap-ján nem nehéz belátni, hogy az (A × Y ′, X ′, δ′) automata az A vázánakolyan AX-részautomatája, amelynek karakterisztikus félcsoportja [monoidja]megegyezik a váz (A × Y,X ′, δ′) X-részautomatájának karakterisztikus fél-csoportjával [monoidjával]. Moore automata X-részautomatájának vetületea vetületének X-részautomatája. Ezért a 7.4. és a 7.5. Tétel szerint elegendőaz állítást ebben az esetben is kimenő jel nélküli automatákra bebizonyítani.

59

Page 60: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha A′ = (A,X ′, δ′) az A = (A,X, δ) automata X-részautomatája, akkora 7.10. Tétel bizonyításában szereplő ϕ leképezés S ′ identikus leképezése,azaz S(A′) = S ′ �

7.13 Tétel Egy A-véges automata karakterisztikus félcsoportja akkor éscsak akkor bal reduktív, ha izomorf értékkészletének karakterisztikus félcso-portjával.

Bizonyítás. A 7.4. és a 7.5. Tétel szerint elegendő kimenő jel nélkü-li automatákra szorítkozni. Az A = (A,X, δ) automata A1 = (A1, X, δ1)értékkészlete A-nak részautomatája. A 7.11. Tétel szerint az S(A1) karak-terisztikus félcsoport az S(A) karakterisztikus félcsoport homomorf képe. Aϕ(δp) = (δ1)p (p ∈ X+) leképezés egy megfelelő homomorfizmus.

Tegyük fel, hogy S(A) ∼= S(A1). Mivel S(A) véges, ezért ϕ izomorfizmus.Legyenek δp és δq (p, q ∈ X+) az S(A) karakterisztikus félcsoport olyanelemei, amelyekre minden r ∈ X+ esetén

δrp = δr ◦ δp = δr ◦ δq = δrq

teljesül. Ebből kapjuk, hogy minden a ∈ A állapotra

(ar)p = a(rp) = a(rq) = (ar)q,

azaz (δ1)p = (δ1)q, így

δp = ϕ−1((δ1)p) = ϕ−1((δ1)q) = δq.

Ez azt jelenti, hogy S(A) bal reduktív.Megfordítva, legyen S(A) bal reduktív. Azt kell csak megmutatni, hogy

ϕ bijektív. Legyen e célból (δ1)p = (δ1)q (p, q ∈ X+), azaz minden a ∈ Aállapotra és r ∈ X+ bemenő szóra

(ar)p = a(rp) = a(rq) = (ar)q.

Ígyδr ◦ δp = δr ◦ δq.

De S(A) bal reduktív, ezért δp = δq, azaz ϕ valóban bijektív. �Egy elegendő feltételt könnyen adhatunk arra, hogy egy automata karak-

terisztikus félcsoportja mikor bal reduktív.

7.14 Tétel Ha egy automata átmenetfüggvénye szürjektív, akkor karakte-risztikus félcsoportja bal reduktív.

60

Page 61: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tegyük fel, hogy az A = (A,X, δ) automata δ átmenetfüggvé-nye szürjektív. Ebből következik, hogy A = {ar; a ∈ A, r ∈ X+}.

Legyenek δp és δq (p, q ∈ X+) az S(A) karakterisztikus félcsoport olyanelemei, amelyekre minden r ∈ X+ esetén

δr ◦ δp = δr ◦ δq.

Így minden a ∈ A állapotra

(ar)p = a(rp) = a(rq) = (ar)q,

azaz δp = δq. �

Feladatok7.1. Legyen az A = (A,X, δ) automata S(A) karakterisztikus félcsoportja egység-elemes. S(A) akkor és csak akkor egyenlő az S1(A) karakterisztikus monoiddal,ha δ szürjektív.7.2. Egy A = (A,X, δ) automata karakterisztikus félcsoportja akkor és csak akkorjobbzéró félcsoport, ha A teljes beállító automaták direkt összege.7.3 Egy Mealy automata karakterisztikus félcsoportjának akkor és csak akkor vanjobb oldali egységeleme [egységeleme], ha teljesíti a Moore kritériumot és vetületekarakterisztikus félcsoportjának van jobb oldali egységeleme [egységeleme].

8. KváziautomatákAz 1. fejezetben felhívtuk a figyelmet az A = (A,X, δ) automata δ átmenet-függvényének egy a

(8.1) δ(a, e) = a, δ(a, p) = ap (a ∈ A, p ∈ X∗)

feltétellel megadott δ : A × X∗ → A másik kiterjesztésére is, ahol ap ∈ Aazt az állapotot jelöli, amelybe az automata az a állapotból a p szó hatásáraátmegy. Ez pontosan azt jelenti, hogy

(8.2) δ(a, e) = e, δ(a, pq) = δ(δ(a, p), q) (a ∈ A, p, q ∈ X∗).

Ezzel a kiterjesztéssel az automatában az átmenetváltozás folyamatának csaka végeredményét vesszük figyelembe. A (7.2) definíció szerint a karakterisz-tikus félcsoport ilyen kiterjesztés mellett is ugyanaz marad.

A kiterjesztés tetszőleges A = (A,X, Y, δ, λ) Mealy automatára is megte-hető a δ átmenetfüggvény (8.1) kiterjesztésével és a λ kimenetfüggvény

(8.3) λ(a, px) = λ(ap, x) (a ∈ A, p ∈ X∗, x ∈ X)

61

Page 62: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

feltétellel megadott λ : A × X+ → Y kiterjesztésével. Az (1.17) és (1.18)szerint a nemdeterminisztikus automaták átmenet- és kimenetfüggvényénekértelmezését gyakorlatilag ezzel a módszerrel terjesztettük ki.

A következőkben a (8.2) kiterjesztésnek egy számunkra szükséges általá-nosításával foglalkozunk. Az általánosítás céljából legyen (S, ·) tetszőlegesgruppoid. Az A = (A, S, δ) kimenő jel nélküli automatát (S feletti) kvázia-utomatának mondjuk, ha teljesül az

(8.4) δ(a, s · t) = δ(δ(a, s), t), (a ∈ A, s, t ∈ S)

kváziautomata-tulajdonságnak nevezett feltétel. Az S feletti kváziautomatátaz irodalomban (jobb) S aktnak is nevezik. Ha az S gruppoid egységelemes,akkor azt is feltesszük, hogy

(8.5) δ(a, 1) = a, (a ∈ A),

ahol 1 az S gruppoid egységeleme. Az S gruppoidot a kváziautomata bemenőgruppoid jának nevezzük. A vizsgálatainkban S legtöbbször monoid. Termé-szetesen ezekben az esetekben bemenő monoidról beszélünk. A ciklikus, azerősen összefüggő, a reverzibilis stb. automatafogalmak kváziautomatákra ismegadhatók. Minden kimenő jel nélküli automata állapotfüggvényének (8.2)szerinti kiterjesztésével olyan kváziautomatát kapunk, amelynek bemenő mo-noidja szabad.

Kváziautomatákra is értelmezhető a (7.2)-ben definiált ρA Myhill-Nerodekongruencia és a S(A) = S/ρA karakterisztikus félcsoport. (A (7.2) definíci-óban természetesen X∗ helyett S szerepel.) Kváziautomatákra is érvényes a7.2. Tétel.

Legyen (S, ·) tetszőleges félcsoport. Definiáljuk az S = (S1, S, δ) kvá-ziautomata δ átmenetfüggvényét a

(8.6) δ(s, t) = s · t (s ∈ S1, t ∈ S)

feltétellel. Az S kváziautomatát félcsoportautomatának fogjuk nevezni. HaS monoid, akkor S = (S, S, δ) félcsoportautomatát monoidautomatának,ha pedig G [egyszerű] csoport, akkor a G = (G,G, δ) félcsoportautoma-tát [egyszerű ] csoportautomatának mondjuk. Az S′ félcsoportautomatát azS félcsoportautomata részfélcsoportautomatájának nevezzük, nevezzük, haS ′ részfélcsoportja S-nek. A G′ csoportautomatát az G csoportautomatarészcsoportautomatájának mondjuk, ha G′ részcsoportja G-nek. Minden fél-csoportautomata ciklikus és minden csoportautomata erősen összefüggő. Haα : S → S ′ leképezés az S félcsoport homomorf leképezése S ′-be, akkorazt mondjuk, hogy α az S félcsoportautomata homomorf leképezése S′ fél-csoportautomatába. Ez tulajdonképpen az S félcsoportautomata általános

62

Page 63: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

homomorf leképezése S′-be. Értelemszerűen beszélünk homomorfizmusról,homomorf képről, izomorfizmusról.

A definícióból nyilvánvalóan következik a

8.1 Tétel Bármely S félcsoport [monoid] esetén az S félcsoportautomata[monoidautomata] S(S) karakterisztikus félcsoportja [monoidja] S.

A 8.1. Lemmából következik, hogy minden félcsoport [monoid] tekinthetőegy kimenő jel nélküli automata karakterisztikus félcsoportjaként [monoidja-ként]. Minden kimenő jel nélküli automata felfogható Moore automataként is,ezért a 7.5. Tételt is felhasználva, az előbbi tétel szerint minden félcsoport fel-lép Moore automata, s így Mealy automata karakterisztikus félcsoportjakéntis. Minthogy egy automata karakterisztikus félcsoportja megegyezik hatvány-automatájának karakterisztikus félcsoportjával, ezért végtelen sok automatakarakterisztikus félcsoportja egyenlő.

Tetszőleges A = (A,X, δ) kimenő jel nélküli automata S1(A) karakterisz-tikus monoidját a 7.2. Lemma alapján azonositsuk T (A)-val. Az A automatakváziautomatájának nevezzük a Ak = (A, T (A), δk) kváziautomatát, amelyre

(8.7) δ(a, δp) = ap, (a ∈ A, p ∈ X∗).

8.2 Következmény Bármely S félcsoport felett van olyan kváziautomata,amely valamely automata kváziautomatája.

Bizonyítás. A 8.1. Lemma szerint az S félcsoportautomata kváziautoma-tája saját maga. �

8.3 Lemma Bármely automata kváziautomatája redukált bemenetű és be-menő félcsoportja megegyezik karakterisztikus félcsoportjával.

A 8.3. Lemma, amely a definíciók alapján azonnal belátható, azért fontos,mert az automaták karakterisztikus félcsoportjaik segítségével való vizsgála-ta visszavezethető redukált bemenetű kváziautomaták vizsgálatára. Mivelegy automata karakterisztikus félcsoportja a hozzá tartozó kváziautomatabemenő félcsoportja, ezért a lemma szerint a két automata karakterisztikusfélcsoportja egyenlő.

Legyen (S, ·) tetszőleges félcsoport és ρ az S egy jobb kongruenciája.Jelöljük az egyszerűség kedvéért műveletet S/ρ-ban ugyanúgy mint S-ben.Definiáljuk az S/ρ = ((S/ρ)1, S, δρ) kváziautomata δρ átmenetfüggvényétúgy, hogy

(8.8) δρ(ρ[s], t) = ρ[s · t] (s, t ∈ S),

63

Page 64: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

továbbá, ha (S/ρ)1 6= S/ρ és eρ az (S/ρ)1 egységeleme, akkor

(8.9) δρ(eρ, t) = ρ[t] (t ∈ S),

teljesüljön.

8.4 Tétel Ha ρ az S félcsoport kongruenciája, akkor S/ρ az S félcsoport-automata homomorf képe és S/ρ izomorf S(S/ρ)-val. Ha S/ρ egységelemes,akkor S1(S/ρ) = S(S/ρ).

Bizonyítás. Legyen ρ az (S, ·) félcsoport egy kongruenciája. Definiáljuk a ϕleképezést úgy, hogy minden s ∈ S elemre ϕ(s) = ρ[s] teljesüljön. Ezenkívül,ha S1 6= S, akkor (S/ρ)1 6= S/ρ esetben legyen ϕ(e′) = eρ, ahol e′ az S1 és eρaz (S/ρ)1 egységeleme. Ha pedig (S/ρ)1 = S/ρ, akkor ϕ(e′) = ρ[v] (v ∈ S),ahol ρ[v] S/ρ egységeleme. Ha S1 = S, akkor (S/ρ)1 = S/ρ. Látható, hogyϕ szürjektív leképezés. Bármely s, t ∈ S esetén

ϕ(δ(s, t)) = ϕ(s · t) = ρ[s · t] = δρ(ρ[s], t) = δρ(ϕ(s), t).

Ha S1 6= S és (S/ρ)1 6= S/ρ, akkor

ϕ(δ(e′, t)) = ϕ(e′ · t) = ϕ(t) = ρ[t] = δρ(eρ, t) = δρ(ϕ(e′), t).

Ha pedig S1 6= S és (S/ρ)1 = S/ρ, akkor

ϕ(δ(e′, t) = ϕ(e′ · t) = ϕ(t) = ρ[t] = ρ[vt] = δρ(ρ[v], t).

Ezzel megmutattuk, hogy ϕ homomorfizmus.Bebizonyítjuk a tétel második állítását. Először megmutatjuk, hogy az

α(ρ[t]) = (δρ)t (t ∈ S) megfeleltetés S/ρ-nak S(S/ρ)-ra való leképezése. Haρ[s] = ρ[t] (s, t ∈ S), akkor minden u ∈ S esetén

(δρ)s(ρ[u]) = δρ(ρ[u], s) = ρ[us] =

= ρ[ut] = δρ(ρ[u], t) = (δρ)t(ρ[u]).

Ezenkívül, ha (S/ρ)1 6= S/ρ, akkor

(δρ)s(eρ) = δρ(eρ, s) = ρ[s] = ρ[t] = δρ(eρ, t) = (δρ)t(eρ).

Ezzel megmutattuk, hogy α leképezés. A 7.2. Tétel kváziautomatákra isigaz, ezért S(S/ρ) = {(δρ)t; t ∈ S}, vagyis ϕ szürjektív.

Megfordítva, tegyük fel, hogy (δρ)s = (δρ)t. Ha S1 = S, akkor (S/ρ)1 =S/ρ. Továbbá, ha v S egységeleme, akkor ρ[v] S/ρ egységeleme. Így

ρ[s] = ρ[vs] = (δρ)s(ρ[v]) = (δρ)t(ρ[v]) = ρ[vt] = ρ[t].

64

Page 65: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha S1 6= S és (S/ρ)1 6= S/ρ, akkor

ρ[s] = δρ(eρ, s) = (δρ)s(eρ) = (δρ)t(eρ) = δρ(eρ, t) = ρ[t].

Ha pedig S1 6= S és (S/ρ)1 = S/ρ, akkor

ρ[s] = δρ(ϕ(e′), s) = (δρ)s(ϕ(e′)) = (δρ)t(ϕ(e′)) = δρ(ϕ(e′), t) = ρ[t].

Kaptuk, hogy α bijektív. Ha s, t ∈ S, akkor

α(ρ[s] · ρ[t]) = α(ρ[s · t]) = (δρ)s·t = (δρ)s ◦ (δρ)t = α(ρ[s]) ◦ α(ρ[t]),

azaz α izomorfizmus, vagyis S/ρ izomorf S(S/ρ)-val.Meg kell még mutatni, hogy ha (S/ρ)1 = S/ρ, akkor S1(S/ρ) = S(S/ρ).

Legyen ρ[v] (v ∈ S) S/ρ egységeleme, akkor minden u ∈ S esetén

(δρ)v(ρ[u]) = δρ(ρ[u], v] = ρ[uv] = ρ[u] = δρ(ρ[u], e) = (δρ)e(ρ[u]),

azaz (δρ)e = (δρ)v, ami éppen azt jelenti, hogy S1(S/ρ) = S(S/ρ). �Tetszőleges kváziautomata karakterisztikus félcsoportja bemenő gruppo-

idjának homomorf képe. Megmutatjuk, hogy ha az S ′ félcsoport az S gruppo-id homomorf képe, akkor van olyan ciklikus kimenő jel nélküli kváziautomatais, amelynek S a bemenő, S ′ pedig a karakterisztikus félcsoportja.

8.5 Tétel Tetszőleges S gruppoidhoz és S ′ félcsoporthoz akkor és csak akkorvan olyan kváziautomata, amelynek S bemenő gruppoidja és S ′ karakterisz-tikus félcsoportja, ha S ′ az S-nek homomorf képe.

Bizonyítás. Ha S az A kváziautomata bemenő gruppoidja, S ′ pedig akarakterisztikus félcsoportja, akkor S ′ = S/ρ′A miatt nyilvánvalóan S ′ azS-nek homomorf képe.

Megfordítva, legyen ϕ az S gruppoid homomorf leképezése az S ′ félcso-portra. Definiáljuk az A = ((S ′)1, S, δ) automata átmenetfüggvényét a

δ(1, t) = ϕ(t), δ(ϕ(s), t) = ϕ(st) (s, t ∈ S)

összefüggésekkel. Mivel ϕ homomorfizmus, ezért δ valóban leképezés. Meg-mutatjuk, hogy A kváziautomata. Az S bemenő gruppoid tetszőleges s, t1és t2 elemeire

δ(1, t1t2) = ϕ(t1t2) = δ(ϕ(t1), t2) = δ(δ(1, t1), t2),

δ(ϕ(s), t1t2) = ϕ(s(t1t2)) = ϕ(s)ϕ(t1t2) =

ϕ(s)(ϕ(t1)ϕ(t2)) = (ϕ(s)ϕ(t1))ϕ(t2) = ϕ(st1)ϕ(t2) =

65

Page 66: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

= ϕ((st1)t2) = δ(ϕ(st1), t2) = δ(δ(ϕ(s), t1), t2)

teljesül, azaz A kváziautomata. Minden a ∈ (S ′)1 állapotra δ(a, s) = δ(a, t)akkor és csak akkor teljesül, ha ϕ(s) = ϕ(t). Ez azt jelenti, hogy S ′ meg-egyezik az S(A) karakterisztikus félcsoporttal. �

A kváziautomata fogalma Mealy automatákra is kiterjeszthető. LegyenS tetszőleges gruppoid, amelynek nincs egységeleme. Az A = (A, S, Y, δ, λ)Mealy automatát (S feletti) kváziautomatának mondjuk, ha teljesülnek az

(8.10) δ(a, s · t) = δ(δ(a, s), t), λ(a, s · t) = λ(δ(a, s), t) (a ∈ A, s, t ∈ S)

kváziautomata-tulajdonságnak nevezett feltételek. Kimenő jel nélküli auto-matákra és Moore automatákra ez a kiterjesztés ugyanaz, mint a (8.4) felté-tellel megadott kiterjesztés.

8.6 Tétel Az A = (A, S, Y, δ, λ) Mealy automata akkor és csak akkor kvá-ziautomata, ha váza is kváziautomata.

Bizonyítás. Legyen A = (A, S, Y, δ, λ) olyan Mealy automata, amelynekS bemenő halmaza gruppoid, amelynek nincs egységeleme. Legyen az AMealy automata kváziautomata. Az (1.3.) és (8.10) feltételek szerint, haa ∈ A, y ∈ Y, s, t ∈ S, akkor

δY ((a, y), st) = (δ(a, st), λ(a, st)) = (δ(δ(a, s), t), λ(δ(a, s), t)) =

= δY ((δ(a, s), λ(a, s)), t) = δY (δY ((a, y), s), t),

azaz A váza is kváziautomata. Az állítás megfordítása hasonlóan bizonyít-ható. �

Bármely A = (A, S, Y, δ, λ) kváziautomata egy Mealy automata, ezért 2.-5. fejezetekben definiált fogalmak szó szerint átvihetők kváziautomatákra,mint Mealy automatákra. Legyen az A′ = (A′, S ′, Y ′, δ′, λ′) kváziautomataaz A = (A, S, Y, δ, λ) kváziautomata részautomatája. Ha figyelembe vesszüka (8.10) kváziautomata-tulajdonságot, azaz A-t és A′-t kváziautomatáknaktekintjük, akkor S ′-ről fel kell tenni, hogy az S gruppoid részgruppoidja.Ebben az esetben A′-t az A részkváziautomatájának nevezzük. Ha A-t vagyA′-t csak Mealy automataként tekintjük, akkor S ′ csak részhalmaza S-nek,azaz A′ az A-nak AX-részautomatája. X-részautomata helyett ebben azesetben S-részautomatát mondunk.

Legyen most (α, β, γ) az A = (A, S, Y, δ, λ) kváziautomata általános ho-momorf leképezése az A′ = (A′, S ′, Y ′δ′, λ′) kváziautomatába. Ha A-t ésA′-t kváziautomatáknak tekintjük, akkor az (α, β, γ) általános homomor-fizmusban fel kell tenni, hogy β az S gruppoidnak homomorf leképezése

66

Page 67: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a S ′ gruppoidba. Ebben az esetben kváziautomata-homomorfizmusról. X-homomorfizmus helyett ilyenkor S-homomorfizmust mondunk. Természete-sen, ha A-t vagy A′-t csak Mealy automataként vesszük figyelembe, akkorezt a feltételt nem kell β-ra kiróni. Az AY-homorfizmus kváziautomatákraugyanazt azt jelenti, mint Mealy automatákra.

A 7. fejezet eredményei, többek között Dao tétele, érvényesek kvázia-utomatákra is. Azonosítsuk az A = (A,X, Y, δ, λ) Mealy automata S ′(A)karakterisztikus félcsoportját a 7.6. Tétel alapján T ′(A)-val. Definiáljuk Aautomata Ak = (A, S ′(A), Y, δk, λk) kvázautomatáját

(8.11) δk(a, (δp, λp)) = δp(a), λk(a, (δp, λp)) = λp(a) (a ∈ A, p ∈ X+)

átmenet- és kimenetfüggvénnyel.Legyen A = (A, S, Y, δ, λ) olyan Mealy automata, amelynek S bemenő

halmaza nem egységelemes gruppoid. Felvetődik a kérdés, hogy megadható-e jól kezelhető kritérium vagy eljárás annak eldöntésére, hogy A teljesíti-e a(8.10) kváziautomata-tulajdonságot, azaz A kváziautomata vagy nem. VégesMealy automatákra a félcsoportelméletből jól ismert asszociativitási teszthezhasonló algoritmussal eldönthető a kérdés. Ezt az algoritmust kváziautomata-tesztnek nevezzük, s az alábbiakban írjuk le:

Legyenek A = {a1, . . . , am} és Y = {y1, . . . , yt} tetszőleges véges halma-zok, S = {s1, . . . , sn} pedig véges gruppoid, amelynek nincs egységeleme.Adjuk meg a S-beli szorzás Cayley-tábláját:

· s1 · · · sj · · · sns1 s11 · · · s1j · · · s1n

......

......

si si1 · · · sij · · · sin...

......

...sn sn1 · · · snj · · · snn,

és az A = (A, S, Y, δ, λ) Mealy automata átmenet-kimenettáblázatát:

A a1 · · · ak · · · am

s1 (a11, y11) · · · (a1k, y1k) · · · (a1m, y1m)...

......

...si (ai1, yi1) · · · (aik, yik) · · · (aim, yim)...

......

...sn (an1, yn1) · · · (ank, ynk) · · · (anm, ynm).

67

Page 68: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Vegyük az si bemenő jelre a Cayley-tábla

si1, . . . , sij, . . . , sin (i = 1, . . . , n)

és az átmenet-kimenettáblázat

(ai1, yi1), . . . , (aik, yik), . . . , (aim, yim) (i = 1, . . . , n)

i-edik sorának elemeit, amelyeket nevezzünk egyszerűen a táblák si-sorának.Készítsük el, és nevezzük el si-táblának, a következő táblázatot:

si ai1 · · · aik · · · aimsi1...sij...sin

Próbáljuk meg kitölteni a táblázatot úgy, hogy sij-sora (j = 1, . . . , n)egyenlő legyen az átmenet-kimenettáblázat sij-sorával, az aik-oszlopa pe-dig az átmenet-kimenettáblázat aik-oszlopával (k = 1, . . . ,m). Ha a kitöl-tés minden i-re (i = 1, . . . , n) lehetséges, akkor az A automata teljesíti akváziautomata-tulajdonságot.

Az előbbi algoritmus helyességét elég könnyen igazolhatjuk. Ha ugyanisaz si-tábla (i = 1, . . . , n) kitölthető, akkor az sij-sor és az aik-oszlop közöseleme

(δ(ak, sij), λ(ak, sij)) = (δ(aik, sj), λ(aik, sj)) (j = 1, . . . , n; k = 1, . . . ,m).

De (δ(ak, si), λ(ak, si)) = (aik, yik) és sij = sisj, ezért

(δ(ak, sisj), λ(ak, sisj)) = (δ(ak, sij), λ(ak, sij)) =

(δ(aik, sj), λ(aik, sj)) = (δ(δ(ak, si), sj)), λ(δ(ak, si), sj)).

Feladatok8.1. Ha A′ = (A′, X ′, Y ′, δ′, λ′) az A = (A,X, Y, δ, λ) Mealy automata AX-részautomatája, akkor A′ kváziautomatája S-homomorf képe A kváziautomatájaegy részkváziautomatájának.8.2 Bármely automata általános homomorf képének kváziautomatája az automatakváziautomatájának kváziautomata-homomorf képe. Altalánosan izomorf automa-ták kváziautomatái kváziautomata-izomorfak.

68

Page 69: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

II. AUTOMATALEKÉPEZÉSEKEbben a részben az automatákat mint információátalakító rendszereket vizs-gáljuk. Megadjuk az információátalakítás algebrai fogalmát és megmutatjuk,hogy minden információátalakítást a tárgyalt automatatípusokkal meg lehetoldani.

9. Az automataleképezés fogalmaLegyenX∗ a nemüresX halmaz feletti szabad félcsoport, amely az e üres szótis tartalmazza. Az X halmaz elemeivel megfogalmazott információkon az Xelemeiből képezett véges sorozatokat, azaz az X∗-beli szavakat értjük. Ha ap és q olyan X∗-beli szavak, amelyekhez vannak olyan r és t X∗-beli szavak,hogy p = rqt, akkor a q szót a p szó részszavának nevezzük. Ha emellettq 6= p, akkor q-t p valódi részszavának hívjuk. Ha r = e, akkor azt mondjuk,hogy a q részszó a p kezdőszelete vagy prefixe. Ha pedig t = e, akkor q ap zárószelete vagy szuffixe. Így az üres szó bármely szó részszava (prefixe,szuffixe). Ha q 6= p, akkor q-t a p valódi kezdőszeletének [zárószeleténekhívjuk.

Alfabetikus leképezéseknek nevezzük az α : X∗ → Y ∗ alakú leképezéseket,azaz az X∗ szabad félcsoportnak az Y ∗ szabad félcsoportba való leképezéseit.Ebben a részben is tekintsünk el az |Y | = 1 triviális esettől, azaz tegyükfel, hogy |Y | ≥ 2. Információátalakításon egy alfabetikus leképezés megadá-sát értjük. Az α alfabetikus leképezést szóhossztartónak hívjuk, ha mindenp ∈ X∗ szóra |α(p)| = |p| teljesül. Azt mondjuk, hogy az α alfabetikus leké-pezés prefixtartó, ha tetszőleges szó bármely kezdő szeletét a képszó egy kez-dőszeletébe viszi át. Ezt úgy is megfogalmazhatjuk, hogy bármely p(∈ X∗)szóhoz van olyan αp : X∗ → Y ∗ alfabetikus leképezés, amely minden q ∈ X∗szóra teljesíti a

(9.1) α(pq) = α(p)αp(q)

feltételt. Az αp (p ∈ X∗) leképezéseket az α leképezés állapotainak nevezzük.Megmutatjuk, hogy az α szóhossz- és prefixtartó alfabetikus leképezés állapo-tai is szóhossz- és prefixtartó alfabetikus leképezések. A definícióból könnyenadódik, hogy az αp (p ∈ X∗) leképezések szóhossztartóak. Ha q, r ∈ X∗,akkor

α(p)αp(qr) = α(pqr) = α(pq)αpq(r) = α(p)αp(q)αpq(r),

ezértαp(qr) = αp(q)αpq(r),

69

Page 70: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz az αp leképezések a szó kezdőszeleteit a képszó kezdőszeleteibe viszikát, és így (αp)q = αpq. Bármely α : X → Y leképezés homomorf kiterjesztéseX∗-ra olyan α : X∗ → Y ∗ automataleképezés, amelynek egyetlen állapotaönmaga.

Egy A = (A,X, Y ′, δ, λ) (∅ ⊂ Y ′ ⊆ Y ) Mealy automata tetszőleges a ∈ Aállapotához rendeljük hozzá azt az αA,a : X∗ → Y ∗ alfabetikus leképezést,amelyre

(9.2) αA,a(p) = λ(a, p) (p ∈ X∗)

teljesül. Az αA,a leképezést az A automata (a állapota) által indukált le-képezésének nevezzük. Azt is mondjuk, hogy αA,a-t az A automata (az aállapotával) indukálja. Ha nem vezet félreértésre, akkor αA,a helyett a rövi-debb αa jelölést használjuk.

Az α : X∗ → Y ∗ alfabetikus leképezést automataleképezésnek nevezzük,ha létezik olyan A = (A,X, Y ′, δ, λ) (Y ′ ⊆ Y ) Mealy automata és olyana ∈ A állapot, hogy α = αA,a teljesül. Ha az A Mealy automata iniciálisaz a0 kezdő állapottal, akkor az αa0 leképezést az A iniciális automata általindukált leképezésnek mondjuk és rá az αA jelölést is használjuk. Természe-tesen, ha az A = (A,X, Y ′, δ, λ) automata indukálja az α automataleképe-zést az a ∈ A állapotával, akkor A-t inicializálhatjuk a-val, azaz írhatjukA = (A, a,X, Y ′, δ, λ) alakban.

9.1 Tétel Egy α : X∗ → Y ∗ alfabetikus leképezés akkor és csak akkor au-tomataleképezés, ha szóhossz- és prefixtartó leképezés.

Bizonyítás. Először megmutatjuk a feltétel szükségességét. Az (1.4) és a(1.5) összefüggésből adódik, hogy bármely a ∈ A állapotra az αa leképezésszóhossztartó. Ha p, q ∈ X∗, akkor (1.6) szerint

αa(pq) = λ(a, pq) = λ(a, p)λ(ap, q) = αa(p)αap(q).

Ez azt jelenti, hogy αa a szó kezdőszeleteit a képszó kezdőszeleteibe viszi át,azaz αa prefixtartó leképezés és (αa)p = αap.

Az elegendőség bizonyításához tegyük fel, hogy az α : X∗ → Y ∗ alfabeti-kus leképezés szóhossz- és prefixtartó. Legyen Aα az α állapotainak halmaza,azaz

(9.3) Aα = {αp; p ∈ X∗}.

Alkossuk meg azt az Aα = (Aα, α,X, Yα, δα, λα) iniciális automatát, amelyreYα = {αp(x); p ∈ X∗, x ∈ X},

(9.4) δα(αp, x) = αpx, λα(αp, x) = αp(x).

70

Page 71: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Először az X∗-beli szavak hossza szerinti teljes indukcióval belátjuk, hogy azátmenet- és a kimenetfüggvény (1.4)-(1.5) kiterjesztéséből következnek az

(9.5) (αp)q = αpq, λα(αp, q) = αp(q) (p, q ∈ X∗)

összefüggések. Az (1.4) kiterjesztés szerint bármely p ∈ X∗ bemenő szóra

(αp)e = αp, λα(αp, e) = e = αp(e).

Tegyük fel, hogy minden legfeljebb n hosszúságú q ∈ X∗ bemenő szóra

(αp)q = αpq, λα(αp, q) = αp(q).

Akkor tetszőleges x ∈ X bemenő jelre, az (1.5) kiterjesztést is felhasználva,

(αp)qx = ((αp)q)x = αpqx = δα(apq, x) = αpqx,

λα(αp, qx) = λα(αp, q)λα((αp)q, x) =

= αp(q)λα(αpq, x) = αp(q)αpq(x) = αp(qx).

Ezek alapján már nem nehéz belátni, hogy δα és λα jól definiáltak. Ezek-ből az is következik, hogy minden q ∈ X∗ bemenő szóra

αAα(q) = λα(αe, q) = αe(q) = α(q),

azaz αAα = α, vagyis Aα indukálja az α = αe leképezést. �Az előbbi bizonyításban megkonstruált Aα automatát az α leképezéshez

tartozó alsó automatának nevezzük. A 9.1. Tétel bizonyítása alapján nyil-vánvalóan igaz alábbi következmény.

9.2 Következmény Egy automataleképezés akkor és csak akkor indukálha-tó véges automatával, ha állapotainak száma véges.

Az α : X∗ → Y ∗ automataleképezés indukálható azzal az

Aα = (X∗, e,X, Yα, δα, λα)

iniciális automatával is amelynek kimenő halmaza megegyezik α automatale-képezéshez tartozó alsó automata kimenő halmazával, átmenet- és kimenet-függvénye pedig a

(9.6) δα(p, x) = px, λα(p, x) = αp(x) (p ∈ X∗, x ∈ X)

összefüggésekkel van definiálva. A bizonyítás szintén elvégezhető az X∗-beliszavak hossza szerinti teljes indukcióval.

Az Aα automata egy szabad automata, amelyet az α automataleképe-zéshez tartozó felső automatának nevezzük. Vegyük észre, hogy tetszőlegesautomataleképezéshez tartozó alsó és felső automata iniciálisan összefüggő.

71

Page 72: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

9.3 Tétel Egy kezdő állapotot tartalmazó A iniciálisan összefüggő Mealyautomata akkor és csak akkor indukálja az α automataleképezést, ha A ini-ciális homomorf képe az Aα felső automatának és az Aα alsó automata az Aautomata iniciális homomorf képe.

Bizonyítás. Indukálja az A = (A, a0, X, Y′, δ, λ) iniciálisan összefüggő au-

tomata az α automataleképezést, azaz legyen α = αa0 . Mivel

λ(a0p, x) = αa0p(x) = αp(x) (p ∈ X∗, x ∈ X),

ezért Y ′ = Yα. Definiáljuk a ϕ : X∗ → A és ψ : A → Aα leképezéseket úgy,hogy minden p ∈ X∗ bemenő szóra ϕ(p) = a0p és ψ(a0p) = αp teljesüljön. Aϕ leképezés az Aα felső automatának A-ra, ψ pedig az A automatának azAα alsó automatára való homomorf leképezése.

A feltétel elegendő, mivel iniciális automata iniciális homomorf képénekkezdő állapota az iniciális automata kezdő állapotának homomorf képe. �

9.4 Példa Legyenek X = {x}, Y = {y, z}, α : X∗ → Y ∗, amelyre α(e) = eés α(xn) = yzn−1 (n ∈ N+, z

0 = e).Az α alfabetikus leképezés automataleképezés, αx(xn) = zn (n ∈ N+) és

αx(e) = e. Ezenkívül αxk = αx (k ∈ N+). Tehát Aα = {α, αx}, Yα = Y , azα-hoz tartozó alsó automata átmenet- és kimenetfüggvénye:

δα(α, x) = δα(αx, x) = αx,

λα(α, x) = y, λα(αx, x) = z.

Az α-hoz tartozó felső automata átmenet- és kimenetfüggvénye:

δα(e, x) = x, δα(xk, x) = xk+1,

λα(e, x) = y, λα(xk, x) = z (k ∈ N+.

Ha X = {x1, x2, . . . , xk} és Y = {y1, y2, . . . , yn}, azaz véges halmazok,akkor bármely α : X∗ → Y ∗ automataleképezés egyértelműen megadható egyvégtelen irányított fával. Vegyük fel a fa gyökérpontját. A gyökérpontbólindítsunk ki k irányított élt úgy, hogy balról jobbra haladva az i-edik élfeleljen meg az xi jelnek. Jelöljük meg ezt az élt az α(xi) jellel. Az i-edikirányított él végpontját az első szint i-edik pontjának nevezzük. Az elsőszint j-edik pontjából (j = 1, 2, . . . , k) ismét indítsunk k irányított élt úgy,hogy balról jobbra haladva az i-edik él feleljen meg az xi jelnek, s amelyetα(xjxi) szó utolsó betűjével jelölünk meg. Az eljárást folytatva olyan végtelenirányitott fához jutunk, amelynek l-edik szintjén a j-edik pontjából kiindulóa i-edik irányitott él az α(pxi) szó utolsó betűjével van megjelölve, ahol

72

Page 73: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

p(∈ X∗) az az egyetlen szó, amelyhez tartozó irányított út a gyökérpontbólaz l-edik szint j pontjához vezet. Az élek ilyen megjelölésével kapott fát azα automataleképezés gráfjának nevezzük. E gráfról egy p ∈ X+ szó α(p)képét úgy olvassuk le, hogy végigmegyünk a gyökérpontból kiindulva a p szóáltal meghatározott úttal elérhető pontig és sorban leolvassuk az út éleihezírt jeleket. (Ez a gráf tulajdonképpen a felső automata átmenetgráfja.)

Világos, hogy véges X és Y halmazok esetén minden α : X∗ → Y ∗

automataleképezéshez megadhatunk a fenti módon egy végtelen irányítottfát. Megfordítva, minden végtelen irányitott fa egyértelműen meghatározegy α : X∗ → Y ∗ automataleképezést. Az α automataleképezés gráfjárólleolvashatjuk α állapotait. Valóban, tetszőleges p ∈ X+ szóra az αp állapotgráfja az α gráfjának az a részgráfja, amelynek gyökérpontja az α gráfjánakgyökérpontjából a p szó által meghatározott úttal elérhető pontja.

9.5 Lemma Ha α : X∗ → Y ∗ és β : Y ∗ → Z∗ automataleképezések, akkorα ◦ β is automataleképezés és minden p ∈ X∗ esetén

(α ◦ β)p = αp ◦ βα(p).

Bizonyítás. Definíció szerint minden p ∈ X∗ szóra α ◦ β(p) = β(α(p)),amiből látható, hogy α ◦ β szóhossztartó leképezés.

Tetszőleges q ∈ X∗ szóra

α ◦ β(pq) = β(α(pq)) = β(α(p)αp(q)) =

= β(α(p))βα(p)(αp(q)) = α ◦ β(p)αp ◦ βα(p)(q),

vagyis α ◦ β prefixtartó leképezés és (α ◦ β)p = αp ◦ βα(p). �Moore automata által indukált automataleképezéseken értjük a Moore

automatához tartozó Mealy automata által indukált automataleképezése-ket. Az A = (A,X, Y, δ, µ) Moore automata kimenetfüggvénye (1.2) sze-rint λ = µδ, ezért az A Moore automata a ∈ A állapota által indukált αaautomataleképezés (1.8) szerint minden p ∈ X+ bemenő szóra teljesíti a

(9.7) αa(p) = µ(δ(a, p))

összefüggést. A (9.7) összefüggés az e üres szóra nem teljesül, mert αa(e) = e,de µ(δ(a, e)) = µ(a).

Az 1. fejezetben említettük, hogy egy A = (A,X, δ) kimenő jel nélkü-li automata tekinthető olyan Mealy automatának is, amelynek δ átmenet-függvénye egyúttal kimenetfüggvény is. Ez alapján az A kimenő jel nélküliautomata által indukált automataleképezéseken értjük azokat az αa : X∗ →

73

Page 74: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A∗(a ∈ A) lekepezéseket, amelyekre αa(p) = δ(a, p) (p ∈ X+) és α(e) = eteljesülnek.

Legyen ξ X-nek X ′-re, ill. η Y -nak Y ′-re való kölcsönösen egyértelműleképezése, azaz X és X ′, ill. Y és Y ′ ekvivalens halmazok. Terjesszük ki ξ-tX∗-ra, ill. η-t Y ∗-ra monoid-homomorfizmussá. Az α : X∗ → Y ∗ alfabetikusleképezéshez definiáljuk azt az αξ,η : X ′∗ → Y ′∗ alfabetikus leképezést, amelyminden p ∈ X∗ szóra teljesíti az

αξ,η(ξ(p)) = η(α(p))

feltételt. Nyilvánvaló, hogy α akkor és csak akkor automataleképezés, ha αξ,ηis az. Jelöljük az α : X∗ → Y ∗ automataleképezések halmazát AL[X, Y ]-nal. Az AL[X, Y ] és az AL[X ′, Y ′] halmaz számossága egyenlő. Indukáljaaz α : X∗ → Y ∗ automataleképezést az A = (A,X, Y, δ, λ) Mealy automataa0 ∈ A állapota. Definiáljuk az A′ = (A,X ′, Y ′, δ′, λ′) Mealy automata δ′átmenet- és λ′ kimenetfüggvényét a

δ′(a, ξ(x)) = δ(a, x), λ′(a, ξ(x)) = η(λ(a, x)) (a ∈ A, x ∈ X)

összefüggésekkel. Az A′ Mealy automata az αξ,η automataleképezést szin-tén az a0 állapotával indukálja. A δ′ és a λ′ függvények definíciójából kö-vetkezik, hogy (ξ, η) az A automata bemenetkimenet-izomorf leképezése azA′ automatára. Ez azt jelenti, hogy az automataleképezésekkel kapcsolatosvizsgálatokban elegendő olyan automatákra és homorfizmusaikra szorítkozni,amelyeknek bemenő halmazai és hasonlóan kimenő halmazai nem ekvivalen-sek.

Megmutatjuk, hogy tetszőleges információátalakítás megadható automa-taleképezés segítségével.

9.6 Tétel Legyenek X, Y tetszőleges nemüres halmazok és u /∈ X, v /∈ Ytetszőleges jelek, továbbá X ′ = X ∪ {u}, Y ′ = Y ∪ {v}. Bármely α : X∗ →Y ∗ alfabetikus leképezéshez kölcsönösen egyértelmű módon megadható olyanα′ : X ′∗ → Y ′∗ automataleképezés, amelyre

(9.8) α′(puk) = vnα(p) (|p| = n, |α(p)| = k, p ∈ X∗)

teljesül.

Bizonyítás. Adjuk meg az α : X∗ → Y ∗ alfabetikus leképezéshez az α′ :X ′∗ → Y ′∗ alfabetikus leképezést a következő módon:

Ha |p| = n, (p ∈ X∗) és |α(p)| = k, akkor α(p) bármely l hosszúságú qkezdőszeletére legyen

(9.9) α′(pul) = vnq (0 ≤ l ≤ k)

74

Page 75: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ebből adódik, hogy α′(puk) = vnα(p) és α′(p) = vn. Ha p = e, akkor azt iskapjuk, hogy α′(e) = e.

Minden más p′ ∈ X ′+ szóra pedig legyen

(9.10) α′(p′) = α′(r′)vm (p′ = r′q′, |q′| = m, r′, q′ ∈ X ′∗),

ahol r′ a p′-nek az a leghosszabb kezdőszelete, amelyre α′(r′) a (9.9) összefüg-géssel már definiálva van. Könnyen belátható, hogy α′ automataleképezés.

Tegyük fel, hogy az α : X∗ → Y ∗ és β : X∗ → Y ∗ automataleképezésekreα′ = β′. Legyen p ∈ X∗ tetszőleges szó, |p| = n ≥ 0, |α(p)| = i, |β(p)| = jés p′ ∈ X ′∗ olyan, hogy p′ = puk, ahol i, j < k. Akkor (9.9) és (9.10) szerint

vnα(p)vk−i = α′(pui)vk−i = α′(p′) =

= β′(p′) = β′(puj)vk−j = vnβ(p)vk−j,

amiből következik, hogy α(p) = β(p), azaz α = β. �Egy α : X∗ → Y ∗ alfabetikus leképezéshez az α′ automataleképezés fenti

módszerrel való megszerkesztése, nem mindig gazdaságos. Ahhoz, hogy errőlmeggyőződjünk, elegendő azt az esetet tekinteni, amikor α maga is automa-taleképezés.

Feladatok9.1. Az A = (A, a,X, Y, δ, λ) iniciálisan összefüggő automata által indukált αaleképezés akkor és csak akkor homomorfizmus, ha A memória nélküli.9.2. Legyen αp (p ∈ X∗) a (9.1) feltétellel definiált automataleképezés és q ∈ X+.Mutassuk meg, hogy αp = αpq akkor és csak ha akkor minden r ∈ X∗ bemenőszóra αp(qr) = αp(q)αp(r).9.3. Tetszőleges (nemüres) X halmaz esetén X∗ önmagába α való automataleképe-zéseinek A(X) halmaza a függvények kompozíciójára a T (X) teljes transzformáci-ófélcsoport részmonoidja. Az X∗ bijektív automataleképezéseinek A′(X) halmazaa függvények kompozíciójára az S(X) teljes permutációcsoport részcsoportja.9.4. Legyen X tetszőleges véges (nemüres) halmaz. A 9.3. feladat jelöléseit al-kalmazva, ha α injektív vagy szürjektív, akkor α ∈ A′(X) és bármely p ∈ X+ szóesetén αp ∈ A′(X).9.5. Legyen X tetszőleges véges (nemüres) halmaz és V(X) a véges automatákkalindukált α : X∗ → X∗ bijektív automataleképezések halmaza. A 9.3. feladatjelöléseit alkalmazva, V(X) a függvények kompozíciójára A′(X) részcsoportja ésbármely p ∈ X+ szó esetén αp ∈ V(X).

(Megemlítjük, hogy máig is megoldatlan Csákány Béla és Gécseg Ferencáltal a 60-as évek közepén felvetett következő probléma. Véges (nemüres)X halmazesetén az A′(X) és a V(X) csoportok minimálisan generálhatók-e? ([26], 206.oldal.))

75

Page 76: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

9.6. Legyen α : X∗ → Y ∗ egy automataleképezés. Definiáljuk a az Y ∗ × X∗

halmazon a szorzás műveletét a következő módon:

(p, q) · (r, t) = (pαq(t), qt) (p, r ∈ Y ∗, q, t ∈ X∗).

(Y ∗×X∗, ·) olyan félcsoport, amelynek vannak jobb oldali egységelemei. Határoz-zuk meg a jobb oldali egységelemeket.

10. Állapotok megkülönböztethetőségeKimenőjeles automaták működését általában kimeneti viselkedése alapjánítéljük meg. Ezért a (belső) állapotok egymástól való megkülönböztetésénekegy természetes módja annak vizsgálata, hogy van-e olyan olyan bemenő jel-sorozat, amelynek a hatására különböző jelsorozatot adnak ki az automaták,ha ezek az állapotok a kezdő állapotok.

Legyenek A = (A,X, Y, δ, λ) és B = (B,X, Y, δ′, λ′) közös bemenő éskimenő halmazzal rendelkező Mealy automaták. Azt mondjuk, hogy az Aautomata a és a B automata b állapota megkülönböztethető a p ∈ X+ szóval,ha λ(a, p) 6= λ′(b, p). Ha |p| = n, akkor úgy is mondjuk, hogy az a és bállapot n lépésben megkülönböztethetők. Az a és b állapotokat megkülönböz-tethetőknek nevezzük, ha

(10.1) (∃p ∈ X+) λ(a, p) 6= λ′(b, p),

azaz van olyan p szó, amellyel megkülönböztethetők. Ellenkező esetben aztmondjuk, hogy a megkülönböztethetetlen b-től. Másképpen mondva, a és bmegkülönböztethetetlen akkor és csak akkor, ha ugyanazt az automataleké-pezést indukálják. Ha A vagy B Moore automata, akkor a definícióban ahozzájuk tartozó Aλ vagy Bλ′ Mealy automata szerepel.

10.1 Tétel Ha az n állapotú A Mealy automata a és b állapota megkülön-böztethető, akkor megkülönböztethető legfeljebb n − 1 hosszúságú bemenőszóval is. Az általános esetben a szóhosszra vonatkozó felső korlát nem csök-kenthető.

Bizonyítás. Definiáljuk az A = (A,X, Y, δ, λ) automata A állapothalma-zán minden k nemnegatív egész számra az ηk relációt úgy, hogy tetszőlegesa, b ∈ A párra (a, b) ∈ ηk akkor és csak akkor teljesüljön, ha a és b nemkülönböztethető meg egyetlen legfeljebb k hosszúságú szóval sem, azaz, hap ∈ X∗ és |p| ≤ k, akkor λ(a, p) = λ(b, p). Ez azt jelenti, hogy η0 = ωA.Könnyen belátható, hogy ηk ekvivalencia. Jelölje ck az ηk-osztályok számát.

76

Page 77: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A definícióból látható, hogy ηk+1 ≤ ηk és ck ≤ ck+1. Az ηk-osztályok számalegfeljebb n, ezért

1 = c0 ≤ c1 ≤ c2 ≤ · · · ≤ ck ≤ ck+1 ≤ · · · ≤ n.

Így van olyan m ≤ n − 1, hogy ηm = ηm+1. Megmutatjuk, hogy ekkorminden i pozitív egész számra ηm = ηm+i. Ehhez elegendő azt bebizonyítani,hogy ha valamely k nemnegatív egész számra ηk = ηk+1, akkor ηk+1 = ηk+2 isteljesül. Mivel ηk+2 ≤ ηk+1, ezért csak azt kell megmutatni, hogy ηk+1 ≤ ηk+2.Legyen (a, b) ∈ ηk+1, valamint legyenek x1, x2 ∈ X tetszőleges bemenő jelekés p ∈ X∗ tetszőleges bemenő szó, amelyre |p| ≤ k teljesül. Akkor

λ(a, x1)λ(δ(a, x1), p) = λ(a, x1p) = λ(b, x1p) = λ(b, x1)λ(δ(b, x1), p),

vagyis λ(a, x1) = λ(b, x1) és

λ(δ(a, x1), p) = λ(δ(b, x1), p),

azaz (δ(a, x1), δ(b, x1)) ∈ ηk = ηk+1, amiből

λ(δ(a, x1), x2p) = λ(δ(b, x1), x2p)

adódik. Ígyλ(a, x1x2p) = λ(a, x1)λ(δ(a, x1), x2p) =

= λ(b, x1)λ(δ(b, x1), x2p) = λ(a, x1x2p).

Ami azt jelenti, hogy ηk+1 ≤ ηk+2.Legyenm az a legkisebb nemnegatív egész szám, amelyre minden i pozitív

egész szám esetén ηm = ηm+i teljesül. Már láttuk, hogy m ≤ n−1. Ha a ∈ Aés b ∈ A megkülönböztethető, akkor létezik olyan m hosszúságú p bemenőszó, hogy λ(a, p) 6= λ(b, p), amit bizonyítanunk kellett.

Tekintsük most azt az A = (A,X, Y, δ, λ) automatát, amelyre A ={1, 2, . . . , n} (n ≥ 2), X = {x1, x2}, Y = {y1, y2}. A δ és a λ függvényeketa következő egyenletekkel definiáljuk:

δ(i, x1) = i+ 1, λ(i, x1) = y1 (i = 1, 2, . . . , n− 1),

δ(n, x1) = δ(n, x2) = n− 1, λ(n, x1) = λ(n, x2) = y2,

δ(j, x2) = j − 1, λ(j, x2) = y1 (j = n− 1, n− 2, . . . , 2),

δ(1, x2) = 1, λ(1, x2) = y1.

Ha elkészítjük az automata átmenet-kimenetgráfját, akkor arról leolvasható,hogy az 1 és a 2 állapotok megkülönböztethetők például az n− 1 hosszúságúxn−1

1 bemenő szóval, de nem különböztethető meg egyetlen (n−1)-nél kisebbhosszúságú szóval sem. Ezzel megmutattuk, hogy a tételben megadott n− 1felső korlát az általános esetben nem csökkenthető. �

77

Page 78: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

10.2 Tétel Legyen A = (A,X, Y, δ, λ) m állapotú és B = (B,X, Y, δ′, λ′) nállapotú Mealy automata. Ha az a ∈ A és b ∈ B állapot megkülönböztethető,akkor megkülönböztethető legfeljebb m + n − 1 hosszúságú bemenő szóval.A szóhosszra vonatkozó m+ n− 1 felső korlát általában nem csökkenthető.

Bizonyítás. Az általánosság megszorítása nélkül feltehetjük, hogy A∩B =∅. Tekintsük az A és B Mealy automaták A ⊕ B direkt összegét. Az Aautomata a állapota akkor és csak akkor különböztethető meg a B automatab állapotától, ha a és b megkülönböztethető az A ⊕B automatában. Mivel|A ∪B| = m+ n, ezért a tétel első fele az 10.1.Tételből következik.

Legyen most az A = (A,X, Y, δ, λ) automata ugyanaz, mint a 10.1. Tételmásodik részének bizonyításában és B = {b1, . . . , bn}, amelyre A ∩ B = ∅.Definiáljuk a B = (B,X, Y, δ′, λ′) automata δ′ átmenet- és λ′ kimenetfügg-vényét az alábbi módon:

δ′(b1, x1) = b1, δ′(b1, x2) = b2, λ′(b1, x1) = λ′(b1, x2) = y1,

minden más esetben

δ′(bi, xj) = bδ(i,xj), λ′(bi, xj) = λ(i, xj).

Az n és a bn állapotok megkülönböztethetők a 2n − 1 hosszúságú xn2xn−11

szóval, de ennél rövidebb szóval nem. Tehát a tételben megadott felső korlátáltalában nem csökkenthető. �

Legyenek A = (A,X, Y, δ, µ) és B = (B,X, Y, δ′, µ′) tetszőleges Moore au-tomaták. Emlékeztetünk arra, hogy a λ = µδ és a λ′ = µ′δ′ függvényeket A,ill. A′ kimenetfüggvényének is nevezzük. Így a Mealy automatákra megadottdefinícióval összhangban, a ∈ A és b ∈ B állapot a p ∈ X∗ szóval megkülön-böztethető vagy |p| lépésben megkülönböztethető, ha µ(δ(a, p)) 6= µ′(δ′(b, p)).Az a és b állapot megkülönböztethető, ha

(10.2) (∃p ∈ X∗) µ(δ(a, p)) 6= µ′(δ′(b, p)).

Ellenkező esetben azt mondjuk, hogy a és b megkülönböztethetetlen. A Me-aly automaták állapotainak (10.1)-ben definiált megkülönböztethetőségébőlkövetkezik, hogy a Moore automatákhoz tartozó Mealy automaták megkülön-böztethető állapotai a Moore automatáknak is megkülönböztethető állapotai,a Moore automaták megkülönböztethetetlen állapotai pedig a hozzájuk tar-tozó Mealy automatáknak is megkülönböztethetetlen állapotai. Megadjukaz előbbi két tétel Moore automatákra vonatkozó megfelelőit.

10.3 Tétel Ha az n állapotú és l kimenő jeles A Moore automata a ésb állapota megkülönböztethető, akkor megkülönböztethető legfeljebb n − l

78

Page 79: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

hosszúságú bemenő szóval. Az általános esetben a szóhosszra vonatkozó felsőkorlát nem csökkenthető.

Bizonyítás. A 10.1. Tétel bizonyításából Moore automatákra is következikaz állítás első része, ha λ = µδ és az ηk relációk helyett a ζk = π∩ηk relációkattekintjük, ahol a π a A Moore automata (4.5)-ben definiált jelekvivalenciája,azaz az a, b ∈ A állapotokra (a, b) ∈ π akkor és csak akkor, ha µ(a) = µ(b).(A definícióból látható, hogy ζ0 = π.) Mivel |Y | = l, ezért

l = c0 ≤ c1 ≤ c2 ≤ · · · ≤ ck ≤ ck+1 ≤ · · · ≤ n.

Így m ≤ n− l. (Moore automatákra az |Y | ≤ |A| feltétel mindig teljesül.)Vegyük azt az A = (A,X, Y, δ, µ) Moore automatát, amelyre

A = {1, 2, . . . , n} (n ≥ 2), X = {x}, Y = {y1, y2, . . . , yl} (2 ≤ l ≤ n).

A δ és a λ függvényeket a

δ(i, x) = i+ 1 (i = 1, 2, . . . , n− 1), δ(n, x) = 1,

µ(j) = y1 (j = 1, 2, . . . , n− l + 1), µ(n− l + j) = yj (j = 2, . . . , l)

összefüggésekkel értelmezzük. Az 1 és 2 állapotok nem különböztethetők megaz xn−l−1 szóval, de az xn−l szóval megkülönböztethetők. Tehát a tételbenmegadott n− l felső korlát az általános esetben nem csökkenthető. �

10.4 Tétel Legyenek az A = (A,X, Y, δ, µ) és B = (B,X, Y, δ′, µ′) Mooreautomatákra |A| = m, |B| = n és |Y | = l. Ha az a ∈ A és b ∈ B állapotmegkülönböztethető, akkor megkülönböztethető legfeljebb m+n− l hosszú-ságú bemenő szóval. A szóhosszra vonatkozó m+n− l felső korlát általábannem csökkenthető.

Bizonyítás. A 10.2. Tétel bizonyításából Moore automatákra is következikaz állítás első része.

Tekintsük azokat az A = (A,X, Y, δ, µ) és B = (B,X, Y, δ′, µ′) Mooreautomatákat, amelyekre A = {1, 2, . . . , 2n}, B = {b1, b2, . . . , bn}, A ∩ B =∅, (2 ≤ n), X = {x}, Y = {y1, y2, . . . , yn}, azaz m = 2n és l = n. Azátmenet- és kimenetfüggvényeket a

δ(i, x) = i+ 1 (i = 1, 2, . . . , 2n− 1), δ(n, x) = 1 ,

δ′(bj, x) = bj+1 (j = 1, 2, . . . , n− 1), δ′(bn, x) = b2,

µ(k) = µ′(bk) = yk (k = 1, 2, . . . , n− 1), µ(n) = y1, µ′(bn) = yn,

µ(n+ t) = µ′(bm+t) (t = 1, 2, . . . , n)

összefüggésekkel értelmezzük. Az n és bn állapotok nem különböztethetőkmeg az x2n−1 szóval, de az x2n szóval megkülönböztethetők, azaz a tételbenmegadott felső korlát általában nem csökkenthető. �

79

Page 80: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

11. Automaták ekvivalenciájaTetszőleges X és Y nemüres halmazokra jelölje AL[X, Y ]-val az α : X∗ → Y ∗

automataleképezések halmazát. Legyen tetszőleges A = (A,X, Y, δ, λ) Mealyautomatára ΦA = {αa; a ∈ A}, ahol αa az automata a állapota által indukáltleképezés. Azt mondjuk, hogy egy A Mealy automata indukálja AL[X, Y ]egy Φ részhalmazát, ha Φ = ΦA. Ha A Moore automata, akkor ΦA = ΦAλ

.Ha az A automatát inicializáljuk, azaz kijelölünk kezdő állapotokat, ak-

kor ez azzal jár, hogy a ΦA halmazban kitüntetjük azokat a leképezéseket,amelyeket ezek az állapotok indukálnak.

Az A = (A,X, Y, δ, λ) és B = (B,X, Y, δ′, λ′) Mealy automatákat ekvi-valensnek nevezzük, jelekben A ≡ B, ha ΦA = ΦB. Ha A vagy B Mooreautomata, akkor A-t és B-t abban az esetben mondjuk ekvivalensnek, ha ahozzájuk tartozó Mealy automaták ekvivalensek.

Iniciális automatákra bevezetünk egy másik ekvivalencia fogalmat is. Kétiniciális automatát akkor nevezünk iniciálisan ekvivalensnek, ha kezdő álla-potaik ugyanazokat az automateleképezéseket indukálják. Minden egy kezdőállapotú iniciális automata iniciálisan ekvivalens a kezdő állapot által gene-rált részautomatájával. Ez az részautomata nyilvánvalóan iniciálisan össze-függő.

Moore automatákra megadunk egy további ekvivalenciát is. Definiáljukaz A = (A,X, Y, δ, µ) Moore automata a ∈ A állapotaira az

(11.1) α′a(p) = µ(δ(a, p)) (p ∈ X∗)

leképezéseket. A (9.7) összefüggés szerint minden p ∈ X+ bemenő szóraα′a = αa. Nyilvánvaló, hogy bármely a, b ∈ A esetén α′a = α′b akkor és csakakkor ha (αa, µ(a)) = (αb, µ(b)). Vezessük be a Φ′A = {(αa, µ(a)); a ∈ A}jelölést. Azt mondjuk, hogy az A = (A,X, Y, δ, µ) és B = (B,X, Y, δ′, µ′)Moore automaták Moore ekvivalensek, jelekben A≡MB, ha Φ′A = Φ′B. HaΦ′A = Φ′B, akkor ΦA = ΦB, vagyis igaz a

11.1 Tétel Moore ekvivalens Moore automaták ekvivalensek is.

Két iniciális Moore automatát iniciálisan Moore ekvivalensnek nevezünk,ha kezdő állapotaikra ugyanazokat a (11.1)-beli leképezéseket kapjuk.

11.2 Tétel Egy kezdő állapotot tartalmazó iniciálisan ekvivalens [Moore ek-vivalens] iniciálisan összefüggő automaták ekvivalensek [Moore ekvivalensek].

Bizonyítás. Legyenek az A = (A, a0, X, Y, δ, λ) és a B = (B, b0, X, Y, δ′, λ′)

iniciálisan összefüggő Mealy automaták iniciálisan ekvivalensek, azaz αa0 =

80

Page 81: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

αb0 . Így (1.6) szerint minden r, p ∈ X∗ párra

λ(a0, r)λ(a0r, p) = λ(a0, rp) = λ′(b0, rp) = λ′(b0, r)λ′(b0r, p)

teljesül. Amiből kapjuk, hogy

αa0r(p) = λ(a0r, p) = λ′(b0r, p) = αb0r(p),

azaz minden r ∈ X∗ bemenő szóra az a0r és a b0r állapot megkülönböztet-hetetlen. Mivel az A és a B automaták iniciálisan összefüggők, ez éppen aztjelenti, hogy ekvivalensek is. Moore automatákra a bizonyítás hasonló. �

11.3 Tétel Mealy [Moore] automata homomorf képei ekvivalensek [Mooreekvivalensek].

Bizonyítás. Elegendő megmutatni, hogy Mealy [Moore] automata és bár-mely homomorf képe ekvivalens. Legyen ϕ az A = (A,X, Y, δ, λ) Mealyautomata homomorf leképezése a B = (B,X, Y, δ′, λ′) Mealy automatára.Megmutatjuk, hogy bármely a ∈ A állapot megkülönböztethetlen a ϕ(a)állapottól, vagyis minden p ∈ X∗ szóra

λ(a, p) = λ′(ϕ(a), p).

A bizonyítást a bemenő szavak hossza szerinti teljes indukcióval végezzük el.Ha |p| = 0, azaz p = e, akkor minden a ∈ állapotra

λ(a, e) = e = λ′(ϕ(a), e).

Legyen n tetszőleges nemnegatív egész szám. Tegyük fel, hogy minden a ∈ Aállapotra és k(≤ n) hosszúságú p szóra

λ(a, p) = λ′(ϕ(a), p)

teljesül. Ha x ∈ X tetszőleges bemenő jel, akkor

λ(a, xp) = λ(a, x)λ(δ(a, x), p) = λ′(ϕ(a), x)λ′(ϕ(δ(a, x)), p) =

= λ′(ϕ(a), x)λ′(δ′(ϕ(a), x)), p) = λ′(ϕ(a), xp).

Ez azt jelenti, hogy minden n+ 1 hosszúságú szóra is igaz az állítás.Moore automatákra a bizonyítás hasonlóan végezhető el. �A 11.3. Tétel iniciális automaták iniciális homomorfizmusaira is igaz, ha

ekvivalencia helyett iniciális ekvivalenciát mondunk. A 11.3. Tétel triviáliskövetkezménye, hogy izomorf Mealy [Moore] automaták ekvivalensek [Mooreekvivalensek].

81

Page 82: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Jelölje CME(A) az A Mealy automata kongruenciahálóját. Definiáljukaz A állapothalmazon a ρA,max, vagy rövidebben a ρmax (binér) relációt úgy,hogy minden p(∈ X∗) bemenő szóra

(11.2) (a, b) ∈ ρA,max ⇐⇒ λ(a, p) = λ(b, p) (a, b ∈ A).

azaz ha az a és b állapotok megkülönböztethetetlenek. Másképpen kifejezve,ha αa = αb, azaz ha a és b ugyanazt az automataleképezést indukálják. A(11.2) helyett a vele ekvivalens

(11.3) (a, b) ∈ ρA,max ⇐⇒ λ(a, p) = λ(b, p) (a, b ∈ A)

feltétel is írható (e = e). Nem nehéz megmutatni, hogy ρmax kongruencia ésCME(A) legnagyobb eleme. Ha C(Apr) az A Mealy automata vetületénekkongruenciahálója, akkor (4.3) szerint

CME(A) = {ρ ∩ ρmax; ρ ∈ C(Apr)}.

A ρmax relációt az A automata megkülönböztethetlenségi relációjának, azA/ρmax faktorautomatát pedig, s bármely vele izomorf automatát, az A Me-aly automatához tartozó egyszerű automatának nevezzük. Ha ρA,max = ιA,akkor azt mondjuk, hogy A egyszerű Mealy automata.

Legyen A = (A,X, Y, δ, µ) tetszőleges Moore automata. Jelölje CMO(A)az A kongruenciáinak hálóját. Ha az A Moore automatát a λ = µδ ki-menetfüggvényű Mealy automatának tekintjük, akkor a 4.1. Lemma szerintCMO(A) az CME(Aλ) kongruenciaháló részhálója, mégpedig

CMO(A) = {ρ ∩ π; ρ ∈ CME(Aλ)}.

Definiáljuk az A állapothalmazon a πA,max, vagy rövidebben a πmax (binér)relációt úgy, hogy minden p ∈ X∗ bemenő szóra

(11.4) (a, b) ∈ πmax ⇐⇒ µ(δ(a, p)) = µ(δ(b, p)) (a, b ∈ A),

Mivel λ = µδ az A Moore automata kimenetfüggvénye, ezért (11.2) szerint(11.4) pontosan azt jelenti, hogy

(11.5) πmax = π ∩ ρmax,

és πmax a CMO(A) kongruenciaháló legnagyobb eleme. Azt mondjuk, hogya πmax reláció az A Moore automata megkülönböztethetetlenségi relációja.Az A/πmax faktorautomatát, s bármely vele izomorf automatát az A Mooreautomatához tartozó egyszerű automatának nevezzük. Ha πA,max = ιA, akkorA-t egyszerű Moore automatának nevezzük.

82

Page 83: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha az A Mealy automata memória nélküli, akkor ρA,max = ωA. Ebből kö-vetkezik, hogy az egyszerű memória nélküli automaták a triviális automaták.A (4.1) és a (4.2) definíciókból látható, hogy egy Mealy automata kongruenci-ája vetületének is kongruenciája. Ezért, ha a Mealy automata nem memórianélküli és vetülete egyszerű, akkor a Mealy automata is egyszerű.

Két automata ekvivalenciájának kérdése visszavezethető egyszerű auto-matáik vizsgálatára, amint ezt a következő tétel mutatja.

11.4 Lemma Két Mealy [Moore] automata akkor és csak akkor ekvivalens[Moore ekvivalens], ha a hozzájuk tartozó egyszerű automaták izomorfak.

Bizonyítás. Az elegendőség közvetlenül adódik 11.3. Tételből.A szükségesség bizonyítása céljából tegyük fel, hogy az A = (A,X, Y, δ, λ)

és a B = (B,X, Y, δ′, λ′) Mealy automaták ekvivalensek. Jelölje ρmax az Aautomata, τmax pedig a B megkülönböztethetetlenségi relációját. Legyenϕ ⊆ A/ρmax × B/τmax az a megfeleltetés, amelyre minden a ∈ A és b ∈ Besetén (ρmax[a], τmax[b]) ∈ ϕ akkor és csak akkor, ha a megkülönböztethetet-len b-től. Világos, hogy ϕ bijektív leképezés. Könnyű számolással adódik azis, hogy ϕ izomorfizmus. Moore automatákra a bizonyítás ugyanígy megy,csak ρmax helyett a πmax relációval. �

Az előző lemma közvetlen következménye a

11.5 Tétel Az A Mealy [Moore] automatával ekvivalens [Moore ekvivalens]automaták MA halmazában létezik egy izomorfiától eltekintve egyértelmű-en meghatározott A0 automata, amely homomorf képe bármely MA-beliautomatának. Az A0 automataként választható tetszőleges MA-beli auto-matához tartozó egyszerű automata.

Jellemezzük az α : X∗ → Y ∗ automataleképezések AL[X, Y ] halmazánakMealy automatákkal indukálható részhalmazait. Az AL[X, Y ] halmaz egy Φrészhalmazát zártnak nevezzük, ha bármely α ∈ Φ és p ∈ X∗ esetén αp ∈ Φ,azaz Φ az automataleképezések állapotait is tartalmazza (αe = α). Magaaz AL[X, Y ] halmaz is zárt halmaz. (A definíció szerint az ∅ halmaz is zárthalmaz, amelyet az üres automata indukál.)

Legyen Φ az AL[X, Y ] halmaz egy zárt részhalmaza. Legyen továbbá

Φ = (Φ, X, YΦ, δΦ, λΦ)

az a Mealy automata, amelyre YΦ = {αp(x);α ∈ Φ, p ∈ X∗, x ∈ X}, s úgymint (9.4)-ben,

(11.6) δΦ(αp, x) = αpx, λΦ(αp, x) = αp(x).

83

Page 84: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tegyük fel, hogyαp = βq (α, β ∈ Φ, p, q ∈ X∗).

Akkor bármely x ∈ X és r ∈ X∗ esetén, (9.5)-öt is felhasználva,

αp(x)αpx(r) = αp(xr) = βq(xr) = βq(x)βqx(r).

Ebből következik, hogy αpx = βqx, azaz δΦ és λΦ jól definiáltak. Jelölje ΦA

az A = (A,X, Y, δ, λ) Mealy automata állapotai által indukált automatale-képezéseinek halmazát, azaz ΦA = {αa; a ∈ A}.

11.6 Tétel Bármely A = (A,X, Y, δ, λ) Mealy automatára a ΦA Mealy au-tomata izomorf az A/ρmax egyszerű automatával. Speciálisan, ha az egykezdő állapotú A iniciálisan összefüggő Mealy automata indukálja az α au-tomataleképezést, akkor az Aα alsó automata iniciálisan izomorf A/ρmaxegyszerű automatával.

Bizonyítás. Megmutatjuk, hogy minden a ∈ A állapotra a ϕ(αa) = ρmax[a]összefüggéssel definiált ϕ leképezés ΦA izomorf leképezése az A/ρmax egy-szerű automatára. Az nyilvánvaló, hogy ϕ bijektív leképezés. Ha αa ∈ ΦA

és x ∈ X, akkor (4.7)-et is használva

ϕ(δΦA(αa, x)) = ϕ(αδ(a,x)) = ρmax[δ(a, x)] =

= δρmax(ρmax[a], x) = δρmax(ϕ(αa), x),

λΦA(αa, x) = αa(x) = λ(a, x) = λρmax(ρmax[a], x) = λρmax(ϕ(αa), x),

azaz ϕ izomorfizmus.Legyen A = (A, a0, X, Y, δ, λ) iniciálisan összefüggő és legyen α = αa0 .

Mivel A iniciálisan összefüggő, ezért bármely a ∈ A állapothoz van olyan p ∈X∗ bemenő szó, hogy a = a0p. A (9.3) és (9.4) definíciók alapján jelölje az α-hoz tartozó alsó automatát Aα = (Aα, α,X, Y, δα, λα). A (11.6) definícióbólkapjuk, hogy Aα = ΦA. Ha az A/ρmax faktorautomatában kezdőállapotkéntρmax[a0]-t adjuk meg, akkor a tétel első állításából következik a másodikállítás. �

11.7 Következmény AzAL[X, Y ] halmaz egy Φ részhalmaza akkor és csakakkor indukálható Mealy automatával, ha zárt.

Bizonyítás. Legyen A = (A,X, Y, δ, λ) tetszőleges Mealy automata. A ΦA

halmaz definíciójából következik, hogy ha αa ∈ ΦA, akkor minden p ∈ X∗

bemenő szóra(αa)p = αap ∈ ΦA,

84

Page 85: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz ΦA zárt.Megfordítva, tegyük fel, hogy Φ zárt. A 11.6. Tétel bizonyítása alapján

nyilvánvaló, hogy Φ-t indukálja a Φ Mealy automata. �A 11.6. Tétel és a 11.7. Következmény Moore automatákra is igaz, ha

ρmax helyett a πmax kongruenciát tekintjük. Továbbá az A = (A,X, Y, δ, µ)Moore automatára ΦA helyett vegyük az (11.1)-ben definiált α′a leképezésekΦ′A halmazát, amelyet a (11.1) definíció után megadott (αa, µ(a)) párokhalmazaként tekintünk. A ΦA Moore automatát definiáljuk a

(11.7) δA((αa, µ(a)), x) = (αax, µ(ax)), µA(αa, µ(a)) = µ(a) (a ∈ A)

feltétellel megadott átmenet-, ill. jelfüggvénnyel. Az előző fejezet tételeibőlközvetlenül adódik a

11.8 Tétel A véges Mealy [Moore] automaták ekvivalenciaproblémája algo-ritmikusan megoldhatható.

Láttuk, hogy az A = (A,X, Y, δ, λ) Mealy automata és a (3.10) feltételleldefiniált AY Moore automata ekvivalens.

Legyen A0 a 11.5. Tételben megadott automaták egyike és M(A0) a 3.5.Tételben szereplő automata.

11.9 Tétel Az A Mealy automatával ekvivalens Moore automaták MOA

halmazában létezik egy izomorfiától eltekintve egyértelműen meghatározottB0 Moore automata, amely homomorf képe bármely MOA-beli automatá-nak. Az B0 automataként választható M(A0) vagy tetszőleges MOA-beliMoore automatához tartozó egyszerű automata.

Bizonyítás. Ha B ∈ MOA, akkor B/πB,max ∈ MOA, mivel a 11.1. Tételszerint B és B/πB,max ekvivalensek. A 11.5. Tétel szerint az A Mealy auto-matával ekvivalens Mealy automatákMA halmazában létezik egy izomorfi-ától eltekintve egyértelműen meghatározott A0 automata, amely homomorfképe bármelyMA-beli automatának. LegyenMO′A azMOA-beli automa-tákhoz tartozó Mealy automaták halmaza. Nyilvánvaló, hogyMO′A ⊆MA.A 3.5. Tételben szereplő M(A0) Moore automata minden olyan Moore au-tomatának homomorf képe, amelynek A0 is homomorf képe. De A0 azB/πB,max Moore automata homomorf képe, mivel ez utóbbi automata ek-vivalens A-val. Ebből következik, hogy M(A0) homomorf képe B/πB,maxegyszerű Moore automatának, ezért izomorf vele. Így M(A0) az B Mooreautomatának is homomorf képe. �

Felhívjuk a figyelmet arra, hogy egy adott A Mealy automatával ekvi-valens Moore automatákMOA halmaza Moore automaták bizonyos Mooreekvivalens osztályainak egyesítése.

85

Page 86: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Feladat11.1. Az A = (A,X, Y, δ, λ) Mealy automata minden homomorf képe akkor éscsak akkor teljesíti az (1.1) Moore kritériumot, ha bármely a1, a2 ∈ A és x1, x2 ∈ Xesetén

(δ(a1, x1), δ(a2, x2)) ∈ ρmax =⇒ λ(a1, x1) = λ(a2, x2).

12. Véges automaták minimalizálásaEkvivalens Mealy automaták között a hozzájuk tartozó egyszerű automatáka legkisebb számosságúak. Minden véges Mealy automatához meg tudunkszerkeszteni egy hozzá tartozó egyszerű automatát. Ezt az algoritmust az au-tomata minimalizálásának is nevezzük. Az algoritmus ismertetéséhez néhánytovábbi fogalmat kell bevezetnünk.

A 10.1. Tétel bizonyításában véges Mealy automatákra definiáltuk azηk ⊆ A2 (k ∈ N) ekvivalenciákat az

(12.1) (a, b) ∈ ηk ⇐⇒ (∀p ∈ X(k)) λ(a, p) = λ(b, p)

feltételekkel (ωA = η0). Ez természetesen tetszőleges Mealy automatára isdefiniálható. (Az η1 relációt az A Mealy automata kimeneti ekvivalenciá-jának nevezzük.) Minden k nemnegatív egész számra

ηk+1 ⊆ ηk, ∩∞k=0ηk = ρmax.

Ha (a, b) ∈ ηk, akkor azt is mondjuk, hogy az a és b állapot k lépésbenmegkülönböztethetetlen. Az ηk reláció akkor és csak akkor kongruencia, haηk = ρmax. Az ηk = ρmax egyenlőség azt jelenti, hogy ha két állapot klépésben megkülönböztethetetlen, akkor megkülönböztethetetlen. Ha vanolyan k ∈ N , amelyre ηk = ρmax, akkor azt mondjuk, hogy az A Mealyautomata uniform. Ha k ∈ N olyan, amelyre ηk = ρmax, de ηk−1 6= ρmax,akkor az A Mealy automatát k-uniformnak hívjuk. Minden véges Mealyautomatához van olyan k ∈ N , hogy az automata k-uniform. Ha egy k-uniform A Mealy automata egyszerű, akkor A-t k-egyszerű nek nevezzük.

A 10.3. Tétel bizonyításában véges Moore automatákra definiáltuk azζk ⊆ A2 (k ∈ N) ekvivalenciákat. Ezek a relációk is definiálhatók tetszőlegesMoore automatára is, azaz

(12.2) ζk = π ∩ ηk.

Minden k ∈ N esetén

(12.3) (a, b) ∈ ζk ⇐⇒ (∀p ∈ X(k)) µ(δ(a, p)) = µ(δ(b, p)).

86

Page 87: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Nyilvánvaló, hogyζk+1 ⊆ ζk, ∩∞k=0ζk = πmax.

Továbbá ζ0 = π, azaz az A automata jelekvivalenciája. Egy ζk reláció ak-kor és csak akkor kongruencia, ha ζk = πmax. Emlékeztetünk arra, hogy ha(a, b) ∈ ζk, akkor azt is mondjuk, hogy az a és b állapot k lépésben megkülön-böztethetetlen. Ha van olyan k ∈ N , amelyre ζk = πmax, akkor az A Mooreautomatát uniformnak nevezzük. Ha k ∈ N olyan, amelyre ζk = πmax ésηk−1 6= πmax, akkor az A Moore automatát k-uniformnak hívjuk. Természe-tesen minden véges Moore automatához valamilyen k ∈ N esetén k-uniform.Ha a k-uniform A Moore automata egyszerű, akkor A-t k-egyszerű nek ne-vezzük.

Az 1. fejezetben tetszőleges A = (A,X, Y, δ, µ) Moore automatához de-finiáltuk az Aλ = (A,X,Rλ, δ, λ) Mealy automatát, ahol λ = µδ függvénya Moore automata kimenetfüggvénye. A következő három lemma állítását(12.2) szerint elegendő Mealy automatákra bizonyítani.

12.1 Lemma Az A Mealy [Moore] automata bármely a és b állapotára(a, b) ∈ ηk [ζk] akkor és csak akkor, ha minden p ∈ Xk szóra

λ(a, p) = λ(b, p) [µ(a) = µ(b), µ(δ(a, p)) = µ(δ(b, p))].

Bizonyítás. Ha (a, b) ∈ ηk, akkor definíció szerint minden k hosszúságú pszóra igaz a λ(a, p) = λ(b, p) egyenlet. Moore automatákra természetesen az(a, b) ∈ ζk feltételből µ(a) = µ(b) mindig következik.

Megfordítva, tegyük fel, hogy minden k hosszúságú szóra teljesül az előbbiegyenlet. Legyen q ∈ X∗ tetszőleges olyan szó, amelyre |q| ≤ k. Ha p ∈ X∗olyan k hosszúságú szó, amelynek q kezdőszelete, azaz p = qr valamilyenk − |q| hosszúságú r ∈ X∗ szóra, akkor (1.6) szerint

λ(a, q)λ(aq, r) = λ(a, qr) = λ(a, p) = λ(b, p) = λ(b, qr) = λ(b, q)λ(bq, r).

Mivel |λ(a, q)| = |λ(b, q)|, ezért λ(a, q) = λ(b, q). �

12.2 Lemma Az A Mealy [Moore] automata bármely a és b állapotára(a, b) ∈ ηk+1 (k ∈ N+) [ζk+1 (k ∈ N)] akkor és csak akkor, ha (a, b) ∈ ηk[ζk] és minden x ∈ X bemenő jelre

(δ(a, x), δ(b, x)) ∈ ηk [ζk].

Bizonyítás. Ha (a, b) ∈ ηk+1 (k ∈ N+), akkor a 12.1. Lemma szerint,bármely p ∈ Xk szóra és x ∈ X bemenő jelre λ(a, xp) = λ(b, xp). Az (1.6)összefüggés alapján

λ(a, x)λ(δ(a, x), p) = λ(b, x)λ(δ(b, x), p).

87

Page 88: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Mivel |λ(a, x)| = |λ(b, x)| = 1, ezért λ((δ(a, x), p) = λ((δ(a, x), p), így a 12.1.Lemma alapján, (δ(a, x), δ(b, x)) ∈ ηk.

Megfordítva, tegyük fel, hogy (a, b) ∈ ηk (k ∈ N+) és minden x ∈ Xbemenő jelre (δ(a, x), δ(b, x)) ∈ ηk. Legyen p ∈ Xk+1 tetszőleges bemenő szó,x ∈ X és q ∈ Xk pedig olyanok, hogy p = xq. Akkor

λ(a, x) = λ(b, x) és λ(δ(a, x), q) = λ(δ(b, x), q),

ezért (1.7) miatt λ(a, p) = λ(b, p). Ez azt jelenti, hogy (a, b) ∈ ηk+1.Látható, hogy Moore automatákra k = 0 esetben is igaz az állítás. �

12.3 Lemma Valamely k nemnegatív egész számra ηk = ηk+1 [ζk = ζk+1]akkor és csak akkor teljesül, ha ηk = ρmax [ζk = πmax].

Bizonyítás. Mivel minden k ∈ N esetén ρmax ⊆ ηk+1 ⊆ ηk, ezért, haηk = ρmax, akkor ηk = ηk+1.

Megfordítva, tegyük fel, hogy k ∈ N olyan, amelyre ηk+1 = ηk teljesül. Hak = 0, akkor ηk+1 = ηk = ωA, így ηk kongruencia, ezért ηk = ρmax. Legyen1 ≤ k. Tudjuk, hogy ρmax ⊆ ηk. Megmutatjuk, hogy ηk az A automatakongruenciája. Amiből viszont következik, hogy ηk = ρmax. Legyenek p ∈ Xk

és x ∈ X tetszőlegesek. Tegyük fel, hogy (a, b) ∈ ηk. Akkor ηk = ηk+1 miatt(a, b) ∈ ηk+1, ezért λ(a, xp) = λ(b, xp). Ebből az egyenletből (1.6) alapjánkapjuk, hogy λ(δ(a, x), p) = λ(δ(b, x), p), azaz (δ(a, x), δ(b, x)) ∈ ηk. Ez aztjelenti, hogy ηk kongruencia. Moore automaták esetén a bizonyításban nemkell megkülönböztetni a k = 0 és a 1 ≤ k eseteket. �

12.4 Lemma Ha (a, b) ∈ ηk+1, akkor minden x ∈ X bemenő jelre

(δ(a, x), δ(b, x)) ∈ ζk (k ∈ N).

Bizonyítás. Tegyük fel, hogy (a, b) ∈ ηk+1. Ebből bármely p ∈ Xk+1

bemenő szóra

µ(δ(a, p)) = λ(a, p) = λ(b, p) = µ(δ(b, p)).

Ha p = xq (x ∈ X, q ∈ Xk), akkor (1.6) alapján

µ(δ(δ(a, x), q)) = µ(δ(δ(b, x), q)),

azaz (δ(a, x), δ(b, x)) ∈ ζk. �

12.5 Tétel Ha az A = (A,X, Y, δ, µ) Moore automata valamely k ∈ Nesetén teljesíti a ζk = πmax feltételt, akkor az Aλ Mealy automata teljesítiaz ηk+1 = ρmax feltételt. Továbbá, ha A k-uniform, akkor az Aλ k- vagy(k + 1)-uniform.

88

Page 89: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen k ∈ N olyan, amelyre az A = (A,X, Y, δ, µ) Mooreautomata teljesíti ζk = πmax feltételt. Ha (a, b) ∈ ηk+1, akkor a 12.4. Lemmaszerint minden x ∈ X bemenő jelre (δ(a, x), δ(b, x)) ∈ ζk. Mivel ζk = πmax,ezért minden r ∈ X+ bemenő szóra

λ(δ(a, x), r) = µ(δ(δ(a, x), r)) = µ(δ(δ(b, x), r)) = λ(δ(b, x), r),

azaz (δ(a, x), δ(b, x)) ∈ ηk+1, így ηk+1 kongruencia, tehát ηk+1 = ρmax.A tétel második állításának bizonyításához legyen A k-uniform. Ha ηl =

ρmax (l ∈ N), akkor (11.5) és (12.2) miatt

ζl = ηl ∩ π = ρmax ∩ π = πmax,

azaz k ≤ l. A tétel első állításából következik, hogy l ≤ k + 1. �Az automaták minimalizálasa szempontjából jelentős a következő tétel.

12.6 Tétel Egy A = (A,X, Y, δ, µ) egyszerű véges Moore automata akkorés csak akkor ekvivalens egy nála kevesebb állapotú Mealy automatával, havannak olyan különböző a1 és a2 állapotai, hogy minden x ∈ X bemenő jelreδ(a1, x) = δ(a2, x) teljesül.

Bizonyítás. A szükségesség bizonyítása céljából tegyük fel, hogy létezikolyan A-val ekvivalens B = (B,X, Y, δ′, λ′) Mealy automata, amelyre |B| <|A|. Akkor A-nak vannak olyan a1 és a2 állapotai, hogy a1 6= a2 és αa1 = αa2 .Ebből következik, hogy minden x ∈ X bemenő jelre és p ∈ X+ bemenő szóra

µ(δ(a1, x)) = λ(a1, x) = λ(a2, x) = µ(δ(a2, x)),

µ(δ(a1, x))µ(δ(δ(a1, x), p)) = µ(δ(a1, xp)) = λ(a1, xp) =

= λ(a2, xp) = µ(δ(a2, xp)) = µ(δ(a2, x))µ(δ(δ(a2, x), p)),

ahol λ = µδ az A Moore automata kimenetfüggvényét jelöli. Így mindenp ∈ X∗ bemenő szóra

µ(δ(δ(a1, x), p)) = µ(δ(δ(a2, x), p)).

Mivel A egyszerű, ezért minden x ∈ X bemenő jelre

δ(a1, x) = δ(a2, x).

Az elegendőség bizonyításához tegyük fel, hogy van A-nak van két olyanállapota, hogy a1 6= a2 és minden x ∈ X bemenő jelre δ(a1, x) = δ(a2, x).Akkor (1.6) alapján bármely p ∈ X+ szóra megmutatható, hogy

δ(a1, p) = δ(a2, p),

89

Page 90: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amiből λ = µδ, továbbá (1.6) és (1.7) felhasználásával nyerjük, hogy

λ(a1, p) = λ(a2, p),

azaz (a1, a2) ∈ ρmax. Ez viszont azt jelenti, hogy a (Aλ)/ρmax egyszerű Mealyautomatának kevesebb állapota van, mint A-nak. A 11.3. Tétel szerint az(Aλ)/ρmax automata ekvivalens A-val. �

A 12.2. és 12.3. Lemmák bizonyításából kiolvashatunk egy algoritmusta véges automatákhoz tartozó egyszerű automaták meghatározására. Ezt azautomaták minimalizálásának nevezik. Az algoritmus lényege, adott végesA Mealy automatára az

(12.6) ωA = η0 ⊃ η1 ⊃ η2 ⊃ · · · ⊃ ηk = ηk+1 = ρmax,

ill. Moore automatára a

(12.7) π = ζ0 ⊃ ζ1 ⊃ ζ2 ⊃ · · · ⊃ ζk = ζk+1 = πmax

ekvivalenciák meghatározása. Ebből már megszerkeszthető az A-hoz tarto-zó egyszerű A/ρmax, ill. A/πmax automata. Az eljárást Aufenkamp–Hohnalgoritmusnak is nevezik.

A 12.6. Tétel jelentősége abban van, hogy ha egy véges Moore automatátMoore automataként minimalizáltuk, akkor célszerű meggyőződnünk arról,hogy teljesül-e az igy kapott egyszerű Moore automatára a tételben megadottfeltétel. Ha teljesül, akkor Mealy automataként még tovább minimalizálva,kevesebb állapotot tartalmazó automatához jutunk. Ennek illusztrálásáratekintsük a következő példát.

12.7 Példa Minimalizáljuk az

y1 y1 y2 y2 y3 y3

A—————————a1 a2 a3 a4 a5 a6

x1 a1 a2 a1 a2 a2 a5

x2 a2 a3 a2 a3 a3 a5,

táblázattal megadott Moore automatát. Mivel

µ(a1) = µ(a2) = y1, µ(a3) = µ(a4) = y2, µ(a5) = µ(a6) = y3,

ezért az π = ζ0 jelekvivalencia osztályai:

{a1, a2}, {a3, a4}, {a5, a6}.

90

Page 91: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

De δ(a1, x2) = a2, δ(a2, x2) = a3 és ζ0[a2] 6= ζ0[a3] miatt ζ1[a1] = {a1} ésζ1[a2] = {a2}. Hasonlóan mutatható meg, hogy minden ζ1-osztály egyelemű,azaz

π = ζ0 ⊃ ζ1 = πmax = ιA,

azaz A egyszerű Moore automata.Az a4 és a5 azonban teljesíti a 12.6.Tétel

δ(a4, x1) = δ(a5, x1) = a2, δ(a4, x2) = δ(a5, x2) = a3.

feltételét, vagyis Mealy automataként még tovább minimalizálhatjuk. E cél-ból irjuk fel az automatát Mealy automataként:

Aλ a1 a2 a3 a4 a5 a6

x1 (a1, y1) (a2, y1) (a1, y1) (a2, y1) (a2, y1) (a5, y3)x2 (a2, y1) (a3, y2) (a2, y1) (a3, y2) (a3, y2) (a5, y3) ,

E táblázatból kapjuk, hogy az η1 kimeneti ekvivalencia osztályai:

{a1, a3}, {a2, a4, a5}, {a6}.

Minthogy

δ(a1, x1) = δ(a3, x1) = a1, δ(a1, x2) = δ(a3, x2) = a2,

ezért η2[a1] = {a1, a3}. Hasonlóan kapható, hogy η2[a2] = {a2, a4, a5} ésη2[a6] = {a6}, azaz η1 = η2 = ρmax. Ha bevezetjük az

a = η1[a1], b = η1[a2], c = η1[a6]

jelöléseket, akkor az

B a b cx1 (a, y1) (b, y1) (b, y3)x2 (b, y1) (a, y2) (b, y3) ,

egyszerű Mealy automatához jutunk. Így a Moore automaták körében máregyszerű hatállapotú automatához találtunk egy vele ekvivalens egyszerű há-romállapotú Mealy automatát.

Ez a példa is mutatja, hogy bár a Moore automaták működése egyszerűbb,mint a Mealy automatáké, azonban ugyanaz az információátalakítás sokszorMealy automatákkal kevesebb állapottal is megvalósítható, ezért nem célsze-rű csupán Moore automatákra szorítkoznunk.

91

Page 92: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az automataleképezésekkel kapcsolatosan megfogalmazunk két természe-tes problémát. Az egyik az, hogy tetszőleges automatához hogyan lehetmeghatározni azokat az automataleképezéseket, amelyeket az automata ál-lapotai indukálnak. A problémának a megoldása tulajdonképpen egy adottautomata viselkedésének, információátalakító képességének kivizsgálását je-lenti, ezért a problémát az automaták analízis-problémájának nevezzük. Eh-hez természetesen valamilyen módon meg kell adni az automatát. Ez végesesetben nem okoz gondot, mert az automatát megadhatjuk pl. átmenet-kimenettáblázatával vagy gráfjával, s ebből véges számú lépésben leolvasható,hogy az általa indukált automataleképezések a vizsgált bemenő szót melyikkimenő szóba viszik át. Végtelen esetben azonban általában még az is prob-léma, hogy az automatát milyen módon adjuk meg. Egyszerűbb esetekben ezmegtehető végtelen átmenet-kimenettáblázat vagy gráf vagy az átmenet- éskimenetfüggvények képlettel vagy valamilyen utasítással való megadásával.

A másik probléma az, hogy egy alfabetikus leképezésről hogyan lehet el-dönteni, hogy automataleképezés-e, s ha igen, hogyan lehet megkonstruálniolyan iniciális automatát, amely ezt a leképezést indukálja. Ez az automatákszintézis-problémája. Ez a probléma még véges automaták esetén is nehe-zebb, mert egy alfabetikus leképezés értelmezési tartománya mindig végtelenhalmaz, ezért már az alfabetikus leképezés megadása is kérdéses. Egyszerűbbesetekben megadhatjuk formulával, irányított fával vagy valamilyen utasítás-sal. A szintézis problémáját véges automatákra a 32. fejezetben megoldjuk.

Feladatok12.1. Ha Aλ (k+1)-egyszerű Mealy automata, akkor az A = (A,X, Y, δ, µ) Mooreautomata k- vagy (k + 1)-egyszerű. Bármely A k-egyszerű Moore automatára Aλ

akkor és csak akkor l-egyszerű, ha k ≤ l ≤ k + 1, ηl ⊆ π és l = k + 1 esetbenηk 6⊆ π.12.2. Egy k-uniform Mealy automata minden homomorf képe is k-uniform. Ha aMealy automata nem uniform, akkor egyetlen homomorf képe sem uniform.12.3. Az A = (A,X, Y, δ, λ) Mealy automata valamely k pozitiv egész számraakkor és csak akkor k-uniform [k-egyszerű, egyszerű], ha a (3.10)-ben definiáltAµY Moore automata k-uniform [k-egyszerű, egyszerű].

13. Univerzális automatákEbben a fejezetben minden nemüres X és Y (|Y | ≥ 2) halmazhoz megadunkegy olyan egyszerű Mealy [Moore] automatát, amelynek állapotai az összesα : X∗ → Y ∗ automataleképezést indukálják. (Ezzel izomorf automatával

92

Page 93: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

már a 11.6. Tételben is találkoztunk, nevezetesen a Φ = AL[X, Y ] esetben.)Ennek az automatának van olyan, mégpedig pontosan egy részautomatája,amely izomorf egy tetszőleges egyszerű A = (A,X, Y ′, δ, λ[µ]) (Y ′ ⊆ Y ) Me-aly [Moore] automatával. Ezzel tulajdonképpen megadjuk azokat az egyszerűMealy [Moore] automatákat, amelyekben az univerzális rełáció nem kongru-encia.

13.1 Lemma Egyszerű Mealy [Moore] automata részautomatái is egysze-rűek. Továbbá egy részautomatája akkor és csak akkor homomorf képe egymásik részautomatájának, ha egyenlőek.

Bizonyítás. Bármely A Mealy [Moore] automata ρmax [πmax] maximáliskongruenciáját egy részautomatájára szűkítve, annak megkülönböztethetet-lenségi relációját kapjuk. Ebből már adódik az első állítás.

Ha ϕ az A egy A1 részautomatájának homomorf leképezése az A2 rész-automatájára, akkor bármely a ∈ A1 állapotra (a, ϕ(a)) ∈ ρmax[πmax]. Mivelρmax[πmax] = ιA, ezért ϕ(a) = a, azaz A1 = A2. �

Ha a bizonyítás második részében ϕ az A automata egy endomorfizmu-sa, akkor azt kapjuk, hogy ϕ = ιA, azaz egyszerű kimenő jeles automataendomorfizmusfélcsoportja egyelemű.

Most megadjuk az automataleképezéseknek egy olyan előállítását, amelysegítségével, véges (nemüres) X és Y halmazok esetén, meg is tudjuk adniazt az egyszerű Mealy automatát, amelynek állapotai indukálják az összesα : X∗ → Y ∗ automataleképezést.

Legyen X és Y tetszőleges (nemüres) halmazok esetén A(j)[X, Y ] (j ∈ N)az α(j) : Xj → Y leképezések halmaza. Ha j = 0, akkor X0 = {e}, ahol eaz üres szó, azaz α(0) leképezés az Y halmaz egy α(0)(e) elemének kijelö-lését jelenti. Az α(0) leképezést konstans leképezésnek is nevezzük, mivelúgy is felfogható, mint X-nek Y -ba való olyan leképezése, amely X min-den eleméhez Y -nak ugyanazt az elemét rendeli. Legyen a továbbiakbanA[X, Y ] =

∏∞j=1A(j)[X, Y ].

Jelölje AL[X, Y ] az α : X∗ → Y ∗ automataleképezések halmazát. Min-den α ∈ AL[X, Y ] leképezésnek feleltessük meg leképezéseknek azt az

(13.1) (α(1), . . . , α(j), . . . ) ∈ A[X, Y ]

sorozatát, amelyre minden x1, . . . , xj ∈ X elem esetén

(13.2) α(j)(x1, . . . , xj) = αx1...xj−1(xj).

teljesül. (x0 = e az üres szó, vagyis αx0 = α.) Jelölje ezt a megfeleltetéstϕX,Y .

93

Page 94: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

13.2 Lemma ϕX,Y megfeleltetés bijektív leképezés.

Bizonyítás. A ϕX,Y megfeleltetés nyilvánvalóan egyértelmű. Legyenekα, β ∈ AL[X, Y ] olyanok, hogy ϕX,Y (α) = ϕX,Y (β). Így (9.1) és a 9.1. Tételszerint α(e) = e = β(e), és tetszőleges x1, . . . , xj ∈ X (j ∈ N+) elemekre

α(x1 . . . xj) = α(x1)αx1(x2) . . . αx1...xj−1(xj) =

= α(1)(x1)α(2)(x1, x2) . . . α(j)(x1, . . . , xj) =

= β(1)(x1)β(2)(x1, x2) . . . β(j)(x1, . . . , xj) =

= β(x1)βx1(x2) . . . βx1...xj−1(xj) = β(x1 . . . xj),

azaz α = β. Ez azt jelenti, hogy ϕX,Y injektív.Legyen most (α(1), . . . , α(j), . . . ) ∈ A[X, Y ] tetszőleges. Definiáljuk az

α : X∗ → Y ∗ alfabetikus leképezést a következő módon. Legyen α(e) = e ésminden x1, . . . , xj ∈ X (j ∈ N+) elemre

(13.3). α(x1 . . . xj) = α(1)(x1)α(2)(x1, x2) . . . α(j)(x1, . . . , xj)

Az α leképezés szóhossz- és prefixtartó. A 9.1. Tétel szerint α ∈ AL[X, Y ]és ϕX,Y (α) = (α(1), . . . , α(j), . . . ), tehát ϕX,Y szürjektív. �

A 13.2. Lemma lehetőséget nyújt arra, hogy a leképezések (13.1) típusúsorozatát az automataleképezések egy előállításának tekintsük. Ezt a továb-biakban meg is tesszük, azaz minden α ∈ AL[X, Y ] leképezést azonosítjuk aϕX,Y (α) függvénysorozattal:

(13.4) α = (α(1), . . . , α(j), . . . ) (α ∈ AL[X, Y ]).

Ez azt jelenti, hogy

(13.5) αx = (α(1)x , . . . , α(j)

x , . . . ) (x ∈ X),

ahol (9.1) és (13.3) szerint, bármely x1, . . . , xj ∈ X (j ∈ N+) esetén

(13.6) α(j)x (x1, . . . , xj) = α(j+1)(x, x1, . . . , xj).

Ezek után definiáljuk az

A[X, Y ] = (A[X, Y ], X, Y, δ, λ)

Mealy automata δ átmenet- és λ kimenetfüggvényeit úgy, hogy minden α ∈A[X, Y ] állapotra és x ∈ X bemenő jelre legyen

(13.7) δ(α, x) = αx és λ(α, x) = α(1)(x).

Ezek a függvények (13.4) miatt, az adott halmazokra szűkítve, megegyez-nek (9.4)-ben és (11.6)-ban megadott függvényekkel.

A továbbiakban használjuk minden p ∈ X∗ szóra és x ∈ X jelre (αp)xhelyett az αpx rövidebb írásmódot, ahol az e üres szóra legyen αe = α.

94

Page 95: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

13.3 Tétel Az A[X, Y ] Mealy automata egyszerű és állapotai indukálják azösszes α : X∗ → Y ∗ automataleképezést. Bármely A = (A,X, Y ′, δA, λA)(Y ′ ⊆ Y ) egyszerű Mealy automata izomorf A[X, Y ] valamely részauto-matájával.

Bizonyítás. Először megmutatjuk, hogy A[X, Y ] egyszerű. A Mealy auto-maták átmenet- és kimenetfüggvényének (1.5) és (1.6) kiterjesztése és a tételelőtti megjegyzés szerint bármely α ∈ A[X, Y ] állapotra és p = x1 . . . xj ∈X+ bemenő szóra

(13.8) δ(α, p) = αx1αx1x2 . . . αx1...xj ,

(13.9). λ(α, p) = α(1)(x1)α(1)x1

(x2) . . . α(1)x1...xj−1

(xj).

Így (13.6) szerint

(13.10). λ(α, p) = α(1)(x1)α(2)(x1, x2) . . . α(j)(x1, . . . , xj)

Mivel (13.3) szerint α(p) = λ(α, p), ezért A[X, Y ] automata α állapota indu-kálja az α : X∗ → Y ∗ automataleképezést.

Legyenek α, β ∈ A[X, Y ] tetszőlegesek. Tegyük fel, hogy minden p ∈ X+

bemenő szóraλ(α, p) = λ(β, p).

Az előbbiek szerint ez azt jelenti, hogy minden j ∈ N+ esetén α(j) = β(j),azaz α = β. Így (11.2) miatt A[X, Y ] egyszerű.

Ha az A = (A,X, Y ′, δA, λA) egyszerű Mealy automata indukálja az au-tomataleképezések egy Φ halmazát, akkor a 11.6. Tétel szerint A izomorfA[X, Y ] azon részautomatájával, amelynek állapothalmaza Φ. �

Az A[X, Y ] Mealy automatával izomorf Mealy automatákat ((X, Y ) fe-letti) univerzális Mealy automatáknak nevezzük. A 13.1. Lemma szerint azA[X, Y ] Mealy automata részautomatái akkor és csak akkor izomorfak, haegyenlők.

Ezek után eljárást adunk az (X, Y ) feletti véges egyszerű automatákmegszerkesztésére. Vezessük be az An[X, Y ] =

∏nj=1A(j) jelölést. Legyen

g : An[X, Y ]→ A(n+1) tetszőleges leképezés. Legyenek

(13.11) αn = (α(1), . . . , α(n−1), α(n)) ∈ Ak[X, Y ], g(αn) = α(n+1),

(13.12) αn,g,x = (α(1)x , . . . , α(n−1)

x , α(n)x ), (x ∈ X),

ahol minden α(j)x (j = 1, . . . , n− 1, n) teljesítse a (13.6) feltételt.

95

Page 96: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Definiáljuk az

An,g[X, Y ] = (An[X, Y ], X, Y, δn, λn)

véges Mealy automata δ átmenet- és λ kimenetfüggvényét a

(13.13) δn(αn, x) = αn,g,x, λn(αn, x) = α(1)(x).

feltételekkel minden αn ∈ An[X, Y ] állapotra és x ∈ X bemenő jelre.

13.4 Lemma Az An,g[X, Y ] Mealy automata minden pozitív egész szám ésg : An[X, Y ]→ A(n+1) függvény esetén egyszerű.

Bizonyítás. A bizonyítás a 13.3. Tétel megfelelő állításának bizonyításáhozhasonlóan végezhető el. �

13.5 Tétel Az A = (A,X, Y, δA, λA) véges Mealy automata akkor és csakakkor egyszerű, ha van olyan n pozitív egész szám és olyan g : An[X, Y ] →A(n+1) függvény, amelyekre A izomorf An,g egy részautomatájával.

Bizonyítás. A 13.3. Tétel szerint feltehetjük, hogy A az A[X, Y ] univerzálisMealy automata részautomatája. Legyen α ∈ A és α (13.4) előállításáthasználva, minden k pozitív egész számra

αk = (α(1), α(2), . . . , α(k)).

Definiáljuk az ηk ekvivalenciát A-n a következőképpen:

(α, β) ∈ ηk ⇐⇒ αk = βk.

Nyilvánvaló, hogy ηk+1 ⊆ ηk és

∩∞k=1ηk = ρA,max.

De A egyszerű, ezért ρA,max = ιA. Mivel A véges, ezért van olyan k ∈ N+,amelyre ηk = ιA. Legyen n a legkisebb ilyen k, továbbá H = {αn; α ∈ A}és g : An[X, Y ] → A(n+1) olyan függvény, amelyre g(αn) = αn+1 (α ∈ A).Mivel A az A[X, Y ] automata részautomatája, ezért minden αn ∈ H ésx ∈ X esetén αn,g,x ∈ H. Így H = (H,X, Y ′, δn, λn) az An,g[X, Y ] automatarészautomatája, ahol

Y ′ = {α(1)(x); αn ∈ H, x ∈ X}.

A ϕ : A → H leképezés, amelyre ϕ(α) = αn (α ∈ A), A izomorf leképezéseH-ra. �

96

Page 97: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az Aufenkamp–Hohn algoritmussal megkonstruálhatjuk bármely végesMealy automata egy egyszerű homomorf képét. A 13.4. Lemma és a 13.5.Tétel segítségével egy algoritmus kapható tetszőleges n pozitív egész számravéges (nemüres) X és Y halmazok esetén (izomorfiától eltekintve egyértel-műen) a véges k-egyszerű A = (A,X, Y, δA, λA) Mealy automaták megkonst-ruálására, amelyekre 1 ≤ k ≤ n. Legyen ugyanis H0 az An[X, Y ] halmaztetszőleges nemüres részhalmaza és

Hj = {αn,g,x; αn ∈ Hj−1, x ∈ X}, j = 1, 2, 3, . . . .

Ha H(j) = H0 ∪ H1 ∪ · · · ∪ Hj, akkor An[X, Y ] végessége miatt van olyanj ∈ N+, amelyre H(j) ⊆ H(j−1). Ebben az esetben a

H(j−1) = (H(j−1), X, Y ′, δn, λn)

Mealy automata az An,g[X, Y ] Mealy automata részautomatája, ahol

Y ′ = {α(1)(x); αn ∈ H(j−1), x ∈ X}.

Az is nyilvánvaló, hogy így An,g[X, Y ] minden részautomatáját megkapjuk.A 3.6. és a 11.1. Tétel szerint minden Mealy automata ekvivalens egy

Moore automatával. Ez azt jelenti, hogy minden automataleképezés megva-lósítható Moore automatával is. A Moore automaták szerkezete egyszerűbb,ezért az automataleképezések Moore automatákkal való előállítása gyakorlatiszempontból is fontos feladat. Ha egy egyszerű Mealy automatával megva-lósitható automataleképezéseket Moore automatával valósítjuk meg, akkorszeretnénk azokat minimális állapotszámú Moore automatával megvalósíta-ni. A fejezet további részében ezzel a kérdéssel foglalkozunk.

Az A Mealy automata váza segítségével adjuk meg a (3.10) feltételleldefiniált AµY Moore automatát. A 3.3., a 11.1. és a 11.3. Tételek szerint Aés AµY ekvivalensek. Ha A = A[X, Y ] vagy A = An,g, akkor AµY helyett azegyszerűség kedvéért a A[X, Y ] ill. a An,g[X, Y ] jelölést használjuk.

13.6 Lemma Az AµY Moore automata akkor és csak akkor egyszerű, ha azA Mealy automata egyszerű.

Bizonyítás. Hasonlóan, mint a 7.4. Tétel bizonyításában, a p ∈ X+ hosszaszerinti teljes indukcióval megmutatható, hogy tetszőleges a ∈ A, y ∈ Y, p ∈X+ esetén

(13.14) δY ((a, y), p) = (δ(a, p), λ(a, p)), µY (δY ((a, y), p)) = λ(a, p)).

Tegyük fel, hogy A egyszerű és

((a, y1), (b, y2)) ∈ πAµY ,max.

97

Page 98: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Akkor y1 = µY (a, y1) = µY (b, y2) = y2 és minden p ∈ X+ bemenő szóraλ(a, p) = λ(b, p), azaz (a, b) ∈ ρA,max. Mivel ρA,max = ιA, így a = b, amibőlkapjuk, hogy ((a, y1) = (b, y2)), vagyis πAµY ,max

= ιA×Y , tehát AµY egyszerű.Megfordítva, legyen AµY egyszerű. Ha (a, b) ∈ ρA,max, akkor tetszőleges

y ∈ Y kimenő jelre

((a, y), (b, y)) ∈ πAµY,max = ιA×Y ,

amiből következik, hogy a = b, azaz ρA,max = ιA, azaz A egyszerű. �Az A egyszerű Mealy automata és az AµY egyszerű Moore automata

ugyanazokat az automataleképezéseket állítja elő, mint azt (13.14) is mutatja.Az A automata állapotai különböző automataleképezéseket állítanak elő. Ezazonban az AµY automatára nem igaz. A (13.14) második egyenlete szerintbármely a ∈ A állapotra

αA,a = αAµY,(a,y) (y ∈ Y ).

Azonban a 3.5. Tétel alkalmazásával kaphatunk az AµY automatából veleekvivalens minimális állapotszámú Moore automatát.

13.7 Tétel Az A[X, Y ] Moore automata egyszerű, és állapotai minden α :X∗ → Y ∗ automataleképezést indukálnak. Minden A = (A,X, Y ′, δ, µ)(Y ′ ⊆ Y ) egyszerű Moore automata izomorf A[X, Y ] valamely részautoma-tájával.

Bizonyítás. A 13.3. Tétel és a 13.6. Lemma szerint az A[X, Y ] Mooreautomata egyszerű. A 3.3. és a 11.3. Tétel segítségével kapjuk, hogy álla-potai minden α : X∗ → Y ∗ automataleképezést indukálnak. A 13.1. Lemmaszerint A[X, Y ] minden részautomatája is egyszerű.

A 11.6 Tétel Moore automatákra vonatkozó megfelelője szerint, mindenegyszerű Moore automata izomorf A[X, Y ] valamely részautomatájával. �

A 13.6. Lemma és a 13.7. Tétel alapján megadhatunk minden egyszerűMealy automatához egy vele ekvivalens egyszerű Moore automatát. Ezekaz automaták A[X, Y ] részautomatái. A[X, Y ] Moore automatát és a veleizomorf Moore automatákat univerzális Moore automatáknak nevezzük.

A 13.4. és a 13.6. Lemmákból következik a

13.8 Lemma Az An,g[X, Y ] Moore automata minden pozitív egész szám ésg : An[X, Y ]→ A(n+1) függvény esetén egyszerű.

13.9 Tétel Az A = (A,X, Y, δA, µA) véges Moore automata akkor és csakakkor egyszerű, ha van olyan n pozitív egész szám és olyan g : An[X, Y ] →A(n+1) függvény, amelyekre A izomorf An,g egy részautomatájával.

98

Page 99: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A 13.7. Tétel szerint elegendő megmutatni, hogy a A[X, Y ]univerzális Moore automata minden véges részautomatája izomorf An,g egyrészautomatájával valamilyen n pozitív egész számra és

g : An[X, Y ]→ A(n+1)

függvényre. Hasonlóan 13.5. Tétel bizonyításához nem nehéz belátni, hogya ϕ : A× Y ′ → H × Y ′ leképezés, amelyre

ϕ(α, y) = (αn, y) (α ∈ A, y ∈ Y ′),

A izomorf leképezése H-ra. �

Feladatok13.1. AzA[X,Y ] automataA részautomatája akkor és csak akkor teljesíti a Moorekritériumot, ha

α(1)(x1) 6= β(1)(x2) (α, β ∈ A, x1, x2 ∈ X),

akkor van olyan j ∈ N+ és vannak olyan z1, . . . zj ∈ X bemenő jelek, hogy

α(j+1)(x1, z1, . . . zj) 6= β(j+1)(x2, z1, . . . , zj).

13.2. Az An,g[X,Y ] automata A részautomatája akkor és csak akkor teljesíti aMoore kritériumot, ha

α(1)(x1) 6= β(1)(x2) (α, β ∈ A, x1, x2 ∈ X),

akkor vagy van olyan j ∈ {1, 2, . . . , n} és vannak olyan z1, . . . zj ∈ X bemenő jelek,amelyekre

α(j+1)(x1, z1, . . . zj) 6= β(j+1)(x2, z1, . . . , zj),

ahol α(n+1) = g(αn) (αn ∈ A).

99

Page 100: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

III. AUTOMATÁK SZORZATAIAz algebrai struktúrák elméletében központi szerepet játszik a direkt szor-zat fogalma. Ebben a részben a direkt szorzattal és az automataelméletbenhasználatos különböző általánosításaival foglalkozunk.

14. Direkt és szubdirekt szorzatAdjuk meg az A = (A,X, δ) és az Ak = (Ak, X, δk) (k ∈ I) kimenő jelnélküli automatákat (A,F ) ill. (Ak, Fk) (k ∈ I) unér algebrákként, aholF = {δx;x ∈ X} ill. Fk = {(δk)x ;x ∈ X} a (3.1) transzformációk halmazai.

Az A automatát az Ak (k ∈ I) automaták direkt szorzatának nevezzük,ha az (A,F ) unér algebra az (Ak, Fk) (k ∈ I) unér algebrák direkt szorzata.Más szóval az A = (A,X, δ) automata az Ak = (Ak, X, δk) (k ∈ I) auto-maták direkt szorzata, ha A =

∏k∈I Ak, továbbá minden a ∈ A állapotra és

x ∈ X bemenő jelre

(14.1) δ(a, x)(k) = δk(a(k), x) (k ∈ I)

teljesül. Erre az A =∏

k∈I Ak, I = [n] vagy I = N+ esetekben pedig azA =

∏nk=1 Ak ill. a A =

∏∞k=1 Ak jelölést használjuk.

Mivel minden k ∈ I-re a πk k-adik projekció az (A,F ) direkt szorzat(Ak, Fk)-ra való homomorf leképezése, ezért πk az A direkt szorzat Ak-ravaló homomorf leképezése.

Ha minden Ak = B (k ∈ I), akkor B direkt hatványáról beszélünk ésa BI jelölést használjuk. Azt mondjuk, hogy a C = (C,X, δ′) automatafelbontható az Ak (k ∈ I) automaták direkt szorzatára, ha C izomorf az A =∏

k∈I Ak direkt szorzattal. Ebben az esetben A-t a C automata egy direktfelbontásának, az Ak (k ∈ I) automatákat pedig a felbontás komponenseineknevezzük. Azt mondjuk, hogy a C automata egy direkt felbontása valódi, haegyik komponense sem izomorf C-vel. Az C automatát direkt irreducibilisnek[reducibilisnek] mondjuk, ha nincs [van] valódi direkt felbontása, azaz ha unéralgebraként direkt irreducibilis [reducibilis].

Legyenek Hk 6= ∅ (k ∈ I) tetszőleges halmazok, π az I indexhalmazpermutációja, H =

∏k∈I Hk és Hπ =

∏k∈I Hπ(k). Definiáljuk az αH,π : H →

Hπ leképezést az

(14.2) αH,π(h) = hπ (h ∈ H)

összefüggéssel, ahol hπ(k) = h(π(k)) (k ∈ I). Nyilvánvaló, hogy αH,π a Hhalmaz bijektív leképezése Hπ-re.

100

Page 101: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

14.1 Lemma Legyenek Ak = (Ak, X, δk) (k ∈ I) tetszőleges automaták.Az I indexhalmaz bármely π permutációjára az A =

∏k∈I Ak direkt szorzat

izomorf az Aπ =∏

k∈I Aπ(k) direkt szorzattal.

Bizonyítás. A (14.2) összefüggéssel definiált αA,π leképezés az A direktszorzat izomorf leképezése az Aπ direkt szorzatra. �

A 14.1. Lemmából következik, hogy tetszőleges Ak = (Ak, X, δk) (k =1, 2) automaták A1 × A2 direkt szorzata izomorf A2 × A1 direkt szorzat-tal, amit úgy is mondunk, hogy a direkt szorzat (izomorfia erejéig) kom-mutatív. (Az A1 × A2 halmaznak az A2 × A1 halmazra való α(a1, a2) =(a2, a1) ((a1, a2) ∈ A1×A2) összefüggéssel definiált leképezése izomorfizmus.)

Legyenek Hj (j ∈ J) tetszőleges nemüres halmazok és C = {Ik; k ∈ I}a J indexhalmaz osztályozása. A J halmaz ekvivalens a J(C) = {(k, l); k ∈I, l ∈ Ik} halmazzal. Indexeljük át aHj halmazokat J(C) elemeivel úgy, hogyminden j ∈ J indexre Hj = HκC(j) teljesüljön, ahol κC a J indexhalmaznakJ(C)-re való kölcsönösen egyértelmű leképezése, amelyre minden j ∈ J eseténκC(j) = (k, j) akkor és csak akkor, ha j ∈ Ik.

Legyen

Hk =∏l∈Ik

Hk,l, H =∏k∈I

Hk, H ′ =∏

(k,l)∈J(C)

Hk,l.

Definiáljuk az αH,C : H → H ′ leképezést úgy, hogy minden h ∈ H elemre

(14.3) αH,C(h) = h′

teljesüljön, ahol minden k ∈ I és l ∈ Ik esetén (h(k))(l) = h′(k, l). Nyilván-való, hogy az αH,C leképezés bijektív.

14.2 Lemma Legyenek Aj = (Aj, X, δj) (j ∈ J) tetszőleges automaták. AJ indexhalmaz bármely C = {Ik; k ∈ I} osztályozására a

∏k∈I(

∏l∈Ik Ak,l)

direkt szorzat izomorf a∏

(k,l)∈J(C) Ak,l direkt szorzattal.

Bizonyítás. Nem nehéz belátni, hogy αA,C leképezés egy megfelelő izomor-fizmus. �

A 14.2. Lemma szerint tetszőleges Ak = (Ak, X, δk) (k = 1, 2, 3) auto-maták (A1 × A2) × A3 és A1 × (A2 × A3) direkt szorzata izomorf, mivelmindkettő izomorf az A1 ×A2 ×A3 direkt szorzattal. Ezt úgy is mondjuk,hogy a direkt szorzat (izomorfia erejéig) asszociatív. (Közvetlenül is belát-ható, hogy az (A1 × A2) × A3 direkt szorzat izomorf az A1 × (A2 × A3)direkt szorzattal. Az α((a1, a2), a3) = (a1, (a2, a3)) (ak ∈ Ak (k = 1, 2, 3))összefüggéssel definiált α leképezés izomorfizmus.)

101

Page 102: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az alábbi tétel az algebrai struktúrák direkt felbonthatóságára vonatkozótétel kimenő jel nélküli automatákra vonatkozó megfogalmazása. A tételbizonyítása tetszőleges algebrai struktúra esetén ugyanúgy végezhető el, mintebben a speciális esetben.

14.3 Tétel Az A = (A,X, δ) automata akkor és csak akkor bontható felaz Ak = (Ak, X, δk) (k ∈ I) automaták direkt szorzatára, ha A-nak vannakolyan ρk (k ∈ I) kongruenciái, hogy minden k ∈ I indexre A/ρk izomorfAk-val,

(14.4) ∩k∈Iρk = ιA

és ha ak ∈ A (k ∈ I), akkor

(14.5) ∩k∈Iρk[ak] 6= ∅.

Bizonyítás. Ha A felbontható az Ak (k ∈ I) automaták direkt szorzatára,akkor az izomorfiaelv miatt feltehetjük, hogy A =

∏k∈I Ak. Ha πk az A

k-adik projekciója, akkor minden k ∈ I indexre A/ kerπk izomorf Ak-val és∩k∈I kerπk = ιA. Ha ak ∈ A (k ∈ I), akkor

∩k∈I kerπk[ak] = ∩k∈I kerπk[a] = a,

ahol a(k) = (ak)(k) (k ∈ I).Megfordítva, tegyük fel, hogy a ρk (k ∈ I) relációk az A automata olyan

kongruenciái, amelyekre (14.4) és (14.5) teljesül. A (14.4) feltételből követ-kezik, hogy ha ak ∈ A (k ∈ I), akkor | ∩k∈I ρk[ak]| ≤ 1. Amiből (14.5) miattkapjuk, hogy | ∩k∈I ρk[ak]| = 1. Definiáljuk a ϕ : A →

∏k∈I A/ρk leképe-

zést, úgy, hogy minden b ∈ A állapotra (ϕ(b))(k) = ρk[ak] (k ∈ I) akkor éscsak akkor teljesüljön, ha ∩k∈Iρk[ak] = {b} (ak ∈ A). A ϕ leképezés az Aautomata izomorf leképezése az

∏k∈I A/ρk direkt szorzatra. �

Legyen {ρk; k ∈ I} legkisebb felső korlátja ρ, azaz ρ =∨k∈I ρk. A (14.5)

feltételből az is következik, hogy bármely a, b ∈ A állapotra és k, l ∈ I indexreρk[a] ∩ ρl[b] 6= ∅. Amiből kapjuk, hogy ha k 6= l, akkor

ωA ⊆ ρk ◦ ρl ⊆ ρk ∨ ρl ⊆ ρ ⊆ ωA,

vagyis bármely k, l ∈ I (k 6= l) indexre

ρ = ρk ◦ ρl = ρl ◦ ρk = ρk ∨ ρl = ωA.

Továbbá, ha I ′ 6= ∅ az I indexhalmaz olyan részhalmaza, hogy ∩k∈I′ρk = ιA,akkor a ρk (k ∈ I ′) kongruenciák teljesítik a (14.5) feltételt is, vagyis Afelbontható az A/ρk (k ∈ I ′) automaták direkt szorzatára is.

102

Page 103: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

14.4 Következmény Az A-véges A = (A,X, δ) automata akkor és csak ak-kor direkt reducibilis, ha az A automatának vannak olyan ρ és τ nemtriviáliskongruenciái, amelyekre

(14.6) ρ ∩ τ = ιA és ρ ◦ τ = τ ◦ ρ = ωA

teljesül. Ebben az esetben A felbontható A/ρ és A/τ direkt szorzatára.

Bizonyítás. Tegyük fel, hogy az A = (A,X, δ) automata direkt reducibilis,azaz felbontható legalább két nemtriviális automata direkt szorzatára. A14.3. Tétel szerint A-nak vannak olyan

ρk 6= ιA (k ∈ I, 2 ≤ |I| <∞)

kongruenciái, amelyekre (14.4) és (14.5) teljesül. Tegyük fel először, hogyI-nek nincs olyan I ′ 6= ∅ valódi részhalmaza, amelyre ∩k∈I′ρk = ιA. Legyenaz I indexhalmaz egy {I1, I2} osztályozására ρ = ∩k∈I1ρk és τ = ∩k∈I2ρk. A(14.4) feltételből következik, hogy ρ ∩ τ = ιA. Mivel ρ ◦ τ ⊆ ωA, ezért (14.6)igazolásához azt kell megmutatni, hogy ωA ⊆ ρ◦ τ . Ha a, b ∈ A, akkor (14.5)miatt,

ρ[a] ∩ τ [b] = (∩k∈I1ρk[a]) ∩ (∩k∈I2ρk[b]) 6= ∅,amiből következik, hogy (a, b) ∈ ρ ◦ τ , azaz ωA ⊆ ρ ◦ τ . Hasonlóan láthatóbe, hogy ωA ⊆ τ ◦ ρ.

Tegyük fel másodszor, hogy I-nek van olyan I ′ 6= ∅ legalább kételeművalódi részhalmaza, amelyre ∩k∈I′ρk = ιA. A ρk (k ∈ I ′) kongruenciák isteljesítik a (14.5) feltételt. Ha |I ′| = 2, akkor (14.6) teljesül. Ha 2 < |I ′|,akkor az előbbieket I helyett I ′-re megismételjük. Nem nehéz belátni, hogyvéges számú lépésben megkapjuk, hogy (14.6) valóban igaz.

Megfordítva, tegyük fel, hogy az A automatának vannak olyan ρ és τnemtriviális kongruenciái, amelyekre

ρ ∩ τ = ιA, ρ ◦ τ = τ ◦ ρ = ωA.

Mivel ρ ◦ τ = ωA, ezért bármely két a, b ∈ A állapothoz van olyan c ∈ Aállapot, hogy (a, c) ∈ ρ és (c, b) ∈ τ . A ρ ∩ τ = ιA feltételből következik,hogy ρ[a] ∩ τ [b] = {c}. A 14.3. Tétel szerint ez azt jelenti, hogy az α : A→A/ρ×A/τ leképezés, amelyre minden a ∈ A állapot esetén α(a) = (ρ[a], τ [a])teljesül, az A automata izomorf leképezése az A/ρ és A/τ faktorautomatákdirekt szorzatára. �

Ha az A halmaz ρ és τ ekvivalenciárelációja teljesíti a ρ◦τ = ωA feltételt,akkor a ρ◦τ = τ◦ρ feltétel is teljesül. Ha (A,F ) tetszőleges algebrai struktúra(speciálisan kimenő jel nélküli automata) ρ és τ kongruenciáira ρ∩ τ = ιA ésρ ◦ τ = ωA, akkor ρ és τ uniform kongruenciák. Pontosabban, minden a ∈ Aelemre |ρ[a]| = |A/τ | és |τ [a]| = |A/ρ|.

103

Page 104: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

14.5 Tétel Bármely A-véges automata felbontható direkt irreducibilis au-tomaták direkt szorzatára.

Bizonyítás. Legyen A = (A,X, δ) tetszőleges A-véges automata. A bizo-nyítást A állapotainak száma szerinti teljes indukcióval végezzük el. Ha azA automata triviális, akkor saját magának egytényezős direkt szorzata. Te-gyük fel, hogy A olyan nemtriviális A-véges automata, hogy minden olyanB = (B,X, δ′), amelyre |B| < |A|, direkt irreducibilis automaták direkt szor-zata. Ha A direkt irreducibilis, akkor a bizonyítással készen vagyunk. Ellen-kező esetben a 14.4. Következmény szerint A ∼= A1×A2, ahol 1 < |A1| , |A2|.Akkor |A1| , |A2| < |A|, így az indukciós feltevés értelmében

A1∼= B1 ×B2 × · · · ×Bm és A2

∼= C1 ×C2 × · · · ×Cn,

ahol a Bi (i = 1, 2, . . . ,m) és a Cj (j = 1, 2, . . . , n) automaták mindegyikedirekt irreducibilis. A 14.2. Lemmát felhasználva kapjuk, hogy

A ∼= B1 ×B2 × · · · ×Bm ×C1 ×C2 × · · · ×Cn.�

A 14.5. Tétel végtelen automatákra nem igaz. Ez azt jelenti, hogy a di-rekt irreducibilis automaták segítségével a végtelen automatákat nem tudjukfelépíteni. Most megadjuk az automaták szubdirekt szorzatának fogalmát,amellyel, ha nem is egyértelműen, de ezt meg tudjuk tenni. A kimenő jelnélküli automaták szubdirekt szorzata megegyezik az automatáknak meg-felelő unér algebrák szubdirekt szorzatával. Ennek megfelelően az automa-tát szubdirekt irreducibilisnek [reducibilisnek] mondjuk, ha unér algebrakéntszubdirekt irreducibilis [reducibilis].

Legyen az A = (A,X, δ) automata az Ak = (Ak, X, δk) (k ∈ I) automatákdirekt szorzata. Az A′ = (A′, X, δ′) automatát az Ak (k ∈ I) automatákszubdirekt szorzatának nevezzük, ha A′ az A automata egy részautomatájaés minden k ∈ I esetén πk(A′) = Ak. Azt mondjuk, hogy a B = (B,X, δ′)automata felbontható az Ak (k ∈ I) automaták szubdirekt szorzatára, ha Bizomorf az Ak (k ∈ I) automaták egy szubdirekt szorzatával. A 14.1. ésa 14.2. Lemma szubdirekt szorzatokra is igaz. Ami azt is jelenti, hogy aszubdirekt szorzat (izomorfia erejéig) kommutatív és asszociatív.

Az A direkt szorzat több egymással nem izomorf részautomatája is lehetaz Ak automaták szubdirekt szorzata, így a szubdirekt szorzat általában nemegyértelmű.

Minden direkt szorzat szubdirekt szorzat is, ezért minden szubdirekt irre-ducibilis automata direkt irreducibilis is. A legfeljebb kétállapotú automatáknyilvánvalóan szubdirekt irreducibilisek.

Az algebrai struktúrák szubdirekt felbonthatóságára Garett Birkhoffadott szükséges és elégséges feltételt, és egyben igazolta azt is, hogy bármely

104

Page 105: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

algebrai struktúra előállítható ugyanolyan típusú szubdirekt irreducibilis al-gebrai struktúrák szubdirekt szorzataként. Az azonos típusú unér algebrákvarietást alkotnak, ezért ezek az eredmények unér algebrákra, azaz kimenőjel nélküli automatákra is érvényesek. Most ezeket az eredményeket fogal-mazzuk meg és bizonyítjuk be. Az alábbi tétel a 14.3. Tétel általánosításaautomaták szubdirekt szorzatára.

14.6 Tétel Az A = (A,X, δ) automata akkor és csak akkor bontható felaz Ak = (Ak, X, δk) (k ∈ I) automaták szubdirekt szorzatára, ha A-nakvannak olyan ρk (k ∈ I) kongruenciái, hogy minden k ∈ I indexre A/ρkizomorf Ak-val, és amelyekre (14.4) teljesül.

Bizonyítás. Ha A felbontható a Ak (k ∈ I) automaták szubdirekt szor-zatára, akkor az izomorfiaelv miatt feltehetjük, hogy A a

∏k∈I Ak direkt

szorzat részautomatája. Ha πk a k-adik projekció, akkor minden k ∈ I in-dexre A/ ker(πk|A) izomorf Ak-val és ∩k∈I ker(πk|A) = ιA, ahol πk|A a πkprojekció A-ra való szűkítése.

Megfordítva, legyenek a ρk (k ∈ I) relációk az A automata olyan kong-ruenciái, amelyekre (14.4) teljesül. Ebből következik, hogy ha a ∈ AI tetsző-leges kiválasztási függvény, akkor | ∩k∈I ρk[a(k)]| ≤ 1. Legyen

(14.7) A′ = {(ρk[a(k)]; k ∈ I); | ∩k∈I ρk[a(k)]| = 1, a ∈ AI}.

Nem nehéz belátni, hogy A′ a ∏k∈I

A/ρk

direkt szorzat részautomatája. Megmutatjuk, hogy A izomorf A′-vel. De-finiáljuk az ϕ leképezést ugyanúgy, mint a 14.3. Tétel bizonyításában. A(14.4) feltételből kapjuk, hogy ϕ A-nak A′-re való izomorf leképezése. �

Ha I ′ 6= ∅ a 14.6. Tételben szereplő I indexhalmaz olyan részhalmaza,amelyre ∩k∈I′ρk = ιA, akkor A felbontható az A/ρk (k ∈ I ′) automatákszubdirekt szorzatára is. Az A automata akkor és csak akkor szubdirektirreducibilis, ha kongruenciáinak bármely ρk (k ∈ I) rendszerére a ∩k∈Iρk =ιA feltételből következik, hogy van olyan l ∈ I, hogy ρl = ιA. Jelöljük C(A)-val az A automata kongruenciáinak hálóját. Ebből közvetlenül kapjuk akövetkező tételt.

14.7 Tétel Az A = (A,X, δ) automata akkor és csak akkor szubdirekt irre-ducibilis, ha C(A)− {ιA} halmaznak van legkisebb eleme.

Az előző tételből látható, hogy minden egyszerű automata szubdirektirreducibilis.

105

Page 106: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

14.8 Tétel Bármely A = (A,X, δ) automata felbontható szubdirekt irredu-cibilis automaták szubdirekt szorzatára.

Bizonyítás. Mivel minden triviális automata szubdirekt irreducibilis, felte-hető, hogy A = (A,X, δ) nemtriviális. Tekintsük az A automata tetszőlegesa 6= b állapotait és A-nak azon kongruenciáit, amelyek nem tartalmazzák az(a, b) párt. Ezeknek a kongruenciáknak Ca,b halmaza a tartalmazásra (⊆),mint részbenrendezésre tartalmazza tetszőleges láncának egyesítését is. AZorn lemma miatt létezik közöttük maximális kongruencia. Legyen θa,b az Aegy ilyen maximális kongruenciája. A Θ(a, b) főkongruenciára a Θ(a, b)∨θa,bkongruencia a [θa,b, ωA] − {θa,b} halmaz legkisebb eleme a tartalmazásra. Amegfeleltetési tétel és a 14.7. Tétel szerint az A/θa,b faktorautomata szub-direkt irreducibilis. Mivel ∩{θa,b; a 6= b ∈ A} = ιA, ezért a 14.6. Tételbizonyításához hasonló módon látható be, hogy A az A/θa,b (a 6= b ∈ A)automaták szubdirekt szorzatára bontható. �

A következő egyszerű eredmény is érvényes tetszőleges varietásokra. Abizonyítás ugyanúgy végezhető el, mint unér algebrákra, azaz kimenő jelnélküli automatákra.

14.9 Lemma Ha az A = (A,X, δ) automata izomorf módon beágyazhatóaz Ak = (Ak, X, δk) (k ∈ I) automaták direkt szorzatába, akkor A izomorf azAk (k ∈ I) automaták valamely A′k részautomatáinak szubdirekt szorzatával.

Bizonyítás. Az izomorfiaelv miatt feltehetjük, hogy A a∏

k∈I Ak direktszorzat részautomatája. Legyen A′k = πk(A) (k ∈ I). Az A′k = (A′k, X, δk)rendszer az Ak automata részautomatája. Nyilvánvaló, hogy A az A′k (k ∈ I)automaták szubdirekt szorzata. �

Legyen D 6= ∅ az A = (A,X, δ) automata A állapothalmazának részhal-maza. Az A automata ρ kongruenciáját A D-kongruenciájának hívjuk, haρD = ιD.

Az A = (A,X, δ) automata B = (B,X, δ) részautomatáját az A sűrűrészautomatájának nevezzük, ha A-nak ιA az egyetlen B-kongruenciája. AB-t az A retrakt részautomatájának nevezzük, ha van A-nak olyan ρ kongru-enciája, hogy bármely a ∈ A állapotra |ρ[a]∩B| = 1. Ezt másképpen úgy ismondhatjuk, hogy B retrakt, ha van A-nak olyan ϕ homomorfizmusa B-re,amelyre ϕB = ιB. A ρ-t az A automata B szerinti retrakt kongruenciájának,ill. a ϕ-t az A automata B-re való retrakt homomorfizmusának mondjuk.Az nyilvánvaló, hogy A önmagának retrakt részautomatája. A definíció-

ból látható, hogy az A automata tetszőleges B = (B,X, δ) részautomatájaszerinti retrakt kongruenciája A-nak egy B-kongruenciája.

Az A automatát a B automata C-vel való sűrű [retrakt ] bővítéséneknevezzük, ha B az A automata sűrű [retrakt] részautomatája és C ∼= A/B.

106

Page 107: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Minden kimenő jel nélküli automata önmagának egy triviális automatávalvaló sűrű bővítése, ami egyúttal retrakt bővítés is. Minden más esetben, egybővítés nem lehet egyszerre retrakt és sűrű.

14.10 Tétel Ha B = (B,X, δ) az A = (A,X, δ) automata részautomatája,akkor A felbontható az A/B Rees-faktorának és B valamely sűrű bővítésénekszubdirekt szorzatára.

Bizonyítás. Legyen CB(A) az A automata B-kongruenciáinak halmaza.Mivel ιA B-kongruencia, így CB(A) 6= ∅. A B-kongruenciák bármely láncá-nak halmazelméleti egyesítése szintén B-kongruencia. A Zorn lemma szerintCB(A)-nak van maximális eleme. Legyen ρ egy maximális B-kongruencia.Mivel ρ B-kongruencia, ezért B izomorf az A/ρ faktorautomatának azzal aB′ részautomatájával, amelynek állapothalmaza B′ = {ρ[b]; b ∈ B}. Ez aztjelenti, hogy A/ρ a B′ bővítése.

Megmutatjuk, hogy ez sűrű bővítés. A megfeleltetési tétel szerint a ϕ :τ → τ/ρ (ρ ⊆ τ) leképezés a C(A) kongruenciaháló [ρ, ωA] intervallumánakizomorf leképezése C(A/ρ)-ra. Legyen a τ ∈ [ρ, ωA] kongruenciára τ/ρ azA/ρ automata B′-kongruenciája. Ha valamely a, b ∈ B esetén (a, b) ∈ τ ,akkor ρ[a], ρ[b] ∈ B′ és (ρ[a], ρ[b]) ∈ τ/ρ, s innen ρ[a] = ρ[b]. De ρ B-kongruencia, így a = b. Ez azt jelenti, hogy τ olyan B-kongruencia, amelyreρ ⊆ τ . Azonban ρ maximális B-kongruencia, ezért τ = ρ, azaz τ/ρ = ιA/ρ,vagyis A/ρ a B′ sűrű bővítése. Ha B-t azonosítjuk B′-vel, akkor A/ρ a Bsűrű bővítése.

Mivel ρ ∩ R(ωB) = ιA, ezért a 14.6. Tétel szerint A felbontható A/B ésA/ρ szubdirekt szorzatára. �

Az előző tétel bizonyításában leírt szubdirekt felbontás akkor és csak ak-kor valódi, ha B az A olyan legalább kétállapotú részautomatája, amelynekA nem sűrű bővítése.

14.11 Következmény Ha B az A retrakt részautomatája, akkor az A au-tomata A/B és B szubdirekt szorzata.

Bizonyítás. Először megmutatjuk, hogy az A automata minden B szerintiρ retrakt kongruenciája az A maximális B-kongruenciája. Legyen τ az Aautomata olyan B-kongruenciája, amelyre ρ ⊆ τ . Tegyük fel, hogy (a, b) ∈τ (a, b ∈ A). Mivel a ρ reláció B szerinti retrakt kongruencia A-n, ezértvannak olyan c, d ∈ B, amelyekre (a, c) ∈ ρ és (b, d) ∈ ρ teljesül. Így(a, c), (b, d) ∈ τ , amiből (c, d) ∈ τ következik. De τ az A automata B-kongruenciája, ezért c = d, ami azt jelenti, hogy (a, b) ∈ ρ, azaz τ = ρ,vagyis ρ az A automata maximális B-kongruenciája.

107

Page 108: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen ρ az A automata B szerinti retrakt kongruenciája. Az előbbiekszerint ρ az A automata maximális B-kongruenciája. A 14.10. Tétel bizo-nyításában láttuk, hogy A felbontható A/B és A/ρ szubdirekt szorzatára.De ρ az A B szerinti retrakt kongruenciája, ezért A/ρ izomorf B-vel. �

14.12 Tétel Szubdirekt irreducibilis automata minden részautomatája isszubdirekt irreducibilis.

Bizonyítás. Tegyük fel, hogy az A szubdirekt irreducibilis automata B rész-automatája nem szubdirekt irreducibilis. A 14.6. Tétel szerint vannak olyanρk(k ∈ I) nemtriviális kongruenciái, amelyekre ∩k∈Iρk = ιB. Ez azonban aztjelenti, hogy az (5.1)-ben definiált R(ρk) = ρk ∪ ιA Rees kiterjesztések az Aautomata nemtriviális kongruenciái és

∩k∈IR(ρk) = ∩k∈I(ρk ∪ ιA) = (∩k∈Iρk) ∪ ιA = ιB ∪ ιA = ιA,

ami ellentmond annak, hogy A szubdirekt irreducibilis. �

14.13 Tétel Ha B az A automata legalább kétállapotú részautomatája, azA automata akkor és csak akkor szubdirekt irreducibilis, ha B is szubdirektirreducibilis és A a B sűrű bővítése.

Bizonyítás. Ha A szubdirekt irreducibilis, akkor a 14.12. Tétel szerintB is szubdirekt irreducibilis. Legyen ρ az A automata B-kongruenciája.Nyilvánvaló, hogy R(ωB) ∩ ρ = ιA, ahol R(ωB) az (5.2)-ben definiált Reeskongruencia. Mivel B legalább kétállapotú, ezért R(ωB) 6= ιA. A 14.6.Tételből következik, hogy ρ = ιA, azaz A a B sűrű bővítése.

Megfordítva, tegyük fel, hogy B szubdirekt irreducibilis és A a B sűrűbővítése. Legyenek a ρk (k ∈ I) relációk az A automata olyan kongruenciái,amelyekre ∩k∈Iρk = ιA. A ρk relációk B-re való ρk|B szűkítései a B auto-mata olyan kongruenciái, amelyekre ∩k∈I(ρk|B) = ιB. Mivel B szubdirektirreducibilis, ezért van olyan l ∈ I, amelyre (ρl)|B = ιB, azaz ρl az A auto-mata B-kongruenciája. Azonban A a B-nek sűrű bővitése, ezért ρl = ιA. A14.6. Tétel utáni megjegyzésből következik, hogy A szubdirekt irreducibilis.�

Az A = (A,X, δ) automata A állapothalmazának tetszőleges D részhal-maza segítségével definiáljuk a τ(D) binér relációt az A állapothalmazon úgy,hogy minden b, c ∈ A esetén

(14.8) (b, c) ∈ τ(D) ⇐⇒ (∀p ∈ X∗(bp ∈ D ⇐⇒ cp ∈ D).

Megjegyezzük, hogy τ(D) = τ(A − D) és τ(D) = ωA akkor és csak akkor,ha D = ∅ vagy D = A. A τ(D) reláció az A automata legnagyobb olyan

108

Page 109: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

τ kongruenciája, amelynél D felbontható τ -osztályok egyesítésére. A τ(D)reláció A-nak akkor és csak akkor D-kongruenciája, ha minden D-beli τ(D)-osztály egyelemű.

A D-t az A automata diszjunktív részhalmazának nevezzük, ha τ(D) =ιA. Ha D = {a}, azaz τ(a) = ιA, akkor a-t az A automata diszjunktívállapotának hívjuk. (A τ({a}) helyett a tau(a) jelölést használtuk.) AzA automatát k-diszjunktívnak (k ∈ N+) nevezzük, ha állapothalmazánakminden legfeljebb k elemű részhalmaza diszjunktív. Az 1-diszjunktív au-tomatákat egyszerűen diszjunktív automatáknak nevezzük. Mivel minden(k + 1)-diszjunktív automata k-diszjunktív, ezért minden k-diszjunktív au-tomata diszjunktív. A diszjunktív automatákkal most nem foglalkozunk, dea 27. fejezetben az egyszerű automaták vizsgálatában szerepet játszanak.Nyilvánvaló ugyanis, hogy minden legalább háromállapotú A = (A,X, δ)egyszerű automata diszjunktív. Ehhez csak azt kell belátni, hogy bármelya ∈ A állapotra τ(a)[a] = {a}, ezért τ(a) 6= ωA.

Az A automata ρ D-kongruenciáját szeparáló D-kongruenciának hívjuk,ha D bármely elemét tartalmazó ρ-osztály egyelemű.

A (14.8) definíció szerint bármely a ∈ A állapot esetén A legnagyobbolyan kongruenciája, amelynek a-t tartalmazó osztálya az {a} egyelemű hal-maz a fentebb definiált τ(a) reláció, azaz:

(14.9) (b, c) ∈ τ(a) ⇐⇒ (bp = a ⇐⇒ cp = a)

minden b, c ∈ A és p ∈ X∗ esetén.A definíciókból közvetlenül adódik a

14.14 Lemma Az A = (A,X, δ) automata A állapothalmazának D 6= ∅részhalmazára ∩a∈Dτ(a) a legnagyobb szeparáló D-kongruencia. �

14.15 Lemma Az A = (A,X, δ) automata bármely B = (B,X, δ) nemtri-viális részautomatája és ρ kongruenciája esetén

(14.10) (R(ωB) ∩ ρ = ιA, R(ωB) ◦ ρ = ρ ◦R(ωB)) ⇐⇒ ρ ⊆ ∩a∈Bτ(a).

Bizonyítás. Tegyük fel, hogy R(ωB) ∩ ρ = ιA és R(ωB) ◦ ρ = ρ ◦ R(ωB).Legyen a ∈ B. Az R(ωB)∩ρ = ιA feltételből következik, hogy ρ[a]∩B = {a}.A B automata nemtriviális, ezért van olyan b ∈ B, amelyre b 6= a. Tegyükfel, hogy van olyan c ∈ A − B, amelyre (a, c) ∈ ρ. Ebből kapjuk, hogy(b, c) ∈ R(ωB) ◦ ρ, s így (b, c) ∈ ρ ◦ R(ωB), azaz van olyan d ∈ A, hogy(b, d) ∈ ρ és (d, c) ∈ R(ωB). Mivel c /∈ B, ezért d = c, amiből (b, c) ∈ ρ,azaz (b, a) ∈ ρ. Az R(ωB) ∩ ρ = ιA feltételből következik, hogy b = a, amilehetetlen. Így ρ[a] = {a}, azaz ρ ⊆ τ(a). De a ∈ B tetszőleges volt, ezértρ ⊆ ∩a∈Bτ(a).

109

Page 110: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megfordítva, ha ρ ⊆ ∩a∈Bτ(a), akkor R(ωB) ∩ ρ = ιA. Legyenek b, c ∈ Aolyanok, amelyekre (b, c) ∈ R(ωB) ◦ ρ. Ez azt jelenti, hogy van olyan d ∈ A,hogy (b, d) ∈ R(ωB) és (d, c) ∈ ρ. Ha d = b, akkor (b, c) ∈ ρ ◦R(ωB). Ha d 6=b, akkor b, d ∈ B és d = c, amiből ismét azt kapjuk, hogy (b, c) ∈ ρ ◦R(ωB).Tehát

R(ωB) ◦ ρ ⊆ ρ ◦R(ωB),

s így R(ωB) ◦ ρ = ρ ◦R(ωB). �Ha az A = (A,X, δ) automata részautomatáinak [legalább kétállapo-

tú részautomatáinak] metszete nemüres [legalább kétállapotú], akkor azt Amagjának [szívének] nevezzük.

14.16 Tétel Automata magja (ha létezik) erősen összefüggő automata. Au-tomata szíve (ha létezik) erősen összefüggő vagy erősen csapda-összefüggővagy kétállapotú diszkrét automata.

Bizonyítás. Ha az A = (A,X, δ) automata K1(A) magja létezik, akkorbármely b ∈ K1(A) esetén K1(A) ⊆ [b] ⊆ K1(A). Ez azt jelenti, hogy K1(A)erősen összefüggő.

Tegyük fel, hogy az A automata K2(A) szíve létezik. A definíció mi-att a K2(A) automatának legfeljebb egyelemű valódi részautomatái vannak.Ezért, ha A-nak nincs csapdája, akkor K2(A) erősen összefüggő. Ha A-nak az a ∈ A az egyetlen csapdája és K2(A) nem erősen összefüggő, akkora ∈ K2(A). Az előbbiek szerint K2(A)-nak nincs legalább kétállapotú valódirészautomatája. Ez azt jelenti, hogy K2(A) erősen csapda-összefüggő. HaA-nak két csapdája van, akkor K2(A) a csapdák halmaza. Ezzel mindenesetet kimerítettünk, mert ha az automata szíve létezik, akkor az automatalegfeljebb kétcsapdás. �

A bizonyításból az is következik, hogy egy B automata az A automatá-nak akkor és csak akkor magja, ha B az A automatának egyetlen (nemüres)erősen összefüggő részautomatája és B állapotai az A állapotaiból elérhetők.Az A csapda nélküli automatának B akkor és csak akkor a szíve, ha B azA magja. Ebben az esetben azt mondjuk, hogy B az A erősen összefüggőszíve. Az A egycsapdás automatának B akkor és csak akkor szíve, ha vagymegkapható az előbb leírt automatából egy kétállapotú diszkrét automatá-val való bővítéseként, vagy B az A-nak egyetlen legalább kétállapotú erősencsapda-összefüggő részautomatája és B állapotai az A csapdán kívüli álla-potaiból elérhetők. Az első esetben B-t az A adjungált csapdás erősen össze-függő szívének, a második esetben pedig B-t az A erősen csapda-összefüggőszívének hívjuk. (Az első esetben az automatának nincs magja, a máso-dik esetben az automata magja a csapdát tartalmazó triviális részautomata,

110

Page 111: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amely része az automata szívének.) Az A kétcsapdás automatának B ak-kor és csak akkor szíve, ha a B az A kétállapotú diszkrét részautomatájaés B állapotai (a két csapda) az A csapdákon kívüli állapotaiból elérhetőek.Ilyenkor azt mondjuk, hogy B az A kétállapotú diszkrét szíve. (Ebben azesetben az automatának nincs magja.)

14.17 Lemma Minden legalább kétállapotú szubdirekt irreducibilis auto-matának van legalább két diszjunktív állapota.

Bizonyítás. Legyen A = (A,X, δ) legalább kétállapotú szubdirekt irredu-cibilis automata. Legyenek τ(a) (a ∈ A) a (14.9)-ben definiált kongruenciák.Nyilvánvaló, hogy ∩a∈Aτ(a) = ιA. A 14.7. Tételből következik, hogy vanolyan b ∈ A, amelyre τ(b) = ιA. Ez azt jelenti, hogy b diszjunktív állapot.A 14.14. Lemma szerint ∩a∈A−{b}τ(a) a legnagyobb szeparáló (A − {b})-kongruencia. Ebből kapjuk, hogy ∩a∈A−{b}τ(a) = ιA. Újra a 14.7. Tételszerint van olyan c ∈ A − {a}, amelyre τ(c) = ιA, azaz c is diszjunktívállapot. �

14.18 Lemma Ha az A = (A,X, δ) automatának van legalább két diszjunk-tív állapota, akkor az automata szíve létezik, és minden diszjunktív állapotbenne van az automata szívében.

Bizonyítás. Ha B = (B,X, δ) az A legalább kétállapotú részautomatája,akkor R(ωB) 6= ιA. Ha a ∈ A− B, akkor R(ωB) szeparáló {a}-kongruencia,ezért (14.9) szerint R(ωB) ⊆ τ(a). Ez azt jelenti, hogy τ(a) 6= ιA, azaz anem diszjunktív állapot. Tehát A minden diszjunktív állapota benne vanA minden legalább kétállapotú részautomatájában. Ami éppen azt jelenti,hogy az automata szíve létezik, és minden diszjunktív állapot benne van azautomata szívében. �

14.17. és a 14.18. Lemmákból, valamint 14.16. Tételből közvetlenüladódik a

14.19 Következmény Minden legalább kétállapotú szubdirekt irreducibilisautomata legfeljebb kétcsapdás és van szíve.

14.20 Tétel A legalább kétállapotú A = (A,X, δ) automata akkor és csakakkor szubdirekt irreducibilis, ha A olyan B = (B,X, δ) szubdirekt irredu-cibilis automatának egy összefüggő csapdás automatával való sűrű bővítéseamely teljesíti az alábbi feltételek egyikét:

(i) B az A erősen összefüggő szíve;

111

Page 112: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(ii) B az A erősen csapda-összefüggő szíve;(iii) B az A erősen összefüggő szívének egy kétállapotú diszkrét automatávalvaló bővítése;

(iv) B az A kétállapotú diszkrét szíve.

Bizonyítás. Először tegyük fel, hogy A szubdirekt irreducibilis. A 14.19.Következmény szerint A legfeljebb kétcsapdás és van szíve. A 14.16. Tételszerint az automata K2(A) szíve az automata erősen összefüggő vagy erősencsapda-összefüggő vagy kétállapotú diszkrét részautomatája.

Legyen K2(A) erősen összefüggő. Mivel minden a ∈ A állapotraK2(A) ⊆[a], ahol [a] az A automata a által generált ciklikus részautomatája, ezért haB = K2(A), akkor A/B összefüggő csapdás automata.

Tegyük fel most, hogy A egycsapdás automata, s legyen c ∈ A csapda.Ebben az esetben minden a ∈ A−{c} állapotra K2(A) ⊆ [a]. Ha c ∈ K2(A),akkor K2(A) erősen csapda-összefüggő, ezért B = K2(A) választással A/Bekkor is összefüggő csapdás automata. Ha pedig c /∈ K2(A), akkor K2(A)erősen összefüggő. Legyen B a K2(A)-ból c adjungálásával kapott automata.Nyilvánvaló, hogy B a K2(A) automatának kétállapotú diszkrét automatávalvaló bővítése és A/B összefüggő csapdás automata.

Végül, ha A kétcsapdás, akkor K2(A) a csapdákat tartalmazó kétálla-potú diszkrét automata, s ebben az esetben is, ha B = K2(A), akkor A/Bösszefüggő csapdás automata.

A 14.12. Tétel miatt B minden esetben szubdirekt irreducibilis. A 14.13.Tétel szerint a bővítés minden esetben sűrű.

Az állítás megfordítása nyilvánvalóan következik a 14.13. Tételből. �A 14.20. Tétel szerint, ha ismernénk az erősen összefüggő és az erősen

csapda-összefüggő szubdirekt irreducibilis automatákat, akkor ezek és a két-állapotú diszkrét automaták segítségével meg tudnánk adni minden szubdi-rekt irreducibilis automatát. Ezért is fontos az erősen összefüggő automatákvizsgálata.

14.21 Tétel Egy kétcsapdás automata akkor és csak akkor szubdirekt irre-ducibilis, ha csapdái diszjunktívek.

Bizonyítás. Legyenek c és d az A = (A,X, δ) automata csapdái. Ha A szub-direkt irreducibilis, akkor a 14.19. Következmény szerint K2(A) = {c, d}. A14.17 és 14.18. Lemmákból következik, hogy A-nak két diszjunktív állapotavan, s ezek benne vannak az automata szívében. Ez azt jelenti, hogy mind akét csapda diszjunktív.

Megfordítva, tegyük fel, hogy az c és az d csapdák diszjunktívek. A 14.18.Lemma szerint c, d ∈ K2(A), azaz K2(A) = {c, d}. Legyen ρ az A automata

112

Page 113: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

K2(A)-kongruenciája. Tegyük fel, hogy (a, b) ∈ ρ, ahol a, b /∈ K2(A) és a 6= b.Mivel K2(A) ⊆ [a]∩ [b] és c diszjunktív, ezért van olyan p ∈ X∗ bemenő szó,hogy ap = c 6= bp vagy ap 6= c = bp. Ezenkívül az első esetben bp 6= d és amásodik esetben ap 6= d, mert különben (c, d) ∈ ρ lenne. Mindkét esetben(ap, bp) ∈ ρ, azaz (c, bp) ∈ ρ vagy (d, bp) ∈ ρ. Ha például (c, bp) ∈ ρ, akkorminden q ∈ X∗ bemenő szóra (c, bpq) ∈ ρ. Mivel (c, d) /∈ ρ, ezért mindenq ∈ X∗ esetén cq, bpq 6= d, azaz (c, bp) ∈ τ(d). Ez azonban lehetetlen, mivel ddiszjunktív. Ebből következik, hogy ρ = ιA, azaz A a K2(A) automata sűrűbővítése. A K2(A) kétállapotú diszkrét automata nyilvánvalóan szubdirektirreducibilis, ezért a 14.13. Tétel szerint A is szubdirekt irreducibilis. �

Végül értelmezzük a direkt szorzatot Mealy [Moore] automatákra is. Aztmondjuk, hogy A = (A,X, Y, δ, λ[µ]) az Ak = (Ak, X, Yk, δk, λk[µk]) (k ∈ I)Mealy [Moore] automaták direkt szorzata, ha az Av vetület az (Ak)v (k ∈ I)vetületek direkt szorzata, Y =

∏k∈I Yk és minden a ∈ A, x ∈ X párra

(14.11) λ(a, x) = (λk(ak, x), k ∈ I) [µ(a) = (µk(ak); k ∈ I)].

Így a szubdirekt szorzat fogalma is átvihető Mealy [Moore] automatákra.A fejezet eredményei Mealy [Moore] automatákra is érvényesek.

A (14.1) definíciót is felhasználva terjesszük ki δ és λ értelmezését minden(a, p) ∈ A×X∗ párra a következő módon:

(14.12) δ(a, p) = (δk(ak, p); k ∈ I), λ(a, p) = (λk(ak, p); k ∈ I).

Természetesen ekkor

(14.13) ap = (akp; k ∈ I), λ(a, p) = (λk(ak, p); k ∈ I).

A fejezet utolsó tételét Mealy automaták karakterisztikus félcsoportjairamondjuk ki, de érvényesek a karakterisztikus monoidokra, továbbá a kimenőjel nélküli automaták karakterisztikus félcsoportjaira [monoidjaira] is.

14.22 Tétel Ha az A Mealy automata az Ak (k ∈ I) Mealy automatákdirekt szorzata, akkor akkor az S ′(A) karakterisztikus félcsoport izomorf azS ′(Ak) (k ∈ I) karakterisztikus félcsoportok egy szubdirekt szorzatával.

Bizonyítás. Legyen az A = (A,X, Y, δ, λ) Mealy automata az

Ak = (Ak, X, Yk, δk, λk) (k ∈ I)

Mealy automaták direkt szorzata. A (7.8) összefüggést is felhasználva nemnehéz belátni, hogy a

ϕ(ρ′A[p]) = (ρ′Ak[p]; k ∈ I) (p ∈ X+)

feltétellel megadott ϕ leképezés S ′(A) karakterisztikus félcsoport izomorf le-képezése az S ′(Ak) (k ∈ I) karakterisztikus félcsoportok egy szubdirekt szor-zatára. �

113

Page 114: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Feladatok14.1. Ha az A = (A,X, δ) nemtriviális automata izomorf az A1 = (A1, X, δ1) ésA2 = (A2, X, δ2) automaták direkt szorzatának egy részautomatájával, akkor izo-morf az egyik automata valamely részautomatájával vagy felbontható nemtriviálisautomaták szubdirekt szorzatára.14.2 Az irányítható automaták osztálya pszeudovarietás.14.3 Legyen ρ az A = (A,X, δ) automata egy kongruenciája. Ha a ρ-osztályok aHi (i ∈ I) halmazok, akkor

ρ = ∩i∈Iτ(Hi),

ahol τ(Hi) (i ∈ I) relációk a (12.8)-ban definiált kongruenciák.14.4 Legyen azA = (A,X, δ) automata szubdirekt irreducibilis. Ha C az A állapot-halmaz olyan osztályozása, amelyben legfeljebb egy osztály diszjunktív részhalmazaA-nak, akkor C-nek van nemtriviális kompatibilis finomítása.

15. Homomorf-direkt szorzatA Mealy automaták ekvivalenciája segítségével bevezetjük az ún. homomorf-direkt szorzatot. Ez a szorzat kimenő jel nélküli automatákra egy szubdi-rekt szorzat. Továbbá kimenő jel nélküli automaták minden direkt szorzatahomomorf-direkt szorzat. Belátjuk, hogy a kimenő jel nélküli automatákminden bővítése izomorf egy kéttényezős homomorf-direkt szorzattal.

Először azt az egyszerű állítást mutatjuk meg, amely a homomorf-direktszorzat bevezetését teszi lehetővé.

15.1 Lemma Tetszőleges A1 = (A1, X, Y, δ1, λ1) és A2 = (A2, X, Y, δ2, λ2)Mealy automatákra ekvivalensek az alábbi állítások:

(i) A1 és A2 ekvivalens;

(ii) Van olyan B = (B,X, Y, δB, λB) Mealy automata, amely A1-nek ésA2-nek homomorf képe;

(iii) Van olyan C = (C,X, Y, δC , λC) Mealy automata, amelynek A1 és A2

homomorf képe.

Bizonyítás. Az (i) =⇒ (ii) implikáció a 11.5. Tételből következik.Az (ii) =⇒ (iii) implikáció megmutatásához tegyük fel, hogy ϕk (k =

1, 2) az Ak-nek B-re való homomorf leképezése. Legyen C ⊆ A1×A2, amelyre

(15.1) C = {(a1, a2); ϕ1(a1) = ϕ2(a2)}, a1 ∈ A1, a2 ∈ A2,

Definiáljuk a δC és λC függvényeket minden (a1, a2) ∈ C és x ∈ X esetén a

(15.2) δC((a1, a2), x) = (δ1(a1, x), δ2(a2, x)),

114

Page 115: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(15.3) λC((a1, a2), x) = λ1(a1, x) = λ2(a2, x),

feltételekkel. Mivel ϕ1 és ϕ2 homorfizmus, ezért

ϕ1(δ1(a1, x)) = δB(ϕ1(a1), x) = δB(ϕ2(a2), x) = ϕ2(δ2(a2, x)),

λ1(a1, x) = λB(ϕ1(a1), x) = λB(ϕ(a2), x) = λ2(a2, x).

Ez azt jelenti, hogy a C = (C,X, Y, δC , λC) rendszer Mealy automata. Nemnehéz belátni, hogy a πk (k = 1, 2) projekciók C-re való szűkítései a Cautomata Ak automatákra való homomorf leképezései.

A (iii) =⇒ (i) implikáció következik a 11.3. Tételből. �A 15.1. Lemma bizonyításában szereplő C Mealy automatát A1 és A2

ϕ1 és ϕ2 leképezésekkel megadott homomorf-direkt szorzatának nevezzük, srá a A1 ×ϕ1,ϕ2 A2 jelölést használjuk.

Ez a fogalom közös homomorf képpel rendelkező automaták tetszőlegesrendszerére is definiálható. Legyenek ϕk (k ∈ I) leképezések az Ak =(Ak, X, Y, δk, λk) (k ∈ I) automatáknak a B = (B,X, Y, δ, δB, λB) automa-tára való homomorf leképezései. A C = (C,X, Y, δ, λ) automatát az Ak

automaták {ϕk, k ∈ I} leképezésrendszerrel megadott homomorf-direkt szor-zatának nevezzük, ha C a

∏k∈I Ak halmaznak az a részhalmaza, amelyre

(15.4) a ∈ C ⇐⇒ (∀k, l ∈ I)(ak, al ∈ a ⇐⇒ ϕk(ak) = ϕl(al)),

továbbá minden a ∈ C és x ∈ X esetén

(15.5) δ(a, x) = (δk(ak, x); k ∈ I),

(15.6.) λ(a, x) = λk(ak, x); k ∈ I

teljesül. A C homomorf-direkt szorzatra használni fogjuk a

(15.7)∏k∈I

(Ak, ϕk)

jelölést. Ha kimenő jel nélküli automatákról van szó, akkor homomorf-direktszorzatuk definíciójában természetesen (15.6) nem szerepel. Nem nehéz látnihogy, ha a ∈ C, akkor minden x ∈ X bemenő jelre δ(a, x) ∈ C, azaz Crendszer automata. Nyilvánvaló, hogy minden direkt szorzat egy homomorf-direkt szorzat és minden homomorf-direkt szorzat egy szubdirekt szorzat.

A gyakorlatban sokszor mondjuk azt, hogy bizonyos automaták hasonlóanműködnek. Ennek a kijelentésnek felel meg az automataelméletben az, hogyaz automatáknak van közös homomorf képük.

115

Page 116: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 14.1. Lemma homomorf-direkt szorzatra is érvényes. Nem nehéz meg-mutatni ugyanis, hogy az I indexhalmaz bármely π permutációjára az A =∏

k∈I(Ak, ϕk) homomorf-direkt szorzat izomorf az Aπ =∏

k∈I(Aπ(k), ϕπ(k))homomorf-direkt szorzattal.

Azt mondjuk, hogy az A automata felbontható az Ak (k ∈ I) automa-ták C homomorf-direkt szorzatára, ha A izomorf C-vel. Ebben az esetbenC homomorf-direkt szorzatot A egy homomorf-direkt felbontásának nevez-zük. Ha A bármely homomorf-direkt felbontásában valamely πk projekcióbijektív, akkor azt mondjuk, hogy a felbontás triviális és A homomorf-direktirreducibilis. Ha A-nak van olyan legalább kéttényezős homomorf-direktfelbontása, amelyben egyetlen πk projekció sem bijektív, akkor a felbontásnemtriviális és A homomorf-direkt reducibilis.

Automaták homomorf-direkt szorzatára igaz a 14.3. Tétel alábbi általá-nosítása.

15.2 Lemma Az A = (A,X, δ) automata akkor és csak akkor bontható felaz Ak = (Ak, X, δk) (k ∈ I) automaták homomorf-direkt szorzatára, ha A-nak vannak olyan ρk (k ∈ I) kongruenciái, hogy minden k ∈ I indexre A/ρkizomorf Ak-val,

(15.8) ∩k∈Iρk = ιA,

és tetszőleges a ∈ AI és b ∈ B esetén

(15.9) ∪k∈Iρk[a(k)] ⊆ ω[b] =⇒ ∩k∈Iρk[a(k)] 6= ∅,

ahol ω =∨k∈I ρk.

Bizonyítás Tegyük fel, hogy A felbontható az Ak (k ∈ I) automaták{ϕk; k ∈ I} leképezésrendszerrel megadott homomorf-direkt szorzatára. Azaz izomorfiaelv miatt feltehetjük, a (15.7) jelölést használva, hogy

A =∏k∈I

(Ak, ϕk).

Minden k ∈ I esetén a πk(A) = Ak, ahol πk a∏

k∈I Ak direkt szorzat k-adikprojekciója. Definiáljuk a ρk (k ∈ I) binér relációkat A-n úgy, hogy mindena,b ∈ A párra (a,b) ∈ ρk akkor és csak akkor teljesüljön, ha a(k) = b(k). Aρk (k ∈ I) binér relációk az A homomorf-direkt szorzat olyan kongruenciái,amelyekre ∩k∈Iρk = ιA és minden k ∈ I indexre az πk(ρk[a]) = a(k) (a ∈ A)az A/ρk faktorautomata izomorf leképezése Ak-ra. Mivel ∩k∈Iρk = ιA, ezért| ∩k∈I ρk[ak]| ≤ 1 (ak ∈ A).

116

Page 117: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyenek (ak; k ∈ I) ∈ AI és b ∈ A olyanok, hogy

∪k∈Iρk[ak] ⊆ ω[b].

Akkor bármely k ∈ I index esetén ρk[ak] ⊆ ω[b], azaz vannak olyan bj ∈A (j = 1, . . . ,m) elemek, amelyekre

ak(s1) = b1(s1), b1(s2) = b2(s2), . . . , bm(sm+1) = b(sm+1)

(s1, . . . sm+1 ∈ I). Ebből következik, hogy minden u, v ∈ I párra ϕu(ak(u)) =ϕv(b(v)). Így minden l, t ∈ I párra ϕl(al(l)) = ϕt(at(t)). Kaptuk, hogy(ak(k); k ∈ I) ∈ A, ezért {ak(k); k ∈ I} ∈ ∩k∈Iρk[ak], amiből ∩k∈Iρk[ak] 6= ∅következik.

Megfordítva, tegyük fel, hogy ρk (k ∈ I) az A automata olyan kong-ruenciái, amelyekre (15.8) és (15.9) teljesül. A 14.6. Tétel bizonyításábanmegmutattuk, hogy a (14.7) feltétellel definiált A′ automata az A/ρk (k ∈ I)automaták szubdirekt szorzata és izomorf A-val, a 14.3. Tétel bizonyításá-ban definiált ϕ leképezés mellett. A második izomorfiatételből következik,hogy A/ρ az A/ρk (k ∈ I) automaták homomorf képe a ϕk természetes ho-momorfizmusok mellett. Mivel bármely a ∈ AI esetén | ∩k∈I ρk[a(k)]| = 1akkor és csak akkor, ha van olyan b ∈ A, hogy ∪k∈Iρk[a(k)] ⊆ ω[b], ezértA′ az A/ρk (k ∈ I) automaták {ϕk; k ∈ I} leképezésrendszerrel megadotthomomorf-direkt szorzata. �

A (15.9) feltételből az is következik, hogy ha (a, b) ∈ ρ, akkor bármelyk, l ∈ I indexre ρk[a] ∩ ρl[b] 6= ∅. Amiből k 6= l esetén

ρ ⊆ ρk ◦ ρl ⊆ ρk ∨ ρl ⊆ ρ

azazρ = ρk ◦ ρl = ρl ◦ ρk = ρk ∨ ρl.

Ha az I indexhalmaz véges, akkor a 15.2. Lemma a következőképpen egysze-rűsíthető.

15.3 Lemma Az A = (A,X, δ) automata akkor és csak akkor bontható felaz Ak = (Ak, X, δk) (k ∈ [n]) automaták homomorf-direkt szorzatára, haA-nak vannak olyan ρk (k ∈ [n]) kongruenciái, hogy minden k ∈ I indexreA/ρk izomorf Ak-val és

(15.10) ∩nk=1ρk = ιA,

(15.11)n∨k=1

ρk = ρ1 ◦ ρ2 = (ρ1 ∩ ρ2) ◦ ρ3 = · · · = (ρ1 ∩ ρ2 ∩ · · · ∩ ρn−1) ◦ ρn.

117

Page 118: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A bizonyításban a 15.2. Lemma jelöléseit használjuk. Tegyükfel, hogy az A = (A,X, δ) automata felbontható az Ak = (Ak, X, δk) (k ∈[n]) automaták homomorf-direkt szorzatára. A 15.2. Lemma szerint (15.10)teljesül és A/ρk (k ∈ [n]) izomorf Ak-val. Megmutatjuk, hogy (15.11) isteljesül. Nyilvánvaló, hogy

(ρ1 ∩ ρ2 ∩ · · · ∩ ρj) ◦ ρj+1 ⊆n∨k=1

ρk (j = 2, . . . , n− 1).

Tegyük fel, hogy (a,b) ∈∨nk=1 ρk. Ebből következik, hogy minden k, l ∈ [n]

párra ϕk(a(k)) = ϕl(b(l)). Tekintsük A1×· · ·×An azon cj (j = 2, . . . , n−1)elemeit, amelyekre

a(1) = cj(1), . . . , a(j) = cj(j), cj(j + 1) = b(j + 1), . . . , cj(n) = b(n).

Könyen belátható, hogy cj ∈ A és

(a, cj) ∈ (ρ1 ∩ ρ2 ∩ · · · ∩ ρj) ◦ ρj+1, (cj,b) ∈ ρj+1,

azazn∨k=1

ρk ⊆ (ρ1 ∩ ρ2 ∩ · · · ∩ ρj) ◦ ρj+1 (j = 2, . . . , n− 1).

Megfordítva, tegyük fel, hogy ρk (k ∈ [n]) az A automata olyan kong-ruenciái, amelyekre (15.10) és (15.11) teljesül. Legyen ρ =

∨k∈I ρk. Ez azt

jelenti, hogy ha a ∈ An, b ∈ A és ∪nk=1ρk[a(k)] ⊆ ρ[b], akkor

ρ1[a(1)] ∩ ρ2[a(2)] 6= ∅,

(ρ1[a(1)] ∩ ρ2[a(2)]) ∩ ρ3[a(3)] 6= ∅, . . .. . . , (ρ1[a(1)] ∩ ρ2[a(2)] ∩ · · · ∩ ρn−1[a(n− 1)]) ∩ ρn[a(n)] 6= ∅,

amiből következik, hogy A az A/ρk (k ∈ [n]) automaták egy homomorf-direkt szorzata. �

Ha az előző tételben∨nk=1 ρk = ωA, akkor a homomorf-direkt szorzat

direkt szorzat. Igaz a 14.4. Következmény alábbi általánosítása.

15.4 Következmény Az A-véges A = (A,X, δ) automata akkor és csakakkor homomorf-direkt reducibilis, ha az A automatának vannak olyan ρ ésτ nemtriviális kongruenciái, amelyekre

(15.12) ρ ∩ τ = ιA és ρ ◦ τ = τ ◦ ρ

teljesül. Ebben az esetben A felbontható A/ρ és A/τ homomorf-direkt szor-zatára.

118

Page 119: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tegyük fel, hogy az A = (A,X, δ) automata homomorf-direktreducibilis, azaz felbontható legalább két nemtriviális automata homomorf-direkt szorzatára. A 15.3. Lemma szerint A-nak vannak olyan

ρk 6= ιA (k ∈ I, 2 ≤ |I| <∞)

kongruenciái, amelyekre (15.8) és (15.9) teljesül. Tegyük fel először, hogyI-nek nincs olyan I ′ 6= ∅ valódi részhalmaza, amelyre ∩k∈I′ρk = ιA. Legyenaz I indexhalmaz egy {I1, I2} osztályozására ρ = ∩k∈I1ρk és τ = ∩k∈I2ρk. A(15.8) feltételből következik, hogy ρ ∩ τ = ιA. Megmutatjuk, hogy

ρ ◦ τ = ρ ∨ τ = τ ◦ ρ.

Mivel ρ ◦ τ ⊆ ρ ∨ τ , ezért azt kell megmutatni, hogy ρ ∨ τ ⊆ ρ ◦ τ . Ha(a, b) ∈ ρ ∨ τ , akkor (15.9) miatt,

ρ[a] ∩ τ [b] = (∩k∈I1ρk[a]) ∩ (∩k∈I2ρk[b]) 6= ∅,

amiből következik, hogy (a, b) ∈ ρ ◦ τ . Hasonlóan mutatható meg, hogyρ ∨ τ = τ ◦ ρ.

Tegyük fel másodszor, hogy I-nek van olyan I ′ 6= ∅ legalább kételeművalódi részhalmaza, amelyre ∩k∈I′ρk = ιA. A ρk (k ∈ I ′) kongruenciák isteljesítik a (15.9) feltételt. Ha |I ′| = 2, akkor (15.12) teljesül. Ha 2 < |I ′|,akkor az előbbieket I helyett I ′-re megismételjük. Nem nehéz belátni, hogyvéges számú lépésben megkapjuk, hogy (15.12) valóban igaz.

Megfordítva, tegyük fel, hogy az A automatának vannak olyan ρ és τnemtriviális kongruenciái, amelyekre ρ ∩ τ = ιA és ρ ◦ τ = τ ◦ ρ, Az utóbbifeltételből következik, hogy ρ ◦ τ = ρ ∨ τ , azaz kongruencia. Így bármely(a, b) ∈ ρ ∨ τ párhoz van olyan c ∈ A állapot, hogy (a, c) ∈ ρ és (c, b) ∈ τ .A ρ ∩ τ = ιA feltételből következik, hogy ρ[a] ∩ τ [b] = {c}. A 15.3. Lemmaszerint ez azt jelenti, hogy az α : A→ A/ρ×A/τ leképezés, amelyre mindena ∈ A állapot esetén α(a) = (ρ[a], τ [a]) teljesül, az A automata izomorfleképezése az A/ρ és A/τ faktorautomaták homomorf-direkt szorzatára. �

A 15.4. Következményt felhasználva, nem nehéz belátni, hogy mindenlegfeljebb háromállapotú automata homomorf-direkt irreducibilis.

A 14.10. Tételben megmutattuk, hogy minden automatabővítés megad-ható kéttényezős szubdirekt szorzattal. A következő tétel azt mondja ki, hogyminden automatabővítés speciálisan kéttényezős homomorf-direkt szorzattalis megkapható.

Az A = (A,X, δ) automata B = (B,X, δ) részautomatáját az A gyengénsűrű részautomatájának nevezzük, ha ιA szeparáló B-kongruencia. Az Aautomatát B-nek C-vel való gyengén sűrű bővítésének mondjuk, ha B azA automata gyengén sűrű részautomatája. Minden sűrű bővítés egyúttalgyengén sűrű bővítés is.

119

Page 120: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

15.5 Tétel Ha B az A automata részautomatája, akkor A felbontható azA/B Rees-faktornak és B valamely gyengén sűrű bővítésének homomorf-direkt szorzatára.

Bizonyítás. A 14.14. Lemma szerint ρ = ∩a∈Bτ(a) az A automata leg-nagyobb szeparáló B-kongruenciája. Mivel ρ egy B-kongruencia, ezért Bizomorf az A/ρ faktorautomatának azzal a B′ részautomatájával, amelynekállapothalmaza B′ = {ρ[b]; b ∈ B}. Ez azt jelenti, hogy A/ρ a B′ bővítése.Megmutatjuk, hogy ez gyengén sűrű bővítés.

A megfeleltetési tétel szerint a ϕ : τ → τ/ρ (ρ ⊆ τ) leképezés a C(A)kongruenciaháló [ρ, ωA] intervallumának izomorf leképezése C(A/ρ)-ra. Le-gyen τ ∈ [ρ, ωA] olyan kongruencia, amelyre τ/ρ az A/ρ automata szeparálóB′-kongruenciája. Ha valamely a, b ∈ B esetén (a, b) ∈ τ , akkor ρ[a], ρ[b] ∈B′ és (ρ[a], ρ[b]) ∈ τ/ρ, s innen ρ[a] = ρ[b]. Mivel ρ B-kongruencia, így a = b.Ez azt jelenti, hogy τ olyan B-kongruencia, amelyre ρ ⊆ τ . Legyenek mosta ∈ A−B és b ∈ B, amelyekre (a, b) ∈ τ , azaz (ρ[a], ρ[b]) ∈ τ/ρ. De ρ[b] ∈ B′és τ/ρ szeparáló B′-kongruencia, ezért ρ[a] = ρ[b]. Ez azonban lehetetlen,mivel ρ szeparáló B-kongruencia. Így τ szeparáló B-kongruencia. Azonbanρ a legnagyobb szeparáló B-kongruencia, ezért τ = ρ, azaz τ/ρ = ιA/ρ. Ezazt jelenti, hogy A/ρ a B′ gyengén sűrű bővítése. Ha B-t azonosítjuk B′-vel,akkor A/ρ a B gyengén sűrű bővítése.

Nem nehéz belátni, hogy ρ ∩ R(ωB) = ιA és ρ ◦ R(ωB) = R(ωB) ◦ ρ. A15.4. Következményt felhasználva kapjuk, hogy A felbontható A/B és A/ρhomomorf-direkt szorzatára. �

Az előző tétel bizonyításában leirt homomorf-direkt felbontás akkor éscsak akkor valódi, ha B az A legalább kétállapotú részautomatája és

∩a∈Bτ(a) 6= ιA.

A 14.15. Lemma szerint, ha B az A automata olyan legalább kétállapotúrészautomatája, amelyre ∩a∈Bτ(a) = ιA, akkor A nem adható meg A/B-nek és B gyengén sűrű bővítésének valódi homomorf-direkt szorzataként,de ha van nemtriviális B-kongruenciája, akkor a 14.10. Tétel bizonyításautáni megjegyzés szerint még mindig megadható A/B-nek és B sűrű, s ígygyengén sűrű bővítésének valódi szubdirekt szorzataként, amely azonban nemhomomorf-direkt szorzat.

15.6 Tétel Homomorf-direkt irreducibilis automata minden részautomatájahomomorf-direkt irreducibilis. Továbbá homomorf-direkt irreducibilis auto-mata minden legalább kétállapotú részautomatájának gyengén sűrű bővítése.

Bizonyítás. Tegyük fel, hogy az A homomorf-direkt irreducibilis automataB részautomatája nem homomorf-direkt irreducibilis. A 15.2. Lemma szerint

120

Page 121: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

vannak olyan ρk(k ∈ I) nemtriviális kongruenciái, amelyekre (15.8) és (15.9)teljesül. Ha ρ =

∨k∈I ρk, akkor ez azt jelenti, hogy a (5.1)-ben definiált R(ρ)

ésR(ρk) (k ∈ I) Rees kiterjesztések az A automata nemtriviális kongruenciái,amelyekre

∩k∈IR(ρk) = ιA,∨k∈I

R(ρk) = R(ρ).

Legyenek a ∈ AI és b ∈ A olyanok, hogy ∪k∈IR(ρk)[a(k)] ⊆ R(ρ)[b]. Hab /∈ B, akkor minden k ∈ I indexre a(k) = b. Ha pedig b ∈ B, akkorminden k ∈ I indexre a(k) ∈ B. Így R(ρk)[a(k)] = ρk[a(k)] és R(ρ)[b] = ρ[b].Mindkét esetben ∩k∈IR(ρk)[a(k)] 6= ∅. Ez azonban ellentmond annak, hogyA homomorf-direkt irreducibilis.

Legyen B legalább kétallapotú. Ha a 15.5. Tétel bizonyításában sze-replő ρ kongruencia nem egyenlő ιA-val, azaz A a B-nek nem gyengén sűrűbővítése, akkor a 15.5. Tétel utáni megjegyzés szerint A homomorf-direktreducibilis. �

16. Párhuzamos és soros kapcsolásA fejezetben az automaták gyakorlati szempontból alapvető két összekapcso-lási módját, s ezeknek általánosításait vizsgáljuk algebrai eszközökkel.

Legyenek Ak = (Ak, Xk, Yk, δk, λk[µk]) (k ∈ I) tetszőleges Mealy [Moore]automaták. Az A = (A,X, Y, δ, λ[µ]) Mealy [Moore] automatát az Ak (k ∈I) automaták párhuzamos kapcsolásának vagy heterogén direkt szorzatánaknevezzük, ha A =

∏k∈I Ak, X =

∏k∈I Xk, Y =

∏k∈I Yk és bármely a =

(ak; k ∈ I) ∈ A, x = (xk; k ∈ I) ∈ X párra

(16.1) δ(a,x) = (δk(ak, xk); k ∈ I),

(16.2) λ(a,x) = (λk(ak, xk); k ∈ I) [µ(a) = (µk(ak); k ∈ I)]

teljesül. A párhuzamos kapcsolásra, ugyanúgy mint direkt szorzat esetén,az A =

∏k∈I Ak jelölést használjuk. A párhuzamos kapcsolás természetesen

kimenő jel nélküli automatákra is definiálható. Ebben az esetben csak a(16.1) feltételt írjuk elő. Azt mondjuk, hogy a B = (B,X, Y, δ′, λ′) automatamegadható az Ak (k = 1, 2, dots, n) automaták párhuzamos kapcsolásakéntvagy felbontható az Ak (k ∈ [n]) automaták heterogén direkt szorzatára, ha Bizomorf A-val. Ekkor A-t a B automata párhuzamos felbontásának nevezzük.Minden automata saját magának egytényezős párhuzamos kapcsolása.

A következő két lemmából, amelyek a 14.1. és 14.2. Lemmák megfelelői,speciális esetként adódik, hogy a párhuzamos kapcsolás (általános izomorfia

121

Page 122: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

erejéig) kommutatív és asszociatív. A lemmák kimenő jel nélküli automatákrais igazak.

16.1 Lemma Legyenek Ak = (Ak, Xk, Yk, δk, λk[µk]) (k ∈ I) tetszőlegesMealy [Moore] automaták. Az I indexhalmaz bármely π permutációjára aA =

∏k∈I Ak párhuzamos kapcsolás általánosan izomorf a Aπ =

∏k∈I Aπ(k)

párhuzamos kapcsolással.

Bizonyítás. Tegyük fel, hogy A =∏

k∈I Ak, X =∏

k∈I Xk és Y =∏

k∈I Yk.Ha αA,π, αX,π és αY,π a (14.2) feltétellel definiált leképezések, akkor

(αA,π, αX,π, αY,π)

az A direkt szorzat általános izomorf leképezése az Aπ direkt szorzatra. �

16.2 Lemma Legyenek Aj = (Aj, Xj, Yj, δj, λj[µj]) (j ∈ J) tetszőleges Me-aly [Moore] automaták. A J indexhalmaz bármely C = {Ik; k ∈ I} osztá-lyozására a

∏k∈I(

∏l∈Ik Ak,l) = (A,X, δ) párhuzamos kapcsolás általánosan

izomorf a∏

(k,l)∈J(C) Ak,l = (A′, X, δ′) párhuzamos kapcsolással.

Bizonyítás. Egy megfelelő általános izomorfizmus (αA,C, αX,C, αY,C), aholαA,C, αX,C és αY,C a (14.3) feltétellel definiált leképezések. �

Most bebizonyítjuk a 14.22. Tétel párhuzamos kapcsolásokra vonatkozómegfelelőjét. Ez a tétel is érvényes karakterisztikus monoidokra, továbbákimenő jel nélküli automatákra is.

16.3 Tétel Ha az A Mealy automata az Ak (k ∈ I) Mealy automatákpárhuzamos kapcsolása, akkor az S ′(A) karakterisztikus félcsoport izomorfaz S ′(Ak) (k ∈ I) karakterisztikus félcsoportok egy szubdirekt szorzatával.

Bizonyítás. Legyen az A = (A,X, Y, δ, λ) Mealy automata az

Ak = (Ak, Xk, Yk, δk, λk) (k ∈ I)

Mealy automaták direkt szorzata. Akkor X =∏

k∈I Xk és

p = (xk(1); k ∈ I)(xk

(2); k ∈ I) . . . (xk(n); k ∈ I)

az X+ szabad félcsoport tetszőleges eleme. A (7.8) összefüggést is felhasz-nálva, könnyen belátható, hogy a

ψ(ρ′A[p]) = (ρ′Ak[xk

(1)xk(2) . . . xk

(n)]; k ∈ I) (p ∈ X+)

feltétellel megadott ψ leképezés S ′(A) karakterisztikus félcsoport izomorf le-képezése az S ′(Ak) (k ∈ I) karakterisztikus félcsoportok egy szubdirekt szor-zatára. �

122

Page 123: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

16.4 Tétel Az X feletti Ak (k ∈ I) Mealy [Moore] automaták direkt szor-zata bemenet-izomorf párhuzamos kapcsolásuk egy X-részautomatájával.

Bizonyítás. A ϕ : X → XI leképezés, amelyre minden x ∈ X esetén

(16.3) ϕ(x) = (x; k ∈ I)

teljesül, egy megfelelő bemenet-izomorfizmus. �Legyenek H és Hk (k ∈ I) tetszőleges nemüres halmazok és ϕ a H hal-

maznak a∏

k∈I Hk halmazba való leképezése. A ϕk : H → Hk leképezést ϕk-adik komponensének nevezzük, ha minden h ∈ H elemre

(16.4) ϕk(h) = hk (k ∈ I) ⇔ ϕ(h) = (hk; k ∈ I).

Ekkor a ϕ = (ϕk; k ∈ I) jelölést is használjuk. Ha a (16.3)-ban definiáltleképezés, akkor minden k ∈ I indexre ϕk = ιX . Az I indexhalmaz tetszőlegesπ permutációjára definiáljuk a ϕH,π : H →

∏k∈I Hk leképezést minden h ∈ H

elemre következőképpen:

(16.5) ϕH,π(h) = (hπ(k); k ∈ I) ⇐⇒ ϕ(h) = (hk; k ∈ I)

Most megadjuk a párhuzamos kapcsolás egy olyan általánosítását, amelyjól használható az automataelméleti vizsgálatokban. A 16.4. Tétel szerint,amely kimenő jel nélküli automatákra is érvényes, ez az új szorzatfogalom adirekt szorzat általánosítása is.

Azt mondjuk, hogy az A = (A,X, Y, δ, λ[µ]) Mealy [Moore] automata azAk = (Ak, Xk, Yk, δk, λk[µk]) (k ∈ I) Mealy [Moore] automaták egy kvázidi-rekt szorzata, ha létezik A-nak egy ϕ : X →

∏k∈I Xk bemenet-homomorf

leképezése az Ak (k ∈ I) automaták párhuzamos kapcsolásába. Erre a szor-zatra az A =

∏k∈I Ak[X,ϕ] jelölést használjuk. A kvázidirekt szorzat defi-

niálható kimenő jel nélküli automatákra is.Ha X =

∏k∈I Xk, akkor a

∏k∈I Ak párhuzamos kapcsolás megegyezik a∏

k∈I Ak[X, ιX ] kvázidirekt szorzattal. Ha pedig X = Xk (k ∈ I), akkor a∏k∈I Ak direkt szorzat éppen a

∏k∈I Ak[X,ϕ] kvázidirekt szorzat, ahol ϕ a

(16.3) leképezés.A következő egyszerűen bizonyítható tétel mutatja, hogy automaták kváz-

idirekt szorzata megkapható bizonyos automaták ugyanannyi tényezős direktszorzataként is. A tétel állítása Moore automatákra és kimenő jel nélküli au-tomatákra is igaz.

16.5 Tétel Legyenek Ak = (Ak, Xk, Yk, δk, λk) (k ∈ I) tetszőleges Mealyautomaták, X tetszőleges (nemüres) halmaz. A

∏k∈I Ak[X,ϕ] kvázidirekt

123

Page 124: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szorzat megegyezik az A∗k = (Ak, X, Yk, δ∗k, λ

∗k) (k ∈ I) Mealy automaták

direkt szorzatával, ahol minden ak ∈ Ak állapotra és x ∈ X bemenő jelre

δ∗k(ak, x) = δk(ak, ϕk(x)), λ∗k(ak, x) = λk(ak, ϕk(x)).

Az előbbi tételben ϕ (16.4)-ben definiált ϕk (k ∈ I) komponensei a tétel-ben szereplő A∗k automaták bemenet-homomorf leképezései az Ak automa-tákba.

16.6 Lemma Legyenek Ak = (Ak, Xk, Yk, δk, λk) (k ∈ I) tetszőleges Mealyautomaták. Ha π az I indexhalmaz permutációja, ϕX,π pedig (16.5)-belileképezés, akkor A =

∏k∈I Ak[X,ϕ] kvázidirekt szorzat AY-izomorf az Aπ =∏

k∈I Aπ(k)[X,ϕX,π] kvázidirekt szorzattal.

Bizonyítás. A (14.2) feltétellel definiált αA,π-re és αY,π-re (αA,π, αY,π) azA kvázidirekt szorzat AY-izomorf leképezése az Aπ kvázidirekt szorzatra.Legyen ugyanis az A kvázidirekt szorzat átmenet- és kimenetfüggvénye δ ill.λ, az Aπ kvázidirekt szorzaté pedig δπ ill. λπ. Akkor minden a és x ∈ Xesetén

αA,π(δ(a, x)) = αA,π((δk(ak, ϕk(x)); k ∈ I)) =

= (δπ(k)(aπ(k), ϕπ(k)(x)); k ∈ I) = δπ(αA,π(a), x),

αY,π(λ(a, x)) = αY,π((λk(ak, ϕk(x)); k ∈ I)) =

= (λπ(k)(aπ(k), ϕπ(k)(x)); k ∈ I) = λπ(αA,π(a), x).�

16.7 Lemma Legyenek Aj = (Aj, Xj, Yj, δj, λj) (j ∈ J) tetszőleges Mealyautomaták és C = {Ik; k ∈ I} a J indexhalmaz egy osztályozása. Az A(k) =∏

l∈Ik Ak,l[X(k), ϕ(k)] = (A(k), X(k), Y (k), δ(k), λ(k)) kvázidirekt szorzatok A =∏

k∈I A(k)[X,ϕ] = (A,X, Y, δ, λ) kvázidirekt szorzata AY-izomorf az A′ =∏(k,l)∈J(C) Ak,l[X,ϕ

′] = (A′, X, Y ′, δ′, λ′) kvázidirekt szorzattal, ahol ϕ′k,l =

ϕk ◦ ϕ(k)l ((k, l) ∈ J(C)).

Bizonyítás. Ha a = (a(k); k ∈ I) ∈ A =∏

k∈I A(k), a(k) = (ak,l; l ∈ Ik) ∈

A(k) =∏

l∈Ik Ak,l és x ∈ X, akkor

αA,C(δ(a, x)) = αA,C((δ(k)(a(k), ϕk(x)); k ∈ I)) =

= αA,C(((δk,l(ak,l, ϕ(k)

l(ϕk(x)); l ∈ Ik); k ∈ I)) =

= (δk,l(ak,l, ϕk ◦ ϕ(k)l(x)); (k, l) ∈ J(C)) = δ′(αA,C(a), x),

αY,C(λ(a, x)) = αY,C((λ(k)(a(k), ϕk(x)); k ∈ I)) =

124

Page 125: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

= αY,C(((λk,l(ak,l, ϕ(k)

l(ϕk(x)); l ∈ Ik); k ∈ I)) =

= (λk,l(ak,l, ϕk ◦ ϕ(k)l(x)); (k, l) ∈ J(C)) = λ′(αA,C(a), x).

Ez azt jelenti, hogy (αA,C, αY,C) az A kvázidirekt szorzat (A, Y )-izomorf le-képezése az A′ kvázidirekt szorzatra. �

A 16.7. Lemma igaz Moore automatákra és kimenő jel nélküli auto-matákra is. A lemmából az is következik, hogy a kvázidirekt szorzat (AY-izomorfizmus erejéig) asszociatív.

16.8 Tétel Ha az A = (A,X, Y, δ, λ) automata az Ak (k ∈ I) automatákkvázidirekt szorzata, akkor az S(A) karakterisztikus félcsoport homomorfanbeágyazható az S(Ak) (k ∈ I) karakterisztikus félcsoportok egy szubdirektszorzatába.

Bizonyítás. Legyen A =∏

k∈I Ak[X,ϕ]. Jelöljük a ϕ leképezés X+-ra valóhomomorf kiterjesztését szintén ϕ-vel. Legyen p = x(1)x(2) . . . x(n) ∈ X+ ésϕ(p) = (x

(1)k ; k ∈ I)(x

(2)k ; k ∈ I) . . . (x

(n)k ; k ∈ I). A 16.3. Tétel bizonyításához

hasonlóan kapjuk, hogy a

ψ(ρ′A[p]) = (ρ′Ak[x

(1)k x

(2)k . . . x

(n)k ]; k ∈ I) (p ∈ X+)

feltétellel megadott ψ leképezés S ′(A) karakterisztikus félcsoport homomorfleképezése az S ′(Ak) (k ∈ I) karakterisztikus félcsoportok egy szubdirektszorzatába. �

Ez a tétel is érvényes karakterisztikus monoidokra, továbbá kimenő jelnélküli automatákra is.

Most megadjuk az automaták soros kapcsolásának algebrai fogalmát. Te-kintsük az Ak = (Ak, Xk, Yk, δk, λk) (k = 1, 2, . . . , n) Mealy automatákat éstegyük fel, hogy Yk = Xk+1 (k = 1, 2, . . . , n − 1). Azt mondjuk, hogy azA = (A,X, Y, δ, λ) Mealy automata az Ak (k = 1, 2, . . . , n) Mealy automa-ták soros kapcsolása vagy szuperpozíciója, ha A = A1 ×A2 × · · · ×An, X =X1, Y = Yn, továbbá ha (a1, a2, . . . , an) ∈ A és x ∈ X, akkor

(16.6) δ((a1, a2, . . . , an), x) = (b1, b2, . . . , bn), λ((a1, . . . , an), x) = yn,

aholb1 = δ1(a1, x), y1 = λ1(a1, x),

bk = δk(ak, yk−1), yk = λk(ak, yk−1) (k = 2, . . . , n)

teljesül. Az A soros kapcsolásra használjuk az A =∏n

k=1 Ak[X1, Yn] jelöléstis. A definícióból következik, hogy a soros kapcsolás nem kommutatív. Aztmondjuk, hogy a B = (B,X, Y, δ′, λ′) automata megadható az Ak (k ∈ [n])

125

Page 126: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

soros kapcsolásaként vagy felbontható az Ak (k ∈ [n]) automaták szuper-pozíciójára, ha B izomorf A-val. Minden Mealy automata saját magánakegytényezős soros kapcsolása.

Moore automaták szuperpozícióján a hozzájuk tartozó Mealy automatákszuperpozícióját értjük. A soros kapcsolás kimenő jel nélküli automatákra isátvihető, ha az A = (A,X, δ) kimenő jel nélküli automatát az

A = (A,X,A×X, δ, λ)

Mealy automatának tekintjük, ahol minden a ∈ A és x ∈ X esetén λ(a, x) =(a, x). Azt mondjuk, hogy az A = (A,X, δ) kimenő jel nélküli automata azAk = (Ak, Xk, δk) (k = 1, . . . , n) automaták soros kapcsolása vagy szuperpo-zíciója, ha

A = A1 × A2 × · · · × An, X = X1, Ak ×Xk = Xk+1 (k = 1, 2, . . . , n− 1)

és, ha (a1, a2, . . . , an) ∈ A, x ∈ X, akkor

(16.7) = δ((a1, a2, . . . , an), x) =

(δ1(a1, x), δ2(a2, (a1, x)), . . . , δn(an, (an−1, (an−2, . . . (a2, (a1, x)) . . . )).

A szuperpozíció megszámlálhatóan végtelen sok automatára is megfogalmaz-ható. Ez csak annyiban különbözik az n tényezős szuperpozíciótól, hogyMealy automaták szuperpozíciójának kimenetfüggvényét tetszőlegesen adjukmeg.

16.9 Lemma Legyenek 0 = n0 < n1 < · · · < nk−1 < nk tetszőlegesegész számok. Ha Al

′ = (Al′, Xl

′, Yl′, δl′, λl

′) (l = 1, 2, . . . , k) az Anl−1+t =(Anl−1+t, Xnl−1+t, Ynl−1+t, δnl−1+t, λnl−1+t) (t = 1, 2, . . . , nl − nl−1) automatáksoros kapcsolása és A = (A,X, Y, δ, λ) az Al

′ (l = 1, 2, . . . , k) automa-ták soros kapcsolása, akkor A izomorf az As (s = 1, 2, . . . , nk) automatákA′ = (A′, X, Y, δ′, λ′) soros kapcsolásával.

Bizonyítás. A feltételekből adódik, hogy

Al′ = Anl−1+1 × Anl−1+2 × · · · × Anl ,

Xl′ = Xnl−1+1, Yl

′ = Ynl (l = 1, 2, . . . , k),

A = A1′ × A2

′ × · · · × Ak ′,

A′ = A1 × A2 × · · · × Ank , X = X1, Y = Ynk .

TovábbáYnl = Yl

′ ⊆ Xl+1′ = Xnl+1 (l = 1, 2, . . . , k − 1).

126

Page 127: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az α : A→ A′ leképezés, amely minden as ∈ As (s = 1, 2, . . . , nk) eseténteljesíti az

α((a1, . . . , an1), (an1+1, . . . , an2), . . . , (ank−1+1, . . . , ank)) = (a1, a2, . . . , ank)

feltételt, egy megfelelő izomorfizmus. �Legyenek Ak = (Ak, Xk, Yk, δk, λk) (k = 1, 2, 3) olyan automaták, hogy

Y1 = X2 és Y2 = X3. A 16.9. Lemma szerint az (A1 × A2) × A3[X1, Y3]soros kapcsolás és az A1 × (A2 × A3)[X1, Y3] soros kapcsolás izomorf azA1 ×A2 ×A3[X1, Y3] soros kapcsolással, ezért egymással is izomorfak. Eztúgy mondjuk, hogy a soros kapcsolás izomorfia erejéig asszociatív.

16.10 Tétel Az A = (A,X, Y, δ, λ) Mealy automata akkor és csak akkorbontható fel nemtriviális Mealy automaták szuperpozíciójára, ha vetületénekvan nemtriviális uniform kongruenciája.

Bizonyítás. Tegyük fel először, hogy az A = (A,X, Y, δ, λ) Mealy automa-ta felbontható legalább két nemtriviális Mealy automata szuperpozíciójára.Az izomorfiaelv miatt feltehetjük, hogy A egyenlő ezzel a szuperpozícióval.Legyen a szuperpozíció első tényezője A1 = (A1, X, Y1, δ1, λ1). A (16.6) defi-nícióból következik, hogy a π1 projekció az A vetületének homomorfizmusa.Nem nehéz belátni, hogy kerπ1 az A vetületének nemtriviális uniform kong-ruenciája.

Megfordítva, tegyük fel, hogy ρ az A = (A,X, Y, δ, λ) Mealy automatavetületének nemtriviális uniform kongruenciája, azaz |A/ρ| > 1 és bármelya, b ∈ A állapotra |ρ[a]| = |ρ[b]| > 1. Tekintsük az

A1 = (A/ρ,X,A/ρ×X, δρ, λρ)

Mealy automatát, ahol minden a ∈ A állapotra és x ∈ X bemenő jelre

δρ(ρ[a], x) = ρ[δ(a, x)], λρ(ρ[a], x) = (ρ[a], x).

Legyen továbbá H tetszőleges olyan halmaz, amelynek számossága egyenlő aρ-osztályok számosságával és ϕρ[a] (a ∈ A) a ρ[a] osztály bijektív leképezésea H halmazra.

Minthogy ϕρ[c] a ρ[c] halmaz bijektív leképezése a H halmazra, ezért min-den a, c ∈ A és b ∈ ρ[a] esetén pontosan egy olyan d ∈ A van, amelyre

(16.8) ρ[c] = ρ[d] és ϕρ[a](b) = ϕρ[d](d).

Legyenek a′, c′ ∈ A és b′ ∈ ρ[a′] olyanok, hogy

ρ[c] = ρ[c′] és ϕρ[a](b) = ϕρ[a′](b′).

127

Page 128: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az előző meggondolást az a′, b′ és c′ állapotokra alkalmazva kapjuk, hogyegyetlen olyan d′ ∈ A állapot van, amelyre

ρ[c′] = ρ[d′] és ϕρ[a′](b′) = ϕρ[d′](d

′).

Amibőlϕρ[c](d) = ϕρ[a](b) = ϕρ[a′](b

′) = ϕρ[c′](d′) = ϕρ[c](d

′).

Ebből d = d′ következik. Így definiálhatjuk a δH : H × ((A/ρ)×X)→ H ésa λH : H × ((A/ρ)×X)→ Y leképezéseket a következő módon:

δH(ϕρ[a](b), (ρ[c], x)) = ϕρ[δ(d,x)](δ(d, x)),

λH(ϕρ[a](b), (ρ[c], x)) = λ(d, x) (a, c ∈ A, b ∈ ρ[a], x ∈ X),

ahol ρ[c] = ρ[d] és ϕρ[a](b) = ϕρ[d](d). Ezek azt is jelentik, hogy az

α(a) = (ρ[a], ϕρ[a](a)) (a ∈ A)

összefüggéssel értelmezett α leképezés az A halmaznak az (A/ρ)×H halmazravaló bijektív leképezése.

Felhasználva, hogy ha b = c = a, akkor (16.8)-ban d = a, megmutatjuk,hogy α A-nak az A1 és az A2 = (H, (A/ρ)×X, Y, δH , λH) Mealy automatákA′ = ((A/ρ)×H,X, Y, δ′, λ′) szuperpozíciójára való izomorf leképezése. Haa ∈ A és x ∈ X, akkor

α(δ(a, x)) = (ρ[δ(a, x)], ϕρ[δ(a,x)](δ(a, x))) =

= (δρ(ρ[a], x), δH(ϕρ[a](a), (ρ[a], x)) = δ′((ρ[a], ϕρ[a](a)), x) = δ′(α(a), x),

λ(a, x) = λH(ϕρ[a](a), (ρ[a], x)) =

= λ′((ρ[a], ϕρ[a](a)), x) = λ′(α(a), x),

azaz α izomorfizmus. �

16.11 Következmény Az A = (A,X, δ) kimenő jel nélküli automata akkorés csak akkor bontható fel nemtriviális automaták szuperpozíciójára, ha vannemtriviális uniform kongruenciája.

Bizonyítás. Ha a 16.10. Tétel bizonyításában a kimenetfüggvényekre vonat-kozó részeket, az A1 kimenetfüggvénye kivételével, töröljük, akkor a 16.11.Következmény bizonyítását kapjuk. Az A1 Mealy automata ugyanis nemmás mint az A/ρ kimenő jel nélküli automata a kimenő jel nélküli automa-ták szuperpozíciójánál szokásos kimenetfüggvénnyel ellátva. �

Mealy [Moore] automatákra és kimenő jel nélküli automatákra egyarántérvényes a

128

Page 129: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

16.12 Tétel Egy A-véges automata akkor és csak akkor bontható fel nálakevesebb állapottal rendelkező két automata szuperpozíciójára, ha van nem-triviális uniform kongruenciája. �

16.13 Tétel Ha egy automata felbontható nemtriviális automaták direktszorzatára, akkor felbontható nemtriviális automaták szuperpozíciójára is.

Bizonyítás. A 14.4. Következményből, a következmény bizonyítása utánimegjegyzésből, a 16.10. Tételből és a 16.11. Következményből adódik az állí-tás. Utalunk arra, hogy a 14. fejezet végén kiterjesztettük a direkt szorzatotMealy [Moore] automatákra. A kiterjesztés alapján a 14.4. Következményérvényes Mealy [Moore] automatákra is. �

Feladat16.1. Ha az α, β ∈ A(X) (l. 9.3. feladat) automataleképezéseket indukálja azA ill. B automata, akkor az α ◦ β leképezést indukálja az A és B automatákszuperpozíciója.

17. Általános szorzat, rendezett szorzatA következőkben megadjuk az automaták összekapcsolásának általános ma-tematikai fogalmát. Ez az automaták eddig megismert összekapcsolási tí-pusainak közös általánosítása. Ezt a szorzatfogalmat V. M. Gluskov úgyvezette be, hogy figyelembe vette az egyes automaták közötti kapcsolatokat(csatolásokat).

Legyenek Ak = (Ak, Xk, δk) (k ∈ I) tetszőleges kimenő jel nélküli auto-maták, X 6= ∅ tetszőleges halmaz és ϕ a (

∏k∈I Ak)×X szorzathalmaznak az∏

k∈I Xk szorzathalmazba való leképezése. Az Ak (k ∈ I) automatáknak azX halmazzal és a ϕ függvénnyel megadott Gluskov szorzatán vagy általánosszorzatán értjük az A = (A,X, δ) automatát, ha A =

∏k∈I Ak, a δ függvény

bármely a ∈ A és x ∈ X elemekre teljesíti a

(17.1) δ(a, x) = (δk(ak, xk); k ∈ I),

feltételt, ahol

(17.2) ϕ(a, x) = x = (xk; k ∈ I).

Az A automatát X feletti automataszorzatnak is nevezzük. Az előbbi szor-zatfogalomra az

(17.3) A =∏k∈I

Ak[X,ϕ]

129

Page 130: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

jelölést használjuk. A ϕ függvényt A visszacsatolási függvényének hívjuk.Ha minden k ∈ I indexre Ak = B, akkor a (17.3) szorzatra a

A = BI [X,ϕ]

jelölést használjuk, s A-t B I-edik hatványának mondjuk.Ha az A = (A,X, Y, δ, λ[µ]) (Y 6= ∅) Mealy [Moore] automata Av vetü-

lete az∏

k∈I Ak[X,ϕ] Gluskov szorzat, akkor A-t az Ak (k ∈ I) automatákX, Y halmazokkal és ϕ, λ függvényekkel megadott Gluskov szorzatának ne-vezzük. Ekkor az A =

∏k∈I Ak[X, Y, ϕ, λ] jelölést használjuk. Másképpen

úgy is mondhatjuk, hogy tetszőleges Y 6= ∅ halmaz és λ : A×X → Y szür-jektív leképezés segítségével a

∏k∈I Ak[X,ϕ] Gluskov szorzatot kibővítjük a

A =∏

k∈I Ak[X, Y, ϕ, λ] Gluskov szorzattá. Ebben az esetben (X, Y ) felettiautomataszorzatról is beszélünk. Ha Y = ∅, s így λ nincs definiálva, akkor∏

k∈I Ak[X, Y, ϕ, λ] =∏

k∈I Ak[X,ϕ].Ha két Gluskov szorzat esetén az indexhalmazok számossága egyenlő,

akkor azt mondjuk, hogy a két Gluskov szorzat ugyanannyi tényezős. Aszorzat helyett kompozíciót is mondunk.

Ha az Ak automaták iniciálisak és kezdő állapotuk ak0, akkor A-t isiniciálisnak tekintjük az a0 = (ak0; k ∈ I) kezdő állapottal.

Ha β az X ′ bijektív leképezése X-re és γ Y ′ bijektív leképezése Y -ra,továbbá minden a ∈ A és x ∈ X esetén

ϕ′(a, β(x)) = x,

valamintλ′(a, β(x)) = γ(λ(a, x)),

akkor∏

k∈I Ak[X, Y, ϕ, λ] és a∏

k∈I Ak[X′, Y ′, ϕ′, λ′] szorzat XY -izomorf,

ezért elegendő olyan (X, Y ) feletti automataszorzatokat vizsgálni, ahol az Xvagy az Y halmazok nem ekvivalensek. Ezt a továbbiakban mindig feltesszük.

Az A = (A,X, Y, δ, λ[µ]) Mealy [Moore] automatát az

Ak = (Ak, Xk, Yk, δk, λk[µk]) (k ∈ I)

Mealy [Moore] automaták Gluskov szorzatának nevezzük, ha Y =∏

k∈I Ykés minden ak ∈ Ak (k ∈ I), x ∈ X esetén (17.1) és (17.2), továbbá

(17.4) λ(a, x) = (λk(ak, xk); k ∈ I) [µ(a) = (µk(ak); k ∈ I)]

teljesül. Ekkor X feletti szorzatról beszélünk, amelyre az

A =∏k∈I

Ak[X,ϕ]

130

Page 131: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

jelölést használjuk. Feltételeztük, hogy az Yk kimenő halmazok egyike semüres. Ha van olyan k ∈ I, amelyre Yk = ∅, akkor az Ak automaták vetü-leteinek Gluskov szorzatát értelmezzük, s a Gluskov szorzatot tetszőleges Ykimenő halmazzal és λ kimenetfüggvénnyel látjuk el.

Az automataszorzat definíciójában a ϕ visszacsatolási függvény megad-ható

(17.5) ϕ(a, x) = (ϕk(a, x); k ∈ I)

alakban is, vagyis (17.2) szerint ϕk(a, x) = xk (k ∈ I). A ϕ visszacsatolásifüggvény

ϕk :

(∏j∈I

Aj

)×X → Xk (k ∈ I)

k-adik komponensét a szorzat k-adik visszacsatolási függvényének is nevez-zük. A ϕ = (ϕk; k ∈ I) jelölést is használjuk. A ϕk (k ∈ I) visszacsatolá-si függvények értelmezését kiterjesztjük a

(∏j∈I Aj

)×X∗ szorzathalmazra

a következő módon. (Az egyszerűség kedvéért a függvényeket a kiterjesz-tés után is ϕk jelöli.) Legyenek a ϕk függvények olyanok, hogy tetszőlegesa ∈

∏j∈I Aj állapotokra, az e üres szóra a

(17.6) ϕk(a, e) = e,

továbbá bármely p ∈ X∗ bemenő szóra és x ∈ X bemenő jelre a

(17.7) ϕk(a, xp) = ϕk(a, x)ϕk(δ(a, x), p),

s ilyen módon a

(17.8) δ(a, p) = (δk(ak, ϕk(a, p)); k ∈ I),

és (17.5) teljesülése esetén a

(17.9) λ(a, p) = (λk(ak, ϕk(a, p)); k ∈ I)

feltételek teljesüljenek. Ez pedig azt jelenti, hogy

(17.10) ap = (akϕk(a, p); k ∈ I), λ(a, p) = (λk(ak, ϕk(a, p)); k ∈ I).

Az automataszorzatok természetes hierarchiái adhatók meg az indexhal-maz segítségével. Jelölje P (I) az I indexhalmaz hatványhalmazát. Nyil-vánvalóan megadható olyan σ : I → P (I) függvény úgy, hogy ϕk (k ∈ I)nem függ az Aj automata állapotaitól, ha j /∈ σ(k). Ebben az esetben

131

Page 132: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

az A =∏

k∈I Ak[X,ϕ] szorzatot az Ak (k ∈ I) automaták (X feletti) σ-szorzatának is nevezzük. Ha A =

∏k∈I Ak[X, Y, ϕ, λ], akkor (X, Y ) feletti

σ-szorzatról beszélünk.Vezessük be a P (I)I halmazon a ≤ parciális rendezést a következő módon.

Legyen

(17.11) σ1 ≤ σ2 (σ1, σ2 ∈ P (I)I)

akkor és csak akkor, ha minden j ∈ I esetén σ1(j) ⊆ σ2(j) teljesül. Haσ1 ≤ σ2 (σ1, σ2 ∈ P (I)I) és

∏k∈I Ak[X, Y, ϕ, λ] az Ak (k ∈ I) automaták

σ1-szorzata, akkor ezeknek az automatáknak σ2-szorzata is.A σ ∈ P (I)I függvényt az A Gluskov szorzat szomszédsági függvényének

mondjuk, ha A σ-szorzat, de nincs olyan σ′ ∈ P (I)I , amelyre σ′ < σ és Aσ′-szorzat. (Minden Gluskov szorzathoz pontosan egy szomszédsági függvénytartozik.) Ha σ az A Gluskov szorzat szomszédsági függvénye, akkor bármelyk ∈ I indexre az Al (l ∈ σ(k)) automatákat az Ak automata szomszédainakis mondjuk.

Ha egy Gluskov szorzat szomszédsági függvénye a minden k ∈ I esetén aσ(k) = I feltételt kielégítő σ függvény, akkor a Gluskov szorzatot teljesneknevezzük.

A ϕ visszacsatolási függvény akkor és csak akkor képezi le bemenet-homomorfan a

∏k∈I Ak[X,ϕ] Gluskov szorzatot az Ak (k ∈ I) automaták

párhuzamos kapcsolásába, azaz a Gluskov szorzat kvázidirekt szorzat, ha aσ-szomszédsági függvényére minden k(∈ I) esetén σ(k) = ∅ teljesül. Rész-letesebben kifejtve, ha az A =

∏k∈I Ak[X,ϕ] kvázidirekt szorzat, akkor a

(17.5)-ban megadott ϕk visszacsatolási függvények függetlenek az állapotok-tól, azaz bármely a ∈ A és x ∈ X esetén ϕk megadható

ϕk(a, x) = ϕk(x)

alakban. A ϕk függvények (17.7) kiterjesztései ebben az esetben az X+ sza-bad félcsoport homomorf leképezései az X+

k szabad félcsoportokba.Ha az A kvázidirekt szorzat direkt szorzat, akkor a (17.2)-ben definiált ϕ

visszacsatolási függvényre minden a ∈ A és x ∈ X esetén

ϕ(a, x) = (x; k ∈ I)

teljesül.Azt mondjuk, hogy egy A automata előállítható az Ak (k ∈ I) automaták

σ-szorzataként, ha A izomorf ezen automaták σ-szorzatával. Ebben az eset-ben azt is mondjuk, hogy A felbontható az Ak (k ∈ I) automaták σ-szorzatáravagy A az Ak (k ∈ I) automaták σ- felbontása. Az Ak (k ∈ I) automatákat

132

Page 133: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

az előállítás vagy felbontás komponenseinek hívjuk. Ha egyik komponenssem izomorf A-val, akkor felbontást valódinak nevezzük. Az A automa-tát a σ-szorzatra reducibilisnek vagy felbonthatónak, röviden σ-reducibilisneknevezzük, ha van valódi felbontása automaták egy σ-szorzatára. Ellenke-ző esetben A-t a σ-szorzatra irreducibilisnek [felbonthatatlannak], rövidenσ-irreducibilisnek hívjuk. Ez pontosan azt jelenti, hogy ha az A bármelyσ-szorzatra való felbontásában van A-val izomorf automata. Nyilvánvaló,hogy ha |A| = 1 vagy |A| prímszám, akkor az A = (A,X, δ) automata σ-irreducibilis.

Jelölje H, I,S,Pσ rendre a homomorfizmus, az izomorfizmus, a részauto-mata és a σ-szorzat operátorokat. A σ2-szorzatot a σ1-szorzatnál homomor-fan [izomorfan] általánosabbnak nevezzük, ha van olyan K automataosztály,amelyre

HSPσ1(K) ⊂ HSPσ2(K) [ISPσ1(K) ⊂ ISPσ2(K)].

A σ1-szorzat homomorfan [izomorfan] ekvivalens a σ2-szorzattal, ha mindenK automataosztályra

HSPσ1(K) = HSPσ2(K) [ISPσ1(K) = ISPσ2(K)].

Legyen Σ 6= ∅ a P (I)I halmaz tetszőleges részhalmaza. Azt mondjuk,hogy Σ szorzathierarchiát alkot a homomorf [izomorf ] reprezentációra, habármely Σ-beli σ1 és σ2 elemre a σ1- és σ2-szorzat homomorfan [izomor-fan] ekvivalens vagy az egyik szorzat homomorfan [izomorfan] általánosabb amásiknál. A Σ szorzathierarchiát valódinak nevezzük a homomorf [izomorf]reprezentációra, ha bármely σ1, σ2 ∈ Σ párra a σ1-szorzat akkor és csak akkorekvivalens homomorfan [izomorfan] a σ2-szorzattal, ha σ1 = σ2.

Ha a fenti definíciókban K mindig egy adott M automataosztály része,akkor azt mondjuk, hogy M-re a σ2-szorzat homomorfan [izomorfan] álta-lánosabb a σ1-szorzatnál. Hasonlóan beszélünk σ-szorzatok ekvivalenciájárólés szorzathierarchiáról M-re.

A (17.11) részbenrendezésre P (I)I bármely részlánca szorzathierarchiátalkot a homomorf és az izomorf reprezentációra.

Ha I indexhalmaz parciálisan rendezett halmaz, akkor a Gluskov szorza-tot parciálisan rendezett szorzatnak is nevezzük az adott parciális rendezésre.A parciális rendezésre, ha mást nem mondunk, a ≤ jelölést használjuk. Aztmondjuk, hogy az Ak automata megelőzi az Al automatát, ha k < l (k, l ∈ I).Ha I rendezett, akkor a Gluskov- szorzatot rendezett szorzatnak hívjuk. Ha≤′ az I indexhalmaz olyan rendezése, amelyre ≤⊆≤′, akkor azt mondjuk,hogy ≤ részbenrendezés I-n kiterjeszthető a ≤′ rendezéssé, a ≤′ rendezést

133

Page 134: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

pedig ≤ rendezés egy kiterjesztésének nevezzük I-n. A ≤′ rendezés szerin-ti rendezett szorzatot a ≤ szerint parciálisan rendezett szorzat ≤′ szerintrendezett szorzattá való kiterjesztésének mondjuk.

17.1 Lemma Bármely H 6= ∅ halmaz minden részbenrendezése kiterjeszt-hető a H halmazon rendezéssé.

Bizonyítás. Legyen ρ ⊆ H2 részbenrendezés H-n. Ha ρ rendezés H-n,akkor nyilvánvalóan teljesül az állítás. Tegyük fel, hogy ρ nem rendezés. Ezazt jelenti, hogy vannak olyan a, b ∈ H, amelyekre ρ ∩ {(a, b), (b, a)} = ∅.Nem nehéz ellenőrizni, hogy a

ρa,b = ρ ∪ {(x, y) ∈ H2; (x, a) ∈ ρ, (b, y) ∈ ρ}

(binér) reláció is H egy részbenrendezése. Mivel (a, b) ∈ ρa,b, ezért ρ ⊂ ρa,b.Legyen D a H azon ρ′ részbenrendezéseinek halmaza, amelyekre ρ ⊆ ρ′

teljesül. A D halmaz a ⊆ halmazelméleti tartalmazásra részbenrendezetthalmaz. Ha {ρ′k; k ∈ I} a D egy részlánca, akkor ∪k∈Iρ′k is eleme D-nek. AZorn lemma szerintD-nek van maximális eleme. Legyen τ aD egy maximáliseleme. Ekkor szükségképpen τ a H halmaz egy rendezése. Ha ugyanis nemaz, akkor vannak olyan a, b ∈ H állapotok, hogy τ ∩ {(a, b), (b, a)} = ∅, azazτa,b ∈ D és τ ⊂ τa,b, ami ellentmond annak, hogy τ maximális eleme D-nek.�

Véges halmazok esetén a 17.1. Lemma bizonyításából egy algoritmuskapható részbenrendezés rendezéssé való kiterjesztésére.

Legyen ≤ az I indexhalmaz egy parciális rendezése. Definiáljuk a σ : I →P (I) leképezést úgy, hogy minden j ∈ I esetén legyen σ(j) = {k ∈ I; k < j}.Látható, hogy ilyen σ-szorzatok ϕj visszacsatolási függvényei nem függenekazoktól az Ak-beli állapotoktól, amelyekre a k index nem kisebb j-nél az adott≤ parciális rendezésnél. Ezeket a σ-szorzatokat az adott parciális rendezés-re hurokmentes szorzatoknak nevezzük. A σ függvény nem biztos, hogy aszorzat szomszédsági függvénye. A hurokmentes szorzat az automaták vissza-csatolás nélküli összekapcsolása legáltalánosabb algebrai megfogalmazásánaktekinthető.

Ha ≤ az I halmaz rendezése, akkor az Ak (k ∈ I) automaták hurokmentesszorzatát az automaták kaszkád szorzatának nevezzük.

17.2 Tétel Automaták minden parciálisan rendezett [hurokmentes] szorzatakiterjeszthető rendezett [kaszkád] szorzattá.

Bizonyítás. A 17.1. Lemmából következik, hogy minden parciálisan rende-zett szorzat kiterjeszthető rendezett szorzattá.

134

Page 135: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen A az Ak (k ∈ I) automaták hurokmentes szorzata az I indexhal-maz ≤1 parciális rendezésére, azaz olyan σ1-szorzat, amelyre minden j ∈ Iesetén σ1(j) = {k ∈ I; k <1 j}. A 14.1. Lemma szerint I-nek van olyan ≤2

rendezése, amelyre ≤1⊆≤2. Tekintsük azt a σ2 : I → P (I) leképezést úgy,amelyre minden j ∈ I esetén σ2(j) = {k ∈ I; k <2 j}. Mivel σ1 ≤ σ2, ezértA σ2-szorzat, amely egy kaszkád szorzat. �

A 17.2. Tétel szerint parciálisan rendezett szorzatok vizsgálatánál ele-gendő rendezett szorzatokra szorítkozni, ezért a továbbiakban csak rendezettszorzatokat vizsgálunk.

Ha |I| = n, akkor a Gluskov szorzatot véges sok tényezős szorzatnak, pon-tosabban n tényezős szorzatnak nevezzük. A továbbiakban az egyszerűségkedvéért |I| = n esetben mindig feltesszük, hogy I = [n] (n ∈ N+). Ebbenaz esetben az

(17.12) A =n∏k=1

Ak[X, Y, ϕ, λ]

jelölést használjuk. Természetesen a véges sok tényezős szorzatok végtelenautomaták, ha a tényezők közül legalább egy végtelen automata. Az alkal-mazások szempontjából véges automaták véges tényezős szorzatai kitünte-tett szerepet játszanak. Hasonlóan, ha I megszámlálhatóan végtelen, akkora Gluskov szorzatról azt mondjuk, hogy megszámlálhatóan végtelen sok té-nyezős szorzat. Továbbá feltesszük, hogy I = N+, és az

(17.13) A =∞∏k=1

Ak[X, Y, ϕ, λ]

jelölést használjuk. A (17.12) és (17.13) szorzatokat rendezett szorzatoknaktekintjük, ahol az I indexhalmaz rendezése a pozitív egész számok szokásosrendezése.

Az egyszerűség kedvéért (A1× · · · ×An)×X és ϕ((a1, . . . , an), x) helyettaz A1 × · · · ×An ×X ill. a ϕ(a1, . . . , an, x) jelöléseket használjuk. Ha Ak =B (k ∈ [n]), akkor az A automataszorzatot B n-edik hatványának nevezzük,amelyet Bn[X,ϕ]-vel jelölünk. Az n-edik hatványokat véges hatványoknak ismondjuk.

A 4. ábrán an∏k=1

Ak[X, Y, ϕ, λ] szorzat működésének sémáját láthatjuk.

Az 5. ábrán an∏k=1

Ak[X,ϕ] szorzat működésének sémáját mutatuk be,

ahol. a ϕ visszacsatolási függvényt a (14.5)-ben definiált ϕ = (ϕ1, . . . , ϕn)alakban adtuk meg.

135

Page 136: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ϕ ψ

A1

An

--

-x1

a1 r-y

--

-

xnan r

- -rxrrr rrr rrr

4. ábra.

- 6an

?

r-xn

ϕ1 A1

ϕn An

-

-

6-x1 a1

?-r-

-

rx 6

? rrr

rrr

rrr rrr

5. ábra.

Legyen I rendezett gruppoid, amelyben a műveletet jelölje a + összeadás.Definiáljuk az αi : I → P (I) leképezést úgy, hogy minden i ∈ I esetén legyen

αi(k) = {j ∈ I; j < i+ k}.

Ez azt jelenti, hogy Aj (j ∈ I) automaták αi-szorzatában (az adott ren-dezésre) a (17.5)-ban definiált ϕk visszacsatolási függvények nem függenek

136

Page 137: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azoktól az Aj-beli állapotoktól, amelyekre a j index nem kisebb i+ k-nál azadott ≤ rendezésnél. Nem nehéz látni, hogy ha i ≤ i′, akkor egy αi-szorzatαi′-szorzat is. Definiáljuk az α0 : I → P (I)I leképezést úgy, hogy legyenα0(k) = {j ∈ I; j < k}. Látható, hogy az α0-szorzatok kaszkád szorzatok,továbbá, ha egy Gluskov szorzat α0-szorzat, akkor bármely i ∈ I indexreαi-szorzat is. Az α0-szorzat definíciójában nem szükséges az I indexhalmaztgruppoidnak tekinteni, azaz mondhatjuk, hogy az α0-szorzatok éppen a kasz-kád szorzatok.

Az αi-szorzatok szorzathierarchiát alkotnak a homomorf [izomorf] repre-zentációra. Ezt a hierarchiát Gécseg szorzathierarchiának nevezzük.

Legyen A =∏

k∈I Ak[X, Y, ϕ, λ] az Ak = (Ak, Xk, Yk, δk, λk) (k ∈ I)automaták Gluskov szorzata. Legyen Y =

∏k∈I Yk akkor és csak akkor,

ha az Yk kimenő halmazok egyike sem üres. Az I indexhalmaz tetszőlegesπ permutációjára legyen Aπ =

∏k∈I Aπ(k). Ha Y =

∏k∈I Yk, akkor Yπ =∏

k∈I Yπ(k), ha pedig Y 6=∏

k∈I Yk, akkor Yπ = Y . Ha ϕ = {ϕk; k ∈ I}, akkorϕπ = {ϕπ(k); k ∈ I}.

Bebizonyítjuk a 16.1. Lemma következő általánosítását.

17.3 Lemma Az A =∏

k∈I Ak[X, Y, ϕ, λ] Gluskov szorzat az I halmaz bár-mely π permutációjára általánosan izomorf egy

Aπ =∏k∈I

Aπ(k)[Xπ, Yπ, ϕπ, λπ]

szorzattal. Ha A σ-szorzat és minden k ∈ I indexre σ(k) = σ(π(k)), akkorAπ is σ-szorzat.

Bizonyítás. Jelölje δ az A Gluskov szorzat, δπ pedig a Aπ Gluskov szorzatátmenetfüggvényét. Tegyük fel, hogy X =

∏k∈I Xk és Y =

∏k∈I Yk. Te-

kintsük a (14.2)-ben definiált αA,π, αX,π és αY,π leképezéseket. Ha az a ∈ Aállapotra és x ∈ X bemenő jelre ϕ(a,x) = x′, akkor legyen ϕπ(aπ,xπ) = x′π,s így

αA,π(δ(a,x)) = δ(a,x)π =

= (δπ(k)(aπ(k), x′π(k)); k ∈ I) = δπ(αA,π(a), αX,C(x)),

αY,π(λ(a,x)) = λ(a,x)π =

= (λπ(k)(aπ(k), x′π(k)); k ∈ I) = λπ(αA,π(a), αX,C(x)),

azaz (αA,π, αX,π, αY,π) az A szorzat általános izomorf leképezése az Aπ szor-zatra.

Ha X 6=∏

k∈I Xk és Y =∏

k∈I Yk, akkor legyen Xπ = X, s ha az a(∈ A)állapotra és az x ∈ X bemenő jelre ϕ(a, x) = x′, akkor legyen ϕπ(aπ, x) =

137

Page 138: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

x′π. Az előzőekhez hasonlóan mutatható meg, hogy (αA,π, αY,π) az A szorzatAY-izomorf leképezése az Aπ szorzatra.

Ha Y 6=∏

k∈I Yk, akkor legyen Yπ = Y . Az X =∏

k∈I Xk esetben az(αA,π, αX,π) AX-izomorfizmussal ill. X 6=

∏k∈I Xk esetben pedig Xπ = X

feltevéssel és az αA,π izomorfizmussal bizonyítható az állítás, feltéve, hogyλπ(aπ,xπ) = λ(a,x), ill. λπ(aπ, x) = λ(a, x).

Ha A olyan σ-szorzat, hogy minden k ∈ I indexre σ(k) = σ(π(k)), akkornyilvánvaló, hogy Aπ is σ-szorzat. �

Azt mondjuk, hogy egy σ-szorzat kommutatív, ha bármely A1 és A2 auto-matára σ-szorzatuk általánosan izomorf az A2 és A1 automata σ-szorzatával.Minden kéttényezős Gluskov szorzat α2-szorzat, ezért a 17.3. Lemmából kö-vetkezik, hogy az α2-szorzat kommutatív.

Legyen i tetszőleges pozitív egész szám. Egy σ-szorzatot νi-szorzatnaknevezünk, ha van olyan σ′ ∈ P (I)I , amelyre (17.11) szerint σ ≤ σ′ és mindenk ∈ I indexre |σ′(k)| = i. Minden n tényezős α0-szorzat egy νn−1-szorzat.Könnyen belátható, hogy a 17.3. Lemma νi-szorzatokra is igaz. Ebből követ-kezik, hogy minden ν0-, ν1- és ν2-szorzat kommutatív. A ν0-szorzatok pedigéppen a kvázidirekt szorzatok. Természetesen, ha a σ-szorzat νi-szorzat ésj olyan pozitív egész szám, amelyre i < j, akkor a σ-szorzat νj-szorzat is.Ez a fogalom véges automaták esetén a sejtautomaták egy olyan modelljénektekinthető, amelyben a szomszédok számát korlátozzuk.

Igaz a 16.2. Lemma általánosítása is.

17.4 Lemma Legyenek Aj = (Aj, Xj, Yj, δj, λj) (j ∈ J) tetszőleges auto-maták és C = {Ik; k ∈ I} a J indexhalmaz egy osztályozása. Az

Ak =∏l∈Ik

Ak,l[Xk, Yk, ϕ(k), λ(k)] (k ∈ I)

Gluskov [α0] szorzatok

A =∏k∈I

Ak[X, Y, ϕ, λ]

Gluskov [α0] szorzata általánosan izomorf egy

A′ =∏

(k,l)∈J(C)

Ak,l[X′, Y ′, ϕ′, λ′]

Gluskov [α0] szorzattal.

Bizonyítás. Legyenek A = (A,X, Y, δ), Ak = (Ak, Xk, Yk, δk, λk) (k ∈ I)és A′ = (A′, X ′, Y ′, δ′, λ′), továbbá ϕ = (ϕk; k ∈ I), ϕ(k) = (ϕl

(k); l ∈ Ik) ésϕ′ = (ϕk,l; (k, l) ∈ J(C))

138

Page 139: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha X =∏

k∈I Xk, Y =∏

k∈I Yk, Xk =∏

l∈Ik Xk,l és Yk =∏

l∈Ik Yk, akkorlegyenek X ′ =

∏(k,l)∈J(C) Xk,l és Y ′ =

∏(k,l)∈J(C) Yk,l, továbbá αA,C, αX,C és

αY,C a (14.3)-ban definiált leképezések. Jelölje az a(∈ A) állapot k-adikkomponensét ak ∈ Ak (k ∈ I), az ak állapot l-edik komponensét ak,l ∈Ak,l (l ∈ Ik). Értelmezzük (17.2) szerint az x ∈ X, xk ∈ Xk, xk,l ∈ Xk,l

bemenő jeleket és hasonlóan az y ∈ Y, yk ∈ Yk, yk,l ∈ Yk,l kimenő jeleket.(Például, λ(a, x) = y (17.4) szerint jelentse azt, hogy y = (λk(ak, xk); k ∈ I),ahol (xk; k ∈ I) = x.) Tegyük fel, hogy minden (k, l) ∈ J(C) párra, a ∈ Aállapotra és x ∈ X bemenő jelre, ha αA,C(a) = a′ és αX,C(x) = x′, akkor

(17.14) ϕ′k,l(a′,x′) = ϕl

(k)(ak, ϕk(a,x))

teljesül. Amiből

αA,C(δ(a,x)) = αA,C((δk(ak, ϕk(a,x)); k ∈ I)) =

= (δk,l(ak,l, ϕl(k)(ak, ϕk(a,x))); (k, l) ∈ J(C)) =

= δ′(αA,C(a), αX,C(x)),

αY,C(λ(a,x)) = αY,C((λk(ak, ϕk(a,x)); k ∈ I)) =

= (λk,l(ak,l, ϕl(k)(ak, ϕk(a,x))); (k, l) ∈ J(C)) =

= λ′(αA,C(a), αX,C(x)),

azaz (αA,C, αX,C, αY,C) az A szorzat általános izomorf leképezése az A′ szor-zatra.

Ha X 6=∏

k∈I Xk, Y =∏

k∈I Yk és Yk =∏

l∈Ik Yk, akkor legyen X′ = X

Ha minden (k, l) ∈ J(C) párra, a ∈ A állapotra és x ∈ X bemenő jelre

(17.15) ϕ′k,l(a′, x) = ϕl

(k)(ak, ϕk(a,x)),

akkor az előző számításhoz hasonlóan látható, hogy (αA,C, αY,C) az A szorzatAY-izomorf leképezése az A′ szorzatra.

Ha pedig X 6=∏

k∈I Xk és Y 6=∏

k∈I Yk, akkor legyen X′ = X és Y ′ = Y .

Ha ϕ′ komponenseit a (17.15) feltétellel definiáljuk és minden a ∈ A állapotraés x ∈ X bemenő jelre λ′(αA,C(a), x) = λ(a, x), akkor αA,C az A szorzatizomorf leképezése az A′ szorzatra.

Tegyük fel, hogy az A és az Ak (k ∈ I) automataszorzatok α0-szorzatok.Akkor I és Ik (k ∈ I) rendezett halmazok. Jelölje a rendezési relációkatmindegyik halmazon ≤. Vezessük be a J(C) halmazon a ≤ parciális rendezésta következőképpen:

(k, l) ≤ (k′, l′) ⇐⇒ k < l vagy k = l, k′ ≤ l.′

139

Page 140: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ez a parciális rendezés nyilvánvalóan J(C) egy rendezése. Mivel A α0-szorzat,ezért a ϕk(k ∈ I) visszacsatolási függvények nem függenek azoktól az Aj-beliállapotoktól, amelyekre a j index nem kisebb k-nál. De az Ak automatákα0-szorzatok, ezért a ϕ′k,l visszacsatolási fügvények sem függenek azoknakaz Ak,s automatáknak az állapotaitól, amelyekre az (k, s) index nem kisebb(k, l)-nél, azaz A′ α0-szorzat. �

Egy σ-szorzatot asszociatívnak nevezünk, ha az Ak (k = 1, 2, 3) automa-ták bármely (A1×A2)×A3 σ-szorzata általánosan izomorf egy A1×(A2×A3)σ-szorzattal. A 17.4. Lemma szerint az automaták α0-szorzata asszoci-atív, mert tetszőleges Ak (k = 1, 2, 3) automaták bármely (X, Y ) feletti(A1 ×A2)×A3 α0-szorzata izomorf egy A1 × (A2 ×A3) α0-szorzattal . (A17.4. Lemma szerint ugyanis mind a két szorzat izomorf egy A1 ×A2 ×A3

α0-szorzattal.) Az α1- és α2-szorzatokra ez nem igaz. Minden háromténye-zős Gluskov szorzat háromtényezős α3-szorzat, ezért a 17.4. Lemma szerintα3-szorzatok is asszociatívak.

A következő tétel kapcsolatot teremt az automaták Gluskov szorzata éshomomorf-direkt szorzata között. A tételnek az elméleti jelentősége az, hogya Gluskov szorzat, amely az automaták gyakorlati összekapcsolásának abszt-rakt megfogalmazása, az univerzális algebra két centrális fogalma, a szubdi-rekt szorzat és a részalgebra segítségével is jellemezhető.

17.5 Tétel Minden Gluskov szorzat izomorfan reprezentálható ugyanannyitényezős homomorf-direkt szorzattal.

Bizonyítás. Legyen az A = (A,X, δ) automata az Ak = (Ak, Xk, δk) (k ∈ I)automaták egy Gluskov szorzata, azaz A =

∏k∈I Ak[X,ϕ]. Legyenek továb-

bá A′k = (A×Ak)[X,ϕ(k)] (k ∈ I) az A és Ak automaták α0-szorzatai, ame-

lyek visszacsatolási függvényei a ϕ(k) = (ιX , ϕk) függvények. (A ϕk függvénya (17.5)-ban definiált k-adik visszacsatolási függvény.) Ez azt jelenti, hogyA′k = (A×Ak, X, δ′k), ahol δ′k átmenetfüggvények minden b ∈ A, ak ∈ Ak ésx ∈ X esetén teljesítik a

δ′k((b, ak), x) = (δ(b, x), δk(ak, ϕk(b, x)))

feltételeket. Az első projekció, amelyet most π(k)-val jelölünk, azaz

π(k)(b, ak) = b (b ∈ A, ak ∈ Ak),

az A′k automata homomorf leképezése A-ra. Tekintsük az A′k automaták{π(k); k ∈ I} leképezésrendszerrel megadott A′ = (A′, X, δ′) homomorf-direkt szorzatát. Az A′ állapothalmaz elemei

((b, ak); k ∈ I) (b ∈ A, ak ∈ Ak)

140

Page 141: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

elemek. Jelölje röviden (b, a) ezeket az elemeket, ahol a = (ak, k ∈ I).Legyen A′′ = {(a, a); a ∈ A}. Mivel minden a ∈ A és x ∈ X esetén

δ′((a, a), x) = ((δ(a, x), δk(ak, ϕk(a, x))); k ∈ I) = (δ(a, x), δ(a, x)), a

ezért A′′ = (A′′, X, δ′) az A′ automata egy részautomatája. Az α(a, a) =a (a ∈ A) leképezés A′′-nek A-ra való izomorf leképezése. �

Feladatok17.1. Ha Ak = (Ak, Xk, δk) (k ∈ I) tetszőleges automaták, X tetszőleges (nem-üres) halmaz és minden k ∈ I esetén a ϕk visszacsatolási függvények nem függenekaz Al automata állapotaitól, ha l 6= k, akkor a

∏k∈I Ak[X,ϕ] szorzat megegyezik

egy ugyanannyi tényezős direkt szorzattal.17.2. Legyenek Ak (k ∈ I), A és A′ a 17.4. Lemmában szereplő automataszorza-tok, amelyekre teljesül (17.14). Tegyük fel, hogy a ϕk visszacsatolási függvényekszürjektívek és az A automata kvázidirekt szorzat. A′ akkor és csak akkor kváz-idirekt szorzat, ha az Ak (k ∈ I) automaták kvázidirekt szorzatok.

18. αi-szorzatokEbben a fejezetben a véges sok tényezős és a megszámlálhatóan végtelen soktényezős αi-szorzatokkal foglalkozunk.

Ha I egyenlő az [n] = {1, 2, . . . , n} vagy az N+ halmazzal, és a rendezésaz egész számok szokásos rendezése, akkor az α0-szorzat egy olyan kaszkádszorzat, amelynek ϕk (k ∈ N+) visszacsatolási függvényei

(18.1) ϕk(a, x) = ϕk(a1, a2, . . . , ak−1, x)

alakúak, ahol a = (a1, . . . , an) vagy a = (a1, . . . , ak, . . . ). Általánosabban azαi-szorzat k-adik visszacsatolási függvénye bármely a ∈ A, x ∈ X esetén

(18.2) ϕk(a, x) = ϕk(a1, . . . , ai+k−1, x)

alakú, azaz minden ϕk függvény független azoktól az állapotoktól, amelyek-nek indexe nagyobb vagy egyenlő, mint i+ k (i = 0, 1, 2, . . . ), a pozitív egészszámok szokásos rendezése mellett. Ez azt jelenti, hogy az αi függvény min-den k ∈ N+ esetén teljesítí az αi(k) = [i+k−1] feltételt. Úgy is mondhatjuk,hogy ebben az esetben αi-szorzatokban korlátozott, legfeljebb i hosszúságúvisszacsatolások lehetségesek. Ha I = [n], akkor természetesen i+ k− 1 > nesetén αi(k) = [n].

141

Page 142: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha I = [1], akkor az A1 automata Gluskov szorzatai egytényezős szorza-tok, az α0-szorzatai pontosan azok az A automaták, amelyek ϕ visszacsato-lási függvényei A-nak A1-be való bemenet-homomorf leképezései.

A (16.6) definícióból következik, hogy minden szuperpozíció α0-szorzat.Megfordítva, a

∏nk=1 Ak[X1, Yn, ϕ, λ] α0-szorzat az A1, . . . ,An automaták

soros kapcsolása, ha a ϕ és λ függvények

(18.3) ϕ(a1, . . . , an, x) = (x, y1, . . . , yn−1) és λ((a1, . . . , an), x) = yn

alakúak, ahol ak ∈ Ak és x ∈ X1, továbbá

y1 = λ1(a1, x) yk = λk(ak, yk−1) (k = 2, . . . , n).

A 6., 7. ill. 8. ábrákon az α0, az α1 ill. az α2-szorzatok működésétszemléltettük.

ϕ1 ϕ2 ϕ3A1 A2 A3

-a1 r6 --x1 -x2 -a2 -x3

-x r?

-

6r-

6. ábra.

ϕ1 ϕ2 ϕ3A1 A2 A3

- -a1 r6r-x1 -x2 -a2 r -x3

-x r?

-

6

r

-

� -?

-

?

a2

x

a3

?6

7. ábra.

142

Page 143: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ϕ1 ϕ2 ϕ3A1 A2 A3

- -a1 r6r-x1 -x2 -a2 r -x3

-x r?

-

6

r

-

� -?

- 6

a2

-

?

a2

x

-

a3�

6

r

a3

?

8. ábra.

18.1 Tétel Bármely Mealy automata váza megegyezik a vetületének és egyteljes beállító automatának α0-szorzatával. Megfordítva, egy kimenő jel nél-küli automata és egy teljes beállító automata α0-szorzata megegyezik egyMealy automata vázával.

Bizonyítás. Legyen A = (A,X, Y, δ, λ) tetszőleges Mealy automata. Defi-niáljuk az Ybe = (Y,A×X, δbe) teljes beállító automata átmenetfüggvényéta

δbe(y, (a, x)) = λ(a, x) (a ∈ A, x ∈ X, y ∈ Y ).

egyenletekkel. Tekintsük az A automata Av = (A,X, δ) vetületének és azYbe automatának az X halmazzal és az alábbi visszacsatolási függvénnyelmegadott Av ×Ybe[X,ϕ] = (A× Y,X, δ′) α0-szorzatát:

ϕ(a, y, x) = (x, (a, x)) (a ∈ A, x ∈ X, y ∈ Y ).

Az α0-szorzat (18.1) definíciója és (1.3) szerint minden x ∈ X bemenő jelre

δ′((a, y), x) = (δ(a, x), δbe(y, (a, x))) = (δ(a, x), λ(a, x)) = δY ((a, y), x).

Ez azt jelenti, hogy Av × Ybe[X,ϕ] = AY . (Megjegyezzük, hogy ez az α0-szorzat egy szuperpozíció.)

Megfordítva, legyen az A×Y[X,ϕ] = (A× Y,X, δ′) az A1 = (A,X1, δ1)kimenő jel nélküli automata és az A2 = (Y,X2, δ2) teljes beállító automataegy α0-szorzata. Ez (18.1) szerint azt jelenti, hogy bármely a ∈ A, y ∈ Y ésx ∈ X elemekre

ϕ(a, y, x) = (ϕ1(x), ϕ2(a, x)),

143

Page 144: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ahol ϕ1 : X → X1 és ϕ2 : A × X → X2 alakú függvények. Definiáljuk aδ : A × X → A és λ : A × X → Y függvényeket úgy, hogy minden a ∈ Aállapotra és x ∈ X bemenő jelre teljesüljenek a

δ(a, x) = δ1(a, ϕ1(x)), λ(a, x) = δ2(y, ϕ2(a, x))

feltételek. Legyen AY = (A×Y,X, δY ) a A = (A,X, Y, δ, λ) Mealy automataváza. (1.3) szerint

δY ((a, y), x) = (δ(a, x), λ(a, x)) =

= (δ1(a, ϕ1(x)), δ2(y, ϕ2(a, x))) = δ′((a, y), x),

azaz δY = δ′. Ebből következik, hogy AY = A×Y[X,ϕ]. �A 18.1. Tétel szerint kimenő jel nélküli automaták αi-szorzataira szorít-

kozhatunk. Ezt a továbbiakban meg is tesszük. Gécseg Ferenc szükségesés elegendő feltételt adott A-véges automaták izomorf beágyazhatóságáraadott m-nél kisebb állapotszámú automaták egy hurokmentes szorzatába (l.[22]). Mivel a 17.2. Tétel szerint minden hurokmentes szorzat kiterjeszthe-tő kaszkád, azaz α0-szorzattá, ezért számunkra elegendő Gécseg tételét csakα0-szorzatokra megadni. Ez a tétel feltételeinek és bizonyításának bizonyosegyszerűsítését vonja maga után. Mivel egy Gluskov szorzat kimenő halma-zát és kimenetfüggvényét általában a komponensek kimeneti viselkedése nembefolyásolja, ezért az egyszerűség kedvéért az automataszorzatok vizsgálata-kor sokszor kimenő jel nélküli automatákra szorítkozunk.

18.2 Tétel (Gécseg tétele) Az A = (A,X, δ) A-véges automata akkor éscsak akkor reprezentálható izomorfan m-nél kevesebb állapotú automatákegy α0-szorzatával, ha A-nak vannak olyan ρ0 ≥ ρ1 ≥ · · · ≥ ρn−1 ≥ ρnkongruenciái, hogy ρ0 = ωA, ρn = ιA és minden 1 ≤ k ≤ n esetén m-nélkevesebb ρk-osztály van benne minden ρk−1-osztályban.

Bizonyítás. Tegyük fel először, hogy az A = (A,X, δ) A-véges automa-ta izomorfan reprezentálható az Ak = (Ak, Xk, δk) (k = 1, 2, . . . , n) auto-

maták B =n∏k=1

Ak[X,ϕ] α0-szorzatával, ahol |Ak| < m (k = 1, 2, . . . , n).

Ekkor az izomorfiaelv miatt feltehetjük, hogy A a B automata részauto-matája. Definiáljuk az A állapothalmazon a ρk (k = 1, 2, . . . , n) binér re-lációkat úgy, hogy minden a = (a1, . . . , an),b = (b1, . . . , bn) ∈ A esetén(a,b) ∈ ρk akkor és csak akkor ha a1 = b1, a2 = b2, . . . , ak = bk. Vilá-gos, hogy ρk (k = 1, 2, . . . , n) ekvivalencia az A állapothalmazon. Legyen(a,b) ∈ ρk és x ∈ X. A (17.1), (17.2), (17.5) és (18.1) összefüggésekből kö-vetkezik, hogy (δ(a, x), δ(b, x)) ∈ ρk, azaz ρk a A automata kongruenciája.A definícióból látható, hogy ρn = ιA.

144

Page 145: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen ρ0 = ωA. Megmutatjuk, hogy ha 1 ≤ k ≤ n, akkorm-nél kevesebbρk-osztály van benne bármely ρk−1-osztályban. Legyen a ∈ A tetszőleges ál-lapot és b ∈ A olyan állapot, hogy a1 = b1, a2 = b2, . . . , ak−1 = bk−1 ésak 6= bk. Világos, hogy ρk[a], ρk[b] ⊆ ρk−1[a] és ρk[a] 6= ρk[b]. Minden a ∈ Aállapothoz pontosan |Ak| számú olyan ρk-osztály létezik, amelyek elemeinekelső k−1 komponense rendre megegyezik a első k−1 komponensével. Ez pe-dig azt jelenti, hogy bármely ρk−1-osztályba eső ρk-osztályok száma valóbankisebb, mint m.

Megfordítva, tegyük fel, hogy az A automatának vannak olyan ρ0 ≥ρ1 ≥ · · · ≥ ρn−1 ≥ ρn kongruenciái, amelyekre ρ0 = ιA, ρn = ωA és min-den 1 ≤ k ≤ n esetén m-nél kevesebb ρk-osztály van benne minden ρk−1-osztályban. Konstruálunk olyan Ak = (Ak, Xk, δk) (k = 1, 2, . . . , n) auto-matákat, amelyekre |Ak| < m és amelyek egy α0-szorzatával A izomorfanreprezentálható. Legyen Mk (k = 1, . . . , n) a ρk-osztályok halmaza. Tet-szőleges a ∈ A állapotra jelölje Mk,a(⊆ Mk) azoknak a ρk-osztályoknak ahalmazát, amelyek részhalmazai a ρk−1[a] osztálynak. (Minden a ∈ A ál-lapotra M1,a = M1, mivel ρ0 = ωA.) Legyen mk az |Mk,a|(a ∈ A) pozitívegész számok közül a legnagyobb és Ak egy olyan halmaz, hogy |Ak| = mk.Ez azt jelenti, hogy |Ak| < m. Legyen továbbá Xk = A1 × A2 × Ak−1 × X(X1 = X.) Adjuk meg a ρk-osztályok Mk halmazának olyan gk leképezé-sét az Ak halmazra, amely minden a ∈ A állapotra egy-egyértelmű az Mk,a

halmazon. Legyen a δk átmenetfüggvény a

δk(ak, (a1, a2, . . . , ak−1, x)) = gk(ρk[δ(a, x)]) (aj ∈ Aj, j = 1, 2, . . . , k)

összefüggéssel definiálva, ha létezik olyan a ∈ A, hogy

gj(ρj[a]) = aj (j = 1, 2, . . . , k),

és legyen egyébként δk(ak, (a1, a2, . . . , ak−1, x)) tetszőlegesen választott, majdrögzített Ak-beli elem. Megmutatjuk, hogy ha a

gj(ρj[a]) = aj (j = 1, 2, . . . , k)

feltételeket kielégítő a ∈ A állapot létezik, akkor a gk (k = 1, 2, . . . , n) le-képezések rögzítése után a ρk[a] osztály már egyértelműen meghatározott.Tegyük fel, hogy az b ∈ A állapotra teljesülnek a

gj(ρj[b]) = aj (j = 1, 2, . . . , k)

feltételek. Elegendő belátni, hogy ρk[b] = ρk[a]. Mivel ρk kongruencia, eb-ből már következik, hogy ρk[δ(b, x)] = ρk[δ(a, x)]. Ezt j szerinti indukció-val mutatjuk meg. Mivel g1 egy-egyértelmű az M1,a = M1 halmazon, ezért

145

Page 146: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ρ1[b] = ρ1[a]. Tegyük fel, hogy ρj[b] = ρj[a] (1 ≤ j < k). Ez azt jelenti, hogyρj+1[b] ∈Mj+1,a. De

gj+1(ρj+1[b]) = gj+1(ρj+1[a])

és gj+1 egy-egyértelmű az Mj+1,a halmazon, ezért ρj+1[b] = ρj+1[a]. Ígyρk[b] = ρk[a].

Tekintsük az Ak (k = 1, 2, . . . , n) automaták B =n∏k=1

Ak[X,ϕ] α0-

szorzatát. A (18.1) definíciót is használva, nem nehéz belátni, hogy az

α(a) = (g1(ρ1[a]), g2(ρ2[a]), . . . , gn(ρn[a])) (a ∈ A)

összefüggésekkel definiált α leképezés az A automata izomorf leképezése B-be. �

A következő tétel Gécseg tételének egy természetes általánosítása, a bi-zonyítás pedig a Gécseg tétel bizonyításának módosítása, ezért ezt a bizonyí-tást csak vázoljuk. A két tétel érdektelen az m = 2 esetben, ugyanis ekkorωA = ιA, vagyis triviális, azaz egyállapotú automatákról van szó.

18.3 Tétel Az A = (A,X, δ) A-véges automata akkor és csak akkor repre-zentálható izomorfan m-nél kevesebb állapotú automaták egy αi-szorzatával(i ≥ 1), ha vannak olyan ρ0 ≥ ρ1 ≥ · · · ≥ ρn−1 ≥ ρn ekvivalenciák az Aállapothalmazon, hogy ρ0 = ωA, ρn = ιA és minden 1 ≤ k ≤ n esetén m-nél kevesebb ρk-osztály van benne minden ρk−1-osztályban, továbbá mindeni− 1 ≤ k ≤ n, a, b ∈ A, x ∈ X esetén (a, b) ∈ ρk feltételből következik, hogy(δ(a, x), δ(b, x)) ∈ ρk−i+1.

Bizonyítás. A (17.1), (17.2), (17.5) és (18.2) összefüggések alapján meg-mutatható, hogy a 18.2. Tétel szükségességének bizonyításában definiáltρk (k = 1, 2, . . . , n) relációk olyan ekvivalenciák, amelyek teljesítik a követel-ményeket.

Megfordítva, a 18.2. Tétel elegendőségének bizonyításában megadottAk = (Ak, Xk, δk) (k = 1, 2, . . . , n) automaták definícióját az alábbiak szerintmódosítjuk. Ha k + i− 1 ≤ n, akkor

Xk = A1 × · · · × Ak+i−1 ×X.

Ha pedig k + i− 1 > n, akkor

Xk = A1 × · · · × An ×X.

A k + i− 1 ≤ n esetekben δk átmenetfüggvényt a

δk(ak, (c1, c2, . . . , ck, x)) = gk(ρk[δ(a, x)]) (aj ∈ Aj, j = 1, 2, . . . , k + i− 1)

146

Page 147: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

összefüggéssel definiáljuk, ha ak = ck és létezik olyan a ∈ A, hogy

gj(ρj[a]) = cj (j = 1, 2, . . . , k + i− 1).

A k + i− 1 > n esetekben legyen a δk átmenetfüggvény a

δk(ak, (c1, c2, . . . , cn, x)) = gk(ρk[δ(a, x)]) (aj ∈ Aj, j = 1, 2, . . . , k)

összefüggéssel definiálva, ha ak = ck és létezik olyan a ∈ A, hogy gj(ρj[a]) =cj (j = 1, 2, . . . , n). Minden más esetben δk(ak, (c1, c2, . . . , cn, x)) legyen egytetszőlegesen választott Ak-beli elem. A 18.2. Tétel elegendőségének bizo-nyítását alkalmazva látható, ha a k + i− 1 ≤ n esetekben

ϕk(a, x) = (a1, a2, . . . , ak+i−1, x) (a ∈ A1 × A2 × . . . An, x ∈ X),

a k + i− 1 > n esetekben pedig

ϕk(a, x) = (a1, a2, . . . , an, x) (a ∈ A1 × A2 × . . . An, x ∈ X),

akkor a B =n∏k=1

Ak[X,ϕ] αi-szorzattal A izomorfan reprezentálható. �

Könnyen meggyőződhetünk arról, hogy ha i = 1, akkor a 18.3. Tétel fel-tételeit kielégítő ρk ekvivalenciák kongruenciák, és a tétel feltételei megegyez-nek Gécseg tételének feltételeivel. Ebből nyilvánvalóan kapjuk a következőállítást.

18.4 Következmény Egy A-véges automata akkor és csak akkor repre-zentálható izomorfan m-nél kevesebb állapotú automaták n tényezős α0-szorzatával, ha izomorfan reprezentálható m-nél kevesebb állapotú automa-ták n tényezős α1-szorzatával.

18.5 Következmény Minden 3 ≤ m állapotú A-véges automata bármely2 ≤ i esetén izomorfan reprezentálható m-nél kevesebb állapotú automatákαi-szorzatával.

Bizonyítás. Legyen A = (A,X, δ) tetszőleges 3 ≤ m állapotú A-végesautomata, és ρ1 olyan ekvivalencia az A állapothalmazon, amelyre ωA >ρ1 > ιA. Mivel 3 ≤ m, ezért ilyen ρ1 létezik. Az ρ0 = ωA, ρ1, ρ2 = ιA relációkm-re 2 ≤ i esetben teljesítik a 18.3. Tétel feltételeit, ezért A izomorfanreprezentálható m-nél kevesebb állapotú automaták αi-szorzatával. �

A szuperpozíció (soros kapcsolás) központi szerepet átszik a visszacsato-lás nélküli felbonthatósági vizsgálatokban. Mivel automaták szuperpozíciójaα0-szorzat és a 18.2. Tétel elegendőségének bizonyításában a megkonstruáltα0-szorzat egy szuperpozíció, ezért a 18.2. Tétel speciálisan szuperpozíciókrais kimondható, amiből nyilvánvalóan kapjuk a következő eredményt.

147

Page 148: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

18.6 Tétel Az A = (A,X, δ) A-véges automata akkor és csak akkor rep-rezentálható izomorfan m-nél kevesebb állapotú automaták n tényezős α0-szorzatával, ha izomorfan reprezentálható m-nél kevesebb állapotú automa-ták n tényezős szuperpozíciójával. �

Végül megadunk egy egyszerű, de a későbbi teljességi vizsgálatokban fon-tos lemmát az automaták egytényezős σ-szorzatokkal való izomorf reprezen-tációira. Ebben az esetben az I indexhalmaz egyelemű, ezért az egytényezősσ-szorzatok α1-szorzatok, s egyúttal általános szorzatok vagy α0-szorzatok,amelyek ekkor kvázidirekt szorzatok.

18.7 Lemma Legyenek Aj = (Aj, Xj, δj) (j = 1, 2, 3) tetszőleges automa-ták. Ha A1 izomorfan reprezentálható A2 egytényezős α1 [α0]-szorzatával ésA2 izomorfan reprezentálható A3 egytényezős α1 [α0]-szorzatával, akkor A1

izomorfan reprezentálható A3 egytényezős α1 [α0]-szorzatával.

Bizonyítás. Legyen ψ az A1 automata izomorf leképezése az A2[X1, ϕ] =(A2, X1, δ), ψ′ az A2 automata izomorf leképezése az A3[X2, ϕ

′] = (A3, X2, δ′)

egytényezős α1-szorzatba. Definiáljuk az A3[X1, ϕ′′] = (A3, X1, δ

′′) egyténye-zős α1-szorzatot úgy, hogy minden a ∈ A1, x ∈ X1 párra legyen

ϕ′′(ψ′ψ(a), x) = ϕ′(ψ′ψ(a), ϕ(ψ(a), x)).

Ha pedig c ∈ A3 − ψ′ψ(A1) és x ∈ X1, akkor legyen ϕ′′(c, x) tetszőleges X3-beli elem. Mivel ψ és ψ′ injektív, ezért ϕ′′ jól definiált. Ha a ∈ A1 és x ∈ X1,akkor

ψ′ψ(δ1(a, x)) = ψ′(δ(ψ(a), x)) = ψ′(δ2(ψ(a), ϕ(ψ(a), x))) =

= δ′(ψ′ψ(a), ϕ(ψ(a), x)) = δ3(ψ′ψ(a), ϕ′(ψ′ψ(a), ϕ(ψ(a), x))) =

= δ3(ψ′ψ(a), ϕ′′(ψ′ψ(a), x)) = δ′′(ψ′ψ(a), x),

azaz ψ ◦ ψ′ az A1 automata izomorf leképezése A3[X1, ϕ′′]-ba.

A α0-szorzatokra ϕ′′ = ϕ ◦ ϕ′. �

Feladatok18.1. Legyen J = [n] vagy J = N+ és {Ik; k ∈ I} a J egy osztályozása, továbbáAk = (Ak, Xk, δk (k ∈ I), A = (A,X, δ) és A′ = (A′, X ′, δ′) a 17.4. Lemmá-ban szereplő automataszorzatok, amelyekre teljesül (17.14). Tegyük fel, hogy ϕkvisszacsatolási függvények szürjektívek és az Ak (k ∈ I) automaták αi-szorzatok.Ha A α0-szorzat, akkor A′ αi-szorzat. Ha pedig A′ αi-szorzat, akkor A α1-szorzat.

148

Page 149: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

18.2. Legyen J = [n] vagy J = N+ és {Ik; k ∈ I} a J egy osztályozása, továbbáAk = (Ak, Xk, δk) (k ∈ I), A = (A,X, δ) és A′ = (A′, X ′, δ′) a 17.4. Lemmábanszereplő automataszorzatok, amelyekre teljesül (17.14). Tegyük fel, hogy a ϕkvisszacsatolási függvények szürjektívek és az A automata α0-szorzat. A′ akkor éscsak akkor αi-szorzat, ha az Ak (k ∈ I) automaták αi-szorzatok.18.3. Legyenek Aj = (Aj , Xj , δj) (j = 1, 2) tetszőleges automaták. A ψ : A1 →A2 leképezés az A1 automata homomorf leképezése az A2[X,ϕ] egytényezős α0-szorzatba akkor és csak akkor, ha (ψ,ϕ) A1 általános homomorf leképezése A2-be.

149

Page 150: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

IV. AUTOMATÁK TELJES RENDSZEREIGyakorlati szempontból is felvetődik a kérdés, hogy megadható-e automa-táknak olyan rendszere, amelynek elemeiből bizonyos automataszorzással lét-rehozott automaták elvégzik azokat az információátalakításokat (megadjákazokat az automataleképezéseket), amelyek számunkra szükségesek. Termé-szetesen, ha léteznek ilyen rendszerek, akkor az is fontos, hogy ezek gazda-ságosak legyenek, azaz lehetőleg kevés automatából álljanak, s ezek az auto-maták viszonylag egyszerű felépítésűek legyenek. Ebben a részben ezekneka kérdéseknek algebrai megoldásával foglalkozunk. Ezt a területet kis túl-zással az automataelmélet magyar területének is nevezhetjük, amit GécsegFerenc [23] összefoglaló munkája, valamint Dömösi Pál és CrystopherL. Nehaniv [16] monográfiája is alátámaszt.

19. Homomorfan teljes rendszerekLegyen M Mealy automaták tetszőleges rendszere. Azt mondjuk, hogy akimenő jel nélküli automaták egy K rendszere azM teljes rendszere az auto-mataszorzatok valamely típusára, ha bármelyM-beli A = (A,X, Y, δ, λ) au-tomatához létezik K-beli automatáknak olyan adott típusú szorzata, amely-nek van A-val ekvivalens részautomatája. Ha ez a szorzat egy σ-szorzat,akkor azt mondjuk, hogy K azM σ-teljes rendszere. A σ-teljes rendszereketvizsgáljuk a gyakorlati szempontból fontos véges tényezős σ-szorzatokra is.Ha σ-szorzat az általános szorzat, akkor K-tM teljes rendszerének mondjuk.Ha pedigM az összes Mealy automatát tartalmazza, akkor K-t egyszerűenteljes rendszernek hívjuk.K-t azM minimális teljes rendszerének nevezzük az adott szorzatra, ha

nincs olyan valódi részrendszere, amely szinténM teljes rendszere lenne errea szorzatra. Ilyen módon, ha M az összes Mealy automatát tartalmazza,akkor beszélünk minimális σ-teljes ill. minimális teljes rendszerekről is.Minden A = (A,X, Y, δ, λ) Mealy automata egyenlő az Av = (A,X, δ) vetü-letének egytényezős Av[X, Y, ιX , λ] szorzatával. Ez azt jelenti, hogy az összeskimenő jel nélküli automaták rendszere az összes Mealy automaták rendsze-rének teljes rendszere. Ez a triviális megállapítás a később definiált teljességifogalmakra is igaz.

Ha K a Mealy automaták egyM rendszerének teljes rendszere bizonyostípusú szorzatra, akkor bármely részrendszerének is teljes rendszere erre aszorzatra. Ha ez a szorzat egy másik szorzatnak speciális esete, akkor teljesrendszere, K az M-nek teljes rendszere erre a másik szorzatra is. Ezek amegjegyzések az alábbiakban bevezetett teljességi fogalmakra is érvényesek.

150

Page 151: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Felvetődik a probléma, természetesen a későbbi teljességi fogalmaknál is,hogy melyek azok a teljes rendszerek, amelyekből csak az általunk vizsgáltautomaták rendszerét lehet előállítani.

Ezek után bevezetünk egy másik teljességi fogalmat, amely az algebraalapvető fogalmaival is összhangban van. Megmutatjuk, hogy ez a két teljes-ségi fogalom bármely σ-szorzatra ekvivalens, ha az összes Mealy automatátfigyelembe vesszük.

A kimenő jel nélküli automaták K rendszere a Mealy automatákM rend-szerének homomorfan teljes rendszere valamely automataszorzatra, ha min-denM-beli automata homomorfan reprezentálható K-beli automaták adotttípusú szorzatával, azaz ha minden M-beli automata homomorf képe bizo-nyos K-beli automaták adott típusú szorzata egy részautomatájának. HaMcsak A-véges [véges] automatákat tartalmaz, akkor megköveteljük, hogy KA-véges [véges] automatákat tartalmazzon. Ha a szorzat egy σ-szorzat, akkorazt mondjuk, hogy a K rendszer azM homomorfan σ-teljes rendszere. Eztröviden úgy is írhatjuk, hogyM⊆ HSPσ(K). Ha a szorzat a Gluskov szor-zat, akkor K-t azM homomorfan teljes rendszerének hívjuk. HaM mindenMealy automatát tartalmaz, akkor K-t homomorfan σ-teljesnek, és ha σ-szorzat a Gluskov szorzat, akkor K-t homomorfan teljesnek mondjuk. K-tazM minimális homomorfan teljes rendszerének nevezzük az adott szorzat-ra, ha nincs olyan valódi részrendszere, amely szinténM homomorfan teljesrendszere lenne erre a szorzatra. Hasonló módon beszélünk minimális homo-morfan σ-teljes ill. minimális homomorfan teljes rendszerekről. Természete-sen ezek a fogalmak Moore automatákra és kimenő jel nélküli automatákrais könnyen megadhatók.

A minimális teljes rendszerek, speciálisan a véges teljes rendszerek léte-zésének vizsgálata különböző típusú automataszorzatokra gyakorlati szem-pontból is fontos. Ebben a fejezetben az Gluskov szorzatra ezt a kérdést ismegvizsgáljuk. A 11.3. Tétel segítségével közvetlenül kapjuk a következőállítást.

19.1 Lemma Ha K a Mealy automaták egyM rendszerének homomorfanteljes rendszere valamely automataszorzatra, akkor M-nek teljes rendszereis erre az automataszorzatra.

HaM minden Mealy automatát tartalmaz, akkor σ-szorzatokra, speciá-lisan αi-, νi- és kvázidirekt szorzatokra is igaz a 19.1. Lemma megfordítása,vagyis ebben az esetben a két teljességi fogalom ekvivalens:

19.2 Tétel AK rendszer a Mealy automatáknak akkor és csak akkor σ-teljesrendszere, ha homomorfan σ-teljes rendszere is.

151

Page 152: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A 19.1. Lemma szerint elegendő megmutatni, ha K a Mealyautomatáknak σ-teljes rendszere, akkor homomorfan σ-teljes rendszere is.Tegyük fel, hogy K a Mealy automatáknak egy σ-teljes rendszere. LegyenB = (B,X, Y, δB, λB) tetszőleges Mealy automata. Definiáljuk a

B′ = (B,X,B, δB, λ′B)

Mealy automatát úgy, hogy minden b ∈ B állapotra és x ∈ X bemenőjelre λ′B(b, x) = b teljesüljön. Mivel K a Mealy automaták egy σ-teljesrendszere, ezért vannak olyan K-beli Ak (k ∈ I) automaták, amelyek egyC = (A,X,B, δ′, λ′) =

∏k∈I Ak[X,B, ϕ, λ

′] σ-szorzatának van B′-vel ekvi-valens C′ = (C ′, X,B, δ′, λ′) részautomatája. Nem nehéz belátni, hogy B′

egyszerű. A 11.5. Tétel szerint ez azt jelenti, hogy B′ az C′ automata homo-morf képe. Legyen τ a C′ automata egy homomorf leképezése B′-re. Legyentovábbá A = (A,X, Y, δ, λ) =

∏k∈I Ak[X, Y, ϕ, λ] olyan σ-szorzat, amelynek

λ kimenetfüggvényét válasszuk meg úgy, hogy ha τ(a) = b (a ∈ C ′, akkorminden x ∈ X esetén legyen λ(a, x) = λB(b, x). Ha pedig a /∈ C ′, ak-kor λ(a, x) legyen Y tetszőleges eleme. Nyilvánvaló, hogy τ az A σ-szorzatA′ = (C ′, X, Y, δ, λ) részautomatájának homomorf leképezése B-re. Ez aztjelenti, hogy K a Mealy automaták homomorfan σ-teljes rendszere. �

A bizonyításból látható, hogy a 19.1. Lemma és a 19.2. Tétel végestényezős σ-szorzatokra vonatkoztatva is érvényben marad. Igazak maradnakaz állítások A-véges Mealy automaták σ-teljes rendszereire is.

19.3 Lemma Ha K Mealy automaták egy homomorfan teljes rendszere, ak-kor tartalmaz olyan C = (C,XC , δC) automatát, amely C állapothalmazánakvannak olyan C1 és C2 (nem feltétlenül különböző) nemüres részhalmazai,hogy bármely c ∈ Cj (j = 1, 2) állapothoz léteznek olyan x1, x2 ∈ XC beme-nő jelek, amelyekre

(19.1) δC(c, x1) ∈ C1 és δC(c, x2) ∈ C2

teljesül. Továbbá van olyan c ∈ C1, amelyre teljesül (19.1) és δC(c, x1) 6=δC(c, x2).

Bizonyítás. Tekintsük például az A0 = ({1, 2}, {x1, x2}, δ0) erősen össze-függő automatát, amelyre

δ0(1, x1) = δ0(2, x2) = 1, δ0(1, x2) = δ0(2, x1) = 2.

Mivel K homomorfan teljes rendszer, ezért vannak olyan Ak = (Ak, Xk, δk)(k ∈ I) K-beli automaták, amelyekre egy∏

k∈I

Ak[{x1, x2}, ϕ] = (A, {x1, x2}, δ)

152

Page 153: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szorzat valamely B részautomatájának A0 homomorf képe. Legyen α egymegfelelő homomorfizmus. Minden k ∈ I esetén legyenek Akj (j = 1, 2)az Ak állapothalmaznak azok a részhalmazai, amelyek elemei komponens-ként szerepelnek valamely a ∈ α−1(j) állapotban. Ha például a ∈ α−1(1),akkor δ(a, x1) ∈ α−1(1) és (δ(a, x2) ∈ α−1(2). Így minden ak ∈ Ak1 álla-pothoz vannak olyan xk1, xk2 ∈ Xk bemenő jelek, hogy δk(ak, xk1) ∈ Ak1

és δ(ak, xk2) ∈ Ak2. Hasonlóan látható, hogy Ak2 is ugyanilyen tulajdon-ságú. Mivel α−1(1) ∩ α−1(2) = ∅, ezért van olyan k ∈ I index, amelyreléteznek olyan ak ∈ Ak1 és xk1, xk2 ∈ Xk, hogy δk(ak, xk1) 6= δk(ak, xk2) ésδk(ak, xk1) ∈ Ak1, δk(ak, xk2) ∈ Ak2. Ez azt jelenti, hogy az Ak automatateljesíti a feltételeket. �

Megoldatlan az a probléma, hogy a lemmában szereplő feltétel elegendő-e ahhoz, hogy az adott rendszer homomorfan teljes legyen. Igaz azonban ahomomorfan teljesség következő elegendő feltétele.

19.4 Lemma Ha kimenő jel nélküli automaták egy K rendszere tartalmazolyan C = (C,XC , δC) automatát, amely C állapothalmazának vannak olyanC1 és C2 nemüres diszjunkt részhalmazai, amelyek teljesítik a (19.1) feltételt,akkor K homomorfan teljes rendszer.

Bizonyítás. Kimenő jel nélküli automaták K rendszere teljesítse a felté-teleket. Legyen B = (B,X, Y, δB, λB) tetszőleges automata és I olyan in-dexhalmaz, amelynek számossága egyenlő B számosságával. Tekintsük az{1, 2}I halmazt, s legyen κ a B állapothalmaz {1, 2}I-be való egy-egyértelműleképezése. (Ilyen nyilvánvalóan létezik, mivel {1, 2}I számossága egyenlőB hatványhalmazának számosságával.) Vegyük a (19.1) feltételt teljesítő Cautomata CI [X, Y, ϕ, λ] = (CI , X, Y, δ, λ) hatványát, ahol a ϕ visszacsatolásifüggvényt és a λ kimenetfüggvényt a következő módon definiáljuk:

Ha valamely b ∈ B állapotra és x ∈ X bemenő jelre

κ(b) = (jk; k ∈ I) és κ(δB(b, x)) = (lk; k ∈ I)

(jk, lk ∈ {1, 2}), továbbá c = (ck ∈ Cjk ; k ∈ I), akkor legyen

ϕ(c, x) = x és λ(c, x) = λB(b, x),

ahol x = (xk; k ∈ I), xk ∈ XC olyan bemenő jele C-nek, amelyre δC(ck, xk) ∈Clk teljesül. Minden más esetben legyen ϕ és λ tetszőlegesen értelmezve. A

D = ∪b∈B(∏

jk∈κ(b)

Cjk)

153

Page 154: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

halmaz nyilvánvalóan CI egy részautomatájának állapothalmaza. Definiál-juk D-nek B-re való α leképezést úgy, hogy

α(c) = b ⇐⇒ c ∈∏

jk∈κ(b)

Cjk .

Legyenek c ∈ D és x ∈ X tetszőlegesek. Akkor

α(δ(c, x)) = α((δC(ck, xk); k ∈ I)) = δB(b, x) = δB(α(b), x),

λ(c, x) = λB(b, x) = λB(α(c), x),

azaz α homomorfizmus. �Az alábbi tétel A-véges Mealy automaták véges automatákból álló homo-

morfan teljes rendszereit jellemzi abban az esetben, ha csak véges tényezősszorzatokat engedünk meg. (Elegendő csak véges automatákra szorítkozni.)

19.5 Tétel (Leticsevszkij kritérium). Véges automaták egy K rendszere azA-véges Mealy automaták homomorfan teljes rendszere a véges tényezős szor-zatokra akkor és csak akkor, ha létezik olyan K-beli C = (C,XC , δC) automa-ta, amelynek van olyan c(∈ C) állapota, vannak olyan x1, x2(∈ XC) bemenőjelei és p1, p2(∈ X∗C) bemenő szavai, amelyekre

(19.2) δC(c, x1) 6= δC(c, x2) és cx1p1 = cx2p2 = c.

Bizonyítás. Legyen K a véges Mealy automaták homomorfan teljes rendsze-re a véges tényezős szorzatokra és B = (B,X, δB) tetszőleges A-véges erősenösszefüggő kimenő jel nélküli automata. Legyen B homomorf képe K-beliAk = (Ak, Xk, δk) (k = 1, . . . , n) Mealy automaták

A = (A,X, δ) =n∏k=1

Ak[X,ϕ]

szorzata valamely D részautomatájának. A B automata erősen összefüggő,ezért a 2.2. Tétel szerint, B homomorf képe D bármely részautomatájánakis. Az A-végesség miatt D-nek van erősen összefüggő részautomatája. Azelőbbiek szerint B ennek is homomorf képe.

A továbbiakban legyen B olyan erősen összefüggő kimenő jel nélküliA-véges automata, amelynek van olyan b ∈ B állapota és vannak olyanx, x′ ∈ XB bemenő jelei, amelyekre δB(b, x) 6= δB(b, x′). Legyen α az Aszorzat valamely D = (D,X, δ) erősen összefüggő részautomatájának homo-morf leképezése B-re és d ∈ D olyan állapot, amelyre α(d) = b. Így

α(δ(d, x)) = δB(α(d), x) 6= δB(α(d), x′) = α(δ(d, x′)),

154

Page 155: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ezértδ(d, x) 6= δ(d, x′).

Mivel D erősen összefüggő, ezért vannak olyan p, p′ ∈ X∗ bemenő szavak,amelyekre dxp = dx′p′ = d, azaz (17.10)-et is felhasználva, van olyan k ∈ [n],amelyre

δk(dk, xk) 6= δk(dk, x′k) és dkxkpk = dkx

′kp′k = dk,

ahol

xk = ϕk(d, x), x′k = ϕk(d, x′), pk = ϕk(dx, p), p′k = ϕk(dx

′, p′).

Megfordítva, tegyük fel, hogy a Mealy automaták egy K rendszere teljesítia (19.2) feltételt. Legyen A0 = (A0, X0, δ0) olyan K-beli automata, amelynekvan olyan a0(∈ A0) állapota, vannak olyan x0, x

′0(∈ X0) bemenő jelei és

p = x1 . . . xm, p′ = x′1 . . . x

′n(∈ X∗0 ) bemenő szavai, amelyekre

(19.3) δ0(a0, x0) 6= δ0(a0, x′0) és a0x0p = a0x

′p′ = a0.

(Ha p = e vagy p′ = e, akkor legyen m = 0 vagy n = 0.) Vezessük be akövetkező jelöléseket:

ai+1 = δ0(ai, xi), a′j+1 = δ0(a′j, x′j)

(i = 0, 1, . . . ,m− 1, j = 0, 1, . . . , n− 1, a′0 = a0). Ha

a1 = δ0(a0, x0) 6= a0 és a′1 = δ0(a0, x′0) 6= a0,

akkor p, p′ ∈ X+. Tegyük fel, hogy p és p′ minimális hosszúságú a (19.2)feltételt teljesítő szavak között. Ez azt jelenti, hogy a1, . . . , am, a

′1, . . . , a

′n ál-

lapotok egyike sem egyenlő a0-lal, és az a2, . . . , am, a′2, . . . , a

′n állapotok között

pedig nem szerepel sem az a1, sem az a′1 állapot. Ha mondjuk δ0(a0, x0) = a0,akkor δ0(a0, x

′0) 6= a0 és p′ ∈ X+. Legyen ebben az esetben p = e, azaz m = 0

és p′ minimális hosszúságú a (19.2) feltételt teljesítő szavak között. Ez aztjelenti, hogy a1 = a0 és az a′1, . . . , a′n állapotok között a0, az a′2, . . . , a′n álla-potok között pedig a′1 nem szerepel.

Legyen B = (B,X, Y, δ′, λ′) tetszőleges Mealy automata és I olyan index-halmaz, amelynek számossága egyenlő az [m+ n+ 2]×B halmaz számossá-gával. Legyen τ az [m+n+2]×B halmaz bijektív leképezése az I halmazra.Az egyszerűség kedvéért jelöljük bk-val az I indexhalmaz τ(k, b) elemét. Le-gyen A′ az AI0 halmaz azon a elemeinek halmaza, amelyekre teljesül, hogybármely b ∈ B esetén ab1 , . . . , abm+n+2 állapotok között a1, . . . , am, a

′1, . . . a

′n

155

Page 156: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

egyszer, az a0 állapot pedig kétszer fordul elő. Jelölje Ta azon b ∈ B álla-potok halmazát, amelyekre abr = a1, abs = a′1 (r < s) teljesül. Tekintsük A′következő C osztályozását:

C[a] = C[a′] ⇐⇒ Ta = Ta′ (a, a′ ∈ A′).

Megmutatjuk, hogy A′ tetszőleges a és a′ elemeihez van olyan x ∈ XI0 , amely-

re ax ∈ C[a′], ahol axbk = abkxbk (xbk ∈ X0). Legyen abr = abs = a0 (r < s).Ha b /∈ Ta′ , akkor legyen xbr = x′0 és xbs = x0. Ha pedig b ∈ Ta′ , ak-kor legyen xbr = x0 és xbs = x′0. Minden más esetben legyen xbk = xi, haabk = ai (i = 1, . . .m) és xbk = x′j, ha abk = a′j (j = 1, . . . , n). Nyilvánvaló,hogy az így definiált ax ∈ C[a′]

A C-osztályok halmazának számossága egyenlő B hatványhalmazánakszámosságával, ezért nagyobb, mint B számossága. Legyen κ a B halmazegy injektív leképezése a C-osztályok halmazába és B′ = ∪{κ(b); b ∈ B}.Definiáljuk B′ halmaznak B-re való α leképezését a

α(a) = b ⇐⇒ a ∈ κ(b) (b ∈ B)

feltétellel. Teljesítse az AI0[X, Y, ϕ, λ] = (AI0, X, Y, δ, λ) hatvány ϕ visszacsa-

tolási függvénye és λ kimenetfüggvénye a következő feltételeket. Tetszőlegesb ∈ B állapotra és x ∈ X bemenő jelre, ha a ∈ κ(b) és a′ = κ(δ′(b, x)), akkorlegyen

ϕ(a, x) = x és λ(a, x) = λ′(b, x).

Ez azt jelenti, hogy ha a ∈ B′, akkor δ(a, x) = ax. Ha a /∈ B′, akkor ϕ(a, x)legyen x, λ(a, x) pedig Y tetszőleges eleme. Így bármely a ∈ B′ és x ∈ Xesetén:

α(δ(a, x) = α(ax) = δ′(b, x) = δ′(α(a), x),

azaz α az AI0[X, Y, ϕ, λ] hatvány B′ = (B′, X, Y, δ, λ) részautomatájának B-

re való homomorf leképezése. �Felhívjuk a figyelmet arra, hogy a Leticsevszkij kritérium elegendőségének

bizonyítása minden Mealy automatára tetszőleges tényezős szorzatok eseténis érvényes. Ezek szerint a Mealy automatáknak vannak minimális homo-morfan teljes rendszerei, és ezek a rendszerek mind egyeleműek. (Ezek aMoore automatáknak és a kimenő jel nélküli automatáknak is minimális ho-momorfan teljes rendszerei.) Egy ilyen rendszer egy két állapotú, két bemenőjelű

A0 = ({1, 2}, {x1, x2}, δ0)

kimenő jel nélküli automata, amely átmenetfüggvénye teljesíti a

(19.4) δ0(1, x1) = δ0(2, x1) = δ0(2, x2) = 1, δ0(1, x2) = 2,

156

Page 157: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(19.5) δ0(1, x1) = δ0(2, x2) = 1, δ0(1, x2) = δ0(2, x1) = 2,

(19.6) δ0(1, x1) = δ0(2, x1) = 1, δ0(1, x2) = δ0(2, x2) = 2.

feltételek valamelyikét. Látható, hogy A0 mind a három esetben erősenösszefüggő. Ez is mutatja az erősen összefüggő automaták fontos szerepétaz automaták algebrai elméletében. Megjegyezzük, hogy a (19.5) feltételtteljesítő A0 automata a 19.3. Lemma bizonyításában is szerepel. Ezeknekaz automatáknak az átmenetgráfjait a 9. ábrán láthatjuk.

����

����

����

����

����

����

-

� -

-

���6

���6

���6

���6

���6

1 1

1

2 2

2

x1 x1

x1

x1

x2

x1, x2 x2

x2

x2 x2

x1

9. ábra.

A fejezetet egy egyszerű lemmával zárjuk, amely azonban fontos szerepetjátszik automaták teljes rendszereinek vizsgálatában. A lemmából is követ-kezik, hogy egy minimális homomorfan teljes rendszer nem tartalmazhatjaegyetlen elemének sem tőle különböző homomorf képét és valódi részauto-matáinak homomorf képeit.

19.6 Lemma Ha

Ak = (Ak, Xk, δk), Bk = (Bk, Xk, δk), Ck = (Ck, Xk, δ′k) (k ∈ I)

olyan automaták, hogy minden k ∈ I indexre Bk a Ak részautomatája és Ck

a Bk homomorf képe, akkor minden∏

k∈I Ck[X,ϕ] σ-szorzat homomorfanreprezentálható egy

∏k∈I Ak[X,ϕ

′] σ-szorzattal. Ha minden k ∈ I indexreBk és Ck izomorfak, akkor a

∏k∈I Ck[X,ϕ] σ-szorzat izomorfan is reprezen-

tálható egy∏

k∈I Ak[X,ϕ′] σ-szorzattal.

157

Page 158: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen minden k ∈ I indexre ψk a Bk automata egy homomorfleképezése Ck-ra. Az C = (C,X, δ) =

∏k∈I Ck[X,ϕ] σ-szorzathoz szer-

kesszük meg a A = (A,X, δ′) =∏

k∈I Ak[X,ϕ′] σ-szorzat ϕ′ visszacsatolási

függvényét a következő módon:Ha b ∈

∏k∈I Bk és x ∈ X, akkor legyen ϕ′(b, x) = ϕ(c, x), ahol

b = (bk; k ∈ I) és c = (ψk(bk); k ∈ I).

Minden más a ∈∏

k∈I Ak esetén legyen ϕ′(a, x) = χ(x), ahol χ az X halmaztetszőleges leképezése az

∏k∈I Xk halmazba. Ha B =

∏k∈I Bk, akkor B =

(B,X, δ′) a A automata egy részautomatája. Definiáljuk B-nek C-re valóψ leképezését úgy, hogy minden b ∈ B állapotra ψ(b) = (ψk(bk); k ∈ I).Nyilvánvaló, hogy ψ homomorfizmus. Ha minden ψk izomorfizmus, akkor ψis izomorfizmus. �

Feladatok19.1 Azt mondjuk, hogy az A = (A,X, δ) automata teljesíti a fél Leticsevszkijkritériumot, ha nem teljesíti a (19.2) Leticsevszkij kritériumot, de van olyan a ∈ Aállapota, p ∈ X∗ bemenő szava és vannak olyan x, z ∈ X bemenő jelei, amelyekre

(19.7) δ(a, x) 6= δ(a, z), axp = a.

Az A = (A,X, δ) automata akkor és csak akkor nem teljesíti a Leticsevszkij és afél Leticsevszkij kritériumot, ha bármely a ∈ A, p ∈ X∗ és x, z ∈ X esetén

axp = a =⇒ δ(a, x) = δ(a, z).

19.2. Ha egy A = (A,X, δ) automatának van olyan a ∈ A állapota, vannak olyanx1, x2 ∈ X bemenő jelei és v ∈ X+, w ∈ X∗ bemenő szavai, amelyekre

(19.8) av = a, awx1 6= awx2,

akkor A teljesíti a Leticsevszkij vagy a fél Leticsevszkij kritériumot.

20. Izomorfan teljes rendszerekEbben a fejezetben a homomorfan teljességnél az automaták egy erősebbteljességét az ún. izomorfan teljességet vizsgáljuk.

A kimenő jel nélküli automaták K rendszere a Mealy automatákM rend-szerének izomorfan teljes rendszere valamely automataszorzatra, ha mindenM-beli automata izomorfan reprezentálható K-beli automaták adott típusú

158

Page 159: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szorzatával, azaz ha mindenM-beli automata izomorf bizonyos K-beli auto-maták adott típusú szorzatának egy részautomatájával. Ha ez a szorzat egyσ-szorzat, azazM⊆ IS Pσ(K), akkor izomorfan σ-teljes rendszerről beszé-lünk. Ha a σ szorzat az Gluskov szorzat, akkor K-t az M izomorfan teljesrendszerének hívjuk. HaM minden Mealy automatát tartalmaz, akkor K-tizomorfan σ-teljesnek, és ha σ-szorzat az Gluskov szorzat, akkor K-t egy-szerűen izomorfan teljesnek mondjuk. K-t azM minimális izomorfan teljesrendszerének nevezzük valamely automataszorzatra, ha nincs olyan valódirészrendszere, amely szinténM izomorfan teljes rendszere erre a szorzatra.

Megjegyezzük, hogy minden izomorfan σ-teljes rendszer homomorfan σ-teljes rendszer is.

Ezek a fogalmak ugyanúgy, mint a homomorfan teljes rendszereknél,Moore automatákra és kimenő jel nélküli automatákra is megadhatók. Adefiníciókból látható, hogy a szubdirekt irreducibilis automaták a kimenőjel nélküli automaták izomorfan teljes rendszerét alkotják a direkt szorzat-ra. Több véges automataosztály izomorfan teljes rendszereinek vizsgálatávalfoglalkozik Imreh Balázs [37] kandidátusi értekezésében.

A következő tétel Mealy automaták izomorfan teljes rendszereit jellemzi.A tételt V. M. GLuskov véges automatákra bizonyította, de a bizonyí-tása megfelelően átfogalmazva érvényes tetszőleges Mealy automatákra, ésnyilvánvalóan Moore automatákra és kimenő jel nélküli automatákra is.

20.1 Tétel (Gluskov kritérium). Kimenő jel nélküli automaták egy K rend-szere Mealy automatáknak akkor és csak akkor izomorfan teljes rendszere, halétezik olyan K-beli A = (A,X, δ) automata, amelynek vannak olyan külön-böző a1, a2(∈ A) állapotai és (nem feltétlenül különböző) x1, x2, x3, x4(∈ X)bemenő jelei, amelyekre

(20.1) δ(a1, x1) = a1, δ(a1, x2) = a2 δ(a2, x3) = a2, δ(a2, x4) = a1.

Bizonyítás. A szükségesség bizonyítása céljából tekintsük a (19.5) feltételleldefiniált

A0 = ({1, 2}, {x1, x2}, δ0)

kimenő jel nélküli automatát, azaz amelyre

δ0(1, x1) = δ0(2, x2) = 1, δ0(1, x2) = δ0(2, x1) = 2.

(Minden kimenő jel nélküli automata egy Mealy automata.) Mivel K izomor-fan teljes, ezért vannak olyan K-beli Ak = (Ak, Xk, δk) (k ∈ I) automaták,amelyek

∏k∈I Ak[{x1, x2}, ϕ] = (A, {x1, x2}, δ) szorzatának egy B részauto-

matája izomorf az A0 automatával. Legyen α egy megfelelő izomorfizmus.

159

Page 160: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tegyük fel, hogy a,b ∈ B állapotokra α(a) = 1 és α(b) = 2. Ebből

δ(a, x1) = δ(b, x2) = a, δ(a, x2) = δ(b, x1) = b,

azaz minden k ∈ I indexre

δk(ak, ϕk(a, x1)) = δk(bk, ϕk(b, x2)) = ak,

δk(ak, ϕk(a, x2)) = δk(bk, ϕk(b, x1)) = bk.

Mivel 1 6= 2, ezért van olyan k ∈ I, amelyre ak 6= bk. Legyen

ϕk(a, x1) = xk1, ϕk(a, x2) = xk2,

ϕk(b, x1) = xk3, ϕk(b, x2) = xk4.

Az Ak automata ak, bk állapotai és xk1, xk2, xk3, xk4 bemenő jelei teljesítik a(20.1) feltételt.

Az elegendőség bizonyításához tegyük fel, hogy A = (A,X, δ) olyan K-beli automata, amelynek vannak olyan különböző a1, a2(∈ A) állapotai és(nem feltétlenül különböző) x1, x2, x3, x4(∈ X) bemenő jelei, amelyekre

δ(a1, x1) = a1, δ(a1, x2) = a2 δ(a2, x3) = a2, δ(a2, x4) = a1.

Legyen B = (B,X ′, Y ′, δ′, λ′) tetszőleges Mealy automata és I olyan in-dexhalmaz, amelynek számossága egyenlő B számosságával. Legyen α a Bhalmaz egy injektiv leképezése az AI halmazba. (Az AI halmaz számosságanagyobb a B halmaz számosságánál, ezért ilyen leképezés létezik.) Definiál-juk az AI [X, Y, ϕ, λ] = (AI , X, Y, δ, λ) hatvány ϕ = (ϕk; k ∈ I) visszacsato-lási függvényét és λ kimenetfüggvényét úgy, hogy minden b ∈ B állapotra ésx ∈ X ′ bemenő jelre

ϕk(α(b), x) = xj ⇐⇒ δ(α(b)(k), xj) = α(δ′(b, x))(k) (j = 1, 2, 3, 4),

λ(α(b), x) = λ′(b, x)

teljesüljön, s minden más esetben tetszőleges. Nyilvánvaló, hogy

α(δ′(b, x)) = δ(α(b), x) (b ∈ B, x ∈ X ′),

azaz α izomorfizmus. �A Gluskov kritérium szerint az Mealy automatáknak vannak minimális

izomorfan teljes rendszerei, s ezek mind egyeleműek. Egy ilyen rendszert al-kot például egy két állapotú, legfeljebb négy bemenő jelű, kimenő jel nélküliautomata, amelynek átmenetfüggvénye teljesíti (20.1)-et. A (20.1) feltételből

160

Page 161: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

következik, hogy x1 6= x2 és x3 6= x4. Egy ilyen automatának legalább kettőés legfeljebb négy bemenő jele van. Ez azt jelenti, hogy Mealy automatákleggazdaságosabb izomorfan teljes rendszerei a (19.5) ill. a 19.6) feltételt tel-jesítő A0 automatákból álló egyelemű rendszer. Természetesen ezek bármelyautomataosztálynak, így a Moore automatáknak, a kimenő jel nélküli auto-matáknak, az A-véges automatáknak és a véges automatáknak is minimálisizomorfan teljes rendszerei.

Az alábbi két állítás az előbbi megjegyzések alapján nyilvánvalóan követ-kezik a Gluskov kritériumból.

20.2 Következmény Minden A = (A,X, Y, δ′, λ′) Mealy automata izomorfegy AI

0[X, Y, ϕ, λ] hatvány valamely részautomatájával, ahol |I| = |A|.

20.3 Következmény Minden A = (A,X, Y, δ′, λ′) A-véges Mealy automataizomorf egy An

0 [X, Y, ϕ, λ] hatvány valamely részautomatájával, ahol n ≥log2 |A|.

A 20.3. Következményből kapjuk, hogy a (19.5) ill. a 19.6) feltételt tel-jesítő A0 automatákból álló egyelemű rendszerek az A-véges automatáknak,speciálisan a véges automatáknak minimális izomorfan teljes rendszerei avéges tényezős szorzatokra.

A továbbiakban A-véges automaták izomorfan teljes rendszereivel foglal-kozunk véges tényezős αi-szorzatokra. Az eredmények Imreh Balázstólszármaznak. Először az α0-szorzatokra izomorfan teljes rendszerek vizsgála-tában kulcsszerepet játszó Tn automatákat adjuk meg.

Az [n] = {1, 2, . . . , n} (n ≥ 1) halmaz Tn teljes transzformációfélcsoport-jára definiáljuk az Tn = ([n], Tn, δn) automatát, ahol minden k ∈ [n] és t ∈ Tnpárra δn(k, t) = t(k). A Tn automatát (n állapotú) teljes transzformációau-tomatának nevezzük.

20.4 Lemma Minden n pozitív egész számra a Tn teljes transzformációautomata egyszerű.

Bizonyítás. Ha n ≤ 2, akkor Tn nyilvánvalóan egyszerű. Tegyük fel, hogyn ≥ 3. Legyen ρ 6= ι[n] a Tn egy kongruenciája. Akkor vannak olyan k′, l′ ∈[n], hogy k′ 6= l′ és (k′, l′) ∈ ρ. Legyenek k, l ∈ [n] tetszőlegesek és tk,l az [n]halmaznak olyan transzformációja, amelyre tk,l(k′) = k és tk,l(l′) = l. Ez aztjelenti, hogy (k, l) ∈ ρ, azaz ρ = ω[n]. �

20.5 Tétel Az automaták egy K rendszere az A-véges automaták izomorfanteljes rendszere a véges tényezős α0-szorzatra akkor és csak akkor, ha mindenpozitív egész n-re van olyan A ∈ K, hogy Tn izomorfan reprezentálható Aegytényezős α0-szorzatával.

161

Page 162: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tegyük fel, hogy K az A-véges automaták izomorfan teljesrendszere a véges tényezős α0-szorzatra. akkor Tn (n ≥ 1) izomorfan repre-zentálható egy

B = (B, Tn, δ) = B1×· · ·×Bm[Tn, ϕ] (Bj = (Bj, Xj, δj) ∈ K, j = 1, . . . ,m)

α0-szorzattal. Legyen ψ az Tn automata egy izomorfizmusa B-be. Meg-mutatjuk, hogy Tn izomorf módon reprezentálható valamely Bj komponensegytényezős α0-szorzatával. Ha n = 1, akkor minden 1 ≤ j ≤ m esetén vanolyan bj ∈ Bj és xj ∈ Xj, hogy δj(bj, xj) = bj. Ezért T1 izomorfan repre-zentálható bármelyik Bj komponens egytényezős α0-szorzatával. Ha pedigm = 1, akkor magára B-re teljesül a tétel állítása. Így feltehetjük, hogyn,m > 1.

Legyen B′ = (B′, Tn, δ) a B-nek az az részautomatája, amelyre B′ =ψ([n]). Definiáljuk a ρj (j = 1, . . . ,m) relációkat B′-n pontosan úgy, mint a18.2. Tétel bizonyításában. Minden ρj reláció a B′ automata kongruenciája.A 20.4. Lemma szerint Tn-nek csak triviális kongruenciái vannak, ezért ezértminden ρj egyenlő ιB′-vel vagy ωB′-vel. Legyen r a legkisebb egész szám,amelyre ρr 6= ωB′ . (Mivel n > 1, ezért ilyen r létezik.) Megmutatjuk, hogyTn izomorfan reprezentálható a Br komponens egytényezős α0-szorzatával.E célból legyen ψ(j) = (bj1 , . . . , bjm) (j = 1, . . . ,m). Az r választása miattbks = bls minden k, l ∈ [n] és s ∈ [r − 1] egész számra. Tekintsük Br[Tn, ϕ

′]egytényezős α0-szorzatot, ahol ϕ′(t) = ϕr(b11 , . . . , b1r−1 , t) (t ∈ Tn). (ϕr a(18.1)-ben definiált visszacsatolási függvény.) Mivel ρr = ιB′ , ezért a ψ′(j) =jr (j = 1, . . . , n) öszefüggéssel definiált ψ′ megfeleltetés az Tn automatánakBr[Tn, ϕ

′]-be való izomorf leképezése.Megfordítva, legyen A = (A,X, δ) egy m állapotú automata, továbbá ψ

az A-nak egy injektív leképezése [n]-be, ahol n ≥ m. Definiáljuk azt a B =([n], X, δ′) = Tn[X,ϕ] egytényezős α0-szorzat ϕ : X → Tn visszacsatolásifüggvényét úgy. hogy minden a ∈ A és x ∈ X esetén

ψ(δ(a, x)) = δ[n](ψ(a), ϕ(x))

teljesüljön. Akkor

ψ(δ(a, x)) = δ[n](ψ(a), ϕ(x)) = δ′(ψ(a), x),

azaz ψ az A automata izomorf leképezése B-be. A feltétel miatt van olyanC ∈ K, hogy Tn leképezhető izomorf módon C valamely egytényezős α0-szorzatába. A 19.6. Lemmát is használva kapjuk, hogy A leképezhető izo-morf módon C egy egytényezős α0-szorzatába. �

A 20.5. Tételből következik, hogy {Tn; n = 2, 3, . . . } az A-véges [véges]automaták egy izomorfan teljes rendszere.

162

Page 163: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

20.6 Következmény Az A-véges automatáknak nem létezik minimális izo-morfan teljes rendszere a véges tényezős α0-szorzatra.

Bizonyítás. Legyen K az A-véges automaták egy izomorfan teljes rendszerea véges tényezős α0-szorzatra. Ha A ∈ K m állapotú automata, akkor, mintazt a 20.5. Tétel bizonyításában láttuk, minden n(≥ m) pozitív egész számraA izomorfan reprezentálható Tn egy egytényezős α0-szorzatával. Legyen n >m. A 20.5.Tétel szerint Tn izomorfan reprezentálható egy K-beli B automataegytényezős α0-szorzatával. A 19.6. Lemma alapján B valamely egytényezősα0-szorzata izomorfan reprezentálja A-t. Így K − {A} is izomorfan teljesrendszere a A-véges [véges] automatáknak a véges tényezős α0-szorzatra. �

Az αi-szorzatokra (i ≥ 1) izomorfan teljes rendszerek vizsgálatában alap-vető szerepet játszanak azok a Vn = ([n], Xn, δn) automaták, amelyekreXn = {xuv;u, v ∈ [n]} és minden k ∈ [n], xuv ∈ Xn párra az u = k esetbenδn(k, xuv) = v, minden más esetben pedig δn(k, xuv) = k teljesül.

20.7 Tétel Az automaták egy K rendszere az A-véges automatáknak akkorés csak akkor izomorfan teljes rendszere a véges tényezős αi-szorzatra (i ≥1), ha minden pozitív egész n-re van olyan A ∈ K, hogy Vn izomorfanreprezentálható A egytényezős α1-szorzatával.

Bizonyítás. Legyen K az A-véges automaták izomorfan teljes rendszere avéges tényezős αi-szorzatra (i ≥ 1). Először megmutatjuk, hogy ha Vn izo-morfan reprezentálható K-beli automaták egy véges tényezős αi-szorzatával,akkor izomorfan reprezentálható K-beli automaták legfeljebb i tényezős αi-szorzatával is. Mivel V1 izomorf a T1 transzformációautomatával és mindenα0-szorzat αi-szorzat (i ≥ 1), ezért n = 1 esetben a 20.5. Tétel szerint igazaz állítás. Ezért feltehetjük, hogy n > 1. Tekintsük a

B = (B,Xn, δ) = B1 × · · · ×Bm[Xn, ϕ],

Bj = (Bj, X′j, δ′j) ∈ K, j = 1, . . . ,m

αi-szorzatot. Tegyük fel, hogy Vn izomorf a B egy B′ = (B′, Xn, δ) részau-tomatájával és legyen ψ : [n]→ B′ egy alkalmas izomorfizmus. Legyen

ψ(k) = (bk1 , . . . , bkm) (k = 1, . . . , n).

Feltehetjük, hogy van olyan 1 ≤ r, s ≤ n, amelyekre br1 6= bs1 . (Ellenke-ző esetben vehetnénk a B2, . . . ,Bm automaták egy m − 1 tényezős nekünkmegfelelő αi-szorzatát.) Ha m ≤ i, akkor B teljesíti a kívánt feltételt.

Tegyük fel, hogy m > i. Belátjuk, hogy a

bk = (bk1 , . . . , bki) (k = 1, . . . , n)

163

Page 164: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

vektorok páronként különbözőek. Tegyük fel, hogy

u 6= v (u, v ∈ [n]) és (bu1 , . . . , bui) = (bv1 , . . . , bvi).

Következésképpen (18.2) szerint, minden x ∈ Xn elemre

ϕ1(bu1 , . . . , bui , x) = ϕ1(bv1 , . . . , bvi , x).

Mivel ψ izomorfizmus az x = xur választással nyerjük, hogy

δ′1(bu1 , ϕ1(bu1 , . . . , bui , x)) = br1 , δ′1(bv1 , ϕ1(bv1 , . . . , bvi , x)) = bv1 .

Így br1 = bv1 . Az x = xvs választással kapjuk, hogy bs1 = bu1 . Mivelbu1 = bv1 , ezért br1 = bs1 , ami viszont a feltevés szerint lehetetlen. Teháta bk = (bk1 , . . . , bki) (k = 1, . . . , n) vektorok valóban páronként különbözőek.

Legyen ψ′(k) = bk (k = 1, . . . , n) az [n] halmaznak az {bk; k ∈ [n]}halmazra való bijektív leképezését. Ezenkívül tetszőleges (u, v) (u, v ∈ [n])párra létezik egy

yuv = (y(1)uv , . . . , y

(i)uv ) ∈ X ′1 × · · · ×X ′i

vektor, amelyre δ′t(but, y(t)uv ) = bvt (t = 1, . . . , i). Tekintsük a

C = (C,Xn, δ) = B1 × · · · ×Bi[Xn, ϕ′]

αi-szorzatot, amelyre tetszőleges u, v, t ∈ [n] esetén ϕ(bt1 , . . . , bti , xuv) = yuv,ha t = u, és ϕ(bt1 , . . . , bti , xuv) = ytt minden más esetben. A ϕ′ leképezés aVn automata izomorf leképezése C-be.

Legyen i√n egészrésze l. Megmutatjuk, hogy ha Vn izomorfan repre-

zentálható K-beli automaták legfeljebb i tényezős αi-szorzatával, akkor Vl

izomorfan reprezentálható K-beli automata egytényezős α1-szorzatával.Tekintsük újra a fenti B αi-szorzatot és Vn ψ izomorf leképezését B-be.

Tegyük fel továbbá, hogy m ≤ i. Ismét legyen minden k ∈ [n] pozitív egészszámra ψ(k) = (bk1 , . . . , bkm). Mivel ψ injektív, ezért létezik legalább egy s ∈[n], amelyre a b1s , . . . , bns elemek között legalább l különböző. Feltehetjük,hogy ezek az elemek b1s , . . . , bts (t ≥ l). Adjuk meg a ϕ′ : [l]→ {b1s , . . . , bls}leképezést a ψ′(k) = bks (k ∈ [l]) összefüggéssel. Mivel ψ izomorfizmus,tetszőleges u, v ∈ [l] létezik olyan x(s)

uv ∈ X ′s bemenő jel, amelyre δ′s(bus , x(s)uv ) =

bvs . Tekintsük most a Bs[Xt, ϕ′] egytényezős αi-szorzatot, ahol k = u esetben

ϕ′(bks), xuv) = x(s)uv , s minden más esetben ϕ′(bks , xuv) = x

(s)kk . A ψ′ leképezés

Vl izomorf leképezése Bs[Xl, ϕ′]-be.

Ha most Vn helyett a Vni automatát tekintjük, akkor az előbbiekbőlkapjuk, hogy Vn izomorfan reprezentálható egy K-beli automata valamelyegytényezős αi-szorzatával.

164

Page 165: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megfordítva, nyilvánvaló, hogy minden n állapotú automata izomorfanreprezentálható Vn egy egytényezős α1-szorzatával. Így, ha a K rendszerteljesíti a tétel feltételeit, akkor az A-véges automaták egy izomorfan teljesrendszere a véges tényezős αi-szorzatra. �

A 20.7. Tétel bizonyításából következik, hogy bármely i pozitív egészszámra a K = {Vn;n = 1, 2, . . . } rendszer az A-véges automaták izomorfanteljes rendszere a véges tényezős αi-szorzatra. A tételből kapjuk az alábbikövetkezményt.

20.8 Következmény Automaták egy rendszere akkor és csak akkor izomor-fan teljes rendszere az A-véges automatáknak a véges tényezős α1 szorzatra,ha bármely αi-szorzatra (i ≥ 1) is az.

A következő triviális lemma azt mondja ki, hogy egy automata mindenAX-részautomatája izomorfan reprezentálható az automata egy egytényezősα0-szorzatával.

20.9 Lemma Ha az A′ = (A′, X ′, δ′) automata az A = (A,X, δ) automataAX-részautomatája, akkor A′ a A[X ′, ιX′ ] egytényezős α0-szorzat egy rész-automatája.

20.10 Következmény Nem létezik az A-véges [véges] automatáknak mi-nimális izomorfan teljes rendszere i ≥ 1 esetekben a véges tényezős αi-szorzatokra.

Bizonyítás. Bármely m ≤ n esetén Vm izomorf a Vn automata egy AX-részautomatájával, ezért a 20.9. Lemma szerint izomorf módon beágyazhatóVn egy egytényezős αi-szorzatába. Ez alapján a 20.7. Tételből már adódikaz állítás. �

20.11 Tétel Létezik az A-véges automatáknak olyan izomorfan teljes Krendszere a véges tényezős αi-szorzatra (i ≥ 1), amely az A-véges automa-táknak nem izomorfan teljes rendszere a véges tényezős α0-szorzatra.

Bizonyítás. Megmutatjuk, hogy a K = {Vn;n = 2, 3, . . . } rendszer azA-véges automaták nem izomorfan teljes rendszere a véges tényezős α0-szorzatra. A 20.5. Tétel szerint elegendő megmutatni, hogy a Tm (m ≥ 2)transzformációautomata nem reprezentálható izomorfan egyetlen Vn auto-mata egytényezős α0-szorzatával. Az állítást indirekt módon bizonyítjuk.Tegyük fel, hogy ψ az Tm = ([m], Tm, δ) (m ≥ 2) automata izomorf leké-pezése egy Vn = ([n], Xn, δ

′) automata Vn[Tn, ϕ] = ([n], Tm, δ′′) egytényezős

α0-szorzatába. Nyilvánvaló, hogy m ≤ n. Legyen τ ∈ Tm az [m] halmazegy olyan transzformációja, hogy minden k ∈ [m] elemre τ(k) 6= k. Ha

165

Page 166: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ϕ(τ) = xuv (1 ≤ u, v ≤ n) és k ∈ [m] olyan, amelyre ψ(k) 6= u (k ∈ [m]),akkor

ψ(τ(k)) = ψ(δ(k, τ)) = δ′′(ψ(k), τ) = δ′(ψ(k), xuv) = ψ(k).

Mivel a ψ leképezés injektív, ezért τ(k) = k, ami ellentmond τ választásának.�

Tekintsük most a (19.5) feltétellel megadott A0 = ({1, 2}, {x1, x2}, δ0)automatát. A 20.3. Következmény után megjegyeztük, hogy, hogy {A0}az A-véges automaták izomorfan teljes rendszere a véges tényezős Gluskovszorzatra.

20.12 Lemma Bármely (1 ≤)i pozitív egész számra Vn akkor és csak akkorreprezentálható izomorfan A0 egy véges αi-hatványával, ha 1 ≤ n ≤ 2i.

Bizonyítás. Tegyük fel, hogy Vn (n ≥ 1) izomorfan reprezentálható A0 egym tényezős αi-hatványával (i ≥ 1). Nyilvánvaló, hogy n ≤ 2m. A 20.7. Tételbizonyítása szerint feltehető, hogy m ≤ i. Így valóban 1 ≤ n ≤ 2i.

Az elegendőség bizonyításához tegyük fel, hogy 1 ≤ i és 1 ≤ n ≤ 2i.Tekintsük az [n] halmaz egy injektív ψ leképezését az {1, 2}i halmazba.Minden k ∈ [n] esetén legyen ψ(k) = (k1, . . . ki). Nyilvánvaló, hogy min-den u, v ∈ [n] párhoz van olyan Yuv = (y

(1)uv , . . . , y

(i)uv ) ∈ {x1, x2}i, amelyre

δ0(ut, y(t)uv ) = vt (t ∈ [i]). Vegyük azt az A = Ai

0[Xn, ϕ] αi-hatványt, aholtetszőleges t, u, v ∈ [n] hármasra a t = u esetben ϕ(t1, . . . , ti, xuv) = yuv, sminden más esetben ϕ(t1, . . . , ti, xuv) = ytt. A ψ leképezés a Vn automataizomorf leképezése A-ba. �

20.13 Tétel A véges tényezős αi+1-szorzat izomorfan általánosabb a végestényezős αi-szorzatnál. Továbbá a véges tényezős Gluskov szorzat izomorfanáltalánosabb minden véges tényezős αi-szorzatnál.

Bizonyítás. A 20.7. Tétel bizonyításából kaptuk, hogy bármely i pozitívegész számra a K = {Vn;n = 2, 3, . . . } rendszer az A-véges automaták izo-morfan teljes rendszere a véges tényezős αi-szorzatra (i ≥ 1). A 20.11. Tételbizonyításában láthattuk, hogy K az A-véges automatáknak nem izomorfanteljes rendszere a véges tényezős α0-szorzatra. Ezekből, a 20.12. Lemmátis felhasználva, kapjuk, hogy minden véges tényezős αi+1-szorzat izomorfanáltalánosabb a véges tényezős αi-szorzatnál. Végül a 20.12. Lemmából azis következik, hogy az {A0} rendszer az A-véges automatáknak nem izomor-fan teljes rendszere a véges tényezős αi-szorzatokra (i ≥ 1). Ez azt jelenti,hogy véges tényezős Gluskov szorzat izomorfan általánosabb minden végestényezős αi-szorzatnál. �

166

Page 167: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 20.13. Tételt úgy is kimondhatjuk, hogy a Gécseg szorzathierarchiaa véges tényezős szorzatok izomorf reprezentációjára egy valódi hierarchia,még akkor is, ha hozzáveszük a véges tényezős Gluskov szorzatot.

Emlékeztetünk arra, hogy az egytényezős α0-szorzatok pontosan az egy-tényezős kvázidirekt szorzatok. A Mealy automaták kvázidirekt szorzatok-ra vonatkozó izomorfan teljes rendszereiben is fontos szerepet játszanak azegytényező szorzatok. A következő lemma mutatja, hogy ezek a rendszerekszoros kapcsolatban vannak a szubdirekt irreducibilis automatákkal. Meg-jegyezzük, hogy a 20.6. Következmény szerint az A-véges [véges] automa-táknak nem létezik minimális izomorfan teljes rendszere a véges tényezősα0-szorzatra, s így a véges tényezős kvázidirekt [heterogén direkt, direkt]szorzatra, valamint a véges tényezős szuperpozícióra sem.

20.14 Tétel Az automaták egy K rendszere akkor és csak akkor izomorfanteljes rendszer a kvázidirekt szorzatra, ha minden szubdirekt irreducibilisautomata izomorfan reprezentálható egy K-beli automata egytényezős kváz-idirekt szorzatával.

Bizonyítás. Tegyük fel, hogy K izomorfan teljes rendszer a kvázidirekt szor-zatra. Legyen A = (A,X, δ) tetszőleges szubdirekt irreducibilis automata.Akkor vannak olyan K-beli Ak = (Ak, Xk, δk) (k ∈ I) automaták, hogy Aizomorf módon beágyazható a

∏k∈I Ak[X,ϕ] kvázidirekt szorzatba. A 16.5.

Tétel szerint ez a kvázidirekt szorzat egyenlő az A∗k = (Ak, X, δ∗k) (k ∈ I) au-

tomaták direkt szorzatával, ahol minden ak ∈ Ak állapotra és x ∈ X bemenőjelre δ∗k(ak, x) = δk(ak, ϕk(x)) teljesül. A 14.9. Lemma szerint A izomorf azA∗k (k ∈ I) automaták bizonyos B∗k részautomatáinak szubdirekt szorzatá-val. Mivel A szubdirekt irreducibilis, ezért van olyan k ∈ I index, hogy Aizomorf a B∗k automatával. Ez azt jelenti, hogy A izomorfan reprezentálhatóAk[X,ϕk] egytényezős kvázidirekt szorzattal.

Megfordítva, legyen K az automaták olyan rendszere, hogy minden szub-direkt irreducibilis automata izomorfan reprezentálható egy K-beli automataegytényezős kvázidirekt szorzatával. Minthogy minden direkt szorzat kváz-idirekt szorzat, a 16.5. és a 14.8. Tételekből, valamint a 16.7. Lemmábólkapjuk, hogy K izomorfan teljes rendszer a kvázidirekt szorzatra. �

A 16.5. és a 20.14. Tételek segítségével könnyen beláthatjuk a következőállítást.

20.15 Következmény Az automaták egy K rendszere akkor és csak akkorizomorfan teljes rendszer a direkt szorzatra, ha minden szubdirekt irreduci-bilis automata izomorf egy K-beli automata valamely részautomatájával.

A 20.15. Következményből is látható, amint azt már megjegyeztük, hogy

167

Page 168: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a szubdirekt irreducibilis automaták izomorfan teljes rendszert alkotnak adirekt szorzatra.

20.16 Lemma Bármely n állapotú A = (A,X, δ) automata izomorf a

Tn = ([n], Tn, δn)

teljes transzformációautomata egy Tn[X,ϕ] egytényezős kvázidirekt szorza-tával.

Bizonyítás. Az általánosság megszorítása nélkül feltehetjük, hogy A = [n].Adjuk meg a ϕ : X → Tn visszacsatolási függvényt a ϕ(x) = δx (x ∈ X)feltétellel, ahol δx az A állapothalmaz (3.1)-ben definiált transzformációja.Tekintsük a Tn[X,ϕ] = ([n], X, δ′) egytényezős kvázidirekt szorzatot. Akkorminden j ∈ [n] és x ∈ X esetén

δ′(j, x) = δn(j, ϕ(x)) = δn(j, δx) = δx(j) = δ(j, x),

azaz δ′ = δ. �

20.17 Tétel Az automaták egy K rendszere az A-véges automaták izomor-fan teljes rendszere a véges tényezős kvázidirekt szorzatra akkor és csak akkor,ha minden pozitív egész n-re Tn teljes transzformáció automata izomorfanreprezentálható valamely K-beli automata egytényezős kvázidirekt szorzatá-val.

Bizonyítás. A 20.4. Lemma szerint minden n pozitív egész számra a Tn tel-jes transzformáció automata egyszerű, s így szubdirekt irreducibilis. Mivel akvázidirekt szorzat asszociatív, ezért a 20.14. Tételből és a 20.16. Lemmábólkönnyen következik az állítás. �

Minden egytényezős σ-szorzat egytényezős kvázidirekt szorzat, ezért a20.5. és 20.17. Tételekből azonnal adódik a

20.18 Tétel Az automaták egy K rendszere az A-véges automaták izomor-fan teljes rendszere a véges tényezős α0-szorzatra akkor és csak akkor, haizomorfan teljes rendszere a véges tényezős kvázidirekt szorzatra.

20.19 Következmény Az automaták egy K rendszere az A-véges automa-ták izomorfan teljes rendszere a véges tényezős direkt szorzatra akkor és csakakkor, ha minden pozitív egész n-re Tn teljes transzformáció automata izo-morf egy K-beli automata valamely részautomatájával.

168

Page 169: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

21. A Krohn–Rhodes tételA fejezet célja az automataelmélet egyik legmélyebb eredményének az ún.Krohn–Rhodes tételnek ismertetése. A tételből az is következik, hogy azA-véges Mealy automatáknak, s így a Mealy automatáknak nincs véges ho-momorfan teljes rendszere a véges tényezős α0-szorzatokra. A tétel bizonyí-tásához néhány csoportelméleti eredményt is felhasználunk. Ezeket, mivel azalgebra alapkurzusai általában nem tartalmazzák, a teljesség kedvéért be isbizonyítjuk.

Egy természetes definícióval kezdjük a vizsgálatokat. Egy félcsoport rész-csoportján olyan részfélcsoportját értjük, amely csoport az adott műveletre.

21.1 Lemma Ha ϕ az S véges félcsoport homomorf leképezése a G csoport-ra, akkor S-nek van olyan K részcsoportja, hogy ϕK a K csoport homomorfleképezése G-re.

Bizonyítás. Legyen E az S félcsoport idempotens elemeinek halmaza. AzS végességéből következik, hogy E 6= ∅. Legyen St az SE = {Su;u ∈ E}halmaz egy minimális eleme a halmazelméleti tartalmazásra. Nem nehézlátni, hogy tSt az S részfélcsoportja és t a tSt egységeleme. Ha f ∈ E olyan,amelyre f ∈ tSt, azaz f = tut valamilyen u ∈ S elemre, akkor Sf = Stut ⊆St. Mivel St minimális elem, ezért Sf = St. Így, mivel t ∈ St, van olyans′ ∈ S, hogy t = s′f . Innen

t = s′f = s′ff = tf = ttut = tut = f,

azaz t a tSt egyetlen idempotens eleme. Mivel tSt véges, ezért bármely s ∈ Sesetén van olyan n pozitív egész szám, hogy (tst)n a tSt idempotens eleme,azaz (tst)n = t. Feltehető, hogy n > 1, ha ugyanis tst = t, akkor (tst)2 = t isteljesül. Ez azt jelenti, hogy (tst)n−1 az tst elem inverze, következésképpentSt csoport.

Minthogy idempotens elem homomorf képe is idempotens és csoportbanaz egységelem az egyetlen idempotens elem, ezért bármely s ∈ S elemre

ϕ(tst) = ϕ(t)ϕ(s)ϕ(t) = ϕ(s),

azaz ϕtSt a tSt részcsoport homomorf leképezése G-re. �Legyen S az A 6= ∅ halmaz egy transzformációfélcsoportja, S ′ 6= ∅ S-nek,

A′ 6= ∅ pedig A-nak egy részhalmaza. Vezessük be az

S ′A′ = {τA′ ; τ ∈ S ′}

169

Page 170: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

jelölést. Ha τ, τ ′ ∈ S ′ elemekre τA′ és τ ′A′ az A′ transzformációi, akkor (τ◦τ ′)A′is transzformációja A′-nek és (τ ◦ τ ′)A′ = τA′ ◦ τ ′A′ . Ha S ′ és A′ olyanok,hogy minden τ ∈ S ′ esetén τA′ az A′ egy transzformációja, akkor a ϕ(τ) =τA′ (τ ∈ S ′) megfeleltetés < S ′ > homomorf leképezése < SA′ >-re. Ha S ′részfélcsoportja is S-nek, akkor < S ′ >= S ′ és < S ′A′ >= S ′A′ .

21.2 Lemma Legyen A 6= ∅ tetszőleges véges halmaz és S az A egy transz-formációfélcsoportja. HaK az S egy részcsoportja, akkor A-nak van olyan A′részhalmaza, hogyKA′ az A′ egy olyan permutációcsoportja, amelyik izomorfK-val.

Bizonyítás. Legyen κ a K egységeleme és A′ = κ(A). Nyilvánvaló, hogyκA′ = ιA′ . Ha τ ∈ K, akkor

τ(A′) = τ(κ(A)) = (κ ◦ τ)(A) = τ(A),

amiből

A′ = κ(A′) = (τ−1 ◦ τ)(A′) = τ(τ−1(A′)) ⊆ τ(A) = τ(A′).

Hasonlóan A′ ⊆ τ−1(A′), így

A′ ⊆ τ(A′) ⊆ τ(τ−1(A′)) = (τ−1 ◦ τ)(A′) = κ(A′) = A′,

ezért τ(A′) = A′. Az A végességéből következik, hogy τA′ a az A′ egy per-mutációja.

Az előzőekből látszik, hogy τA′ ◦ (τ−1)A′ = (τ−1)A′ ◦ τA′ = κA′ , azaz KA′

az A′ egy permutációcsoportja, amelynek egységeleme κA′ és tetszőleges τA′elemének inverze (τ−1)A′ , vagyis (τA′)

−1 = (τ−1)A′ .A ϕ(τ) = τA′ (τ ∈ K) megfeleltetés K-nak KA′-re való leképezése. Meg-

mutatjuk, hogy ϕ egy-egyértelmű. Legyenek τ, τ ′ ∈ K, amelyekre τA′ = τ ′A′ .Akkor minden a ∈ A elemre

τ(a) = (κ ◦ τ)(a) = τ(κ(a)) = τA′(κ(a)) =

= τ ′A′(κ(a)) = τ ′(κ(a)) = (κ ◦ τ ′)(a) = τ ′(a),

azaz τ = τ ′. De (τ ◦ τ ′)A′ = τA′ ◦ τ ′A′ (τ, τ ′ ∈ K), ezért ϕ K-nak KA′-re valóizomorfizmusa. �

21.3 Lemma Legyen A 6= ∅ tetszőleges véges halmaz, S az A egy transzfor-mációfélcsoportja és A′ 6= ∅ A egy részhalmaza. Jelölje S ′ az S félcsoportnakazt a részhalmazát, amelyre S ′A′ elemei A′ permutációi. Ha S ′ 6= ∅, akkor vanS-nek olyan K részcsoportja, amelynek az A′ részhalmaz S ′A′ által generált< S ′A′ > permutációcsoportja homomorf képe.

170

Page 171: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Jelölje < S ′ > az S félcsoport S ′ részhalmaza által generáltrészfélcsoportját. Legyen E az < S ′ > idempotens elemeinek halmaza. AzS végessége miatt E 6= ∅. Legyen < S ′ > ◦t az SE = {< S ′ > ◦u;u ∈ E}halmaz egy minimális eleme a halmazelméleti tartalmazásra. Legyen K =t◦ < S ′ > ◦t. Ugyanúgy, mint a 21.1. Lemma bizonyításában, megmutat-ható, hogy K az < S ′ >-nek, s így S-nek is részcsoportja, amelynek t azegységeleme.

Mivel minden b ∈ A′ elemhez van olyan a ∈ A′, hogy t(a) = b, s így

b = t(a) = (t ◦ t)(a) = t(t(a)) = t(b),

ezért tA′ = ιA′ .Definiáljuk a ϕ : K →< S ′A′ >megfeleltetést úgy, hogy minden s ∈< S ′ >

esetén ϕ(t◦s◦ t) = sA′ teljesüljön. Ha s = s1 ◦s2 ◦ · · · ◦sl (s1, s2, . . . , sl ∈ S ′),akkor sA′ = (s1 ◦ s2 ◦ · · · ◦ sl)A′ = (s1)A′ ◦ (s2)A′ ◦ · · · ◦ (sl)A′ , ezért ϕ a Krészcsoport < S ′A′ >-re való leképezése. Ha s, v ∈< S ′ >, akkor

ϕ((t ◦ s ◦ t) ◦ (t ◦ v ◦ t)) = ϕ(t ◦ s ◦ t ◦ t ◦ v ◦ t) = ϕ(t ◦ s ◦ t ◦ v ◦ t) =

= (s ◦ t ◦ v)A′ = sA′ ◦ tA′ ◦ vA′ = sA′ ◦ vA′ = ϕ(t ◦ s ◦ t) ◦ ϕ(t ◦ v ◦ t),azaz ϕ homomorfizmus. �

Az A = (A,X, δ) automata x ∈ X bemenő jelét beállító jelnek nevezzük,ha van olyan cx ∈ A állapot, hogy minden a ∈ A esetén δ(a, x) = cx. Ebbenaz esetben A nyilvánvalóan irányítható automata. Ha a (3.1)-ben defini-ált δx leképezés A egy permutációja, akkor x-t permutáció jelnek mondjuk.Speciálisan, ha δx = ιA, akkor x-et identikus jelnek hívjuk. Jelölje rendreXb, Xp, Xi az A automata beállító, permutáció ill. identikus jeleinek halma-zát. Nyilvánvalóan Xi ⊆ Xp. A κ : Xb → A függvényt, amelyre κ(x) = cxteljesül, beállító függvénynek nevezzük. Ha Xb 6= ∅ és X = Xi ∪Xb, akkor azA automatát beállító automatának nevezzük. Emlékeztetünk arra, hogy azA = (A,X, δ) automatát teljes beállító automatának neveztük, ha bármelya, b ∈ A és x ∈ X esetén δ(a, x) = δ(b, x) teljesül. Ez azt jelenti, hogy Aminden bemenő jele beállító jel, azaz Xb = X, vagyis minden teljes beállítóautomata beállító automata. Ha Xi = X, akkor pedig A-t diszkrétnek hív-tuk. Így minden diszkrét automata is beállító automata. Ha Xp = X, akkorA-t permutációautomatának nevezzük. A-véges permutációautomata karak-terisztikus félcsoportja állapothalmazának egy permutációcsoportja. Ebbőlkövetkezik, hogy minden A-véges permutációautomata reverzibilis, s így a2.4.Tétel szerint erősen összefüggő automaták direkt összege. Általában, haXp ∪ Xb = X, akkor pedig A permutáció-beállító automata. Így mindenbeállító és minden permutációautomata permutáció-beállító automata. Min-den csoportautomata permutáció-beállító automata. Ha Xi 6= ∅, Xb 6= ∅

171

Page 172: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

és Xi ∪ Xb = X, akkor A identikus-beállító automata. Látható, hogy min-den identikus-beállító automata egy permutáció-beállító automata. Ha Apermutáció-beállító automata, akkor a {δx;x ∈ Xp} halmaz, ha nemüres, ak-kor az S1(A) karakterisztikus monoid egy részcsoportját generálja. Jelöljükezt a részcsoportot Sp(A)-val. A (7.3) definíció szerint Sp(A) = {δq; q ∈ X∗p}.

A (19.4), (19.5) ill. (19.6) feltételekkel definiált kétállapotú erősen össze-függő automaták rendre permutáció-beállító, permutáció- ill. teljes beállítóautomaták. A Leticsevszkij és Gluskov kritériumok szerint ezek az automa-tatípusok jelentős szerepet játszanak az elmélet kiépítésében.

Legyen A = (A,X, δ) tetszőleges automata. Az A állapothalmaz részhal-mazainak egyM rendszerét A feletti halmazrendszernek hívjuk, ha

∪H∈MH = A.

Az M halmazrendszer triviális, ha minden H ∈ M esetén |H| = 1. AzM elemeit blokkoknak fogjuk nevezni. Ha A egy részhalmaza többször isszerepelM-ben, akkor ezeket jelölésben megkülönböztetjük egymástól, azazM-et halmaznak tekintjük. AH ∈M blokkot maximális blokknak mondjuk,ha minden H ′ ∈ M blokk esetén |H ′| ≤ |H|. Nyilvánvaló, hogy mindenmaximális blokk egyenlő számosságú. Ha az A automata A-véges, akkorbármely halmazrendszerének vannak maximális blokkjai. Azt mondjuk, hogyM az A automatának lefedő halmazrendszere, ha minden H ∈M blokkhozés x ∈ X bemenő jelhez van olyan H ′ ∈M blokk, hogy

(21.1) δ(H, x) = {δ(a, x); a ∈ H} ⊆ H ′.

Az M = (M, X, δ′) automatát az A automata M-faktorának nevezzük, haM az A automata egy lefedő halmazrendszere, továbbá minden H,H ′ ∈Més x ∈ X esetén

(21.2) δ′(H, x) = H ′ =⇒ δ(H, x) ⊆ H ′.

Bármely H ∈ M és p ∈ X∗ esetén legyen Hp = {ap; a ∈ H}. Így a (21.1)-ben definiált δ(H, x) halmaz írható Hx alakban is. Könnyen látható, hogyminden H ∈M és p ∈ X∗ párhoz van olyan H ′ ∈M, hogy Hp ⊆ H ′.

Vegyük észre, hogy a lefedő halmazrendszer fogalma a kompatibilis osztá-lyozás általánosítása. Ha ugyanisM az A állapothalmaz osztályozása, akkorM kompatibilis osztályozás. Lássuk be azt is, hogy egy M lefedő halmaz-rendszerhez, ha az nem kompatibilis osztályozás, többM-faktor is tartozhat,azaz egyM-faktor azM lefedő halmazrendszer által nincs feltétlenül egyér-telműen meghatározva.

172

Page 173: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

21.4 PéldaA 1 2 3 4 5 6 7 8x 6 8 5 3 5 4 6 7y 2 2 2 7 2 1 5 3

Tekintsük a H1{1, 2, 3}, H2 = {3, 5, 6, 8} és H3 = {2, 4, 5, 7} halmazokbólállóM halmazredszert. A

δ(H1, x) = {5, 6, 8} ⊆ H2, δ(H1, y) = {2} = H1 ∩H3,

δ(H2, x) = {4, 5, 7} ⊆ H3, δ(H2, y) = {1, 2, 3} = H1

δ(H3, x) = {3, 5, 6, 8} = H2, δ(H3, y) = {2, 5, 7} ⊆ H3

összefüggések mutatják, hogyM az A automata lefedő halmazrendszere. AzM-hez az A automata

B H1 H2 H3

x H2 H3 H2

y H1 H1 H3

C H1 H2 H2

x H2 H3 H2

y H3 H1 H3

M-faktorait tudjuk megszerkeszteni.

21.5 Tétel LegyenM az A = (A,X, δ) A-véges automata egy nemtriviálisvéges lefedő halmazrendszere. Ha M = (M, X, δM) az A automata egyM-faktora, akkor létezik olyan B = (B,X ′, δB) A-véges permutáció-beállítóautomata és A-nak olyan M′ = (M′, X, δM ′)M′-faktora, hogy teljesülnek akövetkező feltételek:(i) M′ az A olyan lefedő halmazrendszere, amely valódi finomításaM-nek;(ii) M′ homomorfan reprezentálható M és B szuperpozíciójával;(iii) Sp(B) az S1(A) karakterisztikus monoid egy részcsoportjának homomorfképe.

Bizonyítás. LegyenM az A = (A,X, δ) A-véges automata egy nemtriviálislefedő halmazrendszere és M = (M, X, δM) az A automata egyM-faktora.Mindenekelőtt megmutatjuk, hogy vanM maximális elemeinek olyanM ={H1, H2, . . . , Hm} halmaza, amely kielégíti a következő feltételeket:(1) Nincs olyan H ∈ M −M, hogy alkalmas Hi ∈ M és p ∈ X∗ párraHp = Hi teljesülne;(2) Bármely Hi, Hj ∈M párhoz létezik olyan p ∈ X∗, hogy Hip = Hj.Legyen e célból C az M halmazrendszer maximális elemeinek az az osz-tályozása, amelynél Hi és Hj akkor és csak akkor vannak ugyanabban aC-osztályban, ha vannak olyan p, q ∈ X∗, hogy Hip = Hj és Hjq = Hi. Defi-niáljuk a C-osztályok halmazán ≤ parciális rendezést úgy, hogy C[Hi] ≤ C[Hj]

173

Page 174: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

akkor és csak akkor, ha van olyan r ∈ X∗, hogy Hir = Hj. A ≤ parciálisrendezésre bármely minimális elem teljesíti az (1) és a (2) feltételeket. Le-gyen M = {H1, H2, . . . , Hm} egy tetszőleges minimális elem a ≤ parciálisrendezésre. Tekintsük minden Hi ∈ M elemre azoknak az Hp (p ∈ X∗)halmazoknak a H i halmazát, amelyekre H ∈ M és Hp ⊆ Hi. A p = eválasztással kapjuk, hogy Hi ∈ H i, azaz H i 6= ∅. Bővítsük ezután H i-t Hi

egyelemű részhalmazaival, és töröljük belőle Hi-t. Legyen végül H ′i az így ka-pott halmaz azon elemeinek halmaza, amelyek maximálisak a halmazelméletitartalmazásra.

HaM−M = {Hm+1, . . . , Hk}, akkor azM′ halmazrendszert úgy szár-maztatjuk M-ből, hogy Hm+1, . . . , Hk ∈ M′, és minden M-beli Hi elemetkicseréljük H ′i elemeivel. (Ha egy részhalmaz többször is előfordulM′ szer-kesztésekor, akkor azokat jelölésben megkülönböztetjük egymástól.) A szer-kesztésből látható, hogy M′ valódi finomítása M-nek. Megmutatjuk, hogyM′ az A automata lefedő halmazrendszere. Azt nem nehéz belátni, hogy∪H∈M′ = A. A M′ konstrukciójából látható, hogy bármely H ∈ M′ ésx ∈ X esetén Hx vagy egy (M−M)-beli blokk része, vagy pedig valódirésze egy M-beli blokknak. Ez a H ∈ M −M esetben a konstrukcióbólközvetlenül látható. Ha H ∈ H ′i, ahol Hi ∈ M, akkor H ⊂ Hi. Ezért vanolyan H ′ ∈ M, hogy Hx ⊂ Hix ⊆ H ′. Ha H ′ ∈ M−M, akkor H ′ ∈ M′.Ha pedig H ′ ∈ M, akkor H ′ = Hj, ahol j ∈ {1, 2, . . . ,m}. Így van olyanH ′′ ∈ H ′j, amelyre Hx ⊂ Hix ⊆ H ′′. (A Hx halmaz csak abban az esetbenlehetneM-beli blokk, ha H ∈M, azonban ezeket a blokkokat töröltük.)

Most megmutatjuk, hogy minden Hi ∈ M esetén H ′i ugyanannyi elemettartalmaz. Az egyszerűség kedvéért bármely p ∈ X∗ esetén jelöljük szinténp-vel A bármely nemüres A′ részhalmazára az a→ ap (a ∈ A′) leképezést. Le-gyen H ′i = {Hi1, Hi2, . . . , Hini} (i = 1, 2, . . . ,m). AzM definíciójából követ-kezik, hogy vannak olyan pij ∈ X∗, amelyekre Hipij = Hj (i, j = 1, 2, . . . ,m).Így Hipijpji = Hi. Mivel |Hi| = |Hj|, ezért pij-k bijekciók. Ez azt jelenti,hogy pijpji-k a Hi halmazok permutációi. A Hi halmazok végességéből követ-kezik, hogy vannak olyan kij pozitív egész számok, amelyekre (pijpji)

kij = ιHi .Ezért (pijpji)

kij−1pji Hi-nek Hj-re való leképezése. AM′ lefedő halmazrend-szer, ezért (pijpji)

kij−1pij minden His (s = 1, 2, . . . , ni}) blokkot leképez egyHjt (t ∈ {1, 2, . . . , nj} blokkba. Azonban

His = His(pijpji)n = (His(pijpji)

kij−1pij)pji ⊆ Hjtpji.

A pji leképezés Hj-t Hi-re képezi és M′ lefedő halmazrendszer, ezért vanolyan u ∈ {1, 2, . . . , ni}, hogy Hjtpji ⊆ Hiu. De a Hiv (v = 1, 2, . . . , ni)halmazok definíció szerint a halmazelméleti tartalmazásra maximálisak, ígyHis = Hiu = Hjtpji. Mivel pji bijekció, ebből kapjuk, hogy |His| = |Hjt|. De

174

Page 175: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(pijpji)kij−1pij is bijekció, ezért His(pijpji)

kij−1pij = Hjt. Legyen His′ 6= His.Az előzőek szerint (pijpji)

kij−1pij egy-egyértelműen képezi le His′-t egy Hjt′

blokkra. Mivel |His ∪ His′| > |His| = |Hjt|, ezért Hjt 6= Hjt′ . A Hi és Hj

blokkok szerepét felcserélve kapjuk, hogy ni = nj = n. Jelöljük át úgy ablokkokat, hogy

His = H1s(p1ipi1)k1i−1p1i i = 1, 2, . . . ,m, s = 1, 2, . . . , n.

Ebben az esetben

H1s = Hispi1 i = 1, 2, . . . ,m s = 1, 2, . . . , n.

Akkor

Hjs = H1s(p1jpj1)k1j−1p1j = (Hispi1)(p1jpj1)k1j−1p1j (j = 1, 2, . . . ,m).

Nyilvánvaló, hogy qij = pi1(p1jpj1)k1j−1p1j a Hi blokk egy bijektív leképezésea Hj blokkra és

Hisqij = Hjs (i, j = 1, 2, . . . ,m, s = 1, 2, . . . , n).

Az A automata M = (M, X, δM) M-faktora segítségével definiáljuk az Aautomata M′ = (M′, X, δM ′) M′-faktorát a következő módon:Legyenek Hi ∈M, x ∈ X tetszőlegesek és δM(Hi, x) = Hj.Ha 1 ≤ i, j ≤ m és Hix = Hj, akkor minden 1 ≤ s ≤ n esetén legyenδM ′(His, x) = Hisx. (Már láttuk, hogy ebben az esetben x a Hi blokk bijektívleképezése a Hj blokkra és van olyan Hjt (t ∈ {1, 2, . . . , n}), hogy Hisx =Hjt.) Ha Hix ⊂ Hj, akkor létezik olyan Hju (u ∈ {1, 2, . . . , n}), amelyreHix ⊆ Hju. Rögzítsünk az előbbi feltételt kielégítő Hju blokkok közül egyet,s legyen erre a rögzített Hju-ra δM ′(His, x) = Hju (s = 1, 2, . . . , n).Ha 1 ≤ i ≤ m és m < j ≤ k, akkor minden 1 ≤ s ≤ n esetén legyenδM ′(His, x) = Hj.Ha pedig m < i, j ≤ n, akkor legyen δM ′(Hi, x) = Hj.Végül, ha m < i ≤ n és 1 ≤ j ≤ m, akkor létezik olyan Hjv (v ∈{1, 2, . . . , n}), hogy Hix ⊆ Hjv. Ekkor legyen δM ′(Hi, x) = Hjv egy ilyenrögzített Hjv-re.A konstrukció alapján belátható, hogy M′ = (M, X, δM ′) az A automataM′-faktora.Definiáljuk az B = (B,X ′, δB) automatát az alábbi módon:Legyen B = {b1, b2, . . . , bn} tetszőleges halmaz. (Felhívjuk a figyelmet arra,hogy az n pozitív egész szám továbbra is megegyezik aH ′i halmazok elemeinekszámával.) Legyen továbbá X ′ = {(Hi, x);Hi ∈ M, x ∈ X}. Értelmezzüka g : M′ → B leképezést úgy, hogy minden His (i = 1, 2, . . . ,m, s =

175

Page 176: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

1, 2, . . . , n) esetén g(His) = bs teljesüljön. Ha pedig m < i ≤ k, akkor legyeng(Hi) = b1. Definiáljuk a δB függvényt a

δB(bs, (Hi, x)) = g(δM ′(His, x)) i = 1, 2, . . . ,m, s = 1, 2, . . . , n,

δB(bs, (Hi, x)) = g(δM ′(Hi, x)) i = m+ 1, . . . , k, s = 1, 2, . . . , n

összefüggések által. Tekintsük az M és a B automaták C = (M×B,X, δC)szuperpozícióját. Legyen

C ′ = {(Hi, bs); 1 ≤ i ≤ m, 1 ≤ s ≤ n} ∪ {(Hi, b1);m < i ≤ n}

és x ∈ X. Ha 1 ≤ i ≤ m és 1 ≤ s ≤ n, akkor

δC((Hi, bs), x) = (δM(Hi, x), δB(bs, (Hi, x))) = (Hj, g(δM ′(His, x))).

Ha 1 ≤ j ≤ m, akkor

g(δM ′(His, x)) = g(Hjt) = bt (t ∈ {1, 2, . . . , n}).

Ha pedig m < j ≤ n, akkor g(δM ′(His, x)) = g(Hj) = b1. Továbbá, ham < i ≤ n, akkor

δC((Hi, b1), x) = (δM(Hi, x), δB(b1, (Hi, x))) = (Hj, g(δM ′(Hi, x))).

Ha m < j ≤ k, akkor g(δM ′(Hi, x)) = g(Hj) = b1. Ha pedig 1 ≤ j ≤ m,akkor g(δM ′(Hi, x)) = g(Hjv) = bv. Ez azt jelenti, hogy C′ = (C ′, X, δC) a Cautomata részautomatája.

Legyen α : C ′ →M′ az

α(Hi, bs) = His i = 1, 2, . . . ,m, s = 1, 2, . . . , n,

α(Hi, b1) = Hi i = m+ 1 . . . , k

feltételekkel definiálva.Ha 1 ≤ i ≤ m, 1 ≤ s ≤ n és 1 ≤ j ≤ m, akkor

α(δC((Hi, bs), x)) = α(δM(Hi, x), δB(bs, (Hi, x))) = α(Hj, g(δM ′(His, x))) =

= α(Hj, g(Hjt)) = α(Hj, bt) = Hjt = δM ′(His, x) = δM ′(α(Hi, bs), x).

Ha 1 ≤ i ≤ m, 1 ≤ s ≤ n és m < j ≤ n, akkor

α(δC((Hi, bs), x)) = α(δM(Hi, x), δB(bs, (Hi, x))) = α(Hj, g(δM ′(His, x))) =

= α(Hj, g(Hj)) = α(Hj, b1) = Hj = δM ′(His, x) = δM ′(α(Hi, bs), x).

176

Page 177: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha m < i ≤ n és m < j ≤ n, akkor

α(δC((Hi, b1), x)) = α(δM(Hi, x), δB(b1, (Hi, x))) = α(Hj, g(δM ′(Hi, x))) =

= α(Hj, g(Hj)) = α(Hj, b1) = Hj = δM ′(Hi, x) = δM ′(α(Hi, b1), x).

Ha m < i ≤ n és 1 ≤ j ≤ m, akkor

α(δC((Hi, b1), x)) = α(δM(Hi, x), δB(b1, (Hi, x))) = α(Hj, g(δM ′(Hi, x))) =

= α(Hj, g(Hjv)) = α(Hj, bv) = Hjv =

= δM ′(Hi, x) = δM ′(α(Hi, b1), x).

Ez azt jelenti, hogy α a C′ automata homomorf leképezése M′-re.Azt kell még megmutatnunk, hogy B olyan permutáció-beállító automata,

amely teljesíti az (iii) feltételt. Egy (Hi, x) bemenő jel a B automatánakakkor és csak akkor permutáció jele, ha δM(Hi, x) = Hj, Hix = Hj és 1 ≤i, j ≤ m. Ugyanis ebben az esetben tetszőleges bs ∈ B állapotra

δB(bs, (Hi, x)) = g(δM ′(His, x)) = g(Hisx),

és a His → Hisx (s = 1, 2, . . . , n) megfeleltetés a H ′i halmaznak H ′j-re valóbijektív leképezése, továbbá, g is bijektív leképezése H ′j-nek B-re.

Megmutatjuk még, hogy minden más esetben a (Hi, x) bemenő jel beállítójel. Legyen δ(Hi, x) = Hj.

Ha Hix ⊂ Hj és 1 ≤ i, j ≤ m, akkor

δB(bs, (Hi, x)) = g(δM ′(His, x)) = g(Hju) = bu

egy rögzített u-ra.Ha 1 ≤ i ≤ m és m < j ≤ k, akkor minden 1 ≤ s ≤ n

δB(bs, (Hi, x)) = g(δM ′(His, x)) = g(Hj) = b1.

Ha m < i ≤ k és 1 ≤ j ≤ m, akkor

δB(bs, (Hi, x)) = g(δM ′(Hi, x)) = g(Hjv) = bv

egy rögzített v-re.Ha pedig m < i, j ≤ n, akkor legyen δM ′(Hi, x) = Hj.

δB(bs, (Hi, x)) = g(δM ′(Hi, x)) = g(Hj) = b1.

177

Page 178: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen (Hi, x) a B automata tetszőleges permutáció jele, azaz (Hi, x) ∈X ′p. Ez azt jelenti, hogy δM(Hi, x) = Hj, Hix = Hj, 1 ≤ i, j ≤ m és mindenbs ∈ B állapotra

δB(bs, (Hi, x)) = g(Hisx) = g(Hjv) = bv.

Akkor q1ixqj1 a H1 halmaz permutációja és

H1sq1ixqj1 = Hisxqj1 = Hjvqj1 = H1v,

azaz q1ixqj1 ugyanúgy permutáljaH ′1 elemeit, mint (Hi, x) a B elemeit. Teháta

δq1ixqj1 → (δB)(Hi,x) ((Hi, x) ∈ X ′p)

megfeleltetés a H ′1 halmaz {δq1ixqj1 ; (Hi, x) ∈ X ′p} által generált G permutá-ciócsoportjának Sp(B)-re való izomorf leképezése. A 21.3. Lemma szerint vanS1(A)-nak olyan részcsoportja, amelynek G homomorf képe. Megjegyezzük,hogy most egy automata karakterisztikus félcsoportját 7.2. Lemma alapjána (7.3) feltétellel definiált transzformációfélcsoportnak tekintettük. �

21.6 Tétel Minden A A-véges permutáció-beállító automata előállíthatóegy B A-véges permutációautomata és egy C A-véges beállító automataszuperpozíciójának homomorf képeként úgy, hogy az S1(B) karakterisztikusmonoid izomorf az S1(A) karakterisztikus monoid A permutáció jelei általgenerált Sp(A) részcsoportjával.

Bizonyítás. Legyen A = (A,X, δ) tetszőleges A-véges permutáció-beállítóautomata. Jelölje Xp az A permutáció jeleinek halmazát és Xb pedig Abeállító jeleinek halmazát. Akkor X = Xp ∪Xb. A fejezet elején már megje-gyeztük, hogy Sp(A) = {δq; q ∈ X∗p}.

Tekintsük a B = (Sp(A), X, δB) automatát, amelynek δB átmenetfüggvé-nye tetszőleges δq ∈ Sp(A), x ∈ X párra a

δB(δq, x) =

{δqx, ha x ∈ Xp,δq, ha x ∈ Xb

összefüggéssel van definiálva. Alkossuk meg a C = (A, Sp(A)×X, δC) auto-matát úgy, hogy tetszőleges a ∈ A és (δq, x) ∈ Sp(A)×X esetén

δC(a, (δq, x)) =

{a, ha x ∈ Xp,δ−1q (δ(a, x)), ha x ∈ Xb

teljesüljön. Világos, hogy B A-véges permutációautomata, C pedig A-végesbeállító automata.

178

Page 179: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megmutatjuk, hogy a ϕ(δq, a) = δq(a) (δq ∈ Sp(A), a ∈ A) leképezés a Bés C automaták D = (Sp(A)×A,X, δD) szuperpozíciójának az A automatáravaló homomorfizmusa. Minthogy minden a ∈ A állapotra δe(a) = a, ahol eaz üres szó, ezért ϕ szürjektív. Legyenek δq ∈ Sp(A) és x ∈ X tetszőlegeselemek. Akkor x ∈ Xp esetén nyerjük, hogy

ϕ(δD((δq, a), x)) = ϕ(δB(δq, x), δC(a, (δq, x))) = ϕ(δqx, a) =

= δqx(a) = aqx = δ(aq, x) = δ(δq(a), x) = δ(ϕ(δq, a), x).

Ha pedig x ∈ Xb, akkor

ϕ(δD((δq, a), x)) = ϕ(δB(δq, x), δC(a, (δq, x))) = ϕ(δq, δ−1q (δ(a, x))) =

= δq(δ−1q (δ(a, x))) = δ(a, x) = δ(aq, x) = δ(δq(a), x) = δ(ϕ(δq, a), x)

adódik. Ezzel megmutattuk, hogy ϕ homomorfizmus.Igazoljuk még, hogy S1(B) izomorf Sp(A)-val, mégpedig egy alkalmas

izomorfizmus az az

α : (δB)q → δq′ ((δB)q ∈ S1(B), δq′ ∈ Sp(A))

megfeleltetés, ahol q ∈ X∗ és q′ a q szóból úgy áll elő, hogy töröljük belőleaz Xb-beli betűket. Világos, hogy α szürjektív leképezés. Tegyük fel, hogy

δq′ = α((δB)q) = α((δB)r) = δr′ (q, r ∈ X∗).

A (7.3) definícióból következik, hogy minden s ∈ X∗p bemenő szóra δsq′ = δsr′ .Ezért (1.5) és (1.6) miatt a δB átmenetfüggvény definíciójából kapjuk, hogy

(δsq)B = δsq′ = δsr′ = (δsr)B,

azaz (δB)q = (δB)r, vagyis a ϕ leképezés bijektív. Bármely (δB)q, (δB)r ∈S1(B) párra

ϕ((δB)q ◦ (δB)r) = ϕ((δB)qr) = δ(qr)′ = δq′r′ =

= δq′ ◦ δr′ = ϕ((δB)q) ◦ ϕ((δB)r),

ami azt jelenti, hogy α izomorfizmus. �

21.7 Tétel Bármely A-véges beállító automata felbontható kétállapotú be-állító automaták szubdirekt szorzatára.

179

Page 180: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tekintsük az A = (A,X, δ) A-véges beállító automatát. Trivá-lis automatákra nyilvánvalóan igaz az állítás, ezért feltehetjük, hogy |A| ≥ 2.Legyen minden a ∈ A állapotra τ(a) az A automata (14.9) feltétellel meg-adott kongruenciája. Mivel A beállító automata, ezért bármely a ∈ A álla-potra két τ(a)-osztály van, mégpedig {a} és A − {a}. Ez alapján világos,hogy ∩a∈Aτ(a) = ιA. Az A/τ(a) (a ∈ A) faktorautomaták kétállapotú be-állító automaták. Legyen A = {a1, a2, . . . , an}. A 14.6. Tétel szerint Afelbontható A/τ(ai) (i = 1, 2, . . . , n) automaták egy szubdirekt szorzatára.�

A 21.7. Tétel szerint szubdirekt irreducibilis A-véges beállító automatáka legfeljebb kétállapotú beállító automaták. A szubdirekt szorzatok a direktszorzatok bizonyos részautomatái, ezért megfogalmazhatjuk az előbbi tételérdekes következményeit.

21.8 Következmény Bármely A-véges beállító automata izomorfan repre-zentálható kétállapotú beállító automaták direkt szorzatával.

Ha A = (A,X, δ) A-véges beállító automatát izomorfan reprezentálunkkétállapotú beállító automaták direkt szorzatával, akkor ezeknek a automa-táknak is X a bemenő halmaza. Ez azt jelenti, hogy az A-véges beállítóautomaták rendszerében nincs véges izomorfan teljes rendszer a direkt szor-zatra. Ez azt is jelenti, hogy ha csak véges beállító automatákra szorítkozunk,akkor is ugyanezt az eredményt kapjuk.

A 21.8. Következményből adódik, hogy a szubdirekt irreducibilis A-végesbeállító automaták az A-véges beállító automatáknak a direkt szorzatra izo-morfan teljes rendszere.

A kétállapotú beállító automaták rendszerében 5 különböző működésű,azaz nem izomorf redukált bemenetű automata van. Ha az állapotok halmaza{1, 2}, akkor ezek a következők:

D0 1 2x1 1 1x2 2 2x3 1 2

D1 1 2x1 1 1x2 2 2

D2 1 2x1 1 1x2 1 2

D3 1 2x1 1 1

D4 1 2x1 1 2

180

Page 181: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Utalunk arra, hogy a D1 (teljes) beállító automatát már a (19.6)-ban isdefiniáltuk. A D0 automatát flip-flop automatának, a D2 automatát pedig(kétállapotú) elevátornak is nevezik.

21.9 Tétel Minden A-véges beállító automata homomorfan reprezentálhatóa D0 kétállapotú beállító automata egy kvázidirekt hatványaként.

Bizonyítás. Legyen A = (A,X, δ) A-véges beállító automata. A 21.8. Kö-vetkezmény szerint A izomorfan reprezentálható kétállapotú beállító automa-ták egy kvázidirekt szorzatával. (Minden direkt szorzat kvázidirekt szorzat.)Az kvázidirekt szorzat asszociativitása miatt ezért elegendő a kétállapotúbeállító automatákra megmutatni az állítást.

Legyen először A = (A,X, δ) legalább három bemenő jeles kétállapotúbeállító automata. Feltehetjük, hogy A = {1, 2}. Definiáljuk a ϕ : X →X3 = {x1, x2, x3} leképezést úgy, hogy minden x ∈ X és xi ∈ X3 esetén

ϕ(x) = xi ⇐⇒ δ(1, x) = δ0(1, xi) és δ(2, x) = δ0(2, xi),

ahol δ0 a D0 automata átmenetfüggvénye. Nem nehéz belátni, hogy A meg-egyezik a D0[X,ϕ] egytényezős kvázidirekt szorzattal.

Legyen most A kétállapotú legfeljebb két bemenő jeles beállító automata.Ebben az esetben A izomorfiától eltekintve a Di (i = 1, 2, 3, 4) automatákvalamelyike. Jelöljük a Di automata átmenetfüggvényét δi-vel. Definiáljuka ϕ(i) függvényeket a következő módon:

ϕ(1)(x1) = x1, ϕ(1)(x2) = x2, ϕ(2)(x1) = x1, ϕ

(2)(x2) = x3,

ϕ(3)(x1) = x1, ϕ(4)(x1) = x3.

Látható, hogy a Di (i = 1, 2, 3, 4) automaták megegyeznek a D0 automataϕ(i) visszacsatolási függvényekkel megadott egytényezős kvázidirekt szorza-taival. �

A 21.9. Tétel bizonyítása szerint {D0} az A-véges beállító automatákegyelemű homomorfan teljes rendszere a kvázidirekt szorzatra, s ezzel együttaz α0-szorzatra is. Ebből kapjuk, hogy az A-véges beállító automatáknak vanvéges, s így minimális homomorfan teljes rendszere a kvázidirekt szorzatra,s így az α0-szorzatra is.

Nemtriviális beállító automata karakterisztikus monoidja egy jobbzérófélcsoportból egységelem adjungálásával kapott félcsoport. Jelöljük Ui-vel azi elemű jobbzéró félcsoportot. Könnyen belátható, hogy kételemű beállítóautomaták karakterisztikus monoidja U1, U1

1 vagy U12 , ahol Ui (i = 1, 2)

az i elemű jobbzéró félcsoport. A D0 automata karakterisztikus monoidjanyilvánvalóan izomorf az U1

2 monoiddal.

181

Page 182: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

21.10 Lemma Ha U1i félcsoport egy S véges félcsoport homomorf képe, ak-

kor U1i izomorf S egy részfélcsoportjával.

Bizonyítás. Legyen Ui = {u0, u1, . . . , ui} és ui az U1i monoid egységele-

me, továbbá ϕ : S → U1i egy alkalmas homomorfizmus. Az uk ∈ U1

i (k =0, 1, 2, . . . i) elemekre alkossuk meg az S {Tk = ϕ−1(uk); k = 0, 1, . . . , i} kom-patibilis osztályozását. Világos, hogy Ti = ϕ−1(ui) az S félcsoport egy rész-félcsoportja. Ha ti az Ti egy idempotens eleme, akkor tiSti részfélcsoportjaS-nek és ti az tiSti egységeleme. Akkor

ϕ(tiSti) = ϕ(ti)ϕ(S)ϕ(ti) = ϕ(S) = U1i ,

vagyis ϕ tiSti-t U1i -re képezi le. Legyen S ′i az tiSti olyan minimális részfélcso-

portja, amelyre Ui ⊆ ϕ(S ′i). Akkor bármely s ∈ S ′i elemre sS ′i az S ′i, s így tiStirészfélcsoportja, továbbá ϕ(sS ′i) = ϕ(s)ϕ(S ′i) ⊇ uiUi = Ui. Az S ′i minimalitá-sa miatt sS ′i = S ′i. Nyilvánvaló, hogy S ′i∩Tk 6= ∅ (k = 0, 1, . . . , i−1) és S ′i∩Tkaz S egy részfélcsoportja. Tekintsük most a vk ∈ S ′i ∩ Tk (k = 0, 1, . . . , i− 1)idempotens elemeket. Akkor van olyan wkl ∈ S ′, hogy vkwkl = vl, s ígyvkvkl = vkvkwkl = vkwkl = vl. Következésképpen {v0, v1, . . . , vi−1, ti} az S-nek U1

i -vel izomorf részfélcsoportja. �Tekintsünk egy G csoportot, s legyen N normális részcsoport G-ben. De-

finiáljuk a G/N = (G/N,G, δG/N) automata δG/N átmenetfüggvényét a

(21.3) δG/N(Ng, h) = Ngh (Ng ∈ G/N, h ∈ G)

feltétellel. Mivel egy csoport kompatibilis osztályozásai megegyeznek nor-mális részcsoportjai szerinti osztályozásokkal, ezért (21.3) definíció csopor-tokra megegyezik a (8.8) definícióval. Legyenek továbbá G = (G,G, δG) ésN = (N,N, δN) a (8.6) összefüggéssel definiált csoportautomaták.

21.11 Tétel Ha N a G véges csoport egy normális részcsoportja, akkora G csoportautomata a G/N automata és az N csoportautomata egy α0-szorzatának homomorf képe, továbbá S1(G/N) ∼= G/N és S1(N) ∼= N .

Bizonyítás. Legyen N = {h1, h2, . . . , hn} és G/N = {Ng1, Ng2, . . . Ngm}(g1, g2, . . . , gm ∈ G), ahol g1 a G csoport egységeleme. Tekintsük az (G/N)×N[G,ϕ] = ((G/N) × N,G, δ) α0-szorzatot, ahol a (18.1)-beli ϕk (k = 1, 2)visszacsatolási függvényeket értelmezzük a következő módon: Legyen ϕ1 =ιG. A ϕ2 : (G/N) × G → N pedig minden Ngi (i = 1, 2, . . . ,m) és g ∈ Gesetén teljesítse a ϕ2(Ngi, g) = gigg

−1u feltételt, ahol δG/N(Ngi, g) = Ngu,

azaz Ngig = Ngu (u ∈ {1, 2, . . . ,m}). A ϕ2 visszacsatolási függvény nyilván-valóan jól definiált, mivel minden gi, g ∈ G párhoz egyetlen ilyen gu tartozikés gigg−1

u ∈ N .

182

Page 183: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megmutatjuk, hogy az

α(Ngi, hj) = hjgi (i = 1, 2, . . . ,m, j = 1, 2, . . . , n)

egyenlőséggel értelmezett α : (G/N) × N → G megfeleltetés a (G/N) ×N[G,ϕ] α0-szorzatnak a G csoportautomatára való homomorfizmusa. MivelG/N a G egy osztályozása, ezért α szürjektív leképezés. Legyenek Ngi ∈G/N, hj ∈ N és g ∈ G tetszőlegesek. Akkor

α(δ((Ngi, hj), g)) = α(δG/N(Ngi, g), δN(hj, gigg−1u )) = α(Ngu, hjgigg

−1u ) =

= hjgigg−1u gu = hjgig = δG(hjgi, g) = δ(α(Ngi, hj), g),

azaz α homomorfizmus.Az S1(G/N) ∼= G/N és az S1(N) ∼= N állítások közvetlenül adódnak a

8.4. Tételből ill. a 8.1. Lemmából. �

21.12 Lemma Ha a G′ egyszerű csoport a G csoport homomorf képe és Na G csoport egy normális részcsoportja, akkor G′ az N és G/N csoportokvalamelyikének homomorf képe.

Bizonyítás. Jelölje ϕ a G csoport egy homomorf leképezését a G′ egyszerűcsoportra. Ha N a G egy normális részcsoportja, akkor ϕ(N) ugyancsaknormális részcsoportja G′-nek. Így G′ egyszerűsége miatt ϕ(N) = G′ vagyϕ(N) = {e′}, ahol e′ a G′ egységeleme. A ϕ(N) = G′ esetben készen vagyunkbizonyítással.

Megmutatjuk, hogy ϕ(N) = {e′} esetén G′ a G/N homomorf képe.Tekintsük ehhez azt a ψ : G/N → G′ megfeleltetést, amely tetszőlegesNg ∈ G/N mellékosztályra a ψ(Ng) = ϕ(g) egyenlőséggel van értelmez-ve. Ha g1, g2 ∈ G elemekre Ng1 = Ng2 teljesül, akkor g1g

−12 ∈ N és így

ϕ(g1g−12 ) = e′, tehát ϕ(g1)ϕ(g2)−1 = e′, vagyis ϕ(g1) = ϕ(g2). Ezzel megmu-

tattuk, hogy ψ leképezés. Világos, hogy ψ szürjektív. Végül, a

ψ(NgNh) = ψ(Ngh) = ϕ(gh) = ϕ(g)ϕ(h) = ψ(Ng)ψ(Nh) (g, h ∈ G)

számolás mutatja, hogy ψ homomorfizmus. �

21.13 Lemma Ha G a G1 és G2 csoportok G1×G2 direkt szorzatának rész-csoportja, akkor van a G-nek olyan N normális részcsoportja, amely izomorfG1 egy részcsoportjával és G/N pedig izomorf G2 egy részcsoportjával.

Bizonyítás. Jelölje e2 a G2 egységelemét. Könnyen belátható, hogy az N ={(g1, e2); (g1, e2) ∈ G} halmaz olyan normális részcsoportja G-nek, amelyizomorf G1 egy részcsoportjával. Képezzük most a G/N faktorcsoportot és

183

Page 184: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

tekintsük azt a ϕ : G/N → G2 megfeleltetést, amely tetszőleges G/N -beliN(g1, g2) mellékosztályhoz a g2 elemet rendeli. De N(g1, g2) = N(h1, h2)akkor és csak akkor, ha

(g1, g2)(h1, h2)−1 = (g1, g2)(h−11 , h−1

2 ) = (g1h−11 , g2h

−12 ) ∈ N.

Ez akkor és csak akkor teljesül, ha g2h−12 = e2, azaz g2 = h2, tehát a ϕ meg-

feleltetés egy-egyértelmű leképezés. Emellett világos, hogy homomorfizmus,így G/N faktorcsoport valóban izomorf G2 egy részcsoportjával. �

A direkt szorzat asszociativitása miatt a következő lemma bármely végestényezős direkt szorzatra is érvényes.

21.14 Lemma Ha a G egyszerű csoport a G1 és G2 csoportok G1×G2 direktszorzata valamely részcsoportjának homomorf képe, akkor G előállítható G1

vagy G2 egy részcsoportjának homomorf képeként.

Bizonyítás. LegyenH a G1×G2 olyan részcsoportja, amelynek G homomorfképe. A 21.13. Lemma szerint van a H-nak olyan N normális részcsoportja,amely izomorf G1 egy részcsoportjával és H/N izomorf G2 egy részcsoport-jával. Mivel G egyszerű csoport, ezért a 21.12. Lemma szerint N -nek vagyH/N -nek homomorf képe. �

21.15 Tétel (Krohn–Rhodes tétel) Minden A-véges A automata homomor-fan reprezentálható a D0 kétállapotú beállító automata és olyan véges egysze-rű csoportautomaták véges tényezős α0-szorzatával, amelyek karakterisztikuscsoportjai az S1(A) karakterisztikus monoid bizonyos részcsoportjainak ho-momorf képei.

Megfordítva tegyük fel, hogy az A-véges A automata homomorfan repre-zentálható az Ak (k = 1, 2, . . . , n) véges automaták egy α0-szorzatával. Ha aG véges egyszerű csoport S1(A) valamely részcsoportjának homomorf képe,akkor van olyan 1 ≤ i ≤ n, hogy G az S1(Ai) egy részcsoportjának homomorfképe. Hasonlóan, ha a H monoid izomorf az U1

2 monoiddal és S1A valamelyrészfélcsoportjának homomorf képe, akkor van olyan 1 ≤ j ≤ n, hogy Hizomorf S1(Aj) egy részfélcsoportjával.

Bizonyítás. Legyen A = (A,X, δ) tetszőleges A-véges automata. Ha|A| = 1 akkor az állítás triviálisan teljesül, mivel minden automata egyegytényezős α0-szorzat. Tegyük fel ezért, hogy |A| > 1, és jelölje M1 azA automatának azt a nemtriviális lefedő halmazrendszerét, amely egyetlenblokkból áll, azaz legyen M1 = {A}. Az A automata M1 = (M1, X, δM1)M1-faktora triviális automata, ezért izomorf egy triviális B1 csoportautoma-tával, amelyre S1(B1) = Sp(B1) izomorf az S1(A) karakterisztikus monoidegységcsoportjával. A 21.5. Tétel szerint létezik az A automatának olyan

184

Page 185: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

M2 lefedő halmazrendszere, amely valódi finomításaM1-nek, továbbá olyanB2 véges permutáció-beállító automata és A-nak olyan M2M2-faktora, hogyM2 homomorfan reprezentálható B1 és B2 szuperpozíciójával, azaz egy α0-szorzatával. Ezenkívül Sp(B2) az S1(A) karakterisztikus monoid egy rész-csoportjának homomorf képe.

HaM2 az A automata nemtriviális lefedő halmazrendszere, akkor alkal-mazzuk a 21.5. TételtM1 helyettM2-re. Ha M2 az A előző lépésben defini-áltM2-faktora, akkor van az A automatának olyanM3 lefedő halmazrend-szere, amely valódi finomításaM2-nek, valamint olyan B3 véges permutáció-beállító automata és A-nak olyan M3 M3-faktora, hogy M3 homomorfanreprezentálható M2 és B3 szuperpozíciójával, azaz egy α0-szorzatával, továb-bá Sp(B3) az S1(A) karakterisztikus monoid egy részcsoportjának homomorfképe.

Ebből az α0-szorzat asszociativitása miatt könnyen adódik, hogy M3 ho-momorfan reprezentálható a B1, B2 és B3 véges permutáció-beállító auto-maták egy α0-szorzatával.

Ismételjük meg az eljárást addig, amig az A automataMn triviális lefe-dő halmazrendszeréhez nem jutunk. Vegyük A egy Mn Mn-faktorát. Kap-juk, hogy Mn homomorfan reprezentálható olyan B1, B2, . . . , Bn végespermutáció-beállító automaták egy α0-szorzatával, hogy a Sp(B1), Sp(B2),. . . , Sp(Bn) csoportok az S1(A katakterisztikus monoid bizonyos részcsoport-jainak homomorf képei. MivelMn egyelemű blokkokból áll. ezért A az Mn

automata homomorf képe, ezért A is reprezentálható homomorfan ezeknekaz automatáknak egy α0-szorzatával.

A 21.6. Tétel szerint mindegyik Bi (i = 1, 2, . . . , n) automata előállíthatóegy Ci véges permutációautomata és egy Ei véges beállító automata szuper-pozíciójának homomorf képeként úgy, hogy S1(Bi) karakterisztikus csoportizomorf Sp(Bi)-vel. Ebből kapjuk, hogy az A automata homomorfan repre-zentálható E1,E2, . . . ,En véges beállító automaták és olyan C1,C2, . . . ,Cn

véges permutációautomaták egy alkalmas sorrendben vett α0-szorzatával,amelyek karakterisztikus csoportjai az S1(A) bizonyos részcsoportjáinak ho-momorf képei.

Ha a Bi automaták Bi = (Bi, Xi, δi) (i = 1, 2, . . . , n) alakúak, akkor a21.6. Tétel bizonyítása szerint Ci-k megadhatók Ci = (GiXi, δ

′i) alakban,

ahol Gi = Sp(Bi) és

δ′i((δi)q, x) =

{(δi)qx, ha x ∈ (Xi)p,(δi)q, ha x ∈ (Xi)b

Tekintsük a Gi(Gi, Gi, δGi) csoportautomatákat. A Ci automaták meg-egyeznek azokkal az egytényezős Gi[Xi, ϕ

(i)] α0-szorzatokkal, amelyeknél a

185

Page 186: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ϕ(i) : Gi ×Xi → Gi visszacsatolási függvények tetszőleges (δi)q ∈ Gi, x ∈ Xi

párra

ϕ(i)((δi)q, x) =

{(δi)x, ha x ∈ (Xi)p,(δi)e, ha x ∈ (Xi)b

összefüggéssel van értelmezve, ahol e az üres szó. A 8.5. Tétel szerint S1(Gi)karakterisztikus csoportok izomorfak a Gi csoportokkal.

Összefoglalva, az eddigiek során azt kaptuk, hogy A homomorfan repre-zentálható az E1,E2, . . . ,En véges beállító automaták és a G1,G2, . . . , Gn

véges csoportautomaták egy alkalmas α0-szorzatával úgy, hogy minden Gi

karakterisztikus csoport homomorf képe S1(A) valamely részcsoportjának.Legyenek Ni-k a Gi véges csoportok maximális normális részcsoportjai.

Akkor a Gi/Ni faktorcsoportok egyszerű csoportok. A 21.11. Tétel szerinta Gi csoportautomaták a Gi/Ni és az Ni csoportautomaták α0-szorzatainakhomomorf képei, továbbá S1(Gi/Ni) ∼= Gi/Ni és S1(Ni) ∼= Ni. Nem nehézbelátni, hogy a Gi/Ni automaták megegyeznek a Gi/Ni = (Gi/Ni, Gi/Ni, δi)egyszerű csoportautomatákból a Gi halmazokkal és azokkal a ψi) : (Gi/Ni)×Gi → Gi/Ni visszacsatolási függvényekkel képezett Gi/Ni[Gi, ψ

(i)] egyté-nyezős α0-szorzatokkal, amelyeknél tetszőleges Nig ∈ Gi/Ni, h ∈ Gi párraψ(i)(Nig, h) = Nih teljesül.

Azokkal az Ni csoportokkal, amelyek nem egyszerűek, ismételjük meg azelőbbi eljárást Gi-k helyett az Ni csoportokkal. Folytassuk ezt mindaddig,amig egyszerű részcsoporthoz jutunk. Ezzel nyerjük, hogy a Gi csoportau-tomaták mindegyike homomorfan reprezentálható olyan egyszerű csoportau-tomaták α0-szorzatával, amelyek karakterisztikus csoportjai S1(A) bizonyosrészcsoportjainak homomorf képei.

Másrészt a 21.9. Tétel szerint a Ei véges beállító automaták mindegyi-ke homomorfan reprezentálható D0 kétállapotú beállító automaták egy α0-hatványával. (Minden direkt szorzat α0-szorzat.) Végül az 19.6. Lemma ésα0-szorzat asszociativitásának felhasználásával adódik a tétel első részénekállítása.

Most megmutatjuk, hogy ha az A-véges A = (A,X, δ) automata homo-morfan reprezentálható az Ak = (Ak, Xk, δk) (k = 1, 2, . . . , n) véges automa-

ták egy B = (B,X, δ′) =n∏k=1

Ak[X,ϕ] α0-szorzatával, és a G véges egyszerű

csoport S1(A) valamely részcsoportjának homomorf képe, akkor van olyan1 ≤ i ≤ n, hogy G az S1(Ai) egy részcsoportjának homomorf képe. Hason-lóan, ha a H monoid izomorf az U1

2 monoiddal és S1(A) valamely részfél-csoportjának homomorf képe, akkor van olyan 1 ≤ j ≤ n, hogy H izomorfS1(Aj) egy részfélcsoportjával. A karakterisztikus monoidokat továbbra is a7.2. Lemmában megadott transzformációfélcsoportoknak tekintjük.

186

Page 187: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 7.11. és 7.8. Tételek szerint S1(A) az S1(B)-nek homomorf képe, ezérta 21.1. és a 21.10. Lemmát felhasználva kapjuk, hogy G S1(B) valamely G′részcsoportjának homomorf képe ill. U1

2 izomorf S1(B) egy részfélcsoportjá-val.

Ha n = 1, akkor A az A1 egy részautomatájának homomorf képe, ezértaz állítások nyilvánvalóan igazak.

Tegyük fel, hogy n = 2. Először megadjuk S1(B) elemeit. Az egységelemδ′e = ((δ1)e, (δ2)e), ahol e az üres szó. Ha q ∈ X+, akkor a ϕk (k = 1, 2)visszacsatolási függvények (17.7) kiterjesztését figyelembe véve (17.10) szerintS1(B) (7.3)-ban definiált δ′q elemére minden (a1, a2) ∈ B esetén

δ′q(a1, a2) = ((a1, a2)q)B = ((a1ϕ1(q))A1 , (a2ϕ2(a1, q))A2) =

= ((δ1)ϕ1(q), (δ2)ϕ2(a1,q))(a1, a2)

teljesül. Vagyisδ′q = ((δ1)ϕ1(q), (δ2)ϕ2(a1,q)).

Mivel (17.7) szerint, ha q = x1x2 . . . xl (x1, x2, . . . , xl ∈ X, akkor ϕ1(q) =ϕ1(x1)ϕ1(x2) . . . ϕ1(xl), ezért ϕ1 X

+ homomorf leképezése X+1 -ba.

A 21.2. Lemma szerint B-nak van olyan B′ részhalmaza, hogy G′ ele-meinek B′-re való leszűkítése az B′ egy olyan permutációcsoportját alkotják,amelyik izomorf G′-vel. Jelöljük ezt a permutációcsoportot is az egyszerűségkedvéért G′-vel, s jelöljük a B = A1 × A2 Descartes szorzat k-adik projek-cióját πk-val (k = 1, 2)). Legyen Ck = πk(B

′) (k = 1, 2). Jelölje G′1 a G′csoport azon g elemeinek halmazát, amelyek a B′ elemeit úgy permutálják,hogy első komponensüket változatlanul hagyják, azaz amelyekre π1g = ιC1 .Könnyen belátható, hogy G′1 a G′ normális részcsoportja és emellett bármelyq, r ∈ X∗ esetén az S1(B)-beli δ′q és δ′r elemek pontosan akkor esnek ugyan-abba a G′1-szerinti mellékosztályba, ha (δ1)ϕ1(q) = (δ1)ϕ1(r) teljesül. Mivel ϕ1

X+ homomorf leképezése X+1 -ba, ezért S ′ = {(δ1)ϕ1(q); q ∈ X∗} az S1(A1)

egy részfélcsoportja. Nem nehéz belátni, hogy S ′ izomorf a G′/G′1 faktorcso-porttal.

Ha η a G′ csoport homomorf leképezése G-re, akkor η(G′1) a G csoportnormális részcsoportja. Mivel G egyszerű, ezért η(G′1) = G vagy η(G′1) aG egységeleme. Ha η(G′1) a G egységeleme, akkor G a G′/G′1 faktorcsoporthomomorf képe, s így S1(A1) egy részcsoportjának homomorf képe (21.12.Lemma).

Tegyük fel, hogy η(G′1) = G. Tekintsünk most egy tetszőleges c ∈ C1

elemet, s legyen d1, d2, . . . , dt az összes olyan C2-beli elem, amelyre (c, di) ∈B′ (i = 1, 2, . . . , t). Akkor tetszőleges δ′q ∈ G′1 esetén kapjuk, hogy

δ′q(c, di) = (c, (δ2)ϕ2(c,q)(di)),

187

Page 188: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

tehát az S1(B)-beli δ′q elem ugyanúgy permutálja a {(c, d1), (c, d2), . . . , (c, dt)}halmazt, mint az S1(A2)-beli (δ2)ϕ2(c,q) a {d1, d2, . . . , dt} halmazt. Jelöl-je Gc az S1(A2) karakterisztikus monoid azon részcsoportját, amelyet azoka (δ2)ϕ2(c,q) elemek generálnak, amelyekre δ′q ∈ G′1 teljesül. Legyen C1 ={c1, c2, . . . , cs} és tekintsük a Gc1 , Gc2 , . . . , Gcs csoportokat. A

((δ2)ϕ2(c1,q), (δ2)ϕ2(c2,q), . . . , (δ2)ϕ2(cs,q))→ δ′q (δ′q ∈ G′1)

leképezés a Gc1 × Gc2 × · · · × Gcs direkt szorzat egy részcsoportjának G′1-revaló homomorfizmusa. A 7.2. Lemma szerint ugyanis minden q, r ∈ X∗ párra

((δ2)ϕ2(ci,qr) = (δ2)ϕ2(ci,q)ϕ2((ciq)A2,r) =

= (δ2)ϕ2(ci,q) ◦ (δ2)ϕ2(ci,r).

De G = η(G′1), ezért a 21.14. Lemma szerint G előállítható valamely Gci (1 ≤i ≤ s} részcsoportjának homomorf képeként, s így S1(A2) egy részcsoportjá-nak homomorf képeként.

Foglalkozzunk most azzal az esettel, amikor U12 izomorf S1(B) egy rész-

félcsoportjával. Legyen {δ′q, δ′r, δs} az S1(B)-nek U12 félcsoporttal izomorf

részfélcsoportja. Legyen U12 = {u0, u1, u2}, ahol u2 az egységelem. Legyen

továbbá azα(δ′q) = u0, α(δ′r) = u1, α(δ′s) = u2

egyenletekkel definiált α leképezés izomorfizmus. Minthogy δ′q 6= δ′r, ezértlétezik olyan (a1, a2) ∈ B állapot, hogy

((a1, a2)s)B = (a1, a2),

((a1, a2)q)B = (b1, b2) 6= (c1, c2) = ((a1, a2)r)B,

és((a1, a2)q)B = ((a1ϕ1(q))A1 , (a2ϕ2(a1, q))A2),

((a1, a2)r)B = ((a1ϕ1(r))A1 , (a2ϕ2(a1, r))A2).

Világos, hogy b1 6= c1 esetén az S1(A1) félcsoport {(δ1)q, (δ1)r, (δ1)s} részfél-csoportja izomorf az U1

2 félcsoporttal. Ha pedig b1 = c1, akkor szükségképpenb2 6= c2 és ekkor, mint némi számolással belátható, hogy S1(A2) félcsoport

{(δ2)ϕ2(b1,q), (δ2)ϕ2(b1,r), (δ2)ϕ2(b1,s)}

részfélcsoportja izomorf U12 félcsoporttal. Ezzel a tétel második részének

bizonyítását n = 2 esetre befejeztük.Ha n > 2, akkor az α0-szorzat asszociativitása miatt például n szerinti

indukcióval fejezhető be a bizonyítás. �

188

Page 189: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Mielőtt a Krohn–Rhodes tétel egy másik alakját megadnánk, néhány meg-jegyzést teszünk. Egy csoportautomata részautomatáin a részcsoportauto-matáit, homomorfizmusai alatt pedig a csoport homomorfizmusait fogjukérteni. Ha a G csoportautomata a G′ csoportautomata egy részcsoportau-tomatájának homomorf képe, akkor azt mondjuk, hogy G homomorfan rep-rezentálható G′-vel. Most megadjuk a Krohn–Rhodes tétel egy ekvivalensalakját:

21.16 Tétel Jelölje K az összes véges egyszerű csoportautomatából vala-mint a D0 kétállapotú beállító automatából álló rendszert és legyen A tet-szőleges A-véges automata. Legyen továbbá G1, G2, . . . , Gn az összes olyanegyszerű csoport, amely előállítható az S1(A) karakterisztikus monoid vala-mely részcsoportjának homomorf képeként. Akkor A homomorfan reprezen-tálható a G1,G2, . . . ,Gn egyszerű csoportautomaták és a D0 automata egyvéges tényezős α0-szorzatával.

Megfordítva, minden K-beli B automata K-beli automaták véges ténye-zős α0-szorzatával való homomorf reprezentációjában szükségképpen fel kelllépnie olyan Bi komponensnek, amely homomorfan reprezentálja B-t, haB = D0, akkor a komponensek között D0-nak is elő kell fordulnia.

Bizonyítás. Az első állítás nyilvánvalóan következik a 21.15. Tétel elsőállításából.

A második állítás bizonyításához tegyük fel először, hogy B = D0. Ezaz eset következik a 21.15. Tétel első részének állításából, mivel az U1

2 -nekcsak triviális csoport homomorf képe van, s ezért bármely K-beli automatákα0-szorzatával való homomorf reprezentáciájában csak triviális csoportauto-maták szerepelhetnek.

Legyen B 6= D0. Ebben az esetben B = G véges egyszerű csoport-automata, amelynek karakterisztikus csoportja G. A 21.15. Tétel máso-dik állításából következik, hogy G bármely bármely K-beli automaták α0-szorzatával való homomorf reprezentáciájában van olyan Bi komponens, hogyG az S1(Bi) egy részcsoportjának homomorf képe. Ha Bi = D0, akkor Gcsak az egységcsoport lehet. Ebben az esetben G nyilvánvalóan előállíthatóD0 egytényezős α0-szorzata egy homomorf reprezentációjaként. Ha Bi 6= D0,akkor Bi = G′ véges egyszerű csoportautomata, amely saját magának egyté-nyezős α0-szorzata, és G a G′ egy G′′ részcsoportjának homomorf képe. Ha αegy alkalmas homomorfizmus, akkor G a G′′ csoportautomatának homomorfképe. �

A 21.16. Tételből kapjuk, hogy véges egyszerű csoportautomatákból és aD0 automatából álló K rendszer az A-véges automaták, speciálisan a végesautomaták egy homomorfan α0-teljes rendszere. Nyilvánvalóan elegendő az

189

Page 190: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

egymással nem izomorf véges egyszerű csoportautomatákat tekinteni. Mivelegy véges egyszerű csoport elemeinek száma akármilyen nagy lehet, ezért K-ból nem lehet kiválasztani véges homomorfan α0-teljes rendszert. A tételbőlaz is következik, hogy a véges automatáknak minden homomorfan α0-teljesrendszerének tartalmaznia kell véges egyszerű csoportautomatákat és a D0

automatát, ezért a véges [A-véges] automatáknak nincs véges homomorfanα0-teljes rendszere, s így nincs véges izomorfan α0-teljes rendszere sem. A19.6. Lemmából következik, hogy a véges automatáknak K nem minimálishomomorfan α0-teljes rendszere. Ugyanis, ha egy G véges egyszerű csoport-automata egy G′ véges egyszerű csoportautomata valamely valódi részcso-portautomatájának homomorf képe, akkor G-t elhagyva K-ból ismét a végesautomaták egy homomorfan α0-teljes rendszerét kapjuk.

A következő fejezetben megmutatjuk, hogy az A-véges automatáknak vanminimális homomorfan teljes rendszere az α0-szorzatra.

Feladat21.1. A véges beállító automatáknak az direkt szorzatra van minimális izomorfanteljes rendszere.

22. Homomorfan α0-teljes rendszerekElőször megadjuk az automatáknak egy önmagában is érdekes K osztályát,amelynek elemei három bemenő jeles automaták és minden n(> 1) állapotúautomata homomorfan reprezentálható legfeljebb n állapotú K-beli automa-ták egy véges tényezős α0-szorzatával.

Egy automatát (n állapotú) standard automatának nevezünk, ha izomorfaz A = (A,X, δ) automatával, ahol A = [n] (n > 1), X = {x1, x2, x3}, x3

identikus jel és

δ(k, x1) = k + 1 (1 ≤ k < n), δ(n, x1) = 1,

δ(1, x2) = 2, δ(2, x2) = 1, δ(k, x2) = k (3 ≤ k ≤ n).

Nyilvánvaló, hogy minden standard automata erősen összefüggő permutáció-automata. Az n állapotú standard automata karakterisztikus félcsoportja,amely egyben a karakterisztikus monoid is, az [n] állapothalmaz Sn teljespermutációcsoportja, amelynek az (7.3)-ban definiált δx1 és δx2 egy generá-torrendszerét alkotják.

190

Page 191: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Egy automatát (n állapotú) számlálónak hívunk, ha izomorf az A =([n], {x}, δ) automatával, ahol

(22.1) δ(k, x) = k + 1 (1 ≤ k < n), δ(n, x) = 1.

Azt mondjuk, hogy egy automata (n állapotú) általánosított számláló, haizomorf az A = ([n], X, δ) automatával, ahol (22.1) minden x ∈ X bemenőjelre teljesül. Az n állapotú általánosított számlálók permutációautomatákés egymással bemenet-izomorfak, ha bemenő halmazaik ekvivalensek. Karak-terisztikus csoportjuk, amely karakterisztikus monoid is, az n elemű ciklikuspermutációcsoport.

Az A n állapotú standard automatának az A′ = (A, {x1}, δ) számlá-ló X-részautomatája, azaz A′ megegyezik A egytényezős A[{x1}, ι{x1}] α0-szorzatával.

22.1 Lemma Bármely n > 1 és k pozitív egész számra az nk állapotú szám-láló homomorfan reprezentálható az n állapotú standard automata egy α0-hatványával.

Bizonyítás. Legyen n > 1 és k pozitív egész számra A = ([nk], {x}, δ)számláló. Ha k = 1, akkor A izomorf egy n állapotú standard automataegytényezős α0-hatványával.

Tegyük fel, hogy k > 1. Az α0-szorzat asszociativitása miatt a 19.6.Lemma szerint elegendő megmutatni, hogy A homomorfan reprezentálha-tó egy nk−1 állapotú számláló és az n állapotú standard automata egy α0-szorzatával.

Legyen B = ([nk−1], {x}, δ′) számláló és C = ([n], {x1, x2, x3}, δ′′) stan-dard automata. Tekintsük a D = (D, {x}, δD) = B×C[{x}, ϕ] α0-szorzatot,ahol a (18.1)-beli visszacsatolásai függvényekre teljesüljenek a

ϕ1(x) = x, ϕ2(j, x) = x3 (1 ≤ j < nk−1), ϕ2(nk−1, x) = x1

feltételek. Akkor minden 1 ≤ j < nk−1 és 1 ≤ l ≤ n párra

δD((j, l), x) = (δ′(j, x), δ′′(l, x3)) = (j + 1, l),

továbbá minden 1 ≤ l < n esetén

δD((nk−1, l), x) = (δ′(nk−1, x), δ′′(l, x1)) = (1, l + 1),

s végülδD((nk−1, n), x) = (δ′(nk−1, x), δ′′(n, x1)) = (1, 1).

Ezekből leolvasható, hogy D nk állapotú számláló. �

191

Page 192: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyenek X és Y tetszőleges nemüres halmazok. Tekintsünk egy adottpozitív egész számra egy τ : Xn → Y n leképezést. Definiáljuk az Rτ =(Rτ , X, δτ ) automatát úgy, hogy

Rτ = {(p, q) ∈ X+ × Y ∗; |q| ≤ n, |p|+ |q| = n+ 1},

és minden (p, yq) ∈ Rτ (y ∈ Y ) és x ∈ X párra

δτ ((p, yq), x) =

{(px, q), ha |p| < n,(x, τ(p)), ha |p| = n.

Az Rτ automatát transzformátornak, pontosabban (X, Y ) feletti τ általgenerált n-transzformátornak nevezzük.

22.2 Lemma Minden τ : Xn → Y n (n > 0) leképezésre Rτ homomorfanreprezentálható egy n állapotú számláló és a D0 kétállapotú beállító auto-mata valamely véges tényezős α0-szorzatával.

Bizonyítás. A 19.6. Lemma és 21.9. Tétel felhasználásával az α0-szorzatasszociativitása miatt elegendő belátni, hogy Rτ homomorfan reprezentál-ható egy n állapotú számláló és bizonyos A-véges beállító automaták végestényezős α0-szorzatával.

Konstruálunk egy megfelelő α0-szorzatot. Az

Aj = (Aj, Xj, δj) (j = 1, 2, . . . , 2n+ 1)

automatákat adjuk meg az alábbi módon: Legyen A1 = [n], X1 = {x} és A1

egy számláló,

Aj = X ∪ {∗}, Xj = [n]×X (j = 2, . . . , n+ 1),

An+1+j = Y ∪ {∗}, Xn+1+j = (X ∪ {∗})n × (Y ∪ {∗}), (j = 1, . . . , n),

ahol tetszőleges

a ∈ X ∪ {∗}, a′, b ∈ Y ∪ {∗}, x ∈ X, p ∈ (X ∪ {∗})n

elemekre, ha 1 ≤ j = k+1 ≤ n, vagy j = 1 és k = n, akkor δ1+j(a, (k, x)) = x,ha pedig j > 1 és k = n, akkor δ1+j(a, (k, x)) = ∗. Minden más 1 ≤ j, k ≤ nesetén legyen δ1+j(a, (k, x)) = a. Továbbá, ha 1 ≤ j ≤ n, akkor p /∈ Xn

esetén legyen δn+1+j(a′, (p, b)) = b, ha pedig p ∈ Xn, akkor δn+1+j(a

′, (p, b)) =y, ahol y a τ(p) szó (n − j + 1)-edik betűje. Nyilvánvaló, hogy az Aj =(Aj, Xj, δj) (j = 2, . . . , 2n+ 1) automaták beállító automaták.

192

Page 193: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tekintsük a B = (B,X, δ) =2n+1∏j=1

Aj[X,ϕ] α0-szorzatot, ahol a (18.1)-

beli ϕj visszacsatolási függvényekre minden x ∈ X, k ∈ A1, aj ∈ Aj (j =2, . . . , 2n+ 1) elemre teljesüljenek a következők:

ϕ1(x) = x, ϕj(k, a2, . . . , aj−1, x) = (k, x) (j = 2, . . . , n+ 1),

ϕn+2(k, a2, . . . , an+1, x) = (a2 . . . an+1, ∗),

ϕn+j(k, a2, . . . , an+j−1, x) = (a2 . . . an+1, an+j−1) (j = 3, . . . , n+ 1).

Legyen most B′ azoknak a B-beli

b = (k, x1, x2, . . . , xk, ∗, . . . , ∗, yn+1−k, . . . , y1)

elemeknek a halmaza, amelyekre x1, . . . , xk ∈ X, y1, . . . , yn+1−k ∈ Y és 1 ≤k, n+ 1− k ≤ n teljesül. (A b-ben n− 1 ∗ komponens van.) Nyilvánvalóanb ∈ B′ akkor és csak akkor, ha (x1 . . . xk, y1 . . . yn+1−k) ∈ Rτ , azaz

ψ(b) = (x1 . . . xk, y1 . . . yn+1−k) (b ∈ B′)

a B′ bijektív leképezése Rτ -ra.Legyen b ∈ B′ és x ∈ X. Ha k < n, akkor

δ(b, x) = (k + 1, x1, . . . , xk, x, ∗, . . . , ∗, yn−k, . . . , y1),

ha pedig k = n, akkor

δ(b, x) = (1, x, ∗, . . . , ∗, y′n, . . . , y′1),

ahol y′1 . . . y′n = τ(x1 . . . xn). Ezekből következik, hogy δ(b, x) ∈ B′, azazB′ = (B′, X, δ) a B α0-szorzat részautomatája. Megmutatjuk, hogy ψ homo-morfizmus. Legyen b ∈ B′, x ∈ X és ψ(b) = (p, yq) (p ∈ X+, y ∈ Y, q ∈ Y ∗).Ha |p| < n, akkor

ψ(δ(b, x)) = (px, q) = δτ ((p, yq), x) = δ(ψ(b), x).

Ha pedig |p| = n, akkor

ψ(δ(b, x)) = (x, τ(p)) = δτ ((p, yq), x) = δ(ψ(b), x),

azaz ψ valóban B′ izomorf leképezése Rτ -ra. �

193

Page 194: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

22.3 Lemma Legyenek A = (A,X, δ) és B = (A, Y, δ′) tetszőleges automa-ták. Ha van olyan τ : Xn → Y n (n > 0) leképezés, hogy

A = {(((aq)B)p)A; a ∈ A, (p, q) ∈ Rτ}

és minden a ∈ A, p ∈ Xn párra

δ(a, p) = δ′(a, τ(p)),

akkor A homomorf képe az Rτ és B egy α0-szorzatának.

Bizonyítás. Legyen C = (C,X, δ′′) = Rτ ×B[X,ϕ] a

ϕ1(x) = x, ϕ2((p, yq), x) = y ((p, yq) ∈ Rτ , y ∈ Y )

visszacsatolási függvényekkel megadott α0-szorzat. A

ψ((p, yq), a) = (((ayq)B)p)A ((p, yq) ∈ Rτ , y ∈ Y, a ∈ A)

megfeleltetés C-nek A-ra való leképezése. Legyen x ∈ X. Ha |p| < n, akkor

ψ(δ′′(((p, yq), a), x)) = ψ(δτ ((p, yq), x), δ′(a, y)) = ψ((px, q), δ′(a, y)) =

= (((ayq)B)px)A = δ((((ayq)B)p)A, x) = δ(ψ((p, yq), a), x).

Ha pedig |p| = n, akkor q = e, s így

ψ(δ′′(((p, yq), a), x)) = ψ(δτ ((p, yq), x), δ′(a, y)) = ψ((x, τ(p)), δ′(a, y)) =

= (((ayτ(p))B)x)A = (((ay)Bpx)A) = δ((((ay)B)p)A, x) = δ(ψ((p, yq), a), x).

Kaptuk, hogy ψ homomorfizmus. �

22.4 Lemma Ha a G csoport homomorf képe az [n] halmaz egy permutá-ciócsoportjának, akkor van olyan n állapotú A permutációautomata, hogy aG csoportautomata homomorfan reprezentálható A egy direkt hatványával.

Bizonyítás. Legyen a G = {g1, . . . , gm} csoport az [n] halmaz H permu-tációcsoportjának homomorf képe és ϕ egy megfelelő homomorfizmus. De-finiáljuk az A = ([n], G, δ) automatát úgy, hogy minden i ∈ [n] és gj ∈ Gpárra δ(i, gj) = hj(i) teljesüljön, ahol hj a ϕ−1(gj) tetszőleges, de rögzítetteleme. Látható, hogy A permutációautomata. Legyen An = ([n]n, G, δ′)az A automata direkt n-edik hatványa. Tekintsük az [n]n halmaz B ={(h(1), . . . , h(n));h ∈ H} részhalmazát. Nyilvánvaló, hogy B = (B,G, δ′)

194

Page 195: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

az An automata részautomatája. Megmutatjuk, hogy a G = (G,G, δ′′) cso-portautomata a B automata homomorf képe. Adjuk meg a ψ : B → Gmegfeleltetést a

ψ(h(1), . . . h(n)) = ϕ(h) (h ∈ H)

összefüggéssel. Világos, hogy ψ szürjektív leképezés. Ha h ∈ H és ϕ(h) = gi,akkor bármely gj ∈ G elemre

ψ(δ′((h(1), . . . , h(n)), gj)) = ψ(δ(h(1), gj), . . . , δ(h(n), gj)) =

= ψ(hj(h(1)), . . . , hj(h(n))) = ψ(h ◦ hj(1), . . . , h ◦ hj(n)) = ϕ(h ◦ hj) =

= ϕ(h)ϕ(hj) = gigj = δ′′(gi, gj) = δ′′(ϕ(h), gj) = δ(ψ(h(1), . . . , h(n)), gj),

ami azt jelenti, hogy ϕ homomorfizmus. �

22.5 Tétel Minden n > 1 állapotú automata homomorfan reprezentálhatóa D0 kétállapotú beállító automata és az n állapotú standard automata egyvéges tényezős α0-szorzatával.

Bizonyítás. Legyen A = (A,X, δ) tetszőleges 1 < n állapotú automata. AKrohn–Rhodes tétel felhasználásával a 21.2. és a 22.4. Lemmákból kapjuk,hogy A homomorfan reprezentálható a D0 kétállapotú beállító automata ésaz n állapotú permutációautomata egy véges tényezős α0-szorzatával. Fel-használva az α0-szorzat asszociativitását, a 19.6. Lemmából következik, hogyaz állítást elegendő n állapotú permutációautomatákra bebizonyítani.

Tekintsük az egyszerűség kedvéért a A = ([n], X, δ) (n > 1) permutáció-automatát. Legyen B = ([n], Y, δ′) az n állapotú standard automata, aholY = {x1, x2, x3} és x3 az identikus jel. A B karakterisztikus monoidja az [n]halmaz Sn teljes permutációcsoportja, amelynek a (7.3)-ban definiált δ′x1 ésδ′x2 elemei egy generátorrendszerét alkotják. Legyen t az a legkisebb pozitívegész szám, amelyre Sn minden eleme megadható δ′x1 és δ′x2 legfeljebb t té-nyezős kompozíciójaként. Minden t ≤ m pozitív egész számra létezik olyanτ : Xm → Y m leképezés, amelyre (kp)A = (kτ(p))B (p ∈ Xm) teljesül. Adjukmeg ezekhez az X, Y halmazokhoz és τ leképezéshez a Rτ transzformátort.Válasszuk az m-et úgy, hogy valamilyen k pozitív egész számra m = nk

legyen és τ teljesítse erre az m-re is az előbbi feltételt. Mivel A és B permu-tációautomaták, ezért [n] = {(((kq)B)p)A; k ∈ [n], (p, q) ∈ Rτ}. Így a 22.3.Lemma szerint A homomorfan reprezentálható Rτ és B egy α0-szorzatával.Végül felhasználva a 19.6. Lemmát és az α0-szorzat asszociativitását, a 22.1.és a 22.2. Lemmák alapján kapjuk, hogy A homomorfan reprezentálható aD0 kétállapotú beállító automata és az n állapotú standard automata egyvéges tényezős α0-szorzatával. �

195

Page 196: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 22.5. Tételből következik, hogy a D0 automatából és a véges standardautomatákból álló rendszer az A-véges automaták egy homomorfan teljesrendszere a véges tényezős α0-szorzatra. Egy ilyen rendszert már a 21.16.Tételben is megadtunk. A D0 automatából és a véges standard automaták-ból álló rendszer az A-véges automaták nem minimális homomorfan teljesrendszere véges tényezős α0-szorzatra. Ezt elég könnyen beláthatjuk. Gon-doljuk meg, hogy minden n állapotú automata izomorf módon beágyazhatóvalamilyen n-nél nagyobb k állapotú B automatába. A 22.5. Tétel szerint B,s így az n állapotú standard automata is, homomorfan reprezentálható a D0

és a k állapotú standard automata egy véges tényezős α0-szorzatával. Ez aztjelenti, hogy ha az n állapotú standard automatát elhagyjuk a rendszerbőltovábbra is az A-véges automaták egy homomorfan teljes rendszerét kapjuka véges tényezős α0-szorzatra. A 22.5. Tétel azonban azért jelentős, mert aztmondja ki, hogy minden n állapotú automata felépíthető két speciális típusúlegfeljebb n állapotú automata segítségével.

22.6 Lemma Ha G az [n] halmaz egy permutációcsoportja és |G| > 1, akkorvan G-nek olyan valódi H részcsoportja, amelyre G : H ≤ n.

Bizonyítás. Az általánosság megszorítása nélkül feltehetjük, hogy n a leg-kisebb olyan m pozitív egész szám, amelyre G az [m] halmaz egy permutá-ciócsoportja. Legyen H = {h ∈ G; h(1) = 1}. A H a G egy valódi részcso-portja. Könnyen látható, hogy ha a g1, g2 ∈ G elemekre g1(1) = g2(1), akkorHg1 = Hg2. Ezért G : H ≤ n. �

22.7 Lemma Ha G az [n] halmaz egy permutációcsoportja és a G′ egyszerűcsoport G homomorf képe, akkor G′ izomorf a [k] halmaz egy permutáció-csoportjával, ahol k ≤ n.

Bizonyítás. Ha |G′| = 1, akkor az állítás nyilvánvalóan igaz.Tegyük fel, hogy |G′| > 1. Ebből következik, hogy n > 1. Az általánosság

megszorítása nélkül feltehetjük, hogy n a legkisebb olyan m pozitív egészszám, amelyre G az [m] halmaz olyan permutációcsoportja, hogy G′ a Ghomomorf képe. Legyen most is H = {h ∈ G; h(1) = 1}. A H a Gvalódi részcsoportja és G : H ≤ n. Jelölje H ′ a H képét a G-nek G′-re valóhomomorf leképezésénél. Akkor H ′ valódi részcsoportja G′-nek, ellenkezőesetben ugyanis G′ egy [k] (k < n) halmaz egy permutációcsoportnak lennehomomorf képe. Ezenkívül G′ : H ′ ≤ n szintén igaz.

Tekintsük az M = {H ′g′; g′ ∈ G′} halmazt és minden g ∈ G′ elemredefiniáljuk az M halmaz egy hg permutációját a hg(H ′g′) = H ′g′g (g′ ∈ G′)összefüggéssel. Jelölje G a hg (g ∈ G′) permutációk halmazát. G nyilvánva-lóan csoport és |G| > 1. A ψ(g) = hg (g ∈ G′) megfeleltetés G′ homomorf

196

Page 197: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

leképezése G-re. Mivel G′ egyszerű és |G| > 1, ezért G′ ∼= G. �A következő tétel szükséges és elegendő feltételt ad arra, hogy egy n >

2 állapotú automata mikor reprezentálható homomorfan n kevesebb álla-potú automaták véges tényezős α0-szorzatával. Ez az eredmény egy al-goritmust is szolgáltat annak eldöntésére, hogy egy n állapotú automatareprezentálható-e homomorfan n-nél kevesebb állapotú automaták véges té-nyezős α0-szorzatával.

22.8 Tétel Az n > 2 állapotú A automata akkor és csak akkor reprezen-tálható homomorfan n-nél kevesebb állapotú automaták egy véges tényezősα0-szorzatával, ha minden olyan egyszerű csoport, amely az S1(A) karak-terisztikus monoid egy részcsoportjának homomorf képe izomorf az [n − 1]halmaz egy permutációcsoportjával.

Bizonyítás. A feltétel elegendőség a Krohn–Rhodes tételből következik a22.4. Lemma felhasználásával.

A feltétel szükségessége szintén a Krohn–Rhodes tételből adódik a 21.2.és a 22.7. Lemmák segítségével. �

A következő tétel Dömösi Páltól származik.

22.9 Tétel Az A-véges automatáknak létezik minimális homomorfan teljesrendszere a véges tényezős α0-szorzatra.

Bizonyítás. Legyen K az egymással nem általánosan izomorf véges kimenőjel nélküli automaták halmaza. Nem nehéz látni, hogy K megszámlálhatóanvégtelen számosságú. Legyen K = {Ak = (Ak, Xk, δk); k = 1, 2, . . . }. Te-kintsük prímszámok olyan p0, p1, . . . végtelen sorozatát, amelyekre p1 > p0

és pj > pj−1 + p0 . . . pj−2|Aj−1| (j > 1). Szerkesszük meg az automatákK′ = {Bi = (Bi, X

′i, δ′i); i = 0, 1, 2, . . . } rendszerét a következő módon:

Legyen B0 = (B0, X′0, δ′0) egy általánosított számláló, ahol B0 = [p0] és

X ′0 egy véges (nemüres) halmaz.Ha i = 1, 2, . . . , akkor Bi = Di ∪ (Ci × Ai), X ′i = Ci × Xi, ahol Ci =

[p0 . . . pi−1] és Di = [pi]. Ezenkívül tetszőleges d ∈ Di, (c, a) ∈ Ci × Ai és(c′, x) ∈ Ci ×Xi elemekre

δ′i(d, (c′, x)) = d+ 1 (d < pi), δ′i(pi, (c

′, x)) = 1,

δ′i((c, a), (c′, x)) =

(c+ 1, δi(a, x)) ha c = c′ < p0 . . . pi−1,(1, δi(a, x)), ha c = c′ = p0 . . . pi−1,1(∈ Di), ha c 6= c′.

197

Page 198: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megjegyezzük, hogy Di = (Di, Ci ×Xi, δ′j) (1 ≤ j) a Bi automata olyan

részautomatája, amely általánosított számláló. Ezenkívül az állapothalmazCi × Ai részét egy p0 . . . pi−1 állapotú általánosított számláló vezérli olyanmódon, hogy valahányszor az állapot és a bemenő jel első komponense meg-egyezik, mindannyiszor a második komponensek az Ai átmeneti viselkedésétkövetik. Ha pedig az állapot és a bemenő jel első komponense nem egyen-lő, akkor Bi-t egy Di-beli állapotba irányítja, s a Bi automata ezután mármindig Di-beli állapotban marad és általánosított számlálóként viselkedik.Az is látható, hogy ha egy p szóban egy betű egymásután legalább kétszerszerepel és (c, a) a Bi állapota, akkor (c, a)p ∈ Di.

Először belátjuk, hogy K′ az A- véges automaták egy homomorfan teljesrendszere a véges tényezős α0-szorzatra. Ehhez megmutatjuk, hogy mindenC = ([p0 . . . pi−1], X, δ′) általánosított számláló homomorfan reprezentálhatóa B0, . . .Bi−1 automaták egy α0-szorzatával. Vegyük a B0,D1, . . . ,Di−1 egykvázidirekt szorzatát. Tekintsük a B0 × D1 · · · × Di−1[X,ϕ′] = (D,X, δ)kvázidirekt szorzat állapothalmazának

D′ = {(1, . . . , 1)xt; 0 ≤ t ≤ p0 . . . pi−1}

részhalmazát tetszőleges x ∈ X esetén, ahol x0 legyen az e üres szó. (Az álta-lánosított számláló definíciója miatt bármely x, x′ ∈ X párra (1, . . . , 1)xt =(1, . . . , 1)(x′)t.) A D′ = (D′, X, δ) automata a D kvázidirekt szorzat egyrészautomatája. A

ψ((1, . . . , 1)xt) = t+ 1 (0 ≤ t < p0 . . . pi−1)

összefüggésekkel definiált ψ megfeleltetés D′-nek C-re való homomorf leké-pezése. Tekintsünk egy tetszőleges Ai ∈ K automatát. Vegyük a

A = (A,Xi, δ) = C×Bi[Xi, ϕ]

α0-szorzatot, ahol a (18.1)-ben definiált ϕ1 és ϕ2 visszacsatolási függvényekteljesítsék a következő feltételeket. Minden x ∈ Xi bemenő jelre ϕ1(x) legyenX egy tetszőleges, de rögzített eleme és ϕ2(c, x) = (c, x) (c ∈ C, x ∈ Xi).Könnyen látható, hogy a (c, (c, a)) (c ∈ C, a ∈ Ai) állapotok halmaza az A α0-szorzat egy A′ részautomatájának állapothalmaza és a ψ(c, (c, a)) = a (c ∈C, a ∈ Ai) megfeleltetés A′ homomorf leképezése Ai-re. A K választása miattaz α0-szorzat asszociativitásából és a 19.6. Lemmából kapjuk, hogy K′ avéges automaták homomorfan teljes rendszere a véges tényezős α0-szorzatra.

A K′ minimalitásának megmutatásához minden 0 ≤ i egész számra legyenKi = K′−{Bi}. Megmutatjuk, hogy a pi állapotú számláló nem reprezentál-ható homomorfan Ki-beli automaták véges tényezős α0-szorzatával. Először

198

Page 199: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

megjegyezzük, hogy ha egy C = (C, {x}, δC) számláló homomorf képe egyA = (A, {x}, δA) automatának, akkor A-nak van olyan A′ = (A′, {x}, δA)részautomatája, amelyik izomorf egy számlálóval és amelyiknek C homomorfképe. Továbbá |C| osztója |A′|-nek.

Ezek szerint elegendő belátni, hogy ha A′ = (A′, {x}, δ) az

A = (A, {x}, δ) = (Bi1 × · · · ×Bik)[{x}, ϕ] (Bij ∈ Ki, j = 1, . . . , k)

α0-szorzat olyan részautomatája, amelyik izomorf egy számlálóval, akkor pinem osztója |A′|-nek.

Legyen b = (bi1 , . . . , bik) ∈ A′. Minden 1 ≤ j ≤ k esetén jelölje lj azt alegkisebb pozitív egész számot, amelyre

δ′it(bit , ϕt(bi1 , . . . , bit−1 , xlj) = bit (t = 1, . . . , j).

Megmutatjuk, hogy lj (j = 1, . . . , k) nem osztható pi-vel. Ez j = k esetbenazt jelenti, hogy |A′| nem osztható pi-vel.

Ha j = 1, akkor bi1 ∈ Di1 és így lj = pi1 . Ha i1 = 0, akkor ez nyilvánva-lóan igaz. Minden más esetben, Bi1 definíciója utáni megjegyzésünk szerint,δ′i1(bi1 , ϕ(x)ϕ(x)) ∈ Di1 . Ezért ekkor is bi1 ∈ Di1 .

Tegyük fel, hogy egy adott j ≤ k pozitív egész szám esetén minden t < jpozitív egész számra már megmutattuk, hogy lt nem osztható pi-vel. Külön-böztessünk meg két esetet.

Legyen először ij < i. Minden 1 ≤ t ≤ k pozitív egész számra definiáljukA′-n a ρt binér relációt a következő módon:

(b, c) ∈ ρt ⇐⇒ πs(b) = πs(c), s = 1, . . . , t,

ahol πs a vektorok s-edik projekciója. Mivel A egy α0-szorzat, ezért ρt aA′ automata kongruenciája. Ezért, minthogy A′ izomorf egy számlálóval,minden ρt-osztály ugyanannyi állapotot tartalmaz (1 ≤ t ≤ k). Ezenkívül,

ρ1 ⊇ ρ2 ⊇ · · · ⊇ ρk

és minden 1 ≤ t < k esetén a (ρt/ρt+1)-osztályok is egyenlő számosságúak.Legyen ez a számosság t′. Figyeljük meg, hogy lt megegyezik a ρt-osztályokszámával. Ebből következik, hogy

lt+1 = ltt′ (t = 1, . . . , k − 1).

Az szintén nyilvánvaló, hogy ha it+1 6= 0, akkor

t′ ≤ |Dit+1 ∪ (Cit+1 × Ait+1)|.

199

Page 200: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha pedig it+1 = 0, akkor t′ ≤ p0. De pi > p0 és ha ij 6= 0, akkor

pi > |Dij ∪ (Cij × Aij)|.

Amiből következik, hogy lj nem osztható pi-vel.Tételezzük fel másodszor, hogy ij > i. Ha bij ∈ Dij , akkor lj az lj−1 és

pij legkisebb közös többszöröse, ezért nem osztható pi-vel. Tegyük fel, hogybij = (c, a) (c ∈ Cij , a ∈ Aij) Legyen

ϕj(bi1 , . . . , bij−1, xlj−1) = p, δ′ij((c, a), p) = (c′, a′).

Ha c′ = c, akkor p0 . . . pij−1 osztója lj−1-nek és így lj−1 osztható pi-vel. Ezazonban a feltevésünk miatt lehetetlen. Ezért c′ 6= c. De, a (17.7) kiterjesz-tést is felhasználva, ϕj(bi1 , . . . , bij−1

, x) megegyezik ϕj(bi1 , . . . , bij−1, xlj−1x)

utolsó betűjével. Következésképpen, Bij definíciója szerint,

δ′ij((c, a), ϕj(bi1 , . . . , bij−1, x)), δ′ij((c, a), ϕj(bi1 , . . . , bij−1

, xlj−1x))

közül legalább az egyik Dij -beli állapot. Így bij ∈ Dij , ami ismét lehetetlen.�

Megmutatjuk, hogy egy véges tényezős α1-szorzat megadható ugyanannyitényezős α0-szorzatként is.

22.10 Lemma Minden A = (A,X, δ) = A1 × · · · × An[X,ϕ] α1-szorzatmegegyezik egy olyan B = (B,X, δ′) = B1 × · · · × Bn[X,ϕ′] α0-szorzattal,amelyben minden Bk automata az Ak automata egytényezős α1-szorzata.

Bizonyítás. Adjuk meg az Ak = (Ak, Xk, δk) (k = 1, . . . , n) automatákegytényezős Bk α1-szorzatait a (18.2) visszacsatolási függvények segítségévela következő módon:

B1 = A1[X,ϕ1], . . . ,Bk = Ak[A1 × · · · × Ak−1 ×X,ϕ∗k] (k = 2, . . . , n),

aholϕ∗k(ak, (a1, . . . , ak−1, x)) = ϕk(a1, . . . , ak, x) (k = 2, . . . , n).

Jelölje a Bk automata átmenetfüggvényét δ′k. A (18.1)-beli ϕ′k visszacsatolásifüggvények legyenek

ϕ′k(a1, . . . , ak−1, x) = (a1, . . . , ak−1, x)

alakúak. Akkor minden a1 ∈ A1, . . . an ∈ An, x ∈ X esetén

δ((a1, . . . an), x) =

200

Page 201: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

= (δ1(a1, ϕ1(a1, x)), δ2(a2, ϕ2(a1, a2, x)), . . . , δn(an, ϕn(a1, . . . , an, x))) =

(δ1(a1, ϕ1(a1, x)), δ2(a2, ϕ∗2(a2, (a1, x))), . . . , δn(an, ϕ

∗n(an, (a1 . . . , an−1, x)))

= (δ′1(a1, x), δ′2(a2, (a1, x)), . . . , δ′n(an, (a1 . . . , an−1, x)) = δ′((a1, . . . , an), x),

azaz A = B. �A 22.10. Lemmából nyilvánvalóan következik a

22.11 Tétel Tetszőleges n állapotú automata akkor és csak akkor repre-zentálható homomorfan n-nél kevesebb állapotú automaták véges tényezősα1-szorzatával, ha homomorfan reprezentálható n-nél kevesebb állapotú au-tomaták véges tényezős α0-szorzatával.

A 22.11. és a 22.9. Tételekből következik olyan algoritmus amelyneksegítségével eldönthető, hogy egy n állapotú automata reprezentálható-e ho-momorfan n-nél kevesebb állapotú automaták véges tényezős α1-szorzatával.

22.12 Tétel Az α1-szorzat homomorfan általánosabb az α0-szorzatnál.

Bizonyítás. Tekintsük az alábbi átmenettáblázattal megadott A automa-tát:

A 1 2 3x 2 2 3y 1 3 1

Nem nehéz belátni, hogy A tetszőleges α0-hatványának minden olyanrészautomatája, amely izomorf egy számlálóval egyállapotú automata. Ezértegy háromállapotú számláló nem eleme HSPα0({A})-nak. Megmutatjuk,hogy egy háromállapotú számláló eleme HSPα1({A})-nek. Tekintsük azA3[{x}, ϕ] α1-hatványt, ahol

ϕ1(1, x) = x, ϕ1(2, x) = ϕ1(3, x) = y,

ϕ2(1, 1, x) = x, ϕ2(2, 2, x) = ϕ2(3, 3, x) = y,

ϕ3(1, 1, 1, x) = x, ϕ3(2, 2, 2, x) = ϕ3(3, 3, 3, x) = y,

minden más esetben ϕj (j = 1, 2, 3) tetszőleges értéket vegyen fel. LegyenB = {(j, j, j); j = 1, 2, 3}. Nyilvánvaló, hogy B az A3[{x}, ϕ] α1-hatványrészautomatája és a ψ(j, j, j) = j (j = 1, 2, 3) leképezés B izomorf leképezésea B = ([3], {x}, δ) számlálóra. Ez azt jelenti, hogy az α1-szorzat homomorfanáltalánosabb az α0-szorzatnál. �

Ennek a munkának a terjedelme nem teszi lehetővé, hogy a homomorfanteljességet α1-szorzatokra vizsgáljuk. Ezek vizsgálatok megtalálhatók pél-dául Gécseg Ferenc [23] monográfiájában. A teljesség kedvéért azonban

201

Page 202: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

bizonyítás nélkül megemlítjük az elmélet egy másik mély eredményét, amelyÉsik Zoltántól és Horváth Gyulától származik. Ennek az eredményneka bizonyítása is megtalálható az [23] monográfiában.

22.13 Tétel Automaták K rendszere az A-véges automaták homomorfanteljes rendszere a véges tényezős Gluskov szorzatra akkor és csak akkor, hahomomorfan teljes rendszere a véges tényezős α2-szorzatra.

Ebből kapható a következő eredmény:

22.14 Tétel A-véges automatákra a véges tényezős α2-szorzat homomorfanekvivalens a véges tényezős Gluskov szorzattal.

A tétel segítségével bizonyítható, hogy A-véges automatákra az α2-szorzathomomorfan általánosabb az α1-szorzatnál. Ez azt jelenti, hogy az α0-, azα1-, és α2-szorzat A-véges automatákra olyan valódi hierarchiát alkot, am-melyben az α2-szorzat homomorfan ekvivalens az Gluskov szorzattal.

Végül megadunk egy lemmát, amelynek bizonyítása egy jól használhatóalgoritmust ad n állapotú automatáknak n-nél kevesebb állapotú automatákvéges tényezős α0-szorzatával való homomorf reprezentációjára. Az algorit-mus az automaták lefedő halmazrendszereit használja, s lényegében a 21.5.Tételben szereplő eljárás egy egyszerűsítése. Ennél az eljárásnál a lefedőhalmazrendszer legyen mindig halmaz.

22.15 Lemma Legyen A = (A,X, δ) tetszőleges A-véges automata ésM ={A1, . . . , Ak} az A egy lefedő halmazrendszere. Jelölje l az |Aj| (j = 1, . . . , k)számok közül a legnagyobbat. Akkor A homomorfan reprezentálható A egyM-faktora és egy l állapotú automata szuperpozíciójával.

Bizonyítás. Legyen az M = (M, X, δ′) automata az A egy M-faktora.Legyenek továbbá τj (j = 1, . . . , k) leképezések az Aj halmazok [l]-be valóegy-egyértelmű leképezései. Definiáljuk a C = ([l],M×X, δ′′) automata δ′′átmenetfüggvényét a következőképpen. Legyenek s ∈ [l] és (Aj, x) ∈M×Xtetszőleges elemek. Ha van olyan a ∈ Aj, hogy τj(a) = s és δ′(Aj, x) =At, akkor legyen δ′′(s, (Aj, x)) = τt(δ(a, x)). Minden más esetben legyenδ′′(s, (Aj, x)) = s0, ahol s0 a [l] halmaz tetszőleges, de rögzített eleme. A Cnyilvánvalóan jól definiált.

Legyen ϕ = (ϕ1, ϕ2), ahol ϕ1 = ιX és ϕ2(Aj, x) = (Aj, x) minden(Aj, x) ∈ M×X elemre. Tekintsük a D = (M× [l], X, δD) = M×C[X,ϕ]szuperpozíciót. Vegyük azon (M× [l])-beli (Aj, s) elemek D′ halmazát, ame-lyekre van olyan a ∈ Aj, hogy τj(a) = s. Az M és a C automaták definíci-ójából következik, hogy D′ = (D′, X, δD) a D szuperpozíció részautomatája.Adjuk meg ψ : D′ → A megfeleltetést úgy, hogy minden (Aj, s) ∈ D′ esetén

202

Page 203: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ψ(Aj, s) = a akkor és csak akkor, ha τj(a) = s. Nem nehéz belátni, hogy ψa D′ automata homomorf leképezése A-ra. �

A 20.6. Következmény szerint az A-véges automatáknak nem létezik mini-mális izomorfan teljes rendszere a véges tényezős α0-szorzatra, s ezért a végestényezős kvázidirekt szorzatra sem. Viszont a 22.9. Tétel szerint az A-végesautomatáknak van minimális homomorfan teljes rendszere a véges tényezősα0-szorzatra. Dömösi Pál megmutatta, hogy az A-véges automatáknaknincs minimális homomorfan teljes rendszere a véges tényezős kvázidirektszorzatra, s így speciálisan a véges tényezős heterogén direkt és direkt szor-zatra sem. Az eredmény bizonyításásával, annak hosszadalmassága miatt,nem foglalkozunk. A bizonyítás megtalálható Dömösi Pál [14] kandidátusiértekezésében vagy Peák István [49] egyetemi jegyzetében.

Feladatok22.1. Minden n > 1 állapotú automata homomorfan reprezentálható az n állapotústandard automata egy α0-hatványával.22.2. Adjunk meg a véges automatáknak olyan homomorfan teljes rendszerét avéges tényezős α0-szorzatra, amelynek nincs minimális homomorfan teljes részrend-szere erre a szorzatra.22.3. Az

A 1 2 3 4

x 2 3 4 1y 2 3 1 4

négyállapotú automata homomorfan reprezentálható három négynél kevesebb ál-lapotú automata α0-szorzatával, de nem reprezentálható homomorfan két négynélkevesebb állapotú automata α0-szorzatával.

23. Metrikusan teljes rendszerekTegyük fel, hogy az α : X∗ → Y ∗ egy automataleképezést indukálja azA = (A, a0, X, Y, δ, λ) iniciális Mealy automata. Adott esetben fontos le-het az A automatát kicserélni vele iniciálisan ekvivalens és számunkra jobbtulajdonságokkal rendelkező automatával. Ilyen feladatot oldottunk meg a11., 12. és 13. fejezetekben. Gyakorlati szempontból azonban olyan B =(B, b0, X, Y, δ

′, λ′) iniciális automatával is megelégedhetünk, amely ugyannem iniciálisan ekvivalens az eredeti A automatával, de a nem túlságosanhosszú bemenő szavakra az általa indukált automataleképezés megegyezik azα automataleképezéssel. Konkrétabban, ha számunkra elegendő valamely k

203

Page 204: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

pozitív egész számra az α(p) (p ∈ X(k)) értékeket megadni, akkor olyan szá-munkra jobb B automata is megfelelő amelyre αB(p) = α(p) (p ∈ X(k)). Eza gyakorlati megközelítés vezet a következő definícióhoz.

Azt mondjuk, hogy az α : X∗ → Y ∗ automataleképezést az B automatak hosszban indukálja, ha van olyan b ∈ B, hogy minden p ∈ X(k) bemenőszóra αB,b(p) = α(p).

A kimenő jel nélküli automaták K rendszere a Mealy automatákM rend-szerének metrikusan teljes rendszere az automataszorzatok valamely típusára,ha bármelyM-beli automata által indukált α automataleképezéshez és min-den k nemnegatív egész számhoz létezik K-beli automatáknak olyan adotttípusú szorzata, amely k hosszban indukálja α-t. Ha a szorzat egy σ-szorzat,akkor azt mondjuk, hogy K az M metrikusan σ-teljes rendszere. Ha σ-szorzat az Gluskov szorzat, akkor K-t M metrikusan teljes rendszerénekmondjuk. Ha pedig M az összes Mealy automatát tartalmazza, akkor K-tmetrikusan teljes rendszernek hívjuk. A minimális teljes redszerekhez hason-lóan definiáljuk a minimális metrikusan teljes rendszereket.

A definíciókból látható, hogy minden teljes rendszer, így a 19.1. Lemmaszerint minden homomorfan teljes rendszer is, metrikusan teljes rendszer. Ezazt jelenti, hogy a (19.4), a (19.5) és a (19.6) feltétellel definiált automatákMealy automatáknak egyelemű metrikusan teljes rendszerét alkotják, azaz aMealy automatáknak van véges, s így minimális metrikusan teljes rendszereaz Gluskov szorzatra.

Megindokoljuk, hogy a teljes rendszereknek ezeket a típusait miért ne-vezzük metrikus teljes rendszereknek. Az α : X∗ → Y ∗ automataleképezésekAL[X, Y ] halmazában vezessünk be egy metrikát a következő módon.

Az α, β ∈ AL[X, Y ] leképezések távolságán azt a d(α, β) számot fogjukérteni, amelyre teljesülnek az alábbi feltételek. Ha α = β, akkor d(α, β) = 0,ellenkező esetben pedig legyen d(α, β) = 1

kpontosan akkor, ha minden p(∈

X∗, |p| < k) bemenő szóra α(p) = β(p) és van olyan q(∈ X∗, |q| = k) bemenőszó, hogy α(q) 6= β(q). Nyilvánvaló, hogy AL[X, Y ] a d távolságfüggvénnyelmetrikus teret alkot. Látható, hogy az α és β automataleképezések távolságaakkor és csak akkor maximális, s ez a maximum 1, ha van olyan x ∈ X, hogyα(x) 6= β(x).

Legyen h > 0 tetszőleges valós szám. Azt mondjuk, hogy az A =(A,X, Y, δ, λ) automata az α : X∗ → Y ∗ automataleképezést h pontosság-gal vagy h-nál kisebb hibával előállítja, ha van olyan a ∈ A állapot, hogyd(αA,a, α) < h. Ha K a Mealy automatákM rendszerének metrikusan teljesrendszere az automataszorzatok valamely típusára, akkor bármely M-beliautomata által indukált α automataleképezés tetszőleges h pontossággal elő-állítható K-beli automatáknak adott típusú szorzatával.

Legyenek A = (A,X, δ) és B = (B,X, δ′) tetszőleges automaták, k egy

204

Page 205: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

pozitív egész szám, Aa(k) = {ap; p ∈ X(k)} és Bb(k) = {bp; p ∈ X(k)}. Aztmondjuk, hogy ψa,b : Aa(k)→ Bb(k) leképezés az (A, a) iniciális automata k-homomorf leképezése vagy k-homomorfizmusa a (B, b) iniciális automatába,ha

(23.1) ψa,b((ap)A) = (bp)B (p ∈ X(k)).

és (B, b)-t (A, a) k-homomorf képének nevezzük. Ennek megfelelően beszé-lünk k-izomorfizmusról is. A fejezet Gécseg Ferenc eredményeit tartal-mazza.

Az automataleképezések (9.2) jelölését használva nem nehéz belátni akövetkező állítást.

23.1 Lemma Legyenek A = (A,X, δ) és B = (B,X, δ′) tetszőleges auto-maták. Ha a ∈ A és b ∈ B állapotokra (B, b) k-homomorf képe az (A, a)automatának, akkor minden B′ = (B,X, Y, δ′, λ′) Mealy automatához vanolyan A′ = (A,X, Y, δ, λ) Mealy automata, hogy minden p ∈ X(k) bemenőszóra αA′,a(p) = αB′,b(p).

Bizonyítás. Válasszuk meg a λ kimenetfüggvényt úgy, hogy minden q ∈X(k − 1) és x ∈ X esetén

λ((aq)A, x) = λ′((bq)B, x)

teljesüljön. �Legyen k pozitív egész szám. Tekintsünk egy legalább n > 0 állapotú

A = (A,X, δ) automatát. Az állapothalmaz A′ = {a1, . . . , an} részhalmazátaz A automata egy (n állapotú) k-szabad részének nevezzük, hogy ha j 6=l (1 ≤ j, l ≤ n) vagy p 6= q (p, q ∈ X(k)), akkor ajp 6= alq. Ha |A| = n,akkor A′ = A. Ebben az esetben A-t k-szabad automatának hívjuk. A(3.14) összefüggés szerint bármely szabad automata minden k nemnegatívegész számra k-szabad automata.

23.2 Lemma Legyenek A = (A,X, δ) és B = (B,X, δ′) tetszőleges automa-ták. Ha {a} az A automata k-szabad része, akkor bármely b ∈ B állapotraa (B, b) iniciális automata az (A, a) iniciális automata k-homomorf képe.

Bizonyítás. A (23.1)-ben definiált ψa,b leképezés k-homomorfizmus. �A 17. fejezetben definiáltuk a Pσ σ-szorzat operátort. A következő lem-

mában ez az operátor szerepel σ = α0 esetben.

23.3 Lemma Legyen K kimenő jel nélküli automaták egy rendszere és k egynemnegatív egész szám. Ha létezik olyan K-beli A = (A,X, δ) automata,

205

Page 206: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amelynek valamely a0 ∈ A állapotára, p0 ∈ Xk bemenő szavára és y1, y2 ∈ Xbemenő jeleire a0p0y1 6= a0p0y2, akkor bármely X ′ 6= ∅ véges halmazra ésn pozitív egész számra Pα0(K) tartalmaz olyan B = (B,X ′, δB) automatát,amelynek van n állapotú k-szabad része.

Bizonyítás. Először azt látjuk be, hogy ha n = 1, akkor minden l ≤ k +1 esetén Pα0(K)-ban van olyan legalább két bemenő jelű C = (C ′, Z, δ′)automata, amelynek van egyelemű {c′} l szabad része. A bizonyítást l szerintiteljes indukcióval végezzük. Ha l = 0, akkor az állítás nyilvánvalóan igaz.

Tegyük fel, hogy az állítás igaz minden l ≤ k esetén. Legyen {cl} l-szabad rendszere egy Pα0(K)-beli Cl = (Cl, Z, δl) automatának. Tekintsünkkét különböző Z(l+ 1)-beli p és q szót, amelyekre |p| = l+ 1 vagy |q| = l+ 1.Tekintsük a

C = (C,Z, δ) = Cl ×A[Z, ϕ]

α0-szorzatot, ahol a (17.5)-ben definiált ϕj (j = 1, 2) visszacsatolási függvé-nyeket definiáljuk az alábbi módon. Legyen ϕ1 = ιZ . Legyen továbbá

p0 = x1 . . . xk−lxk−l+1 . . . xk (x1, . . . , xk ∈ X),

p = z1 . . . zu, q = z′1 . . . z′v (z1, . . . , zu, z

′1, . . . , z

′v ∈ Z).

A ϕ2 visszacsatolási függvény definiálására két esetet különböztetünk meg.Ha u < v = l + 1, akkor

ϕ2(δl(cl, z1 . . . zj−1), zj) = xk−l+j (j = 1, . . . , u),

ϕ2(δl(cl, z′1 . . . z

′j−1), z′j) = xk−l+j (j = 1, . . . , l),

ϕ2(δl(cl, z′1 . . . z

′l), z

′l+1) =

{y1, ha a0p0y1 6= a0x1 . . . xk−l+u,y2, különben.

Ha u = v = l + 1, akkor pedig

ϕ2(δl(cl, z1 . . . zj−1), zj) = ϕ2(δl(cl, z′1 . . . z

′j−1), z′j) = xk−l+j (j = 1, . . . , l),

ϕ2(δl(cl, z1 . . . zl), zl+1) = y1, ϕ2(δl(cl, z′1 . . . z

′l), z

′l+1) = y2.

Mivel {cl} a Cl automata egy l szabad része, ezért ϕ2 jól definiált.Megmutatjuk, hogy ((cl, a0x1 . . . xkl)p)C 6= ((cl, a0x1 . . . xkl)q)C. Az u <

v = l + 1 esetben

((cl, a0x1 . . . xk−l)p)C = ((clp)Cl , a0x1 . . . xk−l+u),

206

Page 207: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

és((cl, a0x1 . . . xk−l)q)C = ((clq)Cl , a0p0y2)

vagy((cl, a0x1 . . . xk−l)q)C = ((clq)Cl , a0p0y1),

attól függően, hogy y1a0x1 . . . xk−l+u = a0p0y1 vagy nem. Az u = v = l + 1esetben

((cl, a0x1 . . . xk−l)p)C = ((clp)Cl , a0p0y1),

((cl, a0x1 . . . xk−l)q)C = ((clq)Cl , a0p0y2).

Ebből már könnyen következik, hogy tetszőleges két különböző Z(l + 1)-beli p és q szóra van olyan Cp,q = (Cp,q, Z, δp,q) ∈ Pα0(K) és cp,q ∈ Cp,q, hogy(cp,qp)Cp,q 6= (cp,qq)Cp,q . Ha ugyanis |p|, |q| < l+ 1, akkor legyen Cp,q = Cl éscp,q = cl, máskülönben pedig legyen Cp,q = C és cp.q = (cl, a0x1 . . . xk−l).

Tekintsük most az I = {(p, q); p, q ∈ Z(l + 1), p 6= q} indexhalmazra a

C′ = (C ′, Z, δ′) =∏

(p,q)∈I

Cp,q

direkt szorzatot és a C ′-beli c′ = (cp,q; (p, q) ∈ I) elemet. Nyilvánvaló, hogy{c′} a C′ automata egy (l+1) szabad része és C′ ∈ Pα0(K). Így létezik olyanC = (C,Z, δC) ∈ Pα0(K) és c ∈ C, amelyre {c} a C egy (k+ 1) szabad része.

Legyen most z1 és z2 két különböző bemenő jel Z-ből és δC(c, zt) = ct (t =1, 2). Nem nehéz belátni, hogy {c1, c2} a C egy k-szabad része. Tekintsüka D = Cm′ [{z1, z2}, ϕ′] kvázidirekt hatványt, ahol m′ ≥ log2 n (n > 1) ésϕ′j(zt) = zt (j = 1, . . . ,m′, t = 1, 2). Válasszuk a b′ = b1, . . . ,bn) ∈ Dn

vektort úgy, hogy πi(bj) ∈ {c1, c2} (i = 1, . . . ,m′) és bj1 6= bj2 , ha j1 6=j2 (1 ≤ j1, j2 ≤ m′). (πi(bj) a bj vektor i-edik komponense.) Nyilvánvaló,hogy D ∈ Pα0(K) és b′ a D automata k-szabad része.

Végül legyen m ≥ log2 |X ′|, és tekintsük

B = (B,X ′, δB) = Dm[X ′, ϕ′′]

kvázidirekt hatványt, ahol ϕ′′ az X ′ halmaz bijektív leképezése {z1, z2}m-be.Ezenkívül b = (b(1), . . . ,b(n)) ∈ Bn vektort definiáljuk a πs(b(j)) = bj (s =1, . . . ,m, j = 1, . . . , n) összefüggésekkel. Természetesen B ∈ Pα0(K). Meg-mutatjuk, hogy b a B automata k-szabad része. Ehhez, legyen p, q ∈ X ′(k).Ha j1 6= j2 (1 ≤ j1, j2 ≤ n), akkor (b(j1)p)B és (b(j2)q)B minden komponensekülönböző. Tegyük fel, hogy j1 = j2 és p 6= q. Akkor van olyan 1 ≤ s ≤ m),amelyre ϕ′′s(p) 6= ϕ′′s(q). Így (b(j1)p)B és (bq(j2))B s-edik komponense kü-lönböző. �

207

Page 208: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

23.4 Tétel Az automaták K rendszere akkor és csak akkor metrikusan σ-teljes rendszer, ha bármely X 6= ∅ halmazhoz és k nemnegatív egész számhozvan olyan A = (A,X, δ) automata és a ∈ A állapot, hogy A ∈ Pσ(K) és {a}az A automata k-szabad része.

Bizonyítás. Ha K teljesíti a feltételeket, akkor a 23.1. és a 23.2. Lemmaszerint metrikusan σ-teljes rendszer.

Megfordítva, legyen K metrikusan σ-teljes rendszer. Tegyük fel, hogyaz X 6= ∅ halmazhoz és az k nemnegatív egész számhoz nincs olyan A =(A,X, δ) automata, hogy A ∈ Pσ(K) és valamely a ∈ A állapotra {a} az Aautomata k-szabad része. (Egy automata bármely állapota az automata egy0-szabad részét alkotja, ezért feltehetjük, hogy k > 0.) Tekintsünk egy olyanB = (B,X, δ′) automatát, amelynek b ∈ B állapota az automata egy (k+1)-szabad részét alkotja. Vegyük a B′ = (B,X,B, δ′, λ′) Mealy automatát aλ′(b′, x) = b′ (b′ ∈ B, x ∈ X) kimenetfüggvénnyel. Mivel K metrikusanσ-teljes rendszer, ezért van olyan A = (A,X, δ) ∈ Pσ(K) automata és a ∈ A,hogy egy A′ = (A,X,B, δ, λ) Mealy automatára és minden p ∈ X(k + 1)bemenő szóra αB′,b(p) = αA′,a(p), azaz A′ (k+ 1) lépésben indukálja αB′,b-t.A feltevésünk miatt {a} az A automatának nem k-szabad része, így vannakolyan különböző p, q ∈ X(k) bemenő szavak, amelyekre (ap)A = (aq)A. Ezazt jelenti, hogy tetszőleges x ∈ X bemenő jelre λ(a, px) és λ(a, qx) utolsóbetűje megegyezik, ami nyilvánvalóan nem igaz λ′(a, px)-re és λ′(a, qx)-re.Ez pedig lehetetlen. Vagyis bármely X 6= ∅ halmazhoz és k nemnegatívegész számhoz van olyan A = (A,X, δ) automata és a ∈ A állapot, hogyA ∈ Pσ(K) és {a} az A automata k-szabad része. �

A 23.4. Tételt felhasználva a következő tételben a metrikusan σ-teljesrendszerek egy másik jellemzését adjuk.

23.5 Tétel Az automaták K rendszere akkor és csak akkor metrikusan teljesa Gluskov szorzatra vagy bármely αi-szorzatra (i ≥ 0), ha minden k nem-negatív egész számhoz van olyan A = (A,X, δ) ∈ K automata, amelynekvalamely a ∈ A állapotára, p ∈ Xk bemenő szavára és y1, y2 ∈ X bemenőjeleire apy1 6= apy2.

Bizonyítás. Ha K teljesíti a feltételeket, akkor a 23.3. Lemmát is felhasz-nálva a 23.4. Tételből kapjuk, hogy K metrikusan teljes rendszer az α0-szorzatra, s így metrikusan teljes rendszer minden αi-szorzatra és a Gluskovszorzatra is.

Megfordítva, legyen K metrikusan teljes rendszer a Gluskov szorzatravagy valamely αi-szorzatra. Tegyük fel, hogy van olyan nemnegatív egészk, amelyre bármely A = (A,X, δ) ∈ K, a ∈ A, p ∈ Xk és y1, y2 ∈ Xesetén apy1 = apy2. Ebből következik, hogy tetszőleges véges X ′ (|X ′| > 1)

208

Page 209: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

halmaz esetén egy B = (B,X ′, δ′) ∈ P(K) [Pαi(K)] automata bármelyb ∈ B állapotára, q ∈ X ′k bemenő szavára és y′1, y′2 ∈ X ′ bemenő jeleire(bqy′1)B = (bqy′2)B. Ezért K-beli automaták egyetlen B = (B,X ′, δ′) Gluskov[αi] szorzatának sincs olyan b ∈ B állapota, amelyre {b} a szorzat (k + 1)-szabad része lenne. A 23.4. Tétel szerint K nem metrikusan teljes rendszera Gluskov [αi] szorzatra, ami ellentmond a feltevésünknek. Így bármely knemnegatív egész számhoz van olyan A = (A,X, δ) ∈ K automata, amelynekvalamely a ∈ A állapotára, p ∈ Xk bemenő szavára és y1, y2 ∈ X bemenőjeleire apy1 6= apy2. �

23.6 Következmény Az automaták K rendszere akkor és csak akkor met-rikusan teljes az Gluskov szorzatra, ha metrikusan teljes az α0-szorzatra.

Megjegyezzük, hogy a 23.5. Tétel alapján könnyen kaphatunk egy algorit-must annak eldöntésére, hogy kimenő jel nélküli automaták egy véges K rend-szere metrikusan teljes-e az Gluskov szorzatra, s így bármely αi-szorzatra.

Mint a következő példa is mutatja, az automatáknak van véges, sőt egy-elemű metrikusan teljes rendszere az α0-szorzatra, s így minden αi-szorzatraés a Gluskov szorzatra is.

23.7 Példa A 21. fejezetben definiált D2 = ({1, 2}, {x1, x2}, δ) kétállapotúbeállító automatából álló rendszer, ahol

δ(1, x1) = δ(1, x2) = δ(2, x1) = 1, δ(2, x2) = 2,

az automaták metrikusan teljes rendszere az α0-szorzatra.Ugyanis minden k nemnegatív egész számra 2xk2x1 6= 2xk2x2, azaz telje-

sülnek a 23.5. Tétel feltételei.

209

Page 210: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

V. SPECIÁLIS AUTOMATAOSZTÁLYOKEbben a részben részletesebben vizsgálunk néhány olyan automataosztályt,amelyek fontos szerepet játszanak az elmélet kiépítésében. A vizsgálatok-ban általában félcsoportelméleti és csoportelméleti eredményeket használunk.Legtöbbször kimenő jel nélküli automatákat tekintünk. Mint már az 1. fe-jezetben megjegyeztük, ha az adott definícióban az automata kimeneti vi-selkedése nem játszik szerepet, akkor a Mealy vagy Moore automatát akkornevezzük adott típusúnak, ha vetülete is ugyanolyan típusú.

24. Ciklikus automatákA ciklikus automaták az információátalakító és a nyelvfelismerő rendszerek-nél alapvető jelentőségűek. Rájuk vonatkozó néhány egyszerű eredménytmegadtunk a 2. fejezetben, mint például azt is, hogy minden automata le-fedhető ciklikus automatákkal.

Egy automatát ciklikusnak neveztünk, ha van egyelemű generátorrend-szere, röviden mondva generátoreleme. Ciklikus automaták közé tartoznakaz iniciálisan összefüggő automaták is, speciálisan a 9. fejezetben definiáltalsó és felső automaták. Ciklikus automata homomorf képe ciklikus, generá-torelem homomorf képe generátorelem.

Ha az A = (A,X, δ) ciklikus automata egy a0 generátoreleméhez vanolyan r ∈ X+ bemenő szó, hogy a0r = a0, akkor δ szürjektív és

A = {a0p; p ∈ X+}.

Ekkor az mondjuk, hogy az A automata az üres szó nélkül ciklikus. Ha nincsilyen r ∈ X+, akkor

A = {a0p; p ∈ X∗}.Ez utóbbi esetben a0 az automatának egyetlen generátoreleme és δ nem szür-jektív. Ebben azt esetben pedig az mondjuk, hogy az A automata az üresszóval ciklikus.

Legyen ρ az X∗ (X 6= ∅) szabad monoid jobb kongruenciája. Definiáljukaz X∗/ρ = (X∗/ρ,X, δρ) automata átmenetfüggvényét a

(24.1) δρ(ρ[p], x) = ρ[px] (p ∈ X∗, x ∈ X)

feltétellel. Nem nehéz belátni, hogy X∗/ρ ciklikus automata és ρ[e] az auto-mata egy generátoreleme. Most megmutatjuk, hogy az A = (A,X, δ) ciklikusautomaták izomorfiától eltekintve éppen az X∗/ρ automaták, ahol a ρ relá-ciók X∗ jobb kongruenciái. Ehhez szükségünk lesz a (7.1) feltétellel definiáltρA,a (a ∈ A) relációkra.

210

Page 211: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

24.1 Tétel Ha a0 az A = (A,X, δ) ciklikus automata egy generátoreleme,akkor A ∼= X∗/ρA,a0 .

Bizonyítás. Definiáljuk a ϕ : A→ X∗/ρA,a0 leképezést a

ϕ(a0p) = ρA,a0 [p], p ∈ X∗

feltétellel. Könnyen megmutatható, hogy ϕ az A automata izomorf leképe-zése az X∗/ρA,a0 automatára. �

Legyen ρ egy S félcsoport jobb kongruenciája. Az S félcsoport tetszőlegess elemére definiáljuk a ρs relációt a következő módon:

(24.2) (u, v) ∈ ρs (u, v ∈ S) ⇐⇒ (su, sv) ∈ ρ.

Nem nehéz belátni, hogy ρs is S egy jobb kongruenciája. Az

(24.3) NS(ρ) = {s ∈ S; ρ ⊆ ρs}

halmazt ρ normalizátorának nevezzük. Ha ρ kongruencia, akkor NS(ρ) = S.Tekintsük továbbá NS(ρ)

(24.4) N ′S(ρ) = {s ∈ S; ρ = ρs}

részhalmazát.

24.2 Lemma Ha NS(ρ) 6= ∅, akkor az S félcsoport olyan részfélcsoportja,amely ρ-osztályok egyesítése. Ha N ′S(ρ) 6= ∅, akkor az NS(ρ) normalizátorolyan részfélcsoportja, amely szintén ρ-osztályok egyesítése. Ha S monoid,akkor NS(ρ) S-nek, N ′S(ρ) pedig NS(ρ)-nek részmonoidja.

Bizonyítás. Legyenek r, t ∈ NS(ρ), vagyis ρ ⊆ ρr és ρ ⊆ ρt. Akkor

(u, v) ∈ ρ (u, v ∈ S) =⇒ (tu, tv) ∈ ρ =⇒ (rtu, rtv) ∈ ρ,

azaz (u, v) ∈ ρrt. Így st ∈ NS(ρ), ami azt jelenti, hogy NS(ρ) az S egyrészfélcsoportja. Legyenek most r, t ∈ N ′S(ρ), vagyis ρ = ρr = ρt. Akkor

(u, v) ∈ ρrt (u, v ∈ S) =⇒ (rtu, rtv) ∈ ρ =⇒ (tu, tv) ∈ ρ =⇒ (u, v) ∈ ρ,

vagyis ρ = ρrt, tehát rt ∈ N ′S(ρ), így N ′S(ρ) az NS(ρ) normalizátor részfél-csoportja.

Tegyük fel most, hogy az r, t ∈ S elemekre r ∈ NS(ρ) és (r, t) ∈ ρ. Ha(u, v) ∈ ρ (u, v ∈ S), akkor (ru, rv) ∈ ρ, mivel r ∈ NS(ρ). De (r, t) ∈ ρ,így (ru, tu) ∈ ρ és (rv, tv) ∈ ρ. Ebből kapjuk, hogy (tu, tv) ∈ ρ, azazt ∈ NS(ρ) Tehát valóban NS(ρ) ρ-osztályok egyesítése. Tegyük fel, hogy

211

Page 212: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

r ∈ N ′S(ρ) és (r, t) ∈ ρ. Ha (u, v) ∈ ρt, akkor (tu, tv) ∈ ρ. De (ru, tu) ∈ ρés (rv, tv) ∈ ρ, mivel (r, t) ∈ ρ. Amiből kapjuk, hogy (ru, rv) ∈ ρ. Der ∈ N ′S(ρ), ezért (u, v) ∈ ρ, azaz ρt = ρ, vagyis t ∈ N ′S(ρ), tehát N ′S(ρ) isρ-osztályok egyesítése.

Ha S monoid és eS S egységeleme, akkor eS ∈ N ′S(ρ), azaz NS(ρ) S-nek,N ′S(ρ) pedig NS(ρ)-nak részmonoidja. �

A 24.2. Lemma szerint, ha egy félcsoport jobb kongruenciáját a norma-lizátorára szűkítjük, akkor a normalizátor egy kongruenciáját kapjuk.

24.3 Tétel Ha a0 az A = (A,X, δ) ciklikus automata egy generátoreleme,M = NX∗(ρA,a0) és ρA,a0 M -re való szűkítése ρ′, akkor E(A) ∼= M/ρ′.

Bizonyítás. Az M normalizátor minden p eleméhez rendeljük hozzá azt aϕp : A → A megfeleltetést, amelyre bármely a = a0q ∈ A (q ∈ X∗) eseténϕp(a0q) = a0pq teljesül. Jelöljük ezt a leképezést η-val.

Először megmutatjuk, hogy ϕp leképezés. Valóban, ha az r ∈ X∗ bemenőszóra a0q = a0r, akkor (q, r) ∈ ρA,a0 , tehát p ∈ NX∗(ρA,a0) miatt (pq, pr) ∈ρA,a0 , ahonnan a0pq = a0pr, következésképpen ϕp(a0q) = ϕp(a0r).

Ha x ∈ X, akkor

ϕp(δ(a, x)) = ϕp(δ(a0q, x)) = ϕp(a0qx) = a0pqx =

= δ(a0pq, x) = δ(ϕp(a0q), x) = δ(ϕp(a), x),

vagyis ϕp ∈ E(A). Ezzel megmutattuk, hogy η M -et az E(A) endomorfiz-musfélcsoportba képezi le.

Megmutatjuk, hogy η szürjekció. Legyen e célból ϕ ∈ E(A) és ϕ(a0) =a0t (t ∈ X∗). Ha (u, v) ∈ ρA,a0 , akkor a0u = a0v, s így

a0tu = ϕ(a0)u = ϕ(a0u) = ϕ(a0v) = ϕ(a0)v = a0tv,

azaz t ∈ NX∗(ρA,a0). Másrészt bármely a = a0q (q ∈ X∗) esetén

ϕ(a) = ϕ(a0q) = ϕ(a0)q = a0tq = ϕt(a0q) = ϕt(a),

tehát ϕ = ϕt. Ez éppen azt jelenti, hogy η szürjekció.Legyenek végül s, r ∈M tetszőlegesek. Akkor bármely a = a0q állapotra

ϕs(ϕr(a)) = ϕs(a0rq) = a0srq = ϕsr(a),

azaz ϕsϕr = ϕsr, vagyis η homomorfizmus. Továbbá ϕs = ϕt (s, t ∈ M)akkor és csak akkor, ha (s, t) ∈ ρA,a0 . A 24.2. Lemma szerint ker η = ρ′,ezért E(A) ∼= M/ρ′. �

212

Page 213: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Jelölje szokásosan S1(A) = X∗/ρA [S(A) = X+/ρA] az A = (A,X, δ)automata karakterisztikus monoidját [félcsoportját] (l. 7. fejezet). Ha Aaz üres szóval ciklikus és az a0 generátorelemére ρA,a0 kongruencia, akkorS1(A) = S(A) ∪ {e}. Ha pedig A az üres szó nélkül ciklikus és egy a0

generátorelemére ρA,a0 kongruencia, akkor S1(A) ∼= S(A).Ha az A = (A,X, δ) ciklikus automata a0 generátorelemére ρA,a0 kong-

ruencia, akkor az A automatát karakterisztikus automatának nevezzük. HaρA,a0 kongruencia, akkor ρA,a0 = ρA. A 24.1. Lemma szerint A ∼= X∗/ρA. Aza0 generátorelemet karakterisztikus generátorelemnek nevezzük. Az elnevezésonnan származik, hogy X∗/ρA az A automata karakterisztikus monoidja.

Ha ρ az X∗ szabad monoid kongruenciája, akkor X∗/ρ ciklikus automa-ta karakterisztikus automata, amelynek karakterisztikus monoidja X∗/ρ ésρ[e] egy karakterisztikus generátoreleme. Így az X feletti karakterisztikusautomaták (izomorfia erejéig) az X∗/ρ automaták, ahol ρ ∈ C(X∗).

24.4 Következmény Ha A = (A,X, δ) karakterisztikus automata, akkorE(A) ∼= S1(A).

Bizonyítás. Ha ρA,a0 kongruencia, akkor ρA,a0 = ρA és NX∗(ρA,a0) = X∗,amiből az előző tételt alkalmazva, kapjuk az állítást. �

24.5 Lemma Bármely A = (A,X, δ) ciklikus automatára

|E(A)| ≤ |A| ≤ |S1(A)|.

Ha az A karakterisztikus automata, akkor

|E(A)| = |A| = |S1(A)|.

Bizonyítás. Ha a0 az A automata egy generátoreleme, akkor az α→ α(a0)(α ∈ E(A)) leképezés injektív, s így |E(A)| ≤ |A|. Ha a p, q ∈ X∗ bemenőszavakra a0p 6= a0q, akkor ρA[p] 6= ρA[q]. Amiből következik, hogy |A| ≤|S1(A)|.

Ha ρA,a0 kongruencia, akkor a 24.4. Következmény szerint E(A) ∼=S1(A), ezért |E(A)| = |A| = |S1(A)|. �

24.6 Tétel Ha az A = (A,X, δ) karakterisztikus automata C(A) kongru-enciahálója véges, akkor az A automata A-véges.

Bizonyítás. Ha az A ciklikus automata valamely a0 ∈ A generátoreleméreρA,a0 kongruencia, akkor a 24.4. Következmény, a 24.5 Lemma és a 6.6. Tételfelhasználásával kapjuk az eredményt. �

Az Ak = (Ak, X, δk) (k ∈ I) automatákat kapcsoltaknak nevezzük, havan olyan a0 ∈

∏k∈I Ak vektor, hogy bármely a ∈

∏k∈I Ak vektorhoz létezik

213

Page 214: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

olyan p ∈ X∗ bemenő szó, hogy a = a0p. Az Ak (k ∈ I) kapcsolt automatákciklikusak, mivel egy generátorelemük a0 k-adik komponense. Nyilvánvalóanigaz a

24.7 Lemma Az Ak = (Ak, X, δk) (k ∈ I) automaták direkt szorzata akkorés csak akkor ciklikus, ha az Ak automaták kapcsoltak.

A lemmából következik, hogy ciklikus automata csak ciklikus automa-ták direkt szorzatára bontható fel. A 7.14. Tételből kapjuk a következőeredményt.

24.8 Következmény Az üres szó nélkül ciklikus automaták karakteriszti-kus félcsoportjai bal reduktívek.

Végül általánosítjuk a 24.1. Tételt ciklikus Mealy automatákra. Ehhezszükségünk lesz tetszőleges A = (A,X, Y, δ, λ) Mealy automata esetén a (7.1)feltétellel definiált ρA,a és a (7.5) feltétellel definiált τA,a (a ∈ A) relációkra.Legyen ρ az X∗ szabad monoid egy binér relációja és ρ+ = ρX+ , azaz ρszűkítése X+-ra. Definiáljuk az X+ szabad félcsoport ρ′ binér relációját akövetkezőképpen: Tetszőleges p, q ∈ X+ szavakra (p, q) ∈ ρ′ akkor és csakakkor, ha vannak olyan u, v ∈ X∗ és r ∈ X+ szavak, amelyekre p = ur,q = vr és (u, v) ∈ ρ. Ha ρ az X∗ szabad monoid jobb kongruenciája, akkorρ′ az X+ szabad félcsoport jobb kongruenciája és ρ′ ⊆ ρ+.

Legyen továbbá ξ olyan ekvivalencia X+-on, amelyre ρ′ ⊆ ξ. Definiáljukaz

(24.5) X∗/(ρ, ξ) = (X∗/ρ,X,X+/ξ, δρ,ξ, λρ,ξ)

Mealy automatát a

δρ,ξ(ρ[p], x) = ρ[px], λρ,ξ(ρ[p], x) = ξ[px], (p ∈ X∗, x ∈ X)

átmenet- és kimenetfüggvénnyel. Világos, hogy X∗/(ρ, ξ) olyan ciklikus Me-aly automata, amelynek ρ[e] egy generátoreleme és

ρ = ρX∗/(ρ,ξ),ρ[e], ξ = (τX∗/(ρ,ξ),ρ[e])+.

Ha ρ+ ⊆ ξ, akkor X∗/(ρ, ξ) teljesíti a Moore kritériumot.A következő tételben megmutatjuk, hogy az A = (A,X, Y, δ, λ) ciklikus

Mealy automaták AY-izomorfiától eltekintve éppen az X∗/(ρ, ξ) automaták,ahol a ρ relációk X∗ jobb kongruenciái, a ξ relációk pedig X+ olyan ek-vivalenciái, amelyekre ρ′ ⊆ ξ. Továbbá pontosan akkor teljesítik a Moorekritériumot, ha ρ+ ⊆ ξ.

214

Page 215: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

24.9 Tétel Ha a0 az A = (A,X, Y, δ, λ) ciklikus Mealy automata egy gene-rátoreleme, akkor

(ρA,a0)′ ⊆ (τA,a0)

+

és A AY-izomorf az X∗/(ρA,a0 , (τA,a0)+) automatával. Ha A teljesíti a Moore

kritériumot, akkor(ρA,a0)

+ ⊆ (τA,a0)+.

Bizonyítás. Legyen a0 az A = (A,X, Y, δ, λ) ciklikus Mealy automata egygenerátoreleme. Ha (p, q) ∈ ρA,a0 (p, q ∈ X∗) és r ∈ X+, akkor

λ(a0, pr) = λ(a0, p)λ(a0p, r) = λ(a0p, r) =

= λ(a0q, r) = λ(a0, q)λ(a0q, r) = λ(a0, qr),

amiből következik a(ρA,a0)

′ ⊆ (τA,a0)+

tartalmazás.Ha A teljesíti a Moore kritériumot és (p, q) ∈ (ρA,a0)

+ (p, q ∈ X∗), akkor

p = p1x, q = q1z (p1, q1 ∈ X∗, x, z ∈ X),

ezértδ(a0p1, x) = a0p = a0q = δ(a0q1, z),

λ(a0, p) = λ(a0p1, x) = λ(a0q1, z) = λ(a0, q),

vagyis (ρA,a0)+ ⊆ (τA,a0)

+.Definiáljuk a

ϕ : A→ X∗/ρA,a0 , ψ : Y → X+/(τA,a0)+

leképezéseket minden p ∈ X∗ és q ∈ X+ esetén a

ϕ(a0p) = ρA,a0 [p], ψ(λ(a0, q)) = (τA,a0)+[q]

feltételekkel. Mivel A ciklikus és λ szürjektív, ezért ϕ és ψ is szürjektív.Az nyilvánvaló, hogy mind a két leképezés injektív. Könnyen megmutatható,hogy (ϕ, ιX , ψ) az A automata AY-izomorf leképezése az X∗/(ρA,a0 , (τA,a0)

+)automatára. �

24.10 Példa Legyen X = {x, y}. Ha az X∗ szabad monoid ρ jobb kongru-enciájának osztályai:

e, xX∗, yX∗,

215

Page 216: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

akkor a ρ′ jobb kongruencia osztályai:

x, xX∗x, xX∗y, y, yX∗x, yX∗y,

ρ+ osztályai:xX∗, yX∗,

Ha az X+ szabad félcsoport (ρ′ ⊆)ξ ekivalenciájának osztályai:

xX∗, y, yX∗x, yX∗y,

akkor X∗/(ρ, ξ) ciklikus Mealy automata átmenet-kimenettáblázata:

e xX∗ yX∗

x (xX∗, xX∗) (xX∗, xX∗) (yX∗, yX∗x)y (yX∗, y) (xX∗, xX∗) (yX∗, yX∗y)

De ξ ⊂ ρ+, ezért X∗/(ρ, ξ) nem teljesíti a Moore kritériumot. Az X∗/(ρ, ρ+)automata átmenet-kimenettáblázata:

e xX∗ yX∗

x (xX∗, xX∗) (xX∗, xX∗) (yX∗, yX∗)y (yX∗, yX∗) (xX∗, xX∗) (yX∗, yX∗)

Ez az automata teljesíti a Moore kritériumot.

Feladatok24.1 Ha ρ1, ρ2 az X∗ szabad monoid jobb kongruenciái és ξ1, ξ2 az X+ szabadfélcsoport ekvivalenciái, amelyekre a

(24.6) ρ1 ⊆ ρ2, ξ1 ⊆ ξ2, ρ′1 ⊆ ξ1, ρ′2 ⊆ ξ2

feltételek teljesülnek, akkor X∗/(ρ2, ξ2) AY-homomorf képe az X∗/(ρ1, ξ1) auto-matának (l. (24.5)). Megfordítva, ha az A = (A,X, Y, δ, λ) Mealy automata AY-homomorf képe az X∗/(ρ1, ξ1) automatának, akkor van olyan X∗/(ρ2, ξ2) automa-ta, amelyre a (24.6) feltételek teljesülnek és X∗/(ρ2, ξ2) AY-izomorf az X∗/(ρ1, ξ1)automatával.24.2. Az X∗/(ρ, ξ) ciklikus Mealy automata AY-homomorf képe az X∗/(ρ, ρ′)ciklikus Mealy automatának. Ha X∗/(ρ, ξ) Moore automata, akkor AY-homomorfképe az X∗/(ρ, ρ+) ciklikus Moore automatának.24.3. Az A = (A,X, δ) végesen generálható automata akkor és csak akkor véges,ha karakterisztikus félcsoportja véges.

216

Page 217: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

25. Erősen összefüggő automatákAz erősen összefüggő automata, mint a 2. fejezetben is definiáltuk, olyanciklikus automata, amelynek minden állapota generátorelem, vagyis bármelyállapotából elérhető minden állapot. Ezek szerint az erősen összefüggő au-tomaták átmenetfüggvénye szürjektív. Erősen összefüggő automata mindenhomomorf képe is erősen összefüggő. Az eddigi vizsgálatok is azt mutatják,hogy az erősen összefüggő automaták osztálya az egyik legfontosabb auto-mataosztály. A 2.4. Tételben megmutattuk, hogy egy automata akkor éscsak akkor reverzibilis, ha erősen összefüggő automaták direkt összege. A2.2. Tételben az erősen összefüggő automaták egy egyszerű jellemzését ad-tuk. Nevezetesen beláttuk, hogy egy automata akkor és csak akkor erősenösszefüggő, ha nincs valódi részautomatája. Ebből adódik a következő állítás.

25.1 Lemma Erősen összefüggő automata minden endomorfizmusa szürjek-tív. A-véges erősen összefüggő automata minden endomorfizmusa automor-fizmus.

Bizonyítás. Legyen α az A = (A,X, δ) erősen összefüggő automata egyendomorfizmusa és

α(A) = {α(a); a ∈ A}.

Minthogy (α(A), X, δ) az A automata részautomatája, ezért a 2.2. Tételbőlkövetkezik, hogy α(A) = A, azaz α szürjektív. Ha az A automata A-véges,akkor ez azt jelenti, hogy α bijektív. �

Valamely H 6= ∅ halmaz egy G transzformációfélcsoportja reguláris, habármely α, β ∈ G és a ∈ H esetén α(a) = β(a) akkor és csak akkor, haα = β. Ha G reguláris, akkor bármely α ∈ G és a ∈ H esetén α(a) = a akkorés csak akkor, ha α = ιH . A H 6= ∅ halmaz egy G permutációcsoportjanyilvánvalóan akkor és csak akkor reguláris, ha bármely α ∈ G és a ∈ Hesetén α(a) = a akkor és csak akkor, ha α = ιH .

25.2 Lemma Bármely A = (A,X, δ) erősen összefüggő automata E(A)endomorfizmusfélcsoportja reguláris.

Bizonyítás. Legyenek α, β ∈ E(A). Tegyük fel, hogy van olyan a ∈ A,amelyre α(a) = β(a). Tekintsünk most egy tetszőleges b ∈ A állapotot.Mivel A erősen összefüggő, ezért van olyan r ∈ X∗, hogy b = ar. Így

α(b) = α(ar) = α(a)r = β(a)r = β(br) = β(b),

azaz α = β. �

217

Page 218: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

25.3 Következmény Ha az A-véges A = (A,X, δ) automata erősen össze-függő, akkor |G(A)| osztója |A|-nak.

Bizonyítás. Definiáljuk az A állapothalmazon a ρ binér relációt a következőmódon:

(25.1) (a, b) ∈ ρ ⇐⇒ (∃α ∈ G(A)) (α(a) = b).

Az előző lemma alapján nem nehéz megmutatni, hogy ρ uniform ekvivalencia(amely kongruencia is), s minden a ∈ A állapotra |ρ[a]| = |G(A)|. �

Egy A = (A,X, δ) erősen összefüggő automata minden állapota generá-torelem, ezért a 24.3. Tétel A bármely a ∈ A állapotára igaz. Igaz továbbáa következő tétel is.

25.4 Tétel Ha a az A = (A,X, δ) erősen összefüggő automata tetszőlegesállapota, M ′ = N ′X∗(ρA,a) és ρA,a M ′-re való szűkítése ρ′, akkor G(A) ∼=M ′/ρ′.

Bizonyítás. A 24.3. Tétel bizonyítását és a 24.2. Lemmát felhasználvaelegendő tetszőleges a ∈ A állapotra következőket megmutatni. Ha p ∈ M ′,akkor a ϕp bijektív. Továbbá minden α ∈ G(A) automorfizmushoz van olyanp ∈M ′, hogy α = ϕp.

Mivel A erősen összefüggő, vannak olyan r, t ∈ X∗, amelyekre b = arés c = at. Akkor ϕp definíciója miatt apr = apt, azaz (pr, pt) ∈ ρA,a. Dep ∈ M ′, ezért (r, t) ∈ ρA,a, azaz b = ar = at = c. Ezzel megmutattuk, hogyϕp injektív. A 25.1. Lemma szerint ϕp bijektív, azaz ϕp ∈ G(A).

Ha α ∈ E(A), akkor a 24.3. Tétel bizonyítása szerint van olyan p ∈ M ,hogy α = ϕp. Tegyük fel, hogy α ∈ G(A). Legyen (u, v) ∈ (ρA,a)p, azazϕp(au) = apu = apv = ϕp(av). Mivel ϕp = α injektív, ezért au = av, azaz(u, v) ∈ ρA,a. Így (ρA,a)p = ρA,a, tehát p ∈M ′. �

Most megadunk a véges csoportok segítségével egy speciális automataosz-tályt, s megmutatjuk, hogy az A-véges erősen összefüggő automaták osztálya(izomorfia erejéig) részosztálya ennek az automataosztálynak.

Legyen G tetszőleges véges csoport. Jelölje G egységelemét 1. Adjun-gáljunk G-hez egy 0-val jelölt zéruselemet. Az így kapott algebrai struktúralegyenG0. Vezessünk beG0-n egy összeadásnak (+) nevezett (binér) parciálisműveletet úgy, hogy minden g ∈ G0 elem esetén legyen

g + 0 = 0 + g = g.

A G csoport elemeire az összeadást nem definiáljuk.Legyen n tetszőleges pozitív egész szám. Jelölje Gn a G0 elemeiből képe-

zett (a1, a2, . . . , an) vektorok azon halmazát, amelyek pontosan egy kompo-nense G-beli elem. Jelöljük ezeket a vektorokat röviden (gk)-val, ha g ∈ G

218

Page 219: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a vektor k-adik komponense. Bármely h, g ∈ G elemekre legyen h(gk) =((hg)k). Legyen továbbá Gn×n azon n × n-es mátrixok halmaza, amelyeksorvektorai Gn-beli vektorok. Ezeket a mátrixokat jelölje röviden (gkl), aholgkl a mátrix k-adik sorának l-edik eleme. Gn×n a mátrixok

(gkl)(hkl) = (n∑j=1

gkjhjl)

szorzására monoidot alkot. Az egységelem az a (gkl) mátrix, amelyre gkk = 1(k = 1, 2, . . . , n) és gkl = 0, ha k 6= l. Értelmezzük Gn és Gn×n elemeinekszorzatát (ilyen sorrendben) szintén szokásosan, azaz

(a1, . . . , an)(hkl) = (n∑j=1

ajhj1, . . . ,n∑j=1

ajhjn).

Legyen X 6= ∅ és Ψ : X → Gn×n. Jelölje Ψkl(x) a Ψ(x) mátrix k-adik sorának l-edik elemét, azaz Ψ(x) = (Ψkl(x)). Az A = (Gn, X, δψ)automatát (G feletti n-edrendű ) csoport-mátrix automatának vagy röviden(n,G) automatának nevezzük, ha minden (gk) ∈ Gn és x ∈ X esetén

(25.2) δ((gk), x) = (gk)Ψ(x).

Ha Ψ X∗-ra való monoid-homomorf kiterjesztését szintén Ψ-vel jelöljük, ak-kor nem nehéz megmutatni, hogy bármely (gk) ∈ Gn állapotra és p ∈ X∗

bemenő szóra (gk)p = (gk)Ψ(p).

25.5 Lemma Az A = (Gn, X, δΨ) csoport-mátrix automata akkor és csakakkor redukált bemenetű, ha Ψ injektív.

Bizonyítás. Ha A redukált bemenetű, akkor Ψ nyilvánvalóan injektív.Megfordítva, tegyük fel, hogy Ψ injektív. Legyenek az x1 és x2 bemenő

jelek olyanok, hogy minden (gk) ∈ Gn állapotra

(gk)Ψ(x1) = δΨ((gk), x1) = δΨ((gk), x2) = (gk)Ψ(x2).

Ha (gk) helyére sorra azokat a Gn-beli vektorokat írjuk, amelyeknek első,második, . . . , n-edik komponense 1, akkor azt kapjuk, hogy Ψ(x1) és Ψ(x2)első, második, . . . , n-edik sora megegyezik. Így Ψ(x1) = Ψ(x2). De Ψinjektív, ezért x1 = x2, vagyis A redukált bemenetű. �

25.6 Tétel Ha A = (Gn, X, δΨ) csoport-mátrix automata, akkor G izomorfG(A) egy részcsoportjával.

219

Page 220: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tetszőleges g ∈ G elemre definiáljuk a ϕg : Gn → Gn leké-pezést úgy, hogy minden h ∈ G elem esetén ϕg((hk)) = ((gh)k) teljesüljön.Nyilvánvaló, hogy ϕg a Gn halmaz egy permutációja.

Megmutatjuk, hogy ϕg ∈ G(A). Ha h ∈ G és x ∈ X, akkor

ϕg(δΨ((hk), x)) = ϕg((hk)Ψ(x)) = g((hk)Ψ(x)) =

= ((gh)k)Ψ(x) = ϕg((hk))Ψ(x) = δΨ(ϕg((hk)), x),

ami azt jelenti, hogy ϕg ∈ G(A).Az η(g) = ϕg (g ∈ G) leképezés G injektív leképezése G(A)-ba. Továbbá

minden f, g, h ∈ G esetén

ϕfg((hk)) = (((fg)h)k) = ((f(gh))k) = ϕfϕg((hk)),

azaz ϕfg = ϕfϕg, vagyis η G izomorf leképezése G(A)-ba. �Az A = (Gn, X, δΨ) csoport-mátrix automatát regulárisnak nevezzük, ha

erősen összefüggő és G izomorf G(A)-val.

25.7 Következmény Minden A = (G1, X, δΨ) (1, G) automata permutá-cióautomata. Ha A erősen összefüggő, akkor reguláris.

Bizonyítás. Ha A (1, G) automata, akkor G1 = G1×1 = G. Így, ha ag, h ∈ G állapotokra és az x ∈ X bemenő jelre

gΨ(x) = δΨ(g, x) = δΨ(h, x) = hΨ(x),

akkor g = h. Ez azt jelenti, hogy A permutációautomata.Ha A erősen összefüggő, akkor a 25.3. Következmény szerint |G(A)|

osztója |G|-nek. Ezért 25.6. Tételből következik, hogy G izomorf G(A)-val.�

25.8 Tétel Minden A-véges erősen összefüggő A = (A,X, δ) automatáhozvan vele izomorf reguláris (n,G) automata, ahol |A| = n|G(A)|.

Bizonyítás. Azt mutatjuk meg, hogy van olyan (n,G(A)) automata, amelyizomorf A-val. Tekintsük a (25.1) feltétellel definált ρ uniform kongruenciát.Legyenek a ρ-osztályok

ρ[a1], ρ[a2], . . . , ρ[an].

Bármely ak állapothoz és x ∈ X bemenő jelhez egyetlen olyan al állapot ésβ ∈ G(A) van, amelyekre δ(ak, x) = β(al). Legyen Ψ : X → G(A)n×n az aleképezés, amelyre Ψkl(x) = β és Ψkj(x) = 0, ha j 6= l.

220

Page 221: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megmutatjuk, hogy az A′ = (G(A)n, X, δΨ) izomorf A-val. Legyen a ∈ Aés a ∈ ρ[ak]. Egyetlen olyan α ∈ G(A) van, amelyre a = α(ak). Definiáljuk aϕ : A→ G(A)n leképezést minden a ∈ A állapotra a ϕ(a) = (αk) feltétellel.A 25.2. Lemmából és (25.1)-ből következik, hogy ϕ bijektív. Továbbá

δ(a, x) = δ(α(ak), x) = α(δ(ak, x)) = αβ(al),

ezért

ϕ(δ(a, x)) = ((αβ)l) = (αk)Ψ(x) = δΨ((αk), x) = δΨ(ϕ(a), x),

vagyis ϕ az A automata izomorf leképezése A′-re. �

25.9 Lemma Az A = (Gn, X, δΨ) csoport-mátrix automata akkor és csakakkor erősen összefüggő, ha minden k, l (1 ≤ k, l ≤ n) párhoz és g ∈ Gelemhez van olyan p ∈ X∗, hogy Ψkl(p) = g.

Bizonyítás. Legyen A erősen összefüggő és g ∈ G. Jelölje (1k) ∈ Gn azta vektort, amelynek k-adik komponense 1, (gl) ∈ Gn pedig azt, amelynekl-edik komponense g. Mivel A erősen összefüggő, ezért van olyan p ∈ X∗,hogy

(gl) = (1k)p = (1k)Ψ(p).

Ez pontosan azt jelenti, hogy Ψ(p) k-adik sorának l-edik eleme g, azazΨkl(p) = g.

Megfordítva, tegyük fel, hogy minden k, l (1 ≤ k, l ≤ n) párhoz és Gminden eleméhez, így tetszőleges g, h ∈ G esetén a g−1h elemhez is van olyanp ∈ X∗, hogy Ψkl(p) = g−1h. Akkor

(hl) = (gk)Ψ(p) = (gk)p,

ami éppen azt jelenti, hogy A erősen összefüggő. �A csoport-mátrix automatákat részletesen tárgyalja Masami Ito [38]

könyvében. Erősen összefüggő automatákra még néhány egyszerűbb ered-ményt közlünk. Könnyen belátható a következő lemma.

25.10 Lemma Erősen összefüggő automata karakterisztikus félcsoportja balreduktív.

25.11 Lemma Erősen összefüggő permutáció automata minden kongruen-ciája uniform.

221

Page 222: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen ρ az A tetszőleges kongruenciája és a, b ∈ A tetszőlegesállapotok. Mivel A erősen összefüggő, ezért vannak olyan p, q ∈ X∗ bemenőszavak, amelyekre b = ap és a = qb. Akkor

ρ[a]p ⊆ ρ[b], ρ[b]q ⊆ ρ[a].

De minden bemenő jel permutációjel, így

|ρ[a]| = |ρ[a]p| ≤ |ρ[b]| = |ρ[b]q| ≤ |ρ[a]|,

azaz |ρ[a]| = |ρ[b]|. �Az Ak = (Ak, X, δk) (k ∈ I) automatákat erősen kapcsoltaknak nevezzük,

ha bármely a,b ∈∏

k∈I Ak vektorpárhoz létezik olyan p ∈ X∗ bemenő szó,hogy ap = b. Az Ak (k ∈ I) erősen kapcsolt automaták kapcsoltak is ésnyilvánvalóan erősen összefüggők. Nem nehéz belátni a következő állítást.

25.12 Lemma Az Ak (k ∈ I) automaták direkt szorzata akkor és csakakkor erősen összefüggő, ha az Ak automaták erősen kapcsoltak.

A lemma szerint erősen összefüggő automata csak erősen összefüggő au-tomaták direkt szorzatára bontható fel.

Feladatok25.1 Ha A = (A,X, δ) A-véges erősen összefüggő automata, akkor |S1(A)| ≤|A|

|A||G(A)| .

25.2 Az erősen összefüggő A = (A,X, δ) automata a, b ∈ A állapotaira legyen

U(a, b) = {p ∈ X∗; ap = b}.

Az A halmaz egy π permutációjára π ∈ G(A) akkor és csak akkor, ha van olyana ∈ A állapot, hogy minden b ∈ A állapotra U(a, b) = U(π(a), π(b)).25.3 Az előző feladat jelöléseit használva, legyen az a ∈ A állapotra

U(a) = {U(a, α(a)); α ∈ G(A)}.

Vezessük be az U(a) halmazon ∗a műveletet a következőképpen:

U(a, α(a)) ∗a U(a, β(a)) = U(a, αβ(a)) (α, β ∈ G(A)).

U(a) a ∗a műveltre G(A)-val izomorf csoport.

222

Page 223: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

26. Kommutatív automatákAz A = (A,X, δ) automatát kommutatívnak nevezzük, ha bármely a ∈ Aállapotra és x, z ∈ X bemenő jelekre

(26.1) δ(δ(a, x), z) = δ(δ(a, z), x)

teljesül. A (26.1) egyenletet axz = azx alakban is írhatjuk. Kommutatívautomata részautomatái és homomorf képei is kommutatívak. Nem nehézbelátni a következő lemmát.

26.1 Lemma Ha az A automata kommutatív, x1, . . . , xk pedig az X beme-nő halmaz tetszőleges elemei, akkor bármely a ∈ A állapotra és az 1, . . . , kindexek bármely π permutációjára

ax1 . . . xk = axπ(1) . . . xπ(k).

26.2 Következmény Az A automata akkor és csak akkor kommutatív, hakarakterisztikus félcsoportja kommutatív.

Bizonyítás. A 26.1. lemmából következik, hogy minden a ∈ A állapotraés p, q ∈ X+ bemenő szavakra apq = aqp, ami éppen azt jelenti, hogy akarakterisztikus félcsoport kommutatív.

Megfordítva, ha a karakterisztikus félcsoport kommutatív, akkor nyilván-valóan teljesül a (26.1) feltétel. �

A Z(S) = {t ∈ S; (∀s ∈ S)(st = ts)} halmazt az S félcsoport cent-ralizátorának nevezzük. Ha Z(S) 6= ∅, akkor nyilvánvalóan kommutatívrészfélcsoportja S-nek.

Adjuk meg az A = (A,X, δ) kommutatív automata S1(A) karakteriszti-kus monoidját a (7.3) feltétellel, azaz legyen S1(A) = T (A).

26.3 Tétel Az A = (A,X, δ) kommutatív automata T (A) karakterisztikusmonoidja az E(A) endomorfizmusfélcsoport centralizátorának részmonoidja.Ha A ciklikus kommutatív automata, akkor T (A) = E(A) és |E(A)| = |A| =|T (A)|.

Bizonyítás. Ha p ∈ X∗, akkor minden a ∈ A állapotra és x ∈ X bemenőjelre

δp(ax) = axp = apx = δp(a)x,

vagyis δp ∈ E(A). Ha α ∈ E(A), akkor minden a ∈ A állapotra

αδp(a) = α(ap) = α(a)p = δpα(a),

223

Page 224: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amiből αδp = δpα, azaz δp ∈ Z(E(A)). Ha p, q ∈ X∗, akkor

δpδq = δqp = δpq = δp ◦ δq,

ami azt jelenti, hogy T (A) a Z(E(A)) centralizátor részmonoidja.Tegyük fel, hogy A ciklikus és a0 egy generátoreleme. Akkor A bármely

α endomorfizmusához van olyan p ∈ X∗, hogy α(a0) = a0p. Minden q ∈ X∗bemenő szóra

α(a0q) = α(a0)q = a0pq = a0qp = δp(a0q),

így α = δp, azaz T (A) = E(A). Ciklikus kommutatív automata karakterisz-tikus automata, ezért a 24.5. Lemmából következik, hogy |E(A)| = |A| =|T (A)|. �

26.4 Következmény Ha E(A) = {ιA} és 1 < |A|, akkor az A = (A,X, δ)automata nem kommutatív.

26.5 Tétel Ha az A = (A,X, δ) kommutatív automata C(A) kongruencia-hálója véges, akkor az A automata A-véges.

Bizonyítás. A 6.5. Következmény szerint A előáll véges sok ciklikus részau-tomatájának egyesítéseként, amelyeknek szintén véges a kongruenciahálójuk.Legyenek ezek az Ai = (Ai, X, δi) (i = 1, 2, . . . , n) automaták. Legyenek azai ∈ Ai állapotok az Ai (i = 1, 2, . . . , n) automaták generátorelemei. Mivelaz Ai automaták is kommutatívak, ezért a ρAi,ai relációk kongruenciák. A24.6. Tétel szerint az Ai automaták A-végesek, így A is A-véges. �

Könnyű megmutatni a következő állítást.

26.6 Lemma Az Ak (k ∈ I) automaták direkt szorzata akkor és csak akkorkommutatív, ha az Ak automaták kommutatívak.

E szerint kommutatív automata csak kommutatív automaták direkt szor-zatára bontható fel.

Feladatok26.1. Az A = (A,X, δ) automatának akkor és csak akkor van kommutatív részau-tomatája, ha van olyan a ∈ A állapota, amelyre minden p, q ∈ X∗ esetén apq = aqpteljesül.26.2. Az A = (A,X, δ) automatát (m,n)-kommutatívnak nevezzük, ha mindena ∈ A állapotra és minden legalább m hosszúságú p ∈ X+, valamint minden leg-alább n hosszúságú q ∈ X+ bemenő szóra apq = aqp. (Az (1, 1)-kommutatív

224

Page 225: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

automaták nyilván a kommutatív automaták.) Minden (m,n)-kommutatív auto-mata (1,m + n)-kommutatív és (m′, n′)-kommutatív bármely m′ ≥ m és n′ ≥ nesetén.26.3. Bármely automata karakterisztikus monoidjának és endomorfizmusfélcso-portjának metszete egyenlő karakterisztikus monoidjának centralizátorával. To-vábbá az automata akkor és csak akkor kommutatív, ha karakterisztikus monoidjarésze endomorfizmusfélcsoportjának. (A 26.3. Tétel általánosítása.)26.4. Bármely ciklikus kommutatív automata kongruenciahálója izomorf karakte-risztikus monoidjának kongruenciahálójával.

27. Egyszerű automatákA 20.4. Lemma és a 20.5. Tétel szerint A-véges automaták izomorfan tel-jes rendszerei a véges tényezős α0-szorzatra lényegében egyszerű automatákbizonyos rendszerei.

A legfeljebb kétállapotú automaták mindig egyszerűek, ezért ebben a fe-jezetben a legalább háromállapotú egyszerű automatákat vizsgáljuk. Meg-jegyezzük, hogy az egyszerű Mealy- vagy Moore automaták definíciójábana kimeneti viselkedés is szerepet játszik, azaz nem akkor nevezzük ezeketegyszerűeknek, ha vetületük egyszerű (l. 4. fejezet).

Legyen H 6= ∅ az A = (A,X, δ) automata A állapothalmazának egyrészhalmaza. Bármely p ∈ X∗ bemenő szóra használjuk a Hp = {ap; a ∈ H}jelölést. A H halmazt az A automata szeparátorának nevezzük, ha mindenp ∈ X∗ bemenő szóra

Hp ⊆ H vagy Hp ∩H = ∅.

Az A egyelemű részhalmazai és maga az A mindig szeparátorai az auto-matának. Ezeket triviális szeparátoroknak nevezzük.

Legyenek

S(H) = {p ∈ X∗;Hp ⊆ H} és T (H) = {p ∈ X∗;Hp ∩H = ∅}.

A definícióból azonnal adódik, hogy

S(H) ∩ T (H) = ∅ és S(H) ∪ T (H) = X∗.

Ha A′ = (A′, X, δ) az A automata részautomatája, akkor A′ az A olyanszeparátora, amelyre S(A′) = X∗ és T (A′) = ∅.

27.1 Lemma Ha H az A = (A,X, δ) automata szeparátora, akkor S(H) azX∗ bemenő félcsoport bal unitér részmonoidja.

225

Page 226: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Mivel He = H, ezért e ∈ S(H). Ha p, q ∈ S(H), akkorHpq ⊆ Hq ⊆ H, azaz pq ∈ S(H), vagyis S(H) az X∗ bemenő félcsoportrészmonoidja. Ha p, pr ∈ S(H), akkor Hpr ⊆ Hr miatt Hpr ⊆ H ∩Hr. ÍgyH ∩Hr 6= ∅. Minthogy H az A automata szeparátora, ezért Hr ⊆ H, azazr ∈ S(H). Kaptuk, hogy S(H) bal unitér részmonoidja az X∗-nak. �

27.2 Lemma Az A automata akkor és csak akkor egyszerű, ha csak triviálisszeparátorai vannak.

Bizonyítás. Tegyük fel, hogy az A automatának csak triviális szeparátoraivannak. Nyilvánvaló, hogy ha ρ az A automata egy kongruenciája, akkorminden ρ-osztály szeparátora A-nak. Ebből következik, hogy ρ = ιA vagyρ = ωA, vagyis A egyszerű.

Megfordítva, tegyük fel, hogy A egyszerű. Legyen H az A egy szepará-tora. Könnyen belátható, a (14.8) definíció utáni megjegyzéseket is felhasz-nálva, hogy H egy τ(H)-osztály, ahol τ(H) az A automata (14.8) feltételleldefiniált kongruenciája. De τ(H) = ιA vagy τ(H) = ωA, ezért H az Aautomata triviális szeparátora. �

Az előző bizonyítás szerint egy automata szeparátorai éppen az automatakongruenciáinak osztályai. A következőkben azt látjuk be, hogy az automa-ták egyszerűségének vizsgálatánál elegendő a (14.8)-ban definiált kongruen-ciákra szorítkozni. A 14. fejezetben bevezettük a k-diszjunktív, speciálisana diszjunktív automata fogalmát. A következőkben szükségünk lesz ezekre afogalmakra is.

27.3 Lemma Minden legalább háromállapotú diszjunktív automata erősenösszefüggő vagy erősen csapda-összefüggő.

Bizonyítás. Tegyük fel, hogy a legalább háromállapotú A = (A,X, δ) disz-junktív automata nem erősen összefüggő. A 2.2. Tétel szerint, akkor vanvalódi részautomatája. Legyen egy valódi részautomatájának állapothalma-za B. Ha |B| > 1 és d ∈ A − B, akkor d nem diszjunktív állapot. Ugyanisbármely a, b ∈ B esetén (a, b) ∈ τ(d). Ezért |B| = 1. Legyen B = {c}, azazc az automata csapdája. Jelölje továbbá [a] az A automata a ∈ A−{c} álla-pota által generált ciklikus részautomatáját. Az a állapot nem lehet csapda,mert akkor ({a, c}, X, δ) az A egy kétállapotú részautomatája lenne. Ez pe-dig azt jelenti, hogy [a] = A, vagyis A erősen csapda-összefüggő automata.�

A 14. fejezetben már megmutattuk, hogy minden egyszerű automatadiszjunktív, ezét igaz az alábbi következmény.

27.4 Következmény Minden legalább háromállapotú egyszerű automataerősen összefüggő vagy erősen csapda-összefüggő.

226

Page 227: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A (14.9) feltétellel definiált kongruenciát használjuk a következő tételben.

27.5 Tétel Az A legalább háromállapotú erősen csapda-összefüggő auto-mata akkor és csak akkor egyszerű, ha a csapdája diszjunktív.

Bizonyítás. Legyen az A automata csapdája c. Először megmutatjuk,hogy A bármely ρ 6= ωA kongruenciája esetén ρ[c] = {c}. Legyenek a, b ∈ Atetszőleges állapotok. Tegyük fel, hogy (a, c) ∈ ρ. Ha a 6= c, akkor van olyanp ∈ X∗, amelyre ap = b. Így

(b, c) = (ap, cp) ∈ ρ.

Ebből következik, hogy ρ = ωA. A feltevés miatt azonban ez lehetetlen. Ezpedig azt jelenti, hogy a = c, azaz ρ[c] = {c}. Legyenek továbbá a, b ∈A − {c} olyan állapotok, amelyekre (a, b) ∈ ρ. Mivel ρ[c] = {c}, ezért(a, b) ∈ τ(c). Vagyis ρ ⊆ τ(c). Minthogy A legalább háromállapotú erősencsapda-összefüggő, ezért τ(c) 6= ωA, tehát τ(c) = ιA, azaz c diszjunktív. �

27.6 Lemma Ha ρ 6= ιA az A = (A,X, δ) k-diszjunktív automata kongru-enciája, akkor minden ρ-osztály legalább k + 1 elemű.

Bizonyítás. Tegyük fel, hogy van olyan H ρ-osztály, amely legfeljebb k ele-mű. Mivel A k-diszjunktív, ezért a τ(H) = ιA, ahol τ(H) a (14.8) feltételleldefiniált kongruencia. Legyen (a, b) ∈ ρ. De H ρ-osztály, így minden p ∈ X∗bemenő szóra ap ∈ H akkor és csak akkor, ha bp ∈ H, azaz (a, b) ∈ τ(H).De τ(H) = ιA, ezért a = b, vagyis ρ = ιA. Ami ellentmond a feltételünknek.Tehát minden ρ-osztály legalább k + 1 elemű. �

27.7 Tétel Az A legalább háromállapotú A-véges erősen összefüggő auto-mata akkor és csak akkor egyszerű, ha k-diszjunktív, ahol k egyenlő |A|

2egész-

részével.

Bizonyítás. Ha A egyszerű, akkor nyilvánvalóan minden 1 ≤ k < |A| eseténk-diszjunktív.

Megfordítva, tegyük fel, hogy A k-diszjunktív, ahol k egyenlő |A|2

egész-részével. A 27.6. Lemma szerint A minden ρ 6= ιA kongruenciája legalábbk + 1 elemű. A feltétel szerint |A| < 2(k + 1), ezért egyetlen ρ-osztály van.Ami azt jelenti, hogy ρ = ωA, azaz A egyszerű. �

Jelölje az A = (A,X, δ) automata endomorfizmusfélcsoportját E(A), au-tomorfizmuscsoportját G(A). Ha az A automatának c ∈ A egy csapdája,akkor az az αc : A → A leképezés, amelyre minden a ∈ A esetén αc(a) = cteljesül, az A egy endomorfizmusa. (Az αc endomorfizmus E(A) egy baloldali zéruseleme.)

227

Page 228: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

27.8 Tétel Legyen az A legalább háromállapotú automata egyszerű. Ha Aerősen összefüggő, akkor E(A) = {ιA} és A nem kommutatív vagy E(A) =G(A) prímrendű ciklikus csoport és A kommutatív. Ha pedig A erősencsapda-összefüggő és c az A csapdája, akkor G(A) = {ιA}, E(A) = {ιA, αc}és A nem kommutatív.

Bizonyítás. Legyen először az A egyszerű automata erősen összefüggő. Ak-kor a 6.6. Tétel szerint E(A) véges. Ha α ∈ E(A), akkor kerα az automataegy kongruenciája. Mivel A egyszerű, ezért kerα = ιA vagy kerα = ωA. A25.1. Lemma szerint α szürjektív, ezért kerα = ιA. Ebből kapjuk, hogy αinjektív, azaz α ∈ G(A), vagyis E(A) = G(A).

Legyen E(A) = {ιA}. Tegyük fel, hogy A kommutatív. Mivel A erősenösszefüggő, így van olyan a ∈ A és x ∈ X, hogy ax 6= a. Akkor a 26.3 Tételszerint a (7.3)-ban definált δx 6= ιA leképezés endomorfizmus. Ami a 26.4.Következmény miatt lehetetlen. Tehát A nem kommutatív.

Legyen most E(A) = G(A) 6= {ιA} és α ∈ G(A)−{ιA}. Tekintsük A 6.6Tétel bizonyításában definiált következő kompatibilis osztályozását:

{a, α(a), . . . , αr−1(a)}, a ∈ A.

Jelölje a megfelelő kongruenciát ρα. Mivel A egyszerű, ezért ρα = ιA vagyρα = ωA. Ha ρα = ιA, akkor α = ιA. Ha ρα = ωA, akkor tetszőleges a ∈ Aállapotra

A = {a, α(a), . . . , αr−1(a)}.

Ez utóbbi esetben legyen β ∈ G(A). Van olyan 0 ≤ j ≤ r − 1, hogy β(a) =αj(a). A 25.2. Lemma szerint β = αj, vagyis G(A) = {ιA, α, . . . , αr−1}ciklikus permutációcsoport.

Bármely két x, z ∈ X bemenő jelre és k ∈ Z egész számra legyen ax =αl(a) és az = αm(a) (l,m ∈ Z). Akkor

αk(a)xz = αk(ax)z = αkαl(a)z = αkαl(az) = αkαlαm(a) = αkαmαl(a) =

= αkαm(ax) = αkαm(a)x = αk(az)x = αk(a)zx,

azaz A kommutatív.Tegyük fel, hogy r nem prímszám. Legyen

r = ln, 1 < l, n < r.

Tekintsük A következő osztályozását:

Aj = {αj+kl(a); k = 0, 1, . . . , n− 1} (j = 0, 1, . . . , l − 1).

228

Page 229: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Hasonlóan, mint az előbb, megmutatható, hogy az osztályozás kompatibilis.Ami szintén lehetetlen. Amiből következik, hogy r prímszám, vagyis G(A)prímrendű ciklikus csoport.

Másodszor tegyük fel, hogy A egyszerű erősen csapda-összefüggő és c azA csapdája. Tegyük fel, hogy A kommutatív. Legyenek a, b ∈ A − {c}és a 6= b. Mivel A erősen csapda-összefüggő, így vannak olyan q, r ∈ X+

bemenő szavak, hogy aq = b és br = a. Így minden p ∈ X∗ bemenő szórabp = c akkor és csak akkor, ha ap = c, azaz (a, b) ∈ τc. Ez azonban lehetetlen,ezért A nem kommutatív.

Ha α ∈ E(A), akkor minden p ∈ X∗ bemenő szóra

α(c)p = α(cp) = α(c),

vagyis α(c) is csapda, azaz α(c) = c. Ha a ∈ A − {c} és α(a) = c, akkorminden p ∈ X∗ bemenő szóra

α(ap) = α(a)p = cp = c,

azaz α = αc. Nem nehéz megmutatni, hogy

Ga = {α(a);α ∈ E(A)− {αc}} (a ∈ A)

kompatibilis osztályozás. Az A automata egyszerűsége miatt minden Ga

osztály egyelemű. Ebből következik, hogy E(A) = {ιA, αc} és G(A) = {ιA}.�

Az n állapotú A = (A,X, δ) automatát (n-edrendű ) ciklikus permutáció-automatának nevezzük, ha minden bemenő jele permutációjel és van olyana ∈ A és x ∈ X, hogy

A = {a, ax, . . . , axn−1} és axn = a.

Az x bemenő jelet ciklikus permutációjelnek nevezzük. Nyilvánvaló, hogy azA automata A′ = (A,X ′, δ) X-részautomatája, amelyben X ′ az A automataciklikus permutációjeleinek halmaza, n állapotú általánosított számláló.

27.9 Következmény Az A = (A,X, δ) legalább háromállapotú kommu-tatív automata akkor és csak akkor egyszerű, ha prímszámrendű ciklikuspermutációautomata.

A 27.9. Következmény szerint nincs végtelen kommutatív egyszerű auto-mata. A következő példa mutatja, hogy végtelen nem kommutatív egyszerűautomata létezik.

229

Page 230: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

27.10 Példa Legyen A = {1, 2, . . . , n, . . . }, X = {x, y}, δ(n, x) = n + 1(n ∈ A). Továbbá δ(n, y) = 2, ha n prímszám és δ(n, y) = 1, ha n nemprímszám. Az A = (A,X, δ) automata egyszerű és nem kommutatív.

Az A automata erősen összefüggő, de nem kommutatív, mert például2xy = 2 és 2yx = 3. Legyen ρ 6= ιA az A automata egy kongruenciá-ja. Tegyük fel, hogy (m,n) ∈ ρ (m 6= n). Nyilvánvaló, hogy van olyank nemnegatív egész szám, amelyre mondjuk nxk prímszám és mxk pedignem. Így (1, 2) = (mxky, nxky) ∈ ρ, azaz minden l pozitív egész számra(l, l + 1) = (1xl−1, 2xl−1) ∈ ρ, vagyis ρ = ωA.

Feladatok27.1. Egészítsük ki a 27.10. Példában szereplő automatát egy 0-val jelölt csapdávalés módosítsuk a δ átmenetfüggvényt úgy, hogy a kapott automata erősen csapda-összefüggő és egyszerű legyen, de ne legyen kommutatív.27.2. AzA = (A,X, δ) automatát erősen n-összefüggőnek nevezzük (1 ≤ n < |A|),ha A bármely H és K n elemű részhalmazához van olyan p ∈ X∗, amelyre Hp =K teljesül. (Az erősen 1-összefüggő automaták az erősen összefüggő automaták.)Minden erősen n-összefüggő automata erősen összefüggő.27.3. Minden erősen 2-összefüggő automata egyszerű.27.4. Annak igazolására, hogy az előző feladat állítása erősen 3-összefüggő au-tomatákra nem igaz, adjunk meg olyan négyállapotú és két bemenő jeles erősenösszefüggő automatát, amely erősen 3-összefüggő, de nem egyszerű.27.5. Tegyük fel, hogy az A = (A,X, δ) automatának van legalább kétállapotúvalódi részautomatája. Az A automata C(A) kongruenciahálója akkor és csakakkor háromelemű, ha egy legalább kételemű egyszerű automata sűrű bővítése egyegyszerű (csapdás) automatával.

28. Állapotfüggetlen automatákAz A = (A,X, δ) automatát állapotfüggetlennek nevezzük, ha

(28.1) (∀a, b ∈ A, p, q ∈ X∗) (ap = aq ⇐⇒ bp = bq).

Másképpen mondva az A automatát állapotfüggetlennek nevezzük, ha

(∀a, b ∈ A) (ρA,a = ρA,b),

vagyis(∀a ∈ A) (ρA,a = ρA),

ahol ρA,a (a ∈ A) az X∗ szabad monoidon (7.1) feltétellel értelmezett jobbkongruenciák és ρA az X∗-on a (7.2) feltétellel definiált kongruencia.

230

Page 231: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Állapotfüggetlen automata homomorf képe nem biztos, hogy állapotfüg-getlen. A következő fejezet 29.9. Példájában az A1 nem állapotfüggetlenautomata homomorf képe az A állapotfüggetlen automatának. Állapotfüg-getlen automaták direkt szorzata mindig állapotfüggetlen. Állapotfügget-len automata azonban nemcsak állapotfüggetlen automaták direkt szorzatárabontható fel. Ennek illusztrálására szintén a 29.9. Példára utalunk.

Jelölje most is S1(A) = X∗/ρA [S(A) = X+/ρA] az A automata karak-terisztikus monoidját [félcsoportját]. Ha van olyan r ∈ X+ bemenő szó, hogyminden a ∈ A állapotra ar = a, akkor ρA[e] = ρA[r], s így S1(A) ∼= S(A).Ha nincs ilyen r ∈ X+ szó, akkor ρA[e] = {e}, azaz S1(A) = S(A) ∪ {e}.

Az állapotfüggetlenség definíciójából nyilvánvalóan adódik a következőlemma.

28.1 Lemma Állapotfüggetlen automata minden AX-részautomatája is ál-lapotfüggetlen és bármely részautomatájának karakterisztikus monoidjamegegyezik az automata karakterisztikus monoidjával.

28.2 Lemma Minden állapotfüggetlen automata karakterisztikus monoidjabal kancellatív.

Bizonyítás. Legyen az A = (A,X, δ) automata állapotfüggetlen. Ha(rp, rq) ∈ ρA (p, q, r ∈ X∗), akkor bármely a ∈ A állapotra

(ar)p = a(rp) = a(rq) = (ar)q.

Mivel A állapotfüggetlen, ezért minden a ∈ A állapotra ap = aq, azaz (p, q) ∈ρA. Így a karakterisztikus monoid bal kancellatív. �

28.3 Következmény Az A = (A,X, δ) ciklikus automata akkor és csakakkor állapotfüggetlen, ha karakterisztikus automata és karakterisztikus mo-noidja bal kancellatív.

Bizonyítás. Ha A állapotfüggetlen, akkor definíció szerint ρA,a0 kongruenciaA minden a0 generátorelemére. A 28.2. Lemma szerint A karakterisztikusmonoidja bal kancellatív.

Megfordítva, tegyük fel, hogy A karakterisztikus automata és karakte-risztikus monoidja bal kancellatív. Legyen a0 az A automata egy karakte-risztikus generátoreleme. Ha az a ∈ A állapotra és a p, q, r ∈ X∗ bemenőszavakra ap = aq és a = a0r, akkor (rp, rq) ∈ ρA,a0 . De ρA,a0 kongruencia,ezért ρA,a0 = ρA, vagyis (rp, rq) ∈ ρA. Amiből (p, q) ∈ ρA, mivel A ka-rakterisztikus monoidja bal kancellatív. Ez azt jelenti, hogy minden b ∈ Aállapotra bp = bq, azaz A állapotfüggetlen. �

231

Page 232: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

28.4 Lemma Ha az A = (A,X, δ) automata állapotfüggetlen, akkor cikli-kus részautomatái izomorfak és bármely a ∈ A állapotra |[a]| = |S1(A)|.

Bizonyítás. Az állapotfüggetlenség miatt bármely a, b ∈ A esetén az ap→bp (p ∈ X∗) leképezés [a] izomorf leképezése [b]-re. A ρ[p] → ap (p ∈ X∗)leképezés az S1(A) karakterisztikus monoid bijektív leképezése [a]-ra. �

Ha egy automata karakterisztikus monoidja csoport, akkor az automatanyilvánvalóan reverzibilis. Állapotfüggetlen automatákra ez az állítás meg-fordítható:

28.5 Tétel Az A = (A,X, δ) állapotfüggetlen automata akkor és csak akkorreverzibilis, ha az S1(A) karakterisztikus monoid csoport. Ha az A állapot-független automata reverzibilis, akkor S(A) ∼= S1(A). Ha még A erősenösszefüggő is, akkor |A| = |S1(A)|.

Bizonyítás. Ha S1(A) csoport, akkor A reverzibilis. Megfordítva, tegyükfel, hogy A reverzibilis. Legyen a ∈ A és p ∈ X∗ tetszőleges bemenő szó.Mivel A reverzibilis, van olyan q ∈ X∗, hogy apq = a = ae, azaz (pq, e) ∈ ρA.Ez azt jelenti, hogy S(A) ∼= S1(A). Továbbá

(pqp, ep) = (pqp, pe) = (pqp, p) ∈ ρA.

A 28.2. Lemma szerint S1(A) bal kancellatív, ezért (qp, e) ∈ ρA, vagyisS1(A) csoport. Ha A speciálisan erősen összefüggő, akkor a 28.4. Lemmábólkövetkezik, hogy |A| = |S1(A)|. �

Egy ciklikus állapotfüggetlen automatát félperfektnek nevezünk, ha ka-rakterisztikus monoidja csoport.

28.6 Lemma Ciklikus állapotfüggetlen automata akkor és csak akkor fél-perfekt, ha erősen összefüggő.

Bizonyítás. Ha az A = (A,X, δ) félperfekt automata egy generátorelemea0, akkor bármely a, b ∈ A állapotpárhoz vannak olyan p, q ∈ X∗ bemenőszavak, hogy a = a0p és b = a0q. Mivel az S1(A) karakterisztikus monoidcsoport, ezért van olyan p′ ∈ X∗, hogy ap′ = a0pp

′ = a0e = a0. S ígyap′q = a0q = b, azaz A erősen összefüggő.

Ha az A állapotfüggetlen automata erősen összefüggő, akkor a 28.5. Tételszerint karakterisztikus monoidja csoport, azaz A félperfekt. �

28.7 Tétel Az A = (A,X, δ) automata akkor és csak akkor reverzibilis ál-lapotfüggetlen automata, ha egymással izomorf Ai = (Ai, X, δi) (i ∈ I)félperfekt automaták direkt összege.

232

Page 233: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen A reverzibilis állapotfüggetlen automata. A 2.4. Tételszerint egy automata akkor és csak akkor reverzibilis, ha valamely Ai (i ∈ I)erősen összefüggő automaták direkt összege. A 28.6. Lemma szerint az Ai

automaták félperfektek. Legyenek ai ∈ Ai és aj ∈ Aj rögzített állapotok ésϕi,j (1 ≤ i, j ≤ k) az Ai állapothalmazok olyan leképezései az Aj állapothal-mazokra, amelyekre minden p ∈ X∗ bemenő szóra

ϕi,j(aip) = bjp.

Mivel az Ai automaták erősen összefüggők, állapotfüggetlenek és karakte-risztikus monoidjuk megegyezik, ezért a ϕi,j leképezések az Ai automatákizomorf leképezései az Aj automatákra.

Megfordítva, tegyük fel, hogy A az Ai = (Ai, X, δi) (i ∈ I) egymássalizomorf félperfekt automaták direkt összege. A 2.4. Tétel szerint A rever-zibilis. Legyenek ηi,j (i, j ∈ I) az Ai automaták izomorf leképezései az Aj

automatákra. Ha ap = aq valamely a ∈ Ai és p, q ∈ X∗ esetén, akkor mindenj ∈ I indexre

ηi,j(a)p = ηi,j(ap) = ηi,j(aq) = ηi,j(a)q,

amiből már adódik, hogy A állapotfüggetlen. �

28.8 Következmény Minden A-véges ciklikus állapotfüggetlen automatafélperfekt.

Bizonyítás. Ha az A automata állapotfüggetlen, akkor a 28.4. Lemmaszerint ciklikus részautomatái izomorfak. Ha A ciklikus, akkor ez azt jelenti,hogy izomorf minden ciklikus részautomatájával. Ha A A-véges, akkor ebbőlaz következik, hogy A egyenlő minden ciklikus részautomatájával, vagyiserősen összefüggő. A 28.6. Lemma szerint A félperfekt. �

28.9 Tétel Legyen az A automata A-véges és |S(A)| = n. Az A auto-mata akkor és csak akkor állapotfüggetlen, ha véges sok izomorf n állapotúfélperfekt automata direkt összege.

Bizonyítás. Ha A állapotfüggetlen, akkor a 28.4. és a 28.8. Lemmák szerintciklikus részautomatái izomorfak és félperfektek. Így A ezek direkt összege.A 28.5. Tétel szerint ezek a félperfekt automaták n állapotúak.

Megfordítva, tegyük fel, hogy A az A1,A2, . . . ,Ak izomorf n állapotú fél-perfekt automaták direkt összege. A 28.7. Tétel szerint A állapotfüggetlen.�

28.10 Tétel Állapotfüggetlen automata akkor és csak akkor A-véges, hakongruenciahálója véges.

233

Page 234: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Ha az A állapotfüggetlen automata A-véges, akkor kongruen-ciahálója nyilvánvalóan véges. Megfordítva, ha A kongruenciahálója véges,akkor a 6.4. Lemma szerint véges sok ciklikus részautomatája van és mindenciklikus részautomatájának is véges a kongruenciahálója. Mivel A állapot-független, ezért 24.6 Tétel miatt A minden ciklikus részautomatája A-véges,s így A is A-véges. �

Feladatok28.1. Ha a (28.1) definícióban csak az X+ szabad félcsoport szerepel, akkor aztmondjuk, hogy az A = (A,X, δ) automata az üres szó nélkül állapotfüggetlen.(Nyilvánvaló, hogy ha az automata állapotfüggetlen, akkor az üres szó nélkül isállapotfüggetlen.) Az üres szó nélkül állapotfüggetlen A = (A,X, δ) automataakkor és csak akkor állapotfüggetlen, ha nincs olyan b ∈ A és r ∈ X+, amelyrebr = b vagy van olyan t ∈ X+, hogy minden a ∈ A állapotra at = a.28.2. Az üres szó nélkül állapotfüggetlen ciklikus automata akkor és csak akkorfélperfekt, ha karakterisztikus monoidja csoport.

29. Félperfekt automatákEbben a fejezetben a félperfekt automatákat vizsgáljuk az automorfizmus-csoportjaik felhasználásával. Definíció szerint minden félperfekt automataciklikus, a 28.6. Lemma szerint speciálisan erősen összefüggő. Egy szükségesés elégséges feltételt adunk az automorfizmuscsoport segítségével arra, hogyegy ciklikus automata mikor félperfekt.

29.1 Lemma Félperfekt automata minden endomorfizmusa automorfizmus.

Bizonyítás. Legyen az A = (A,X, δ) félperfekt automata egy endomorfiz-musa α. A 25.1. Lemma szerint α szürjektív. Tegyük fel, hogy az a, b ∈ Aállapotokra α(a) = α(b). Az A automata erősen összefüggősége miatt vanolyan p ∈ X∗, amelyre b = ap. Ezért

α(a)e = α(a) = α(b) = α(ap) = α(a)p.

De A állapotfüggetlen, így a = ae = ap = b, vagyis α bijektív. �Egy H 6= ∅ halmaz G permutációcsoportja tranzitív, ha bármely a, b ∈ H

párhoz van olyan α ∈ G, amelyre α(a) = b.

29.2 Lemma Ha az A = (A,X, δ) automata G(A) automorfizmuscsoportjatranzitív, akkor A állapotfüggetlen.

234

Page 235: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen az a ∈ A állapotra és a p, q ∈ X∗ bemenő szavakraap = aq. Mivel G(A) tranzitív, bármely b ∈ A állapothoz van olyan α ∈G(A), hogy α(a) = b. Ezért

bp = α(a)p = α(ap) = α(aq) = α(a)q = bq,

azaz A állapotfüggetlen. �

29.3 Tétel Ciklikus automata akkor és csak akkor félperfekt, ha automor-fizmuscsoportja tranzitív.

Bizonyítás. Legyen az A = (A,X, δ) automata félperfekt. Bármely a, b ∈ Aállapotpár esetén legyen α(ap) = bp (p ∈ X∗). Könnyen megmutatható, hogyα ∈ G(A), azaz G(A) tranzitív. (Hasonlóan, mint 28.7. Tétel bizonyításá-ban megmutattuk, hogy ϕi,j izomorfizmus.)

Legyen most az A ciklikus automata automorfizmuscsoportja tranzitív.A 29.2. Lemma szerint A állapotfüggetlen. Tekintsük most A egy a0 generá-torelemét. Tetszőleges p ∈ X∗ bemenő szóhoz van olyan α ∈ G(A), amelyrea0p = α(a0) és van olyan q ∈ X∗ bemenő szó, hogy a0q = α−1(a0). Így

a0(pq) = (a0p)q = α(a0)q = α(a0q) = αα−1(a0) = a0.

Hasonlóan mutatható meg, hogy a0(qp) = a0. Mivel A állapotfüggetlen,ezért karakterisztikus monoidja csoport. Ez azt jelenti, hogy A félperfekt. �

29.4 Lemma Ha a H 6= ∅ halmaz egy G reguláris permutációcsoportjatranzitív, akkor |G| = |H|. Megfordítva, ha H véges és a G reguláris permu-tációcsoportra |G| = |H|, akkor G tranzitív.

Bizonyítás. Legyen a H 6= ∅ halmaz G reguláris permutációcsoportjatranzitív és a ∈ H tetszőleges, de rögzített elem. A tranzitivitás miatt azα → α(a) (α ∈ G) leképezés szürjektív, a regularitás miatt pedig injektív.Így ez a leképezés bijektív, azaz |G| = |H|.

Megfordítva, legyen H véges és a G reguláris permutációcsoportra |G| =|H|. Ez azt jelenti, hogy

H = {α(a);α ∈ G} (a ∈ H).

Ha b, c ∈ H, akkor vannak olyan α, β ∈ G, amelyekre b = α(a) és c = β(a),vagyis c = βα−1(b), tehát G tranzitív. �

29.5 Tétel Ha az A = (A,X, δ) automata félperfekt, akkor G(A) ∼= S1(A).Megfordítva, ha az A-véges erősen összefüggő A = (A,X, δ) automatáraG(A) ∼= S1(A), akkor A félperfekt.

235

Page 236: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen a ∈ A az A félperfekt automata egy rögzített állapota.Minden α ∈ G(A) automorfizmushoz van olyan pα ∈ X∗ bemenő szó, amelyreα(a) = apα. Mivel G(A) a 25.2. Lemma és a 29.3. Tétel szerint reguláris éstranzitív, ezért az

ϕ : α→ ρA[pα] (α ∈ G(A))

leképezés G(A) bijektív leképezése S1(A)-ra. Megmutatjuk, hogy a leképezésizomorfizmus. Mivel S1(A) csoport, így bármely α, β ∈ G(A) esetén vanolyan q ∈ X∗, hogy

ρA[pαβ] = ρA[pα]ρA[q].

Akkorαβ(a) = apαβ = apαq = α(a)q = α(aq),

azaz β(a) = aq, vagyisρA[q] = ρA[pβ],

tehátρA[pαβ] = ρA[pα]ρA[pβ].

Ez azt jelenti, hogy ϕ izomorfizmus.Megfordítva, legyen az A-véges erősen összefüggő A = (A,X, δ) automa-

tára G(A) ∼= S1(A). A 25.1. és a 24.5. Lemmák szerint

|G(A)| ≤ |A| ≤ |S1(A)| = |G(A)|,

azaz |G(A)| = |A|. A 25.2. és a 29.4. Lemmák szerint G(A) tranzitív. A29.3. Tétel szerint A félperfekt. �

A tétel második részének bizonyítása szerint G(A) ∼= S1(A) helyett ele-gendő lenne feltenni azt, hogy |G(A)| = |S1(A)|.

Tetszőleges automatákra igaz az alábbi egyszerű lemma.

29.6 Lemma Ha az A = (A,X, δ) automata az Ak = (Ak, X, δk) (k ∈ I)automaták direkt szorzata, akkor∏

k∈I

E(Ak) ⊆ E(A) [∏k∈I

G(Ak) ⊆ G(A)].

Bizonyítás. Legyen α ∈∏

k∈I E(Ak) [∏

k∈I G(Ak)], a ∈ A és x ∈ X. Haαk és ak (k ∈ I) α ill. a k-adik komponensét jelenti, akkor

α(δ(a, x)) = α((δk(ak, x); k ∈ I)) = (αk(δk(ak, x)); k ∈ I) =

= (δk(αk(ak), x); k ∈ I) = δ(α(a), x),

azaz α ∈ E(A) [G(A)]. �

236

Page 237: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

29.7 Lemma Ha A = (A,X, δ) ciklikus automata az Ak = (Ak, X, δk)(k ∈ I) állapotfüggetlen automaták direkt szorzata, akkor az E(A) endomor-fizmusfélcsoport az E(Ak) (k ∈ I) endomorfizmusfélcsoportok direkt szorza-ta.

Bizonyítás. A 29.6. Lemma szerint∏

k∈I E(Ak) ⊆ E(A).Legyen γ ∈ E(A). Jelölje most is ak ∈ Ak (k ∈ I) az a ∈ A állapot

k-adik komponensét. Definiáljuk az αk : Ak → Ak (k ∈ I) megfeleltetéseketa következőképpen:

∀(a ∈ A) (αk(ak) = ck (k ∈ I) ⇐⇒ γ(a) = c).

Legyenek a,b ∈ A olyan állapotok, amelyeknek k-adik komponense meg-egyezik, azaz ak = bk. Legyen a0 az A automata egy generátoreleme és a0k

(k ∈ I) a0 k-adik komponense. Legyenek továbbá a p, q ∈ X∗ bemenő sza-vakra a0p = a és a0q = b. Így a0kp = ak = bk = a0kq. Ha γ(a) = c ésγ(b) = d, akkor

c = γ(a) = γ(a0p) = γ(a0)p,

d = γ(b) = γ(a0q) = γ(a0)q.

Mivel Ak állapotfüggetlen, ezért a0kp = a0kq egyenletből következik, hogyck = dk Ez azt jelenti, hogy az αk (k ∈ I) megfeleltetések leképezések.

Ha a ∈ A és x ∈ X, akkor

γ(δ(a, x)) = δ(γ(a), x),

azazαk(δ(ak, x)) = δk(α(ak), x) (k ∈ I),

vagyis αk ∈ E(Ak). Az αk megfeleltetések definícója miatt γ = (αk : k ∈ I),vagyis γ ∈

∏k∈I E(Ak). Ami azt jelenti, hogy E(A) =

∏k∈I E(Ak). �

A lemma feltételei mellett az A és az Ak (k ∈ I) automaták mindegyikeciklikus állapotfüggetlen. A 29.7. Lemma és a 29.1. Lemma szerint igaz azalábbi állítás.

29.8 Következmény Ha az A félperfekt automata az Ak (k ∈ I) félperfektautomaták direkt szorzata, akkor a G(A) automorfizmuscsoport a G(Ak)(k ∈ I) automorfizmuscsoportok direkt szorzata.

Nem csak félperfekt automaták direkt szorzata lehet félperfekt, ezértszükséges az előbbi következményben feltenni az Ak automatákról azt, hogyfélperfektek. Erre vonatkozik a következő példa, amely azt is mutatja, hogyfélperfekt automata homomorf képe nem biztos, hogy félperfekt.

237

Page 238: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

29.9 Példa AzA1 1 2 3x 1 3 2y 2 3 1

A2 1 2x 2 1y 1 2

táblázatokkal definiált A1 és A2 automaták direkt szorzata az alábbi táblá-zattal megadott A automata:

A (1, 1) (1, 2) (2, 1) (2, 2) (3, 1) (3, 2)x (1, 2) (1, 1) (3, 2) (3, 1) (2, 2) (2, 1)y (2, 1) (2, 2) (3, 1) (3, 2) (1, 1) (1, 2)

Az A automata félperfekt, de A1 nem állapotfüggetlen, s így nem félperfekt.Mivel A homomorf képe A1, ez azt is szemlélti, hogy félperfekt automatahomomorf képe nem biztos, hogy félperfekt. Meggyőződhetünk arról is, hogy

E(A1) = G(A1) = ιA1 , E(A2) = G(A2) = {ιA2 , α},

ahol α az (12) ciklus. Így G(A1) × G(A2) 6= G(A), mivel a 29.4. Lemmaszerint |G(A)| = 6.

Legyen A = (A,X, δ) tetszőleges automata és K a G(A) automorfizmus-csoport egy részcsoportja. Definiáljuk a κK ⊆ A2 binér relációt a következőmódon:

(29.1) (a, b) ∈ κK ⇔ (∃α ∈ K)(b = α(a)).

Nem nehéz belátni, hogy κK az A automata kongruenciája. Jelölje rövidenA/K az A/κK halmazt és A/K = (A/K,X, δK) az A/κK faktorautomatát.

29.10 Lemma Az A = (A,X, δ) félperfekt automata G(A) automorfizmus-csoportjának bármely K normális részcsoportjára G(A)/K ∼= G(A/K).

Bizonyítás. Legyen a ∈ A tetszőleges rögzített állapot. Definiáljuk azα ∈ G(A) automorfizmusra a ϕα : A/K → A/K megfeleltetést a következő-képpen:

(∀p ∈ X∗) (ϕα(κK [ap]) = κK [α(ap)]).

Ha q ∈ X∗ bemenő szóra κK [ap] = κK [aq], akkor van olyan β ∈ K, hogyβ(ap) = aq. Ezért

αβα−1α(ap) = α(aq).

De αβα−1 ∈ K, mivel K a G(A) normális részcsoportja, ezért κK [α(ap)] =κK [α(aq)], azaz a ϕα megfeleltetés leképezés.

238

Page 239: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 28.6. Lemma szerint A erősen összefüggő, így minden b ∈ A állapothozvan olyan r ∈ X∗ bemenő szó, hogy α−1(b) = ar. Ezért

ϕα(κK [ar]) = κK [α(ar)] = κK [b],

azaz ϕα szürjektív.Tegyük fel, hogy q ∈ X∗ bemenő szóra

κK [α(ap)] = κK [α(aq)].

Akkor van olyan β ∈ K, hogy

βα(ap) = α(aq).

Amiből α−1βα(ap) = aq, vagyis κK [ap] = κK [aq]. Ezzel megmutattuk, hogyϕα injektív. Mivel bármely p ∈ X∗ és x ∈ X esetén

ϕα(δK(κK [ap], x)) = ϕα(κK [apx]) = κK [α(apx)] =

= κK [α(ap)x] = δK(κK [α(ap)], x) = δK(ϕα(κK [ap]), x),

ezért ϕα ∈ G(A/K).Legyen most η ∈ G(A/K) és η(κK [a]) = κK [b] (b ∈ A). Minthogy a

29.3. Tétel szerint G(A) tranzitív, van olyan α ∈ G(A), hogy b = α(a). Ígyminden p ∈ X∗ bemenő szóra

η(κK [ap]) = η(κK [a]p) = η(κK [a])p =

= κK [b]p = κK [α(a)]p = κK [α(ap)] = ϕα(κK [ap]),

vagyis η = ϕα. Kaptuk, hogy

G(A/K) = {ϕα; α ∈ G(A)}.

Megmutatjuk, hogy a ϕ megfeleltetés, amelyre ϕ(Kα) = ϕα (α ∈ G(A)),G(A)/K izomorf leképezése G(A/K)-re. Ha Kα = Kβ (α, β ∈ G(A)),akkor nyilvánvalóan ϕα = ϕβ. Ha ϕα = ϕβ, akkor κK [α(a)] = κK [β(a)]. Ígyvan olyan γ ∈ G(A), hogy γα(a) = β(a). De G(A) a 25.2. Lemma szerintreguláris, ezért γα = β, ami éppen azt jelenti, hogy Kα = Kβ. Tehát ϕG(A)/K bijektív leképezése G(A/K)-re.

Bármely α, β ∈ G(A) és p ∈ X∗ esetén

ϕαβ(κK [ap]) = κK [αβ(ap)] =

= ϕα(κK [β(ap)]) = ϕαϕβ(κK [ap]),

vagyis ϕαβ = ϕαϕβ, azaz ϕ izomorfizmus. �

239

Page 240: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

29.11 Lemma Ha K és L az A = (A,X, δ) félperfekt automata G(A)automorfizmuscsoportjának olyan normális részcsoportjai, amelyekre KL =G(A) és K ∩L = ιA, akkor A/K, A/L félperfekt automaták, G(A/K) ∼= L,G(A/L) ∼= K és A/K ×A/L ∼= A.

Bizonyítás. Legyen a ∈ A tetszőleges rögzített állapot. A KL = G(A)feltételből következik, hogy A = {αβ(a);α ∈ K, β ∈ L}. Ha

αβ(a) = α′β′(a) (α, α′ ∈ K, β, β′ ∈ L),

akkor αβ = α′β′, azaz α′−1α = β′β−1. De K ∩ L = ιA, ezért α = α′ ésβ = β′.

Ha κK [β(a)] = κK [β′(a)] (β, β′ ∈ L), akkor van olyan α ∈ K, hogyβ′ = αβ. Amiből α = β′β−1 ∈ K, azaz α = ιA, vagyis β = β′. ÍgyA/K = {Kβ(a); β ∈ L}. Hasonlóan kapjuk, hogy A/L = {Lα(a);α ∈ K}.

Ezekből a meggondolásokból látható, hogy az a ϕ megfeleltetés, amelyre

ϕ(Kβ(a), Lα(a)) = αβ(a) (α ∈ K, β ∈ L),

A/K ×A/L bijektív leképezése A-ra. Megmutatjuk, hogy ϕ izomorfizmus.Legyenek α ∈ K, β ∈ L és x ∈ X tetszőlegesek. Ha δ′ jelöli A/K × A/Látmenetfüggvényét, akkor

ϕ(δ′((Kβ(a), Lα(a)), x)) = ϕ(Kβ(δ(a, x)), Lα(δ(a, x))) =

= αβ(δ(a, x)) = δ(αβ(a), x) = δ(ϕ(Kβ(a), Lα(a)), x),

azaz ϕ valóban izomorfizmus. Mivel erősen összefüggő automata homomorfképe is erősen összefüggő, ezért A/K és A/L erősen összefüggő. Legyen aβ ∈ L automorfizmusra és a p, q ∈ X∗ bemenő szavakra Kβ(a)p = Kβ(a)q.Akkor van olyan α ∈ K, hogy β(ap) = αβ(aq). Bármely γ ∈ L automor-fizmushoz van olyan β′ ∈ L automorfizmus, hogy γ = β′β. De β′α = αβ′,ezért

γ(ap) = β′β(ap) = β′αβ(aq) = αβ′β(aq) = αγ(aq),

vagyis Kγ(a)p = Kγ(a)q. Ez azt jelenti, hogy A/K állapotfüggetlen. Ha-sonlóan mutatható meg, hogy A/L is állapotfüggetlen. A 28.6. Lemmaszerint mind a két automata félperfekt.

Mivel G(A)/K ∼= L és G(A)/L ∼= K, ezért a 29.10. Lemma szerintG(A/K) ∼= L és G(A/L) ∼= K. �

A csoportelméletből ismeretes, hogy egy G csoport akkor és csak akkorbontható fel a G1, G2, . . . , Gn csoportok direkt szorzatára, ha vannak olyanK1, K2, . . . , Kn normális részcsoportjai, amelyekre

G1∼= K1, G2

∼= K2, . . . Gn∼= Kn,

240

Page 241: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

G = K1K2 · · ·Kn, Ki ∩K1 · · ·Ki−1Ki+1 · · ·Kn = eG (i = 1, 2, . . . , n),

ahol eG a G csoport egységeleme. Ez pontosan azt jelenti, hogy minden g ∈ Gsorrendtől eltekintve egyértelműen állítható elő g = g1g2 · · · gk alakban, aholgi ∈ Ki (i = 1, 2, . . . , n). (Az előbbi lemmában szereplő bármely α ∈ K ésβ ∈ L esetén is αβ = βα.)

Ezeket felhasználva bizonyítjuk a következő állítást, amely véges sok té-nyezős direkt szorzat esetén a 29.8. Következmény megfordításának tekint-hető.

29.12 Tétel Ha K1, K2, . . . , Kn (2 ≤ n) az A = (A,X, δ) félperfekt auto-mata G(A) automorfizmuscsoportjának olyan normális részcsoportjai, ame-lyekre

G(A) = K1K2 · · ·Kn, Ki ∩K1 · · ·Ki−1Ki+1 · · ·Kn = ιA,

akkor A felbontható olyan Ai = (Ai, X, δi) (i = 1, 2, . . . , n) félperfekt auto-maták direkt szorzatára, amelyekre G(Ai) ∼= Ki.

Bizonyítás. Az állítást n szerinti teljes indukcióval bizonyítjuk. Ha n = 2,akkor a 29.11. Lemma szerint igaz az állítás. Tegyük fel, hogy 2 ≤ n eseténigaz az állítás.

Legyenek K1, K2, . . . , Kn, Kn+1 az A félperfekt automata G(A) automor-fizmuscsoportjának olyan normális részcsoportjai, amelyekre

G(A) = K1K2 · · ·KnKn+1,

Ki ∩K1 · · ·Ki−1Ki+1 · · ·KnKn+1 = ιA, (i = 1, 2, . . . , n+ 1).

Könnyen belátható, hogy K1K2 · · ·Kn a G(A) automorfizmuscsoport normá-lis részcsoportja. A 29.11. Lemma szerint A/K1K2 · · ·Kn, A/Kn+1 félper-fekt automaták, G(A/K1K2 · · ·Kn) ∼= Kn+1, G(A/Kn+1) ∼= K1K2 · · ·Kn ésA/K1K2 · · ·Kn ×A/Kn+1

∼= A.Az indukciós feltevés szerint A/Kn+1 felbontható olyan Ai (i = 1, . . . , n)

félperfekt automaták direkt szorzatára, amelyekre G(Ai) ∼= Ki. �

Feladatok29.1. Legyen P(A)+ = (P (A)+, X, δ′) az A = (A,X, δ) félperfekt automatahatványautomatája,

K(B) = {ρA[r] ∈ S1(A);Br = B},

F (B) = {C ∈ P (A)+; |C| = |B|} (B ∈ P (A)+).

241

Page 242: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

K(B) az S1(A) karakterisztikus csoport részcsoportja és

∩C∈F (B)K(C) = ρ[e] (B 6= A).

Bármely p, q ∈ X∗ bemenő szavakra

Bp = Bq ⇔ ρA[p]K(B) = ρA[q]K(B).

29.2. Ha G az A félperfekt automata S1(A) karakterisztikus csoportjának rész-csoportja, akkor van olyan B ∈ P (A)+, amelyre K(B) = G. (K(B)-t a 29.1.feladatban definiáltuk.)29.3. A 29.1. feladat jelölései mellett legyen B = (B,X, δ′) a P(A)+ automata Bállapota által generált ciklikus részautomatája és

N(B) = {ρA[r] ∈ S1(A); (∀C ∈ B)(Cr = C).

N(B) az S1(A) karakterisztikus csoport normális részcsoportja,

N(B) ⊆ K(B), S1(B) ∼= S1(A)/N(B).

29.4. Ha N az A félperfekt automata S1(A) karakterisztikus csoportjának nor-mális részcsoportja, akkor van olyan B ∈ P (A)+, amelyre N(B) = N . (N(B)-t a29.3. feladatban definiáltuk.)29.5. Minden félperfekt automata hatványautomatája olyan erősen összefüggőautomaták direkt összege, amelyek karakterisztikus monoidja csoport.

30. Perfekt automatákAz erősen összefüggő kommutatív automatákat perfekt automatáknak is ne-vezzük. Perfekt automaták közé tartoznak például a ciklikus permutációau-tomaták.

30.1 Lemma Minden perfekt automata félperfekt.

Bizonyítás. Legyen az A = (A,X, δ) perfekt automata a ∈ A állapotáraés p, q ∈ X∗ bemenő szavaira ap = aq. Mivel A erősen összefüggő, ezértbármely b ∈ A állapothoz van olyan r ∈ X∗ bemenő szó, hogy b = ar. Azautomata kommutativitása miatt

bp = (ar)p = arp = apr = (ap)r = (aq)r = aqr = arq = (ar)q = bq,

vagyis A állapotfüggetlen, s így a 28.6. Lemma szerint félperfekt. �A 26.2. Következmény valamint a 29.5. Tétel alapján nyilvánvaló az

alábbi állítás.

242

Page 243: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

30.2 Következmény Félperfekt automata akkor és csak akkor perfekt, hakarakterisztikus csoportja [automorfizmuscsoportja] Abel-csoport.

Adjuk meg az A = (A,X, δ) automata karakterisztikus monoidját a 7.2.Lemmát felhasználva a T (A) monoiddal. A 30.2. Következményből a 26.3.Tétel segítségével kapjuk az alábbi eredményt:

30.3 Következmény Ha az A = (A,X, δ) automata perfekt, akkorG(A) =T (A) és így A permutációautomata.

30.4 Lemma Az A = (A,X, δ) ciklikus automata karakterisztikus monoid-ja akkor és csak akkor prímhatványrendű ciklikus csoport, ha A ugyanolyanprímhatványrendű ciklikus permutációautomata.

Bizonyítás. Tegyük fel, hogy A karakterisztikus monoidja tn prímhatvány-rendű ciklikus csoport. A 26.2. Következmény szerint A kommutatív. A26.3. Tétel szerint A tn prímhatványrendű perfekt automata. A 24.1. Lem-ma szerint A ∼= X∗/ρA. Vezessük be a rövid ρA[p] = p (p ∈ X∗) jelölést.Mivel X∗/ρA ciklikus csoport, ezért van olyan r ∈ X+ bemenő szó, hogy

X∗/ρA = {e, r, . . . , rtn−1} (rtn

= e).

Bármely q ∈ X∗ bemenő szóra X∗/ρA q által generált ciklikus részcsoport-jának rendje tn osztója, azaz egyenlő valamilyen tk prímhatvánnyal, ahol0 ≤ k ≤ n. Legyen r = x1x2 . . . xl (x1, x2, . . . , xl ∈ X). Legyen továbbá tkiaz xi (i = 1, 2, . . . , l) által generált ciklikus részcsoport rendje. Az A auto-mata kommutativitása miatt feltehető, hogy tk1 ≤ tk2 ≤ · · · ≤ tkl . Ezért tkiosztója tki+1-nek (i = 1, 2, . . . , l). Ezek szerint

rtkl = x1tklx2

tkl . . . xltkl = e,

amiből következik, hogy kl = n, vagyis xl ciklikus permutációjel.Megfordítva, legyen A tn prímhatványrendű ciklikus permutációautoma-

ta. Ha x ∈ X egy ciklikus permutációjel, akkor

X∗/ρA = {e, x, . . . , xtn−1}, (xtn

= e),

azaz a karakterisztikus félcsoport tn prímhatványrendű ciklikus csoport. �

30.5 Tétel Minden A-véges perfekt automata felbontható prímhatványren-dű ciklikus permutációautomaták direkt szorzatára, amelyek rendje sorrend-től eltekintve egyértelműen meghatározott.

243

Page 244: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A 30.2. Következmény szerint az A = (A,X, δ) A-véges perfektautomata G(A) automorfizmuscsoportja véges Abel-csoport. A véges Abel-csoportok alaptétele szerint

G(A) = K1K2 · · ·Kn, Ki ∩K1K2 · · ·Ki−1Ki+1 · · ·Kn (i = 1, 2, . . . , n),

ahol a Ki-k prímhatványrendű ciklikus csoportok, amelyek rendje sorrendtőleltekintve egyértelműen meghatározott. A 29.12. Tétel szerint A felbonthatóolyan Ai = (Ai, X, δi) (i = 1, 2, . . . , n) félperfekt automaták direkt szorzatá-ra, amelyekre G(Ai) ∼= Ki. A 29.5. Tétel szerint G(Ai) ∼= S1(Ai). A 25.12.és a 26.6. Lemmákból következik, hogy perfekt automata csak perfekt auto-maták direkt szorzatára bontható fel, ezért az Ai automaták perfektek. A30.4. Lemma szerint az Ai automaták ciklikus permutációautomaták. �

A tételben a komponensekről nem kell feltenni a perfektséget, mert per-fekt automata csak perfekt automaták direkt szorzatára bontható fel. Haaz Ai automaták legalább háromállapotúak, akkor a 27.9. Következményszerint ezek pontosan akkor egyszerűek, ha prímszámrendű ciklikus permu-tációautomaták. Tehát a legalább háromállapotú kommutatív egyszerű au-tomaták perfektek. A 24.5. Lemma és a 27.8. Tétel szerint a legalábbháromállapotú nem kommutatív egyszerű automaták nem lehetnek karakte-risztikus automaták.

30.6 Tétel A-véges perfekt automata akkor és csak akkor szubdirekt irre-ducibilis, ha prímhatványrendű ciklikus permutációautomata.

Bizonyítás. A triviális automatákra nyilvánvalóan teljesül a tétel állítása,ezért feltehetjük, hogy 2 ≤ |A|.

30.5. Tétel szerint minden A-véges perfekt automata felbontható prím-hatványrendű ciklikus permutációautomaták direkt szorzatára. Ha az A =(A,X, δ) A-véges perfekt automata felbomlik legalább két ilyen nem trivi-ális automata direkt szorzatára, akkor direkt reducibilis, s így szubdirektreducibilis.

Tegyük fel, hogy |X∗/ρA| = tn, ahol t prímszám és n ∈ N+. Használjuka 30. Lemma bizonyításának a jelöléseit, azaz legyen

X∗/ρA = {e, r, . . . , rtn−1} (rtn

= e) (r ∈ X+).

Mivel minden perfekt automata karakterisztikus automata, ezért 24.1. Lem-ma szerint A ∼= X∗/ρA. De A erősen összefüggő permutációautomata, ezérta 25.11. Lemma szerint minden ρ ∈ C(A) kongruencia uniform. Ha ρ 6= ιA,akkor van olyan 1 ≤ l < tn, hogy (e, rl) ∈ ρ . Legyen k a legkisebb ilyen l.Ebből az következik, hogy e, r, . . . , rk−1 mind különböző ρ-osztályban van-nak és a ρ-osztályok száma k. Ami azt jelenti, hogy k osztója tn-nek, vagyis

244

Page 245: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

k = tu (0 ≤ u < n). Azt is kaptuk, hogy ρ az X∗/ρA e és rk állapotai általgenerált főkongruencia.

Legyenek ρk (k = 0, 1, . . . , n− 1) a X∗/ρA automata e, rk állapotai általgenerált főkongruenciák. Az előbbiek szerint

C(X∗/ρA) = {ρ0, ρ1, . . . , ρn−1}, ωA = ρ0 > ρ1 > · · · > ρn−1 > ιA.

A 14.7. Tétel szerint A szubdirekt irreducibilis. �A 14.5.Tétel szerint bármely A-véges automata felbontható direkt irredu-

cibilis automaták direkt szorzatára. Tudjuk, hogy minden szubdirekt irredu-cibilis automata direkt irreducibilis. Ezért a 30.5. és a 30.6. Tételek alapjánperfekt automatákra kimondhatjuk az alábbi mélyebb eredményt:

30.7 Következmény Minden A-véges perfekt automata felbontható szub-direkt irreducibilis perfekt automaták direkt szorzatára.

Feladatok30.1. Ha A perfekt automata, akkor a 29.3. feladatban S1(B) ∼= S1(A)/K(B).30.2. Minden perfekt automata hatványautomatája perfekt automaták direktösszege.30.3. Erősen összefüggő automata akkor és csak akkor (m,n)-kommutatív, haperfekt.

31. Irányítható automatákAz irányítható automaták fontos szerepet töltenek be az automatabővíté-sekben. Például az 5.3. Tétel szerint minden A-véges automata megadha-tó egy reverzibilis automatának egy irányítható automatával való bővítése-ként. Az 5. fejezetben megadtuk az irányítható automata definícióját. AzA = (A,X, δ) automatát irányíthatónak vagy szinkronizálhatónak neveztük,ha van olyan p ∈ X∗ bemenő szó és d ∈ A állapot, hogy minden a ∈ A álla-pot esetén ap = d. Az ilyen p szót A irányító vagy szinkronizáló szavának,d-t A irányított vagy szinkronizált állapotának neveztük. Másképpen azt ismondtuk, hogy az A automata a p szóval irányítható a d állapothoz. JelöljeD(A) az A automata irányított állapotainak halmazát.

31.1 Lemma Az A = (A,X, δ) irányítható automata egyetlen (nem üres)erősen összefüggő részautomatája D(A) = (D(A), X, δ).

245

Page 246: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Ha d ∈ D(A), akkor van olyan p ∈ X∗ bemenő szó, hogyminden a ∈ A állapotra ap = d. Így minden x ∈ X esetén apx = dx, azazδ(d, x) ∈ D(A), vagyis D(A) az A automata részautomatája. Nyilvánvaló,hogy D(A) az A automata minden részautomatájának részautomatája. Ezazt jelenti, hogy D(A) az A automata egyetlen (nemüres) erősen összefüggőrészautomata. �

Egy S félcsoport J ideálját jobb zéró ideálnak nevezzük, ha minden ele-me S jobb oldali zéruseleme. Jelölje U(A) az A = (A,X, δ) irányíthatóautomata irányító szavainak halmazát. U(A) nyilvánvalóan X∗ ideálja.

31.2 Lemma Ha a A = (A,X, δ) automata irányítható, akkor

U = {ρA[p]; p ∈ U(A)}

az S1(A) karakterisztikus monoid jobb zéró ideálja és |U(A)| = |D(A)|.

Bizonyítás. Ha p ∈ U(A) és q ∈ X∗, akkor

ρA[q]ρA[p] = ρA[qp] = ρA[p], ρA[p]ρA[q] = ρA[pq] ∈ U(A),

amiből következik, hogy U(A) az S1(A) karakterisztikus monoid jobb zéróideálja.

Ha d1, d2 ∈ D(A), d1 6= d2 és az A automata a p1 szóval irányíthatód1 állapothoz, a p2-vel pedig d2-höz, akkor ρA[p1] 6= ρA[p2]. Ha pedig q1 ésq2 A-t ugyanahhoz a d állapothoz irányítja, akkor ρA[q1] = ρA[q2]. Ez aztjelenti, hogy |U(A)| = |D(A)|. �

Az előző lemma szerint irányítható automata karakterisztikus monoidjá-nak van jobb oldali zéruseleme. A következő tétel ezt az állítást általánosítja:

31.3 Tétel Véges sok irányítható automata direkt összegének karakteriszti-kus monoidja jobb oldali zéruselemes. Megfordítva, ha egy automata karak-terisztikus monoidja jobb oldali zéruselemes, akkor az automata irányíthatóautomaták direkt összege.

Bizonyítás. Legyen A = (A,X, δ) az Ak = (Ak, X, δk) (k = 1, 2, . . . , n)irányítható automaták direkt összege. Legyenek továbbá a ∈ A és p ∈ X∗tetszőlegesek és pk ∈ X∗ az Ak (k = 1, 2, . . . , n) automata egy irányító szava.Legyen a ∈ Ak, akkor

a(pp1 . . . pk−1pkpk+1 . . . pn) =

= ((app1 . . . pk−1)pk)(pk+1 . . . pn) = (apk)(pk+1 . . . pn) =

= ((ap1 . . . pk−1)pk)(pk+1 . . . pn) = a(p1 . . . pk−1pkpk+1 . . . pn).

246

Page 247: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ez azt jelenti, hogy

ρA[p]ρA[p1 . . . pn] = ρA[p1 . . . pn],

azaz ρA[p1 . . . pn] a karakterisztikus monoid egy jobb oldali zéruseleme.Megfordítva, tegyük fel, hogy az A = (A,X, δ) automata X∗/ρA ka-

rakterisztikus monoidjának ρA[p] jobb oldali zéruseleme. Definiáljuk az Aállapothalmazon a ρ binér relációt a következő módon:

(a, b) ∈ ρ ⇐⇒ ap = bp.

A ρ reláció nyilvánvalóan ekvivalencia. Mivel (ap)p = a(pp) = ap, ezértap ∈ ρ[a]. De minden x ∈ X bemenő jelre (ax)p = a(xp) = ap, azazax ∈ ρ[a]. Ez éppen azt jelenti, hogy minden a ∈ A állapotra (ρ[a], X, δ) azA automata irányítható automata és A ezeknek direkt összege. �

A 31.3. Tételből könnyen adódik az alábbi két állítás:

31.4 Következmény A-véges automata akkor és csak akkor irányítható au-tomaták direkt összege, ha karakterisztikus monoidjának van jobb oldali zé-ruseleme.

Az 5. fejezetben megadtuk az összefüggő automata fogalmát. Az A =(A,X, δ) automatát összefüggőnek neveztük, ha bármely a, b ∈ A állapot-párhoz vannak olyan p, q ∈ X∗ bemenő szavak, amelyekre ap = bq teljesül.Például az erősen összefüggő automaták összefüggőek. Minden irányíthatóautomata is összefüggő.

31.5 Következmény Összefüggő automata akkor és csak akkor irányítható,ha karakterisztikus monoidjának van jobb oldali zéruseleme.

31.6 Következmény Összefüggő automata akkor és csak akkor irányíthatócsapdás automata, ha karakterisztikus monoidja zéruselemes.

Bizonyítás. Legyen az A = (A,X, δ) összefüggő automata karakteriszti-kus monoidja zéruselemes és ρA[p] a zéruseleme. Mivel A összefüggő, ezértbármely a, b ∈ A állapotpárhoz vannak olyan q, r ∈ X∗ bemenő szavak,amelyekre

c = ap = a(pq) = (ap)q = (bp)r = b(pr) = bp,

azaz Ap = {c}. Tehát A irányítható p-vel c-hez. De bármely q ∈ X∗ bemenőszóra

cq = (cp)q = c(pq) = cp = c,

vagyis c A csapdája.

247

Page 248: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megfordítva, legyen A irányítható csapdás automata. Minden összefüg-gő csapdás automatának, így speciálisan irányítható csapdás automatának isegyetlen csapdája van. Legyen A csapdája c. Irányítható csapdás automa-tának egyetlen irányított állapota a csapdája. Tegyük fel, hogy A a p ∈ X∗szóval irányítható c-hez. Akkor minden a ∈ A állapotra és q ∈ X∗ bemenőszóra

a(qp) = (aq)p = c = ap, a(pq) = (ap)q = cq = c = ap,

vagyisρA[q]ρA[p] = ρA[p] = ρA[p]ρA[q].

Ez azt jelenti, hogy ρA[p] a karakterisztikus monoid zéruseleme. �Az A = (A,X, δ) automatát szimmetrikusan összefüggőnek nevezzük, ha

bármely a, b ∈ A állapotpárhoz van olyan p ∈ X∗ bemenő szó, amelyreap = bp. A definíció szerint minden irányítható automata szimmetrikusanösszefüggő. A-véges automatákra az állítás megfordítható:

31.7 Tétel Az A-véges A = (A,X, δ) automata akkor és csak akkor szim-metrikusan összefüggő, ha irányítható.

Bizonyítás. Ha A irányítható, akkor az automata egy p irányító szavateljesíti a feltételt.

Megfordítva, tegyük fel, hogy A szimmetrikusan összefüggő. Legyen Taz A állapothalmaz egy olyan maximális részhalmaza, amelyhez van olyanp ∈ X∗, hogy |Tp| = 1. Tegyük fel, hogy T 6= A. Ha b ∈ A − T , akkor vanolyan a ∈ T , hogy ap 6= bp. A feltétel szerint van olyan q ∈ X∗, amelyre

a(pq) = (ap)q = (bp)q = b(pq).

Így |(T ∪ b)pq| = 1 és T ⊂ T ∪ b. Ez azonban lehetetlen, tehát T = A, azazA irányítható automata. �

Már láttuk, hogy az A = (A,X, δ) irányítható automata irányító szavai-nak U(A) halmaza az X∗ szabad monoid jobb zéró ideálja. Legyen

(31.1) d(A) = min{|p|; p ∈ U(A)},

azaz d(A) legyen az A egy legrövidebb hosszúságú irányító szavának hossza.Jelölje Dn az n állapotú irányítható automaták halmazát. Legyen K olyanautomataosztály, amelyre Dn ∩ K 6= ∅. Továbbá legyen

(31.2) dK(n) = max{d(A); A ∈ Dn ∩ K}.

Az nyilvánvaló, hogy dK(1) = 0. Ha Dn = K, akkor dK(n) helyett egyszerűena d(n) jelölést használjuk. Jan Černý egy 1964-ben írt dolgozatában azt

248

Page 249: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

sejtette, hogy ha n ∈ N+, akkor d(n) = (n − 1)2. Úgy is mondjuk, hogy aČerný sejtés igaz az n állapotú A = (A,X, δ) irányítható automatára, had(A) ≤ (n − 1)2. A Černý sejtés az automaták algebrai elméletének egyiklegrégebben megoldatlan problémája. (A Černý sejtést méltán nevezhetjükaz automataelmélet Szent Gráljának.)

31.8 Tétel Ha 2 ≤ n, akkor (n− 1)2 ≤ d(n) ≤ 1 + (n− 2)(n2

).

Bizonyítás. Először megadunk egy olyan n állapotú A = (A,X, δ) irá-nyítható automatát, amelyre d(A) = (n − 1)2. Ebből kapjuk azt, hogy(n− 1)2 ≤ d(n).

Legyen A = {1, 2, . . . , n} (2 ≤ n), X = {x, y},

δ(i, x) = i+ 1 (i = 1, 2, . . . , n− 1), δ(n, x) = 1,

δ(i, y) = i (i = 1, 2, . . . , n− 2, n), δ(n− 1, y) = n.

Legyen p ∈ X+ egy legrövidebb irányító szó. Ha n = 2, akkor p = y,azaz d(A) = 1 = (2 − 1)2. Legyen 3 ≤ n és p = qx (q ∈ X∗). Mivelp egy legrövidebb irányító szó, ezért |Aq| 6= 1. De x permutációjel, így|Aq| = |Aqx| = |Ap|, ami lehetetlen. Vagyis p = qy. Ebből következik, hogyAq = {n − 1, n} és q ∈ X+. De q utolsó betűje nem lehet y, mert nincsolyan állapot, amelyből az automata y hatására az n−1 állapotba menne át.Szükségképpen q = q1x

n−1, Aq1 = {n, 1} és (q1 ∈ X+). Ebből következik,hogy q1 = r1y, Ar1 = {n− 1, n, 1} és ha 4 ≤ |A|, akkor r1 ∈ X+. Ugyanaztaz eljárást folytatva, mint az előbb kapjuk, hogy

q1 = q2xn−1y, Aq2 = {n, 1, 2}, q2 = r2y.

Folytatva az eljárást, végül kapjuk, hogy

p = y(xn−1y)n−2 = (yxn−1)n−2y,

azaz |p| = (n− 1)2.Most megmutatjuk, hogy d(n) ≤ 1 + (n− 2)

(n2

). Az nyilvánvaló, hogy az

állítás n = 2-re igaz. Tegyük fel, hogy 3 ≤ n. Legyen A = (A,X, δ) n álla-potú irányítható automata. Mivel A irányítható automata, létezik legalábbegy x ∈ X nem permutációjel. Ez azt jelenti, hogy |Ax| < |A|. Legyeneka1, b1 ∈ Ax és a1 6= b1. Ezenkívül legyen q1 ∈ X∗ egy legrövidebb hosszúságúszó, amelyre a1q1 = b1q1. Tegyük fel, hogy

(n2

)+ 1 ≤ |q1|. Akkor vannak

olyan r1, t1 ∈ X∗ és v1 ∈ X+, hogy r1t1 ∈ X+, q1 = r1v1t1, a1r1 = a1r1v1

és b1r1 = b1r1v1. Ebből következik, hogy a1r1t1 = b1r1t1. Ez ellentmond q1

választásának. Innen |q1| ≤(n2

). Ezt az eljárást Ax helyett Axq1-gyel megis-

mételve kapjuk, hogy |Axq1q2| < |Axq1| és |q2| ≤(n2

). Folytatva az eljárást,

249

Page 250: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

k ≤ n− 2 lépésben kapunk egy olyan p = xq1q2 . . . qk irányító szót, amelyre|p| ≤ 1 + (n− 2)

(n2

). �

Megjegyezzük, hogy n ≥ 4 esetben az irodalomban az előbbi tételbenszereplő felső korlátnál kisebb n3−n

6felső korlát is ismert. A bizonyítás bo-

nyolultsága miatt ezt azonban itt nem mutatjuk meg.A (31.1) és (31.2) definíciókban szorítkozzunk csak kommutatív irányít-

ható automatákra és d(n) helyett használjuk a dkom(n) jelölést.

31.9 Tétel Ha n ∈ N+, akkor dkom(n) = n− 1.

Bizonyítás. Ha n = 1, akkor nyilvánvalóan igaz az állítás. Legyen A =(A,X, δ) 2 ≤ n állapotú kommutatív irányítható automata. Tegyük fel, hogyp = x1x2 . . . xk (x1, x2, . . . , xk ∈ X) egy legrövidebb hosszúságú irányító szó.Mivel A kommutatív, ezért

A ⊇ Ax1 ⊇ Ax1x2 ⊇ · · · ⊇ Ap.

Nem nehéz megmutatni, hogy minden tartalmazás valódi. Ha ugyanis

Ax1x2 . . . xi−1 = Ax1x2 . . . xi−1xi

valamilyen 1 ≤ i ≤ k esetén (x0 = e), akkor

x1x2 . . . xi−1xi+1 . . . xk

is irányító szó, ami p választása miatt lehetetlen. Ebből pedig következik,hogy k ≤ n− 1.

Most megadunk egy A = (A,X, δ) n állapotú kommutatív irányíthatóautomatát, amelyre dkom(n) = n− 1. Legyen A = {1, 2, . . . , n}, X = {x} és

δ(i, x) = i+ 1 (i = 1, 2, . . . , n− 1), δ(n, x) = n.

Az A automata irányítható csapdás automata, amelynek egyetlen irányítottállapota az n csapda. A legrövidebb irányító szó pedig xn−1. �

Az 5.1. Lemma szerint A-véges csapdás automata akkor és csak akkorösszefüggő, ha irányítható. Nem nehéz belátni, hogy minden kommutatívirányítható automata csapdás. A 31.1. Lemma segítségével kapjuk, hogy azA = (A,X, δ) irányítható automatának c ∈ A akkor és csak akkor csapdája,ha c az A automata egyetlen irányított állapota. Adjuk meg a (31.1) és a(31.2) definiciókat csak irányítható csapdás automatákra és használjuk d(n)helyett a dcs(n) jelölést.

31.10 Tétel Ha n ∈ N+, akkor dcs(n) =(n2

).

250

Page 251: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Mivel dcs(1) = 0, ezért az állítás n = 1-re igaz. Így feltehetjük,hogy 2 ≤ n. Legyen A = (A,X, δ) n állapotú irányítható csapdás automataés c ∈ A az A automata csapdája. Már említettük, hogy ebben az esetben caz A automata egyetlen irányított állapota.

Bármely a ∈ A állapotra jelöljön pa ∈ X∗ egy legrövidebb hosszúságúszót, amelyre apa = c. Legyen b ∈ A olyan állapot, amelyre minden a ∈ Aállapot esetén |pa| ≤ |pb|. Nyilvánvalóan 1 ≤ |pb| ≤ n− 1. Ha

pb = x1x2 . . . xn−k (1 ≤ k ≤ n− 1),

akkor ab, bx1, bx1x2, . . . , bx1x2 . . . xn−k−1

állapotok mind különbözőek és nem egyenlők c-vel. Ha

b, bx1, bx1x2, . . . , bx1x2 . . . xn−k−1 /∈ Axn−k,

akkor |Axn−k| ≤ k. Tegyük fel, hogy

bx1x2 . . . xn−k−i ∈ Axn−k, 1 ≤ i ≤ n− k, (x0 = e),

továbbá, ha i > 1, akkor

bx1x2 . . . xn−k−i+1, . . . , bx1x2 . . . xn−k−1 /∈ Axn−k.

Ebben az esetben

|Axn−kxn−k−i+1 . . . xn−k| ≤ k + i− 1.

Ezt folytassuk az Axn−k halmaz helyett az Axn−kxn−k−i+1 . . . xn−k halmazzal,a

b, bx1, bx1x2, . . . , bx1x2 . . . xn−k−1

állapotok helyett pedig a

b, bx1, bx1x2, . . . , bx1x2 . . . xn−k−i

állapotokkal. Legfeljebb n− k lépésben kapjuk, hogy van olyan q ∈ X+ szó,amelyre

|Aq| ≤ k, |q| ≤ (n− k)(1 + n− k)

2.

Mivel c ∈ Aq, így vannak olyan q1, . . . , qk−1 ∈ X∗ szavak, hogy

|q1|, . . . , |qk−1| ≤ n− k, Aqq1 . . . qk−1 = c,

251

Page 252: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz|qq1 . . . qk−1| ≤

(n− k)(1 + n− k)

2+ (n− k)(k − 1) =

=(n− 1)(k − 1)

2+k(1− k)

2≤ (n− 1)n

2.

Amiből következik, hogy

dcs(n) ≤ (n− 1)n

2.

Legyenek

A = {0, 1, 2, . . . , n− 1}, X = {x1, x2, . . . xn−1} (2 ≤ n).

Továbbá

δ(i, xi) = i− 1, δ(0, xi) = 0 (i = 1, 2, . . . , n− 1),

δ(i, xi+1) = i+ 1 (i = 1, 2, . . . , n− 2),

δ(i, xs) = i (i = 1, 2, . . . , n− 2, s 6= i, i+ 1),

δ(n− 1, xs) = n− 1 (s 6= n− 1).

Nyilvánvaló, hogy 0 az A = (A,X, δ) automata csapdája. Belátható, hogyr = xi . . . x2x1 legrövidebb hosszúságú szó, amelyre

{0, i, . . . , n− 1}r = {0, i+ 1, . . . , n− 1} (1 ≤ i ≤ n− 1).

Ez alapján meggyőződhetünk arról, hogy

p = x1x2x1x3x2x1 . . . xn−2 . . . x2x1xn−1xn−2 . . . x2x1

legrövidebb hosszúságú irányító szó. De |p| = (n−1)n2

, ezért

dcs(n) =(n− 1)n

2(n ∈ N+).�

31.11 Következmény A Černý sejtés akkor és csak akkor igaz, ha erősenösszefüggő irányítható automatákra igaz.

Bizonyítás. Ha a Cerný sejtés igaz, akkor természetesen erősen összefüggőirányítható automatákra is igaz.

Megfordítva tegyük fel, hogy a Černý sejtés erősen összefüggő irányíthatóautomatákra igaz. Legyen A = (A,X, δ) n állapotú irányítható automata.Triviális automatákra nyilvánvalóan igaz a sejtés, ezért feltehető, hogy 2 ≤ n.

252

Page 253: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen D(A) az A automata irányított állapotainak halmaza. A 31.1. Lem-ma szerint D(A) = (D(A), X, δ) az A automata egyetlen (nemüres) erősenösszefüggő részautomatája. Az A/D(A) Rees-faktor irányítható csapdásautomata és csapdája D(A). Ha |D(A)| = k (1 ≤ k ≤ n) és p ∈ X+ egylegrövidebb hosszúságú irányító szó a Rees-faktorban, akkor Ap ⊆ D(A) ésa 31.10. Tétel szerint

|p| ≤ (n− k + 1)(n− k)

2.

Legyen a D(A) automatában q ∈ X+ egy legrövidebb irányító szó. A feltételszerint |q| ≤ (k − 1)2. Mivel Ap ⊆ D(A), ezért

|Apq| = |(Ap)q| ≤ |D(A)q| = 1,

vagyis pq az A automata egy irányító szava. Ha 1 ≤ k ≤ n, akkor

2(n−1)2−(n−k+1)(n−k) = 2(n−1)2−((n−1)−(k−2))((n−1)−(k−1)) =

= (n− 1)2 + (n− 1)(k − 1) + (n− k)(k − 2) ≥ 2(k − 1)2,

ezért|pq| ≤ (n− k + 1)(n− k)

2+ (k − 1)2 ≤ (n− 1)2.

�A 31.1. Lemma alapján könnyen bizonyítható a következő állítás is:

31.12 Tétel Egy automata akkor és csak akkor irányítható, ha erősen össze-függő irányítható automatának irányítható (csapdás) automatával való bő-vítése.

31.13 Tétel Az A = (A,X, δ) irányítható automata bármely endomorfiz-musának D(A)-ra való szűkítése D(A) identikus leképezése. Ha A erősenösszefüggő irányítható automata, akkor E(A) = ιA.

Bizonyítás. Legyen α ∈ E(A) tetszőleges endomorfizmus. Ha a p ∈ X∗

irányító szó az A automatát az a ∈ D(A) állapothoz irányítja, akkor

a = α(a)p = α(ap) = α(a).

A 25.2. és 31.1. Lemmák szerint α|D(A) = ιD(A). �

31.14 Következmény Ha az A = (A,X, δ) irányítható automatára

E ′(A) = {α ∈ E(A);α(A) ⊆ D(A} 6= ∅,

akkor E ′(A) az E(A) endomorfizmusfélcsoport jobb zéró ideálja.

253

Page 254: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Ha α ∈ E ′(A) és β ∈ E(A), akkor a 31.13. Tétel alapjántetszőleges a ∈ A állapotra kapjuk, hogy

βα(a) = β(α(a)) = α(a),

vagyis βα = α, tehát α jobb oldali zéruselem E(A)-ban.Másrészt, αβ(a) = α(β(a)) ∈ D(A), azaz αβ(A) ⊆ D(A), tehát αβ ∈

E ′(A). Ez azt jelenti, hogy E ′(A) az E(A) endomorfizmusfélcsoport jobbzéró ideálja. �

Feladatok31.1. Bármely A = (A,X, δ) irányítható automatára E(A) homomorf módonbeágyazható E(A/D(A))-ba.31.2. AzA automata általánosított hatványautomatája akkor és csak akkor erősenösszefüggő irányítható automata, ha A is erősen összefüggő irányítható automata.31.3. Ha a Černý sejtés igaz az A = (A,X, δ) A-véges irányítható automata egyB = (B,X, δ) részautomatájára, akkor igaz az A automatára is.31.4. Ha a Černý sejtés igaz az Ai = (Ai, X, δi) (i = 1, 2, . . . , n) irányíthatóautomatákra, akkor az A1 ×A2 × · · · ×An direkt szorzatra is igaz.31.5. Legyen ϕ az A = (A,X, δ) A-véges erősen összefüggő irányítható automatahomomorf leképezése a nemtriviálisB = (B,X, δ′) automatára, amelynek van olyanb ∈ B állapota, hogy |ϕ−1(b)| ≤ 2. Ha a Černý sejtés igaz B-re, akkor igaz A-rais.

32. Nilpotens és definit automatákEbben a fejezetben az irányítható automaták két nevezetes részosztályát, anilpotens és a definit automatákat vizsgáljuk. Az A = (A,X, δ) automatátk-nilpotensnek nevezzük, ha van olyan k ∈ N és c ∈ A, hogy

(32.1) ∀(a ∈ A, p ∈ Xk) (ap = c).

Ha az A automata k-nilpotens, akkor nyilvánvalóan (k + 1)-nilpotens is.Az A automatát nilpotensnek mondjuk, ha k-nilpotens valamilyen k ∈ Nszámra. A legkisebb ilyen k számot A nilpotenciafokának nevezzük. Aztis mondjuk, hogy az A automata k-adfokban nilpotens. Nem nehéz belátni,hogy A irányítható csapdás automata és c az automata csapdája.

A nulladfokban nilpotens automaták a triviális automaták. A kétállapotúnilpotens automaták elsőfokban nilpotensek. Az is világos, hogy a legfeljebbmásodfokban nilpotens automaták kommutatívak.

254

Page 255: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Szükségünk lesz a nilpotencia félcsoportelméleti definíciójára is. LegyenS zéruselemes félcsoport és 0 S zéruseleme. Az S félcsoportot nilpotensneknevezzük, ha van olyan k ∈ N , amelyre Sk = 0. A legkisebb ilyen k számotS nilpotenciafokának, S-et pedig k-adfokban nilpotensnek nevezzük.

32.1 Tétel Az A automata karakterisztikus félcsoportja akkor és csak akkornilpotens, ha A valamely Ai (i ∈ I) nilpotens automaták direkt összege ésvan olyan k ∈ N , hogy az Ai (i ∈ I) automaták nilpotenciafoka legfeljebb k.

Bizonyítás. Tegyük fel először, hogy az A = (A,X, δ) automata

Ai = (Ai, X, δi) (i ∈ I)

nilpotens automaták direkt összege. Legyen

k = max{ki; i ∈ I},

ahol ki az Ai automata nilpotenciafoka. Vegyük fel (7.2) szerint az S(A)karakterisztikus félcsoportotX+/ρA alakban. Belátható, hogy S(A) olyan k-adfokban nilpotens félcsoport, amelynek zéruseleme a legalább k hosszúságúbemenő szavakból álló ρA-osztály.

Megfordítva, tegyük fel, hogy az A = (A,X, δ) automata S(A) = X+/ρAkarakterisztikus félcsoportja k-adfokban nilpotens. A legalább k hosszúságúbemenő szavak egy ρA-osztályt alkotnak, amely a karakterisztikus félcsoportzéruseleme. Jelölje ezt az osztályt C0. Legyen p0 a C0 osztály tetszőleges, derögzített eleme.

Minden a ∈ A állapotra definiáljuk az

Aa = {b ∈ A; (∃q ∈ C0)(bq = ap0)}

halmazokat. Világos, hogy minden a ∈ A állapotra a ∈ Aa. Ha

d ∈ Aa ∩ Ab (a, b ∈ A),

akkor vannak olyan p, q ∈ C0 szavak, hogy dp = ap0 és dq = bp0. Így

ap0 = dp = dq = bp0,

azaz Aa = Ab. Ez azt jelenti, hogy Aa (a ∈ A) az A állapothalmaz egyosztályozása.

Világos továbbá az is, hogy minden a ∈ A állapotra Aa = (Aa, X, δ)az A automata részautomatája, vagyis A ezek direkt összege. Az Aa (a ∈A) definíciójából látható, hogy legfeljeb k-adfokban nilpotens automata éscsapdája ap0. �

255

Page 256: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

32.2 Következmény Ha egy automata k-adfokban nilpotens, akkor karak-terisztikus félcsoportja is k-adfokban nilpotens. Megfordítva, ha egy ciklikusautomata karakterisztikus félcsoportja k-afokban nilpotens, akkor az auto-mata is k-adfokban nilpotens.

Ha egy S monoid egységelemtől különböző elemei S-nek egy S ′ részfélcso-portját alkotják, akkor azt mondjuk, hogy S az S ′-ből előállítható egységelemkülső adjunkciójával.

32.3 Tétel Ha egy ciklikus automata k-adfokban nilpotens (k ≥ 2), akkorendomorfizmusfélcsoportja előállítható egy legfeljebb k-adfokban nilpotensfélcsoportból egységelem külső adjunkciójával.

Bizonyítás. Legyen az A = (A,X, δ) ciklikus automata k-adfokban nilpo-tens. Jelölje a0 az automata egy generátorelemét és c a csapdáját. Mivelk ≥ 2, ezért a0 6= c. Legyen α ∈ E(A). Mivel D(A) = {c}, ezért a 31.13.Tétel szerint α(c) = c. (Az állítás a 31.13. Tételre való hivatkozás nélkülis egyszerűen belátható.) Már a 27. fejezetben láttuk, hogy az αc : A → Aleképezés, amelyre minden a ∈ A esetén αc(a) = c teljesül, az A automataegy endomorfizmusa. Bármely α ∈ E(A) és a ∈ A esetén

ααc(a) = α(c) = c = αcα(a),

azazααc = αc = αcα,

vagyis αc az E(A) endomorfizmusfélcsoport zéruseleme. Ha α ∈ E(A) ésα(a0) = a0, akkor minden p ∈ X∗ bemenő szóra

α(a0p) = α(a0)p = a0p.

Mivel A ciklikus és a0 egy generátoreleme, ezért α = ιA.Ha α, β ∈ E(A)− {ιA}, akkor α(a0) 6= a0 és β(a0) 6= a0, ezért van olyan

p, q ∈ X+ bemenő szavak, hogy α(a0) = a0p és β(a0) = a0q. Így

αβ(a0) = α(a0q) = α(a0)q = a0pq.

Ebből következik, hogy a0pq 6= a0, azaz αβ(a0) 6= a0. (Ha ugyanis a0pq = a0

lenne, akkor c = a0(pq)k = a0, ami lehetetlen.) Ez viszont azt jelenti, hogyαβ ∈ E(A) − {ιA}, vagyis E(A) − {ιA} az E(A) endomorfizmusfélcsoportrészfélcsoportja.

Ha α ∈ E(A) olyan endomorfizmus, amelyre α(a0) = c, akkor mindenp ∈ X∗ esetén

α(a0p) = α(a0)p = cp = c,

256

Page 257: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

vagyis α = αc. Ezt a tényt használjuk fel a tétel bizonyításának befejezéséhez.Ha αi ∈ E(A)−{ιA}, akkor vannak olyan pi ∈ X+, amelyekre αi(a0) = a0pi(i = 1, 2, . . . , k). Amiből

α1α2 . . . αk(a0) = a0p1p2 . . . pk = c,

vagyisα1α2 . . . αk = αc.

Ez viszont azt jelenti, hogy E(A) − {ιA} legfeljebb k-adfokban nilpotensfélcsoport. �

Az A = (A,X, δ) automatát k-definitnek nevezzük, ha van olyan k ∈ N ,hogy

(32.2) ∀(k ∈ Xk) (|Ap| = 1)

implikáció. Nem nehéz belátni, hogy ha A k-definit, akkor (k+ 1)-definit is.Az A automatát definitnek mondjuk, ha k-definit valamilyen k ∈ N szám-ra. A legkisebb ilyen k számot A definitségi fokának nevezzük és df(A)-valjelöljük. Azt is mondjuk, hogy az A automata k-adfokban definit. Egy Aautomata tehát pontosan akkor k-adfokban definit, ha tetszőleges legalább khosszúságú bemenő szó hatására A minden állapotból egy csak ettől a szótólfüggő állapotba megy át és van olyan k − 1 hosszúságú bemenő szó, vala-mint A-nak legalább két olyan állapota, hogy e két állapotból e szó hatásáraegymástól különböző állapotokba megy át. Szemléletesen azt mondhatjuk,hogy ha egy A = (A,X, δ) automata k-adfokban definit, akkor egy legalábbk hosszúságú p ∈ X∗ szó hatására eljutva az ap állapotba, "nem emlékszik"a kiindulási a ∈ A állapotra. Ezért a definit automatákat véges memóriájúautomatáknak is nevezzük. A definit automata fogalmát már a 4. fejezetbenbevezettük. Nyilvánvaló, hogy az ott megadott definíció ekvivalens a mostmegadott definícióval.

Megemlítjük, hogy a triviális automaták a nulladfokban definit automa-ták. Az 1. fejezetben definiált legalább kétállapotú teljes beállító automatákaz elsőfokban definit automaták.

Minden k-adfokban nilpotens automata k-adfokban definit és minden k-adfokban definit automata olyan irányítható automata, amely bármely álla-potból minden legalább k hosszúságú szóval egy irányított állapotba jut. A31.1. Lemmát felhasználva, nem nehéz bebizonyítani az alábbi állítást.

32.4 Tétel Ha az A = (A,X, δ) automata k-adfokban definit, akkor azA/D(A) Rees-faktor legfeljebb k-adfokban nilpotens.

Végül megmutatjuk a következő egyszerű eredményt:

257

Page 258: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

32.5 Tétel Bármely n állapotú definit [nilpotens] automata definitségi foka[nilpotenciafoka] legfeljebb n − 1. Az általános esetben a felső korlát nemcsökkenthető.

Bizonyítás. Legyen A = (A,X, δ) tetszőleges k-adfokban definit [nilpotens]automata. Mivel a triviális automaták nulladfokban definitek [nilpotensek],ezért feltehetjük, hogy 2 ≤ n. Tekintsük a (4.8) feltétellel definiált τl reláci-ókat. Mivel A k-adfokban definit [nilpotens], ezért

ιA ⊂ τ1 ⊂ · · · ⊂ τk−1 ⊂ τk = ωA.

Ebből nyilvánvalóan adódik, hogy k ≤ n− 1.Annak belátásához, hogy általában a felső korlát nem csökkenthető, te-

kintsük a 31.9. Tétel bizonyításában is szereplő A = (A,X, δ) automatát,ahol A = {1, 2, . . . n}, X = {x} és

δ(i, x) = i+ 1 (i = 1, 2, . . . , n− 1), δ(n, x) = n.

Nyilvánvalóan A (n− 1)-edfokban nilpotens [definit]. �A (31.1) és (31.2) definíciókban definit [nilpotens] automatákra szorítkoz-

va és d(n) helyett a ddef (n) [dnil(n)] jelölést használva, igaz a

32.6 Következmény Ha n ∈ N+, akkor ddef (n) = dnil(n) = n− 1.

Feladatok32.1. Az A = (A,X, Y, δ, λ) Mealy automata AY váza (l. (1.3)) akkor és csakakkor nilpotens, ha A olyan nilpotens automata, amelynek c ∈ A a csapdájaés |{λ(c, x); x ∈ X}| = 1. (Emlékeztetünk arra, hogy Mealy automatát akkornevezünk adott típusúnak, ha vetülete ugyanolyan típusú.)32.2. Egy Mealy automata váza akkor és csak akkor definit, ha a Mealy automatais definit.

33. Összefüggő automatákEbben a fejezetben tovább vizsgáljuk az 5. fejezetben definiált összefüggőautomatákat. Az A = (A,X, δ) automata A állapothalmazának B részhal-mazát összefüggőnek nevezzük, ha bármely a, b ∈ B állapotokhoz vannakolyan p, q ∈ X∗ bemenő szavak, amelyekre ap = bq teljesül. Összefüggőhalmaz minden részhalmaza összefüggő. A B összefüggő részhalmazt ma-ximálisnak nevezzük, ha A-nak nincs olyan összefüggő részhalmaza, amely-nek B valódi része. Úgy is mondhatjuk, hogy az A = (A,X, δ) automata

258

Page 259: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

B = (B,X, δ) részautomatája összefüggő, ha az állapothalmaza összefüggő.Végül a B összefüggő részautomatát maximálisnak nevezzük, ha A-nak nincsolyan összefüggő részautomatája, amelynek B valódi részautomatája. Ha Aösszefüggő automata, akkor az A állapothalmaz egyetlen maximális összefüg-gő részhalmaza. Az 5. fejezetben azt is megjegyeztük, hogy egy összefüggőautomata legfeljebb egycsapdás és minden részautomatája összefüggő. Nyil-vánvalóan igaz a

33.1 Lemma Egy automata akkor és csak akkor összefüggő, ha bármely kétnemüres részautomatájának közös része sem üres.

33.2 Lemma Bármely automata minden összefüggő részhalmaza [részauto-matája] részhalmaza [részautomatája] az automata egy maximális összefüggőrészhalmazának [részautomatájának].

Bizonyítás. Legyen B az A automata tetszőleges összefüggő részhalma-za és B a B-t tartalmazó összefüggő részhalmazok halmaza. A B halmaza halmazelméleti tartalmazásra részbenrendezett halmaz. Összefüggő rész-halmazok bármely láncának egyesítése szintén összefüggő részhalmaz, ezérta Zorn lemma szerint B-ben van maximális elem, azaz van olyan maximálisösszefüggő részhalmaz, amely tartalmazza B-t.

Felhasználva (2.3)-at és (2.4)-et összefüggő részautomatákra a bizonyításugyanígy végezhető el. �

33.3 Lemma Ha B az A = (A,X, δ) automata maximális összefüggő rész-halmaza, akkor

(33.1) ap ∈ B (a ∈ A, p ∈ X∗) =⇒ a ∈ B.

Bizonyítás. Tegyük fel, hogy az a ∈ A állapotra és a p ∈ X∗ bemenő szóraap ∈ B. Mivel B az A automata összefüggő részhalmaza, ezért bármelyb ∈ B állapothoz vannak olyan q, r ∈ X∗ bemenő szavak, hogy a(pq) =(ap)q = br. Ez azt jelenti, hogy B ∪ {a} is összefüggő részhalmaza A-nak.De B maximális összefüggő részhalmaz, ezért a ∈ B. �

Az eddigiek alapján nem nehéz belátni a következő lemmát sem:

33.4 Lemma Ha A1 és A2 egy összefüggő A automata részautomatái, akkoraz A automata A1∩A2 részautomatája is összefüggő. Továbbá A1∪A2 az Aautomatának akkor és csak akkor összefüggő részautomatája, ha A1∩A2 6= ∅.Ha pedig A1 és A2 különböző maximális összefüggő részautomaták, akkorA1 ∩A2 = ∅.

259

Page 260: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

33.5 Lemma Ha az A′ = (A′, X, δ) automata az A = (A,X, δ) automa-ta nemüres összefüggő részautomatája, akkor A-nak egyetlen olyan B =(B,X, δ) maximális összefüggő részautomatája és C maximális összefüggőrészhalmaza van, amelyre A′ ⊆ B ⊆ C.

Bizonyítás. Legyen A′ = (A′, X, δ) az A = (A,X, δ) automata összefüggőrészautomatája, akkor a 33.2. Lemma szerint A-nak van olyan B = (B,X, δ)maximális összefüggő részautomatája, hogy A′ ⊆ B. Szintén a 33.2. Lemmaszerint A-nak van olyan C maximális összefüggő részhalmaza, hogy B ⊆ C.A 33.4. Lemma szerint egyetlen ilyen B automata van. Legyen C ′ az Amaximális összefüggő részhalmaza és B ⊆ C ′. Legyen d ∈ C ′ és b ∈ B. Mivelb ∈ C ′, ezért vannak olyan p, q ∈ X∗, amelyekre c′p = bq. De bq ∈ B ⊆ C,ezért a 33.3. Lemma szerint d ∈ C, vagyis C ′ ⊆ C. De C ′ maximálisösszefüggő részhalmaz, így C ′ = C. �

33.6 Lemma Ha {Bj; j ∈ J} az A = (A,X, δ) automata maximális össze-függő részhalmazainak halmaza és I ⊆ J , akkor

(33.2) BI = A− (∪i∈IBi) = (∪j∈JBj)− (∪i∈IBi)

A egy részautomatájának állapothalmaza.Az A automata minden B = (B,X, δ) részautomatájához egyetlen olyan

I ⊆ J indexhalmaz van, amelyre B ⊆ BI és

K 6⊂ I =⇒ B 6⊆ BK (K ⊂ J).

Bizonyítás. Mivel A = ∪j∈JBj, ezért

A− (∪i∈IBi) = (∪j∈JBj)− (∪i∈IBi).

Ha A − (∪i∈IBi) = ∅, akkor ez az üres automata állapothalmaza. Tegyükfel, hogy A − (∪i∈IBi) 6= ∅. Legyenek a ∈ A − (∪i∈IBi) és x ∈ X. Haδ(a, x) ∈ ∪i∈IBi, akkor valamely i ∈ I indexre δ(a, x) ∈ Bi. A 33.3. Lemmaszerint a ∈ Bi. Ez azonban lehetetlen, így δ(a, x) ∈ A − (∪i∈IBi), vagyisA− (∪i∈IBi) az A automata egy részautomatájának állapothalmaza.

Ha B = (B,X, δ) az A automata egy nemüres részautomatája és

I = {j ∈ J ;Bj ∩B = ∅},

akkor B ⊆ BI . Nyilvánvaló, hogy ha K 6⊆ I, akkor B 6⊆ BK . �

33.7 Következmény Tetszőleges A automata maximális összefüggő rész-automatáinak állapothalmazai a nemüres

(33.3) B′k = A− (∪j∈J−{k}Bj) = Bk − (∪j∈J−{k}Bj) (k ∈ J)

halmazok.

260

Page 261: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A 33.6. Lemma szerint B′k (k ∈ J) az A automata egy rész-automatájának állapothalmaza. Mivel B′k ⊆ Bk és összefüggő (halmaz min-den részhalmaza összefüggő, ezért B′k (k ∈ J) egy összefüggő részautomataállapothalmaza. A 33.5. Lemma szerint van az A automatának olyan ma-ximális összefüggő részautomatája, amelynek B állapothalmaza tartalmazzaB′k-t. Ha B′k valódi részhalmaza B-nek, akkor van olyan j ∈ J − {k}, hogyB ∩Bj 6= ∅. Ez azonban a 33.5. Lemma szerint lehetetlen. Így B′k = B.

Megfordítva, ha B = (B,X, δ) az A automata maximális összefüggő rész-automatája, akkor a 33.5. Lemma szerint van olyan k ∈ J , amelyre B ⊆ Bk

és minden j ∈ I = J − {k} esetén B ∩ Bj = ∅. Akkor a (33.3) jelölésthasználva, az előzőek szerint B ⊆ BI = B′k, azaz B = B′k. �

Az üres halmaz és az állapothalmaz egyelemű részhalmazai minden au-tomatának összefüggő részhalmazai. A 33.2. Lemma szerint ez azt jelenti,hogy minden állapot benne van egy maximális összefüggő részhalmazban,azaz minden automata állapothalmaza megkapható maximális összefüggőrészhalmazok egyesítéseként. Úgy is mondjuk, hogy az automata maximálisösszefüggő részhalmazokkal lefedhető.

Azt mondjuk, hogy az A = (A,X, δ) egyértelműen fedhető le a Bi (i ∈ I)maximális összefüggő részhalmazokkal, ha nincsenek olyan Ck (k ∈ K) ma-ximális összefüggő részhalmazok amelyekkel lefedhető A és {Bi; i ∈ I} 6={Ck; k ∈ K}. Az automatát a Bi (i ∈ I) maximális összefüggő részhalma-zokkal minimálisan lefedhetőnek nevezzük, ha nincs olyan K ⊂ I, hogy Alefedhető a Bk (k ∈ K) maximális összefüggő részhalmazokkal. Az üres au-tomatát nyilvánvalóan az egyetlen maximális összefüggő részhalmaza az üreshalmaz minimálisan lefedi.

A 33.5. Lemma szerint bármely automata tetszőleges maximális össze-függő részhalmaza vagy az automata egy maximális összefüggő nemüres rész-automatájának állapothalmazát tartalmazza vagy nem tartalmazza az auto-mata egyetlen nemüres összefüggő részautomatájának állapothalmazát sem.Nevezzük az első típust lokálisan összefüggő részhalmaznak . Az automatátlokálisan összefüggőnek mondjuk, ha van lokálisan összefüggő részhalmaza.Az automatát összefüggésmentesnek mondjuk, ha nincs lokálisan összefüggőrészhalmaza, azaz, ha nem lokálisan összefüggő.

33.8 Tétel Legyen az A nemüres automata lefedhető a Bi (i ∈ I) maximá-lisan összefüggő részhalmazokkal. Az A automata a Bi halmazokkal akkor éscsak akkor fedhető le minimálisan, ha {Bi; i ∈ I} az A automata lokálisanösszefüggő részhalmazainak halmaza. Minden A-véges automata minimáli-san lefedhető maximális összefüggő részhalmazokkal.

261

Page 262: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tegyük fel, hogy az A = (A,X, δ) nemüres automata minimá-lisan lefedhető a Bi (i ∈ I) maximálisan összefüggő részhalmazokkal. Ez aztjelenti, hogy bármely k ∈ I esetén B′k = Bk − (∪i∈I−{k}Bi) 6= ∅. A 33.7.Következmény szerint B′k(⊆ Bk) az A automata egy maximális összefüggőrészautomatájának állapothalmaza. A 33.5. Lemma miatt {Bi; i ∈ I} az Aautomata lokálisan összefüggő részhalmazainak halmaza.

Megfordítva, tegyük fel, hogy {Bi; i ∈ I} az A automata lokálisan össze-függő részhalmazainak halmaza. A 33.4. Lemma szerint A−Bi ⊂ A, vagyisaz A automata minimálisan fedhető le a Bi halmazokkal.

Ha A véges halmaz, akkor az A automatának véges sok maximális össze-függő részhalmaza van. Könnyen belátható, hogy kiválaszthatók közülükolyan B1, B2, . . . , Bn halmazok, hogy A = B1 ∪ B2 ∪ · · · ∪ Bn és A − Bi 6=A (i = 1, 2, . . . , n). �

33.9 Lemma Egy automata akkor és csak akkor fedhető le egyértelműenmaximális összefüggő részhalmazokkal, ha ezekkel minimálisan lefedhető.

Bizonyítás. Az üres automatára nyilvánvalóan igaz az állítás, mivel azegyetlen maximális összefüggő részhalmaza, az üres halmaz lefedi.

Ha az A nemüres automata egyértelműen lefedhető a Bi (i ∈ I) maximálisösszefüggő részhalmazokkal, akkor bármely k ∈ I indexre a Bi (i ∈ I − {k})halmazokkal nem fedhető le. Azaz B′k = Bk − (∪l∈I−{k}Bl) 6= ∅. A 33.8.Tétel bizonyítása szerint a Bi (i ∈ I) halmazokkal A minimálisan lefedhető.

Ha az A nemüres automata minimálisan lefedhető a Bi (i ∈ I) maximálisösszefüggő részhalmazokkal, akkor a 33.8. Tétel bizonyítása alapján bármelyk ∈ I indexre B′k = Bk − (∪l∈I−{k}Bl) 6= ∅ az A automata egy maximá-lis összefüggő részautomatájának állapothalmaza. A 33.7. Következményszerint így megkapjuk az A automata összes nemüres maximális összefüggőrészautomatájának állapothalmazát és a B′k(⊆ Bk) (k ∈ I) halmazok egyér-telműen meghatározzák a Bk halmazokat. �

A 33.8. Tétel szerint minden összefüggésmentes automata végtelen. Ha abemenő halmaz legalább kételemű, akkor a (3.12) feltétellel definiált szabadautomata összefüggésmentes.

33.10 Tétel Lokálisan összefüggő automata megadható összefüggő automa-ták és egy összefüggésmentes automata direkt összegének összefüggő automa-tával való bővítéseként.

Bizonyítás. Legyen {Bj; j ∈ J} az A automata lokálisan összefüggő rész-halmazainak halmaza. Legyen továbbá B′j az A automata egy maximálisösszefüggő B′j részautomatájának állapothalmaza és B′j ⊆ Bj. A 33.4. Lem-ma szerint, ha j 6= k (j, k ∈ J), akkor B′j ∩B′k = ∅.

262

Page 263: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tekintsük az A automata maximális összefüggő részhalmazainak olyan{Bi; i ∈ I} halmazát, amelyre A = ∪i∈IBi és J ⊆ I. A 33.6. Lemma szerintB = A−(∪j∈JBj) az A automata egy B részautomatájának állapothalmaza.A B automata összefüggésmentes. (B = ∅ is lehetséges.)

Legyen C automata a B és a B′j (j ∈ J) automaták direkt összege. Azösszefüggőség miatt minden b ∈ Bj és a ∈ B′j (i ∈ J) állapothoz vannakolyan p, q ∈ X∗ bemenő szavak, amelyekre bp = aq ∈ B′j. Ez azt jelent,hogy az A automata a C automatának az összefüggő A/C automatával valóbővítése. �

33.11 Tétel Bármely A-véges automata megadható összefüggő automatákdirekt összegének összefüggő automatával való bővítéseként.

Megjegyezzük, hogy az 5.3. Tétel a 2.4. Tétel, az 5.1. Lemma és a 33.8.Tétel felhasználásával megkapható a 33.11. Következményből is.

Definiáljuk tetszőleges A = (A,X, δ) automata A állapothalmazán azösszefüggőségi ρ relációt a következő módon:

(33.4) (a, b) ∈ ρ (a, b ∈ A) ⇐⇒ (∃p, q ∈ X∗) (ap = bq).

A ρ reláció nyilvánvalóan reflexív és szimmetrikus. A ρ[a](a ∈ A) halmazokaz automata maximális összefüggő halmazai.

33.12 Lemma Az A = (A,X, δ) automata ρ összefüggőségi relációja akkorés csak akkor ekvivalencia (egyúttal kongruencia is), ha minden ρ[a](a ∈ A)halmaz az automata egy részautomatájának állapothalmaza.

Bizonyítás. Ha ρ ekvivalencia, akkor a 33.3. Lemma miatt minden ρ[a](a ∈A) halmaz A valamely részautomatájának állapothalmaza.

Megfordítva, ha minden ρ[a](a ∈ A) halmaz A egy részautomatájánakállapothalmaza, akkor a 33.4. Lemma szerint ρ ekvivalencia. �

33.13 Tétel Minden kommutatív automata összefüggő (kommutatív) auto-maták direkt összege.

Bizonyítás. Ha az A automata kommutatív, akkor a (33.4)-ben definiált ρösszefüggőségi reláció ekvivalencia. Valóban, ha (a, b) ∈ ρ és (b, c) ∈ ρ, vagyisvannak olyan p, q, r, t ∈ X∗ bemenő szavak, amelyekre ap = bq és br = ct,akkor

a(pr) = (ap)r = (bq)r = b(qr) = b(rq) = (br)q = (ct)q = c(tq),

azaz (a, c) ∈ ρ. Tehát ρ valóban tranzitív, s így ekvivalencia. A 33.12.Lemma szerint A a (maximális) összefüggő részautomatáinak direkt összege.�

263

Page 264: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Feladatok33.1. Minden (m,n)-kommutatív automata (m,n)-kommutatív összefüggő auto-maták direkt összege. (A 33.13. Tétel általánosítása.)33.2. Minden A-véges automata állapothalmazának van olyan osztályozása, amely-nek minden osztálya az automata egy összefüggő részhalmaza.

34. Retraktálható automatákEbben a fejezetben az erősen összefüggő és az erősen csapda-összefüggő au-tomaták egy érdekes általánosításával foglalkozunk. Egy A = (A,X, δ) au-tomata B = (B,X, δ) részautomatáját retraktnak nevezzük, ha A-nak vanolyan ϕ homomorfizmusa B-re, amelyre ϕB = ιB, azaz B-re való leszűkítésefixen hagyja B elemeit. A ϕ-t retrakt homomorfizmusnak nevezzük. Ezek afogalmak szerepeltek a 14. fejezetben is. Az A automatát retraktálhatónakmondjuk, ha minden részautomatája retrakt.

A definícióból látható, hogy minden erősen összefüggő és erősen csapda-összefüggő automata retraktálható. A fejezetben megmutatjuk, hogy ezekbőlaz automatákból A-véges esetben hogyan szerkeszthetők meg a retraktálhatóautomaták.

34.1 Lemma Retraktálható [ciklikus] automata minden részautomatája isretraktálható [ciklikus] automata.

Bizonyítás. Legyen B = (B,X, δ) automata az A = (A,X, δ) retraktálhatóautomata részautomatája. Ha a C = (C,X, δ) automata B egy részautoma-tája, akkor C az A automatának is részautomatája. Így van A-nak egy ϕretrakt homomorfizmusa C-re. Nyilvánvaló, hogy a ϕ homomorfizmus B-revaló leszűkítése B-nek C-re való retrakt homomorfizmusa.

Mivel ciklikus automata homomorf képe is ciklikus, ezért retraktálhatóciklikus automata minden részautomatája is retraktálható ciklikus automata.�

Azt mondjuk, hogy az A = (A,X, δ) automata a B = (B,X, δ) részau-tomatájának dilatációja, ha van A-nak olyan B-re való ψ leképezése, amelyB elemeit fixen hagyja és minden a ∈ A, x ∈ X párra

δ(a, x) = δ(ψ(a), x)

teljesül.

34.2 Tétel Retraktálható automata minden dilatációja is retraktálható.

264

Page 265: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen az A = (A,X, δ) automata a B = (B,X, δ) retrak-tálható részautomatájának dilatációja. Akkor létezik A-nak olyan B-re valóψ leképezése, amely B elemeit fixen hagyja és minden a ∈ A, x ∈ X párraδ(a, x) = δ(ψ(a), x). Ha A′ = (A′, X, δ) az A automata tetszőleges részau-tomatája, akkor minden a′ ∈ A′ és x ∈ X esetén δ(a′, x) ∈ A′ ∩ B. Jelöljeϕ a B automata egy retrakt homomorfizmusát A′ ∩B-re. Definiáljuk A-nakA′-re való α leképezését a következőképpen. Legyen α(a) = a, ha a ∈ A′ ésα(a) = ϕ(ψ(a)), ha a /∈ A′. Megmutatjuk, hogy α homomorfizmus. Legyeneka ∈ A és x ∈ X tetszőlegesek. Ha a ∈ A′, akkor

δ(α(a), x) = δ(a, x) = α(δ(a, x)).

Ha pedig a /∈ A′, akkor

δ(α(a), x) = δ(ϕ(ψ(a)), x) = ϕ(δ(ψ(a), x)) = α(δ(a, x)),

mivel α(a), δ(a, x) ∈ B és α B-re való szűkítése megegyezik ϕ-vel. Ami aztjelenti, hogy α az A automata homomorf leképezése A′-re. Mivel α az A′elemeit fixen hagyja, ezért retrakt homomorfizmus. Következésképpen az Aautomata retraktálható. �

Egy A = (A,X, δ) automata δ átmenetfüggvényét erősen szürjektívneknevezzük, ha az A automata minden részautomatájára való szűkítése szür-jektív.

34.3 Tétel Minden retraktálható automata dilatációja egy retraktálhatóautomatának, amelynek átmenetfüggvénye erősen szürjektív.

Bizonyítás. Legyen A = (A,X, δ) retraktálható automata és B = Ran(δ)a δ átmenet függvény értékkészlete, azaz

B = δ(A,X) = {δ(a, x); a ∈ A, x ∈ X}.

B = (B,X, δ) az A automata részautomatája, ezért van A-nak B-re való ϕretrakt homomorfizmusa. Minden a ∈ A és x ∈ X esetén

δ(a, x) = ϕ(δ(a, x)) = δ(ϕ(a), x),

vagyis ϕ az A automata B egy dilatációja.A 34.1. Lemma szerint B retraktálható automata. Legyen B′ = (B′, X, δ)

a B automata tetszőleges részautomatája és α az A automatának egy retrakthomomorfizmusa B′-re. Ha b ∈ B′, akkor vannak olyan a ∈ A és x ∈ Xelemek, hogy b = δ(a, x). Akkor α(a) ∈ B′ és

b = α(b) = α(δ(a, x)) = δ(α(a), x),

azaz δ(B′, X) = B′, vagyis δ erősen szürjektív. �A 34.2. és a 34.3. Tételekből kapjuk a következő eredményt.

265

Page 266: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

34.4 Következmény Egy automata akkor és csak akkor retraktálható, hadilatációja egy retraktálható automatának, amelynek átmenetfüggvénye erő-sen szürjektív.

A 34.4. Következmény szemléltetésére nagyon egyszerű példák a kétálla-potú nilpotens automaták. Ezek az automaták a triviális automaták dilatá-ciói.

A 14. fejezetben egy A automata részautomatáinak metszetét, ha aznemüres, az automata magjának neveztük. A 14.16. Tétel és az utána kö-vetkező megjegyzések szerint, ha az automata magja létezik, akkor az azautomata egyetlen (nemüres) erősen összefüggő részautomatája. Az A auto-mata magjának állapotai A minden állapotából elérhetők. A-véges ciklikusautomatának mindig van magja. Továbbá, egy automata két A-véges rész-automatájának magja akkor és csak akkor különböző, ha metszetük üres. AzAi (i ∈ I) automaták direkt összegét erős direkt összegnek nevezzük, haminden i, j ∈ I pár esetén létezik Ai-nek Aj-be való homomorf leképezése.

34.5 Tétel Retraktálható automaták erős direkt összege is rektraktálható.

Bizonyítás. Tegyük fel, hogy az A = (A,X, δ) automata az Ai = (Ai, X, δi)(i ∈ I) retraktálható automaták erős direkt összege. Legyen ϕi,j (i, j ∈I) az Ai automata egy homomorf leképezése az Aj automatába. Legyentovábbá B = (B,X, δ) az A automata egy részautomatája és Bi = B ∩ Ai.Nyilvánvaló, hogy Bi = (Bi, X, δ) az Ai automata egy részautomatája. HaBi 6= ∅, akkor jelölje αi az Ai automata egy retrakt homomorfizmusát Bi-re. Rögzítsünk egy olyan i0 ∈ I indexet, amelyre Bi0 6= ∅. Definiáljuk aϕ : A→ B leképezést a következő módon. Ha a ∈ Ai és Bi = ∅, akkor legyen

ϕ(a) = αi0(ϕi,i0(a)).

Ha a ∈ Ai és Bi 6= ∅, akkor pedig legyen

ϕ(a) = αi(a).

Nyilvánvaló, hogy ϕ az A állapothalmazt B-re képezi és B elemeit fixenhagyja.

Legyenek most a ∈ Ai (i ∈ I) és x ∈ X tetszőlegesek. Ha Bi = ∅, akkor

ϕ(δ(a, x)) = αi0(ϕi,i0(δi(a, x))) = αi0(δi0(ϕi,i0(a), x)) = δ(ϕ(a), x).

Ha pedig Bi 6= ∅, akkor

ϕ(δ(a, x)) = αi(δi(a, x)) = δi(αi(a), x) = δ(ϕ(a), x).

Ezek azt jelentik, hogy ϕ az A automata retrakt homomorf leképezése a Bautomatára. �

266

Page 267: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

34.6 Tétel Az A = (A,X, δ) A-véges automatára a következő állítások ek-vivalensek:(1) A retraktálható.(2) A véges sok A-véges retraktálható automata direkt összege, amelyek mag-jai egymással izomorfak.(3) A véges sok A-véges retraktálható automata erős direkt összege, amelyekmindegyikének van magja.

Bizonyítás. (1) =⇒ (2): Tegyük fel, hogy A retraktálható. Az A álla-pothalmaz véges, ezért minden a ∈ A állapot esetén az [a] részautomatánakvan erősen összefüggő részautomatája. De [a] ciklikus, ezért egyetlen erősenösszefüggő részautomatája van. Legyenek

Bi = (Bi, X, δ) (i = 1, 2, . . . , k)

az A automata erősen összefüggő részautomatái. Legyen továbbá

Ai (i = 1, 2, . . . , k)

azon [a] (a ∈ A) halmazok egyesítése, amelyekre Bi ⊆ [a]. Könnyen belátha-tó, hogy A = ∪ki=1Ai és ha i 6= j, akkor Ai ∩ Aj = ∅. Vagyis A az

Ai = (Ai, X, δ) (i = 1, 2, . . . , k)

részautomaták direkt összege. A 34.1. Lemma szerint az Ai automatákretraktálhatók.

Legyenek i, j ∈ {1, 2, . . . , k} tetszőleges indexek és ϕi az A automataretrakt homomorf leképezése a Bi automatára. Az erősen összefüggőség miattϕi a Bj automatát is Bi-re képezi (homomorf módon). Ebből következik,hogy |Bj| ≥ |Bi|. De Bi és Bj szerepét felcserélve azt kapjuk, hogy |Bi| ≥|Bj|, s így |Bi| = |Bj|. Ez azt jelenti, hogy ϕi a Bi automatát izomorf módonképezi Bj-re.(2) =⇒ (3): Tegyük fel, hogy az A automata az

Ai = (Ai, X, δi) (i = 1, 2, . . . , k)

A-véges retraktálható automaták direkt összege, amelyek erősen összefüggőBi = (Bi, X, δi) részautomatái egymással izomorfak. Legyen

αi,j (i, j ∈ {1, 2, . . . , k})

a Bi automata izomorf leképezése a Bj automatára. Jelölje βi az Ai auto-mata retrakt homomorf leképezését Bi-re. Könnyen belátható, hogy αi,jβiaz Ai automata homomorf leképezése a Aj automatába.

267

Page 268: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(3) =⇒ (1): A 34.5. Tétel alapján nyilvánvaló. �A 34.4. Következmény és a 34.6. Tétel szerint az A-véges retraktálha-

tó automaták jellemzéséhez elegendő azokat az A-véges retraktálható auto-matákat jellemezni, amelyeknek van magjuk és átmenetfüggvényük erősenszürjektív. A továbbiakban ezzel a kérdéssel foglalkozunk. Ehhez azonbanszükségesek az alábbi fogalmak és eredmények.

Jelölje szokásunk szerint [a] = ([a], X, δ) az A automata a ∈ A állapotaáltal generált ciklikus részautomatáját, vagyis legyen

[a] = {ap; p ∈ X∗}.

34.7 Lemma Legyen A = (A,X, δ) retraktálható automata és H ⊆ A. Haa {[a]; a ∈ H} halmaz felülről korlátos A ciklikus részautomatáinak halma-zában az automaták (2.4) tartalmazására, akkor az A automata

∑a∈H [a]

részautomatája ciklikus.

Bizonyítás. Legyen A = (A,X, δ) retraktálható automata, H ⊆ A és b ∈ Aolyan állapot, hogy minden a ∈ H állapotra [a] ⊆ [b]. Legyen H ′ = ∪a∈H [a].Mivel H′ = (H ′, X, δ) az A retraktálható automata részautomatája, ezértvan A-nak H′-re való ϕ retrakt homomorfizmusa. De ϕ(b) ∈ H ′ miatt vanolyan a′ ∈ H ′, amelyre ϕ(b) ∈ [a′], s így ϕ([b]) ⊆ [a′]. Minden a ∈ Hesetén [a] ⊆ H ′ ∩ [b], amiből [a] = ϕ([a]) ⊆ [a′]. Amiből kapjuk, hogy a∑

a∈H [a] = [a′]. �Legyen (H,≤) olyan részben rendezett halmaz, hogy H bármely kételemű

részhalmazának van H-beli alsó korlátja és bármely H-ban felülről korlátosnemüres részhalmazának van legnagyobb eleme. Legyenek a H elemei egygráf pontjai. Minden a < b (a, b ∈ H) esetben, ha nincs olyan c ∈ H, amelyrea < c < b, kössük össze a-t b-vel olyan irányított éllel, amelynek kezdőpontja a és végpontja b. Így egy irányított fát kapunk. Ebben az esetbena H részben rendezett halmazt is a ≤ részben rendezésre egyszerűen fánaknevezzük. Nyilvánvaló, hogy minden véges fának van legkisebb eleme. A 34.7.Lemmát és az állapothalmaz végességét felhasználva könnyen megmutathatóa

34.8 Következmény A-véges retraktálható automatának akkor és csak ak-kor van magja, ha ciklikus részautomatáinak halmaza a (2.4) tartalmazásrafa.

Legyen tetszőleges A = (A,X, δ) automata esetén κA a (2.1)-ben definiáltkölcsönös elérhetőség relációja. A κA relációt úgy is definiálhatjuk, hogy

(34.1) (a, b) ∈ κA ⇐⇒ [a] = [b] (a, b ∈ A).

268

Page 269: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ebből következik, hogy minden a ∈ A állapotra κA[a] ⊆ [a]. Vezessük be a

(a) = [a]− κA[a]

jelölést. Ha b ∈ (a) és x ∈ X, akkor δ(b, x) ∈ (a), vagyis (a) = ((a), X, δ)az [a] automata részautomatája. Ha A retraktálható, akkor a 34.1. Lemmaszerint (a) minden a ∈ A esetén ciklikus. Megjegyezzük, hogy (a) = ∅ akkorés csak akkor, ha [a] erősen összefüggő. Az [a]/(a) (a ∈ A) Rees-faktorokataz A automata főfaktorainak nevezzük. (Ha (a) = ∅, akkor [a]/(a) = [a].)

A definíció alapján nem nehéz belátni, hogy egy automata főfaktoraierősen összefüggők vagy erősen csapda-összefüggők. Ha egy erősen csapda-összefüggő főfaktor legalább háromállapotú, akkor minden állapothoz vanolyan nemüres szó, amely az adott állapotot önmagába viszi. Ha egy erősencsapda-összefüggő főfaktor kétállapotú, akkor előfordulhat, hogy ahhoz az ál-lapothoz, amelyik nem csapda, nincs olyan nemüres szó, amely azt önmagábavinné. Ebből nyilvánvalóan következik, hogy egy automata átmenetfüggvé-nye akkor és csak akkor erősen szürjektív, ha főfaktorai erősen összefüggőkvagy olyan erősen csapda-összefüggők, amelyek között nincsenek kétállapotúnilpotens automaták.

Legyen most A = (A,X, δ) legfeljebb egycsapdás automata. Legyen A0 =A, ha |A| = 1 vagy ha A-nak nincs csapdája és A0 = A−{c}, ha |A| ≥ 2 és caz A automata csapdája. Definiáljuk az A0 = (A0, X, δ0) parciális automataδ0 átmenetfüggvényét a következőképpen. Legyen

δ0(a, x) = δ(a, x) ⇐⇒ δ(a, x) ∈ A0 (a ∈ A, x ∈ X).

A ϕ : A0 → B0 leképezést az A0 = (A0, X, δA0) parciális automatának a

a B0 = (B0, X, δB0) parciális automatába való parciális homomorfizmusának

nevezzük, ha minden a ∈ A0, x ∈ X párra δA0(a, x) ∈ A0 feltételből követ-kezik, hogy δB0(ϕ(a), x) ∈ B0 és δB0(ϕ(a), x) = ϕ(δA

0(a, x)).A 34.6. Tétel szerint az A-véges retraktálható automaták pontosan azok

az A-véges automaták, amelyek véges sok A-véges retraktálható automatadirekt összege, amelyeknek magjai egymással izomorfak. A 34.4. Követ-kezmény szerint a direkt összeg minden tagja olyan retraktálható automatadilatációja, amelynek van magja és átmenetfüggvénye erősen szürjektív. Aretraktálható automaták vizsgálatát azzal fejezzük be, hogy az A-véges erő-sen összefüggő és erősen csapda-összefüggő automaták felhasználásával meg-szerkesztjük ezeket az automatákat.

Legyen e célból (T,≤) egy véges fa és i0 ∈ T a legkisebb eleme. Jelöljej ≺ i (i, j ∈ T ) azt a tényt, hogy j < i és nincs olyan k ∈ T , amelyrej < k < i. Legyenek az Ai = (Ai, X, δi) (i ∈ T ) automaták állapothalmazaipáronként diszjunktak és teljesülnek a következő feltételek:

269

Page 270: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(1) Az Ai0 automata erősen összefüggő és az Ai (i ∈ T−i0) automaták erősencsapda-összefüggők és nincs közöttük kétállapotú nilpotens automata;(2) Minden i ∈ T esetén ϕi,i = ιAi ;(3) Ha j ≺ i (i, j ∈ T ), akkor az Ai automatának létezik egy ϕi,j parciálishomomorfizmusa Aj-be, amelyhez vannak olyan a ∈ Ai0 és x ∈ X elemek,hogy δi(a, x) /∈ Ai0 és δj(ϕi,j(a), x) ∈ Aj0.(4) Ha j ≺ k1 ≺ k2 ≺ · · · ≺ kn ≺ i, akkor legyen ϕi,j = ϕkn,jϕkn−1,j . . . ϕk1,j.(Megjegyezzük, hogy így tetszőleges k ≤ j ≤ i T -beli elemekre ϕi,k =ϕj,kϕi,j.)(5) Legyen A = ∪i∈TAi0. Definiáljuk δ : A×X → A függvényt a következő-képpen: Ha a ∈ Ai0 és x ∈ X, akkor legyen

δ(a, x) = δi(a,x)(ϕi,i(a,x)(a), x),

ahol i(a, x) jelölje a {j ∈ T ; δj(ϕi,j(a), x) ∈ Aj0} halmaz legnagyobb elemét.Könnyen belátható, hogy az (A,X, δ) automata jól definiált. Vezessük be

erre az automatára az (Ai, X, δi;ϕi,j, T ) jelölést.

34.9 Tétel Egy A-véges A = (A,X, δ) automata akkor és csak akkor retrak-tálható automata, amelynek van magja és állapotfüggvénye erősen szürjektív,ha A izomorf egy (Ai, X, δi;ϕi,j, T ) automatával.

Bizonyítás. Legyen B = (B,X, δ) az (Ai, X, δi;ϕi,j, T ) automata egy rész-automatája. Mivel az Ai0 automata erősen összefüggő és az Ai (i ∈ T − i0)automaták erősen csapda-összefüggők, ezért T valamilyen Γ 6= ∅ részhalma-zára B = ∪j∈ΓAj

0. Legyen i ∈ Γ és i 6= i0. Ha j ≺ i (j ∈ T ), akkor(3) szerint vannak olyan a ∈ Ai

0 és x ∈ X elemek, hogy δi(a, x) /∈ Ai0

és δj(ϕi,j(a), x) ∈ Aj0, azaz δ(a, x) ∈ Aj

0, vagyis Aj0 ∩ B 6= ∅. Amibőlkövetkezik, hogy Aj0 ⊆ B, s így j ∈ Γ.

Legyen minden i ∈ T esetén

π(i) = max{k ∈ Γ; k ≤ i}.

Mivel (T,≤) fa, ezért π a T -nek Γ-ra való leképezése és π a Γ elemeit fixenhagyja. Legyen α : A→ B, amelyre minden a ∈ Ai (i ∈ T ) esetén

α(a) = ϕi,π(i)(a)

teljesül. Nyilvánvaló, hogy α szürjektív és a B automata állapotait fixenhagyja. Megmutatjuk, hogy α homomorfizmus. Felhasználva, hogy (5) sze-rint

δ(a, x) = δi(a,x)(ϕi,i(a,x)(a), x) ∈ (Ai(a,x))0,

270

Page 271: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

valamint azt, hogy ϕi(a,x),π(i(a,x)) parciális homomorfizmus, kapjuk, hogy

α(δ(a, x)) = α(δi(a,x)(ϕi,i(a,x)(a), x)) =

= ϕi(a,x),π(i(a,x))(δi(a,x)(ϕi,i(a,x)(a), x)) =

= δπ(i(a,x))(ϕi,π(i(a,x))(a), x) ∈ (Aπ(i(a,x)))0.

Továbbá ϕi,π(i)(a) ∈ Aπ(i(a,x)) miatt

δ(α(a), x) = δ(ϕi,π(i)(a), x) =

= δπ(i)(ϕi,π(i)(a),x)(ϕπ(i),π(i)(ϕi,π(i)(a),x(ϕi,π(i)(a)), x) =

= δπ(i)(ϕi,π(i)(a),x)(ϕi,π(i)(ϕi,π(i)(a),x), x) ∈ (Aπ(i)(ϕi,π(i)(a),x))0.

Az α(δ(a, x)) = δ(α(a), x) egyenlőség bizonyításához elegendő megmutatni,hogy

π(i)(ϕi,π(i)(a), x) = π(i(a, x)).

Először tegyük fel, hogy π(i) ≤ i(a, x) (és így π(i(a, x)) = π(i)). Mivelϕi(a,x),π(i) az (Ai(a,x))

0 automata parciális homomorfizmusa Aπ(i)0-ba és

δi(a,x)(ϕi,i(a,x)(a), x) ∈ (Ai(a,x))0,

ezértδπ(i)(ϕi,π(i)(a), x) = δπ(i)(ϕi(a,x),π(i)ϕi,i(a,x)(a), x) =

= ϕi(a,x),π(i)(δi(a,x)(ϕi,i(a,x)(a), x)) ∈ Aπ(i)0,

s ígyπ(i)(ϕi,π(i)(a), x) = π(i) = π(i(a, x)).

Most tekintsük a π(i) > i(a, x) esetet (és így π(i(a, x)) = i(a, x).) Ha π(i) ≥j ≥ i(a, x) (j ∈ T ), akkor

δj(ϕπ(i),jϕi,π(i)(a), x) = δj(ϕi,j(a), x) /∈ Aj0.

Akkorπ(i)(ϕi,π(i)(a), x) ≤ i(a, x).

Mivel

δi(a,x)(ϕπ(i),i(a,x)ϕi,π(i)(a), x) = δi(a,x)(ϕi,i(a,x)(a), x) ∈ Ai(a,x)0,

kapjuk, hogyπ(i)(ϕi,π(i)(a), x) ≥ i(a, x).

271

Page 272: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Innenπ(i)(ϕi,π(i)(a), x) = i(a, x) = π(i(a, x)).

Következésképpen π(i)(ϕi,π(i)(a), x) = π(i(a, x)) mindkét esetben. Vagyis αretrakt homomrfizmus és így (Ai, X, δi;ϕi,j, T ) retraktálható automata.

Az (1) feltételből adódik, hogy δ erősen szürjektív. Minthogy i0 ∈ Γminden esetben, ezért Ai0 ⊆ B, azaz Ai0 az (Ai, X, δi;ϕi,j, T ) automatamagja.

Megfordítva, tegyük fel, hogy az A = (A,X, δ) A-véges retraktálhatóautomatának van magja és állapotfüggvénye erősen szürjektív. Jelölje F (A)az A automata főfaktorainak halmazát. Definiáljuk F (A) halmazon a ≤részben rendezést a következő módon:

[a]/(a) ≤ [b]/(b) ⇐⇒ [a] ⊆ [b] (a, b ∈ A).

A 34.8. Következmény szerint (F (A),≤) véges fa, amelynek legkisebb elemeerősen összefüggő, a többi eleme erősen csapda-összefüggő, de nincs közöttükkétállapotú nilpotens automata.

Legyen T tetszőleges halmaz, amelyre |T | = |F (A)|. Jelölje f a T halmazegy bijektív leképezését F (A)-ra. Legyen i ≤ j akkor és csak akkor, haf(i) ≤ f(j) (i, j ∈ T ). Nyilvánvalóan (T,≤) véges fa, amelynek a legkisebbeleme legyen i0. Minden i ∈ T elem esetén rögzítsünk le egy ai ∈ A állapotot,amelyre f(i) = [ai]/(ai). (Ez azt jelenti, hogy [ai]/(ai) = [aj]/(aj) akkor éscsak akkor, ha i = j.)

Minthogy [ai0 ]/(ai0) erősen összefüggő, a többi [ai]/(ai) eleme erősencsapda-összefüggő, de nincs közöttük kétállapotú nilpotens automata, ezértaz (1) feltétel teljesül.

Legyen ϕi (i ∈ T ) az A automata egy retrakt homomorfizmusa [ai]-re.Minden i � j (i, j ∈ T ) párra legyen ϕi,j a ϕj leképezés szűkítése [ai]-re.Minden i � j (i, j ∈ T ) párra ϕi,j az [ai] automata retrakt homomorfizmusa[aj]-re. Ezenkívül ϕi,i = ι[ai] (i ∈ T ), ami (2) teljesülését jelenti.

Most megmutatjuk, hogy ϕi,j az κA[ai] osztály elemeit κA[aj] osztály ele-meibe viszi. Tegyük fel ugyanis, hogy ϕi,j(a) ∈ (aj) = [aj]−κA[aj] valamilyena ∈ κA[ai] állapotra. Akkor minden p ∈ X∗ bemenő szóra

ϕi,j(ap) = ϕi,j(a)p ∈ (aj),

mivel (aj) az [aj] automata részautomatája. De [ai] = {ap; p ∈ X∗}, ezértϕi,j([ai]) ⊆ (aj). Ez azonban lehetlen, mivel

(aj) ⊂ [aj] = ϕi,j([ai]).

272

Page 273: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ez viszont azt jelenti, hogy ϕi,j tekinthető egy olyan leképezésnek, amely([ai]/(ai))

0-t ([aj]/(aj))0-ba viszi. Ha δ(a, x) ∈ κA[ai] valamilyen a ∈ κA[ai]

és x ∈ X elemekre, akkor

δ(ϕi,j(a), x) = ϕi,j(δ(a, x)) ∈ κA[aj],

ezért ϕi,j a ([ai]/(ai))0 parciális homomorf leképezése ([aj]/(aj))

0.Tegyük fel, hogy i � j. Legyen b ∈ κA[aj]. Akkor ai 6= b ∈ [ai] és

így van olyan p = x1x2 . . . xk ∈ X+ (x1, x2, . . . , xk ∈ X) bemenő szó, hogyb = aip. Legyen m a legkisebb index, amelyre aix1x2 . . . xm ∈ κ[aj]. Akkora = aixix2 . . . xm−1 ∈ κA[ai] = ([ai]/(ai))

0. (Az x0 legyen az e üres szó.)Akkor

δ(a, xm) /∈ κA[ai] = ([ai]/(ai))0.

Másrészről,

δ(ϕi,j(a), xm) = ϕi,j(δ(a, xm)) = δ(a, xm) ∈ κA[aj] = ([aj]/(aj))0,

mivel ϕi,j az [aj] elemeit fixen hagyja. Ezzel megmutattuk, hogy a (3) feltételis teljesül.

Konstruáljuk meg tetszőleges i ≥ j (i, j ∈ T ) elemekre (4) szerint a ϕi,jfüggvényeket. A ϕi,j függvény az [ai] automata olyan retrakt homomorf leké-pezése [aj]-be, amely κA[ai]-t κA[aj]-be viszi. Így ϕi,j tekinthető az ([ai]/(ai))

0

főfaktor parciális homomorf leképezésének a ([ai]/(ai))0 főfaktorba. Ezenkí-

vül, ha k ≤ j ≤ i (i, j, k ∈ T ), akkor ϕi,k = ϕj,kϕi,j.Konstruáljuk meg (5) szerint a

B = (B,X, δ′) = ([ai]/(ai), X, δi;ϕi,j, T )

automatát. Nyilvánvaló, hogy A és B állapotai megegyeznek. Megmutatjuk,hogy δ = δ′. Legyenek i ∈ T , a ∈ κA[ai] = ([ai]/(ai))

0 és x ∈ X tetszőlegeselemek. Tegyük fel, hogy δ(a, x) ∈ κA[aj] (i ≥ j, j ∈ T ). Legyen i ≥ k > j(k ∈ T ). Akkor δ(a, x) ∈ (ak) ⊂ [ak] és így

δ(ϕi,k(a), x) = ϕi,k(δ(a, x)) = δ(a, x) /∈ κA[ak] = ([ak]/(ak))0,

mivel ϕi,k az [ak] elemeit fixen hagyja. Ha j ≥ k, akkor

δ(ϕi,k(a), x) = ϕi,k(δ(a, x)) =

= ϕj,kϕi,j(δ(a, x)) = ϕj,k(δ(a, x)) ∈ κA[ak] = ([ak]/(ak))0,

mivel ϕi,j aδ(a, x) ∈ κA[aj] = ([aj]/(aj))

0

273

Page 274: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

elemet fixen hagyja és ϕj,k : κA[aj]→ κA[ak]. Következésképpen i(a, x) = j.Innen

δ(a, x) = ϕi,j(δ(a, x)) = δ(ϕi,j(a), x) =

= δi(a,x)(ϕi,i(a,x)(a), x) = δ′(a, x).

Ezzel a tételt bebizonyítottuk. �

Feladatok34.1. Ha az A = (A,X, δ) automata kongruenciahálója komplementumos, akkoraz A automata retraktálható.34.2. Legyen B = (B,X, Y ′, δ, λ) az A = (A,X, Y, δ, λ) Mealy automata rész-automatája. Definiáljuk az A automata B szerinti R′(B) Rees kongruenciáját aR′(B) = R(ωB)∩ρmax feltétellel, ahol R(ωB) az A automata vetületének (5.2)-bendefiniált Rees kongruenciája és ρmax az A automata (11.2)-ben definiált maximáliskongruenciája. A B automata A-nak akkor és csak akkor retrakt részautomatája,ha minden a ∈ A állapotra B ∩ ρmax[a] 6= ∅ és A-nak van olyan τ kongruenciája,amelyre τ ∨R′(B) = ρmax és τ ∧R′(B) = ιA.

274

Page 275: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

VI. NYELVEKA II. részben láttuk, hogy az automataleképezések megadása a mindig vég-telen értelmezési tartomány miatt általában problémát okoz. Egyszerűbbesetekben automataleképezést megadhatunk formulával vagy egy irányítottfával. Adott esetben az automataleképezés megadásához az irányított fátelég magas szintig meg kell rajzolni, amely az áttekinthetőséget nehézkesséteszi. Egy kényelmes algoritmust először Stephen C. Kleene adott a végesautomatákkal indukálható automataleképezések megadására az ún. regulárisesemény (mai szóhasználattal: reguláris nyelv) segítségével. Kleene ilyenirányú vizsgálatai jelentősen hozzájárultak a formális nyelvek algebrai elmé-letének kialakulásához. A formális nyelvek algebrai elmélete ma már a számí-tástudománynak fontos önálló területe, amelynek megalapozásában a döntőlépést Noam Chomsky tette meg a generatív grammatikák fogalmának be-vezetésével. Chomsky a generatív grammatika fogalmát a természetes nyel-vek szintaktikai (nyelvtani) elemzése céljából vezette be. Egy természetesnyelv tekinthető az ábécéje (beleértve az írásjeleket és a szóközt is) felet-ti szabad félcsoport szintaktikailag és szemantikailag (jelentéstanilag) helyesmondatokból álló részhalmazának. A generatív grammatikák a programozá-si nyelvek, mint speciális formális nyelvek, esetén is alapvető fontosságúak.Egy programozási nyelvhez meg kell adni azon szabályok összeségét, amelyeksegítségével definiálható, hogy egy ezen nyelven írott programot mikor tekin-tünk helyesnek. Ezeknek a szabályoknak az összeségét a programozási nyelvszintaxisának nevezzük. A legelterjedtebb módszer egy programozási nyelvszintaxisának megadására a generatív grammatikával való megadás. Ezzela kérdéssel nem foglalkozunk, de a formális nyelvek és az automaták szoroskapcsolata miatt a következőkben formális nyelvek algebrai elméletének egyrövid megalapozását adjuk, különös tekintettel az automatákkal való kap-csolatukra. Érdemes tanulmányozni Révész György kitűnően megírt [54]munkáját, valamint Arto Salomaa átfogó [56] monográfiáját.

35. NyelvalgebrákLegyen U tetszőleges nemüres halmaz. Összhangban a természetes nyelveknyelvtani fogalmaival, a formális nyelvek elméletében U -t ábécének is mond-juk. Az U elemeit betűknek vagy jeleknek is nevezzük. Az U∗ szabad monoidbármely L részhalmazát (U feletti) formális nyelvnek vagy röviden nyelvneknevezzük. Ha L′ ⊆ L, akkor azt mondjuk, hogy L′ az L nyelv résznyelve. AzL nyelv elemeit mondatoknak is nevezzük. Ha L véges halmaz, akkor végesnyelvnek, ha pedig végtelen halmaz, akkor végtelen nyelvnek mondjuk. Az

275

Page 276: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

∅ üres halmazt üres nyelvnek, az U∗-ot pedig univerzális nyelvnek nevezzükU felett.

A természetes nyelvek valamilyen véges ábécé feletti formális nyelvek.Legyen például U a magyar ábécé betűit, az írásjeleket és az elválasztó üresjelet tartalmazó halmaz. (Az elválasztó üres jel nem az üres szó!) A magyarnyelv az az L(⊂ U∗) nyelv, amelynek elemei az értelmes magyar szavak ésmondatok halmaza, beleértve a betűket, az írásjeleket és az elválasztó üresjelet is.

Nyelvek egyesítésén, metszetén, különbségén halmazelméleti egyesítésü-ket, metszetüket, különbségüket értjük. Egy U halmaz feletti nyelvek hal-maza, azaz U∗ halmaz P (U∗) hatványhalmaza a halmazelméleti egyesítésmetszet és komplementerképzés műveletekre Boole algebra. Az üres szót to-vábbra is e-vel jelöljük. Az egyesítés, a metszet és komplementerképzés mű-veleteket Boole műveleteknek nevezzük. A nyelvek egyesítésének műveletét anyelvek összeadásának is nevezzük és a + műveleti jelet is használjuk a for-mális nyelvek algebrai elméletében. Megállapodunk az egyszerűbb írásmódkedvéért abban is, hogy az {u} (u ∈ U ∪{e}) egyelemű nyelveket azonositjuku elemükkel, azaz {u} = u. Az U halmaz elemeit elemi nyelveknek is hívjuk.

A nyelvek között további műveleteket vezetünk be. Az L1 és L2 nyelvszorzatán vagy konkatenációján az

L1L2 = {uv;u ∈ L1, v ∈ L2}

nyelvet értjük. Egy U halmaz feletti nyelvek L(U) halmaza az összeadás (+)és a konkatenáció (·) műveletére félgyűrűt alkot, amelynek ∅ a zéruseleme ése az egységeleme. Továbbá

(L1 ∩ L2)L3 ⊆ L1L3 ∩ L2L3, L3(L1 ∩ L2) ⊆ L3L1 ∩ L3L2.

Definiáljuk egy L nyelv nemnegatív egész kitevős hatványait, mégpedigaz

L0 = e, Lk+1 = LkL (k ∈ N)

összefüggésekkel. Egy L nyelv iteráltján azt az L∗ nyelvet értjük, amelyazokból és csak azokból szavakból áll, amelyek előállíthatók véges sok L-beliszó szorzataként, beleértve az L elemeit, mint egytényezős és az üres szót,mint nullatényezős L-beli elemek szorzatát, azaz

L∗ =∞∑k=0

Lk.

A ∗ (egyváltozós) műveletet iterációnak nevezzük. Nem nehéz belátni, hogybármely L nyelvre (L∗)∗ = L∗, valamint ∅∗ = e∗ = e. Egy L nyelv e-mentes

276

Page 277: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

iteráltján értjük az L+ =∑∞

k=1 Lk nyelvet. Ez azt jelenti, hogy ha e ∈ L,

akkor L+ = L∗, ha pedig e /∈ L, akkor L+ = L∗ − e. Az összeadás, akonkatenáció és a iteráció műveletét reguláris műveleteknek nevezzük. AzL(U) = (P (U∗),+, ., ∗) algebrai struktúrát (az U halmaz feletti) nyelvalgeb-rának nevezzük. L(U) nyelvalgebra tetszőleges L1 és L2 elemére

(L1 ∩ L2)∗ ⊆ L∗1 ∩ L∗2, L∗1 + L∗2 ⊆ (L1 + L2)∗.

Egyszerűen bizonyítható a

35.1 Lemma Ha L,L1 és L2 tetszőleges nyelvek, akkor teljesülnek az

L∗ = e+ LL∗, LL∗ = L∗L, (L1 + L2)∗ = (L∗1L∗2)∗,

L∗ = (e+ L+ · · ·+ Lk−1)(Lk)∗ (k ∈ N+)

azonosságok.

Egy U halmaz feletti nyelvet reguláris nyelvnek nevezünk, ha előállítha-tó az U elemeiből és az ∅ üres nyelvből a reguláris műveletek véges számúalkalmazásával. Ezek szerint minden véges nyelv, így minden elemi nyelv isreguláris. Az ∅ üres nyelvet is regulárisnak tekintjük. Mivel e = ∅∗, ezért aze nyelv is reguláris.

Ha U = {u1, u2, . . . , un}, azaz U véges ábécé, akkor U∗ és U+ is regulárisnyelv , ugyanis

U∗ = (u1 + u2 + · · ·+ un)∗,

U+ = (u1 + u2 + · · ·+ un)(u1 + u2 + · · ·+ un)∗.

Minden reguláris nyelvhez hozzárendelhetünk egy ún. (U feletti) regulá-ris kifejezést az alábbi módon: Egy L nyelv reguláris kifejezésén értsünkolyan kifejezést, amely azt mutatja meg, hogyan állítható elő az L nyelv azU elemeiből és az ∅ üres nyelvből a reguláris műveletek véges számú alkal-mazásával. Egy reguláris kifejezés tehát véges sok u ∈ U és az ∅ szimbólu-mokból, a reguláris műveletek műveleti jeleiből és a műveletek elvégzéséneksorrendjét meghatározó zárójelpárokból épül fel, azaz maga is egy szó azU ∪ {∅,+, ., ∗, (, )} ábécé felett. Így az üres nyelv reguláris kifejezése az ∅szimbólum, az u ∈ U elemi nyelv reguláris kifejezése pedig az u szimbólum.A definícióból látható, hogy nyelvekből reguláris műveletek véges számú al-kalmazásával kapott nyelvek egy reguláris kifejezését megkapjuk, ha a nyelvekreguláris kifejezéseit ugyanúgy kapcsoljuk össze reguláris műveletekkel, minta nyelveket.

Ha a műveletek sorrendjét zárójelekkel nem adjuk meg egy kifejezésben,akkor megállapodás szerint először az iterációt, majd a szorzást, s végül az

277

Page 278: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

összeadást végezzük el. A definícióból látható, hogy minden reguláris kifeje-zés egyértelműen meghatároz egy reguláris nyelvet, ezért a reguláris nyelveketmegadhatjuk reguláris kifejezésükkel is. A reguláris nyelvek nem határozzákmeg egyértelműen reguláris kifejezésüket. Ha U = {u1, u2, . . . , un}, akkorpéldául az U∗ univerzális nyelv az (u1 + u2 + · · ·+ un)∗ és a

(u1 + u2 + · · ·+ un)(u1 + u2 + · · ·+ un)∗ + ∅∗

reguláris kifejezéssel is megadható. Amikor egy reguláris nyelvet reguláriskifejezéssel adunk meg, a nyelv és a reguláris kifejezés közé egyenlőség jeletteszünk. Ekkor tulajdonképpen helytelenül járunk el, mivel az egyenlőségegyik oldalán szavaknak egy halmaza, a másik oldalon pedig egy formáliskifejezés áll. Ebből azonban nem származik ellentmondás, a tárgyalásmódotviszont egyszerűbbé teszi.

Az U∗-beli p−1 = uik . . . ui2ui1 szót az U∗-beli p = ui1ui2 . . . uik szó tükör-képének nevezzük. Ha p1, p2, . . . , pk ∈ U∗, akkor

(p1p2 . . . pk)−1 = p−1

k . . . p−12 p−1

1 .

Egy L nyelv tükörképe pedig az pedig az L−1 = {p−1; p ∈ L} nyelv. Ter-mészetesen (L−1)−1 = L. Egy nyelvet (speciálisan egy szót) palindromnakmondunk, ha megegyezik tükörképével. Egyszerű példák a palindromokra az∅, e, U∗, U+ nyelvek. Az összes (U∗-beli) palindromot tartalmazó nyelvetaz (U feletti) palindromok nyelvének hívjuk. A palindromok nyelvének rész-nyelvei is palindromok. Azt az egyváltozós műveletet, amely minden szóhozill. nyelvhez a tükörképét rendeli, tükrözésnek hívjuk.

Jelölje R(U) az U halmaz feletti reguláris nyelvek halmazát. R(U) az Ufeletti nyelvek halmazának az a legszűkkebb részhalmaza, amely tartalmazzaaz U feletti véges nyelveket, zárt véges sok nyelv egyesítésére és szorzására, to-vábbá a nyelvek iterációjára. Ez azt is jelenti, hogy azR(U) = (R(U),+, ., ∗)algebrai struktúra az U feletti L(U) nyelvalgebra részalgebrája, amelyet re-guláris nyelvalgebrának nevezünk. A definícióból az is látható, hogy mindenreguláris nyelv tükörképe is reguláris, azaz R(U) zárt a tükrözésre. A 41.2.Tétel szerint a véges ábécé feletti reguláris nyelvek Boole algebrát alkotnakaz egyesítés, a metszet és a komplementerképzés műveletére.

Legyen L egy U halmaz feletti nyelv és p ∈ U∗ tetszőleges szó. Az L nyelvp szerinti bal oldali deriváltján az

(35.1) L(b)p = {q ∈ U∗; pq ∈ L}

nyelvet értjük. Hasonló módon, L p szerinti jobb oldali deriváltja az

(35.2) L(j)p = {q ∈ U∗; qp ∈ L}

278

Page 279: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

nyelv. Nyilvánvaló, hogy L(b)e = L

(j)e = L. Azokat az egyváltozós művelete-

ket, amelyek minden nyelvhez a p ∈ U∗ szerinti bal [jobb] oldali deriváltjátrendeli, p szerinti bal [jobb] oldali deriválásnak nevezzük.

Tetszőleges U feletti L,L1, L2 nyelvekre és u ∈ U betűre érvényesek az

(35.3) (L∗)(b)u = L(b)

u L∗, (L∗)(j)

u = L∗L(j)u ,

(35.4) (L1 + L2)(b)u = (L1)(b)

u + (L2)(b)u , (L1 + L2)(j)

u = (L1)(j)u + (L2)(j)

u ,

(L1L2)(b)u = (L1)(b)

u L2 + ε(L1)(L2)(b)u ,

(35.5) (L1L2)(j)u = L1(L2)(j)

u + (L1)(j)u ε(L2),

(35.6) L =∑u∈U

uL(b)u + ε(L) =

∑u∈U

L(j)u u+ ε(L)

azonosságok, ahol

ε(L) =

{e, ha e ∈ L,∅, ha e /∈ L.

Tetszőleges U feletti L,L1, L2 nyelvekre és p ∈ U∗ szóra fennállnak akövetkező azonosságok is:

(35.7) (L1 + L2)−1 = L−11 + L−1

2 , (L1L2)−1 = L−12 L−1

1 , (L∗)−1 = (L−1)∗,

(35.8) (L(b)p )−1 = (L−1)

(j)

p−1 , (L(j)p )−1 = (L−1)

(b)

p−1 .

Véges ábécé feletti reguláris nyelv bal [jobb] oldali deriváltjai is regulári-sak. (Ezt 41.3. Tétel bizonyításában mutatjuk meg.) Ez azt jelenti, hog azU véges ábécé feletti reguláris nyelvek RU halmaza zárt bármely p ∈ U∗ szószerinti bal [jobb] oldali deriválás műveletére.

Legyenek Uk (k ∈ I) tetszőleges (U = {uk; k ∈ I}-től nem feltétlenülkülönböző) halmazok, legyen továbbá V = ∪k∈IUk. Definiáljunk egy h :U → P (V ∗) leképezést úgy, hogy minden uk ∈ U elemre h(uk) ∈ P (U∗k )teljesüljön, azaz minden uk elemhez egy Uk feletti nyelvet rendeljen. A hleképezés értelmezését terjesszük ki az U∗ szabad monoidra úgy, hogy (akiterjesztés után is megtartva a h jelölést) legyen h : U∗ → P (V ∗), amelyreteljesüljenek a

h(e) = e, h(pq) = h(p)h(q) (p, q ∈ U∗)

279

Page 280: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

feltételek. A h leképezést helyettesítésnek nevezzük. A helyettesítés fogalmátszavakról nyelvekre is kiterjesztjük úgy, hogy minden L ⊆ U∗ nyelvre legyen

h(L) =∑p∈L

h(p).

Azt mondjuk, hogy a h helyettesítés reguláris, ha minden h(uk) (k ∈ I) nyelvreguláris. Továbbá, h e-mentes helyettesítés, ha az e üres szót egyik h(uk)nyelv sem tartalmazza. Végül a h helyettesítést homomorfizmusnak nevez-zük, ha minden h(uk) nyelv egyelemű. Látható, hogy ebben az esetben h azU∗ szabad monoidnak az V ∗ szabad monoidba való monoid-homomorfizmusa.Ebben az esetben a h(L) nyelvet az L ⊆ U∗ nyelv homomorf képének nevez-zük. A reguláris kifejezés és a helyettesítés definíciójából közvetlenül adódika következő tétel.

35.2 Tétel A reguláris nyelvek halmaza zárt a reguláris helyettesítésre. Spe-ciálisan, reguláris nyelv homomorf képe is reguláris.

36. Generatív grammatikákEgy véges nyelvet megadhatunk elemei felsorolásával is. Végtelen nyelv meg-adása általában bonyolultabb feladat. Ezért szeretnénk, olyan algoritmusttalálni, amely alkalmazásával a nyelv minden eleme származtatható és se-gítségével eldönthető, hogy egy szó az adott nyelvnek eleme vagy nem. Anyelvek ilyen algoritmikus megadására szolgálnak a generatív grammatikák.A generatív grammatika fogalmának megközelítéséhez tekintsük példaként a"Süt a nap." egyszerű magyar mondatot. A mondat szintaktikai elemzésé-hez különböző nyelvtani kategóriák szükségesek. Vegyük például a "főnév"nyelvtani kategóriát. A "főnév" szó szerepel a magyar nyelv szókészletébenis. Jelölje ezért a "főnév" nyelvtani kategóriát <főnév>, megkülönböztetve a"főnév" szótól. Induljunk ki a <mondat> nyelvtani kategóriából. Írjuk he-lyébe az <ige><szóköz><névelő><szóköz><főnév><írásjel> mondatfor-mát, amelyre

<mondat> −→ <ige><szóköz><névelő><szóköz><főnév> <írásjel>

jelölést használhatjuk. Ha elvégezzük valamilyen sorrendben a

<főnév> −→ nap, <ige> −→ Süt, <névelő> −→ a,

<szóköz> −→ ␣, <írásjel> −→ .

280

Page 281: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

átírásokat, akkor megkapjuk a "Süt a nap." mondatot. A "Süt a nap."mondat egy levezetése a <mondat> nyelvtani kategóriából:

<mondat> =⇒ <ige><szóköz><névelő><szóköz><főnév><írásjel> =⇒

=⇒ <ige><szóköz><névelő><szóköz>nap<írásjel> =⇒=⇒ <ige><szóköz><névelő> nap<írásjel> =⇒

=⇒ Süt<szóköz><névelő> nap<írásjel> =⇒=⇒ Süt<szóköz>a nap<írásjel> =⇒

=⇒ Süt<szóköz>a nap. =⇒ Süt a nap.

Ez a mondat a <mondat> nyelvtani kategóriából a következő szabályokkalis levezethető:

<mondat> −→ <ige><szóköz>a<szóköz>nap.,

<szóköz> −→ <szóköz>a<szóköz>, <ige> −→ Süt, <szóköz> −→ ␣

(Ezekkel a szabályokkal a <mondat> nyelvtani kategóriából levezethető pél-dául a "Süt a a nap." hibás mondat is.)

Az előbb vázolt motiváció késztette Chomskyt arra, hogy egy nyelvetvéges ábécé feletti jelsorozatok összességének, a nyelvtant pedig nyelvtani ka-tegóriák (változók) és formális átírási szabályok véges összességének tekintse,s ezzel megalkossa a formális nyelv és a generatív grammatika fogalmát.

Generatív grammatikán (generatív nyelvtanon) vagy röviden grammati-kán (nyelvtanon) olyan G = (VN , VT , S,H) rendszert értünk, ahol VN 6= ∅ ésVT 6= ∅ diszjunkt véges ábécék, S tetszőleges VN -beli betű, H pedig olyan(P,Q) rendezett párok véges halmaza, amelyekre P,Q ∈ (VN ∪ VT )∗ és Ptartalmaz VN -beli betűt.

A VN halmazt nemterminális ábécének, az elemeit nemterminális be-tűknek, nemterminális szimbólumoknak, nemterminálisoknak vagy válto-zóknak nevezzük. A VT halmaz pedig a terminális ábécé, , elemei pedigterminális betűk, terminális szimbólumok vagy terminálisok. , Az S ∈ VNelem a kezdő szimbólum vagy mondatszimbólum. A H halmaz a grammati-ka szabályainak halmaza. Végül a H-beli (P,Q) párok az ún. helyettesítésiszabályok vagy átírási szabályok vagy röviden szabályok. A (P,Q) A (P,Q)helyettesítési szabályra leginkább a P −→ Q jelölést használjuk, ahol P -ta szabály bal oldalának, Q-t pedig a szabály jobb oldalának nevezzük. AP −→ Q alakú szabályokat P -re vonatkozó szabályoknak is mondjuk. A V ∗Thalmaz elemeit, amelyeket terminális szavaknak is nevezünk, általában kislatin betűkkel, (VN ∪ VT )∗ elemeit pedig nagy latin betűkkel írjuk.

281

Page 282: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen P,Q ∈ (VN ∪ VT )∗. Azt mondjuk, hogy Q közvetlenül levezethetőa P szóból a G grammatikában, ha vannak olyan R, T, P ′, Q′ szavak a (VN ∪VT )∗ halmazban, hogy P = RP ′T és Q = RQ′T , ahol P ′ −→ Q′ H-belihelyettesítési szabály. Erre a P =⇒G Q jelölést használjuk. A =⇒G egybinér reláció a (VN∪VT )∗ halmazon. Legyen =⇒G reflexív és tranzitív lezártja=⇒∗G. Azt mondjuk, hogy a Q szó ( a G grammatikában) levezethető vagyelérhető a P szóból, ha P =⇒∗G Q teljesül. Ez azt jelenti, hogy léteznek olyanP0, P1, . . . , Pk ∈ (VN ∪ VT )∗ szavak, amelyekre

(36.1) P = P0, Pi−1 =⇒G Pi (i = 1, 2, . . . , k), Pk = Q.

Ekkor a

(36.2) P =⇒G P1 =⇒G · · · =⇒G Pk−1 =⇒G Q

sorozatot a Q szó P -ból való k hosszúságú G-beli levezetésének nevezzük.Erre használjuk a P =⇒k

G Q jelölést is. A Q szót az adott levezetés eredmé-nyének is nevezzük. Úgy is mondjuk, hogy Q a P -ből k lépésben levezethető.Ha k = 0, akkor P = P0 = Q, és =⇒1

G==⇒G. Ha k ≥ 1, akkor használjuk aP =⇒+

G Q jelölést is. A Pi−1 =⇒G Pi levezetést a P =⇒∗G Q levezetés i-ediklépésének is mondjuk. Speciálisan, ha S =⇒∗G Q, akkor azt mondjuk, hogyQ levezethető G-ben. Amennyiben világos, hogy melyik grammatikáról vanszó, =⇒G és =⇒∗G helyett egyszerűen =⇒-t ill. =⇒∗-ot írunk.

A G = (VN , VT , S,H) grammatika által generált nyelven értjük a VT feletti

(36.3) L(G) = {p; S =⇒∗G p, p ∈ V ∗T }

nyelvet. Ha L = L(G), akkor azt is mondjuk, hogy a G grammatika generáljaaz L nyelvet. A definícióban =⇒∗G helyett írhattunk volna =⇒+

G −t is, mivelS /∈ V ∗T .

Minden grammatika egyetlen nyelvet generál, egy nyelvet azonban többgrammatika is generálhat. A G1 és G2 grammatikákat ekvivalenseknek nevez-zük, ha ugyanazt a nyelvet generálják, azaz L(G1) = L(G2). Azt is mondjuk,hogy az egyik grammatika a másik ekvivalens átalakítása.

Az L(G) nyelv azokból a terminális szimbólumokat tartalmazó szavakból(mondatokból) áll, amelyek a G grammatikában (az S kezdő szimbólum-ból levezethetők). A természetes nyelvekre gondolva, a G grammatika aztmutatja meg, hogy az S mondatszimbólumból kiindulva, hogyan lehet a H-beli "nyelvtani szabályok" sorozatos alkalmazásával az L(G) nyelv mondataitmegszerkeszteni. Ez azt jelenti, hogy a G grammatika az L(G) formális nyelvesetén ugyanazt a szerepet tölti be, mint a természetes nyelveknél a nyelv-tanuk. Egy L(G)-beli szó (mondat) S-ből való levezetése (VN ∪ VT )∗ szavain

282

Page 283: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

keresztül történik. Ha egy ilyen szó nemterminális szimbólumot is tartalmaz,akkor természetesen nem lehet eleme L(G)-nek. Az ilyen szavakat mondat-formáknak is nevezzük. A VT ábécé feletti szavakról azt is mondhatjuk, hogyolyan mondatformák, amelyek változókat nem tartalmaznak.

Ha bevezetjük az S = <mondat>, A = <ige>, B = <névelő>, C =<főnév>, D = <szóköz>, E = <írásjel>, x = a, y = nap, z = Süt je-löléseket, akkor a fejezet elején vett példákban VN = {S,A,B,C,D,E} ill.VN = {S,A,D}, VT = {x, y, z, ., ␣}. A H-beli szabályok pedig a következők:

S −→ ADBDCE, A −→ z, B −→ x,

C −→ y, D −→ ␣, E −→ .

ill.

S −→ ADxDy., D −→ DxD, A −→ z, D −→ ␣

A G = (VN , VT , S,H) grammatika által generált nyelv:

L(G) = {z␣x␣y.} = {Süt a nap.}

ill.

L(G) = {z␣x␣y., z␣x␣x␣y., z␣x␣x␣x␣y., ...} =

= {Süt a nap., Süt a a nap., Süt a a a nap.,...}

Meg kell azonban jegyeznünk, hogy véges ábécé feletti nyelvek megadá-sának nem egyedüli eszköze a generatív grammatika. Vannak olyan végesábécé feletti nyelvek amelyek generatív grammatikával meg sem adhatók.

A generatív grammatikák az ún. formális rendszerek speciális esetei. For-mális rendszernek nevezünk minden olyan W = (V,H) párt, amelyben Vtetszőleges ábécé, H pedig egy binér reláció a V ∗ szabad monoidon. A Helemeit tetszőleges formális rendszer esetén is (helyettesítési, átírási) sza-bályoknak hívjuk. Ha V és H véges halmazok, akkor W -t véges formálisrendszernek mondjuk. A (közvetlen) levezetést is ugyanúgy definiáljuk, minta generatív grammatikák esetében, s ugyanazokat a jelöléseket használjuk.Egy formális rendszert asszociatívnak hívunk, ha P −→ Q ∈ H akkor és csakakkor, ha Q −→ P ∈ H. Ha tetszőleges P ′, Q′ ∈ U∗ szavakra P ′ =⇒∗W Q′

és Q′ =⇒∗W P ′, akkor azt mondjuk, hogy P ′ és Q′ egymással ekvivalens, szo-kásos jelöléssel P ′ ⇐⇒∗W Q′. Asszociatív formális rendszerekre az ún. szó-probléma a következő módon fogalmazható meg: Adott asszociatív formálisrendszerhez létezik-e olyan algoritmus, amelynek segítségével U∗ tetszőlegeskét szavára eldönthető, hogy egymással ekvivalensek.

283

Page 284: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Egy W = (V,H) formális rendszert generatív rendszernek nevezünk, haki van tüntetve az V ∗ szabad monoidnak egy A 6= ∅ részhalmaza, amelyet Waxiómarendszerének mondunk. Egy generatív rendszert tehátW = (V,A,H)alakban adhatunk meg. A W generatív rendszer által generált nyelvnek ne-vezzük az

L(W ) = {P ∈ V ∗; (∃S ∈ A)(S =⇒∗W P )}

nyelvet. Látható, hogy a generatív rendszer a generatív grammatika fogalmá-nak általánosítása. Valóban egy G = (VN , VT , S,H) grammatika olyanWG =(V,A,H) véges generatív rendszernek tekinthető, amelyre V = VN ∪ VT , azA axiómarendszer az egyetlen S mondatszimbólumból áll, az L(G) nyelvrepedig L(G) = L(WG)∩V ∗T teljesül. Mi ebben a részben generatív grammati-kákkal foglalkozunk, bár a vizsgálataink során már találkoztunk más formá-lis rendszerekkel is. Például egy A = (A,X, Y, δ, λ) Mealy automata olyanW = (V,H) formális rendszerként is megadható, amelyben V = A ∪X ∪ Y ,és H azokból az ax −→ yb alakú szabályokból áll, amelyekre

ax −→ yb ⇐⇒ (δ(a, x) = b, λ(a, x) = y) (a, b ∈ A, x ∈ X, y ∈ Y ).

Egy iniciális A = (A,A0, X, δ) automata tekinthető olyan W = (V,A0, H)generatív rendszernek, amelyben V = A∪X, az iniciális állapotok A0 halma-za az axiómarendszer, továbbá bármely a, b ∈ A állapotra és x ∈ X bemenőjelre a −→ xb ∈ H akkor és csak akkor, ha δ(a, x) = b.

A G = (VN , VT , S,H) grammatikát standard grammatikának nevezzük,ha minden olyan H-beli átírási szabály, amelyben legalább egy terminálisbetű is fellép, X −→ x alakú, ahol X ∈ VN és x ∈ VT .

36.1 Lemma Minden grammatika ekvivalens egy standard grammatikával.

Bizonyítás. Legyen G = (VN , VT , S,H) tetszőleges grammatika, továbbá Volyan halmaz, amelyre V ∩ (VN ∪ VT ) = ∅ és |V | = |VT | teljesül. Jelölje ϕ aVT halmaz egy bijektív leképezését a V halmazra. A V ′N = V ∪VN halmaz ésϕ leképezés segítségével megkonstruálunk egy G-vel ekvivalens G′ standardgrammatikát. Legyen G′ nemterminális ábécéje V ′N , terminális ábécéje VT ,mondatszimbóluma pedig S. A G′ grammatikaH ′ helyettesítési szabályainakhalmazát a következőképpen adjuk meg: Minden terminálist nem tartalmazóH-beli szabály legyen benne H ′-ben is. Ha egy H-beli P −→ Q szabálylegalább egy terminálist tartalmaz, akkor minden P -ben ill. Q-ban előfordulóx terminálist cseréljük ki a ϕ(x) szimbólummal, s az így kapott P ′ −→ Q′

szabályt vegyük fel H ′-be. Végül vegyük fel H ′-be az összes ϕ(x) −→ x (x ∈VT ) szabályt is. A konstrukcióból világos, hogy G′ = (V ′N , VT , S,H

′) standardgrammatika.

284

Page 285: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megmutatjuk, hogy G′ ekvivalens G-vel, azaz L(G′) = L(G) fennáll. Le-gyen p = x1x2 . . . xk tetszőleges L(G)-beli nemüres szó, azaz S =⇒∗G p ésp 6= e. Akkor

S =⇒∗G′ ϕ(x1)ϕ(x2) . . . ϕ(xk),

ahonnan a H ′-beli ϕ(xi) −→ xi (i = 1, 2, . . . k) szabályok alkalmazásávalkapjuk, hogy S =⇒∗G′ p, vagyis p ∈ L(G′). Ha e ∈ L(G), akkor S =⇒∗G e. HaS =⇒∗G e levezetésben minden olyan Pi mondatforma helyett, amely legalábbegy terminálist tartalmaz, azt a P ′i mondatformát vesszük, amely Pi-ből abenne szereplő x terminálisoknak ϕ(x) szimbólumokkal való kicseréléséveljön létre, akkor S =⇒∗G′ e. Tehát e ∈ L(G′). Ezzel megmutattuk, hogyL(G) ⊆ L(G′).

Megfordítva, megmutatjuk, hogy az L(G′) ⊆ L(G) tartalmazás is fennáll,ami azt jelenti, hogy L(G′) = L(G). Definiáljuk a V ∪ VN ∪ VT halmaznak aVN ∪ VT halmazra való η leképezését úgy, hogy minden x ∈ VT terminálisraη(ϕ(x)) = η(x) = x, s minden X ∈ VN változóra η(X) = X teljesüljön.Jelölje ηh az η leképezés homomorf kiterjesztését az (V ∪ VN ∪ VT )∗ szabadmonoidra. Legyenek P,Q ∈ (V ∪ VN ∪ VT )∗, amelyekre P =⇒∗G′ Q fennáll.Ha Q-nak P -ből való levezetése során csak ϕ(x) −→ x alakú H ′-beli sza-bályokat kell alkalmaznunk, akkor ηh(P ) = ηh(Q). Ellenkező esetben pedignyilván ηh(P ) =⇒∗G ηh(Q). Ezért a P =⇒∗G′ Q relációból mindenképpen aηh(P ) =⇒∗G ηh(Q) reláció következik. Ha tehát p ∈ L(G′), azaz S =⇒∗G′ p,akkor

S = ηh(S) =⇒∗G ηh(p) = p,

vagyis p ∈ L(G). Ezzel megmutattuk, hogy az L(G′) ⊆ L(G) tartalmazás isigaz. �

A definíció mutatja, hogy egy generatív grammatikát a helyettesítési sza-bályaival jellemezhetjük. Chomsky a generatív grammatikák négy típusátkülönböztette meg a helyettesítési szabályaikra előírt feltételek segítségével.

Legyen i ∈ {0, 1, 2, 3}. Azt mondjuk, hogy a G = (VN , VT , S,H) gram-matika i típusú, ha az alábbi feltételek közül az (i)-ediket teljesíti:(0) A H-beli helyettesítési szabályok tetszőlegesek, azaz P1XP2 → Q alakú-ak, ahol P1, P2, Q ∈ (VN ∪ VT )∗ és X ∈ VN .(1) A H-beli helyettesítési szabályok P1XP2 −→ P1PP2 alakúak, ahol X ∈VN , P1, P2, P ∈ (VN ∪ VT )∗ és P 6= e, kivéve esetleg az S −→ e szabályt,amely azonban csak úgy szerepelhet H-ban, ha S nem fordul elő egyetlenszabály jobb oldalán sem.(2) A H-beli helyettesítési szabályok X −→ P alakúak, ahol X ∈ VN ésP ∈ (VN ∪ VT )∗.(3) A H-beli helyettesítési szabályok X −→ pY vagy X −→ p alakúak, aholX, Y ∈ VN és p ∈ V ∗T .

285

Page 286: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Egy L nyelvet i típusúnak nevezünk, ha van olyan i típusú G gramma-tika, hogy L = L(G). Az i típusú nyelvek halmazát Li-vel jelöljük. Az Li(i = 0, 1, 2, 3) halmazokat Chomsky nyelvosztályoknak nevezzük. A Chomskynyelvosztályok alapvető fontosságúak a formális nyelvek elméletében. Érvé-nyesek az

L3 ⊆ L2 ⊆ L1 ⊆ L0

tartalmazások, amelyek közül az első és a harmadik nyilvánvalóan következika definíciókból, a másodikat azonban bizonyítani kell (l. A 37.6. Tétel). Sőtmegmutatható, hogy

(36.4) L3 ⊂ L2 ⊂ L1 ⊂ L0.

A valódi tartalmazásoknak ezt a sorozatát Chomsky hierarchiának hívjuk.A Chomsky hierarchia egyik valódi tartalmazása sem nyilvánvaló, sőt a har-madik igazolása igen nehéz. Az i típusú grammatikákra ilyen hierarchia nemérvényes. Minden 3 típusú nyelvtan 2 típusú és minden 1 nyelvtan 0 típusú.Nem igaz azonban, hogy minden 2 típusú nyelvtan 1 típusú, mert még azsem igaz, hogy minden 3 típusú nyelvtan egyben 1 típusú is. Valóban a 2 és3 típusú nyelvtanoknál az X −→ e (X ∈ VN) szabályok megengedettek, mígaz 1 típusú nyelvtanoknál legfeljebb az S −→ e szabály.

Megjegyezzük, hogy ha a grammatika definíciójában végtelen sok sza-bályt is megengednénk, akkor a Chomsky hierarchia nem teljesülne. Ebbenaz esetben minden U ábécé feletti L nyelv 3 típusú lenne, mert generálná aza 3 típusú G = {S, U, S,H} grammatika, amelyben H = {S −→ p; p ∈ L}.A H végességéből pedig következik, hogy elegendő véges sok változóra és ter-minálisra szorítkozni. Az L(G) nyelv szavai ugyanis csak azokból terminá-lisokból képezhetők, amelyek szerepelnek a szabályokban. Továbbá ezekneka szavaknak a levezetéséhez csak a szabályokban szereplő véges sok változóthasználhatjuk.

A 0 típusú nyelvek az összes, generatív grammatikával megadható nyel-vek. Ezeket kifejezés struktúrájú, ill. mondatszerkezetű nyelveknek is nevez-zük.

Az 1 típusú grammatikák esetén egy X nemterminális szimbólum adottP1, P2 ∈ (VN ∪ VT )∗ szavak esetén helyettesíthető egy P1XP2 alakú mon-datformában egy P ∈ (VN ∪ VT )+ szóval. Ezt úgy is mondhatjuk, hogya P1 = P2 = e eset kivételével X helyettesítése P -vel függ X környezetétől.Ezért ezeket a grammatikákat és az általuk generált nyelveket környezetfüggőgrammatikáknak és környezetfüggő nyelveknek hívjuk. nyelv!környezetfüggőA környezetfüggő grammatikákban az S −→ e szabály kivételével mindenszabály jobb oldalának hossza nagyobb vagy egyenlő mint a bal oldal hossza.A G környezetfüggő grammatika akkor és csak akkor tartalmazza az S → e

286

Page 287: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szabályt, ha e ∈ L(G). Ebben az esetben egyetlen szabály jobb oldalán semszerepel az S mondatszimbólum, s így e az S-ből csak egy lépésben (közvet-lenül) vezethető le.

A 2 típusú grammatikákat és nyelveket az előbbi elnevezéssel összhang-ban környezetfüggetlen grammatikáknak ill. környezetfüggetlen nyelveknek ismondjuk.

Ha egy terminális nem szerepel egy G = (VN , VT , S,H) környezetfügget-len grammatika egyetlen szabályának jobb oldalán sem, akkor nem szerepelaz adott grammatikával generált nyelv egyetlen szavában sem. Ezért az egy-szerűség kedvéért a környezetfüggetlen grammatikák VT terminális ábécéitlegtöbbször úgy adjuk meg, hogy ilyen felesleges terminálisokat ne tartalmaz-zanak. Mivel csak az L(G) = ∅ ill. az L(G) = e esetekben felesleges mindenterminális, ezért környezetfüggetlen grammatikákra csak ekkor lehetséges aVT = ∅ választás.

A 3 típusú grammatikákat ill. nyelveket jobb lineárisaknak is nevezzük,mivel minden szabály jobb oldalán legfeljebb egy nemterminális állhat, s azis csak a jobb oldal végén. A 41. fejezetben megmutatjuk, hogy a 3 típusúnyelvek pontosan a a véges ábécék feletti reguláris nyelvek. Ezért a 3 típusúgrammatikákat reguláris grammatikáknak is mondjuk.

Értelemszerűen tetszőleges grammatika egy-egy szabályáról is mondhat-juk, hogy jobb lineáris (reguláris), környezetfüggetlen vagy környezetfüggőszabály.

Nem nehéz belátni, hogy egy i (i = 0, 1, 2, 3) típusú nyelv tükörképeszintén i tipusú.

A definíciók alapján nyilvánvaló, hogy bármely i = 0, 1, 2 esetén a 36.1.Lemma bizonyításában szereplő G′ grammatika akkor és csak akkor i típu-sú,ha G is i típusú. A 3 típusú grammatikákra azonban ez nem igaz. Haugyanis G 3 típusú grammatika tartalmaz legalább egy X −→ pY (p 6= e)vagy X −→ p (|p| > 1) helyettesítési szabályt, akkor a G′ grammatika 2típusú lesz. Ezek alapján kimondhatjuk a következő eredményt.

36.2 Lemma Ha i = 0, 1, 2, akkor minden i típusú grammatikához létezikegy vele ekvivalens standard i típusú grammatika.

A 2 és 3 típusú grammatikákra azok definíciójából, ill. a 0 és 1 típusúgrammatikákra az előző lemmából adódik a következő állítás.

36.3 Következmény Minden grammatikához megadható egy ugyanolyantípusú és vele ekvivalens grammatika úgy, hogy a helyettesítési szabályainakbal oldalán terminális nem fordul elő.

287

Page 288: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

36.4 Példa Legyenek a G = ({S,X}, {a, b}, S,H) környezetfüggő gramma-tika szabályai a következők:

S −→ a, S −→ XS, S −→ aaXb, X −→ b, aXb −→ aXbb.

Megadunk vele ekvivalens standard környezetfüggő grammatikát.A 36.1. Lemma bizonyításában leírt módon járunk el. Az a G′ =

({S,X,A,B}, {a, b}, S,H ′) standard környezetfüggő grammatika ekvivalensG-vel, amelynek szabályai:

S −→ A, S −→ XS, S −→ AAXB,

X −→ B, AXB −→ AXBB, A −→ a, B −→ b.

(L(G) = L(G′) = {bka, bka2bl, k = 0, 1, 2, . . . , l = 2, 3, 4, . . . }.)

36.5 Példa Tekintsük a

S −→ abX, X −→ aY, X −→ bb, Y −→ b

szabályokkal megadott G = ({S,X, Y }, {a, b}, S,H) jobb lineáris grammati-kát.

A G′ = ({S,X, Y,A,B}, {a, b}, S,H ′) környezetfüggetlen grammatika ek-vivalens G-vel, ha a H ′-beli szabályok a következők:

S −→ ABX, X −→ AY, X −→ BB, Y −→ B,A −→ a, B −→ b.

(L(G) = L(G′) = {abbb, abab}.)

A két példában szereplő S −→ A, X −→ B ill. Y −→ B szabály helyet-tesíthető az S −→ a, az X −→ b ill. az Y −→ b szabállyal. Az ilyen típusúún. láncszabályokról a későbbiekben lesz még szó.

Legyen U tetszőleges véges ábécé. Az előző fejezetben definiáltuk az L(U)nyelvalgebrát, amelynek R(U) reguláris nyelvalgebra az U halmaz elemei ál-tal generált részalgebrája. Most megmutatjuk, hogy a környezetfüggetlennyelvek L2, a környezetfüggő nyelvek L1, és a mondatszerkezetű nyelvek L0

halmaza zárt a reguláris műveletekre. Ebből következik, hogy egy adottU ábécé feletti környezetfüggetlen nyelvek CF (U), környezetfüggő nyelvekCS(U) és a mondatszerkezetű nyelvek PS(U) halmaza is zárt a regulárisműveletekre, azaz a CF(U), CS(U)és PS(U) az L(U) nyelvalgebra részal-gebrái. Nyilvánvaló, hogy

(36.5) R(U) ⊂ CF (U) ⊂ CS(U) ⊂ PS(U).

288

Page 289: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

36.6 Tétel A Chomsky nyelvosztályok zártak a reguláris műveletekre.

Bizonyítás. A 3 típusú, azaz reguláris nyelvekre nyelvekre, amint azt mármegjegyeztük, a definícióból közvetlenül következik az állítás. A többi nyelv-osztályra a bizonyítást műveletenként végezzük el.

Tetszőleges i = 0, 1, 2 esetén legyenek L1 és L2 a G1 = (V1,N , V1,T , S1, H1)és G = (V2,N , V2,T , S2, H2) i tipusú grammatikák által generált nyelvek, azazL1 = L(G1) és L2 = L(G2). A 36.2. Lemma szerint feltehető, hogy G1 ésG2 standard grammatika. Tegyük fel azt is, hogy V1,N ∩ V2,N = ∅. (Ezta változók átjelölésével mindig elérhetjük.) Először megmutatjuk, hogy anyelvosztályok zártak az összeadásra. Legyen S /∈ V1,N ∪ V2,N tetszőlegesszimbólum. Ha

VN = V1,N ∪ V2,N ∪ S, VT = V1,T ∪ V2,T ,

H = H1 ∪H2 ∪ {S −→ S1, S −→ S2},akkor i = 0, 2 esetekben a G = (VN , VT , S,H) i típusú grammatika generáljaaz L1 + L2 nyelvet.

Ha i = 1 és e /∈ L1 + L2, akkor G szintén generálja az L1 + L2 nyelvet.Ha i = 1 és e ∈ L1 + L2, akkor vagy H1 tartalmazza a S1 −→ e szabályt,vagy H2 az S2 −→ e szabályt. Elhagyva ezeket a szabályokat, szintén 1típusú grammatikákat kapunk. Ezekkel a G′1-vel és G′2-vel jelölt gramma-tikákkal konstruáljuk meg a fenti módon G-t. Mivel L(G′1) = L1 − e ésL(G′2) = L2 − e, ezért L(G) = (L1 + L2) − e. Ezután a G grammatikáhozúj mondatszimbólumként vegyük fel az S0 /∈ VN jelet, valamint az S0 −→ Sés S0 −→ e szabályokat. Nem nehéz belátni, hogy az így kapott 1 típusúgrammatika éppen az L1 + L2 nyelvet generálja.

Most megmutatjuk, hogy a nyelvosztályok zártak a konkatenációra. HaVN , VT halmazokat ugyanúgy definiáljuk, mint az előbb és

H = H1 ∪H2 ∪ {S −→ S1S2},

akkor i = 0, 2 esetekben ill. i = 1 esetben, ha e /∈ L1 + L2, a G i típusúgrammatika generálja az L1L2 nyelvet.

Legyen i = 1 és e ∈ L1 + L2. Ha a fentebb definiált G′1 és G′2 grammati-kákkal megkonstruáljuk az előbbi módon G-t, akkor L(G) = (L1− e)(L2− e)1 típusú nyelv. Ha e /∈ L1 és e ∈ L2, akkor L1L2 = L(G) + L1. Hae ∈ L1 és e /∈ L2, akkor L1L2 = L(G) + L2. Ha pedig e ∈ L1 ∩ L2, akkorL1L2 = L(G) + L1 + L2 + e. Mivel a nyelvosztályok zártak az összeadásra,ezért mindhárom esetben azt kapjuk, hogy az L1L2 nyelv 1 típusú.

Végül megmutatjuk, hogy a nyelvosztályok zártak az iterációra. Ha i = 2és

S /∈ V1,N , VN = V1,N ∪ S, VT = V1,T , H = H1 ∪ {S −→ e, S −→ SS1},

289

Page 290: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

akkor a G = (VN , VT , S,H) 2 típusú grammatika nyilván az L∗1 nyelvet gene-rálja. Legyen i = 0, 1 és e /∈ L1. Megmutatjuk, hogy ha

S, S ′ /∈ V1,N , VN = V1,N ∪ {S, S ′}, VT = V1,T ,

H = H1 ∪ {S −→ e, S −→ S1, S −→ S ′S1,

S ′x −→ S ′S1x, S′x −→ S1x;x ∈ VT},

akkor a G = (VN , VT , S,H) i típusú grammatika az L∗1 nyelvet generálja.Először azt mutatjuk meg, hogy L∗1 minden eleme levezethető G-ben. Az eüres szó nyilván az S −→ e szabállyal közvetlenül levezethető. Tekintsünkezután egy p 6= e szót L∗1-ból, azaz legyen p = p1p2 . . . pk, ahol pj ∈ L1 (j =1, 2, . . . , k). Mivel e /∈ L1, feltehetjük, hogy pj = xjqj (xj ∈ VT , qj ∈ V ∗T ). Az

S =⇒G S′S1 =⇒∗G S ′pk = S ′xkqk =⇒G S

′S1xkqk = S ′S1pk

=⇒∗G S ′pk−1pk =⇒∗G · · · =⇒∗G S ′p2 . . . pk−1pk = S ′x2q2 . . . pk−1pk

=⇒G S1x2q2 . . . pk−1pk = S1p2 . . . pk−1pk =⇒∗G p1p2 . . . pk−1pk = p

levezetéssel kaptuk, hogy S =⇒∗G p. Ezzel megmutattuk, hogy L∗1 ⊆ L(G).A forditott irányú tartalmazás megmutatása céljából tekintsünk egy

S =⇒G P1 =⇒G · · · =⇒G Pn =⇒G p ∈ V ∗T

levezetést. Ha ebben a levezetésben P1 = e, akkor P1 = p = e ∈ L∗1. Hapedig P1 = S1, akkor ez a levezetés olyan szóhoz vezet, amely szintén bennevan L∗1-ban. Egyébként P1 csak S ′S1 alakú lehet, és ekkor teljes indukcióvalmegmutatható, hogy minden Pj (j = 1, 2, . . . , n) vagy(1) S ′Q1 . . . Ql alakú, ahol l ≥ 1 és a Q2, . . . Ql szavak első betűje terminális,továbbá S1 =⇒∗G1

Qm (m = 1, . . . , l); vagy(2) Q0Q1 . . . Ql alakú, ahol l ≥ 1 és Q1, . . . Ql szavak első betűje terminális,és S1 =⇒∗G1

Qm (m = 0, 1, . . . , l).Nyilván P1 = S ′S1 alakja (1)-nek megfelelő. Ha Pj megfelel vagy az (1)

vagy a (2) kikötésnek, akkor G minden szabályát megvizsgálva és természete-sen figyelembe véve, hogy a G1 standard grammatika, megállapítható, hogyPj+1 is eleget tesz az (1) vagy (2) feltételnek. Ebből viszont következik, hogyG-ben csak L∗1-beli szavak vezethetők le, vagyis L(G) ⊆ L∗1.

Abban az esetben, ha i = 0, 1 és e ∈ L1, először olyan i típusú G′1grammatikát konstruálunk, amelyre L(G′1) = L1 − e. Ezt az i = 1 esetbenegyszerűen úgy kapjuk, hogy az S1 −→ e szabályt elhagyjuk. Az i = 0esetben pedig a P −→ e alakú szabályokat helyettesítjük az összes XP −→

290

Page 291: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

X és PX −→ X (X ∈ V1,N ∪ V1,T ) alakú szabállyal. Nyilvánvaló, hogyL∗1 = (L1 − e)∗. Ez azt jelenti, hogy elegendő olyan nyelveket tekinteni,amelyek nem tartalmazzák az üres szót. Így visszavezettük a problémát azelőző esetre. �

A jobb lineáris (3 típusú) grammatika definíciójának általánosításakéntbevezethető a lineáris grammatika fogalma:

A G = (VN , VT , S,H) grammatikát lineárisnak nevezzük, ha a H-belihelyettesítési szabályok X −→ pY q vagy X −→ r alakúak, ahol X, Y ∈ VNés p, q, r ∈ V ∗T .

A definícióból következik, hogy minden lineáris grammatika 2 típusú. AG lineáris grammatika jobb lineáris, ha a H-beli helyettesítési szabályokbanq = e. A G lineáris grammatikát bal lineárisnak mondjuk, ha aH-beli helyet-tesítési szabályokban p = e teljesül. A lineáris grammatikák által generáltnyelveket lineáris nyelveknek nevezzük. A 41. fejezetben megmutatjuk,hogy nem minden lineáris nyelv 3 típusú.

36.7 Tétel Minden bal [jobb] lineáris grammatikához van vele ekvivalensjobb [bal] lineáris grammatika.

Bizonyítás. Legyen G = (VN , VT , S,H) tetszőleges bal lineáris gramma-tika. Az általánosság megszorítás nélkül feltehetjük, hogy S nem szerepelegyetlen H-beli szabály jobb oldalán sem. (Ellenkező esetben ugyanis egyúj S0 mondatszimbólum bevezetésével és H-nak az S0 −→ S szabállyal va-ló kibővítésével ez mindig elérhető. Nyilvánvaló, hogy a kapott grammatikaugyanazt a nyelvet generálja, mint az eredeti.)

Szerkesszük meg a G′ = (VN , VT , S,H′) grammatikát a következő módon:

Legyenek X, Y ∈ VN − S és p ∈ X∗T . Minden H-beli S −→ p szabály legyenH ′-ben is. A H-beli X −→ p, X −→ Y p és S −→ Xp szabályok helyettvegyük fel H ′-be rendre az S −→ pX, Y −→ pX és X −→ p szabályokat. AG′ grammatika nyilvánvalóan jobb lineáris.

Ilyen módon minden G = (VN , VT , S,H) bal lineáris grammatikához köl-csönösen egyértelmű módon hozzárendeltük aG′ = (VN , VT , S,H

′) jobb lineá-ris grammatikát. Megmutatjuk, hogy G és G′ ekvivalens, azaz L(G) = L(G′).

Ha S −→ p (p ∈ V ∗T ), akkor p ∈ L(G) ∩ L(G′). A H ′ halmaz definíciójaszerint, hogy bármely pozitív egész k esetén akkor és csak akkor létezik G-benaz

S =⇒G X1p1 =⇒G X2p2p1 =⇒G · · · =⇒G

=⇒G Xkpk . . . p2p1 =⇒ pk+1pk . . . p2p1 = p

alakú levezetés, ahol X1, X2, . . . Xk ∈ VN és p1, p2, . . . , pk+1 ∈ V ∗T , ha G′-benlétezik az

S =⇒G′ pk+1Xk =⇒G′ pk+1pkXk−1 =⇒G′ · · · =⇒G′

291

Page 292: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

=⇒G′ pk+1pk . . . p2X1 =⇒G′ pk+1pk . . . p2p1 = p

alakú levezetés. Ez azt jelenti, hogy ebben az esetben is p ∈ L(G)∩L(G′), sígy L(G) = L(G′). �

Már láttuk, hogy a reguláris nyelvek osztálya zárt a tükrözés műveletére.Ezt az állítást most minden nyelvosztályra igazoljuk.

36.8 Tétel A Chomsky nyelvosztályok zártak a tükrözésre.

Bizonyítás. Legyen G = (VN , VT , S,H) i típusú grammatika (i = 0, 1, 2, 3).Definiáljuk a G′ = (VN , VT , S,H

′) grammatikát úgy, hogy P−1 −→ Q−1

akkor és csak akkor legyen H ′-beli szabály, ha P −→ Q H-beli szabály. Adefiníciókat és i = 3 esetben a 36.7. Tételt is használva kapjuk, hogy G′ is itípusú grammatika. Látható, hogy a

P1PP2 =⇒G P1QP2

közvetlen levezetés pontosan akkor létezik, ha a

(P1PP2)−1 = P−12 P−1P−1

1 =⇒G′ P−12 Q−1P−1

1 = (P1QP2)−1

közvetlen levezetés is létezik. Ennek alapján nem nehéz belátni, hogy L =L(G) akkor és csak akkor, ha L−1 = L(G′). �

Tetszőleges G = (VN , VT , S,H) grammatika esetén az A −→ B (A,B ∈VN) alakú szabályt láncszabálynak vagy átnevezésnek nevezzük. Ha H-bannincsenek láncszabályok, akkor azt mondjuk, hogy G láncszabálymentes. .

36.9 Lemma Minden G = (VN , VT , S,H) környezetfüggetlen [jobb lineáris,bal lineáris, lineáris] grammatikához megadható olyan G′ = (VN , VT , S,H

′)láncszabálymentes környezetfüggetlen [jobb lineáris, bal lineáris, lineáris]grammatika, amelyre L(G′) = L(G).

Bizonyítás. Megkonstruáljuk a H ′ halmazt. Legyen minden X ∈ VN vál-tozóra NX azon Y ∈ VN változók halmaza, amelyekre az X =⇒∗G Y leve-zetés közben csak láncszabályokat alkalmazunk. (Mivel X =⇒∗G X, ezértX ∈ NX .) Ezután minden X ∈ VN , Y ∈ NX és H-beli Y −→ P (P /∈ NX)szabály esetén tekintsük az X −→ P szabályt, s legyen H ′ ezeknek a sza-bályoknak a halmaza. H ′-ben nincsenek láncszabályok és tartalmaz mindenolyan H-beli szabályt, amelyik nem láncszabály. Ha G jobb lineáris [ballineáris, lineáris], akkor G′ is az.

Legyen p ∈ L(G), azaz p ∈ V ∗T és S −→∗G p. Ha a levezetés közben nemalkalmazunk láncszabályt, akkor p ∈ L(G′). Ha a levezetés közben alkal-mazunk láncszabályt, akkor, a levezetés definíciója miatt, egymás után csakvéges számú lépésben tehetjük meg. Ilyenkor, ha az X változóból indulunk

292

Page 293: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ki, s elérjük az Y változót, akkor utána egy Y −→ Q nem láncszabályt kell al-kalmazni, mert különben nem érhetnénk el egy terminális szót. Ekkor viszontteljesül, hogy Y ∈ NX , ezért X −→ Q H ′-beli szabály. Minden X-ből indulóés Q-ban végződő H-beli levezetés helyettesíthető azzal a H ′-beli levezetés-sel, amelyben csak az X −→ Q szabályt alkalmazzuk. Megfordítva, mindenG′-beli levezetésben alkalmazott szabály H-ban van, vagy helyettesíthető H-beli láncszabályok sorozatának és egy nem láncszabálynak az alkalmazásával.Ez azt jelenti, hogy L(G′) = L(G). �

A bizonyításban szereplő NX (X ∈ VN) halmaz egyszerűen megkonstru-álható a következő iterációval:

N0 = {X}, Nk+1 = Nk ∪ {C ∈ VN ;∃(B ∈ Nk)(B −→ C ∈ H)}.

Ha a k-adik lépésben Nk+1 = Nk, akkor NX = Nk.

36.10 Tétel Bármely G = (VN , VT , S,H) láncszabálymentes 3 típusú gram-matikához van olyanG′ = (V ′N , VT , S,H

′) 3 típusú grammatika, hogy L(G′) =L(G) és minden H ′-beli szabály X −→ xY vagy X −→ e alakú, aholX, Y ∈ VN és x ∈ VT .

Bizonyítás. Az X −→ xY vagy X −→ e (X, Y ∈ VN , x ∈ VT ) alakú H-beli szabályok halmazát jelölje H1. (H1 lehet az üres halmaz is.) Jelölje V ′Tazon terminális betűk halmazát, amelyek előfordulnak a H −H1 halmazbanlévő szabályok jobb oldalán. Ha H − H1 = ∅, akkor G maga is egy kivánttulajdonságú grammatika. Legyen H−H1 6= ∅ és ϕ a V ′T halmaznak bijektívleképezése egy olyan V halmazra, amelyre V ∩(VN ∪VT ) = ∅. Az egyszerűségkedvéért, ha z ∈ V ′T , akkor legyen ϕ(z) = Z. Minden H-beli

X −→ x1x2 . . . xkY (X, Y ∈ VN , x1, x2, . . . , xk ∈ V ′T , k > 1)

szabály esetén alkossuk meg az

(36.6) X −→ x1X1, X1 −→ x2X2, . . . , Xk−1 −→ xkY

szabályokat. Minden H-beli

X −→ x1x2 . . . xk, (x1, x2, . . . , xk ∈ V ′T , k ≥ 1)

szabály esetén pedig az

(36.7) X −→ x1X1, X1 −→ x2X2, . . . , Xk−1 −→ xkXk, Xk −→ e

293

Page 294: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szabályokat. Jelöljük a (36.6) és (36.7) alakú szabályok halmazát H2-vel.Legyen V ′N = VN ∪ V és H ′ = H1 ∪ H2. A G′ = (V ′N , VT , S,H

′) kivánttulajdonságú grammatika. Nem nehéz belátni, hogy L(G′) = L(G). �

A 36.7. Tétel bizonyítása szerint az is igaz, hogy láncszabálymentes jobblineáris G = (VN , VT , S,H) grammatikához van olyan G′ = (V ′N , VT , S,H

′)bal lineáris grammatika, hogy L(G′) = L(G) és minden H ′-beli szabályX −→ Y x vagy X −→ e alakú, ahol X, Y ∈ VN és x ∈ VT .

Feladatok36.1. Minden véges nyelv 3 típusú.36.2. Bármely U véges ábécé esetén az ∅ üres nyelv és az U∗ univerzális nyelv 3típusú.36.3. Adjunk meg olyan grammatikát, amely az {x, y} ábécé feletti L = {xkyk; k ∈N} nyelvet generálja.36.4. Az {x, y} ábécé feletti L = {xkyxyl; k, l ≥ 0} nyelv lineáris.

37. Környezetfüggetlen nyelvekMint már említettük a programozási nyelvek szintaxisának pontos matemati-kai megadására alkalmasak a generatív grammatikák. Ehhez azonban általá-ban elegendőek a környezetfüggetlen (speciálisan a reguláris) grammatikák.Ezért ebben a fejezetben a környezetfüggetlen grammatikákat és nyelveketvizsgáljuk egy kissé részletesebben.

37.1. Chomsky normálforma

A 36. fejezetben már beszéltünk arról, hogy a definíciókból nem következiknyilvánvalóan, hogy környezetfüggetlen nyelvek L2 halmaza részhalmaza akörnyezetfüggő nyelvek L1 halmazának. Ennek az az oka, hogy nem mindenkörnyezetfüggetlen (2 típusú) grammatika környezetfüggő (1 típusú). Mostmegmutatjuk, hogy ennek ellenére L2 ⊆ L1. Ehhez bevezetjük a következőfogalmat:

A G = (VN , VT , S,H) környezetfüggetlen grammatikát e-mentesnek ne-vezzük, nevezzük, ha H nem tartalmaz X −→ e (X ∈ VN) alakú szabályokat,kivéve esetleg az S −→ e szabályt. Ha azonban H tartalmazza az S −→ eszabályt, akkor S nem szerepel egyetlen H-beli szabály jobb oldalán sem. Ezazt jelenti, hogy minden e-mentes környezetfüggetlen grammatika környezet-függő. Az e-mentes környezetfüggetlen grammatikát szigorúan e-mentesnek

294

Page 295: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

mondjuk, ha nem tartalmazza az S −→ e szabályt. (Ebben az esetben ter-mészetesen lehetnek olyan szabályok, amelyek jobb oldalán S szerepel.)

Az e-mentes környezetfüggetlen grammatikákban az S −→ e szabály sze-repeltetése nem játszik lényeges szerepet. Ez csupán azt jelenti, hogy a gram-matika által generált nyelv tartalmazza az e üres szót.

37.1 Lemma Bármely G = (VN , VT , S,H) környezetfüggetlen grammatiká-hoz van olyan G′ = (V ′N , VT , S

′, H ′) e-mentes környezetfüggetlen grammatika,amelyre L(G′) = L(G).

Bizonyítás. A G környezetfüggetlen grammatikához konstruálunk egy szi-gorúan e-mentes G1 = (VN , VT , S,H1) környezetfüggetlen grammatikát a kö-vetkező módon. Definiáljuk először a

V1 = {X ∈ VN ;X −→ e ∈ H},

és minden i pozitív egész számra

Vi+1 = Vi ∪ {X ∈ VN ;X −→ P ∈ H,P ∈ V ∗i }

halmazokat. A definícióból látható, hogy

V1 ⊆ . . . Vi ⊆ Vi+1 · · · ⊆ VN .

Mivel VN véges, ezért van olyan k pozitív egész szám, hogy Vk = Vk+j mindenj pozitív egész számra. Jelöljük Vk-t röviden V -vel. Az X =⇒∗G e levezetésakkor és csak akkor teljesül, ha X ∈ V . (Tehát e ∈ L(G) akkor és csak akkor,ha S ∈ V .)

Szerkesszük meg H1-et a következő módon: Minden X −→ P (P 6= e)H-beli szabály legyen H1-ben is. Ezenkívül vegyük be H1-be az öszes olyanX −→ Q (Q 6= e) szabályt, amelyet az előbbi X −→ P (P 6= e) szabályokbólkaphatók úgy, hogy P -ből elhagyunk V -beli elemeket.

Ekkor egyrészt L(G1) ⊆ L(G)− e. Ha ugyanis veszünk egy G1-beli leve-zetést, akkor abban minden olyan X −→ Q szabály alkalmazása, amely nincsH-ban, helyettesíthető azon X −→ P H-beli szabály alkalmazásával, amely-ből X −→ Q keletkezett és azon változók e-re való levezetésével, amelyeketP -ből elhagytunk.

A fordított tartalmazás pedig azért igaz, mert, ha alkalmazunk egyX −→P H-beli szabályt, majd P -ből egy e-től különböző szót vezetünk le úgy, hogyugyanakkor a P -ben szereplő bizonyos változókból az e-t vezetjük le, akkorX −→ P szabály helyettesíthető egy olyan X −→ Q H1-beli szabállyal,amelyben Q-t P -ből az előbbi változók elhagyásával kapjuk.

295

Page 296: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Eszerint L(G1) = L(G) − e. Ha tehát e /∈ L(G), akkor G′ = G1. Hae ∈ L(G), akkor legyen G′ = (V ′N , VT , S

′, H ′), ahol S ′ /∈ VN egy új mondat-szimbólum, V ′N = VN ∪ S ′ és H ′ = H1 ∪ {S ′ −→ e, S ′ −→ S}. �

A 37.1. Lemmából nyilvánvalóan adódik, hogy L2 ⊆ L1.A 37.1. Lemma bizonyításából egyszerű eljárás adódik környezetfügget-

len grammatikával ekvivalens e-mentes környezetfüggetlen grammatika meg-konstruálására. Lássunk erre egy példát!

37.2 Példa Legyenek VN = {S,X, Y, Z}, VT = {x, y} és a H-beli szabályok:

S −→ XY Z, X −→ Y Y, X −→ e,

Y −→ ZZ, Y −→ x, Z −→ XX, Z −→ y.

Megadunk a G = (VN , VT , S,H) környezetfüggetlen grammatikával ekviva-lens e-mentes környezetfüggetlen grammatikát.

A 37.1. Lemma bizonyításában leírt módon először meghatározzuk azonnemterminálisok V halmazát, amelyekből levezethető e :

V1 = {X}, V2 = {X,Z}, V3 = {X, Y, Z}, V = V4 = {S,X, Y, Z}.

(Mellesleg e ∈ L(G), mivel S ∈ V .) A H1-beli szabályok:

S −→ XY Z, S −→ XY, S −→ Y Z, S −→ XZ, S −→ X,

S −→ Y, S −→ Z, X −→ Y Y, X −→ Y, Y −→ ZZ,

Y −→ Z, Y −→ x, Z −→ XX, Z −→ X, Z −→ y.

A G1 = (VN , VT , S,H1) grammatikára L(G1) = L(G)−e. A G-vel ekvivalense-mentes környezetfüggetlen grammatikát úgy kapjuk, hogy G1 szabályaihozhozzávesszük még az S ′ új mondatszimbólumot és az S ′ −→ S, S ′ −→ eszabályokat.

Egy G = (VN , VT , S,H) grammatikáról azt mondjuk, hogy Chomskynormálformában van megadva, ha minden H-beli szabály X −→ x vagyX −→ Y Z alakú, ahol X, Y, Z ∈ VN és x ∈ VT .

Minden Chomsky normálformában megadott grammatika szigorúan e-mentes környezetfüggetlen grammatika.

37.3 Tétel Bármely G = (VN , VT , S,H) szigorúan e-mentes környezetfüg-getlen grammatikához van vele ekvivalens Chomsky normálformában meg-adott G′ = (V ′N , VT , S,H

′) grammatika.

296

Page 297: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen G = (VN , VT , S,H) szigorúan e-mentes környezetfüg-getlen grammatika. A 36.2. Lemma szerint feltehető, hogy G standard, azaza terminálisok csak X −→ x (X ∈ VN , x ∈ VT ) alakú szabályokban fordulnakelő. A 36.9. Lemma szerint még az is elérhető, hogy ez a standard gramma-tika láncszabálymentes legyen, azaz nem tartalmaz X −→ Y (X, Y ∈ VN)szabályokat. Ez azt jelenti, hogy H csak következő alakú szabályokat tartal-mazhat:

X −→ x, Y −→ Y1Y2 . . . Yk (k ≥ 2),

ahol X, Y, Y1, Y2, . . . Yk ∈ VN , x ∈ VT . Megszerkesztjük H ′-t. TartalmazzaH ′ az Y −→ Y1Y2 . . . Yk (k ≥ 3) H-beli szabályok kivételével a többi H-beli szabályt. Tekintsük most azokat az Y −→ Y1Y2 . . . Yk szabályokat (havannak ilyenek), amelyekre k ≥ 3. Egy ilyen szabályt helyettesíthetjük az

Y −→ Y1Z1, Z1 −→ Y2Z2, . . . , Zk−2 −→ Yk−1Yk

szabályok halmazával, ahol Z1, Z2, . . . , Zk−2 /∈ VN ∪ VT újonnan bevezetettnemterminálisok. Ezeket az utóbbi szabályokat is vegyük be H ′-be, s le-gyen V ′N a VN és az előbbi módon bevezetett új nemterminálisok halmazánakegyesítése. Ilyen módon valóban olyan Chomsky normálformában megadottG′ = (V ′N , VT , S,H

′) grammatikát kapunk, amely ekvivalens G-vel. �A 37.2. Példa megoldásában szereplő G1 = (VN , VT , S,H1) szigorúan

e-mentes környezetfüggetlen grammatikához, a 37.3. Tétel bizonyítása alap-ján, úgy kapunk vele ekvivalens Chomsky normálformában megadott gram-matikát, hogy bevezetünk még egy új Z1 nemterminálist és az S −→ XY Zszabályt kicseréljük az S −→ XZ1, Z1 −→ Y Z szabályokra.

Ha az e-mentes környezetfüggetlenG = (VN , VT , S,H) grammatika tartal-mazza az S −→ e szabályt, akkor az S −→ e szabály törlésével belőle kapottszigorúan e-mentes grammatika környezetfüggetlen. (Ebből a 37.1. Lemmabizonyítása szerint az is következik, hogy ha egy L nyelv környezetfüggetlen,akkor az L − e nyelv is az.) A 37.3. Tétel szerint, ez a szigorúan e-mentesgrammatika vele ekvivalens Chomsky normálformára hozható. Ezután újravisszaírva az S −→ e szabályt, G-vel ekvivalens e-mentes környezetfüggetlengrammatikát kapunk, amelyben a helyettesítési szabályok az S −→ e sza-bályon kívül X −→ x vagy X −→ Y Z alakú, ahol X, Y, Z ∈ VN − S ésx ∈ VT .

Már említettük, hogy egy programozási nyelv szintaxisának leírására al-kalmasak a generatív grammatikák. A gyakorlatban fontos feladat annakeldöntése, hogy a felhasználó által megírt p ∈ V ∗T program megfelel-e a Ggrammatikával megadott szintaktikai előírásoknak, azaz a grammatika sza-bályainak, hiszen csak ebben az esetben fogadja el és hajtja végre a programot

297

Page 298: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a számítógép. Ez éppen annak eldöntését jelenti, hogy p ∈ L(G) teljesül-e.Ezek után nem kell hangsúllyoznunk a következő definíció fontosságát.

Egy U ábécé feletti L nyelvet rekurzívnak nevezünk U felett, ha bármelyp ∈ U∗ szórol algoritmikusan eldönthető, hogy benne van-e L-ben. Nyilván-való, hogy rekurzív nyelv komplementere is rekurzív. Nyelvek egy osztályátrekurzívnak nevezzük, ha minden eleme rekurzív. Megmutatjuk, hogy a kör-nyezetfüggetlen nyelvek osztálya rekurzív.

A generatív grammatikák ún. szintaktikus elemzésének alapfeladata olyanalgoritmusok keresesése, amelyek ezt a kérdést eldöntik. A következő tételbizonyításából egy ilyen (nem túl hatékony) eljárás adódik. A későbbiekbenazt is megmutatjuk, hogy a tétel környezetfüggő nyelvekre is igaz, mondat-szerkezetű nyelvekre általában azonban nem. Fülöp Zoltán [20] egyetemijegyzete nagyon jó bevezetést nyújt a grammatikák szintaktikus elemzésébe.Mi azonban a szintaktikus elemzéssel nem foglalkozunk.

37.4 Tétel Minden környezetfüggetlen nyelv rekurzív.

Bizonyítás. Legyen G = (VN , VT , S,H) környezetfüggetlen grammatika ésp ∈ V ∗T . A 37.1. Lemma szerint feltehetjük, hogy G e-mentes. Ha p = e,akkor legfeljebb |H| lépésben eldönthető, hogy e ∈ L(G) vagy e /∈ L(G).(Azt kell megnézni, hogy S −→ e H-beli szabály-e vagy nem.) Ezért atovábbiakban feltehetjük, hogy p 6= e. A 37.3. Tétel szerint feltehetjük,hogy G Chomsky normálformában megadott szigorúan e-mentes környezet-független grammatika. Ha p ∈ L(G), akkor létezik egy S =⇒∗G p levezetés.Tegyük fel, hogy a levezetés k(≥ 1) lépésből áll. Pontosan |p| lépésbenkell alkalmazni X −→ x (X ∈ VN , x ∈ VT ) alakú szabályt és k − |p| lé-pésben X −→ Y Z (X, Y, Z ∈ VN) alakú szabályt. Az utóbbi lépésekkelmindig eggyel növekszik a nemterminálisok száma, ezért |p| = k − |p| + 1,azaz k = 2|p| − 1. Ebből következik, hogy adott p ∈ V +

T esetén elegendőaz 2|p| − 1 hosszúságú S =⇒∗G P levezetéseket megadni, beleértve azokatis amelyek nem vezetnek terminális szavakhoz, s megvizsgálni, hogy van-eolyan P , hogy P = p. Mivel véges számú ilyen levezetés van, ezért p 6= eesetben is algoritmikusan eldönthető, hogy p ∈ L(G) vagy p /∈ L(G). �

A bizonyítás egy érdekes adaléka, hogy Chomsky normálformában meg-adott grammatikában az általa generált nyelv minden eleme páratlan számúlépéssel vezethető le.

A környezetfüggetlen grammatikák esetén minden levezetés ábrázolhatóegy irányított fa, az ún. levezetési fa vagy a levezetés fája segítségével. A le-vezetési fa csúcspontjai a levezetésben szereplő jeleknek felelnek meg. A gráfélei úgy vannak irányítva, hogy a terminális jeleknek megfelelő csúcspontok-ból nem indul ki él, míg a változóknak megfelelő csúcspontokból legalább

298

Page 299: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

egy él indul ki. Az egy csúcspontból kiinduló élek annak a helyettesítési sza-bálynak az alkalmazását jelzik, amelynek bal oldalán élek közös kiindulásipontjában található változó áll, a jobb oldalán pedig az élek végpontjaibantalálható jelek sorozata, az egyes éleket balról jobbra véve sorra.

Tegyük fel például, hogy a G = ({S,X, Y }, {x, y, z}, S,H) grammatikaaz

S −→ XY z, X −→ Xy, X −→ xY, Y −→ xyz

szabályokat tartalmazza. Ebben a grammatikában megadható az

S =⇒ XY z =⇒ XyY z =⇒ Xy2Y z =⇒

=⇒ xY y2Y z =⇒ x2yzy2Y z =⇒ x2yzy2xyz2

levezetés, amelynek levezetési fája a 10. ábrán látható irányított gráf.

S

?

HHHHHHj

�������

X Y z

?

@@@R

���?

���X y x y z

?

���X y

?

���x Y

?

@@@R

���x y z

10. ábra.

Az x2yzy2xyz2 szót a levezetési fa végpontjaiban lévő terminálisok balróljobbra való leolvasásával kapjuk.

299

Page 300: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

37.2. Bar-Hillel lemma

A következő lemma alapvető jelentőségű a környezetfüggetlen nyelvek elmé-letében. A lemmát (a környezetfüggetlen nyelvekre vonatkozó) pumpáló lem-mának is szokták nevezni.

37.5 Lemma (Bar-Hillel lemma) Ha L környezetfüggetlen nyelv U felett,akkor vannak olyan (L-től függő) k és n pozitív egész számok, hogy ha p ∈ Lés |p| > k, akkor p előállítható p = ruvwt (r, t, u, v, w ∈ U∗) alakban, ahol|uvw| ≤ n, uw 6= e és minden m nemnegatív egész számra rumvwmt ∈ L.

Bizonyítás. Tegyük fel, hogy a G = (VN , VT , S,H) 2 típusú grammatikagenerálja az L környezetfüggetlen nyelvet, azaz L = L(G). A 37.1. Lemmaszerint feltehetjük, hogy G e-mentes. Sőt azt is feltehetjük, hogy G szigorúane-mentes, mert L pontosan akkor környezetfüggetlen, ha L−e is az, s mindkétnyelvhez választhatók ugyanazok a lemmában szereplő k és n pozitív egészszámok. A 37.3. Tétel szerint G-t megadhatjuk Chomsky normálformában.

Ha egy p ∈ L szónak a levezetése olyan levezetési fával ábrázolható,amelyben a leghosszabb út j hosszúságú, akkor a Chomsky normálformamiatt |p| ≤ 2j. Tegyük fel, hogy |VN | = l. Ha |p| > 2l, akkor az S =⇒∗ plevezetés fájában a leghosszabb útnak l-nél hosszabbnak kell lenni. Vegyükennek az útnak az utolsó l + 1 hosszúságú szakaszát. Van olyan X ∈ VNváltozó, amely ezen a szakaszon legalább kétszer előfordul. Vegyük ennek anemterminálisnak két ilyen előfordulását. Ezek közül az S mondatszimbó-lumhoz közelebb eső X-hez tartozó részfa végpontjainak megfelelő szó legyenq(∈ V ∗T ), a másik X-hez tartozó részfa végpontjainak megfelelő szó pedig le-gyen v(∈ V ∗T ). Ezekre nyilván X =⇒∗ q és X =⇒∗ v teljesül, továbbá qtartalmazza részszóként v-t, azaz q = uvw(u,w ∈ V ∗T ).

Megmutatjuk, hogy uw 6= e. Mivel G-t Chomsky normálformában adtukmeg és X-nek az S =⇒∗ p levezetésben lévő két előfordulásáról van szó, ezértaz X =⇒∗ uXw levezetés első lépése csak X =⇒ Y Z (Y, Z ∈ VN) lehet. DeG szigorúan e-mentes, ezért uw 6= e.

Emellett természetesen p = rqt is teljesül valamilyen r, t(∈ V ∗T ) szavak-ra. Az X változó megválasztása miatt |q| ≤ 2l+1. Másrészt S =⇒∗ rXtés X =⇒∗ uXw is fennáll, ezért tetszőleges m ≥ 0 egész számra S =⇒∗rumvwmt. Ez azt jelenti, hogy a lemma állítása k = 2l és n = 2l+1 pozitívegész számokkal teljesül. �

A Bar-Hillel lemma azt mondja ki, hogy egy végtelen környezetfüggetlennyelvben minden elég hosszú szóhoz végtelen sok "hasonló szerkezetű szó"van. A lemma bizonyításából az is következik, hogy ha egy véges L nyel-vet a Chomsky normálformában megadott G = (VN , VT , S,H) grammatikagenerálja és |VN | = l, akkor az L-beli szavak hossza legfeljebb 2l. Ugyanis,

300

Page 301: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ha p ∈ L és |p| > 2l, akkor a pumpáló lemma szerint L végtelen. A lemmasegítségével megmutatjuk a (36.4) Chomsky hierarchiában a második valóditartalmazás helyességét.

37.6 Tétel L2 ⊂ L1.

Bizonyítás. A tétel igazolásához megadunk egy olyan környezetfüggő nyel-vet, amelyik nem környezetfüggetlen.

Megmutatjuk, hogy az U = {a, b, c} ábécé feletti L = {ajbjcj; j ∈ N}nyelv nem környezetfüggetlen. Indirekt bizonyítást végzünk. Tegyük fel,hogy L környezetfüggetlen. Akkor vannak olyan k, n pozitív egész számok,hogy minden k-nál hosszabb L-beli p szóra, így a p = akbkck szóra is,teljesülnek a Bar-Hillel lemma feltételei. Azaz a p = akbkck szó felírhatóp = ruvwt (r, t, u, v, w ∈ U∗) alakban, ahol |uvw| ≤ n, uw 6= e és mindenm nemnegatív egész számra rumvwmt ∈ L. Vizsgáljuk meg, hogyan helyez-kednek el a u és w szavak p-ben. Megállapíthatjuk, hogy u és hasonlóan wsem tartalmazhat különböző betűket, mert akkor az rumvwmt ∈ L (m ≥ 2)szó nem írható ajbjcj alakban. Tehát mind u mind w legfeljebb egy fajtabetűt tartalmaz. Ez viszont ellentmondáshoz vezet, mert akkor m-et növelverumvwmt ∈ L szavakban legalább egy fajta betű száma nem növekszik.

Most azt mutatjuk meg, hogy az L nyelvet generálja az az 1 típusúG = (VN , U, S,H) grammatika, amelyben VN = {S,X, Y, Z1, Z2} és a H-beli szabályok a következők:

S −→ abc, S −→ aXbc,

Xb −→ XZ1, XZ1 −→ Z1Z1, Z1Z1 −→ Z1X, Z1X −→ bX,

bY −→ Z2Y, Z2Y −→ Z2Z2, Z2Z2 −→ Y Z2, Y Z2 −→ Y b,

Xc −→ Y bcc, aY −→ aaX, aY −→ aa.

Mivel S −→ abc, ezért abc ∈ L(G). Ezután azt látjuk be, hogy minden jpozitív egész számra

S =⇒∗G ajXbjcj.

Minthogy S −→ aXbc, ezért j = 1 esetben az állítás igaz. Ha valamilyenpozitív egész j-re S =⇒∗G ajXbjcj, akkor csak az

Xb −→ XZ1, XZ1 −→ Z1Z1, Z1Z1 −→ Z1X, Z1X −→ bX

szabályokat alkalmazhatjuk ebben a sorrendben j-szer. Utána csak Xc −→Y bcc helyettesítést végezhetjük el, majd a

bY −→ Z2Y, Z2Y −→ Z2Z2, Z2Z2 −→ Y Z2, Y Z2 −→ Y b

301

Page 302: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

helyettesítéseket ebben a sorrendben j-szer. Így

S =⇒∗G ajY bj+1cj+1

levezetést kapjuk. Ezután két lehetőség között választhatunk. Vagy befejez-zük a levezetést az aY −→ aa helyettesítéssel:

S =⇒∗G aj+1bj+1cj+1.

Vagy pedig folytatjuk az aY −→ aaX helyettesítéssel:

S =⇒∗G aj+1Xbj+1cj+1.

Az S-ből csakis ezek a mondatformák vezethetők le. Ebből már könnyenbelátható, hogy L = L(G), azaz környezetfüggő, s így L2 ⊂ L1. �

Az előbbi bizonyításban szereplő L nyelvet generálja az egyszerűbb 0 tí-pusú G′ = (V ′N , U, S,H

′) is, amelyben V ′N = {S,X, Y } és a H ′-beli szabályok:

S −→ abc, S −→ aXbc, Xb −→ bX, bY −→ Y b,

Xc −→ Y bcc, aY −→ aaX, aY −→ aa.

Ez a grammatika azonban nem környezetfüggő. A 38. fejezetben kapunkmajd választ arra, hogy milyen 0 típusú grammatikákhoz van ekvivalens 1típusú grammatika.

37.7 Következmény Egyelemű ábécé feletti környezetfüggetlen nyelvek re-gulárisak.

Bizonyítás. Legyen az {x} ábécé feletti L nyelv környezetfüggetlen. Felte-hetjük ,hogy e /∈ L. Ha ugyanis az L nyelv reguláris, akkor az L+ e = L+∅∗nyelv is az, hiszen reguláris nyelvek összege is reguláris. Mivel minden végesnyelv reguláris, ezért azt is feltehetjük, hogy az L nyelv végtelen.

Legyenek k és n a környezetfüggetlen nyelvekre vonatkozó pumpáló lem-mában szereplő L-től függő pozitív egész számok. A pumpáló lemma szerintminden j > k esetén, ha xj ∈ L, akkor van olyan 1 ≤ m ≤ n, hogy mindenl ≥ 0 egész számra xj+lm ∈ L is teljesül. Legyen 1 ≤ m1 < m2 < · · · <mt ≤ n az összes ilyen m. Ebből adódik, hogy t ≤ n. Mivel L végtelen, ezért1 ≤ t. Legyenek továbbá

L0 = {xj ∈ L; 0 < j ≤ k},

Ls = {xj ∈ L; j > k, xj+lms ∈ L, l ≥ 0}, s = 1, 2, . . . , t.

Nyilvánvaló, hogy L =∑t

s=0 Ls. Tehát elegendő megmutatni, hogy minden0 ≤ s ≤ t esetén az Ls nyelv reguláris. Az L0 nyelv véges, ezért reguláris.

302

Page 303: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Minden xj ∈ Ls (s ≥ 1) esetén van olyan l ≥ 0 és 0 ≤ ds ≤ ms − 1, hogyj = lms + ds. Adott ds-hez jelöljük js-sel a legkisebb ilyen j kitevőt. Ha

0 ≤ ds,1 < ds,2 < · · · < ds,r ≤ ms − 1, és js,1, js,2, . . . , js,r

az összes előbbi módon definiált ds ill. js, akkor

Ls =r∑

v=1

{xjs,v+lms ; l ≥ 0} =r∑

v=1

xjs,v(xms)∗,

azaz reguláris, amiből adódik, hogy L is reguláris. �A későbbiekben megmutatjuk, hogy legalább kételemű véges ábécékre a

37.7. Következmény már nem igaz.A 36.6. Tétel szerint a környezetfüggetlen nyelvek osztálya zárt a reguláris

műveletekre. Ez azonban nem igaz a Boole műveletekre.

37.8 Tétel A környezetfüggetlen nyelvek osztálya nem zárt a metszetre ésa komplementerképzésre.

Bizonyítás. Legyenek L1 = {akbkcn; k, n ∈ N} és L2 = {akbncn; k, n ∈ N}U = {a, b, c} feletti nyelvek. Megmutatjuk, hogy L1 és L2 környezetfüggetlen.Legyen VN = {S,X, Y } és

H1 = {S −→ XY, X −→ aXb, X −→ e, Y −→ cY, Y −→ e},

H2 = {S −→ XY, Y −→ bY c, Y −→ e, X −→ Xa, X −→ e}.

Nyilvánvaló, hogy a Gi = (VN , U, S,Hj) (i = 1, 2) környezetfüggetlen gram-matika generálja az Li nyelvet. Azonban, mint azt a 37.6. Tétel bizonyítá-sában láttuk, az

L1 ∩ L2 = {ajbjcj; j ∈ N}

nyelv nem környezetfüggetlen.Ebből már az is következik, hogy a környezetfüggetlen nyelvek osztálya a

komplementerképzésre sem zárt. A De Morgan azonosságok szerint ugyanis

L1 ∩ L2 = L1 ∪ L2

írható bármely két nyelvre. Amiből látható, hogy ha a környezetfüggetlennyelvek osztálya zárt volna komplementerképzésre, akkor a metszetre is zártlenne, ami az előbbiek miatt lehetetlen. �

37.9 Tétel Bármely környezetfüggetlen grammatikáról algoritmikusan el-dönthető, hogy az általa generált nyelv üres, véges vagy végtelen.

303

Page 304: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A 37.1. Lemma szerint elegendő e-mentes környezetfüggetlengrammatikákat vizsgálni.

Először megmutatjuk, hogyan dönthető el algoritmikusan, hogy egy G =(VN , VT , S,H) környezetfüggetlen grammatika által generált L = L(G) nyelvüres vagy nem. Ha H tartalmazza az S −→ e szabályt, akkor e ∈ L, sígy a nyelv nemüres. Ezért a továbbiakban feltehetjük, hogy G szigorú-an e-mentes. A 37.3. Tétel szerint G megadható Chomsky normálformában.Legyen |VN | = l. Ha egy levezetés fájában van olyan S-ből kiinduló út, amelyhossza nagyobb, mint l, akkor ennek az útnak a mentén nem szerepelhet csu-pa különböző nemterminális, mint azt a Bar-Hillel lemma bizonyításában márláttuk. Vagyis van olyan X ∈ VN nemterminális, amely legalább kétszer elő-fordul ennek az útnak a mentén. Tekintsük most X-nek ezen az úton az S-tőllegtávolabbra eső előfordulását. Vegyük a levezetés fájának azt a részfáját,amelynek ez az X gyökere. Ha ezzel a részfával helyettesítjük azt a részfát,amelynek gyökere egy S-hez ezen az úton közelebb eső X, akkor az előbbiút hossza az adott két előfordulás közötti távolsággal lerövidül. Másrésztnyilvánvaló, hogy az így nyert fa is egy, az adott grammatikában lehetségeslevezetés fája. Tehát a G grammatikában bármely S =⇒∗ p (p ∈ V ∗T ) leveze-téshez található olyan S =⇒∗ q (q ∈ V ∗T ) levezetés, amelynek fája nem tartal-maz l-nél hosszabb utat. Ezért annak eldöntéséhez, hogy üres-e az L nyelv,elegendő olyan levezetéseket megvizsgálni, amelynek fájában a leghosszabbút legfeljebb l hosszúságú. Mindazon fák T halmazát, amelyek eleget tesznekennek a korlátozásnak a például következő algoritmussal kaphatjuk meg:Az egyetlen S csúcspontból álló fát felvesszük T -be.Minden olyan fát felveszünk T -be, amely egyetlen H-beli szabály alkalmazá-sával nyerhető egy már előzőleg a T -be felvett fából, kivéve, ha a leghosszabbútja l-nél hosszabb.

Bármely grammatikához csak véges sok ilyen fa van, így az eljárás végessok lépésben befejeződik. Most már csak azt kell megvizsgálnunk, hogy van-e T -ben olyan fa, amelynek minden végpontjában terminális jel szerepel.Ha nincs ilyen, akkor az adott grammatikában egyetlen terminális szó semvezethető le, azaz L = ∅.

A Bar-Hillel lemma segítségével el tudjuk dönteni, hogy az L nyelv végesvagy végtelen. A lemmában szereplő k és n pozitív egész számok megadásaután csak azt kell eldöntenünk, hogy van-e az L nyelvben k-nál hosszabb,de legfeljebb k+ n hosszúságú szó, amilyen szó nyilvánvalóan csak véges soklehet. Tegyük fel ugyanis, hogy az L végtelen, de csak k-nál nem hosszabbvagy k + n-nél hosszabb szavak vannak L-ben. Mivel L végtelen, van olyanp ∈ L, hogy |p| > k+n. Legyen p a (k+n)-nél hosszabb L-beli szavak közülegy legkisebb hosszúságú szó. A Bar-Hillel lemma szerint p = ruvwt, |uvw| ≤n, uw 6= e és minden m nemnegatív egész számra rumvwmt ∈ L. Ha m = 0,

304

Page 305: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

akkor k < |rvt| < |p| és rvt ∈ L. Ez azonban ellentmondás, mivel feltevésünkmiatt |rvt| ≤ k. �

37.3. Felesleges szimbólumok kiküszöbölése

A környezetfüggetlen grammatika definíciója megenged olyan szimbólumokatis, amely a grammatika által generálható nyelv meghatározásához feleslege-sek. Ezeket a szimbólumokat célszerű kiküszöbölni. Először foglalkozzunk anemterminális szimbólumokkal. Legyen G = (VN , VT , S,H) egy környezet-független grammatika. Az X változóról azt mondjuk, hogy termináló, ha vanolyan p ∈ V ∗T , amelyre X =⇒∗ p. A definícióból következik, hogy L(G) = ∅akkor és csak akkor, ha S nem termináló.

37.10 Lemma Legyen G = (VN , VT , S,H) egy környezetfüggetlen [jobb li-neáris] grammatika. Ha L(G) 6= ∅, akkor megadható olyan G-vel ekvivalensG1 = (V, VT , S,H1) környezetfüggetlen grammatika [jobb lineáris], amelybenV a VN -beli termináló váltózók halmaza.

Bizonyítás. Először meghatározzuk a VN -beli termináló változók V halma-zát. Legyen

V1 = {X ∈ VN ; ∃(p ∈ V ∗T )(X −→ p ∈ H)},

és minden i pozitív egész számra

Vi+1 = Vi ∪ {X ∈ VN ; ∃(P ∈ (Vi ∪ VT )∗)(X −→ P ∈ H)}.

A definícióból belátható, hogy

V1 ⊆ . . . Vi ⊆ Vi+1 · · · ⊆ VN .

Mivel VN véges, ezért van olyan k pozitív egész szám, hogy Vk = Vk+j mindenj pozitív egész számra. Jelöljük ezt a Vk-t V -vel. Az X =⇒∗G p levezetésakkor és csak akkor teljesül, ha X ∈ V . (Tehát p ∈ L(G) akkor és csakakkor, ha S ∈ V .) A konstrukcióból világos, hogy X ∈ VN akkor és csakakkor termináló, ha X ∈ V . (Mivel L(G) 6= ∅, ezért S ∈ V .)

ÁlljonH1 azonH-beli szabályokból, amelyek nem tartalmaznak (VN−V )-beli változókat. Azt kell még igazolni, hogy L(G) = L(G1). Mivel H1 ⊆ H,ezért L(G1) ⊆ L(G). Megfordítva, ha p ∈ L(G), azaz S =⇒∗G p, akkor alevezetés valamennyi lépésében szereplő változó termináló, tehát valamennyilépésben szereplő H-beli szabály benne van H1-ben is. Így p ∈ L(G1), azazL(G) ⊆ L(G1). �

A következőkben a nem elérhető változókat szűrjük ki. Az X ∈ VN vál-tozót elérhetőnek nevezzük, ha vannak olyan P,Q ∈ (VN ∪ VT )∗ szavak,

305

Page 306: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amelyekre S =⇒∗ PXQ, azaz ha X előfordul valamelyik mondatformában.A definícióból következik, hogy S mindig elérhető.

37.11 Lemma Bármely G = (VN , VT , S,H) egy környezetfüggetlen [jobb li-neáris] grammatikához megadható olyan vele ekvivalens G′ = (W,VT , S,H

′)környezetfüggetlen [jobb lineáris] grammatika, amelyben W a (VN -beli) elér-hető változók halmaza.

Bizonyítás. Először megadjuk a (VN -beli) elérhető szimbólumok W halma-zát. Legyen W0 = {S} és minden i nemnegatív egész számra

Wi+1 = Wi ∪ {X ∈ VN ;∃(Y ∈ Wi, P,Q ∈ (VN ∪ VT )∗)(Y −→ PXQ ∈ H)}.

Nyilvánvaló, hogyW0 ⊆ . . .Wi ⊆ Wi+1 · · · ⊆ VN .

Mivel VN véges, ezért van olyan k nemnegatív egész szám, hogy Wk = Wk+j

minden j pozitív egész számra. Jelöljük ezt a Wk-t W -vel. Az A konstruk-cióból következik, hogy X ∈ VN akkor és csak akkor elérhető, ha X ∈ W .

Most megadjuk a G′ grammatikát. Álljon H ′ azon H-beli szabályokból,amelyek nem tartalmaznak (VN − W )-beli szimbólumokat. Mivel S ∈ W ,ezért W 6= ∅.

Meg kell még mutatni, hogy L(G) = L(G′). Mivel H ′ ⊆ H, ezért szük-ségképpen L(G′) ⊆ L(G). Megmutatjuk, hogy L(G) ⊆ L(G′). Ha L(G) = ∅,akkor ez nyilvánvalóan teljesül. Tegyük fel, hogy L(G) 6= ∅. Ha p ∈ L(G),azaz S =⇒∗G p, akkor a levezetés valamennyi lépésében szereplő változó elér-hető, tehát valamennyi lépésben szereplő H-beli szabály H ′-beli szabály is.Tehát p ∈ L(G′), vagyis L(G) ⊆ L(G′). �

Legyen G = {VN , VT , S,H} környezetfüggetlen grammatika és L(G) 6=∅. A G grammatikát redukáltnak nevezzük, ha minden változója szerepellegalább egy S =⇒∗G p (p ∈ V ∗T ) levezetésben. Nyilvánvaló, hogy G pontosanakkor redukált, ha minden változója termináló és elérhető. Egy változóról aztmondjuk, hogy felesleges, ha nem szerepel legalább egy S =⇒∗G p (p ∈ V ∗T )levezetésben sem, vagyis ha nem termináló vagy nem elérhető.

Ha G = {VN , VT , S,H} környezetfüggetlen grammatika és L(G) = ∅,vagyis S nem termináló, akkor a G = {{S}, VT , S, ∅} grammatikát nevezzükredukáltnak.

A 37.10. és a 37.11. Lemmákat alkalmazva a következő tétel bizonyí-tásában egy algoritmust adunk meg a felesleges változók törlésére. Ezt kétlépésben érjük el. Először a nem termináló változókat hagyjuk el.

37.12 Tétel Bármely G = (VN , VT , S,H) környezetfüggetlen [jobb lineáris]grammatikához megadható ekvivalens redukált G′ = (V ′N , VT , S,H

′) környe-zetfüggetlen [jobb lineáris] grammatika.

306

Page 307: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Ha L(G) = ∅, akkor G′ = {{S}, VT , S, ∅}. Ha L(G) 6= ∅, akkormegadjuk a 37.10. Lemma alapján a G1 = (V, VT , S,H1) grammatikát, majdalkalmazzukG helyettG1-re a 37.11. Lemmát, akkor L(G) = L(G1) = L(G′).

Nem nehéz megmutatni, hogy G′ redukált. Legyen ugyanis X ∈ W . Ezazt jelenti, hogy X elérhető változó, azaz vannak olyan P,Q ∈ (W ∪ VT )∗,amelyekre S =⇒∗G PXQ teljesül. Ebből következik, hogy a levezetésbenminden változó elérhető, vagyis a levezetésben alkalmazott minden H-beliszabály benne van H ′-ben is. Tehát S =⇒∗G′ PXQ. Továbbá G1-ben, ezértG′-ben is minden változó termináló, azaz van olyan p ∈ V ∗T , hogy PXQ =⇒∗G′p. Kaptuk, hogy S =⇒∗G′ PXQ =⇒∗G′ p, vagyis X nem felesleges. �

Legyen tetszőleges G = (VN , VT , S,H) grammatika és L(G) 6= ∅. A Ggrammatika x terminálisát feleslegesnek nevezzük, ha V ∗T xV ∗T ∩ L(G) = ∅,vagyis nem szerepel L(G) egyetlen szavában sem. Már az előző fejezetbenemlítettük, hogy ha egy terminális nem szerepel egy G grammatika egyetlenszabályában sem, akkor az L(G) nyelv egyetlen szavában sem fordul elő.Ha G redukált környezetfüggetlen grammatika és egy terminális szerepel Glegalább egy szabályában, akkor előfordul L(G) legalább egy szavában. Ezértezek a felesleges terminálisok könnyen kiküszöbölhetők.

Ha L(G) = ∅, akkor természetesen minden terminális felesleges. Ebben azesetben azonban legalább egy terminálist meg kell hagynunk, mert különbenellentmondásba kerülünk a grammatika definíciójával.

37.13 Példa Legyenek G = (VN , VT , S,H), VN = {S,X, Y, Z}, VT = {x, y}és a H-beli szabályok:

S −→ X, S −→ Y, X −→ xY, X −→ yS, X −→ y,

Y −→ XY, Y −→ Y x, Z −→ XS, Z −→ y.

Konstruáljunk G-vel ekvivalens redukált G′ környezetfüggetlen grammatikát.

A 37.12. Tétel bizonyításában szereplő algoritmust követve, először meg-határozzuk G termináló változóit a 37.10. Lemma bizonyításában megadottmódon. Kapjuk, hogy

V1 = {X,Z}, V2 = {S,X,Z} = V3 = V,

azaz G-ben csak Y nem termináló változó. Azokat a szabályokat hagyjukmeg, amelyekben Y nem szerepel. Így kapjuk a G1 = (V, VT , S,H1) gram-matikát, ahol V = {S,X,Z}, a H1-beli szabályok pedig:

S −→ X, X −→ yS, X −→ y, Z −→ XS, Z −→ y.

307

Page 308: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Most a 37.11. Lemma bizonyítását követve kiszámoljuk G1 elérhető változóit:

W0 = {S}, W1 = {S,X} = W2 = W.

Azokat a szabályokat tartjuk meg, amelyekben Z nem szerepel, azaz G′ =({S,X}, {x, y}, S,H ′), ahol a H ′-beli szabályok:

S −→ X, X −→ yS, X −→ y.

Mivel x nem szerepel egyetlen szabályban sem, ezért törölhető a terminálisábécéből.

37.4. Bal oldali levezetések

Az alábbiakban olyan levezetési eljárást ismertetünk, amely az egyes lépé-sekben a mondatformák elején [végén] álló terminális részszó hosszát nemcsökkenti. Ez a nyelvek és automaták kapcsolatát vizsgálva is fontos leszszámunkra. Kérdés, lehet-e ezt úgy megvalósítani, hogy a mondatformákelején [végén] lévő terminális részszó hossza növekedjen. Ehhez már általá-ban a környezetfüggetlen grammatikát is módosítani kell, hiszen egy

X −→ Y P (X, Y ∈ VN , P ∈ (VN ∪ VT )∗)

alakú szabály alkalmazása a mondatforma elején álló terminális jelek szá-mát nem növeli. Megmutatjuk, hogy szigorúan e-mentes környezetfüggetlennyelvekre a módosítás megoldható úgy, hogy a kapott grammatika ekviva-lens marad az eredeti grammatikával. Környezetfüggetlen nyelvek egy újabbnormálformáját is bevezetjük, ami az eljárást megkönnyíti.

Legyen G = (VN , VT , S,H) tetszőleges környezetfüggetlen grammatika. AP =⇒∗G Q levezetést bal [jobb] oldali levezetésnek nevezzük, s rá a

P =⇒∗G,b Q [P =⇒∗G,j Q]

jelölést használjuk, ha a levezetés minden lépésében a bal [jobb] oldalról azelső nemterminálist helyettesítjük egy rá vonatkozó szabály jobb oldalával.Ebben az esetben azt is mondjuk, hogy Q balról [jobbról ] levezethető P -ből(a G grammatikában). Ha

S =⇒∗G,b Q [S =⇒∗G,j Q],

akkor Q-t (a G grammatikában) balról [jobbról ] levezethetőnek vagy bal [jobb]mondatformának hívjuk.

308

Page 309: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

37.14 Lemma Legyen G = (VN , VT , S,H) tetszőleges környezetfüggetlengrammatika. Ha p ∈ V ∗T levezethető az X ∈ VN nemterminálisból, akkorbalról [jobbról] is levezethető X-ből.

Bizonyítás. A levezetés hossza szerinti teljes indukcióval bizonyítunk. Az1 hosszúságú levezetésekre az állítás nyilvánvaló. Tegyük fel, hogy az n-nélnem hosszabb

Y =⇒∗G q (Y ∈ VN , q ∈ V ∗T )

levezetésekhez létezik Y =⇒∗G,b q bal oldali levezetés. Tegyük fel, hogy az

X =⇒∗G p (X ∈ VN , p ∈ V ∗T )

levezetés n+1 hosszúságú. Mivel G 2 típusú grammatika, ezért az X =⇒∗G plevezetés első lépése

X =⇒ p1X1p2 . . . pkXkpk+1

alakú, ahol

p1, p2, . . . , pk+1 ∈ V ∗T , X1, X2, . . . , Xk ∈ VN , (k ≥ 1).

Ez azt jelenti, hogy léteznek olyan legfeljebb n hosszúságú

Xi =⇒∗G qi (qi ∈ V ∗T , i = 1, 2, . . . , k)

levezetések, hogyp = p1q1p2q2 . . . pkqkpk+1.

Az indukciós feltevés miatt léteznek az

Xi =⇒∗G,b qi (i = 1, 2, . . . , k)

bal oldali levezetések is. Ezeket a levezetéseket sorra alkalmazva az

X =⇒ p1X1p2 . . . pkXkpk+1 =⇒∗G p1q1p2X2 . . . pkXkpk+1 =⇒∗G

=⇒∗G · · · =⇒∗G p1q1p2q2 . . . pkXkpk+1 =⇒∗G p1q1p2q2 . . . pkqkpk+1

levezetésben p-nek X-ből való bal oldali levezetését kapjuk. Hasonlóan bizo-nyítható, hogy p jobbról is levezethető X-ből. �

A 37.14. Lemmából következik, hogy ha egy terminális szó levezethetőegy környezetfüggetlen grammatikában, akkor balról [jobbról] is levezethető.

309

Page 310: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

37.5. Greibach normálforma

A G = (VN , VT , S,H) környezetfüggetlen grammatika X ∈ VN változóját(G-ben) rekurzívnak nevezzük, ha vannak olyan P,Q ∈ (VN ∪VT )∗ (PQ 6= e)szavak, amelyekre X =⇒∗G PXQ levezetés teljesül. Ha P = e [Q = e], akkorazt mondjuk, hogy X (G-ben) balrekurzív [jobbrekurzív ]. Ha G-ben van

X −→ PXQ P,Q ∈ (VN ∪ VT )∗, PQ 6= e

alakú szabály, akkor azt mondjuk, hogy X közvetlenül rekurzív. Hasonlóanbeszélünk közvetlenül balrekurzív [jobbrekurzív ] változóról. A fenti definí-cióból következik, hogy minden közvetlenül [bal, jobb] rekurzív változó [bal,jobb] rekurzív.

37.15 Tétel A szigorúan e-mentes és redukált G = (VN , VT , S,H) környe-zetfüggetlen grammatikára L(G) akkor és csak akkor végtelen, ha G-nek vanrekurzív változója.

Bizonyítás. Legyen X a G grammatika egy rekurzív változója. Akkorvannak olyan P,Q ∈ (VN ∪ VT )∗ (PQ 6= e) szavak, amelyekre X =⇒∗G PXQ.A G grammatika redukált, ezért vannak olyan P ′, Q′ ∈ (VN ∪ VT )∗, hogy

S =⇒∗G P ′XQ′ =⇒∗G p′vq′,

aholP ′ =⇒∗G p′, X =⇒∗G v Q′ =⇒∗G q′ (p′, v, q′ ∈ V ∗T ).

S ígyS =⇒∗G P ′P kXQkQ′ =⇒∗G p′pkvqkq′, (k ∈ N+)

aholP =⇒∗G p, Q =⇒∗G q, (p, q ∈ V ∗T ).

De G szigorúan e-mentes, így pq 6= e. Ez azt jelenti, hogy p′pkvqkq′ ∈ L(G)minden pozitív egész k számra, vagyis L(G) végtelen.

Tegyük fel most, hogy G-nek nincs rekurzív változója. Akkor egy leveze-tés során minden szabály legfeljebb egyszer alkalmazható. Ha |H| = n, akkoraz első lépést S-ből legfeljebb n féleképpen tehető meg. Minden első lépésután legfeljebb (n−1) féleképpen tehető meg a második lépés. Ezt folytatva,nem nehéz belátni, hogy S-ből legfeljebb n! terminális szó vezethető le, azazL(G) véges. �

A tételből következik, hogy rekurzív változóval rendelkező redukált gram-matikával ekvivalens grammatikák is rendelkeznek rekurzív változóval. Eztúgy is mondjuk, hogy grammatikák ekvivalens átalakítása nem szünteti meg

310

Page 311: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a rekurziót. Olyan algoritmus azonban van, amely kiküszöböli a balrekurziót[jobbrekurziót]. Ezt az eljárást használják környezetfüggetlen grammatikákszintaktikus elemzésénél is. Természetesen az átalakított grammatikábannem szűnik meg a rekurzió. Mi most csak olyan algoritmust ismertetünk,amely a közvetlen balrekurziót szünteti meg. Ennek segítségével megadjuk a2 típusú grammatikák egy újabb normálformáját. A balrekurzió megszünte-tésére vonatkozó algoritmust találhatunk például Fülöp Zoltán már emlí-tett [20] egyetemi jegyzetében.

37.16 Lemma Legyen X a G = (VN , VT , S,H) környezetfüggetlen gramma-tika közvetlenül balrekurzív változója, és legyenek az X baloldalú szabályok

X −→ XP1, X −→ XP2, . . . , X −→ XPk,

X −→ Q1, X −→ Q2, . . . , X −→ Ql,

ahol Q1, Q2, . . . , Ql egyike sem kezdődik az X változóval. Legyen továbbáX ′ /∈ VN ∪ VT és V ′N = VN ∪ {X ′}. Az

X −→ XP1, X −→ XP1, . . . , X −→ XPk

szabályokat cseréljük ki a H-ban az

X ′ −→ P1X′, X ′ −→ P2X

′, . . . , X ′ −→ PkX′,

X −→ Q1X′, X −→ Q2X

′, . . . , X −→ QlX′,

X ′ −→ P1, X ′ −→ P2, . . . , X′ −→ Pk

szabályokkal. Ha az így kapott szabályok halmazaH ′ és G′ = (V ′N , VT , S,H′),

akkor L(G) = L(G′) és X nem közvetlenül balrekurzív G′-ben.

Bizonyítás. Az új szabályok definíciójából nyilvánvaló, hogy G′-ben X nemközvetlenül balrekurzív. Megmutatjuk, hogy L(G) = L(G′).

Először azt mutatjuk meg, hogy L(G) ⊆ L(G′). Azok a G-beli levezeté-sek, amelyek nem tartalmazzák X-et G′-ben is elvégezhetők, ezért elegendőolyan levezetéseket tekinteni, amelyekben előfordul az X változó. Ha egyilyen levezetés tartalmazza a lépések

PXQ =⇒G PXPi1Q =⇒G . . . =⇒G PXPim . . . Pi1Q =⇒G PQjPim . . . Pi1Q

sorozatát, ahol

P,Q ∈ (VN ∪ VT )∗, 1 ≤ i1, . . . , im ≤ k, 1 ≤ j ≤ l,

311

Page 312: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

akkor az újonnan bevezetett szabályok segítségével megadható helyette alépések

PXQ =⇒G′ PQjX′Q =⇒G′ PQjPimX

′Q =⇒G′ . . . =⇒G′

=⇒G′ PQjPim . . . Pi2X′Q =⇒G′ PQjPim . . . Pi1Q

sorozata. Ha a levezetésben mindenütt elvégezzük ezeket a helyettesítéseket,akkor egy G′-beli levezetést kapunk, ami azt jelenti, hogy L(G) ⊆ L(G′).

Most megmutatjuk, hogy L(G′) ⊆ L(G). Ekkor is elegendő azokat a leve-zetéseket megvizsgálni, amelyekben X ′ előfordul. Az X ′ változót tartalmazószabályok definíciója miatt X ′ csak úgy lehet egy G′-beli levezetésben, haX is szerepel ebben a levezetésben. Pontosabban, ha egy G′-beli levezetéstartalmazza az X ′ változót, akkor tartalmaz egy

PXQ =⇒G′ PQjX′Q =⇒G′ PQjPi1X

′Q =⇒G′ . . . =⇒G′

=⇒G′ PQjPi1 . . . Pim−1X′Q =⇒G′ PQjPi1 . . . PimQ,

P,Q ∈ (V ′N ∪ VT )∗, 1 ≤ j ≤ l, 1 ≤ i1, . . . , im ≤ k, 1 ≤ m

lépéssorozatot is. Ez helyettesíthető a G-beli

PXQ =⇒G PXPimQ =⇒G . . . =⇒G PXPi1 . . . PimQ =⇒G PQjPi1 . . . PimQ

lépéssorozattal. Ha a levezetésben mindenütt elvégezzük ezeket a helyettesí-téseket, akkor egy G-beli levezetéshez jutunk, azaz L(G′) ⊆ L(G). �

A 37.16. Lemma egy algoritmust ad a redukált 2 típusú grammatikákközvetlen balrekurziójának megszüntetésére. Alkalmazzuk sorra a balrekur-zív változókra a lemmában szereplő helyettesítéseket. Ez annyi új változóbevezetését jelenti, amennyi a balrekurzív változók száma. Az új szabályokdefiníciójából látható, hogy az új változók közvetlenül jobbrekurzív változókaz új grammatikában.

A G = (VN , VT , S,H) környezetfüggetlen grammatikáról azt mondjuk,hogy Greibach normálformában van megadva, ha minden szabálya

X −→ xP (X ∈ VN , x ∈ VT , P ∈ V ∗N)

alakú.Ez a normálforma bizonyos analógiát mutat a 3 típusú grammatikákkal.

Lényeges különbség azonban, hogy P egynél több változóból is állhat. Haugyanis a Greibach normálforma további finomításával elérhető lenne, hogya szabályok jobb oldalán mindig legfeljebb egy változó szerepeljen, akkor ezazt jelentené, hogy az L3 reguláris nyelvosztály megegyezne az L2 környezet-független nyelvosztállyal. Ezt azonban később kimutatjuk, hogy nem igaz. A

312

Page 313: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

definíció alapján könnyen belátható, hogy a Greibach normálformájú gram-matikában nincs balrekurzív változó. Egy Greibach normálformában meg-adott G grammatikában egy p ∈ L(G) szó levezetése pontosan |p| lépésbőláll.

37.17 Példa Tekintsük a Greibach normálformában megadott

G = ({S,X, Y }, {a, b}, S,H)

grammatikát, amelynek a szabályai:

S −→ aY X, X −→ aY, X −→ b, Y −→ b.

A 37.14. Lemma szerint az

S =⇒ aY X =⇒ abX =⇒ abb,

S =⇒ aY X =⇒ abX =⇒ abaY =⇒ abab

bal oldali levezetések mutatják, hogy L(G) = {abb, abab}. Az abb szó leveze-tése 3 lépésből, az abab szó levezetése pedig 4 lépésből áll.

37.18 Tétel Szigorúan e-mentes környezetfüggetlen grammatikához van ve-le ekvivalens Greibach normálformában megadott grammatika.

Bizonyítás. Legyen G = (VN , VT , S,H) szigorúan e-mentes környezetfüg-getlen grammatika. A 37.3. Tétel szerint G megadható Chomsky normálfor-mában. Vezessünk be a VN halmazon egy tetszőleges ≤ rendezést. Legyen

X1 < X2 < · · · < Xn (n = |VN |).

Először olyan átalakításokat végzünk, amellyel elérjük, hogy a szabályok jobboldala terminálissal vagy a bal oldalon lévő változónál nagyobb változóvalkezdődjön. Induljunk ki azokból a szabályokból, amelyek bal oldala X1.Ha X1 nem közvetlenül balrekurzív, akkor ezek a szabályok megfelelnek akövetelményeknek.

Ha X1 közvetlenül balrekurzív, akkor a végezzük el a szabályokban a37.16. Lemma szerinti átalakításokat. A bevezetett új változót jelölje X ′1, éslegyen X ′1 < X1. Így az X ′1 és az X1 bal oldalú szabályok jobb oldala nemkezdődik X2-nél kisebb változóval.

Térjünk át az X2 bal oldalú szabályokra. Az X2 −→ X1Xj alakú szabá-lyokat cseréljük ki az összes X2 −→ PXj alakú szabályra, ahol X1 −→ Palakú szabályok az előző lépések során kapott X1 bal oldalú szabályok. Ezzelelérjük, hogy a kapott szabályok jobb oldala terminálissal vagy X2-nél nem

313

Page 314: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

kisebb változóval kezdődik. Ha így azt kapjuk, hogy X2 közvetlenül balre-kurzív, akkor a végezzük el a szabályokban ismét a 37.16. Lemma szerintiátalakításokat. Legyen az új változó X ′2. Ha X ′1-t definiáltuk, akkor legyenX ′2 < X ′1, ha pedig nem, akkor legyen X ′2 < X1. Így az X ′2 és az X2 baloldalú szabályok jobb oldala nem kezdődik X3-nél kisebb változóval.

Legyen 1 ≤ k ≤ n. Tegyük fel, hogy minden Xk-nál kisebb változóramár teljesül, hogy ha egy szabály bal oldala Xk-nál kisebb változó, akkor aszabály jobb oldala terminálissal vagy ennél a változónál nagyobb változóvalkezdődik. Az Xk −→ XlXj (1 ≤ l < k) alakú szabályokat cseréljük kiaz összes Xk −→ PXj alakú szabályra, ahol Xl −→ P alakú szabályokaz előző lépések során kapott Xl bal oldalú szabályok. Ezzel elérjük, hogy akapott szabályok jobb oldala terminálissal vagy Xk-nál nem kisebb változóvalkezdődik.

Ha Xk közvetlenül balrekurzív, akkor a végezzük el a szabályokban isméta 37.16. Lemma szerinti átalakításokat. Legyen az új változóX ′k ésX ′k legyena legkisebb a változók között. Így az X ′k és az Xk bal oldalú szabályok jobboldala nem kezdődik Xk+1-nél kisebb változóval.

Ha k < n, akkor ebben az esetben is folytatjuk az eljárást Xk+1-gyel. Hak = n, akkor ebben az esetben is a kapott szabályok jobb oldala terminálissalkezdődik. Az eljárás k = n esetben befejeződik. Átalakítottuk a grammatikaszabályait úgy, hogy a szabályok jobb oldala terminálissal vagy a bal oldalonlévő változónál nagyobb változóval kezdődik.

Ezután visszafelé haladunk. Jelöljük az eljárás során kapott új változókhalmazát V -vel. Az Xn−1 baloldalú szabályok Xn−1 −→ xP vagy Xn−1 −→XnQ alakúak, ahol x ∈ VT és P,Q ∈ (VN ∪ V )∗. Az Xn−1 −→ XnQ sza-bályokat cseréljük ki az Xn−1 −→ xRQ alakú szabályok összességével, aholxRQ-t egy Xn −→ xR (x ∈ VT , R ∈ (VN ∪ V )∗) helyettesítéssel kaptuk.

Ha már minden n−k < l (1 ≤ k ≤ n−1) esetén azXl bal oldalú szabályokXl −→ xP (x ∈ VT , R ∈ (VN∪V )∗) alakúak, akkor vegyük azXn−k bal oldalúszabályokat. Ezek Xn−k −→ yP vagy Xn−k −→ XlQ alakúak, ahol n−k < l,y ∈ VT és P,Q ∈ (VN ∪ V )∗. Az Xn−k −→ XlQ alakú szabályokat cseréljükki az Xn−k −→ xPQ szabályok összességére.

Legyen az így kapott szabályok halmaza H ′. A G′ = (VN ∪ V, VT , S,H ′)grammatika Greibach normálformájú. A 37.16. Lemmát is felhasználva, nemnehéz meggyőződni arról, hogy minden lépésben ekvivalens átalakításokathajtottunk végre. Ez azt jelenti, hogy L(G) = L(G′). �

A Greibach normálforma segítségével egy eljárást kapunk a balrekurziómegszüntetésére. A 37.1. Lemma bizonyításában látott módon tetszőle-ges környezetfüggetlen grammatikához megszerkeszthetünk egy ekvivalense-mentes környezetfüggetlen grammatikát. A 37.12. Tétel alapján ez re-dukálttá tehető. Ha a kapott grammatika tartalmazza az S −→ e szabályt,

314

Page 315: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

akkor ezt a szabályt törölve egy szigorúan e-mentes és redukált környezetfüg-getlen grammatikát kapunk. A 37.18. Tétel bizonyításában látott módon ezGreibach normálformára hozható. Az esetleg törölt S −→ e szabályt vissza-írva az eredeti grammatikával ekvivalens grammatikát kapunk, amely nemtartalmaz balrekurzív változót.

37.19 Példa Tekintsük a Chomsky normálformában megadott

G = ({S,X, Y }, {a, b}, S,H)

grammatikát, amelynek a szabályai:

S −→ XY, X −→ SY, Y −→ Y Y, X −→ a, Y −→ b.

A 37.18. Tétel bizonyításában közölt algoritmussal megadunk egy vele ek-vivalens Greibach normálformájú garmmatikát. (Nem nehéz belátni, hogyL(G) = ab+.)

Vezessük be az S < X < Y rendezést. (A rendezés megadása tetszőleges.Más rendezés esetén általában más, de ekvivalens Greibach normálformátkapunk.) Az

S −→ XY

szabály S-nél nagyobb változóval kezdődik, ezért áttérhetünk az

X −→ SY, X −→ a

szabályokra. Az X −→ SY szabály helyett tekintsük az X −→ XY Y sza-bályt. Az X változó balrekurzív, ezért elvégezzük a 37.16. Lemma szerintiátalakításokat, vagyis az X −→ XY Y szabály helyett az

X ′ −→ Y Y X ′, X ′ −→ Y Y, X −→ aX ′

szabályokat tekintjük, ahol X ′ egy új változó. Tegyük fel, hogy X ′ < S.Most áttérhetünk az

Y −→ Y Y, Y −→ b

szabályokra. Az Y változó is balrekurzív, így a 37.16. Lemma alapján aY −→ Y Y szabály helyett tekintsük az

Y ′ −→ Y Y ′, Y ′ −→ Y, Y −→ bY ′

szabályokat, ahol Y ′ ismét egy új változó. Legyen Y ′ < X ′.

315

Page 316: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az eljárás eddigi alkalmazásával a következő szabályokhoz jutottunk aváltozók megadott rendezésével fordított sorrendben:

Y −→ bY ′, Y −→ b,

X −→ aX ′, X −→ a,

S −→ XY,

X ′ −→ Y Y X ′, X ′ −→ Y Y,

Y ′ −→ Y Y ′, Y ′ −→ Y.

Az eljárás szerint az Y és az X baloldalú szabályok megfelelnek a köve-telményeknek. Az S −→ XY szabály helyett tekintsük az

S −→ aX ′Y, S −→ aY

szabályokat. (Végezzük el a szabály jobb oldalán az első változóban az X baloldalú szabályokkal a helyettesítést.) Ha az X ′ és Y ′ bal oldalú szabályokjobb oldalán is elvégezzük az első változóban a lehetséges helyettesítéseket,akkor a G-vel ekvivalens G′ = ({S,X, Y,X ′, Y ′}, {a, b}, S,H ′) Greibach nor-málformában megadott grammatikához jutunk, amelynek H ′-beli szabályai:

Y −→ bY ′, Y −→ b,

X −→ aX ′, X −→ a,

S −→ aX ′Y, S −→ aY,

X ′ −→ bY ′Y X ′, X ′ −→ bY ′Y, X ′ −→ bY X ′, X ′ −→ bY,

Y ′ −→ bY ′Y ′, Y ′ −→ bY ′, Y ′ −→ b.

37.6. Reguláris környezetfüggetlen nyelvek

A 37.19. Példában szereplő ab+ nyelv reguláris. A nyelv generálható azegyszerűbb Greibach normálformában megadott G = ({S,X}, {a, b}, S,H)reguláris grammatikával is, amelynek a szabályai:

S −→ aX, X −→ bX, X −→ b.

Most egy szükséges és elegendő feltételt adunk arra, hogy egy környezetfüg-getlen nyelv mikor reguláris.

316

Page 317: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Egy G = (VN , VT , S,H) környezetfüggetlen grammatikát önbeágyazónaknevezünk, ha van olyan X ∈ VN rekurzív nemterminálisa, amely nem balre-kurzív és nem jobbrekurzív, azaz

X =⇒∗G PXQ

teljesül valamilyen P,Q ∈ (VN ∪VT )+ nemüres szavakra. Az L környezetfüg-getlen nyelvet önbeágyazónak mondjuk, ha minden olyan környezetfüggetlengrammatika, amely L-et generálja önbeágyazó.

37.20 Tétel Egy környezetfüggetlen nyelv akkor és csak akkor reguláris, hanem önbeágyazó.

Bizonyítás. A reguláris grammatikák definícójából következik, hogy nincsenönbeágyazó reguláris grammatika. Ezért minden reguláris nyelv generálhatónem önbeágyazó környezetfüggetlen grammatikával.

Megfordítva, legyen a G = (VN , VT , S,H) környezetfüggetlen gramma-tika nem önbeágyazó. Ha L(G) = ∅ vagy L(G) = e, akkor van G-velekvivalens reguláris grammatika. (Például tetszőleges VT 6= ∅ teminálisábécé esetén a G = ({S}, VT , S, {S −→ S}) reguláris grammatika ∅-t, aG = ({S}, VT , S, {S −→ e}) reguláris grammatika pedig e-t generálja.) Ezértfeltehetjük, hogy L(G) 6= ∅, e A 37.12. Tétel szerint azt is feltehetjük, hogyG redukált. Így minden X ∈ VN változó elérhető, azaz létezik egy

S =⇒∗G V XW, V,W ∈ (VN ∪ VT )∗

alakú levezetés. Először tegyük fel, hogy minden Y ∈ VN változóhoz van

Y =⇒∗G RST R, T ∈ (VN ∪ VT )∗

alakú levezetés. Nevezzük el ezeket a grammatikákat elsőfajúaknak. Meg-mutatjuk, hogy minden elsőfajú grammatika reguláris. Azok a szabályok,amelyek jobb oldala nem csupán terminális jeleket tartalmaz,

X −→ PY Q X, Y ∈ VN , P,Q ∈ (VN ∪ VT )∗

alakúak. Ha P 6= e és Q 6= e, akkor

X =⇒G PY Q =⇒∗G PRSTQ =⇒∗G PRV XWTQ,

ami ellentétben áll azzal, hogy G nem önbeágyazó. Ha H-ban vannak

X1 −→ PY1, X2 −→ Y2Q, X1, X2, Y1, Y2 ∈ VN , P,Q ∈ (VN ∪ VT )+

317

Page 318: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

alakú szabályok, akkor

X1 =⇒G PY1 =⇒∗G PR1ST1 =⇒∗G PR1V2X2W2T1 =⇒∗G

=⇒∗G PR1V2Y2QW2T1 =⇒∗G PR1V2R2ST2QW2T1 =⇒∗G=⇒∗G PR1V2R2V1X1W1T2QW2T1,

ami szintén ellentétes azzal, hogy G nem önbeágyazó.Tegyük fel, hogy minden H-beli szabály, amely jobb oldalán nem csupán

terminálist tartalmaz,

X −→ PY X, Y ∈ VN , P ∈ (VN ∪ VT )∗

alakú. Tartalmazzon P legalább egy Z ∈ VN nemterminálist. A P szó

P = P1ZP2, P1, P2 ∈ (VN ∪ VT )∗, P1 6= e

alakú nem lehet, mert akkor a szabály X −→ PY = P1ZP2Y alakú, aholP1 6= e és P2Y 6= e, és már bebizonyítottuk, hogy H ilyen alakú szabálytnem tartalmazhat. Ha P = ZQ (Q ∈ (VN ∪ VT )∗), akkor

X =⇒G PY = ZQY =⇒∗G ASBQRST =⇒∗G

=⇒∗G AVXWBQRVXWT =⇒∗G AV PYWBQRV PYWT =⇒∗G=⇒∗G AV PRSTWBQRPYWT =⇒∗G AV PRV XWTWBQRPYWT,

ami ismét lehetetlen. azaz P ∈ V ∗T . Hasonlóan látható be, hogy ha mindena H-beli szabály, amely jobb oldalán nem csupán terminálist tartalmaz,

X −→ Y Q X, Y ∈ VN , Q ∈ (VN ∪ VT )∗

alakú, akkor Q ∈ V ∗T . Tehát G jobb vagy bal lineáris grammatika, ami a 36.7Tétel szerint azt jelenti, hogy reguláris.

Ezek után, az elsőfajú grammatikák felhasználásával a nemterminálisok|VN | = n száma szerinti teljes indukcióval bebizonyítjuk, hogy minden nemönbeágyazó környezetfüggetlen G = (VN , VT , S,H) grammatikához van veleekvivalens reguláris grammatika. Ha n = 1, akkor VN = {S}. Definíciószerint S =⇒∗G S, ezért a G elsőfajú, s így reguláris. Tegyük fel, hogy nnemterminálist tartalmazó grammatikákra az állítás igaz. Legyen |VN | =n + 1. Ha G elsőfajú, akkor nyilván reguláris. Tegyük fel, hogy G nemelsőfajú. Akkor tartalmaz olyan A ∈ VN nemterminálist, amelyre A =⇒∗GPSQ levezetés semmilyen P,Q ∈ (VN ∪ VT )∗ mellett sem teljesül. (A = Snem lehetséges, hiszen definíció szerint S =⇒∗G S.) Tekintsük a

G1 = (VN − S, VT , A,H1)

318

Page 319: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

grammatikát, amelyben H1-et úgy kapjuk H-ból, hogy elhagyjuk belőle azo-kat a szabályokat, amelyekben S előfordul. Vegyük továbbá a

G2 = (VN − A, VT ∪ A, S,H2)

grammatikát, amelyben H2-t úgy kapjuk H-ból, hogy elhagyjuk belőle azo-kat a szabályokat, amelyek bal oldalán A szerepel. (Tehát ebben az esetbenA-t terminálisnak tekintjük.) Mivel H1, H2 ⊂ H, ezért G1 és G2 egyike semönbeágyazó. Az indukciós feltevés szerint mind a két grammatika reguláris.Léteznek tehát olyan G′ = (V ′N , VT , S

′, H ′) és G′′ = (V ′′N , VT ∪ A, S ′′, H ′′)reguláris grammatikák, amelyekre L(G1) = L(G′) ill. L(G2) = L(G′′). Felte-hetjük továbbá, hogy V ′N ∩ V ′′N = ∅. Vegyük most a

G = (V ′N ∪ V ′′N ∪ A, VT , S ′′, H ′ ∪H ′′ ∪ {A −→ S ′})

grammatikát. Nyilvánvalóan G is reguláris. Megmutatjuk, hogy L(G) =L(G). Ha ugyanis p ∈ L(G), akkor vagy p ∈ L(G2) = L(G′′), vagy azS =⇒∗G p levezetésben valahol előfordul A. Mindkét esetben p ∈ L(G).Megfordítva, ha p ∈ L(G), akkor az S ′′ =⇒∗

Gp levezetésben vagy csak H ′′-

beli szabályokat alkalmazunk, vagy legalább egyszer alkalmazzuk az A −→ S ′

szabályt. Az első esetben p ∈ L(G′′) ∩ V ∗T ⊂ L(G), a második esetben aszabályok alkalmazásának sorrendjét mindig megválaszthatjuk úgy, mindenH ′′-beli szabály alkalmazása megelőzze minden H ′-beli szabály alkalmazását.Eszerint a kérdéses levezetés

S ′′ =⇒∗Gp1Ap2A . . . pk−1Apk =⇒∗

Gp1q1p2q2 . . . pk−1qk−1pk = p

alakban írható, ahol pj, qj ∈ V ∗T . Amellett nyilván

p1Ap2A . . . pk−1Apk ∈ L(G2), qj ∈ L(G1),

amiből p ∈ L(G) következik. �

37.7. Homomorf jellemzés

A továbbiakban megmutatjuk, hogy minden környezetfüggetlen nyelv elő-állítható egy reguláris nyelv és egy speciális környezetfüggetlen nyelv közösrészének homomorf képeként. Ezt úgy is mondjuk, hogy minden 2 típusúnyelv homomorfan jellemezhető (karakterizálható) egy reguláris nyelv és egyspeciális 2 típusú nyelv közös részével.

Tekintsük a G = ({S}, Vn, S,H) környezetfüggetlen grammatikát, ahol

Vn = {a1, a′1, a2, a

′2, . . . , an, a

′n} (n ≥ 1)

319

Page 320: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

és a H-beli szabályok

S −→ e, S −→ SS, S −→ aiSa′i (i = 1, 2, . . . n).

A Dn = L(G) nyelvet a (Vn ábécé feletti) Dyck nyelvnek nevezzük. Dn

azokból a szavakból áll, amelyekben sorra törölve az aia′i alakú részszavakat,végül az üres szót kapjuk. Ha p, q ∈ Dn, akkor pq ∈ Dn, vagyis Dn a V ∗nszabad monoid részmonoidja. Nem nehéz belátni, hogy ha p ∈ Dn, akkorminden a, a′ ∈ V esetén apa′ ∈ Vn. Továbbá minden Dn-beli p 6= e szófelírható p = ap1a

′p2 (a, a′ ∈ V, p1, p2 ∈ Dn) alakban. Ha aa′q ∈ Dn (a, a′ ∈V ), akkor q ∈ Dn. Ha ai és a′i (i = 1, 2, . . . , n) az egymásnak megfelelőkülönböző bal és jobb oldali zárójeleket jelöli, akkor azt is mondhatjuk, hogyDn a korrekt zárójelezések nyelve.

37.21 Tétel Minden környezetfüggetlen nyelv homomorf képe egy regulárisnyelv és egy Dyck nyelv közös részének.

Bizonyítás. Legyen L egy környezetfüggetlen nyelv. Ha e ∈ L és L − e =ϕ(D ∩R), ahol R egy reguláris nyelv, D egy Dyck nyelv, ϕ egy homomorfiz-mus, akkor L = ϕ(D∩ (R∪ e)) Következésképpen feltehetjük, hogy e /∈ L. A37.1. Lemma és a 37.3. Tétel szerint így azt is feltehetjük, hogy ha L = L(G),akkor a G = (VN , VT , S,H) grammatika Chomsky normálformában van meg-adva.

Legyen VT = {a1, a2, . . . , an}, s legyenek a terminálisokat nem tartalmazószabályok az

Xi −→ YiZi (i = 1, 2, . . . , k)

szabályok. (Természetesen az Xi, Yi, Zi változók között lehetnek egyenlők is.)Vezessük be az

an+1, . . . , an+k, a′1, . . . , a

′n, a

′n+1, . . . , a

′n+k /∈ VN ∪ VT

új terminálisokat és tekintsük a

Vn+k = {a1, a′1, a2, a

′2, . . . , an+k, a

′n+k}

ábécét. (Az an+i jeleket bal zárójeleknek, az a′n+i jeleket pedig jobb záróje-leknek is nevezzük.) Legyen Dn+k a Vn+k ábécé feletti Dyck nyelv. Defini-áljuk a ϕ : Vn+k → VT leképezést a következő módon:

ϕ(ai) = ai (i = 1, 2, . . . , n),

ϕ(ai) = ϕ(a′j) = e (i = n+ 1, . . . , n+ k, j = 1, 2, . . . , n+ k).

320

Page 321: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Terjesszük ki ϕ-t V ∗n+k-nak V ∗T -ra való monoid-homomorfizmusává. Jelölje akiterjesztést ugyancsak ϕ.

Végül tekintsük a G1 = (VN , Vn+k, S,H1) grammatika által generált Rnyelvet, ahol

H1 = {X −→ aa′;X −→ a ∈ H}∪

∪{X −→ aa′a′n+iZi;X −→ a ∈ H, i = 1, 2, . . . , k}∪

∪{Xi −→ an+iYi;Xi −→ YiZi ∈ H, i = 1, 2, . . . , k}.

Az R = L(G1) nyelv nyilvánvalóan reguláris.Megmutatjuk, hogy L = ϕ(Dn+k ∩ R). Először belátjuk, hogy L ⊆

ϕ(Dn+k ∩ R). Ehhez elegendő megmutatni, hogy ha p ∈ L és valamelyX ∈ VN változóra X =⇒∗G p, akkor van olyan q ∈ Dn+k ∩ R, amelyreϕ(q) = p és X =⇒∗G1

q. Ezt a levezetés t hossza szerinti teljes indukcióvalmutatjuk meg. A 37.14. Lemma szerint feltehetjük, hogy a levezetések baloldali levezetések.

Ha t = 1, akkor X −→ p ∈ H és p ∈ VT . Következésképpen X −→ pp′ ∈H1. Így pp′ ∈ Dn+k ∩R és

ϕ(pp′) = ϕ(p)ϕ(p′) = pe = p.

Tegyük fel, hogy minden t-nél nem hosszabb levezetésre igaz az állítás.Legyen az X =⇒∗G,b p levezetés t+ 1 hosszúságú. Mivel G Chomsky normál-formában van megadva, ezért a levezetés első lépése egy Xi −→ YiZi (1 ≤i ≤ k) szabály alkalmazása, ahol Xi = X. Ebből következik, hogy p = p1p2

ésYi =⇒∗G,b p1, Zi =⇒∗G,b p2

t-nél nem hosszabb levezetések. Az indukciós feltevés miatt vannak olyanq1, q2 ∈ Dn+k ∩R, amelyekre

ϕ(q1) = p1, Yi =⇒∗G1,bq1, ϕ(q2) = p2, Zi =⇒∗G1,b

q2.

Mivel X −→ YiZi ∈ H, ezért X −→ am+iYi ∈ H1. Következésképpen

X =⇒G1,b an+iYi =⇒∗G1,ban+iq1a

′n+iZi =⇒∗G1,b

an+iq1a′n+iq2.

(Az Yi =⇒∗G1,bq1 bal oldali levezetés utolsó lépésében egy Y −→ aa′ típusú

szabályt kell alkalmazni. Az előbbi levezetésben ehelyett az Y −→ aa′Ziszabályt alkalmaztuk.) Minthogy q1, q2 ∈ Dn+k ∩ R, így an+iq1a

′n+iq2 ∈

Dn+k ∩R és

ϕ(an+iq1a′n+iq2) = ϕ(an+i)ϕ(q1)ϕ(a′n+i)ϕ(q2) = ep1ep2 = p1p2 = p.

321

Page 322: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az ϕ(Dn+k ∩R) ⊆ L fordított tartalmazás bizonyításához elegendő meg-mutatni, hogy ha q ∈ Dn+k ∩ R és valamely X ∈ VN változóra X =⇒∗G1,b

q,akkor X =⇒∗G,b ϕ(q). Ezt is a levezetés t hossza szerinti teljes indukcióvalmutatjuk meg.

Ha t = 1, akkor q = aa′ (a ∈ VT ). Ebből X −→ a = ϕ(q) ∈ H, s ígyX =⇒G ϕ(q).

Tegyük fel, hogy minden t-nél nem hosszabb levezetésre igaz az állítás.Legyen q ∈ Dn+k ∩ R és az X =⇒∗G1,b

q levezetés t + 1 hosszúságú. Mivelt + 1 ≥ 2, ezért a levezetés első lépése nem lehet egy X −→ aa′ szabályalkalmazása. Megmutatjuk, hogy az első lépésként egy X −→ aa′a′n+iZiszabályt sem alkalmazhatunk. Ha ugyanis ilyen szabályt alkalmazunk, akkor

X =⇒G1,b aa′a′n+iZi =⇒∗G1,b

aa′a′n+ir = q,

ahol r ∈ V ∗n+k és Zi =⇒∗G1,br egy t hosszúságú levezetés. A feltevés miatt

q = aa′a′n+ir ∈ Dn+k, amiből a′n+ir ∈ Dn+k. Ez azonban lehetetlen. (A tételelőtti Dyck nyelvekre vonatkozó megjegyzések szerint.) Tehát

X =⇒G1,b an+iYi =⇒∗G1,ban+ir = q,

ahol r ∈ V ∗n+k és Yi =⇒G1,b r egy t hosszúságú levezetés. (Az első lépésbőlkövetkezik, hogy X −→ YiZi egy H-beli szabály.) Mivel q = an+ir ∈ Dn+k,ezért felírható q = an+iq1a

′n+iq2 (q1, q2 ∈ Dn+k) alakban. Ebből r = q1a

′n+iq2.

ÍgyYi =⇒∗G1,b

sY =⇒G1,b saa′a′n+iZi =⇒∗G1,b

q1a′n+iq2 = r,

ahol Y −→ aa′an+iZi H1-beli szabályban a és a′ ugyanaz, mint az

Yi =⇒∗G1,bsY =⇒G1,b saa

′ = q1

levezetésben szereplő Y −→ aa′ H1-beli szabályban. Továbbá Zi =⇒∗G1,bq2.

Mivel az Yi =⇒∗G1,bq1 és a Zi =⇒∗G1,b

q2 levezetések hossza legfeljebb t, ezértaz indukciós feltevés szerint

Yi =⇒∗G,b ϕ(q1), Zi =⇒∗G,b ϕ(q2).

Innen

X =⇒G,b YiZi =⇒∗G,b ϕ(q1)ϕ(q2) = ϕ(an+iq1a′n+iq2) = ϕ(q).�

A 37.20. Tétel bizonyításában megadott Vn+k ábécé és így a Dn+k Dycknyelv függ a G grammatikától, s ezért az L nyelvtől is. Azonban könnyenmódosítható úgy a bizonyítás, hogy a Dyck nyelv csak egyedül a VT terminálisábécétől függjön. Ehhez elegendő a

V ′T = {a1, a′1, . . . , an, a

′n, b, b

′, c, c′}

322

Page 323: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ábécét tekinteni Vn+k helyett. Az an+i "bal zárójelet" helyettesítsük bcib-vel,az an+i "jobb zárójelet" pedig b′(c′)ib′-vel. Ebből megkapjuk a 37.20. Tételegy erősebb változatát:

37.22 Tétel Minden VT ábécéhez és a 2|VT | + 4 elemű V ′T ábécé feletti DDyck nyelvhez létezik a (V ′T )∗-nek egy ϕ monoid-homomorf leképezése V ∗T -ra,amelyre minden VT feletti L környezetfüggetlen nyelvhez megadható olyanV ′T feletti R reguláris nyelv, hogy L = ϕ(D ∩R). �

37.8. Környezetfüggetlen kifejezések

A 35. fejezetben megmutattuk, hogy a reguláris nyelvek reguláris kifejezések-kel is megadhatók. Az iteráció műveletéhez hasonló tulajdonságú egyváltozósműveletek bevezetésével elérhető, hogy a környezetfüggetlen nyelvek is meg-adhatók legyenek a reguláris kifejezésekhez hasonló ún. környezetfüggetlenkifejezésekkel.

Legyen u ∈ U , valamint L és M tetszőleges nyelvek az U ábécé felett.Az M nyelvnek az L nyelvbe való u-helyettesítésén azt az U feletti nyelvetértjük, amely azokból és csak azokból a

q = p1q1p2q2 . . . pkqkpk+1 pj, ql ∈ U∗

szavakból áll, amelyekre

p = p1up2u . . . pkupk+1 ∈ L, q1, q2, . . . , qk ∈M,

és az u betű nem fordul elő a p1, p2, . . . , pk+1 szavak egyikében sem. Azu-helyettesítés egy kétváltozós művelet a P (U∗) halmazon. Jelöljük ezt aműveletet ◦u-val, s az M nyelvnek az L nyelvbe való helyettesítését L ◦uM -mel. A definícióból látható, hogy minden u ∈ U betűre a ◦u műveletasszociatív.

A ◦u művelet segítségével bevezetjük egy tetszőleges U feletti L nyelv◦nu(L) u-hatványát minden n pozitív egész kitevőre az

◦1u(L) = L, ◦n+1

u (L) = (◦nu(L)) ◦u L

összefüggésekkel.Végül az L nyelv u-iteráltján a nyelvek iteráltja fogalmának analógiájára

azt az Lu nyelvet értjük, amely a

infty∑n=1

◦nu(L)

323

Page 324: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

nyelvnek azokat a szavait tartalmazza, amelyekben u nem fordul elő. Ez egyegyváltozós műveletet definiál P (U∗)-on, amelyet u-iterációnak nevezzük.

A nyelvek összeadásának, szorzásának és u-iterációjának segíségével be-vezetjük az (U feletti) környezetfüggetlen kifejezés fogalmát a következő re-kurzív definícióval:1. Az U ábécé elemei, továbbá az ∅ és e legyenek környezetfüggetlen kifeje-zések.2. Ha L és M környezetfüggetlen kifejezések, akkor L+M, LM, Lu (u ∈ U)is környezetfüggetlen kifejezések.3. Minden U feletti környezetfüggetlen kifejezés előáll az 1. alatti kifejezé-sekből a 2. lépés véges számú alkalmazásával.

A reguláris kifejezésekhez hasonlóan minden környezetfüggetlen kifejezésegyértelműen előállít egy U feletti nyelvet. Igaz a következő állítás.

37.23 Tétel Egy V ábécé feletti nyelv akkor és csak akkor környezetfüg-getlen, ha előállítható valamilyen U(⊇ V ) ábécé feletti környezetfüggetlenkifejezéssel.

Bizonyítás. Először a környezefüggetlen nyelveket generáló 2 típusú gram-matikák nemterminális szimbólumainak n száma szerinti teljes indukcióvalmegmutatjuk, hogy minden V feletti környezetfüggetlen nyelv előállíthatóvalamilyen U(⊇ V ) feletti környezetfüggetlen kifejezéssel. Mivel definíciószerint ∅ és e környezetfüggetlen kifejezések, ezért a 37.12. Tétel szerintelegendő megmutatni, hogy ha a V feletti L környezetfüggetlen nyelv gene-rálható a 2 típusú redukált grammatikával, akkor L előállítható egy VN ∪ Vábécé feletti környezetfüggetlen kifejezéssel.

Legyen L olyan V feletti környezetfüggetlen nyelv, amely generálható azegyetlen nemterminálist tartalmazó G = ({S}, V, S,H) 2 típusú redukáltgrammatikával. Legyenek

(37.1) p1, p2, . . . , pk ∈ (V ∪ {S})∗

azok a szavak halmaza, amelyek a H-beli szabályok jobb oldalain fellépnek.Nyilvánvaló, hogy a

(37.2) (k∑j=1

pj)S

környezetfüggetlen kifejezés az L nyelvet állítja elő. Ezzel az állítást n = 1esetre bebizonyítottuk.

Tegyük fel ezután, hogy minden legfeljebb n nemterminálist tartalmazó2 típusú grammatikára igaz az állítás.

324

Page 325: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen L olyan környezetfüggetlen nyelv, amely generálható egy n + 1nemterminálist tartalmazó 2 típusú G = (VN , V, S,H) grammatikával, aholVN = {S,A1, . . . , An}. Minden 1 ≤ j ≤ n esetén vegyük azt a

(37.3) Gj = (VN − S, V ∪ {S}, Aj, H ′)

grammatikát, amelyben H ′-t úgy kapjuk H-ból, hogy minden olyan szabálytelhagyunk belőle, amelynek a bal oldalán S van. Nyilvánvaló, hogy a Gj

grammatikák is 2 típusúak. Az indukciós feltevés miatt az Lj = L(Gj) (j =1, 2, . . . n) nyelvek előállíthatók a (VN − {S})∪ V ábécé feletti környezetfüg-getlen kifejezésekkel.

Tekintsük a G = (VN , V, S,H) grammatikát és legyen

(37.4) S −→ P1, S −→ P2, . . . , S −→ Pr

az összes olyan H-beli szabály, amelynek a bal oldalán S áll. Minden 1 ≤s ≤ r indexre definiálunk egy V ∪ {S} feletti L′s nyelvet úgy, hogy legyen

(37.5) L′s = {Ps}

abban az esetben, ha Ps ∈ (V ∪ {S})∗ és legyen

(37.6) L′s = Q0Lj1Q1Lj2 . . . Qm−1LjmQm

abban az esetben, ha

Ps = Q0Aj1Q1Aj2 . . . Qm−1AjmQm, Q0, Q1, . . . , Qm ∈ (V ∪ {S})∗.

Akkor a G grammatika által generált L = L(G) nyelvre kapjuk, hogy

(37.7) L = L(G) = (r∑s=1

L′s)S.

Az indukciós feltevést és az L′s nyelvek definícióját figyelembe véve az utóbbiösszefüggésből azt kapjuk, hogy az L nyelv előállítható az U = VN ∪V ábécéfeletti környezetfüggetlen kifejezéssel.

Ezután azt mutatjuk meg, hogy megfordítva, ha egy V feletti L nyelv elő-állítható valamely U(⊇ V ) ábécé feletti környezetfüggetlen kifejezéssel, akkorL környezetfüggetlen, azaz generálható 2 típusú grammatikával. A bizonyí-tás céljából jelölje L(U) az U feletti nyelveknek azt a legszűkebb halmazát,amely az ∅, e, u ∈ U nyelveket tartalmazza és amely zárt az összeadásra, aszorzásra és az U -beli u elemekkel végzett u-iterációkra. Eszerint L(U) ele-mei pontosan azok az U feletti nyelvek, amelyek U feletti környezetfüggetlen

325

Page 326: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

kifejezéssel előállíthatók. Ezért elegendő megmutatni, hogy L(U) mindeneleme környezetfüggetlen. Az ∅, az e és az u ∈ U nyelvek regulárisak, ezértkörnyezetfüggetlenek is. S így, mivel 36.6. Tétel szerint a környezetfüggetlennyelvek osztálya zárt az összeadásra és a szorzásra, elegendő azt igazolni,hogy az U feletti környezetfüggetlen nyelvek halmaza zárt az u-iterációrabármely u ∈ U esetén.

Ez utóbbi igazolásához legyen L tetszőleges U feletti környezetfüggetlennyelv, s legyen G = (VN , VT , S,H) (VT ⊆ U) olyan 2 típusú grammatika,amelyre L = L(G). A 36.2. Lemma szerint feltehető, hogy G standard.A 36.1. lemma bizonyításban láttuk, hogy G megadható úgy, hogy létezikVT -nek VN -be való olyan kölcsönösen egyértelmű ϕ leképezése, amelyre aterminálist is tartalmazó H-beli szabályok pontosan ϕ(x) −→ x (x ∈ VT )alakúak. Ha u ∈ U olyan, hogy u /∈ VT , akkor nyilvánvalóan Lu = L.Ha pedig u ∈ VT , akkor Lu generálható azzal a G′ = (V ′N , VT − u, S,H ′)2 típusú grammatikával, amelyben H ′-t úgy kapjuk H-ból, hogy a H-beliϕ(u) −→ u szabályt a ϕ(u) −→ S szabállyal cseréljük ki. Így mindenképpenazt nyerjük, hogy Lu környezetfüggetlen, azaz az U feletti környezetfüggetlennyelvek almaza zárt az u-iterációra bármely u ∈ U esetén. �

A 37.22. Tétel bizonyításának első része egy eljárást ad környezetfügget-len nyelvnek környezetfüggetlen kifejezéssel való megadására. Ezt az eljárásta következő példával mutatjuk be. A reguláris kifejezésekhez hasonlóan, egykörnyezetfüggetlen nyelv nem csak egy környezetfüggetlen kifejezéssel adhatómeg.

37.24 Példa A 37.8. Következmény bizonyítása során már láttuk, hogyaz L = {xkynzn; k, n ≥ 0} V = {x, y, z} feletti nyelvet generálja G =(VN , V, S,H) redukált környezetfüggetlen grammatika, ahol VN = {S,A,B}és

H = {S −→ AB,B −→ yBz,B −→ e, A −→ Ax,A −→ e}.

Megadjuk az L egy környezetfüggetlen kifejezését.Legyenek, (37.3) szerint,

G1 = ({A,B}, V ∪ {S}, A,H ′), G2 = ({A,B}, V ∪ {S}, B,H ′)

azok környezetfüggetlen grammatikákat, amelyekre

H ′ = {A −→ Ax, A −→ e, B −→ yBz, B −→ e}

azaz H-ból elhagytuk az S −→ AB szabályt. Az indukciós feltevés szerintLj = L(Gj) (j = 1, 2) nyelvek legyenek megadva {A,B}∪V feletti környezet-független kifejezéssel. Az S −→ AB az egyetlen (37.4)-ben definiált szabály.

326

Page 327: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Így (37.6) szerint L′1 = L1L2. Amiből (37.7) szerint kapjuk, hogy

L = (L′1)S = (L1L2)S.

az L nyelv egy VN ∪ V feletti környezetfüggetlen kifejezése. Most meghatá-rozzuk L1 egy környezetfüggetlen kifejezését {A,B} ∪ V felett:

H ′-ből hagyjuk el, (37.3) alapján, az A −→ Ax és A −→ e szabályokat:

H ′′ = {B −→ yBz, B −→ e}.

Legyen G11 = (B, V ∪ {S,A}, B,H ′′). ezért (37.1) és (37.2) szerint

L11 = L(G11) = (e+ yBz)B.

A (37.4)-ben definiált szabályok

A −→ Ax, A −→ e,

ezért (37.5) szerintL′11 = e, L′12 = Ax,

így (37.7) alapján

L1 = (L′11 + L′12)A = (e+ Ax)A.

Hasonló módon:L2 = (e+ yBz)B,

s ígyL = (L1L2)S = ((e+ Ax)A(e+ yBz)B)S.

Egyszerűbben jutunk célhoz azonban, ha az L nyelvet azzal a redukáltkörnyezetfüggetlen G = ({S,A}, V, S,H)grammatikával generáljuk, amely-nek szabályai:

S −→ e, S −→ xS, S −→ xA, A −→ yAz, A −→ yz.

Ebben az esetben (37.3) szerint G1 = (A, V ∪ {S}, A,H ′), ahol

H ′ = {A −→ yAz, A −→ xy}.

(37.1) és (37.2) alapján L(G1) megadható az L1 = (yz + yAz)A környezet-független kifejezéssel. (37.4), (37.5) és (37.6) segítségével kapjuk, hogy

L′1 = e, L′2 = xS, L′3 = xL1

Ezért (37.7) miatt

L = (L′1 + L′2 + L′3)S = (e+ xS + x(yz + yAz)A)S

környezetfüggetlen kifejezéssel.

327

Page 328: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Feladatok37.1. Adjunk meg olyan környezetfüggetlen grammatikákat, amelyek generáljákaz

L1 = {a3nbn; n = 1, 2, . . . }, L2 = {ambk; m ≥ k ≥ 0}

és az (L1L2 + L2)∗ nyelveket.37.2. Jelölje |p|a és |p|b a p ∈ {a, b}∗ szóban a ill. b előfordulásainak számát.Adjunk meg olyan környezetfüggetlen grammatikát, amely tetszőleges k pozitívegész számra az

Lk = {p ∈ {a, b}∗; |p|a = k|p|b}

nyelvet generálja.37.3. A V ábécé feletti palindromok nyelve környezetfüggetlen. Adjuk meg ezt anyelvet környezetfüggetlen kifejezéssel.37.4 Az L = {xj2 ; j ≤ 1} nyelv nem környezetfüggetlen.

38. Környezetfüggő nyelvekA 37.6. Tétel szerint a környezetfüggő nyelvek osztálya bővebb, mint a kör-nyezetfüggetlen nyelvek osztálya. Mint már említettük ez az állítás a megfe-lelő grammatikákra nem igaz. Azonban bizonyos környezetfüggetlen nyelvekgenerálását egyszerűbbé tehetjük környezetfüggő grammatikák felhasználá-sával. Ebben a fejezetben a környezetfüggő nyelvek néhány alapvető tulaj-donságát tárgyaljuk.

Egy G = (VN , VT , S,H) grammatika P −→ Q H-beli szabályát hosszú-ságot csökkentőnek nevezzük, ha |P | > |Q| és hosszúságot nem csökkentőneknevezzük, ha |P | ≤ |Q|. Hasonlóan beszélhetünk hosszúságot növelő ill.nem növelő szabályról is. A G = (VN , VT , S,H) grammatikát hosszúságotnem csökkentőnek hívjuk, ha minden H-beli szabály jobb oldala legalábbolyan hosszú, mint a bal oldala, azaz minden H-beli P −→ Q szabályra|P | ≤ |Q|.

A környezetfüggő grammatikák szabályai, az S −→ e szabály kivételével,hosszúságot nem csökkentők. Másrészt igaz a következő lemma.

38.1 Lemma Minden hosszúságot nem csökkentő grammatikához megad-ható egy vele ekvivalens környezetfüggő grammatika.

Bizonyítás. Legyen G = (VN , VT , S,H) hosszúságot nem csökkentő gram-matika. A 36.1. Lemma szerint feltehető, hogy G standard. (A stan-dard grammatika konstrukciója során hosszúságot nem csökkentő gramma-tikából hosszúságot nem csökkentő grammatikát kapunk.) Tekintsük azt

328

Page 329: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a G′ = (V ′N , VT , S,H′) grammatikát, amelyben H ′-t H-ból a következő-

képpen kapjuk. Minden H-beli X −→ x (X ∈ VN , x ∈ VT ) alakú sza-bály legyen H ′-beli szabály is. (Mivel G standard, ezért a terminálisokatcsak ilyen alakú szabályok tartalmazzák.) Továbbá minden H-beli X −→P (X ∈ VN , P ∈ V +

N ) alakú szabály is legyen H ′-beli szabály. LegyenP −→ Q egy tetszőleges terminálist nem tartalmazó H-beli szabály, amely-re |P | ≥ 2. Akkor P = X1X2 . . . Xk és Q = Y1Y2 . . . Yn alakban adhatómeg, ahol X1, X2, . . . , Xk, Y1, Y2, . . . , Yn ∈ VN , (2 ≤ k ≤ n). Vezessük be aZ1, Z2, . . . Zk /∈ VN ∪ VT új változókat és vegyük a következő szabályokat:

X1X2 . . . Xk −→ Z1X2 . . . Xk, Z1X2 . . . Xk −→ Z1Z2X3 . . . Xk,

Z1Z2 . . . Zk−1Xk −→ Z1Z2 . . . Zk−1ZkYk+1 . . . Yn,

Z1Z2 . . . ZkYk+1 . . . Yn −→ Y1Z2 . . . ZkYk+1 . . . Yn, . . .

Y1 . . . Yk−1ZkYk+1 . . . Yn −→ Y1 . . . Yk−1YkYk+1 . . . Yn.

Vegyük be H ′-be minden ilyen P −→ Q H-beli szabály helyett az előbbitípusú szabályokat. Továbbá V ′N tartalmazza ezeket az új nemterminálisokatés VN elemeit. Belátható, hogy olyan G′ (standard) környezetfüggő gramma-tika, amely ekvivalens G-vel. �

Az előző lemma azt jelenti, hogy a hosszúság nem csökkentése a környezet-függőséggel egyenértékű tulajdonság. Kivételt csupán az üres szó generálásátbiztosító S −→ e szabály képez. Megmutatható, hogy (36.4) utolsó

L1 ⊂ L0

valódi tartalmazása igaz. Ez az jelenti, hogy a hosszúság nem csökkenté-se lényeges megszorítást jelent a mondatszerkezetű grammatikákhoz képest.A környezetfüggő grammatikákkal kapcsolatos problémákat általában jóvalnehezebb eldönteni, mint környezetfüggetlen grammatikák esetében, mivel alevezetések szerkezete sokkal bonyolultabb lehet. A hosszúság nem csökken-tése azon kevés jó tulajdonságok egyike, amit mindig használhatunk.

A 37.4. Tétel környezetfüggő nyelvekre is igaz.

38.2 Tétel Minden környezetfüggő nyelv rekurzív.

Bizonyítás. Legyen G = (VN , VT , S,H) környezetfüggő grammatika és p ∈V ∗T . A p = e esetben e ∈ L(G) akkor és csak akkor, ha S −→ e ∈ H, aminyilván eldönthető. Feltehetjük tehát, hogy |p| = n ≥ 1. Tekintsük az olyan

S = P0, P1, . . . , Pk−1, Pk = p

329

Page 330: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szósorozatokat (VN ∪ VT )+-ból, amelyekre

1 = |P0| ≤ |P1| ≤ · · · ≤ |Pk−1| ≤ |Pk| = n.

Mivel VN∪VT véges halmaz, ezért az összes ilyen sorozat csak véges sok külön-böző szót tartalmaz. Ez azt jelenti, hogy az összes olyan sorozatnak száma,amelyekben ismétlés nem fordul elő, véges. E véges sok sorozat mindegyiké-ben megvizsgálható, hogy

Pj =⇒G Pj+1, 0 ≤ j < n

teljesül-e. (Az ismétléseket tartalmazó sorozatokat nem kell figyelembe ven-ni, mert minden ismétlést tartalmazó levezetéshez található ismétlést nemtartalmazó levezetés is.) �

A bizonyításban szereplő eldöntési eljárás természetesen gyakorlati célranem nagyon alkalmas. Mindenesetre látható belőle a probléma nehézsége, haa sorozatokra |Pj| ≤ |Pj+1| nem teljesül. Tetszőleges 0 típusú grammatikaesetén bizonyítható, hogy ez a tartalmazási probléma ténylegesen eldönthet-hetetlen.

A következő tétel szerint a 38.2. Tétel megfordítása nem igaz. Ez aztjelenti, hogy a rekurzív nyelvek osztálya bővebb a környezetfüggő nyelvekosztályánál.

38.3 Tétel Létezik olyan rekurzív nyelv, amelyik nem környezetfüggő.

Bizonyítás. Azt mutatjuk meg, hogy kételemű ábécé felett is van olyan re-kurzív nyelv, amelyik nem környezetfüggő. Legyen a kételemű ábécé {a, b}.Tekintsük azokat a környezetfüggő grammatikákat, amelyek mindegyikénekterminális ábécéje {a, b} és mondatszimbóluma S. Ezen grammatikák nem-terminális ábécéit tekinthetjük ugyanazon megszámlálhatóan végtelen

V = {S,X1, X2, . . . }

halmaz véges részhalmazaiként. (A változók átjelölésével ez mindig elérhető.)Nyilvánvalóan minden {a, b} feletti környezetfüggő nyelv generálható ilyengrammatikával. Egy ilyen grammatikát a szabályok egy

P1 −→ Q1, P2 −→ Q2, . . . , Pn −→ Qn

sorozatával is megadhatunk. A szabályokból ugyanis meg tudjuk határoznia nemterminális ábécét. (Természetesen, ha a szabályokat más sorrendbenadjuk meg, akkor is ugyanazt a grammatikát kapjuk.) Minden ilyen G gram-matikához megadunk egy {a, b} feletti pG szót a következő módon:

330

Page 331: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

LegyenV ′ = {a, b,−→,#, S,X1, X2, . . . }.

Definiáljuk a ϕ : V ′ → a+b leképezést a

ϕ(a) = ab, ϕ(b) = a2b, ϕ(−→) = a3b, ϕ(#) = a4b,

ϕ(S) = a5b, ϕ(Xi) = a5+ib, i = 1, 2, . . .

feltételekkel. A ϕ leképezés V ′ bijektív leképezése a+b-re. Jelöljük szinténϕ-vel a ϕ monoid-homomorf kiterjesztését a V ′∗ szabad félcsoportra.

Legyen

pG = ϕ(P1 −→ Q1#P2 −→ Q2# . . .#Pn −→ Qn).

Ha pG = pG′ , akkor nem nehéz belátni, hogy G-t és G′-t szabályoknak ugyan-azzal a sorozatával adtuk meg, azaz G = G′. Ebből következik, hogy a Ggrammatikákat a pG szavakkal is megadhatjuk.

Legyen az {a, b} feletti L nyelv azoknak a pG szavaknak a halmaza, ame-lyekre pG /∈ L(G). Megmutatjuk, hogy az L nyelv rekurzív, de nem környe-zetfüggő.

A 38.2. Tétel szerint algoritmikusan eldönthető, hogy pG eleme-e az L(G)környezetfüggő nyelvnek. Így az is eldönthető algoritmikusan, hogy pG eleme-e L-nek. Ez azt jelenti, hogy L rekurzív.

Tegyük fel, hogy L környezetfüggő. Akkor van olyan pG-vel megadott Ggrammatika, amelyre L = L(G). Az L definíciója miatt, ha pG ∈ L(G) = L,akkor pG /∈ L. Ha pedig pG /∈ L(G) = L, akkor pG ∈ L. Mindkét esetbenellentmondásra jutottunk. Vagyis L nem környezetfüggő. �

Az U ábécé feletti L nyelvet (U felett) rekurzíve felsorolhatónak nevezzük,ha van olyan eljárás, amely az összes p ∈ L szót valamilyen sorrendben(esetleg ismétlésekkel) előállítja, azaz felsorolja.

Könnyű belátni, hogy minden 0 típusú nyelv rekurzíve felsorolható. Eh-hez nem kell mást csinálnunk, mint rendre előállítanunk a mondatszimbó-lumból 1, 2, . . . lépésben levezethető összes mondatformát, s ezek közül ki-választani a terminális szavakat. A 44. fejezetben megmutatjuk, hogy a 0típusú nyelvek osztálya és a véges ábécék feletti rekurzíve felsorolható nyel-vek osztálya megegyezik. (A Church tézis értelmében minden eljárás Turingautomata által végrehajtható.)

Továbbá minden véges ábécé feletti rekurzív nyelv rekurzíve felsorolható.Nem kell ugyanis mást tennünk, mint rendre előállítani az összes p ∈ U∗

szót, miközben minden egyes új szó előállítása után alkalmazzuk rá az el-döntési algoritmust, és belevesszük a felsorolásba, ha igen választ kapunk,

331

Page 332: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

egyébként elhagyjuk. Ezáltal megadtunk egy felsorolási eljárást, ahol még azismétléseket is kizártuk.

Megfordítva viszont abból, hogy egy véges ábécé feletti nyelv rekurzívefelsorolható, még nem következik, hogy rekurzív is. Megmutatjuk, hogy avéges ábécé feletti rekurzíve felsorolható nyelvek osztálya bővebb a rekurzívnyelvek osztályánál. Ehhez először bebizonyítjuk a következő állítást.

38.4 Lemma A véges ábécé feletti L nyelv akkor és csak akkor rekurzív, haL és L rekurzíve felsorolható.

Bizonyítás. Legyen L tetszőleges U véges ábécé feletti nyelv. Ha az L nyelvrekurzív, akkor L is rekurzív, s ezért mind a kettő rekurzíve felsorolható.

Megfordítva, tegyük fel, hogy L és L rekurzíve felsorolhatók. Legyenp ∈ U∗. Kombináljuk az L és L elemeinek felsorására szolgáló eljárásokatúgy, hogy váltakozva hol az egyikkel, hol a másikkal állítunk elő egy szót,miáltal az U∗-beli szavaknak egy olyan

p1, p2, . . . , p2n−1, p2n, . . . (n = 1, 2, . . . )

felsorolását kapjuk, ahol p2n−1 ∈ L és p2n ∈ L. Mivel L + L = U∗, ezérta felsorolásban valahol előfordul p. Most már csak azt kell eldönteni, hogyp páratlan vagy páros helyen szerepel-e a sorozatban, s így végeredménybenegy eldöntési algoritmust adtunk meg, vagyis L rekurzív. �

A 38.4. Lemma szerint annak megmutatásához, hogy a véges ábécé felettirekurzíve felsorolható nyelvek osztálya bővebb a véges ábécé feletti rekurzívnyelvek osztályánál, elegendő egy véges ábécé felett olyan rekurzíve felsorol-ható nyelvet találni, amelynek komplementere nem rekurzíve felsorolható.

38.5 Tétel Létezik véges ábécé feletti rekurzíve felsorolható nyelv, amelynem rekurzív.

Bizonyítás. Azt mutatjuk meg, hogy az {a} egyelemű ábécé felett vanolyan rekurzíve felsorolható nyelv, amelyenek komplementere nem rekurzívefelsorolható. A 38.4. Lemma szerint ebből már következik az állítás.

Tegyük fel, hogy minden rekurzíve felsorolható L ⊆ a∗ nyelvhez a felso-rolási eljárás le van írva valamilyen nyelven. Pontosabban feltételezhetjük,hogy van olyan V véges ábécé, hogy az előbbi eljárások mindegyikét valamelyE ∈ V ∗ szóval jellemezhetjük. Miután V ∗ megszámlálhatóan végtelen, az Eszavakat valamilyen

E0, E1, E2, . . .

sorozatba rendezhetjük. Definiáljuk a következő L ⊆ a∗ nyelvet: ak ∈ Lakkor és csak akkor, ha az Ek eljárás felsorolja az ak szót.

332

Page 333: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Először is nyilvánvaló, hogy L nem lehet rekurzíve felsorolható. Ha ugyan-is az lenne, akkor volna olyan Ei eljárás a fenti sorozatban, amely pontosanL elemeit sorolja fel. De akkor akár ai ∈ L, akár ai /∈ L, ellentmondásbakerülünk L definíciójával.

Végül megmutatjuk, hogy L rekurzíve felsorolható. Minden eljárás diszk-rét lépésekre bontható, vagyis beszélhetünk az Ek (k-adik eljárás) l-edik lé-péséről. Jelöljük ezt a lépést a (k, l) rendezett párral. Amennyiben a k-adikeljárás az l-edik lépésben befejeződik, akkor ennek az eljárásnak a m-ediklépését l < m esetben úgy értelmezzük, hogy nem csinálunk semmit. Kom-bináljuk az eljárásokat úgy, hogy a

(0, 0), (1, 0), (0, 1), (2, 0), (1, 1), (0, 2), (3, 0), (2, 1), (1, 2), (0, 3), . . .

lépéseket ilyen sorrendben hajtjuk végre egymás után. Ha most a (k, l)-ediklépés éppen az ak szónak Ek által felsorolt nyelvhez való hozzávételét ered-ményezi, akkor ak-t felvesszük L-be. Ezzel megadtunk egy eljárást, amelyfelsorolja L elemeit, tehát L valóban rekurzíve felsorolható. �

Most megadjuk a grammatikák Chomsky normálformájának egy általá-nosítását. A G = (VN , VT , S,H) grammatikáról azt mondjuk, hogy Kurodanormálformában van megadva, ha minden H-beli szabály X −→ x, X −→Y, X −→ Y Z, vagy XY −→ WZ alakú, ahol X, Y,W,Z ∈ VN és x ∈ VT .

Látható, hogy minden Kuroda normálformában megadott grammatikahosszúságot nem csökkentő grammatika. Igaz a Chomsky normálformáravonatkozó 37.3. Tétel hasonló eredmény.

38.6 Tétel A G = (VN , VT , S,H) hosszúságot nem csökkentő grammatiká-hoz van ekvivalens Kuroda normálformában megadott G′ = (V ′N , VT , S,H

′)grammatika.

Bizonyítás. Legyen G = (VN , VT , S,H) hosszúságot nem csökkentő gram-matika. A 36.2. Lemma miatt feltehető, hogy G standard, azaz a termi-nálisok csak X −→ x (X ∈ VN , x ∈ VT ) alakú szabályokban fordulnak elő.Megszerkesztjük VN -ből és H-ból V ′N -t és H ′-t. Az

X −→ x, X −→ Y, X −→ Y Z,

XY −→ WZ, X, Y,W,Z ∈ VN , x ∈ VTalakú szabályok legyenek H ′-beli szabályok is. Ha |Q| ≥ 3, akkor az

X −→ Q (X ∈ VN , Q ∈ V +N )

alakú H-beli szabályokat, mint azt a 37.3. Tétel bizonyításában a Choms-ky normálformára való átalakításnál tettük, X −→ Y Z alakú szabályokkalhelyettesíthetjük, miközben VN -t is kibővítjük új változókkal.

333

Page 334: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tekintsük végül az olyan P −→ Q (P,Q ∈ V +N ) H-beli szabályokat,

amelyekre |P | ≥ 2 és |Q| ≥ 3. Legyen

P = X1X2 . . . Xk, Q = Y1Y2 . . . Yn,

ahol X1, X2, . . . Xk, Y1, Y2, . . . , Yn ∈ VN , (k ≤ n). Vegyük fel a nemterminá-lisok közé az új Z2, Z3, . . . , Zn−1 változókat és cseréljük ki a P −→ Q alakúszabályokat a következő szabályokkal:

X1X2 −→ Y1Z2, Z2X3 −→ Y2Z3, . . . , Zk−1Xk −→ Yk−1Zk,

Zk −→ YkZk+1, Zk+1 −→ Yk+1Zk+2, . . . , Zn−1 −→ Yn−1Yn.

Könnyen belátható, hogy így kapott G′ = (V ′N , VT , S,H′) grammatika G-vel

ekvivalens. �

38.7 Következmény Ha egy környezetfüggő grammatika nem tartalmazzaaz S −→ e szabályt, akkor létezik vele ekvivalens Kuroda normálformábanmegadott grammatika.

A Kuroda normálformában megadott grammatika nem környezetfüggő,ha tartalmaz XY −→ WZ (X, Y,W,Z ∈ VN) alakú szabályokat. Ezek aszabályok azonban helyettesíthetők a következő környezetfüggő szabályokkal:

XY −→ XY ′, XY ′ −→ X ′Y ′, X ′Y ′ −→ X ′Z, X ′Z −→ WZ,

ahol X ′ és Y ′ új változók. Ezt finomított Kuroda normálformának is mond-juk. Kaptuk a 38.4. Következmény alapján az alábbi eredményt.

38.8 Következmény Ha a G környezetfüggő grammatika nem tartalmaz-za az S −→ e szabályt, akkor van L-lel vele ekvivalens finomított Kurodanormálformában megadott grammatika.

Az XY −→ WZ szabályt nem lehet egyszerűen az

XY −→ X ′Y, X ′Y −→ X ′Z,X ′Z −→ WZ

szabályokkal helyettesíteni. Ugyanis, ha az eredeti grammatika szabályaipéldául a következőek:

S −→ XY, Y −→ ZA, XY −→ WZ,

akkor a fenti helyettesítéssel egy olyan grammatikát kapunk, amelyben meg-adható az

S =⇒ XY =⇒ X ′Y =⇒ X ′ZA =⇒ WZA

334

Page 335: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

levezetés, amely az eredeti grammatikában nem teljesül.Figyeljük meg, hogy a Kuroda normálforma finomításakor az XY −→

WZ alakú szabályt olyan környezetfüggő szabályokkal helyettesítjük, ame-lyeknél vagy csak bal oldali vagy csak jobb oldali környezet fordul elő, demindkét változat szerepel. Ezeket bal [jobb] oldali környezetfüggő szabá-lyoknak nevezzük. Megmutatható, hogy lehet csak bal [jobb] oldalikörnyezetfüggő szabályokkal, azaz bal [jobb] oldali környezetfüggő grammati-kával tetszőleges környezetfüggő nyelvet generálni, azonban egy környezetfüg-gő grammatikának egyoldalú környezetfüggő grammatikává való átalakításaáltalában túlságosan bonyolult ahhoz, hogy gyakorlati célra felhasználjuk.

Az egyoldalú környezetfüggő grammatikák viszont használhatók bizonyoskörnyezetfüggetlen nyelvek megadására, ami előnyős lehet ezek gépi feldol-gozásának meggyorsítására. Az egyoldalú környezetfüggő grammatikákat isnormálformára hozhatjuk.

38.9 Tétel Minden bal oldali környezetfüggő grammatikához megadhatóolyan ekvivalens grammatika, amelynek szabályai a következő alakúak le-hetnek:

X −→ x, X −→ Y, X −→ Y Z, XY −→ XZ,

ahol x terminális jel, X, Y, Z pedig nemterminálisok.

Bizonyítás. Hasonlóan járunk el, mint a 38.3. Tétel bizonyításában, ezért abizonyítást nem részletezzük. Csak annyit jegyzünk meg, hogy egy bal oldalikörnyezetfüggő szabály:

X1X2 . . . XkX −→ X1X2 . . . XkY1Y2 . . . Yn

alakú, amelyben csak változók szerepelnek. Az ilyen szabályt helyettesíthet-jük az

X1X2 −→ X1Z2, Z2X3 −→ Z2Z3, . . . , Zk−1Xk −→ Zk−1Zk,

ZkX −→ ZkW1, W1 −→ Y1W2, . . . , Wn−1 −→ Yn−1Yn,

Z2 −→ X2, Zk−1 −→ Xk−1, Zk −→ Xk

szabályokkal, ahol Z2, . . . , Zk,W1, . . .Wn−1 újonnan bevezetett változók. �Természetesen analóg tétel érvényes jobb oldali környezetfüggő gramma-

tikákra.

38.10 Példa Mutassuk meg, hogy az VT = {x, y} ábécé feletti

L = {xkykxk; k ≥ 1}

nyelv környezetfüggő és nem környezetfüggetlen. Határozzunk meg egy L-tgeneráló Kuroda normálformában adott grammatikát.

335

Page 336: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A Bar-Hillel lemma segítségével megmutatható, hogy L nem környezet-független. Az L generálható azzal a G = (VN , VT , S,H) hosszúságot nemcsökkentő grammatikával, amelyre VN = {S,A} és

H = {S −→ xSAx, S −→ xyx, xA −→ Ax, yA −→ yy}.

A 38.1. Lemma szerint L környezetfüggő. A 38.6. Tétel szerint van G-vel ekvivalens Kuroda normálformában adott grammatika. Az alábbiakbanmegszerkesztjük ezt a grammatikát.

Először átalakítjuk a 36.1. Lemma bizonyításában megadott módon stan-dard 1 típusú G′ = (VN , VT , S,H

′) g rammatikává. Felvesszük az X, Y /∈VN ∪ VT új változókat, azaz V ′N = VN ∪ {X, Y } és H ′ legyen az

S −→ XSAX, S −→ XYX, XA −→ AX,

Y A −→ Y Y, X −→ x, Y −→ y

szabályok halmaza. Utána a 38.6. Tétel bizonyítása szerint járunk el. A 37.3.Tétel bizonyításában alkalmazott eljárással az S −→ XSAX és S −→ XYXszabályokat kicseréljük H ′-ben az

S −→ XX1, X1 −→ SX2, X2 −→ AX,

ill. azS −→ XY1, Y1 −→ Y X

szabályokkal és kiegészítjük V ′N -t az X1, X2, Y1 /∈ V ′N ∪ VT új változókkal.Ilyen módon eljutunk a változók V ′′N és a szabályok H ′′ halmazához. AG′′ = (V ′′N , VT , S,H

′′) grammatika ekvivalens G′-vel, így G-vel is, és Kurodanormálformában van megadva. (Ha lenne olyan szabály is, amelynek bal ol-dala kettőnél nagyobb hosszúságú, akkor ezekre a 38.6. Tétel bizonyításábanmegadott eljárást alkalmaznánk.)

Az L = {xkykxk; k ≥ 0} környezetfüggő nyelv generálható azzal a gram-matikával, amelyet G-ből úgy kapunk, hogy felvesszük a szabályok közé azS −→ e szabályt. Ez azt jelenti, hogy generálható azzal a grammatikával is,amelyet G′′-ből kapunk az S −→ e szabály felvételével.

39. Mondatszerkezetű nyelvekA 42. fejezetben megmutatjuk, hogy a mondatszerkezetű nyelvek osztályamegegyezik a rekurzíve felsorolható nyelvek osztályával. Jelölje Lr a rekurzívnyelvek osztályát. A 38.3. és a 38.5. Tételek szerint

L1 ⊂ Lr ⊂ L0.

336

Page 337: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 38.5. Tétel bizonyításá szerint van olyan rekurzíve felsorolható nyelv,amelynek komplementere nem rekurzíve felsorolható. Ebből következik, hogya mondatszerkezetű nyelvek osztálya nem zárt a komplementerképzésre.

A mondatszerkezetű grammatikákhoz megadható a finomított Kurodanormálforma egy általánosítása. A G = (VN , VT , S,H) grammatikáról aztmondjuk, hogy Révész normálformájú, ha a H-beli szabályok

S −→ e, X −→ x, X −→ Y, X −→ Y Z,

(39.1) XY −→ XZ, XY −→ ZY,XY −→ Y

alakúak lehetnek, ahol az S mondatszimbólum csak a szabályok bal oldalánfordulhat elő.

39.1 Tétel 0 típusú grammatikához van ekvivalens Révész normálformájúgrammatika.

Bizonyítás. Legyen G = (VN , VT , S,H) tetszőleges 0 típusú grammatika.Először a P −→ e alakú szabályokat helyettesítjük az xP −→ x és Px −→ xszabályokkal, ahol x befutja a teljes VN ∪ VT ábécét. Ezáltal olyan gramma-tikát kapunk, amely az L(G) − e nyelvet generálja. Ha e ∈ L(G), akkor aszabályok közé felvesszük az S −→ e szabályt, így egy a G-vel ekvivalens G′grammatikát kapunk. Ez a 36.2. Lemma szerint átalakítható standard 0 tí-pusú grammatikává, azaz amelyben minden terminálist is tartalmazó szabályX −→ x (X ∈ Vn, x ∈ VT ) alakú. Az így kapott szabályokon és az esetlege-sen szereplő S −→ e szabályon kívül az összes többi szabály ekkor P −→ Qalakú lesz, ahol P,Q ∈ V +

N . Ezek közül a hosszúságot nem csökkentő szabá-lyokat helyettesítjük a finomított Kuroda normálforma megszerkesztésénekelőző fejezetben megismert eljárásával.

Ezért csak a hosszúságot csökkentő szabályokkal kell foglalkoznunk. Egyilyen szabály

X1X2 . . . Xk −→ Y1Y2 −→ Yn, X1, . . . , Xk, Y1, . . . Yn ∈ VN , k > n ≥ 1

alakú. Ezt helyettesítjük az

Xk−1Xk −→ ZkWk, ZkWk −→ Wk,

Xk−2Wk −→ Zk−1Wk−1, Zk−1Wk−1 −→ Wk−1, . . . ,

XnWn+2 −→ Zn+1Wn+1, Zn+1Wn+1 −→ WnYn,

Xn−1Wn −→ Wn−1Yn−1, . . . , X1W2 −→ W1Y1, W1Y1 −→ Y1

337

Page 338: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szabályokkal, ahol W1, . . .Wk, Zn+1, . . . Zk újonnan bevezetett változók. Ittaz AB −→ CD alakú szabályok mindegyikét helyettesíthetjük, a Kurodanormálforma finomításánál megismert módon, négy-négy környezetfüggő sza-bállyal.

Belátható, hogy ezekkel a helyettesítésekkel az erdetivel ekvivalens 0 tí-pusú grammatikát kapunk, amelynek szabályai (39.1) alakúak. �

A fenti bizonyítás csak akkor ad egy algoritmust a normálforma megszer-kesztésére, ha el tudjuk dönteni, hogy e ∈ L(G) vagy e /∈ L(G) teljesül.Ha a G grammatikban nincsenek P −→ e alakú szabályok, akkor természe-tesen e /∈ L(G). Ilyen szabályok létezéséből, kivéve az S −→ e szabályt,nem feltétlenül következik, hogy e ∈ L(G). Egy olyan grammatikát mindigel tudunk készíteni a bizonyításban szereplő eljárással, amelyre az L(G)− enyelvet generálja. Ahhoz viszont, hogy az S −→ e szabály felvegyük-e vagysem, tudnunk kell, hogy e ∈ L(G) vagy e /∈ L(G). A 39.1. Tétel természe-tesen igaz, mert e ∈ L(G) vagy e /∈ L(G), azaz nincs harmadik lehetőség,még akkor sem ha nem tudjuk eldönteni, hogy melyik eset áll fenn. A 38.2.Tétel szerint az 1 típusú grammatikáknál ez a kérdés mindig eldönthető. Ottugyanis bármely szó levezetésénél mindig csak véges sok különböző szó for-dulhat elő. A 0 típusú grammatikáknál éppen ezt a végességet nem lehetgarantálni, mivel hosszúságot növelő és csökkentő szabályok egyaránt lehet-nek. Ezért, mint már említettük, általában a 0 típusú nyelvekre a 38.2. Tételnem igaz.

Bizonyos fokig csökkenthetjük a megvizsgálandó levezetések számát azalábbiakban definiált speciális levezetésekkel, bár ez nem sokat segít a tar-talmazási probléma eldöntésében.

Legyen G = (VN , VT , S,H) tetszőleges generatív grammatika. A

(39.2) W0 =⇒G W1 =⇒G · · · =⇒G Wn

levezetést balról rendezettnek mondjuk, ha vannak olyan

Rj, Pj, Qj, Tj ∈ (VN ∪ VT )∗, j = 0, 1, . . . , n

szavak, amelyekre

Wj = RjPjTj, Wj+1 = RjQjTj,

ahol Pj −→ Qj H-beli szabályok és

(39.3) |Rj| ≤ |Rj+1Pj+1|, j = 0, 1, . . . , n− 1.

A jobbról rendezett levezetést hasonlóan definiáljuk. (A (39.3) feltételekhelyett a

338

Page 339: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(39.4) |Tj| ≤ |Qj+1Tj+1|, j = 0, 1, . . . , n− 1.

feltételek szerepelnek.)A (39.2) és (39.3) [(39.4)] definíciókból nyilvánvalóan következik, hogy

a környezetfüggetlen grammatikákra definiált bal [jobb] oldali levezetésekbalról [jobbról] rendezett levezetések.

39.2 Tétel Bármely G = (VN , VT , S,H) generatív grammatikában egy tet-szőleges P =⇒∗G Q levezetéshez megadható egy ugyanolyan hosszú P -velkezdődő és Q-val végződő balról [jobbról] rendezett levezetés.

Bizonyítás. A bizonyítást csak a balról rendezett esetre végezzük el. Abizonyítás jobbról rendezett esetben nyilván hasonlóan végezhető el. Tegyükfel, hogy a (39.2)-ben definiált P =⇒∗G Q levezetés nem balról rendezett.Legyen 0 ≤ k < n a legkisebb olyan index, amelyre a balról rendezettség(39.3) feltétele nem teljesül, vagyis vannak olyan Pk −→ Qk és Pk+1 −→ Qk+1

szabályok, amelyekre Wk = RkPkTk, Wk+1 = RkQkTk és

|Rk| > |Rk+1Pk+1|.

Eszerint Rk = Rk+1Pk+1Uk+1, valamely Uk+1 ∈ (VN ∪ VT )+ szóra. Ez aztjelenti, hogy a levezetésben a k-adik és (k + 1)-edik lépést felcserélhetjük,azaz

RkPkTk =⇒G RkQkTk = Rk+1Pk+1Uk+1QkTk =⇒G Rk+1Qk+1Uk+1QkTk

lépések helyett vehetjük az

RkPkTk = Rk+1Pk+1Uk+1PkTk =⇒G

=⇒G Rk+1Qk+1Uk+1PkTk =⇒G Rk+1Qk+1Uk+1QkTk

lépéseket. Így a balról rendezettség a k és (k+1)-edik lépésekre teljesülni fog.Az eljárást mindaddig megismételjük, amig a teljes levezetés balról rendezettnem lesz. �

A 37. fejezetben láttuk, hogy környezetfüggetlen grammatikákban a le-vezetések megadhatók egy irányított gráf, a levezetési fa segítségével, ahol avégpontokhoz terminális jelek, egyéb csúcspontokhoz változók vannak ren-delve. Ezt a megadási módot minden további nélkül nem lehet átvinnikörnyezetfüggő és mondatszerkezetű grammatikákra, mivel itt a szabályokbal oldalán egynél több jelből álló sorozatok is állhatnak. Ezt a nehézséget

339

Page 340: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

könnyen áthidalhatjuk az alábbi módon. A G = (VN , VT , S,H) grammatikaminden egyes szabályát címkézzük meg. Ez azt jelenti, hogy vegyünk egyF halmazt, amely annyi elemet tartalmaz, mint ahány H-beli szabály van.Tegyük fel, hogy F ∩ (Vn ∪ VT ) = ∅. Minden szabályhoz rendeljük hozzákölcsönösen egyértelmű módon F egy elemét, másképpen mondva, címkéz-zük meg a szabályokat F elemeivel. A levezetési fát ezek után úgy adunkmeg egy levezetéshez, hogy minden szabály alkalmazásához beiktatunk mégegy-egy új csúcspontot, amelyhez a szóban forgó szabály címkéjét rendeljükhozzá. A szabály bal oldalán álló jelsorozat egyes betűinek megfelelő csúcs-pontokból irányított élet húzunk ebbe az új csúcspontba, majd ez utóbbibólkimenő éleket húzunk a szabály jobb oldalán álló jelsorozat egyes betűinekmegfelelő csúcspontokba.

Legyenek például VN = {S,A,B}, VT = {a, b}, a H-beli szabályok pedig:

f1 : S −→ SAb, f2 : bAb −→ aBa, f3 : Aa −→ AB, f4 : BB −→ aBb.

(A szabályokat az F = {f1, f2, f3, f4} halmaz elemeivel címkéztük meg.)Az

S =⇒ SAb =⇒ SAbAb =⇒ SAaBa =⇒ SABBa =⇒ SAaBba

levezetés fáját a 11. ábra mutatja. A levezetés SAaBba eredményét most isa végpontokat megjelölő betűk balról jobbra való leolvasásával kapjuk meg.A levezetés fája most is lényegében egyértelműen ábrázolja az adott leveze-tést, vagyis a gráfról leolvasható levezetések között legfeljebb egyes szabályokvégrehajtásának sorrendjében lehet különbség. (A mi példánkban a szabá-lyok sorrendje nem változtatható.) Belátható, hogy minden ilyen gráfhozegy-egyértelműen hozzárendelhető egy balról rendezett levezetés.

Megjegyezzük, hogy minden mondatszerkezetű nyelv homomorfan karak-terizálható két környezetfüggetlen nyelv közös részével. Az érdeklődő olvasóaz ezzel kapcsolatos vizsgálatokat megtalálhatja például Arto Salomaa[55]könyvében.

Az előző fejezet alapján látjuk, hogy a mondatszerkezetű nyelvek osztá-lya nem rekurzív, azaz nem minden U ábécé feletti L nyelv esetén dönthetőel algoritmikusan, hogy egy p ∈ U∗ szó benne van-e L-ben. Ebből továbbialgoritmikusan eldönthetetlen problémák következnek, amelyek közül van-nak olyanok, amelyek szűkebb nyelvosztályokra sem dönthető el. Ebben afejezetben ezekre adunk néhány példát.

A 37.9. Tétel szerint bármely környezetfüggetlen grammatikáról algorit-mikusan eldönthető, hogy az általa generált nyelv üres, véges vagy végtelen.Ez azonban környezetfüggő grammatikákra már nem igaz.

340

Page 341: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

S

?f1

?

HHHHHHj

�������

S A b

?f1

?

@@@R

���S A b

@@@Rf2

?

�������������

?

@@@R

���a B a

?

���f3

?

?

���A B

f4

HHHHj

?

@@@R

���b B a

11. ábra.

341

Page 342: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

39.3 Tétel Nem minden környezetfüggő grammatikáról dönthető el algorit-mikusan, hogy az általa generált nyelv üres, véges vagy végtelen.

Bizonyítás. Legyen G = (VN , VT , S,H) tetszőleges 0 típusú grammatikaés p ∈ V ∗T tetszőleges szó. Legyenek S0, S1, S2, S3, a /∈ VN ∪ VT and G′ =(V ′N , V

′T , S0, H

′) az a 1 típusú grammatika, amelyre

V ′N = VN ∪ VT ∪ {S0, S1, S2, S3}, V ′T = {a}.

A H ′-beli szabályokat pedig a következőképpen definiáljuk:

P −→ Q ∈ H ′ ha P −→ Q ∈ H és |P | ≤ |Q|;

P −→ QSk1 ∈ H ′ ha P −→ Q ∈ H és |P | = |Q|+ k, k > 0;

S1A −→ AS1 ha A ∈ VN ∪ VT .

Továbbá

S0 −→ SS1S2, pS1 −→ a|p|S1, S3S1 −→ aS3, S3S2 −→ aa

szabályok is H ′-beliek. Megmutatható, hogy L(G′) 6= ∅ akkor és csak akkor,ha p ∈ L(G). Mivel a mondatszerkezetű nyelvek osztálya nem rekurzív, ezértaz 1 típusú nyelvek osztálya esetén az üresség problémája algoritmikusannem dönthető el.

Ha a H ′-beli szabályokat kiegészítjük az S1 −→ S1S1 szabállyal, akkorL(G′) akkor és csak akkor végtelen, ha p ∈ L(G). Ez azt jelenti, hogy avégtelenség problémája az 1 típusú nyelvek osztálya esetén algoritmikusanszintén nem dönthető el. �

Algoritmikusan eldönthetetlen még például, hogy adott ábécé feletti kétkörnyezetfüggetlen nyelv metszete vagy egy környezetfüggetlen nyelv komple-mentere üres, véges (végtelen), reguláris, környezetfüggetlen. Algoritmikusaneldönthetetlen az is, hogy egy környezetfüggetlen nyelv reguláris. Továbbáadott ábécé feletti két környezetfüggetlen nyelv egyenlő vagy az egyik tartal-mazza a másikat. Ezek a vizsgálatok is megtalálhatja Arto Salomaa [55]már az előző fejezetben említett monográfiájában.

342

Page 343: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

VII. NYELVEK ÉS AUTOMATÁKEbben a részben a formális nyelveket automaták segítségével állítjuk elő. Atéma szép feldolgozása található Gécseg Ferenc [24] egyetemi jegyzeté-ben. A nyelvek automatában való előállítása lehetővé teszi azt is, hogy avéges automaták analízisének és szintézisének problémáját kimenő jel nélküliautomaták vizsgálatára vezessük vissza.

40. Nyelvek előállítása automatákbanHa az A = (A,A0, X, δ) iniciális kimenő jel nélküli automata A 6= ∅ állapothalmazának egy F részhalmazát kitüntetjük, akkor a felismerő automatavagy akceptor fogalmához jutunk. Az F halmazt a végállapotok halmazánaknevezzük, az automatára pedig az AF = (A,A0, X, δ;F ) jelölést használjuk.Ha F = ∅, akkor az AF automatát azonosítjuk A-val. Azt mondjuk, hogyaz X feletti L nyelv előállítható az AF = (A,A0, X, δ;F ) automatában, vagymás szóval az A automata felismeri vagy elfogadja az L nyelvet, ha

(40.1) L = {p ∈ X∗; a0p ∈ F, a0 ∈ A0}.

Ebben az esetben használjuk az L = L(A, A0, F ) jelölést. Úgy is mondjuk,hogy az L nyelvet az A = (A,A0, X, δ) automata (az F (⊆ A) halmazzal)előállítja vagy felismeri vagy elfogadja. Az ∅ üres nyelvet bármely iniciáliskimenő jel nélküli automata felismeri, mégpedig az ∅ üres halmazzal. HaF = {a}, akkor az F = a jelölést is használjuk és úgy beszélünk, hogy Aelőállítja az L nyelvet az a állapottal.

A (40.1) definícióból adódik, hogy

L(A, A0, F ) = ∪a0∈A0L(A, a0, F ),

azaz elegendő egy kezdő állapotú automatákat tekinteni. Az egy kezdő álla-potú felismerő automatákat Rabin–Scott automatáknak nevezzük. A definí-cióból az is látható, hogy elegendő iniciálisan összefüggő Rabin–Scott auto-matákra szorítkozni.

Bármely X feletti L nyelv előállítható iniciálisan összefüggő szabad au-tomatában. Ha ugyanis X∗ = (X∗, X, δ) a (3.13) feltétellel definiált iniciálisösszefüggő szabad automata, akkor az X∗L = (X∗, e,X, δ;L) Rabin–Scottautomata pontosan az L nyelvet állítja elő.

Megállapodunk abban is, hogy felismerő automata homomorf képe isfelismerő automata legyen, mégpedig úgy, hogy a homomorfizmus iniciálishomomorfizmus legyen. Továbbá egy állapot képe akkor és csak akkor le-gyen végállapot, ha az állapot maga is végállapot. Az AF = (A, a0, X, δ;F )

343

Page 344: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Rabin–Scott automatát kiegészítjük az AF,µ = (A, a0, X, Y, δ, µ) Moore au-tomatává, ahol Y = {0, 1}, továbbá bármely a ∈ A állapot esetén µ(a) = 1,ha a ∈ F és µ(a) = 0, ha a /∈ F . Az AF,µ-t az AF Rabin–Scott automatáhozrendelt Moore automatának nevezzük. A Rabin–Scott automatához rendeltMoore automata működését úgy képzelhetjük el, hogy "igen"-t mond akkor,ha p ∈ L (µ(a0p) = 1) ill. "nem"-et mond, ha p /∈ L (µ(a0p) = 0). Vagyis,ha αa0 : X∗ → {0, 1}∗ az AF,µ Moore automata által indukált, (9.7)-bendefiniált automataleképezés, akkor

L = {p ∈ X∗;αa0(p) ∈ {0, 1}∗1}.

Rabin–Scott automata kongruenciáin a hozzá rendelt Moore automata kong-ruenciáit értjük. Felismerő automatát egyszerű nek nevezzük, ha a hozzátartozó Moore automata egyszerű. Az AF = (A, a0, X, δ;F ) és BF ′ =(B, b0, X, δ

′;F ′) Rabin–Scott automatákat akkor nevezzük ekvivalensnek, haugyanazt a nyelvet ismerik fel. automatát

Az AF = (A, a0, X, δ;F ) Rabin–Scott automata karakterisztikus félcso-portján az A = (A,X, δ) kimenő jel nélküli automata karakterisztikus félcso-portját értjük. A 7.5. Tétel szerint ez egyenlő a Rabin–Scott automatáhozrendelt Moore automata karakterisztikus félcsoportjával.

A definícióból nyilvánvaló, hogy minden Rabin–Scott automata egyetlennyelvet állít elő, de egy nyelvet több automata is előállíthat. Igaz azonban akövetkező tétel.

40.1 Lemma Rabin–Scott automaták akkor és csak akkor ekvivalensek, haa hozzájuk rendelt Moore automaták iniciálisan Moore-ekvivalensek.Iniciálisan összefüggő ekvivalens Rabin–Scott automatákhoz rendelt Mooreautomaták Moore-ekvivalensek.

Bizonyítás. Legyenek az AF = (A, a0, X, δ;F ) és a BF ′ = (B, b0, X, δ′;F ′)

Rabin–Scott automatákhoz rendelt AF,µ és BF ′,µ′ Moore automaták iniciá-lisan Moore-ekvivalensek. Akkor ebből, (11.4)-et is felhasználva, következik,hogy bármely p ∈ X∗ szóra

a0p ∈ F ⇐⇒ b0p ∈ F ′,

s így L(A, F ) = L(B, F ′).Megfordítva, tegyük fel, hogy az AF és a BF ′ Rabin–Scott automatákra

L(A, F ) = L(B, F ′), azaz minden p ∈ X∗ bemenő szóra µ(a0p) = µ′(b0p)teljesül. Az átmenetfüggvény (1.5) és a jelfüggvény (1.7) kiterjesztése szerintminden p = x1x2 . . . xk ∈ X+ bemenő szóra

µ(δ(a0, p)) = µ((a0x1)(a0x1x2) . . . (a0x1x2 . . . xk)) =

344

Page 345: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

= µ(a0x1)µ(a0x1x2) . . . µ(a0x1x2 . . . xk) =

= µ′(b0x1)µ′(b0x1x2) . . . µ′(b0x1x2 . . . xk) =

= µ′((b0x1)(b0x1x2) . . . (b0x1x2 . . . xk)) = µ′(δ′(b0, p)).

Ez, (9.7)-et is felhasználva azt jelenti, hogy AF,µ és BF ′,µ′ iniciálisan Moore-ekvivalensek.

A 11.2. Tétel szerint iniciálisan összefüggő iniciálisan Moore-ekvivalensautomaták Moore-ekvivalensek is. �

Legyen L tetszőleges X ábécé feletti nyelv. Definiáljuk az X∗ szabadfélcsoporton a τL és a ϑL (binér) relációkat a

(40.2) (p, q) ∈ τL ⇐⇒ (∀r ∈ X∗)(pr ∈ L ⇐⇒ qr ∈ L)

illetve a

(40.3) (p, q) ∈ ϑL ⇐⇒ (∀r, s ∈ X∗)(spr ∈ L ⇐⇒ sqr ∈ L)

feltételekkel. Nem nehéz belátni, hogy τL jobb kongruencia, ϑL pedig kong-ruencia X∗-on, továbbá ϑL ⊆ τL. Ha L = ∅, akkor ϑL = τL = ωX∗ . Az islátható, hogy L τL-osztályok, s így ϑL-osztályok egyesítése is.

40.2 Lemma Legyen τ tetszőleges jobb kongruencia [kongruencia] X∗-on ésL 6= ∅ tetszőleges nyelv X felett. Az L nyelv akkor és csak akkor τ -osztályokegyesítése, ha τ ⊆ τL [τ ⊆ ϑL].

Bizonyítás. Legyen τ egy jobb kongruencia X∗-on és az L 6= ∅ egy Xfeletti nyelv. Tegyük fel, hogy (p, q) ∈ τ (p, q ∈ X∗). Akkor minden r ∈ X∗szóra (pr, qr) ∈ τ . Ha L τ -osztályok egyesítése, úgy pr ∈ L akkor és csakakkor, ha qr ∈ L, azaz (p, q) ∈ τL, vagyis τ ⊆ τL. Hasonlóan látható be,hogy ha τ kongruencia és L τ -osztályok egyesítése, akkor τ ⊆ ϑL. Az állításmegfordítása nyilvánvalóan igaz. �

40.3 Lemma Az X∗ szabad monoid tetszőleges ϑ bal kongruenciájára, ϑ ⊆τL akkor és csak akkor, ha ϑ ⊆ ϑL.

Bizonyítás. Ha ϑ bal kongruencia X∗-on és ϑ ⊆ ϑL, akkor ϑ ⊆ τL. Meg-fordítva, legyen ϑ bal kongruencia X∗-on és ϑ ⊆ τL. Tegyük fel, hogy(p, q) ∈ ϑ (p, q ∈ X∗). Ez azt jelenti, hogy minden s ∈ X∗ szóra (sp, sq) ∈ ϑ.Mivel ϑ ⊆ τL, ezért (sp, sq) ∈ τL, így minden r ∈ X∗ szóra spr ∈ L akkor éscsak akkor, ha sqr ∈ L, azaz (p, q) ∈ ϑL. Amiből kapjuk, hogy ϑ ⊆ ϑL. �

A ϑL kongruenciát szintaktikus kongruenciának nevezzük, s X+-ra va-ló szűkítését az egyszerűség kedvéért továbbra is ϑL-lel jelöljük. Az S(L)félcsoportot L szintaktikus félcsoportjának nevezzük, ha izomorf az X+/ϑL

345

Page 346: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

faktorfélcsoporttal. Hasonlóan beszélhetünk L szintaktikus monoidjáról is,ha ϑL-et X+ helyett X∗-n tekintjük. Hasonlóan a τL jobb kongruenciát szin-taktikus jobb kongruenciának hívjuk,

Legyen A = (A, a0, X, δ) tetszőleges iniciális kimenő jel nélküli automataés ρA,a0 az X∗ bemenő félcsoporton a (7.1) feltétellel definiált jobb kongru-encia, azaz tetszőleges p, q ∈ X∗ bemenő szavakra

(p, q) ∈ ρA,a0 ⇐⇒ a0p = a0q.

Legyen továbbá ρA az X∗ bemenő félcsoporton a (7.2) feltétellel megadottkongruencia, vagyis

(p, q) ∈ ρA ⇐⇒ (∀a ∈ A)(ap = aq).

40.4 Tétel Bármely X feletti L 6= ∅ nyelv esetén ekvivalensek a következőállítások:(i) Az L nyelv előállítható az A = (A, a0, X, δ) automatában az állapothal-maz valamely részhalmazával;(ii) Az L nyelv előállítható ρA,a0-osztályok egyesítéseként;(iii) ρA,a0 ⊆ τL.

Bizonyítás. Az (i) =⇒ (ii) implikáció igazolásához tegyük fel, hogy az Lnyelv előállítható az AF Rabin–Scott automatában. Tetszőleges p, q ∈ X∗

szavakra a p ∈ L és a (p, q) ∈ ρA,a0 feltételekből következik, hogy a0p ∈ F ésa0p = a0q. Ez azt jelenti, hogy q ∈ L, ezért L ρA,a0-osztályok egyesítése.

Megfordítva, az (ii) =⇒ (i) implikáció megmutatásához tegyük fel, hogyaz L nyelv előállítható a Ci (i ∈ I) ρA,a0-osztályok egyesítéseként. Válasszunkki az I indexhalmaz minden i elemére a Ci osztályból egy pi szót. Ha F ={a0pi; i ∈ I}, akkor az AF Rabin–Scott automata előállítja az L nyelvet.

Az (ii)⇐⇒ (iii) ekvivalencia könnyen következik a 40.2. Lemmából. �

40.5 Lemma Ha az X feletti L 6= ∅ nyelv előállítható az A = (A, a0, X, δ)automatában az állapothalmaz valamely részhalmazával, akkor ρA ⊆ ϑL.

Bizonyítás. Mivel ρA ⊆ ρA,a0 , ezért a 40.4 Tétel (iii) állításából következik,hogy ρA ⊆ τL. A 40.3. Lemma szerint ρA ⊆ ϑL. �

A 40.2. Lemma alapján ez azt is jelenti, hogy az L nyelv előállíthatóρA-osztályok egyesítéseként is.

40.6 Tétel Ha az X feletti L 6= ∅ nyelv előállítható az A = (A, a0, X, δ) au-tomatában az állapothalmaz valamely részhalmazával, akkor az S(L) szin-taktikus félcsoport [monoid] az S(A) karakterisztikus félcsoport [monoid]homomorf képe. Ha az A automata iniciálisan összefüggő és egyszerű, akkorS(A) = S(L).

346

Page 347: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A 40.5. Lemmából következik, hogy ρA ⊆ ϑL. Ebből a másodikizomorfia-tételt alkalmazva, kapjuk a tétel első állítását.

Legyen a AF automata iniciálisan összefüggő és a hozzá rendelt AF,µ

Moore automata egyszerű. Megmutatjuk, hogy ϑL ⊆ ρA. Legyen (p, q) ∈ϑL (p, q ∈ X∗), azaz minden s, r ∈ X∗ párra spr ∈ L akkor és csak akkor, hasqr ∈ L. Ha az A automata az L nyelvet az F (⊆ A) halmazzal állítja elő,akkor ebből következik, hogy minden s, r ∈ X∗ párra a0spr ∈ F akkor és csakakkor, ha a0sqr ∈ F . Mivel A iniciálisan összefüggő, azaz A = {a0s; s ∈ X∗},ezért minden a ∈ A állapotra és r ∈ X∗ bemenő szóra apr ∈ F akkorés csak akkor, ha aqr ∈ F , azaz µ(apr) = µ(aqr). A µ jelfüggvény (1.7)kiterjesztését is figyelembe véve, kapjuk, hogy minden a ∈ A és r ∈ X∗ eseténµ(δ(ap, r)) = µ(δ(aq, r)). De az A-hoz rendelt Moore automata egyszerű, ígyminden a ∈ A állapotra ap = aq, azaz (p, q) ∈ ρA, vagyis ϑL ⊆ ρA, s ígyϑL = ρA. Ezzel bebizonyítottuk, hogy S(A) = S(L). �

40.7 Tétel Ekvivalens iniciálisan összefüggő Rabin–Scott automaták közöttizomorfiától eltekintve egyetlen olyan automata van, amely a többi homomorfképe.

Bizonyítás. Legyen L tetszőleges X feletti nyelv. Definiáljuk az X∗/τL =(X∗/τL, τL[e], X, δ) iniciális automata δ átmenetfüggvényét úgy, hogy mindenτL[p] ∈ X∗/τL és x ∈ X esetén

(40.4) δ(τL[p], x) = τL[px]

teljesüljön, ahol e szokásosan az üres szót jelenti. Mivel τL jobb kongruenciaX∗-on, ezért δ jól definiált. Az átmenetfüggvény (1.4) és (1.5) kiterjesztéseszerint δ(τL[e], e) = τL[e] és minden p = x1x2 . . . xk ∈ X+ bemenő szóra

δ(τL[e], p) = τL[x1]τL[x1x2] . . . τL[p].

Így az L nyelv előállítható az állapothalmaz {τL[p]; p ∈ L} részhalmazával.Tegyük fel, hogy L-et felismeri az AF = (A, a0, X, δ;F ) iniciálisan össze-

függő Rabin–Scott automata. Tekintsük az AF automatához rendelt AF,µ

Moore automatát. Legyen πmax az AF,µ Moore automata (11.4)-ben de-finiált maximális kongruenciája. Nem nehéz megmutatni, hogy tetszőle-ges p, q ∈ X∗ bemenő szavakra (a0p, a0q) ∈ πmax akkor és csak akkor, ha(p, q) ∈ τL. Az a ϕ : A/πmax → X∗/τL leképezés, amelyre minden p ∈ X∗esetén ϕ(πmax[a0p]) = τL[p] teljesül, az A/πmax egyszerű Moore automa-ta izomorf leképezése az X∗/τL automatára. Továbbá, ha a kezdő állapotπmax[a0], akkor az L nyelv előállítható az állapothalmaz {πmax[a0p]; p ∈ L}részhalmazával. Vagyis X∗/τL az AF Rabin–Scott automata homomorf képe.�

347

Page 348: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 40.7. Tétel szerint X∗/τL minimális abban az értelemben, hogy haAF = (A, a0, X, δ;F ) tetszőleges L-et felismerő Rabin–Scott automata, akkor|X∗/τL| ≤ |A|.

Gyakorlati szempontból fontosak a véges automatákban előállítható nyel-vek. Az alábbi tétel nyelvek véges automatákban való előállításának néhányszükséges és elégséges feltételét adja. A tételből az is látható, hogy egy nyelvakkor és csak akkor állítható elő véges automatában, ha szintaktikus félcso-portja véges.

40.8 Tétel Bármely X véges ábécé feletti L 6= ∅ nyelv esetén ekvivalenseka következő állítások:(i) Az L nyelv előállítható véges iniciális automatában az állapothalmaz va-lamely nemüres részhalmazával;(ii) Az L nyelv megadható X∗ egy véges indexű kompatibilis osztályozásáhoztartozó osztályok egyesítéseként;(iii) A τL jobb kongruencia véges indexű;(iv) Az ϑL szintaktikus kongruencia véges indexű.

Bizonyítás. Megmutatjuk, hogy az (i) feltételből következik az (ii) feltétel.Tegyük fel, hogy az L nyelv felismerhető az A = (A, a0, X, δ) automatában azF 6= ∅ halmazzal. A ρA,a jobb kongruencia (7.1) definíciójából látható, hogyminden a ∈ A állapotra |X∗/ρA,a| ≤ |A|, azaz minden ρA,a jobb kongruenciavéges indexű. Véges sok véges indexű jobb kongruencia közös része is végesindexű, ezért, (7.2) szerint, a ρA kongruencia is véges indexű. A 40.4. Tétel(ii) állítása szerint L megadható ρA,a0-osztályok egyesítéseként. Mivel ρA ⊆ρA,a0 , ezért L megadható ρA-osztályok egyesítéseként is.

Az (ii) =⇒ (iii) implikáció igazolásához tegyük fel, hogy az L nyelvmegadható ρ-osztályok egyesítéseként, ahol ρ az X∗ egy véges indexű kong-ruenciája. A 40.2. Lemma szerint ρ ⊆ τL, ezért τL is véges indexű.

A 40.7. Tétel bizonyítása szerint a (iii) feltételből következik az (i) fel-tétel.

Az (i) =⇒ (iv) implikáció igazolásához tegyük fel, hogy az L nyelv előál-lítható az A = (A, a0, X, δ) véges iniciális automatában az állapothalmaz va-lamely nemüres részhalmazával. A 7.2. Lemma alapján az A állapothalmazvégességéből következik, hogy az S(A) karakterisztikus félcsoport is véges.A 40.6. Tétel felhasználásával kapjuk, hogy az S(L) szintaktikus félcsoportis véges, azaz ϑL véges indexű.

Legyen a ϑL kongruencia véges indexű. De ϑL ⊆ τL, ezért τL is végesindexű. Tehát az (iv) feltételből következik az (iii) feltétel. �

Tegyük fel, hogy az X ábécé feletti L nyelv előállítható véges automatá-ban. Az L nyelv súlyán azt az s(L) nemnegatív egész számot értjük, amely-

348

Page 349: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

re L előállítható s(L) állapotú automatában és ha L előállítható valamelyA = (A,X, δ) automatában, akkor s(L) ≤ |A|.

40.9 Tétel ValamelyX ábécé feletti véges automatában előállítható L nyelvsúlya megegyezik a τL jobb kongruencia indexével.

Bizonyítás. A 40.7. és a 40.8. Tételek alapján, ha egy X feletti L nyelvelőállítható véges automatával, akkor az X∗/τL automata a legkisebb álla-potszámú L-et előállító automata. �

A 40.7. Tétel bizonyítása szerint, ha az AF = (A, a0, X, δ;F ) véges inici-álisan összefüggő Rabin–Scott automata felismeri az L nyelvet, akkor a AF

automatához rendelt AF,µ Moore automatából az Aufenkamp–Hohn algorit-mussal megkonstruálható az AF,µ/πmax egyszerű Moore automata, amely-ből πmax[a0] kezdő állapottal és a végállapotok {πmax[a]; a ∈ F} halmazávala X∗/τL Rabin–Scott automatával izomorf Rabin–Scott automatát kapunk.Megjegyezzük, hogy a µ jelfüggvény definíciója miatt a (12.7)-ben definiáltζ0-osztályok F és A−F . Továbbá 12.2. Lemma szerint (a, b) ∈ ζi+1 akkor éscsak akkor, ha (a, b) ∈ ζi és minden x ∈ X bemenő jelre (δ(a, x), δ(b, x)) ∈ ζi.

40.10 Példa Az alábbi átmenetgráffal megadott, 0 kezdő állapotú iniciáli-san összefüggő automata a végállapotok {3, 4} halmazával az L = x{x, y}+

nyelvet ismeri fel.

����

����

���� ��

��? ?

-QQQQQs

��

���+�

�����6 6

0 1

4

2 3

x

xy

y

x, y x, y

x, y

12. ábra.

Az Aufenkamp–Hohn algoritmussal megadjuk meg az L nyelvet felismerőegyszerű automatát.

349

Page 350: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A ζ0-osztályok: {0, 1, 2}, {3, 4}, a ζ1-osztályok: {0, 2}, {1}, {3, 4}, a ζ2-osztályok: {0}, {1}, {2}, {3, 4}. Továbbá ζ3 = ζ2, azaz πmax = ζ2. Tehát azegyszerű automata négyállapotú, állapotai: a = {0}, b = {1}, c = {2}, d ={3, 4}. A kezdő állapot a és a végállapot d. Az egyszerű automata átmenet-gráfját is könnyen felrajzolhatjuk.

Formális nyelvek nemdeterminisztikus automatákkal is felismerhetők. Afejezetet e fogalom ismertetésével zárjuk. Azt mondjuk, hogy az X feletti Lnyelvet az A = (A,A0, X, δ) nemdeterminisztikus kimenő jel nélküli iniciálisautomata az F (⊆ A) halmazzal előállítja vagy felismeri vagy elfogadja, ha

(40.5) L = {p ∈ X∗; δ′(A0, p) ∩ F 6= ∅},

ahol az (1.19) definíció szerint δ′(A0, p) a kezdő állapotok A0 halmazából pszóval elérhető állapotok halmazát jelöli. Determinisztikus esetben ez a defi-níció megegyezik a (40.1) definícióval. (Az egyelemű halmazokat azonosítjukelemükkel.)

Az A = (A,A0, X, δ) iniciális nemdeterminisztikus automata akkor éscsak akkor ismeri fel az L nyelvet az F halmazzal, ha az (1.16)-(1.19) fel-tételekkel megadott P(A) = (P (A), A0, X, δ

′) iniciális hatványautomatájafelismeri L-t a

(40.6) T = {B ∈ P (A);B ∩ F 6= ∅}

halmazzal.Mivel minden X feletti nyelv felismerhető determinisztikus automatával,

sőt (3.13) szerint speciálisan iniciálisan összefüggő automatával is, ezért anemdeterminisztikus automatákkal felismert X feletti nyelvek megyegyezneka determinisztikus automatákkal felismert X feletti nyelvekkel, azaz az Xfeletti nyelvekkel. Az 1. fejezetben megállapodtunk abban, hogy egy auto-mata, ha mást nem mondunk, akkor teljesen definiált és determinisztikus, sígy a nemdeterminisztikus automaták osztályának valódi részosztálya. Ezértazt várnánk, hogy a véges nemdeterminisztikus automatákkal előállíthatónyelvek osztálya bővebb a véges automatákkal előállítható nyelvek osztályá-nál. Az alábbiakban megmutatjuk, hogy ez nincs így. Ennek ellenére azértfoglalkozunk a nemdeterminisztikus automatákkal, mert ezek és több analo-gonjuk későbbi konstrukciókban fontos szerepet játszanak.

40.11 Tétel A véges nemdeterminisztikus automatákkal előállítható nyel-vek megegyeznek a véges automatákkal előállítható nyelvekkel.

Bizonyítás. Mivel minden véges automata megállapodás szerint teljesendefiniált és determinisztikus, így definíció szerint nem determinisztikus is.

350

Page 351: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ezért, ha egy nyelv előállítható véges automatával, akkor előállítható végesnemdeterminisztikus automatával is.

Megfordítva, tegyük fel, hogy az X feletti L nyelv előállítható az A =(A,A0, X, δ) (A0 ⊆ A) véges iniciális nemdeterminisztikus automatában azF (⊆ A) halmazzal. Inicializáljuk az P(A) hatványautomatát az A0 álla-pottal, azaz legyen P(A) = (P (A), A0, X, δ

′). Akkor (40.6) szerint az P(A)véges automata felismeri L-t a T = {B ∈ P (A);B ∩ F 6= ∅} halmazzal. �

Feladatok40.1. Az A = (A, a0, X, δ) véges automatában az állapothalmaz F részhalmazávalelőállítható L nyelv akkor és csak akkor véges, ha a δ(a0, p) (a0p ∈ F ) sorozatokkülönböző állapotokból állnak.40.2. Ha az L 6= ∅ nyelv előállítható az A = (A,A0, X, δ) nemdeterminisztikusautomatában az F halmazzal, akkor az L nyelv L−1 tükörképe előállítható azAd = (A,F,X, δd) duális automatában az A0 halmazzal.

41. Reguláris nyelvekA 40.8. és a 40.11. Tételekben a véges automatákkal előállítható nyelvekkelfoglalkoztunk. A következő tételben megmutatjuk, hogy a véges ábécé felettireguláris nyelvek éppen a véges automatákkal előállítható nyelvek.

41.1 Tétel (Kleene tétele) Véges ábécé feletti nyelv akkor és csak akkorreguláris, ha előállítható véges automatában.

Bizonyítás. Először megmutatjuk azt, hogy bármely X = {x1, x2, . . . , xm}ábécé feletti reguláris nyelv előállítható véges automatában. A bizonyítástúgy végezzük el, hogy megadunk olyan véges automatákat, amelyek előállít-ják az ∅ üres nyelvet, az e nyelvet és az xj (j = 1, 2, . . .m) elemi nyelveket.Ezután megmutatjuk, hogy a véges automatákban előállítható X feletti nyel-vek halmaza zárt a reguláris műveletekre. Ez pontosan azt jelenti, hogy azX feletti reguláris nyelvek előállíthatók véges automatákban.

Az ∅ üres nyelv tetszőleges véges automatában előállítható az állapothal-maz üres részhalmazával.

Az e üres szóból álló egyelemű nyelv előállítható abban az

A = ({a0, a}, a0, X, δ)

kétállapotú (beállító) automatában az a0 állapottal, amelyben minden x ∈ Xbemenő jelre

δ(a0, x) = δ(a, x) = a

351

Page 352: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

teljesül.Bármely xi ∈ X egyelemű nyelv előállítható az

Ai = ({a0, a1, a2}, a0, X, δi)

automatában az a1 állapottal, amelynek állapotfüggvényét minden xj ∈ Xbemenő jelre a

δi(ak, xj) =

a1, ha k = 0, j = i,a2, ha k = 0, j 6= i,a2, ha k = 1, 2

összefüggéssel definiáljuk.Legyenek L1 és L2 olyan X feletti nyelvek, amelyek előállíthatók az A1 =

(A1, a10, X, δ1) ill. az A2 = (A2, a20, X, δ2) véges automatákban az F1 ill. F2

halmazokkal. Feltehetjük, hogy L1 6= L2. (Az L1 = L2 esetben L1 + L2 =L1 = L2) Megmutatjuk, hogy az L1 + L2 nyelv előállítható az A = A1 ×A2 direkt szorzatban, amely szintén véges, az F = (F1 × A2) ∪ (A1 × F2)halmazzal. (A kezdő állapot természetesen (a10, a20).) Legyen először p ∈L1 + L2. Akkor p ∈ L1 vagy p ∈ L2. Szimmetria okokból elegendő a p ∈ L1

esettel foglalkozni. Ekkor a10p ∈ F1, s (14.13) szerint

(a10, a20)p = (a10p, a20p) ∈ F1 × A2.

Ezzel megmutattuk, hogy L1 + L2 ⊆ L(A, F ). Megfordítva, legyen p ∈L(A, F ). Ekkor

(a10p, a20p) = (a10, a20)p ∈ F.Ezért a10p ∈ F1 vagy a20p ∈ F2, azaz p ∈ L1 vagy p ∈ L2, vagyis p ∈ L1 +L2,amivel beláttuk az L(A, F ) ⊆ L1 +L2 tartalmazást, s így L1 +L2 = L(A, F ).Tehát a véges automatákban előállítható X feletti nyelvek halmaza zárt azösszeadás műveletére.

Legyenek továbbra is L1 és L2 olyan X feletti nyelvek, amelyek előállít-hatók az A1 = (A1, a10, X, δ1) ill. az A2 = (A2, a20, X, δ2) véges automa-tákban az F1 ill. F2 halmazokkal. Feltehetjük, hogy L1 6= ∅ és L2 6= ∅.(Ha L1 = ∅ vagy L2 = ∅, akkor L1L2 = ∅.) Vegyük fel az A2 automataP(A2) = (P (A2), X, δ′2) hatványautomatáját (l. (1.9)). Definiáljuk a

B = (A1 × P (A2), (a10, ∅), X, δ)

véges iniciális automatát úgy, hogy minden a1 ∈ A1, B2 ∈ P (A2) és x ∈ Xesetén

δ((a1, B2), x) =

{(δ1(a1, x), δ′2(B2, x)) ha δ1(a1, x) /∈ F1,(δ1(a1, x), δ′2(B2, x) ∪ a20), ha δ1(a1, x) ∈ F1

352

Page 353: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

teljesüljön. Terjesszük ki a δ átmenetfüggvény értelmezését az (A1×P (A2))×X∗ halmazra (1.4) és (1.5) szerint a szokásos módon, felhasználva azt, hogyminden x ∈ X bemenő jelre δ′2(∅, x) = ∅.

Bármely a1 ∈ A1 állapotra és p ∈ X∗ bemenő szóra definiáljuk az

R2(p) = {a20r; p = qr, a1q ∈ F1}

halmazt. A δ átmenetfüggvény definíciójából következik, hogy

(a10, ∅)p = (a10p,R2(p)).

Azt állítjuk, hogy a B automata előállítja az L1L2 nyelvet az F = A1 × T2

halmazzal, ahol T2 = {B2 ∈ P (A2);B2 ∩ F2 6= ∅}. Ha ugyanis p ∈ L1L2,akkor p = qr, ahol q ∈ L1 és r ∈ L2. Ezért R2(p) 6= ∅ és

(a10, ∅)p = (a10p,R2(p)) ∈ A1 × T2.

Kaptuk, hogy L1L2 ⊆ L(B, F ). Legyen p ∈ L(B, F ), azaz

(a10p,R2(p)) = (a10, ∅)p ∈ A1 × T2.

Ha p minden q kezdőszeletére a10q /∈ F1, akkor R2(p) = ∅, ami T2 definíciójamiatt lehetetlen. Ezért vannak olyan q, r ∈ X∗, hogy p = qr és a10q ∈ F1.Ez azt jelenti, hogy R2(p) ∩ F2 6= ∅. Így vannak olyan q, r ∈ X∗, hogyp = qr, a10q ∈ F1 és a20r ∈ F2, vagyis p ∈ L1L2. Ami az L(B, F ) ⊆L1L2 tartalmazást bizonyítja. Tehát L1L2 = L(B, F ). Ezzel megmutattuk,hogy a véges automatákban előállítható X feletti nyelvek halmaza zárt akonkatenáció műveletére.

Legyen végül az X feletti L nyelv olyan, amely előállítható az A =(A, a0, X, δ) véges automatában az állapothalmaz F részhalmazával. Fel-tehetjük, hogy L 6= ∅ és L 6= e. (Ha L = ∅ vagy L = e, akkor L∗ = e.)Definiáljuk a A = (P (A), a0, X, δ) nemdeterminisztikus automata δ átme-netfüggvényt úgy, hogy minden a ∈ A állapotra és x ∈ X bemenő jelreteljesüljön a

δ(a, x) =

{δ(a, x), ha δ(a, x) /∈ F ,{δ(a, x), a0}, ha δ(a, x) ∈ F

összefüggés. Az (1.16) alapján adjuk meg az A automata

P(A) = (P (A), X, a0, δ′)

hatványautomatáját. Legyen T = {B ∈ P (A);B ∩ F 6= ∅}. Megmutatjuk,hogy az L nyelv L+ e-mentes iteráltja előállítható a P(A) automatában a T

353

Page 354: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

halmazzal. Először azt látjuk be a kitevő szerinti teljes indukcióval, hogy Lminden pozitiv egész kitevős hatványa részhalmaza az L(P(A), T ) halmaz-nak. Legyen p ∈ L, azaz a0p ∈ F . Az (1.17)-(1.19) feltételeket felhasználvakapjuk, hogy a0p ∈ δ′(a0, p). (Ha p = e, akkor a0p = a0 = δ′(a0, p).) Ezértδ′(a0, p) ∈ T . Ezzel megmutattuk, hogy L ⊆ L(P(A), T ). Tegyük fel minden1 ≤ i < n egész számra, hogy Li ⊆ L(P(A), T ), és legyen p ∈ Ln. Akkorvan olyan q ∈ L és r ∈ Ln−1, hogy p = qr. Definíció szerint a0q ∈ F , azindukciós feltevés szerint pedig δ′(a0, r) ∈ T . Mivel a0q ∈ F , ezért δ függvénydefiníciója miatt a0 ∈ δ′(a0, q). Így δ′(a0, r) ⊆ δ′(a0, p), ezért δ′(a0, p) ∈ T .Ami azt jelenti, hogy minden pozitiv egész n-re Ln ⊆ L(P(A), T ), azazL+ ⊆ L(P(A), T ).

Legyen most p ∈ L(P(A), T ), vagyis δ′(a0, p) ∈ T , amiből következik,hogy δ′(a0, p) ∩ F 6= ∅. Ha p = e, akkor a0 ∈ F , s ezért p ∈ L. Tegyükfel, hogy p 6= e. A p szónak van olyan q ∈ X+ prefixe, amelyre a0q ∈ F .(Ellenkező esetben δ′(a0, p) = a0p, s így a0p ∈ F , ami lehetetlen.) Legyenq1 ∈ X+ a p szó legrövidebb prefixe, amelyre a0q1 ∈ F . Ha q1 = p, akkorp ∈ L. Ha p = q1p1 (p1 ∈ X+), akkor, (1.19)-at is felhasználva, kapjuk, hogy

δ′(a0, p) = δ′({a0q1, a0}, p1) = δ′(a0q1, p1) ∪ δ′(a0, p1).

A p1 szónak van olyan q′ ∈ X+ prefixe, hogy a0q1q′ ∈ F vagy a0q

′ ∈ F .(Ellenkező esetben δ′(a0q1, p1) = a0q1p1 vagy δ′(a0, p1) = a0p1, de δ′(a0, p) ∩F 6= ∅ miatt a0q1p1 ∈ F vagy a0p1 ∈ F , ami lehetetlen.) Legyen q2 ∈ X+ ap1 szó legrövidebb prefixe, amelyre a0q1q2 ∈ F vagy a0q2 ∈ F . Ha q1q2 = p,akkor p ∈ L+ L2. Ha p = q1q2p2 (p2 ∈ X+), akkor

δ′(a0, p) = δ′(a0q1, p1) ∪ δ′(a0, p1) = δ′(a0q1q2, p2) ∪ δ′(a0q2, p2) ∪ δ′(a0, p2).

Az eljárást véges sokszor megismételve azt kapjuk, hogy van olyan n po-zitív egész szám, hogy p ∈ L + L2 + · · · + Ln. Ebből következik, hogyL(P(A), T ) ⊆ L+, s így L(P(A), T ) = L+. Mivel a véges automaták-ban előállítható X feletti nyelvek halmaza zárt az összeadás műveletére ésL∗ = L+ + e, ezért L∗ is előállítható véges automatában. Ezzel beláttuk aztis, hogy a véges automatákban előállítható X feletti nyelvek halmaza zárt aziteráció műveletére.

Most bebizonyítjuk az állítás megfordítását, azaz azt, hogy minden végesautomatában előállítható nyelv reguláris. Tegyük fel, hogy az X feletti Lnyelv előállítható az AF = (A, a0, X, δ) véges automatában az F halmazzal,azaz L = L(A, F ). Ha L = ∅, akkor definíció szerint reguláris. Tegyük fel,hogy L 6= ∅. Az egyszerűbb írásmód kedvéért legyen A = {1, 2, . . . , n} ésa0 = 1. Ha F = {i1, i2, . . . ik}, akkor nyilvánvalóan érvényes az

(41.1) L(AF ) = L(A, i1) + L(A, i2) + · · ·+ L(A, ik)

354

Page 355: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

összefüggés. Ez azt jelenti, hogy ha az L(A, ij) (j = 1, 2, . . . , k) nyelvekregulárisak, akkor L = L(A, F ) is az. Ezért elegendő bebizonyítani, hogyaz automata állapothalmazának egyelemű részhalmazaival előállított nyelvekregulárisak.

Tetszőleges i, j = 1, 2, . . . , n és k = 0, 1 . . . , n egész számokra jelölje L(k)i,j

azt az X feletti nyelvet, amelyek azokból és csak azokból X∗-beli szavakbóláll, amelyek hatására az A automata az i állapotából a j állapotába megyát úgy, hogy az átmenet során közbülső állapotként legfeljebb az 1, 2, . . . , kállapotok léphetnek fel. Speciálisan L(0)

i,j pontosan azokat a bemenő szavakattartalmazza, amelyek az A automatát az i állapotból közbülső állapot nélkülviszi át a j állapotba. Ilyen jelölés mellett

(41.2) L(A, i) = L(n)1,i ,

ezért elegendő megmutatni, hogy az L(n)1,i nyelv reguláris. Ennél többet fo-

gunk belátni, mégpedig k szerinti teljes indukcióval megmutatjuk ezt mindenL

(k)i,j (1 ≤ i, j ≤ n, 0 ≤ k ≤ n) nyelvre.Legyen k = 0. Nyilvánvaló, hogy ebben az esetben

(41.3) L(0)i,j = {x ∈ X; δ(i, x) = j}.

Mivel X véges halmaz, ezért szükségképpen L(0)i,j is véges. (L(0)

i,j = ∅ is le-hetséges.) De minden véges nyelv reguláris, így k = 0 esetre igaz az állítás.Legyen k ≥ 1. Tegyük fel, hogy az

L(k−1)i,j (1 ≤ i, j ≤ n)

nyelvek mind regulárisak. Megmutatjuk, hogy

(41.4) L(k)i,j = L

(k−1)i,j + L

(k−1)i,k

(L

(k−1)k,k

)∗L

(k−1)k,j

igaz, ami azt jelenti, hogy L(k)i,j is reguláris. A definíció alapján világos,

hogy a jobb oldali halmaz része a bal oldalinak. Annak megmutatásához,hogy a bal oldali halmaz is része a jobb oldalinak, tekintsünk egy tetszőlegesp ∈ L

(k)i,j szót. Ha nincs ilyen p szó, akkor ez triviális, mivel L(k)

i,j = ∅. Havan ilyen p szó, akkor különböztessünk meg két esetet. Ha p úgy viszi át azA automatát az i állapotból a j állapotba, hogy a közbülső állapotok közöttnem fordul elő a k állapot, akkor p ∈ L

(k−1)i,j . Ha pedig p úgy viszi át az

A automatát az i állapotból a j állapotba, hogy közbülső állapotként a kállapot is fellép, akkor p ∈ L(k−1)

i,k

(L

(k−1)k,k

)∗L

(k−1)k,j . Ebből már látható, hogy,

a bal oldali halmaz része a jobb oldalinak. Ezzel megmutattuk, hogy minden

355

Page 356: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

k = 0, 1, . . . , n számra minden L(k)i,j (1 ≤ i, j ≤ n) nyelv reguláris. Ami azt

jelenti, hogy minden véges automatában előállítható nyelv reguláris. �Tetszőleges A = (A, a0, X, δ) véges iniciálisan összefüggő automata esetén

jelölje R(X,A) az automatában előállítható nyelvek halmazát.

41.2 Tétel Az X feletti reguláris nyelvek R(X) halmaza a halmazelméletiegyesítés, metszet és komplementerképzés műveletekre Boole algebra, amely-nek, bármely A = (A, a0, X, δ) véges iniciálisan összefüggő automata esetén,R(X,A) véges részalgebrája.

Bizonyítás. Ahhoz, hogy R(X) Boole algebra, elegendő megmutatni, hogyzárt az egyesítés, metszet és komplementerképzésre. Legyenek L1, L2, L ∈R(X) (L1 6= L2) tetszőlegesek. A Kleene tétel bizonyítása során már meg-mutattuk, hogy ha L1 és L2 előállítható az A1 = (A1, a10, X, δ1) ill. az A2 =(A2, a20, X, δ2) véges automatákban az F1 ill. F2 halmazokkal, akkor L1 +L2

előállítható az A = A1×A2 direkt szorzatban F = (F1×A2)∪(A1×F2) hal-mazzal. Nem nehéz belátni, hogy L1 ∩ L2 is előállítható az A automatábanaz F1 × F2 halmazzal.

Továbbá, ha L előállítható az A = (A, a0, X, δ) véges iniciálisan össze-függő automatában az állapothalmaz F részhalmazával, akkor az L nyelvL = X∗ − L komplementere előállítható ugyanebben az automatában azF (= A− F ) halmazzal.

Kleene tétele értelmében ezek azt jelentik, hogy a reguláris nyelvek R(X)halmaza zárt a Boole műveletekre.

Most megmutatjuk, hogy bármely A = (A, a0, X, δ) véges iniciálisanösszefüggő automatában előállítható nyelvek R(X,A) halmaza R(X) vé-ges részalgebrája. Definíció szerint egy X feletti L nyelv akkor és csakakkor állítható elő A-ban az A állapothalmaz egy F részhalmazával, haL = {p ∈ X∗; a0p ∈ F}. Legyenek L,L1, L2 ∈ R(X,A) olyanok, amelyekaz állapothalmaz F, F1 ill. F2 részhalmazával előállíthatók. Nyilvánvaló,hogy L1 = L2 akkor és csak akkor, ha F1 = F2. Ebből következik, hogy|R(X,A)| = |P (A)| = 2n, ahol n = |A|, azaz R(X,A) véges halmaz. A defi-nícióból az is látható, hogy L1+L2, L1∩L2 és L előállítható az F1∪F2, F1∩F2

ill. az F halmazzal. Így R(X,A) zárt a Boole műveletekre nézve, tehát Boolealgebra. �

A 41.2. Tételből azonnal adódik, hogy a reguláris nyelvek R(X) halma-za zárt a kivonásra. (L1 − L2 = L1 ∩ L2 miatt L1 − L2 is előállítható abizonyításban szereplő A automatában az F1 × (A2 − F2) halmazzal.)

Már a 35. fejezetben említettük, hogy R(X) zárt a tükrözésre és mindenp ∈ X∗ szó szerinti bal [jobb] oldali deriválásra. A következő tétel egy újabbszükséges és elégséges feltétel a nyelvek regularitására.

356

Page 357: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

41.3 Tétel Egy véges ábécé feletti nyelv akkor és csak akkor reguláris, havéges sok egymástól különböző bal [jobb] oldali deriváltja van.

Bizonyítás. Legyen L reguláris nyelv X felett. Akkor Kleene tétele szerintlétezik olyan A = (A, a0, X, δ) véges iniciális automata, amelyben L előál-lítható az állapothalmaz valamely F részhalmazával. Világos, hogy bármelyp ∈ X∗ szóra az L nyelv (35.1)-ben definiált p szerinti bal oldali L(b)

p deriváltjaelőállítható az

F (b)p = {a0pq; pq ∈ L}

halmazzal abban a véges iniciális automatában, amelyet A-ból úgy kapunk,hogy benne kezdő állapotként a0 helyett a0p-t választjuk. Nyilvánvaló, hogyF

(b)p az F halmaz egy részhalmaza. Mivel F véges halmaz, ezért véges sok

különböző részhalmaza van. Ez azt jelenti, hogy L-nek véges sok egymástólkülönböző bal oldali deriváltja van.

Tekintsük most az L (35.2)-ben definiált p szerinti L(j)p jobb oldali deri-

váltját. A (35.8) azonosságot is felhasználva, az

L(j)p =

((L(j)

p )−1)−1

=(

(L−1)(b)

p−1

)−1

összefüggéshez jutunk. Ez azt jelenti, hogy L-nek pontosan annyi egymástólkülönböző jobb oldali deriváltja van, mint amennyi egymástól különböző baloldali deriváltja L−1-nek. Mivel L reguláris nyelv, ezért L−1 is reguláris nyelvX felett. Így L−1-nek is véges sok egymástól különböző bal oldali deriváltjavan. Amiből következik, hogy L-nek véges sok egymástól különböző jobboldali deriváltja van.

Megfordítva, tegyük fel, hogy az X feletti L nyelvnek összes különbözőbal oldali deriváltja

L(b)p1, L(b)

p2, . . . , L(b)

pn .

Legyen τL a (40.2)-ben definiált jobb kongruencia. Bármely p és q X∗-beliszóra

L(b)p = L(b)

q ⇐⇒ (p, q) ∈ τL.

Ez azt jelenti, hogy τL véges indexű. Amiből a 40.8. Tétel és Kleene tételeszerint következik, hogy L reguláris.

Tegyük fel most, hogy L-nek véges sok egymástól különböző jobb oldalideriváltja van. Akkor (35.8) szerint az L−1 nyelvnek véges sok egymástólkülönböző bal oldali deriváltja van. Ami az előbbiek szerint azt jelenti, hogyL−1 reguláris nyelv. Ebből következik, hogy L is reguláris nyelv. �

Az automaták analízísének és szintézisének problémájához hasonló mó-don megfogalmazható a véges kimenő jel nélküli automaták analízisének ésszintézisének problémája. A véges kimenő jel nélküli automaták analízisén

357

Page 358: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

olyan algoritmust értünk, amely tetszőleges véges iniciális kimenő jel nélküliautomatában előállított nyelvnek megadja egy reguláris kifejezését.

A véges kimenő jel nélküli automaták szintézisén pedig olyan algoritmustértünk, amely egy reguláris kifejezéssel megadott nyelvhez megad egy inici-ális véges kimenő jel nélküli automatát, amely állapothalmazának valamelyrészhalmazával előállítja a nyelvet.

A Kleene tétel bizonyításából látható, hogy a véges kimenő jel nélküliautomaták analízisének és szintézisének problémája megoldható. Az analízisprobléma egy algoritmikus megoldását a (41.1)-(41.4) összefüggések alkal-mazásával kapjuk. A szintézis problémájának egy algoritmikus megoldásais leolvasható a bizonyításból. A bizonyításból az algoritmus lépéseinek sor-rendje is megkapható. Ez az algoritmus azonban meglehetősen nehézkes,és még egyszerűbb szerkezetű reguláris kifejezéssel megadott nyelv esetén isnagy állapotszámú automatát eredményezhet. Az algoritmus nagymértékbenegyszerűsíthető, ha a konstrukciókban csak iniciálisan összefüggő automaták-kal dolgozunk, vagyis csak a kezdő állapotból elérhető állapotokat írjuk fel.Nézzük meg ezt az egyszerűsített eljárást a következő példában.

41.4 Példa Megadunk olyan automatát, amelyben az X = {x, y} halmazfeletti xy reguláris kifejezéssel megadott nyelv előállítható.

A Kleene tétel bizonyításában használt algoritmus szerint először is megkell konstruálni az Ax és Ay háromállapotú automatákat az x ill. y eleminyelvek előállításához. Adjuk meg ezeket az automatákat átmenettábláza-tukkal:

Ax a0 a1 a2

x a1 a2 a2

y a2 a2 a2

Ay b0 b1 b2

x b2 b2 b2

y b1 b2 b2,

vagy a szemléletesebb átmenetgráfjukkal:

������

���:

XXXXXXXXXz?

��������

a2

a1

a0 x, y

x

y ���6 x, y

������

���:

XXXXXXXXXz?

��������

b2

b1

b0 x, y

y

x ���6 x, y

13. ábra.

358

Page 359: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Azután a bizonyításból leolvasott algoritmus szerint venni kell az Ax au-tomata és a P(Ay) hatványautomata direkt szorzatát az (a0, ∅) kezdő álla-pottal. Könnyen belátható, hogy ennek az automatának 24 állapota van.Nekünk azonban csak az (a0, ∅) állapotból elérhető állapotokra van szüksé-günk, ezért elegendő a direkt szorzat 0 = (a0, ∅) kezdő állapotú iniciálisanösszefüggő C = (C, 0, X, δ) részautomatáját megkonstruálni. Ehhez megha-tározzuk az 0 állapotból elérhető állapotokat:

δ(0, x) = (a1, b0) = 1, δ(0, y) = (a2, ∅) = 2,

δ(1, x) = (a2, b2) = 3, δ(1, y) = (a2, b1) = 4,

δ(2, x) = δ(2, y) = 2,

δ(3, x) = δ(3, y) = δ(4, x) = δ(4, y) = 3.

A C automata átmenettáblázata:

C 0 1 2 3 4x 1 3 2 3 3y 2 4 2 3 3.

Megjegyezzük, hogy a C automata átmenetgráfját a 12. ábrán láthatjuk.A C automata előállítja az xy nyelvet a 4 állapottal.

Még ez az egyszerűsített eljárás sem biztosítja azt, hogy a legkisebb álla-potszámú automatát kapjuk meg a nyelvet előállító automaták közül.

Nem nehéz belátni, hogy az xy nyelv előállítható az D = (D, d0, X, δ′)

négyállapotú automatában is a d2 állapottal, ahol az automata átmenettáb-lázata:

D d0 d1 d2 d3

x d1 d3 d3 d3

y d3 d2 d3 d3,

A D automata a C automata homomorf képe. ( A ϕ : C → D leképezés,amelyre ϕ(0) = d0, ϕ(1) = d1, ϕ(2) = ϕ(3) = d3, ϕ(4) = d2, homomor-fizmus.) Az olvasóra bízzuk annak átgondolását, hogy az xy nyelv négynélkevesebb állapotú automatában nem állítható elő.

Most a véges iniciális automaták szintézisproblémájának megoldására egyGluskovtól származó, az előzőnél sokkal hatékonyabb algoritmust ismerte-tünk. Ráadásul ez az algoritmus alkalmas arra is, hogy véges sok, reguláriskifejezéssel megadott nyelvhez egyszerre szerkesszünk meg olyan véges iniciá-lisan összefüggő automatát, amelyben az adott nyelvek mindegyike előállítha-tó az állapothalmaz alkalmas részhalmazaival. A későbbiekben megmutatjuk,

359

Page 360: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

hogy ez az eljárás alkalmas a véges automatákkal indukálható automataleké-pezések meghatározására.

Gluskov algoritmus: Legyen L1, L2, . . . , Lk olyan véges X ábécé felettireguláris nyelvek sorozata, amelyek reguláris kifejezésekkel vannak megadva.(Korábbi megállapodásunk szerint az adott nyelveket azonosítjuk reguláriskifejezésükkel, azaz L1, L2, . . . , Lk az eljárás során nyelveket és reguláris kife-jezéseket is jelölnek.) A reguláris és a Boole műveletekkel hozzuk a reguláriskifejezéseket lehetőség szerint minél rövidebb alakra. (Így esetleg csökkent-hető a szerkesztendő automata állapotainak száma.)

Az L1, L2, . . . , Lk sorozatban indexezzük meg (mondjuk alulról) balróljobb felé haladva a bennük előforduló X-beli betűket az 1, 2, . . . pozitív egészszámokkal úgy, hogy az azonos betűk különböző előfordulási helyeiken külön-böző indexet kapjanak. Az ilyen betűket ezután indexezett betűknek fogjukhívni. Legyenek u és v indexezett betűk. Azt mondjuk, hogy az u indexe-zett betű megelőzi a v indexezett betűt, ha van olyan p ∈ X∗ szó legalábbegy Li (i = 1, 2, . . . , k) nyelvben, amelyik p = quvr (q, r ∈ X∗) alakú. Azu-t kezdő betű nek nevezzük, ha első betűje legalább egy Li-beli szónak, svégül v-t záró betű nek nevezzük, ha utolsó betűje legalább egy Li-beli szó-nak. Jelölje K és Z a kezdő ill. záró betűk halmazát. Ezek után a keresettA = (A, a0, X, δ) automatát a következőképpen szerkesztjük meg:Legyen a0 ∈ A tetszőleges szimbólum.Bármely x ∈ X esetén a δ(a0, x) = a0x ∈ A állapot legyen aK-beli indexezettx betűk halmaza. (Az a0x lehet üres is.)Az A automata többi állapotát ezekből kiindulva rekurzióval definiáljuk akövetkező módon:Ha már az a ∈ A állapot definiálva van, akkor bármely x ∈ X elemre aδ(a, x) = ax állapot legyen azoknak az indexezett x betűknek a halmaza,amelyeket megelőz legalább egy a-beli indexezett betű.A konstrukcióból világos, hogy A = (A, a0, X, δ) véges iniciálisan összefüggőautomata az a0 kezdő állapottal. Az állapotok száma legfeljebb 2m + 1, aholm az indexezésre felhasznált legnagyobb pozitív egész szám. (Ez indokoljaazt, hogy a reguláris kifejezéseket az eljárás elején hozzuk minél rövidebbalakra, ami esetleg kisebb állapotszámú automatát eredményez.)Tetszőleges i(= 1, 2, . . . k) esetén legyen Fi azoknak az állapotoknak a hal-maza, amelyek legalább egy Li-beli záró betűt tartalmaz, valamint a0 ∈ Fiakkor és csak akkor, ha e ∈ Li.Könnyű belátni, hogy az Li nyelv előállítható az A automatában az Fi hal-mazzal.

Ellenőrizhetjük, hogy a 41.4. Példában szereplő D automata a Gluskovalgoritmussal megkapható. A következő példában is a Gluskov algoritmustalkalmazzuk.

360

Page 361: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

41.5 Példa Megadunk egy véges iniciálisan összefüggő automatát, amely-ben az L1 = x∗y∗ és L2 = x2y+x reguláris kifejezésekkel adott nyelvek előál-líthatók. (Látható, hogy ezek a reguláris kifejezések az L1 = {xiyj; i, j ∈ N}és L2 = {x2y, x} nyelveket határozzák meg.)

Indexezzük meg balról jobb felé haladva a kifejezésekben előforduló be-tűket:

L1 = x∗1y∗2, L2 = x3x4y5 + x6.

Akkor K = {x1, y2, x3, x6} és Z = {x1, y2, y5, x6}. Legyen a0 tetszőlegesszimbólum.

a0x = {x1, x3, x6} = a1, a0y = {y2} = a2,

a1x = {x1, x4} = a3, a1y = {y2} = a2,

a2x = ∅ = a4, a2y = {y2} = a2,

a3x = {x1} = a5, a3y = {y2, y5} = a6,

a4x = ∅ = a4, a4y = ∅ = a4,

a5x = {x1} = a5, a5y = {y2} = a2,

a6x = ∅ = a4, a6y = {y2} = a2.

Az A = (A, a0, X, δ) automata állapot táblázata:

A a0 a1 a2 a3 a4 a5 a6

x a1 a3 a4 a5 a4 a5 a4

y a2 a2 a2 a6 a4 a2 a2,

és átmenetgráfja:Az L1 és L2 nyelvek előállíthatók A-ban az F1 = {a0, a1, a2, a3, a5, a6} ill.

az F2 = {a1, a6} halmazokkal.Mint említettük, a véges kimenő jel nélküli automaták analízis problémá-

jának egy algoritmikus megoldását a (41.1)-(41.4) összefüggések alkalmazá-sával kapjuk. A következő példában ezt mutatjuk be.

41.6 Példa Felírjuk annak az L nyelvnek egy reguláris kifejezését, amelyelőállítható az

A 1 2 3x 1 3 3y 2 1 1

átmenettáblázattal megadott A = ({1, 2, 3}, 1, {x, y}, δ) iniciális automatá-ban a 3 állapottal.

361

Page 362: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

����

����

����

����

����

����

- -

- -

?

6

6

6

JJJJJJJJJJJJ]

���

���

6

6

a0 a2 a4y x

x, y

a5

a3

y

xx

x y y x

a1 a6x y

14. ábra.

A (41.1) és (41.2) összefüggések jelölései szerint L = L(A, 3) = L(3)1,3. A

(41.4) rekurziós formula és a 35.1. Lemma felhasználásával kapjuk, hogy

L = L(2)1,3 + L

(2)1,3

(L

(2)3,3

)∗L

(2)3,3 = L

(2)1,3

(e+

(L

(2)3,3

)∗L

(2)3,3

)= L

(2)1,3

(L

(2)3,3

)∗.

DeL

(2)1,3 = L

(1)1,3 + L

(1)1,2

(L

(1)2,2

)∗L

(1)2,3.

Megrajzolva A átmenetgráfját, a (41.3) összefüggés felhasználásával azátmenetgráfról könnyen leolvasható, hogy

L(1)1,3 = L

(0)1,3 + L

(0)1,1

(L

(0)1,1

)∗L

(0)1,3 = ∅+ xx∗∅ = ∅,

L(1)1,2 = L

(0)1,2 + L

(0)1,1

(L

(0)1,1

)∗L

(0)1,2 = y + xx∗y = (e+ xx∗)y = x∗y,

L(1)2,2 = L

(0)2,2 + L

(0)2,1

(L

(0)1,1

)∗L

(0)1,2 = ∅+ yx∗y = yx∗y,

L(1)2,3 = L

(0)2,3 + L

(0)2,1

(L

(0)1,1

)∗L

(0)1,3 = x+ yx∗∅ = x,

ezértL

(2)1,3 = ∅+ x∗y(yx∗y)∗x = x∗y(yx∗y)∗x.

TovábbáL

(2)3,3 = L

(1)3,3 + L

(1)3,2

(L

(1)2,2

)∗L

(1)2,3,

362

Page 363: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ésL

(1)3,3 = L

(0)3,3 + L

(0)3,1

(L

(0)1,1

)∗L

(0)1,3 = x+ yx∗∅ = x,

L(1)3,2 = L

(0)3,2 + L

(0)3,1

(L

(0)1,1

)∗L

(0)1,2 = ∅+ yx∗y = yx∗y,

ezértL

(2)3,3 = x+ yx∗y(yx∗y)∗x.

Következésképpen

L = L(2)1,3

(L

(2)3,3

)∗= x∗y(yx∗y)∗x(x+ yx∗y(yx∗y)∗x)∗

a keresett nyelv egy reguláris kifejezése.

A 37.4. Tétel szerint bármely szóról algoritmikusan eldönthető, hogy ben-ne van-e egy adott környezetfüggetlen nyelvben, s így speciálisan egy regulárisnyelvben. A formális nyelvek elméletének ezen jellegzetes problémájának el-döntésére reguláris nyelvek esetén Kleene tétele segítségével is adhatunk egyalgoritmust. Ehhez valamilyen módon, például a Gluskov algoritmus alkal-mazásával, konstruálunk egy véges A = (A, a0, X, δ) automatát, amelyben Lelőállítható az állapothalmaz valamely F részhalmazával. Utána legfeljebb|p|+ |F | számú lépéssel eldönhető, hogy a0p ∈ F , azaz p ∈ L, vagy nem.

A Chomsky nyelvosztályok definíciójánál bizonyítás nélkül említettükmeg, hogy a 3 típusú vagy más néven jobb lineáris nyelvek pontosan a regulá-ris nyelvek. Ezt az állítást most bebizonyítjuk. Megmutatjuk, ugyanis hogya véges automatákban előállítható nyelvek megegyeznek a 3 típusú nyelvek-kel. Kleene tétele szerint ez azt jelenti, hogy a 3 típusú és a reguláris nyelvekugyanazok.

41.7 Tétel Véges ábécé feletti nyelv akkor és csak akkor állítható elő végesautomatában, ha 3 típusú.

Bizonyítás. Tegyük fel, hogy az L nyelv előállítható az A = (A, a0, X, δ)véges automatában az állapothalmaz F részhalmazával. Definiáljuk a G =(A,X, a0, H) grammatikát úgy, hogy a nemterminálisok az automata állapo-tai, a terminálisok a bemenő jelei legyenek. A mondatszimbólum legyen azautomata kezdő állapota és a szabályainak H halmaza a következő szabályo-kat tartalmazza:

a→ xδ(a, x) (a ∈ A, x ∈ X), b→ e (b ∈ F ).

Látható, hogy a G grammatika 3 típusú. Az a→ xδ(a, x) szabályt írhatjukröviden az a → x(ax) alakban is. Megmutatjuk, hogy a G grammatika

363

Page 364: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

generálja az L nyelvet, azaz L = L(G). Ehhez, (36.3) és (40.1) szerint, azt kellbelátni, hogy minden p ∈ X∗ bemenő szóra a0 =⇒∗G p akkor és csak akkor, haa0p ∈ F . Ha p = e, akkor az H-beli átírási szabályok miatt, a0 =⇒∗G e akkorés csak akkor, ha a0e = a0 ∈ F . Ha p = x1x2 . . . xk (xi ∈ X, i = 1, 2, . . . , k),akkor (36.2) alapján

a0 =⇒G x1(a0x1) =⇒G x1x2(a0x1x2) =⇒G · · · =⇒G

=⇒G x1x2 . . . xk(a0x1x2 . . . xk).

Ebből látható, hogy a0 =⇒∗G p akkor és csak akkor, ha a0p ∈ F . Ezzelmegmutattuk, hogy minden véges automatában előállított nyelv 3 típusú.

Megfordítva, tegyük fel, hogy a VT feletti L nyelv 3 típusú, azaz vanolyan G = (VN , VT , S,H) jobb lineáris grammatika, hogy L = L(G). A36.9. Lemma és a 36.10. Tétel szerint feltehető, hogy G láncszabálymentesés minden H-beli szabály X → xY vagy X → e (X, Y ∈ VN , x ∈ VT ) ala-kú. Legyen A = (VN , S, VT , δ) az a nemdeterminisztikus automata, amelyreminden X ∈ VN és x ∈ VT esetén

δ(X, x) = {Y ∈ VN ;X → xY ∈ H}.

Megmutatjuk, hogy az L nyelv előállítható a A automatában az F = {X ∈VN ;X → e ∈ H} halmazzal.

Legyen p ∈ L(G), akkor van olyan X ∈ VN , hogy X → e H-beli szabályés

S =⇒∗ pX =⇒ p.

Ebből (1.18) felhasználásával következik, hogy X ∈ δ′(S, p). De X ∈ F , sígy δ′(S, p) ∩ F 6= ∅. Ez (40.5) szerint azt jelenti, hogy p ∈ L(A, F ).

Megfordítva, legyen p ∈ L(A, F ). Akkor δ′(S, p) ∩ F 6= ∅. Ha p = e,akkor δ′(S, p) = S ∈ F , azaz S → e H-beli szabály, ezért e ∈ L(G). Hap 6= e, akkor legyen p = x1x2 . . . xk (x1, x2, . . . , xk ∈ VT ). A δ′(S, p) ∩ F 6= ∅feltételből következik, hogy vannak olyan X1, X2, . . . , Xk ∈ VN , hogy

X1 ∈ δ(S, x1), X2 ∈ δ(X1, x2), . . . , Xk ∈ δ(Xk−1, xk), Xk ∈ F.

Ebből következik, hogy

S → x1X1, X1 → x2X2, . . . , Xk−1 → xkXk, Xk → e

H-beli szabályok. Ezért S =⇒∗ p, azaz p ∈ L(G). Ezzel megmutattuk, hogyL(G) = L(A, F ). �

A következő lemma egy szükséges feltételt ad arra, hogy egy nyelv regu-láris legyen. Tudjuk, hogy minden véges nyelv reguláris, ezért a lemma véges

364

Page 365: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

nyelvekre nyilvánvalóan teljesül. A segítségével azonban bizonyos végtelennyelvekről be tudjuk bizonyítani, hogy nem regulárisak. A lemmát regulárisnyelvekre vonatkozó pumpáló lemmának nevezik, megkülönböztetve a kör-nyezetfüggetlen nyelvekre vonatkozó pumpáló lemmától (l. 37.5. Lemma).

41.8 Lemma Ha L reguláris nyelv a véges X ábécé felett, akkor van olyan(L-től függő) n pozitív egész szám, hogy ha p ∈ L és |p| ≥ n, akkor pelőállítható p = uvw (u, v, w ∈ X∗) alakban, ahol 0 < |v| ≤ |uv| ≤ n, ésminden m nemnegatív egész számra uvmw ∈ L.

Bizonyítás. Mivel L reguláris, a 40.8. Tétel és Kleene tétele értelmé-ben van olyan AF = (A, a0, X, δ;F ) véges Rabin–Scott automata, amelyreL = L(A, F ). Legyen |A| = n. Megmutatjuk, hogy n eleget tesz a tételállításának.

Legyen p ∈ L olyan, hogy |p| ≥ n, vagyis

p = x1x2 . . . xk (x1, x2, . . . , xk ∈ X,n ≤ k).

Az (1.5) definíció szerint

δ(a0, p) = a1a2 . . . ak, ahol δ(al−1, xl) = al, l = 1, 2, . . . , k.

Mivel k ≥ n, ezért az állapotok a0, a1, . . . , ak sorozatában van legalább kétmegegyező állapot, vagyis vannak olyan 0 ≤ i < j ≤ k számok, hogy ai =aj. Továbbá, i és j választhatók úgy, hogy az a0, . . . , aj−1 sorozatban márnincsenek megegyező elemek. Legyenek u = x1 . . . xi, v = xi+1 . . . xj ésw = xj+1 . . . xk. (Ha i = 0, akkor u = e, ha pedig j = k, akkor w = e.)Belátjuk, hogy u, v és w kielégítik a tétel feltételeit. Az, hogy p = uvw ésv 6= e, nyilvánvaló. Tegyük fel, hogy |uv| = j > n, azaz j − 1 ≥ n. Ez aztjelenti, hogy az a0, . . . , aj−1 sorozatban van legalább két megegyező állapot.Ez azonban lehetetlen, ezért |uv| ≤ n. Mivel ai = aj, ezért minden m ≥ 0egész számra aivm = aj. (A v0 az e üres szót jelenti.) Így minden m ≥ 0egész számra

ak = a0p = a0uvw = a0uvmw.

Mivel p ∈ L, ezért a0p ∈ F . Ebből következik, hogy a0uvmw ∈ F . Ami azt

jelenti, hogy uvmw ∈ L. �A reguláris nyelvekre vonatkozó pumpáló lemma segítségével megmutat-

juk a (36.4) Chomsky hierarchiában az első valódi tartalmazás helyességét.

41.9 Tétel L3 ⊂ L2.

365

Page 366: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A valódi tartalmazás igazolásához elegendő megadni egy olyankörnyezetfüggetlen nyelvet, amelyik nem reguláris. Könnyű igazolni, hogy azX = {x, y} ábécé feletti L = {xkyk; k ≥ 0} nyelvet generálja az a 2 típusú(speciálisan lineáris) G = (S,X, S,H) grammatika, amelyben H = {S →xSy, S → e}. Megmutatjuk, hogy L nem reguláris. Indirekt bizonyítástadunk. Tegyük fel, hogy L reguláris. Akkor van olyan n pozitív egész szám,hogy minden legalább n hosszúságú L-beli p szóra, így a p = xnyn szórais, teljesülnek a pumpáló lemma feltételei. Azaz a p = xnyn szó felírhatóp = uvw (u, v, w ∈ X∗) alakban, ahol |uv| ≤ n, v 6= e és minden m nemne-gatív egész számra uvmw ∈ L. Vizsgáljuk meg a v szóban az x és y betűkelőfordulását. Ha v-ben csak x betű szerepel, akkor például az uv2w szóbanaz x-ek száma nagyobb, mint az y-ok száma. Ez azonban lehetetlen, miveluv2w ∈ L. Ugyanúgy mutatható meg, hogy v nem állhat csupa y betűből.Ezek szerint v-ben mind a két betűnek szerepelnie kell. Ez azonban azt je-lenti, hogy az uv2w szóban van olyan y, amely megelőz egy x betűt, amiuv2w ∈ L miatt szintén lehetetlen. Tehát az L nyelv nem teljesíti a pumpálólemma követelményeit, ezért nem reguláris. �

A 37.7. Következmény szerint egyelemű ábécé esetén minden környeze-független nyelv reguláris. Megmutatjuk, hogy legalább kételemű ábécé esetén(36.5)-ben az első tartalmazás valódi.

41.10 Következmény Ha |U | > 1, akkor R(U) ⊂ CF (U).

Bizonyítás. Legyen x, y ∈ U és x 6= y. Akkor a 41.9. Tétel bizonyításaszerint {xkyk; k ≥ 0} ∈ CF (U), de {xkyk; k ≥ 0} /∈ R(U). �

A 37.9. Tétel szerint algoritmikusan eldönthető, hogy egy reguláris nyelvüres, véges vagy végtelen. Az alábbiakban ennek eldöntésére reguláris gram-matikák helyett véges automaták segítségével adunk algoritmust.

41.11 Lemma Ha az L 6= ∅ nyelv előállítható egy n állapotú automatában,akkor van L-ben legfeljebb n− 1 hosszúságú szó.

Bizonyítás. Tegyük fel, hogy az L nyelv előállítható az A = (A, a0, X, δ) nállapotú automatában az állapothalmaz F részhalmazával. Válasszuk ki Legy tetszőleges p elemét. Ha |p| ≤ n−1, akkor készen vagyunk a bizonyítással.Ha |p| ≥ n, akkor |A| = n miatt létezik p-nek olyan q kezdőszelete, hogy|q| ≤ n− 1 és a0q = a0p. Mivel p ∈ L, ezért a0q = a0p ∈ F , s így q ∈ L. �

41.12 Lemma Egy n állapotú automatában előállítható L nyelv akkor éscsak akkor végtelen, ha van L-ben olyan p szó, amelyre n ≤ |p| < 2n.

Bizonyítás. Ha van ilyen p szó L-ben, akkor a pumpáló lemma alapján Lvégtelen.

366

Page 367: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megfordítva, tegyük fel, hogy az X feletti végtelen L nyelv előállíthatóaz A = (A, a0, X, δ) n állapotú automatában az állapothalmaz F részhalma-zával. Mivel L végtelen, van olyan p ∈ L, hogy n ≤ |p|. Ha |p| < 2n, akkorkészen vagyunk a bizonyítással. Legyen |p| ≥ 2n. Akkor a pumpáló lemmá-ban szereplő jelöléseket alkalmazva, vannak olyan u, v, w ∈ X∗ szavak, hogyp = uvw, 0 < |v| ≤ |uv| ≤ n, és q = uw ∈ L, vagyis n ≤ |q| = |p| − |v| < |p|.Ha |q| < 2n, akkor a bizonyítást befejeztük. Ha |q| ≥ 2n, akkor alkalmazzuka pumpáló lemmát q-ra. Ezt folytatva, véges számú lépés után kapunk olyanr ∈ L szót, amelyre n ≤ |r| < 2n. �

A 37.8. Tételnek reguláris nyelvekre egy másik bizonyítását adjuk. Abizonyítás reguláris nyelvekre automaták segítségével ad egy eldöntési algo-ritmust.

41.13 Tétel Létezik olyan algoritmus, amelynek alkalmazásával eldönthető,hogy egy véges automatában előállítható nyelv üres, véges vagy végtelen.

Bizonyítás. Tegyük fel, hogy az L nyelv előállítható az A = (A, a0, X, δ) nállapotú automatában az állapothalmaz F részhalmazával. Jelölje X(k) azX∗ legfeljebb k hosszúságú szavainak részhalmazát, és legyen

A(k) = {a0p; p ∈ X(k)}.

A 41.11. Lemma szerint, L 6= ∅ akkor és csak akkor, ha A(n − 1) ∩ F 6= ∅.Minden k nemnegatív egész számra X(k) véges halmaz. Ezért véges számúlépésben eldönthető, hogy L üres vagy nem. Legyen L 6= ∅. A 41.12. Lemmaszerint, L akkor és csak akkor végtelen, ha

(A(2n− 1)− A(n− 1)) ∩ F 6= ∅.

Ez szintén eldönthető véges számú lépésben. �

41.14 Tétel Létezik véges automatákban előállítható nyelvek egyenlőségételdöntő algoritmus.

Bizonyítás. Ha az L1 és L2 nyelvek regulárisak, akkor a 41.2. Tétel szerintaz

L = (L1 ∩ L2) + (L2 ∩ L1)

nyelv is reguláris. Világos, hogy

L1 = L2 ⇐⇒ L = ∅.

A 41.13. Tétel szerint az algoritmikusan eldönthető, hogy L = ∅. �

367

Page 368: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

41.15 Tétel Létezik olyan algoritmus, amellyel eldönthető, hogy két végesautomatában előállítható nyelv közül valamelyik tartalmazza-e a másikat.

Bizonyítás. Ha az L1 és L2 nyelvek regulárisak, akkor a 41.2. Tétel szerintaz L1 ∩ L2 nyelv is az. Továbbá

L1 ⊆ L2 ⇐⇒ L1 ∩ L2 = ∅.

Az utóbbi állítás pedig a 41.13. Tétel szerint algoritmikusan eldönthető. �

Feladatok41.1. Konstruáljunk meg olyan véges (teljesen definiált determinisztikus) automa-tát, amely felismeri az x(x+ y)((x+ y)3)∗y − (x+ y)∗x3(x+ y)∗ nyelvet.41.2. Tegyük fel, hogy az L nyelv előállítható egy n állapotú véges automatábanaz állapothalmaz valamely részhalmazával. Az L nyelv akkor és csak akkor véges,ha minden p ∈ L szó legfeljebb n− 1 hosszúságú.41.3. Adjunk felső korlátot arra, hány lépésben dönthető el, hogy egy n állapotúés k bemenő jelű automata állapothalmazának valamely l elemű részhalmazávalelőállítható nyelv üres, véges vagy végtelen.41.4. Legalább kételemű X ábécé esetén az L = {pp−1; p ∈ X∗} nyelv nemreguláris.

42. A véges automaták által indukálhatóautomataleképezések

Az automaták szintézisének 12. fejezetben megfogalmazott problémájáhozvisszatérve, ebben a fejezetben a reguláris nyelvek segítségével ezt a problé-mát megoldjuk véges automatákra. Ez a 9.6. Tétel szerint azt jelenti, hogya véges automatákkal megvalósítható információátalakításoknak egy teljesleírását adjuk.

Legyenek X és Y nemüres halmazok, továbbá α : X∗ → Y ∗ tetszőlegesolyan automataleképezés, hogy minden y ∈ Y szerepel valamely α(p) (p ∈X∗) szóban. Ez az utóbbi feltétel az α leképezésre nem jelent megszorítást,hiszen azok a jelek, amelyek nem szerepelnek egyetlen képszóban sem, az Yhalmazból nyilvánvalóan elhagyhatók. Ebben a fejezetben végig feltesszük,hogy Y ilyen felesleges jeleket nem tartalmaz.

Ezt felhasználva, a következő lemmában azt mutatjuk meg, hogy az auto-mataleképezések megadhatók szabad félcsoportok osztályozásai segítségével.

368

Page 369: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

42.1 Lemma Bármely α : X∗ → Y ∗ automataleképezéshez hozzárendelhe-tő az X+ szabad félcsoportnak egy |Y | számosságú Cα osztályozása. Meg-fordítva, ha C az X+ egy osztályozása és Y tetszőleges |C| számosságú hal-maz, akkor Y elemeinek jelölésétől eltekintve egyértelműen megadható az azα : X∗ → Y ∗ automataleképezés, amelyre C = Cα teljesül.

Bizonyítás. Legyen α : X∗ → Y ∗ tetszőleges automataleképezés. Bármelyy ∈ Y jelre legyen Ly azoknak a p ∈ X+ szavaknak a halmaza, amelyekre azα(p) szó az y jelre végződik. A

(42.1) Cα = {Ly; y ∈ Y }

halmaz nyilvánvalóan X+ egy osztályozása és |Cα| = |Y |.Megfordítva, legyen C = {Li; i ∈ I} azX+ szabad félcsoport egy osztályo-

zása. Tekintsük azt az α : X∗ → I∗ alfabetikus leképezést, amelyre α(e) = eés tetszőleges p = x1x2 . . . xn ∈ X+ szó esetén α(p) = i1i2 . . . in teljesül, ahol

x1 ∈ Li1 , x1x2 ∈ Li2 , . . . , x1x2 . . . xn ∈ Lin .

Az α konstrukciójából következik, hogy α automataleképezés és C = Cα. �A (42.1) osztályozást az α automataleképezés által indukált osztályozásnak

nevezzük. A 42.1. Lemmából nyilvánvalóan következik az alábbi lemma:

42.2 Lemma Ha X 6= ∅ és Y 6= ∅ véges halmazok, akkor bármely α : X∗ →Y ∗ automataleképezés által indukált Cα osztályozás véges. Megfordítva, avéges X 6= ∅ feletti X+ szabad félcsoport tetszőleges C véges osztályozása avéges Y halmaz elemeinek jelölésétől eltekintve egyértelműen meghatározzaazt az α : X∗ → Y ∗ automataleképezés, amelyre C = Cα teljesül.

Az X 6= ∅ véges ábécé feletti nyelvek {L1, L2, . . . , Ln} rendszerét X felettireguláris teljes rendszernek nevezzük, ha a rendszer az X+ szabad félcsoportosztályozása és minden eleme reguláris nyelv. A következő tételt fontosságamiatt a véges automaták alaptételének is nevezzük:

42.3 Tétel A véges X 6= ∅ és Y 6= ∅ halmazok esetén egy α : X∗ → Y ∗ au-tomataleképezés akkor és csak akkor indukálható véges iniciális automatával,ha az α által indukált Cα osztályozás X feletti reguláris teljes rendszer.

Bizonyítás. A 42.2. Lemma szerint az α : X∗ → Y ∗ automataleképezésés a Cα osztályozás az Y halmaz elemeinek jelölésétől eltekintve kölcsönösenegyértelműen meghatározzák egymást.

A szükségesség kimutatása céljából tegyük fel, hogy az α : X∗ → Y ∗

automataleképezés indukálható az A = (A, a0, X, Y, δ, λ) véges iniciális Me-aly automatával. Feltehetjük, hogy A iniciálisan összefüggő. Legyen minden

369

Page 370: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

y ∈ Y kimenő jelreAy = {a0p; p ∈ Ly}.

Nyilvánvaló, hogy Ly előállítható az Av = (A, a0, X, δ) automatában az Ayhalmazzal. Minthogy A véges automata, ezért Kleene tétele miatt Cα regu-láris teljes rendszer X felett.

Megfordítva, az elegendőség bizonyításához tegyük fel, hogy az α au-tomataleképezés által indukált Cα = {Ly; y ∈ Y } véges osztályozás regu-láris teljes rendszer X felett. A Gluskov algoritmussal meg tudunk adniolyan A′ = (A, a0, X, δ) véges iniciálisan összefüggő kimenő jel nélküli au-tomatát, amelyben Cα minden osztálya előállítható. Tegyük fel, hogy azLy (y ∈ Y ) nyelvet A′-ben az Ay halmazzal állíthatjuk elő. Egészítsük kiA′-t az A = (A, a0, X, Y, δ, λ) Mealy automatává úgy, hogy minden a ∈ A ésx ∈ X esetén

(42.2) λ(a, x) = y ⇐⇒ δ(a, x) ∈ Ay.

Megmutatjuk, hogy λ jól definiált. Tegyük fel, hogy a1, a2 ∈ A állapotokraés x1, x2 ∈ X bemenő jelekre

δ(a1, x1) = δ(a2, x2) ∈ Ay.

Mivel A iniciálisan összefüggő, ezért vannak olyan p1, p2 ∈ X∗ bemenő sza-vak, hogy a1 = a0p1 és a2 = a0p2. Így

a0p1x1 = δ(a1, x1) = δ(a2, x2) = a0p2x2 ∈ Ay,

azaz p1x1, p2x2 ∈ Ly. Ez azt jelenti, hogy α(p1x1) és α(p2x2) szavak y-ravégződnek, amiből adódik, hogy

λ(a1, x1) = y = λ(a2, x2).

Tehát λ valóban jól definiált. (A teljesíti az (1.1) Moore kritériumot, azazMoore automata.) Nem nehéz belátni, hogy A iniciális automata indukáljaaz α automataleképezést, azaz α = αA. �

A 42.2. Lemma és a véges automaták alaptétele a véges automaták szin-tézisproblémájának algoritmikus megoldását adja:

Legyenek X = {x1, x2, . . . , xn} és Y = {y1, y2, . . . yk} tetszőleges nemüresvéges halmazok.

Adjunk meg egy α : X∗ → Y ∗ automataleképezést egy X feletti

C = {L1, L2, . . . , Lk}

370

Page 371: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

reguláris teljes rendszerrel és a rendszer elemeinek Y elemeivel való valami-lyen átindexelésével azaz legyen

C = {Ly1 , Ly2 , . . . , Lyk}.

Határozzuk meg a rendszer elemeinek (lehetőleg a legegyszerűbb) regulá-ris kifejezéseit.

A Gluskov algoritmussal szerkesszünk meg egy A′ = (A, a0, X, δ) végesiniciálisan összefüggő kimenő jel nélküli automatát, amelyben az adott re-gulárisan teljes rendszer Lyi (i = 1, 2, . . . , k) elemei előállíthatók az Ayi-veljelölt halmazokkal. (Mivel e /∈ Lyi , ezért a Gluskov algoritmusból következik,hogy a0 /∈ Ayi . Nyilvánvaló az is, hogy {Ay1 , Ay2 , . . . Ayk} az A − a0 halmazegy osztályozása.)

A (42.2) utasítással határozzuk meg a λ kimenetfüggvényt.Adjuk meg az A = (A, a0, X, Y, δ, λ) automatát állapotkimenet táblázat-

tal vagy gráffal. A 42.3. Tétel bizonyítása szerint A teljesíti az (1.1) Moorekritériumot, ezért A megadható Moore automataként is, azaz λ helyett egymegfeleló µ jelfüggvényt adunk meg. Ezt (1.2) szerint úgy tehetjük meg,hogy az Ayi (i = 1, 2, . . . , k) halmazban lévő állapotokhoz az yi kimenő jeletrendeljük, az a0 kezdő állapothoz pedig egy tetszőleges Y -beli kimenő jeletrendelünk.

Az A automata indukálja az α automataleképezést.

42.4 Példa Legyen X = {x, y} és Y = {u, v, w}, továbbá

L1 = {xl; l = 1, 2, . . . }, L2 = {ym;m = 1, 2, . . . }, L3 = X+ − (L1 + L2).

Nem nehéz belátni, hogy

L1 = xx∗, L2 = yy∗, L3 = (xx∗y + yy∗x)(x+ y)∗,

azaz C = {L1, L2, L3} reguláris teljes rendszer X felett.Indexeljük át C elemeit Y elemeivel a következő módon:

L1 = Lu, L2 = Lv, L3 = Lw.

A Gluskov algoritmus alkalmazásával kapjuk, hogy a következő átmenettáb-lázattal adott A′ = (A, a0, X, δ) iniciálisan összefüggő automatában az Lunyelv az {a1, a3}, az Lv nyelv az {a2, a6} és az Lw nyelv az {a4, a5, a7, a8}halmazzal állítható elő:

A′ a0 a1 a2 a3 a4 a5 a6 a7 a8

x a1 a3 a5 a3 a7 a7 a5 a7 a7

y a2 a4 a6 a4 a8 a8 a6 a8 a8.

371

Page 372: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az {Lu, Lv, Lw} reguláris teljes rendszerrel megadott α automataleképezéstaz a0 iniciális állapottal indukálja az alábbi átmenet-kimenettáblázattal meg-adott Moore automata:

u u v u w w v w wA——————————————

a0 a1 a2 a3 a4 a5 a6 a7 a8

x a1 a3 a5 a3 a7 a7 a5 a7 a7

y a2 a4 a6 a4 a8 a8 a6 a8 a8 .

A következő tételben azt mutatjuk meg, hogy a véges Mealy és Moore au-tomatákkal megvalósítható információátalakítások, azaz az általuk indukáltautomataleképezések reguláris nyelveket reguláris nyelvekké alakítanak át.

42.5 Tétel Ha az X ábécé feletti L nyelv reguláris és α : X∗ → Y ∗ au-tomataleképezés, akkor az Y ábécé feletti α(L) = {α(p); p ∈ L} nyelv isreguláris.

Bizonyítás. Kleene tétele szerint van olyan véges A = (A, a0, X, δA) au-tomata, amely előállítja az L nyelvet az állapothalmaz valamely F részhal-mazával. Legyen B = (B, b0, X, Y, δB, λB) egy olyan véges Mealy automata,amely indukálja az α : X∗ → Y ∗ automataleképezést, azaz α = αB (l. a 9.fejezetet). Vegyük a következő nemdeterminisztikus véges automatát:

C = (A×B, (a0, b0), Y, δC),

ahol

(42.3) (a′, b′) ∈ δC((a, b), y) ⇐⇒ δA(a, x) = a′, δB(b, x) = b′, λB(b, x) = y

valamilyen x ∈ X bemenő jel esetén. Megmutatjuk, hogy C állapothalma-zának F ×B részhalmazával előállítja az α(L) nyelvet.

Legyen p ∈ L. Ha p = e, akkor α(p) = e ∈ α(L). De (a0, b0) ∈ F × B,ezért e ∈ L(C, F ×B). Ha pedig p = x1x2 . . . xk és α(p) = y1y2 . . . yk, aholxj ∈ X, yj ∈ Y (j = 1, 2 . . . , k), akkor (1.5) és (40.1) szerint vannak olyanai ∈ A és bi ∈ B állapotok, hogy minden i ∈ {0, 1, 2, . . . , k − 1} esetén

δA(ai, xi+1) = ai+1, δB(bi, xi+1) = bi+1, λB(bi, xi+1) = yi+1

teljesülnek. Az (1.18) definíciót is felhasználva, ezekből adódik, hogy

(ai+1, bi+1) ∈ δC((ai, bi), yi+1), i = 0, 1, . . . , k − 1,

azaz(ak, bk) ∈ δC((a0, b0), α(p)) ∩ F ×B.

372

Page 373: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ez a (40.5) definíció szerint azt jelenti, hogy α(p) ∈ L(C, F ×B).Megfordítva, tegyük fel, hogy q ∈ L(C, F ×B), azaz

δC((a0, b0), q) ∩ F ×B 6= ∅.

Ha q = e, akkor (a0, b0) ∈ F × B, azaz a0 ∈ F , ezért e ∈ L, s így e =α(e) ∈ α(L). Ha q = y1y2 . . . yk (y1, y2, . . . , yk ∈ Y ), akkor vannak olyan(ai, bi) ∈ A×B (i = 1, 2, . . . k) állapotok, hogy (ak, bk) ∈ F ×B és

(ai+1, bi+1) ∈ δC((ai, bi), yi+1), i = 0, 1, . . . , k − 1,

s így (42.3) szerint vannak olyan xi+1 ∈ X bemenő jelek, hogy

δA(ai, xi+1) = ai+1, δB(bi, xi+1) = bi+1, λB(bi, xi+1) = yi+1.

Ez azt jelenti, hogy q = α(p), ahol p = x1x2 . . . xk ∈ L, amiből következik,hogy q ∈ α(L).

Ezzel megmutattuk, hogy α(L) = L(C, F ×B). �

43. VeremautomatákA 40. fejezetben láttuk, hogy minden nyelv előállítható (iniciálisan összefüg-gő) automatában. Kleene tétele szerint a reguláris nyelvek megegyeznek avéges automatákban előállítható nyelvekkel. Ebben a fejezetben megadjukazokat az automatákat, az ún. veremautomatákat, amelyek a környezetfüg-getlen nyelveket állítják elő.

A veremautomaták működését szemléletesen például a következőképpenképzelhetjük el. Egy veremautomata egy cellákra osztott (potenciálisan jobb-ról végtelen) bemenő szalagból, egy véges vezérlő egységből (belső memóri-ából) és egy veremből (végtelen külső memóriából) áll, amely lehet egyikirányból potenciálisan végtelen szalag, amely cellákra van felosztva és min-den cellában a veremábécé egy betűje állhat. A bemenő szalagra a végesszámú bemenő jelből álló bemenő szó van írva, az első cellától kezdve cellán-ként egy betű, amelyet egy balról jobbra mozgó olvasófej segítségével olvasel a vezérlő egység. A verem végtelen irányából első nemüres celláját a ve-rem tetejének, az utolsó celláját pedig a verem aljának nevezzük. Ebben amemóriában a beérkező információk érkezésük sorrendjében őrződnek meg,és az automata bármely pillanatban csak a verem tetejéhez tud hozzáférni.Ezt az elemet egy törlő-írófejjel törölhetjük a memóriából, és a helyébe újmegőrzendő információ írhatunk. Ezek után az új információnak is csak alegfelső eleméhez férhetünk hozzá. A memória ilyen elrendezését veremszerű

373

Page 374: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

6

bemenőszalag

· · ·

véges állapotú

vezérlőmű

olvasófej

-törlő-írófej

..

.

verem

15. ábra.

elrendezésnek nevezzük. Ez egy olyan tárolási módot jelent, hogy az adatoktörlése a bevitelükhöz képest fordítva történik.

A veremautomata bekapcsoláskor egy rögzített belső állapotba (kezdőállapotba) kerül. A verem üres, ami azt jelenti, hogy az aljára egy rögzítettjel (kezdő jel) van felírva a veremábécéből. (Ez jelzi a verem alját.) Akezdő jel nem törölhető. A veremautomata is diszkrét lépésekben, ütemekbendolgozik.

A vezérlő egység egy-egy lépésben az alábbi lehetőségek között választhat:1. Leolvassa a veremmemória legfelső elemét, valamint a bemenő szó soronkövetkező betűjét, és ezektől, valamint a saját belső állapotától függően ki-választja a következő állapotot, s dönt arról, hogy milyen szót írjon, esetlegaz üres szót is, a veremmemóriába, a beolvasott (törölt) legfelső jel helyébe.Ezután a vezérlő egység felkészül a következő bemenő jel leolvasására.2. A belső állapotától és a veremmemória legfelső jelétől függően a vezérlőegység kiválasztja a következő állapotot, valamint a veremmemóriából beol-vasott jel helyébe írandó szót. Eközben a vezérlő egység nem olvas bemenőjelet, s nem lép tovább a bemenő szalagon. Az ilyen lépéseket az automa-ta a bemenő szó utolsó betűjének beolvasása után is megteheti. Ez a lépésazt teszi lehetővé, hogy az automata az aktuális bemenő jeltől függetlenül,mintegy autonóm üzemmódban megváltoztassa működését.

A veremautomata megáll a működésével, ha a vezérlő egységnek nincs

374

Page 375: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

utasítása arra, hogy mit lépjen, vagy ha a verem teljesen kiürül. Abban azesetben, ha a veremautomatának minden helyzetben van előírt lépése, csakakkor áll le a működésével, amikor beolvasta az utolsó bemenő jelet is, ésezután megtette összes lehetséges lépését.

Látható, hogy veremautomaták is, mint a kimenő jel nélküli automatákszekvenciális működésű gépek. A veremautomatának egy adott szó hatásá-ra történő müködésékor kétféle dologra figyelhetünk. Egyrészt arra, hogyvan-e olyan sorozata a lehetséges átmeneteknek, amelynek során az automa-ta valamilyen előre rögzített végállapotba kerül. Másrészt arra, hogy van-eolyan működése, amely során a bemenő szó hatására a verem kiürül. Az elsőesetben azt mondjuk, hogy a veremautomata végállapotával ismerte fel azadott bemenő szót, a második esetben pedig üres veremmel. Most az előb-bi szemléletes fogalmak absztrakciójaként megadjuk a veremautomaták és averemautomaták által felismerhető nyelvek fogalmát.

Az A = (A, a0, X, δ,Γ,⊥) rendszert veremautomatának vagy pushdownautomatának nevezzük, ahol az A 6= ∅ véges halmaz az állapothalmaz, a0(∈A) a kezdő állapot , az X(6= ∅) véges halmaz a bemenő halmaz vagy bemenőábécé, Γ( 6= ∅) a veremábécé, a ⊥ (∈ Γ) a kezdő jel, a

δ : A× (X ∪ e)× Γ→ P (A× Γ∗)

(parciális) függvény az átmenet- vagymozgásfüggvény a következő feltételeketkielégítő függvény:

(43.1) (b, P ) ∈ δ(a, x,⊥) =⇒ P ∈ (Γ− ⊥)∗ ⊥,

(43.2) ((b, P ) ∈ δ(a, x, Z), Z 6=⊥) =⇒ P ∈ (Γ− ⊥)∗.

Az A veremautomatát determinisztikusnak mondjuk, ha minden a ∈A,Z ∈ Γ és x ∈ X ∪ e esetén

|δ(a, x, Z)| ≤ 1.

Egy A = (A, a0, X, δ) véges automatát tekinthetünk egy

A′ = (A, a0, X, δ′, {⊥},⊥)

veremautomataként, ahol minden a ∈ A és x ∈ X ∪ e esetén δ′(a, x,⊥) =δ(a, x).

375

Page 376: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A veremautomatáknál is kijelölhetjük a végállapotok F (⊆ A) halma-zát. Ebben az esetben a Rabin–Scott automatákhoz hasonlóan az AF =(A, a0, X, δ,Γ,⊥;F ) jelölést használjuk.

A veremautomata definíciójából látható, hogy az A = (A, a0, X, δ,Γ,⊥)veremautomata (1.13) szerint felfogható egy (parciális) nemdeterminisztikus

(A× Γ∗, (a0,⊥), X, δ)

kimenő jel nélküli automataként, azzal a kiegészítéssel, hogy akkor is megvál-tozhat az automata állapota, ha nem kap bemenő jelet. Mivel Γ 6= ∅, ezértez a kimenő jel nélküli automata végtelen.

Mint azt már mondtuk, az A veremautomata működésének kezdetén az a0

kezdő állapotban van, és a verem alján a ⊥ kezdőjel áll, többi cella pedig üres,azaz a verem üres. Ha pedig A működésének valamelyik időpillanatában(lépésében) az automata az a ∈ A állapotban van, az olvasófej a bemenőszalag olyan cellájára mutat, amelyben az x ∈ X∪e jel áll és a verem tetejéna Z jel található, akkor A működése a következő lehetőségek valamelyikeszerint folytatódhat:1. Ha δ(a, x, Z) = ∅, akkor A nem működik tovább.2. Ha δ(a, x, Z) 6= ∅ és x 6= e, akkor olvasófej eggyel jobbra lép, az automataátmegy egy b állapotba, a törlő-írófej pedig törli a verem tetején álló Z jeletés helyébe egy P szót ír, amelyekre (b, P ) ∈ δ(a, x, Z).3. Ha δ(a, e, Z) 6= ∅, akkor az olvasófej nem mozdul el, A egy b állapotbakerül, ugyanakkor a törlő-írófej a verem tetején lévő Z jel helyébe egy P szótír, amelyekre (b, P ) ∈ δ(a, e, Z).

Ha az A veremautomata az a ∈ A állapotban van, a bemenő szalagonaz rp (r, p ∈ X∗) szó, az olvasó fej r utolsó betűjét tartalmazó cella utánkövetkező cellára mutat, a veremben pedig a P ∈ (Γ− ⊥)∗ ⊥ szó áll, akkorazt mondjuk, hogy A a [a, p, P ] konfigurációban van. Az [a, e, P ] konfigurációezek szerint azt jelenti, hogy az automata az a állapotban van, a bemenőszalagon az r szó áll, az olvasó fej r utolsó betűjét tartalmazó cella utáni elsőüres cellára mutat, a veremben pedig a P ∈ (Γ− ⊥)∗ ⊥ szó áll.

Akkor mondjuk, hogy a [b, p,QP ] konfiguráció közvetlenül levezethető az[a, xp, ZP ] konfigurációból, jelekben

(43.3) [a, xp, ZP ] =⇒A [b, p,QP ],

ahol a, b ∈ A, x ∈ X ∪ e, p ∈ X∗, Z ∈ Γ, P,Q ∈ Γ∗, ha

(b,Q) ∈ δ(a, x, Z),

ahol Z a verem tetején áll. az [a, xp, ZP ] konfigurációból, jelekben Ez aztjelenti, hogy ha Z ∈ Γ a verem tetején áll és (b,Q) ∈ δ(a, e, Z), akkor

(43.4) [a, p, ZP ] =⇒A [b, p,QP ].

376

Page 377: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A (43.3) közvetlen levezetés x 6= e esetben azt jelenti, hogy A az a álla-potban van, az olvasófej az x bemenő jelre mutat és a verem tetején a Z jeláll. Egy időpillanat elteltével az automata átmegy a b állapotba, az olvasófeja p szó első betűjét tartalmazó cellára ugrik, a törlő-irófej törli a verembőlZ-t és a P szó fölé a Q szót irja. (Ha p = e, akkor természetesen az olvasófejaz x bemenő jel utáni első üres cellára ugrik.)

Az x = e eset, azaz a (43.4) közvetlen levezetés, csak annyiban különbözikaz előző esettől, hogy az olvasófej nem mozdul el az üres celláról.

Egy [b, q, Q] konfigurációt levezethetőnek nevezünk az A veremautomatá-ban az [a, p, P ] konfigurációból, jelekben

(43.5) [a, p, P ] =⇒+A [b, q, Q], a, b ∈ A, p, q ∈ X∗, P,Q ∈ Γ∗,

ha létezik A konfigurációinak olyan Ψ0,Ψ1, . . . ,Ψk sorozata, hogy

Ψ0 = [a, p, P ], Ψk = [b, q, Q], Ψj =⇒A Ψj+1, j = 0, 1, . . . , k − 1,

és legyen =⇒∗A a =⇒A binér reláció reflexív és tranzitív lezártja. Ezen re-lációk jelölésére, ha nem vezet félreértésre, röviden a =⇒ ill. =⇒∗ jelekethasználjuk. Jelölje =⇒+ a =⇒ reláció tranzitív lezártját, azaz 1 ≤ k.

Azt mondjuk, hogy az X feletti L nyelv előállítható az

A = (A, a0, X, δ,Γ,⊥)

veremautomatában az állapotok F halmazával, vagy más szóval az A auto-mata felismeri vagy elfogadja az L nyelvet az F halmazzal, ha

(43.6) L = {p ∈ X∗; [a0, p,⊥] =⇒+A [b, e,Q], b ∈ F, Q ∈ (Γ− ⊥)∗ ⊥}

Ebben az esetben is az L = L(A, F ) jelölést használjuk. Az F halmazelemeit veremautomaták esetében is végállapotoknak hívjuk. Továbbá aztmondjuk, hogy L A-ban üres veremmel előállítható vagy felismerhető, másszóval A üres veremmel előállítja, felismeri vagy elfogadja az L nyelvet, ha

(43.7) L = {p ∈ X∗; [a0, p,⊥] =⇒+A [a, e,⊥], a ∈ A}

Erre az L = L(A) jelölést fogjuk használni. A definícióból nyilvánvalóankövetkezik, hogy e ∈ L akkor és csak akkor, ha δ(a0, e,⊥) 6= ∅.

43.1 Példa Az A = (A, a0, X, δ,Γ,⊥) veremautomatát, amelyre

A = {a0, a}, X = {x, y, z}, Γ = {⊥, V,W},

az alábbi három átmenettáblázattal adjuk meg:

377

Page 378: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a0 a⊥ e ∅ ∅x (a0, V ⊥) ∅y (a0,W ⊥) ∅z (a,⊥) ∅

a0 aV e ∅ ∅

x (a0, V V ) (a,⊥)y (a0,WV ) ∅z (a, V ) ∅

a0 aW e ∅ ∅

x (a0, V W ) ∅y (a0,WW ) (a,⊥)z (a,W ) ∅

A táblázatok első oszlopában a verem tetején lévő jelet tüntettük fel.Eszerint a második táblázatból leolvasható például, hogy ha A az a0 kezdőállapotban van, a verem tetején a V jel áll és az olvasófej a bemenő szóegy y betűjére mutat, akkor az automata a kezdő állapotban marad, de averem tetején lévő V jel helyére a WV szó kerül úgy, hogy a verem tetejéna W jel áll. Megmutatjuk, hogy L(A) = {pzp−1; p ∈ {x, y}∗}, ahol p−1 a ptükörképe.

Mivel δ(a0, e,⊥) = ∅, ezért az [a0, e,⊥] konfigurációból nem vezethető leegyetlen [a, e,⊥] konfiguráció sem, így e /∈ L(A). A táblázatokból látható,hogy ha egy p ∈ X+ szó nem tartalmaz z betűt, akkor p leolvasásakor azautomata az a0 kezdő állapotban marad és a verem tartalma |p| számú jellelmegnövekszik, ezért nem ürül ki a verem, azaz az ilyen szavak nem lehetnekL(A) elemei. Ha p tartalmaz z betűt, akkor az A automata p leolvasásakor,ha az olvasó fej eléri az első z betűt, átkerül az a állapotba és a leolvasásvégéig ott is marad. Ha még egy z betű volna p-ben, akkor az automataleállna, s így ebben az esetben sem ürülne ki a verem, vagyis az ilyen pszavak sem lehetnek L(A) elemei. Legyenek p, q ∈ {x, y}∗, akkor (43.3) és(43.5) szerint

[a0, pzq,⊥] =⇒∗A [a0, zq, P ⊥] =⇒A (a, q, P ⊥),

ahol P ∈ (Γ− ⊥)∗ a p szóból úgy kapható meg, hogy mindenütt x-et V -vel,y-t pedig W -vel helyettesítjük. (Természetesen, ha p = e, akkor P =⊥.)Ha q 6= p−1, akkor a q szó leolvasása közben A leállna, azaz nem ürülne kia verem, vagyis pzq /∈ L(A). Ha q = p−1, akkor (43.4)-et is felhasználvakapjuk, hogy

[a, q, P ⊥] =⇒∗ [a, e,⊥].

Ezzel megmutattuk, hogy L(A) pontosan a pzp−1 (p ∈ {x, y}∗) szavakattartalmazza.

378

Page 379: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Gyakorlásképpen nézzük meg az z és x2yzyx2 szavak levezetését:

[a0, z,⊥] =⇒A [a, e,⊥].

[a0, x2yzyx2,⊥] =⇒ [a0, xyzyx

2, V ⊥] =⇒ [a0, yzyx2, V V ⊥] =⇒

=⇒ [a0, zyx2,WV V ⊥] =⇒ [a, yx2,WV V ⊥] =⇒

=⇒ [a, x2, V V ⊥] =⇒ [a, x, V ⊥] =⇒ [a, e,⊥].

43.2 Tétel Egy nyelv akkor és csak akkor állítható elő veremautomatábanaz állapothalmaz valamely részhalmazával, ha előállítható veremautomatá-ban üres veremmel.

Bizonyítás. Előszőr tegyük fel, hogy egy X ábécé feletti L nyelv előállíthatóaz A = (A, a0, X, δ,Γ,⊥) veremautomatában üres veremmel, azaz L = L(A).Legyenek a′0, av /∈ A (a′0 6= av),⊥′ /∈ Γ, továbbá A′ = A ∪ {a′0, av} és Γ′ =Γ∪ ⊥′. Definiáljuk az A′ = (A′, a′0, X, δ

′,Γ′,⊥′) veremautomatát úgy, hogya δ′ teljesítse a következő feltételeket:

(43.8) δ′(a′0, e,⊥′) = (a0,⊥⊥′);

(43.9) δ′(a, x, Z) = δ(a, x, Z), a ∈ A,Z ∈ Γ, x ∈ X ∪ e;

(43.10) δ′(a, e,⊥′) = (av,⊥′), a ∈ A.

Megmutatjuk, hogy az A′ veremautomata az av állapottal előállítja L-et. Hap ∈ L, akkor (43.7) szerint van olyan c ∈ A, hogy

(43.11) [a0, p,⊥] =⇒+A [c, e,⊥].

A következő levezetésben először (43.8)-ot, majd (43.9) alapján a (43.11)levezetés lépéseit, végül (43.10)-at alkalmazzuk:

[a′0, p,⊥′] =⇒A′ [a0, p,⊥⊥′] =⇒∗A′ [c, e,⊥′] =⇒A′ [av, e,⊥′].

Ezért (43.4) szerint p ∈ L(A′, av). Ezzel megmutattuk, hogy L ⊆ L(A′, av)Legyen most p ∈ L(A′, av), azaz (43.6) szerint van olyanQ ∈ (Γ′− ⊥′)∗ ⊥′

(43.12) [a′0, p,⊥′] =⇒∗A′ [av, e, Q].

379

Page 380: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Nyilvánvaló, hogy a (43.12) levezetésben az első lépés (43.8) miatt csak

[a′0, p,⊥′] =⇒A′ [a0, p,⊥⊥′]

lehet. Másrészt, ⊥′ csak a verem alján állhat. Az av állapot azonban csakolyankor léphet fel, ha előzőleg a verem tetején ⊥′ állt. Ezért Q =⊥′, amiéppen azt jelenti, hogy létezik egy b ∈ A, amelyre

[a0, p,⊥] =⇒∗A [b, e,⊥].

Kaptuk, hogy p ∈ L, vagyis L(A′, av) ⊆ L, s így L = L(A′, av).Másodszor tegyük fel, hogy egyX ábécé feletti L nyelv előállítható az A =

(A, a0, X, δ,Γ,⊥) veremautomatában az A állapothalmaz F részhalmazával,azaz L = L(A, F ). A bizonyítás első részében tekintett A′ veremautomataδ′ átmenetfüggvényét adjuk meg most a következő módon. A (43.8) feltételteljesüljön most is. A (43.9) feltételt módosítsuk úgy, hogy akkor és csakakkor teljesüljön, ha a /∈ F vagy x 6= e. Legyen továbbá

(43.13) δ′(a, e, Z) = δ(a, e, Z) ∪ (av,⊥′), a ∈ F,Z ∈ Γ;

(43.14) δ′(av, e, Z) = (av,⊥′), Z ∈ Γ∪ ⊥′ .

Megmutatjuk, hogy az A′ veremautomata üres veremmel előállítja L-et. Hap ∈ L, akkor (43.6) szerint van olyan b ∈ F és Q ∈ (Γ− ⊥)∗ ⊥, amelyekre

(43.15) [a0, p,⊥] =⇒∗A [b, e,Q]

teljesül. Ha Q = Z1Z2 . . . Zk ⊥ (Zj ∈ Γ− ⊥, j = 1, 2, . . . , k), akkor először(43.8)-at, majd (43.13) alapján a (43.15) levezetés lépéseit, azután (43.14)-etalkalmazva kapjuk az alábbi levezetést:

[a′0, p,⊥′] =⇒A′ [a0, p,⊥⊥′] =⇒∗A′ [b, e,Q ⊥′] =⇒A′

=⇒A′ [av, e, Z2 . . . Zk ⊥′] =⇒∗A′ [av, e,⊥′],

azaz p ∈ L(A′). Ezzel megmutattuk, hogy L ⊆ L(A′).Megfordítva, ha p ∈ L(A′), akkor (43.7) és (43.13) szerint létezik a

[a′0, p,⊥′] =⇒∗A′ [a, e,⊥′] =⇒A′ [av, e,⊥′] (a ∈ A′)

levezetés. az első lépés (43.8) miatt most is csak

[a′0, p,⊥′] =⇒A′ [a0, p,⊥⊥′]

380

Page 381: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

lehet, azaz a[a0, p,⊥⊥′] =⇒∗A′ [av, e,⊥′]

levezetés létezik. Az av állapotba, (43.13) és (43.14) szerint, viszont egyb ∈ F állapotból juthatunk. Tehát

[a0, p,⊥⊥′] =⇒∗A′ [b, e,Q ⊥′]

fennáll valamely b ∈ F és Q ∈ (Γ− ⊥)∗ ⊥ elemre. Ez viszont úgy lehetséges,hogy

[a0, p,⊥] =⇒∗A [b, e,Q]

is fennáll. Kaptuk, hogy p ∈ L, azaz L(A′) ⊆ L, s így L = L(A′). �A 43.2. Tétel értelmében a továbbiakban beszélhetünk egyszerűen a ve-

remautomatákkal felismerhető vagy előállítható nyelvekről, függetlenül attól,hogy végállapotok halmazával vagy üres veremmel állítjuk elő a nyelvet azautomatában. Megmutatjuk, hogy a veremautomatákkal előállítható nyelvekpontosan a környezetfüggetlen nyelvek.

43.3 Tétel Egy nyelv akkor és csak akkor környezetfüggetlen, ha előállíthatóveremautomatában.

Bizonyítás. A szükségesség kimutatása céljából legyen L olyan környezet-független nyelv, amely generálható a G = (VN , VT , S,H) 2 típusú grammati-kával. A 36.2. és a 36.9. Lemma, valamint a 37.12. Tétel szerint feltehető,hogy G standard alakú, láncszabálymentes és redukált. Tekintsük azt azA = ({a}, a, VT , δ, VN ∪ VT , S) veremautomatát, amelynek δ mozgásfüggvé-nyét definiáljuk úgy, hogy legyen tetszőleges X ∈ VN változó esetén

(43.16) δ(a, e,X) = {(a,Q−1S);X −→ Q ∈ H},

és tetszőleges x ∈ VT terminális esetén pedig

(43.17). δ(a, x, x) = (a, S).

Minden más esetben legyen a δ értéke ∅. Megmutatjuk, hogy L előállíthatóüres veremmel az A verem automatában. Ehhez elegendő azt igazolni, hogyminden X ∈ VN és p ∈ V ∗T esetén

(43.18) (X =⇒∗G p) ⇐⇒ ([a, p,X] =⇒∗A [a, e, S]),

ugyanis ez X = S esetben éppen állításunkat igazolja. Az X =⇒∗G p leveze-tések n hossza szerinti teljes indukcióval igazoljuk, hogy

(43.19) (X =⇒∗G p) =⇒ ([a, p,X] =⇒∗A [a, e, S]).

381

Page 382: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 37.14. Lemma szerint elegendő bal oldali levezetésekre szorítkozni. Legyenp ∈ V ∗T . Ha n = 1, akkor X −→ p H-beli szabály. De G standard alakú, ezértp ∈ VT ∪ e. Így (43.16)-ot és p 6= e esetben (43.17)-et alkalmazva kapjuk,hogy

[a, p,X] =⇒A [a, p, p] =⇒A [a, e, S].

Tegyük fel, hogy minden legfeljebb n ≥ 1 hosszúságú X =⇒∗G p baloldali levezetésre igaz (43.18). Legyen X =⇒∗G p n+ 1 hosszúságú bal oldalilevezetés. Akkor vannak olyan Xj ∈ VN , pj ∈ V ∗T és legfeljebb n hosszúságúXj =⇒∗G pj (j = 1, 2, . . . k) bal oldali levezetések, amelyekre

X =⇒G X1X2 . . . Xk =⇒∗G p1p2 . . . pk = p.

Az indukciós feltevés miatt minden Xj =⇒∗G pj levezetésre teljesül (43.18).Innen kapjuk, hogy

[a, p,X] = [a, p1p2 . . . pk, X] =⇒A [a, p1p2 . . . pk, Xk . . . X2X1] =⇒A

=⇒A [a, p1p2 . . . pk, Xk . . . X2p−11 ] =⇒∗A [a, p2 . . . pk, Xk . . . X2] =⇒∗A · · ·

=⇒∗A [a, pk, Xk] =⇒A [a, pk, p−1k ] =⇒∗A [a, e, e].

Megfordítva, a (43.15) típusú átmenet száma szerinti teljes indukcióvalmegmutatjuk, hogy

(43.20) ([a, p,X] =⇒∗A [a, e, e]) =⇒ (X =⇒∗G p).

Legyen p ∈ V ∗T . Ha n = 1

[a, p,X] =⇒A [a, p, p−1] =⇒∗A [a, e, e],

amiből következik, hogy X → p ∈ H, azaz X =⇒∗G p. (Természetesen ebbőlaz is adódik, hogy p ∈ X ∪ e.)

Tegyük fel, hogy, ha legfeljebb n ≥ 1 (43.15) típusú átmenet segítségévelhajtható végre az [a, p,X] =⇒∗A [a, e, e] levezetés, akkor (43.19) igaz. Legyen[a, p,X] =⇒∗A [a, e, e] levezetés n + 1 (43.15) típúsú átmenet segítségévelvégrehajtható. Akkor

δ(a,X, e) = {(a,Q−1);X → Q ∈ H} 6= ∅,

mert különben nem létezne ez a levezetés. Ezért van X → Q alakú H-beliszabály. Mivel G standard alakú, ezért Q ∈ VT ∪ e vagy Q ∈ V ∗N . HaQ ∈ VT ∪ e, akkor

[a, p,X] =⇒A [a, p,Q] =⇒∗A [a, e, e],

382

Page 383: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ami azonban csak úgy lehetséges, ha Q = p−1 = p. Ez azonban lehetetlen,mivel a levezetés n+1 ≥ 2 (43.15) típusú átmenet segítségével hajtható végre.Mivel G láncszabálymentes, ezért Q = X1X2 . . . Xk, ahol Xj ∈ VN (j =1, 2, . . . , k) és 1 < k ≤ n+ 1.

[a, p,X] = [a, p,Xk . . . X2X1] =⇒A [a, e, e].

Ez azt jelenti, hogy p felírható p = p1p2 . . . pk (pj ∈ V ∗T ) alakban, ahol

[a, pj, Xj] =⇒∗A [a, e, e], j = 1, 2, . . . , k

levezetések legfeljebb n (43.15) típusú átmenet segítségével hajthatók végre.Az indukciós feltevés miatt léteznek az

Xj =⇒∗G pj, j = 1, 2, . . . , k

levezetések. Ebből kapjuk, hogy

X =⇒G X1X2 . . . Xk =⇒∗G p1X2 . . . Xk =⇒∗G · · · =⇒∗G p1p2 . . . pk = p,

azaz X =⇒∗G p. Ezzel megmutattuk, hogy minden környezetfüggetlen nyelvelőállítható egyállapotú veremautomatában üres veremmel.

Most megmutatjuk, hogy minden veremautomatában előállítható nyelvkörnyezetfüggetlen. Legyen A = (A, a0, X, δ,Γ,⊥) tetszőleges veremauto-mata. A 43.2. Tétel szerint feltehető, hogy az L nyelvet az automata azüres veremmel állítja elő, azaz L = L(A). Legyen továbbá S /∈ A∪X ∪ Γ ésVN = (A×Γ×A)∪S. Definiáljuk a G = (VN , X, S,H) 2 típusú grammatikátúgy, hogy a H-beli szabályok a következő alakúak:

(43.21) S → (a,⊥, a0), a ∈ A;

(43.22) (b0, Z, b)→ (b0, Z1, b1)(b1, Z2, b2) . . . (bk−1, Zk, bk)x, b ∈ A, Z ∈ Γ,

ahol b0, b1, . . . bk ∈ A, Z1, . . . Zk ∈ Γ, k ≥ 1, x ∈ X ∪ e és (bk, Z1Z2 . . . Zk) ∈δ(b, Z, x);

(43.23) (b0, Z, b)→ x, b ∈ A, Z ∈ Γ,

ha b0 ∈ A, x ∈ X ∪ e és (b0, e) ∈ δ(b, Z, x) Megmutatjuk, hogy L−1 = L(G),azaz L−1 nyelv környezetfüggetlen. A 36.8. Tétel szerint ebből már követ-kezik, hogy L is környezetfüggetlen. Elegendő megmutatni, hogy mindenb, c ∈ A és Z ∈ Γ esetén

(43.24) ([b, p−1, Z] =⇒∗A [c, e, e]) ⇐⇒ ((c, Z, b) =⇒∗G p),

383

Page 384: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ugyanis ez az ekvivalencia (43.7) és (43.20) szerint b = a0 és Z =⊥ esetbenéppen az L−1 = L(G) jelenti. Előszőr a (c, Z, b) =⇒∗G p levezetés n hosszaszerinti teljes indukcióval megmutatjuk, hogy

(43.25) ((c, Z, b) =⇒∗G p) =⇒ [b, p−1, Z] =⇒∗A [c, e, e],

Ha n = 1, akkor (c, Z, b) =⇒G p. Ez azonban (43.22) miatt csak úgy lehet,ha p ∈ X ∪ e és (c, e) ∈ δ(b, Z, p). Következésképpen [b, p−1, Z] =⇒A [c, e, e].Tegyük fel, hogy minden legfeljebb n ≥ 1 hosszúságú (c, Z, b) =⇒∗G p leveze-tésre teljesül (43.24). Legyen (c, Z, b) =⇒∗G p egy n+ 1 hosszúságú levezetés.Figyelembe véve a H-beli szabályok definícióját ez a levezetés az alábbi alak-ban írható:

(c, Z, b) =⇒G (c, Z1, b1)(b1, Z2, b2) . . . (bk−1, Zk, bk)x =⇒∗G p1p2 . . . pkx = p,

ahol egyrészt (bk, Z1Z2 . . . Zk) ∈ δ(b, Z, x) k ≥ 1, másrészt az indukciós felte-vés miatt a

(bj−1, Zj, bj) =⇒∗G pj, , b0 = c, j = 1, 2, . . . , k

levezetések legfeljebb n hosszúságúak. Ezért

(43.23) [bj, p−1j , Zj] =⇒∗A [bj−1, e, e]).

A (43.21), (43.22) definíciók és a (43.28) levezetések felhasználásával kapjuk,hogy

[b, p−1, Z] = [b, xp−1k p−1

k−1 . . . p−11 , Z] =⇒A

=⇒A [bk, p−1k p−1

k−1 . . . p−11 , Z1 . . . Zk−1Zk] =⇒∗A

=⇒∗A [bk−1, p−1k−1 . . . p

−11 , Z1 . . . Zk−1] =⇒∗A · · ·

=⇒∗A [b1, p−11 , Z1] =⇒∗A [c, e, e].

azaz (43.24) implikáció igaz. A [b, p−1, Z] =⇒∗A [c, e, e] levezetés n hosszaszerinti teljes indukcióval mutathatjuk meg, hogy

(43.24) ([b, p−1, Z] =⇒∗A [c, e, e]) =⇒ ((c, Z, b) =⇒∗G p),

Ha n = 1, akkor [b, p−1, Z] =⇒A [c, e, e]. Ez azonban csak úgy lehet, hap ∈ X ∪ e és (c, e) ∈ δ(b, Z, p). Ezért (43.22) szerint (c, Z, b) =⇒G p. Tegyükfel, hogy minden legfeljebb n ≥ 1 hosszúságú [b, p−1, Z] =⇒∗A [c, e, e] leveze-tésre teljesül (43.26). Legyen [b, p−1, Z] =⇒∗A [c, e, e] egy n + 1 hosszúságúlevezetés. Akkor (43.3) és (43.5) szerint(43.27)

[b, p−1, Z] = [b, xq−1, Z] =⇒A [bk, q−1, Z1 . . . Zk−1Zk] =⇒∗A [c, e, e],

384

Page 385: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

ahol p = qx (q ∈ X∗, x ∈ X ∪e), bk ∈ A és Z1, Z2, . . . Zk ∈ Γ, k ≥ 1, olyanok,amelyekre (bk, Z1Z2 . . . Zk) ∈ δ(b, Z, x). Az indukciós feltevés szerint a

(43.28) [bk, q−1, Z1 . . . Zk−1Zk] =⇒∗A [c, e, e]

levezetés n hosszúságú. A (43.28) leképezésből kapjuk, hogy a q szó fel-írható olyan q = p1p2 . . . pk (pj ∈ X∗, j = 1, 2, . . . , k) alakban, amelyre ap−1k , p−1

k−1, . . . , p−11 szavak ilyen sorrendben történő elolvasása után rendre tör-

lődnek a veremből a Zk, Zk−1, . . . , Z1 jelek. Ez azt jelenti, hogy vannak olyanbk−1, . . . , b1, b0 = c állapotok, amelyekre

([bj, p−1j , Zj] =⇒∗A [bj−1, e, e]), j = k, . . . , 2, 1.

Mivel ezeket levezetéseket a (43.28) levezetésben sorra alkalmazzuk, ezértlegfeljebb n hosszúságúak lehetnek. Az indukciós feltevés szerint

(43.29) (bj−1, Zj, bj) =⇒∗G pj, j = 1, 2, . . . , k.

A (43.19) definícióból és (43.27) levezetés első lépéséből kapjuk, hogy

(43.30) (c, Z, b)→ (b0, Z1, b1)(b1, Z2, b2) . . . (bk−1, Zk, bk)x.

A (43.28) szabályban végrehajtva sorra a (43.29) levezetéseket, kapjuk, hogy

(c, Z, b) =⇒∗G p1p2 . . . pkx = p,

vagyis (43.24) fennáll. Ezzel megmutattuk, hogy (43.23) is igaz. �Megmutatható, hogy veremautomatákra nem igaz a 40.8. Tétel megfele-

lője, azaz nem minden környezetfüggetlen nyelv ismerhető fel determiniszti-kus veremautomatával. Az előző tétel bizonyításából nyilvánvalóan adódikazonban az alábbi eredmény.

43.4 Következmény Egy nyelv akkor és csak akkor állítható elő veremau-tomatában, ha előállítható egyállapotú veremautomatában üres veremmel.

44. Turing automatákEbben a fejezetben bevezetjük a (nemdeterminisztikus) Turing automata fo-galmát. Megmutatjuk, hogy az ilyen automatákban előállítható nyelvek osz-tálya megegyezik a 0 típusú nyelvek osztályával.

Legyenek A 6= ∅ és X 6= ∅ tetszőleges véges halmazok, a0 ∈ A és # ∈ Xegy-egy kitüntetett elem, δ pedig

δ : A×X → P (A×X × V )

385

Page 386: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

típusú függvény, ahol V = {�,�, �}. Az A = (A, a0, X, δ,#) rendszert(nemdeterminisztikus) Turing automatának nevezzük, ha tetszőleges a ∈ Aés x ∈ X esetén teljesülnek a

(44.1) ((b, z, v) ∈ δ(a,#), z 6= #) =⇒ v 6=�,

(44.2) (b,#, v) ∈ δ(a, x) =⇒ x = #.

feltételek. Az A és X halmazokat A állapothalmazának ill. bemenő hal-mazának, # szimbólumot A korlátozó jelének, a δ függvényt pedig A moz-gásfüggvényének nevezzük.

Az A = (A, a0, X, δ,#) Turing automatát determinisztikusnak mondjuk,ha minden a ∈ A és x ∈ X párra |δ(a, x)| ≤ 1 teljesül.

Az A = (A, a0, X, δ,#) Turing automatában is kijelölhetünk végállapotokegy F ⊆ A halmazát. Ebben az esetben használjuk az

AF = (A, a0, X, δ,#;F )

jelölést is.A Turing automata működését a következő módon képzelhetjük el. A

Turing automata diszkrét időskálában dolgozik. Úgy tekintjük, hogy a A =(A, a0, X, δ,#) Turing automata író-olvasófejjel van ellátva, amely A műkö-désének minden időpillanatában egy cellákra osztott mindkét irányban vég-telen bemenő szalag valamely cellájára mutat. A bemenő szalag celláiba egy(X − #)∗-beli p bemenő szó betűi vannak folytatólagosan beírva, a többicellában pedig mindenütt a # korlátozó jel áll. (A p szó egy program kezdőfeltételének tekinthető.) Emellett működésének minden időpillanatában Avalamilyen A-beli állapotban van. Feltételezzük, hogy működése kezdetén Aaz a0 kezdő állapotban van és az író-olvasófej a szalagon lévő p ∈ (X −#)∗

szó első betűje előtt álló, hozzá legközelebb lévő # jelet tartalmazó celláramutat.

Ha működésének valamely időpillanatában az automata az a ∈ A állapot-ban van és az író-olvasófej a bemenő szalag olyan cellájára mutat, amelybenaz x ∈ X jel áll, akkor az automata működése az alábbi lehetőségek valame-lyike szerint folytatódhat:1. Ha δ(a, x) = ∅, akkor A nem működik tovább.2. Ha (b, z, �) ∈ δ(a, x), akkor az író-olvasófej kitörli a cellából az x jelet, he-lyébe a z jelet írhatja, az író-olvasófej helyben marad és az automata átmegya b állapotba.

386

Page 387: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

3. Ha (b, z,�) ∈ δ(a, x), akkor az író-olvasófej kitörli a cellából az x jelet,helyébe a z jelet írhatja, majd az író-olvasófej egy cellával balra lép és közbenaz automata átmegy a b állapotba.4. Ha (b, z,�) ∈ δ(a, x), akkor az író-olvasófej kitörli a cellából az x jelet,helyébe a z jelet írhatja, majd az író-olvasófej egy cellával jobbra lép ésközben A átmegy a b állapotba.

Ha x = # és z 6= #, akkor a 3. [4.] lépés után a bemenő szalagonlévő p ∈ (X −#)∗ szó helyett a zp [pz] ∈ (X −#)∗ szó kerülhet. A Turingautomata e tulajdonságát úgy is kifejezhetjük, hogy a Turing automata képesmunkaterének kibővítésére. Azonban (44.2) miatt az író-olvasófej korlátozójelre csak korlátozó jelet cserélhet.

Ha |X| ≥ 2, akkor a definíció alapján egy Turing automata olyan végtelen(parciális és nemdeterminisztikus) kimenő jel nélküli automatának tekinthe-tő, amelynek állapothalmaza A×#(X −#)∗# és bemenő halmaza X.

A Turing automata működésének leírására is bevezetjük a konfigurációfogalmát. Azt mondjuk, hogy az A = (A, a0, X, δ,#) Turing automata a

[p, a, q] (p, q ∈ X∗, a ∈ A)

konfigurációban van, ha A az a állapotban van, a bemenő szalagon a pq szóáll, az író-olvasó fej pedig a q szó első betűjét tartalmazó cellára, ill. ha qaz üres szó, akkor közvetlenül a p szó után álló # jelet tartalmazó celláramutat. (Ha p = q = e, akkor az író-olvasófej akkor a bemenő szalag mindencellája a korlátozó jelet tartalmazza.)

Az A Turing automatában a K2 konfigurációt a K1 konfigurációból köz-vetlenül levezethetőnek nevezzük, jelekben

K1 =⇒A K2,

ha tetszőleges a, b ∈ A, x, y, z ∈ X, u ∈ X−# és p, q ∈ X∗ esetén a következőfeltételek valamelyike teljesül:

(44.3.) K1 = [p, a, xq], K2 = [p, b, yq], (b, y, �) ∈ δ(a, x)

(44.4.) K1 = [p, a, xq], K2 = [py, b, q], (b, y,�) ∈ δ(a, x)

(44.5.) K1 = [pz, a, xq], K2 = [p, b, zyq], (b, y,�) ∈ δ(a, x)

387

Page 388: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(44.6.) K1 = [e, a,#q], K2 = [e, b,#uq], (b, u,�) ∈ δ(a,#)

(44.7.) K1 = [p#, a, e], K2 = [pu#, b, e], (b, u,�) ∈ δ(a,#)

Akkor mondjuk, hogy a K konfigurációból levezethető vagy kiszámítható aK ′ konfiguráció, jelekben:

K =⇒∗A K ′,

ha megadható konfigurációk olyan K0, K1, . . . , Kn sorozata, hogy

(44.8) K = K0, Ki−1 =⇒A Ki (i = 1, 2, . . . , n), Kn = K ′.

A (44.8) sorozatot A-beli levezetésnek, vagy számításnak nevezzük. Hanem vezet félreértésre, akkor =⇒A és =⇒∗A helyett a =⇒ ill. =⇒∗ kifejezéstis használjuk.

Azt mondjuk, hogy az X − # ábécé feletti L nyelv előállítható az A =(A, a0, X, δ,#) (nemdeterminisztikus) Turing automatában az A állapothal-maz egy F részhalmazával vagy előállítható az AF = (A, a0, X, δ;F ) auto-matában, röviden, L előállítható az A Turing automatában, ha L pontosanazokból a p ∈ (X−#)∗ szavakból áll, amelyekhez létezik olyan q ∈ (X−#)∗

szó és olyan a ∈ F állapot, hogy

(44.9) [e, a0,#p#] =⇒∗A [#q#, a, e].

(Ezt úgy is elképzelhetjük, hogy az A Turing automata az a0 kezdő állapotbólindulva, a p kezdeti feltételből a (44.9) program végrehajtásával kiszámítjaq-t és az a végállapotba kerül, azaz megáll.) Ugyanúgy, mint más automa-tatípusok esetén, azt is mondjuk, hogy A Turing automata felismeri vagyelfogadja az L nyelvet (az F halmazzal). Most is használjuk az L = L(A, F )jelölést.

44.1 Példa Tekintsük az

A a0 a1 a2 a3

# (a1, y,�) (a2,#,�) (a3,#,�) ∅x (a1, y, �) (a2, y,�) ∅ ∅z ∅ (a1, z,�) {(a1, z, �)} ∅u ∅ (a0, x, �) ∅ ∅

determinisztikus Turing automatát. Mutassuk meg, hogy zzx ∈ L(A, a3) észxz, xzz /∈ L(A, a3).

388

Page 389: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az zzx szóra vonatkozó

[e, a0,#zzx#] =⇒ [e, a1,#zzzx#] =⇒ [#, a2, zzzx#] =⇒

=⇒ [#, a1, uzzx#] =⇒ [#, a0, xzzx#] =⇒ [#, a1, zzzx#] =⇒

=⇒ [#u, a1, zzx#] =⇒ [#uu, a1, zx#] =⇒ [#uuu, a1, x#] =⇒

=⇒ [#uuuz, a2,#] =⇒ [#uuuz#, a3, e]

levezetés szerint zzx ∈ L(A, a3). Az zxz szóra vonatkozó

[e, a0,#zxz#] =⇒ [e, a1,#zzxz#] =⇒ [#, a2, zzxz#] =⇒

=⇒ [#, a1, uzxz#] =⇒ [#, a0, xzxz#] =⇒ [#, a1, zzxz#] =⇒

=⇒ [#u, a1, zxz#] =⇒ [#uu, a1, xz#] =⇒ [#uuz, a2, z#] =⇒

=⇒ [#uuz, a1, u#] =⇒ [#uuz, a0, x#] =⇒ [#uuz, a1, z#] =⇒

=⇒ [#uuzu, a1,#] =⇒ [#uuzu#, a2, e]

számítás szerint zxz /∈ L(A, a3). Mivel

[e, a0,#xzz#] =⇒ [e, a1,#zxzz#] =⇒ [#, a2, zxzz#] =⇒

=⇒ [#, a1, uxzz#] =⇒ [#, a0, xxzz#] =⇒ [#, a1, zxzz#] =⇒

=⇒ [#u, a1, xzz#] =⇒ [#uz, a2, zz#] =⇒ [#uz, a1, uz#] =⇒

=⇒ [#uz, a0, xz#] =⇒ [#uz, a0, zz#]

számítás tovább nem folytatható, mert δ(a0, z) = ∅ miatt a A Turing auto-mata leáll, ezért xzz /∈ L(A, a3).

44.2 Tétel Turing automatában előállítható nyelv 0 típusú.

Bizonyítás. Tegyük fel, hogy az U véges ábécé feletti L nyelv előállítható azA = (A, a0, U ∪#, δ,#) (# /∈ U) Turing automatában az állapotok F ⊆ Arészhalmazával, azaz L = L(A, F ). Konstruáljuk meg a G = (VN , U, S,H) 0típusú grammatikát a következőképpen:

Legyen U ′ egy olyan ábécé, amelyre |U ′| = |U |, U ′ ∩ (A ∪ U) = ∅ és# /∈ U ′. Legyen továbbá ϕ az U ábécé bijektív leképezése U ′-re és VN =A∪U ′∪{#, S, R, T}, ahol S,R, T /∈ A∪U ∪U ′∪{#}. Jelöljük szintén ϕ-velϕ homomorf kiterjesztését U∗-ra.

Ezek után megadjuk a H-beli helyettesítési szabályok definícióját:Minden a ∈ A, x ∈ U ∪# párra

389

Page 390: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(44.10) bϕ(y) −→ aϕ(x), ha (b, y, �) ∈ δ(a, x),

és

(44.11) ϕ(y)b −→ aϕ(x), ha (b, y,�) ∈ δ(a, x).

Minden a ∈ A, x ∈ U , z ∈ U ∪# hármasra

(44.12) bϕ(z)ϕ(y) −→ ϕ(z)aϕ(x), ha (b, y,�) ∈ δ(a, x).

Minden a ∈ A, u ∈ U párra

(44.13) b#ϕ(u) −→ a#, ha (b, u,�) ∈ δ(a,#),

és

(44.14) ϕ(u)b# −→ a#, ha (b, u,�) ∈ δ(a,#).

Továbbá

(44.15) S −→ R#a (a ∈ A), R −→ Rϕ(x) (x ∈ U), R −→ #,

(44.16) Tϕ(x) −→ ϕ(x)T (x ∈ U), a0# −→ T, T# −→ e.

Végül

(44.17) ϕ(x) −→ x (x ∈ U).

Megmutatjuk, hogy az így definiált 0 típusú grammatika generálja az L nyel-vet. Legyen e célból p ∈ L tetszőleges szó. Akkor létezik olyan q ∈ U∗ ésa ∈ F , hogy

[e, a0,#p#] =⇒∗A [#q#, a, e].

A (44.10) - (44.14) szabályok figyelembevételével kapjuk, hogy

390

Page 391: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

#ϕ(q)#a =⇒∗G a0#ϕ(p)#.

A (44.15) szabályok miatt

S =⇒∗G #ϕ(q)#a,

és (44.16) miatt

a0#ϕ(p)#a =⇒∗G ϕ(p).

Ezért, (44.17)-et is felhasználva,

S =⇒∗G #ϕ(q)#a =⇒∗G a0#ϕ(p)# =⇒∗G ϕ(p) =⇒∗G p,

tehát p ∈ L(G), s így L ⊆ L(G).Megfordítva, legyen p ∈ L(G), azaz S =⇒∗G p. Ekkor van olyan q ∈ U∗

bemenő szó és a ∈ F állapot, hogy a (44.15) szabályok felhasználásával

S =⇒∗G #ϕ(q)#a,

s a (44.10) - (44.14) szabályok felhasználásával

#ϕ(q)#a =⇒∗G a0#ϕ(p)#.

Innen a (44.10) - (44.14) szabályok definícióját figyelembe véve

[e, a0,#p#] =⇒∗A [#q#, a, e],

azaz p ∈ L. Ezzel megmutattuk, hogy az L(G) ⊆ L tartalmazás is fennáll,vagyis L = L(G). �

A Church tézis szerint minden rekurzíve felsorolható nyelv előállíthatóTuring automatában. Másrészt a 38. fejezetben megmutattuk, hogy minden0 típusú nyelv rekurzíve felsorolható. Így, ha igaz a Church tézis, akkor akövetkezők is igazak.

44.3 Következmény Bármely véges ábécé feletti L nyelvre ekvivalensek azalábbi állítások:(1) L 0 típusú nyelv;(2) L rekurzíve felsorolható nyelv(3) L előállítható Turing automatában.

Végül definiáljuk a Turing automaták egy speciális osztályát , az ún. li-neárisan korlátolt automatákat. Megmutatható, hogy az általuk előállított

391

Page 392: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

nyelvek az 1 típusú nyelvek. A bizonyítást, annak hosszadalmassága mi-att nem végezzük el. Az olvasó a bizonyítást megtalálhatja például PeákIstván [47] egyetemi jegyzetében.

Az A = (A,X, a0, δ,#) Turing automatát (nemdeterminisztikus) lineári-san korlátolt automatának nevezzük, ha tetszőleges a ∈ A és x ∈ X esetén

(44.18) (b, z, v) ∈ δ(a,#) =⇒ z = #.

Tehát egy lineárisan korlátolt automata olyan Turing automata, amelyneknincs olyan z 6= # bemenő jele, amelyre teljesülne a (44.1) feltétel. Így alineárisan korlátolt Turing automata működése közben a bemenő szalagon azíró-olvasófej korlátozó jelet csak korlátozó jelre cserélhet, vagyis nem képesmunkaterének kibővítésére. Ez azt jelenti, hogy egy lineárisan korlátolt Tu-ring automatában a levezetésekben a (44.6) és a (44.7) közvetlen levezetéseknem szerepelnek.

44.4 Tétel Egy nyelv akkor és csak akkor 1 típusú, ha előállítható lineárisankorlátolt Turing automatában.

45. Véges nyelvekEbben és a következő fejezetben a reguláris nyelvek három nevezetes részosz-tályáról lesz szó. Először tekintsük a legegyszerűbb esetet, a véges nyelvekosztályát. A fejezet fő célja annak a kérdésnek a vizsgálata, hogy egy végesnyelv előállításához minimálisan hány állapotú automata ill. hány végállapotszükséges. Nyilvánvalóan minden véges nyelv tekinthető véges ábécé felettinyelvként.

A 40. fejezetben definiáltuk a véges automatákban előállítható, azaz Kle-ene tétele szerint a reguláris nyelvek súlyát. Vagyis egy X ábécé feletti Lreguláris nyelv súlyán azt az s(L) nemnegatív egész számot értjük, amely-re L előállítható s(L) állapotú automatában és ha L előállítható valamelyA = (A,X, δ) automatában, akkor s(L) ≤ |A|. A 40.9. Tétel azt mondja ki,hogy egy L reguláris nyelv súlya megegyezik a (40.2)-ben definiált τL jobbkongruencia indexével. Az L reguláris nyelv előállítási vagy reprezentációsszámán pedig azt az r(L) nemnegatív egész számot értjük, amelyre L előál-lítható egy automata r(L) számú állapotával és ha L előállítható valamelyAF = (A, a0, X, δ;F ) automatában, akkor r(L) ≤ |F |. Nyilvánvaló, hogyminden L véges nyelvre r(L) ≤ |L|. Az L véges nyelvet irreducibilisnek ne-vezzük, ha r(L) = |L| és reducibilisnek, ha r(L) < |L|. Az üres nyelv és azegyelemű nyelvek természetesen irreducibilisek.

392

Page 393: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

45.1 Példa Legyen A = {0, 1, 2, . . . , n, n+ 1, n+ 2}, X = {x, y},

δ(j, x) = j + 1 (j = 0, 1, . . . , n− 1),

δ(n, x) = δ(n+ 1, x) = δ(n+ 2, x) = n+ 2,

δ(k, y) = n+ 1 (k = 1, 2, . . . , n),

δ(0, y = δ(n+ 1, y) = δ(n+ 2, y) = n+ 2.

Az L = xy + x2y + · · · + xny nyelv előállítható a 0 kezdő állapottal és azegyetlen n + 1 végállapottal. Vagyis r(L) = 1, így L minden 2 ≤ n eseténreducibilis.

45.2 Lemma Ha az X feletti L véges nyelv reducibilis, akkor bármely p ∈X+ szóra az L+ p nyelv is reducibilis.

Bizonyítás. Legyen L reducibilis nyelv X felett. Ez azt jelenti, hogy vanolyan A = (A, a0, X, δ) iniciális A-véges automata és F ⊆ A, amelyre L =L(A, a0, F ) és |F | = r(L) < |L|. Egy ilyen automata megadható úgy is, hogybármely L-beli q = q1q2 (q2 6= e) szó esetén minden r ∈ X∗ szóra a0q1 = a0rakkor és csak akkor, ha q1 = r. Ha ez az A automatára nem teljesül, akkorilyen automatát a következő módon szerkeszthetünk meg. Minden p ∈ Lszó esetén a δ(a0, p) út közbülső állapotainak feleltessünk meg új (egymástólés A elemeitől is különböző) állapotokat. Legyen ezen állapotok halmazaA′. Továbbá vegyünk fel meg egy c /∈ A ∪ A′ állapotot. Értelmezzük aB = (B, a0, X, δ

′) iniciális automatát az alábbi módon. Legyen B = A∪A′∪c. Ha p ∈ L, akkor δ′(a0, p) legyen az az út, amelyet a δ(a0, p) útból úgykapunk, hogy a közbülső állapotokat sorra kicseréljük a nekik megfeleltetettúj állapotokkal. Ezek után, ha valamely b ∈ B és x ∈ X esetén δ′(b, x) nincsdefiniálva, akkor legyen δ′(b, x) = c. Az így kapott automata determinisztikusés L = L(B, a0, F ). (Megjegyezzük, hogy c az automata egy csapdája.)

Legyen p ∈ X+ tetszőleges bemenő szó. Ha p ∈ L, akkor a tétel állí-tása nyilvánvalóan igaz. Ezért feltehetjük, hogy p /∈ L. A B automatábólszerkesszük meg a következő D = (D, a0, X, δ”) iniciális automatát.

Legyen a1 = a0p1, ha p1 a p szó L-beli maximális hosszúságú prefixe.(Ha p-nek nincs L-beli q 6= e prefixe, akkor pedig legyen p1 = e.) Ha p2 =x1x2 . . . xm (x1, x2, . . . , xm ∈ X), akkor vegyük fel a d1, d2, . . . , dm /∈ B újállapotokat és legyen D = B ∪ {d1, d2, . . . , dm}, továbbá

δ”(a1, x1) = d1, δ”(d1, x2) = d2, . . . , δ”(dm−1, xm) = dm.

Tegyük fel először, hogy p1 6= e p-nek L-beli maximális hosszúságú prefixe.Ha B-ben valamely p1-től különböző rx (r ∈ X∗, x ∈ X) szóra a0rx = a1,

393

Page 394: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

akkor az a0r ∈ B állapotra legyen δ”(a0r, x) = dm. Minden más b ∈ B,x ∈ X párra legyen δ”(a, x) = δ′(a, x). Végül, ha egy d ∈ D, x ∈ X párraδ”(b, x) még nincs definiálva, akkor legyen δ”(d, x) = c.

Ha p-nek nincs L-beli q 6= e prefixe, akkor az előbbiek szerint δ”(a0, x1) =d1. Minden más b ∈ B, x ∈ X párra legyen δ”(b, x) = δ′(b, x). Továbbáminden x ∈ X−xi+1 esetén δ”(di, x) = δ′(a0x1 . . . xi, x) (i = 1, 2, . . . ,m−1).Ha valamely d ∈ D, x ∈ X párra δ”(d, x) még nincs definiálva, akkor mostis legyen δ”(d, x) = c.

Világos, hogy a D automata determinisztikus és L+p előállítható D-benaz F + dm halmazzal. Ezért

r(L+ p) ≤ |F |+ 1 < |L|+ 1 = |L+ p|

miatt L+ p reducibilis. �

45.3 Következmény Ha az X feletti L véges nyelv irreducibilis, akkor min-den résznyelve is irreducibilis. Ha pedig L reducibilis és K tetszőleges Xfeletti véges nyelv, akkor az L+K nyelv is reducibilis.

45.4 Tétel EgyX feletti L 6= ∅ véges nyelv akkor és csak akkor irreducibilis,ha előállítható

(45.1) L = p1 + p1p2 + · · ·+ p1p2 . . . pk (1 ≤ k)

alakban, ahol p1 ∈ X∗, p2, . . . , pk ∈ X+.

Bizonyítás. Ha a (45.1) alakú L nyelv előállítható az A = (A, a0, X, δ)automatában az F halmazzal, akkor

F = {a0p1, a0p1p2, . . . , a0p1p2 . . . pk},

vagyis r(L) = |F | = |L|, azaz L irreducibilis.Megfordítva, tegyük fel, hogy L véges irreducibilis nyelv X felett. Ha

|L| = 1, akkor L nyilvánvalóan (45.1) alakú. Legyen 2 ≤ |L|. A 45.3.Következmény szerint L tetszőleges két különböző p és q szavára a {p, q} nyelvis irreducibilis. Megmutatjuk, hogy p és q közül egyik prefixe a másiknak.Ha valamelyik szó az üres szó, akkor nyilvánvalóan igaz az állítás. Tegyükfel, hogy p 6= e és q 6= e. Legyen p = x1x2 . . . xm és q = y1y2 . . . yn, aholxi, yj ∈ X, (i = 1, 2, . . . ,m, j = 1, 2, . . . , n,m ≥ n).

Tegyük fel először, hogy q-nak van olyan q1 = y1y2 . . . yk (1 ≤ k < n) pre-fixe, amely p-nek is prefixe. Szerkesszük meg az A = (A, a0, X, δ) automatáta következő módon. Vegyük fel az a0, a1, . . . , am állapotokat úgy, hogy

δ(a0, x1) = a1, δ(a1, x2) = a2, . . . , δ(am−1, xm) = am

394

Page 395: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

teljesüljön. Ezek után vegyünk fel további bk+1, bk+2, . . . , bn−1 állapotokat ésdefiniáljuk a

δ(bk, yk+1) = bk+1, δ(bk+1, yk+2) = bk+2, . . . , δ(bn−1, yn = am

átmeneteket. Végül legyen c az eddigiektől különböző állapot és

A = {a0, a1, . . . , am, bk+1, bk+2, . . . , bn−1, c}.

Ha valamely b ∈ A, x ∈ X párra δ(b, x) még nincs definiálva, akkor le-gyen δ(b, x) = c. Világos, hogy A olyan iniciális determinisztikus automata,amelyben az {p, q} nyelv előállítható az {am} egyelemű halmazzal. Ez azon-ban lehetetlen, mivel {p, q} irreducibilis.

Tegyük fel most, hogy a p és q szavaknak nincs az üres szótól különbözőközös prefixe. Az előbbi konstrukciót módosítsuk úgy, hogy az a0, a1, . . . , amállapotokban az automata működjön az előbb definiált módon. A

bk+1, bk+2, . . . , bn−1

állapotok helyett pedig vegyük fel a d1, d2, . . . , dn−1 állapotokat, amelyekreés a q szó betűire definiáljuk a

δ(a0, y1) = d1, δ(d1, y2) = d2, . . . , δ(dn−2, yn−1) = dn−1, δ(dn−1, yn) = am

átmeneteket. Az A automata ilyen módosításával olyan iniciális determinisz-tikus automatához jutunk, amelyben a {p, q} nyelv előállítható az egyelemű{am} halmazzal. Ez szintén lehetetlen. Következésképpen, L tetszőlegeskét különböző szava közül az egyik a másiknak valódi prefixe, ahonnan márkövetkezik, hogy L (45.1) alakú. �

A következőkben azzal foglalkozunk, hogy egy véges L nyelv egy regu-láris kifejezésének ismeretében hogyan határozhatjuk meg az s(L) és r(L)számokat. Világos, hogy s(∅) = 1, r(∅) = 0, s(e)=2 és r(e) = 1. Ezért atovábbiakban csak olyan véges nyelvekkel foglalkozunk, amelyek legalább egynemüres szót tartalmaznak.

Mivel a véges nyelvek reguláris nyelvek, ezért megadhatók reguláris ki-fejezéssel is. Ha az X feletti L véges nyelv nem tartalmazza az üres szót,akkor megadható olyan α reguláris kifejezéssel, amelyben nincs iteráció. Hapedig e ∈ L, akkor megadható egy α + ∅∗ reguláris kifejezéssel, amelybenaz α reguláris kifejezés nem tartalmaz iterációt. (Emlékeztetünk arra, hogy∅∗ = e.) Ha α-ra alkalmazzuk a reguláris kifejezésekre is érvényes

(45.2) βγ + βγ′ = β(γ + γ′)

395

Page 396: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

disztributív szabályt ameddig csak lehetséges, akkor a véges nyelvek un. nor-mál alakú reguláris kifejezéséhez jutunk. Pontosabban a következőket mond-hatjuk:(1) Minden p ∈ X∗ szó normál alakú reguláris kifejezés.(2) Ha p ∈ X+ és α normál alakú reguláris kifejezés, akkor p(α) is normálalakú reguláris kifejezés.(3) Ha α és β normál alakú reguláris kifejezések és nincsenek olyan γ, γ1, γ2

reguláris kifejezések, amelyekre α = γγ1, β = γγ2, akkor α + β is normálalakú reguláris kifejezés.(4) Minden normál alakú reguláris kifejezés előáll az (1)-(3) alatt megadottmódon.

Felhívjuk a figyelmet arra, hogy egy α normál alakú reguláris kifejezésreeα nem normál alakú reguláris kifejezés.

45.5 Lemma Minden véges nyelvnek létezik normál alakú reguláris kifeje-zése, amely az összeadandók sorrendjétől eltekintve egyértelműen meghatá-rozott.

Bizonyítás. Már említettük, hogy ha (45.2) disztributív szabályt addigalkalmazzuk, ameddig csak lehetséges, akkor bármely véges nyelv normálalakú reguláris kifejezéséhez jutunk.

Az egyértelműség bizonyítását a véges nyelv elemszáma szerint teljes in-dukcióval végezzük el. Az egyértelműség igaz minden egyelemű nyelvre. Te-gyük fel, hogy a normál alakú reguláris kifejezés egyértelműsége (az össze-adandók sorrendjétől eltekintve) minden X feletti 1 ≤ n elemű nyelvre igaz.Legyen L tetszőleges n + 1 elemű nyelv X felett. Akkor L előállíthatóL = L′ + p (p ∈ X+) alakban, ahol L′ X feletti n elemű nyelv. Legyenα′ az L′ nyelv normál alakú reguláris kifejezése. Az indukciós feltevés sze-rint α′ az összeadandók sorrendjétől eltekintve egyértelműen meghatározott.Legyen r ∈ X∗ a leghosszabb olyan szó, amelyre valamilyen q ∈ L′ szóvalp = rp1 és q = rq1. Akkor α′-ből L normál alakú reguláris kifejezéséhezjutunk p-nek α′-höz való hozzávételével. A p szó pozíciója ebben a normálalakban az r szó által az összeadandók sorrendjétől eltekintve egyértelműenmeghatározott. �

45.6 Példa Az X = {x, y, z} ábécé feletti

L = x2 + xy + xyz + yx2 + y2 + y2z2 + yz + yz2 + zx2 + zxy + zxyz

véges nyelv esetén (45.2) segítségével kapjuk L

L = x(x+ y(e+ z)) + y((x2 + y(e+ z2) + z(e+ z)) + zx(x+ y(e+ z))

normál alakú reguláris kifejezését.

396

Page 397: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Egy α normál alakú reguláris kifejezés valamely α′ reguláris részkifeje-zését α elágazásának nevezzük, ha létezik olyan, legalább egy nemüres szóttartalmazó β kifejezés, hogy βα′ összeadandó α-ban.

45.7 Példa A 45.6. Példában szereplő normál alakú reguláris kifejezés el-ágazásai:

(x+ y(e+ z), e+ z, x2 + y(e+ z2) + z(e+ z), x, e+ z2, x(x+ y(e+ z)).

Minden L véges nyelvhez hozzárendelhetünk egy γ reguláris kifejezéstúgy, hogy vesszük az L nyelv α normál alakú reguláris kifejezésését és α-ból elhagyunk bizonyos elágazásokat úgy, hogy minden α-beli elágazásbólpontosan egyet tartunk meg. Az α-ból így előálló γ kifejezést az L nyelvheztartozó reprezentációs alaknak nevezzük. Megjegyezzük, hogy egy nyelvheztartozó reprezentációs alak a nyelv által nincs egyértelműen meghatározva ésnem feltétlenül az illető nyelvet állítja elő.

45.8 Példa Az

x(x+ y) + y(x2 + y(e+ z2) + z(e+ z)) + zx,

x(x+ y(e+ z)) + y(x2 + y(e+ z2) + z) + zx,

x+ y(x2 + y(e+ z2) + z(e+ z)) + zx(x+ y),

x+ y(x2 + y(e+ z2) + z) + zx(x+ y(e+ z)),

reguláris kifejezések mindegyike 45.6. Példában szereplő normál alakú regu-láris kifejezés egy reprezentációs alakja.

Definiáljuk ezután egy X ábécé feletti véges nyelvet előállító reguláriskifejezés karakterisztikus számát:(1) Az X ábécé betűinek és az e üres szónak a karakterisztikus száma 1.(2) Ha x ∈ X és α 6= e olyan reguláris kifejezés, amelynek karakterisztikusszáma n, akkor az x(α) kifejezés karakterisztikus száma n+ 1.(3) Reguláris kifejezések összegének karakterisztikus száma megegyezik azösszeadandók karakterisztikus számainak összegével.

Nem nehéz megmutatni, hogy egy L véges nyelvhez tartozó bármely kétreprezentációs alak karakterisztikus száma megegyezik. Ezt a közös számotaz L nyelv karakterisztikus számának nevezzük és rá a c(L) jelölést hasz-náljuk. Ugyancsak egyszerűen látható, hogy az e üres szó az L-hez tartozóminden reprezentációs alakban ugyanannyiszor fordul elő. Jelölje ezt a közösszámot ε(L).

397

Page 398: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

45.9 Tétel Ha L X feletti (legalább egy nemüres szót tartalmazó) végesnyelv, akkor

s(L) = c(L) + 3, r(L) = ε(L) + 1.

Bizonyítás. A tétel nyilvánvalóan igaz abban az esetben, ha L egyetlenp ∈ X+ szóból áll. Ekkor ugyanis L egyetlen reprezentációs alakja p, sígy c(L) = |p| − 1, ε(L) = 0. Továbbá, mivel a p-hez tartozó utat leíróa1, a2, . . . , a|p| állapotokhoz még egy kezdő állapotra és egy csapdára vanszükség, amelybe minden nem p-hez tartozó út vezet, ezért s(L) = |p|+ 2 ésr(L) = 1.

Tegyük fel ezután, hogy a tétel igaz a (legalább egy nemüres szót tartal-mazó) L véges nyelvre. Legyen p ∈ X+ és tekintsük a pL nyelvet. Könnyenbelátható, hogy

s(pL) = s(L) + |p|, r(pL) = r(L), c(pL) = c(L) + |p|, ε(pL) = ε(L).

Ha ugyanis az L nyelv előállítható az A = (A, a0, X, δ) automatában azF ⊆ A halmazzal, akkor a pL nyelv előállítható abban B = (B, a1, X, δ

′) au-tomatában az F halmazzal, amelyet úgy kapunk A-ból, hogy még felvesszünkúj a1, a2, . . . , a|p|−1 állapotokat és a p szóval az a1 állapotból az a0 állapot-ba vezető utat. Továbbá felveszünk meg egy c csapdát is. TermészetesenB = A ∪ {a1, a2, . . . , a|p|−1, c}. A δ′ átmenetfüggvény az A × X halmazonegyezzen meg δ-val, minden más út vezessen a csapdába.

Tegyük fel végül, hogy a tételt már bebizonyítottuk olyan L és K (leg-alább egy nemüres szót tartalmazó) véges nyelvekre, amelyek olyan normálalakú α és β reguláris kifejezésekkel vannak megadva, hogy egyetlen α-beliα′ és β-beli β′ összeadandóhoz sincsenek olyan γ, γ1, γ2 reguláris kifejezések,amelyekre α′ = γγ1, β′ = γγ2. Továbbá α-nak és β-nak nincs közös elágazásaés α+β is normál alakú reguláris kifejezés. Ilyen feltételek mellett fennállnakaz

(45.3) r(L1 + L2) = r(L1) + r(L2)− 1,

(45.4) s(L1 + L2) = s(L1) + s(L2)− 3

összefüggések. Valóban (45.3) következik, abból, hogy ugyanaz a végállapotválasztható az olyan p ∈ L1 + L2 szavakhoz, amelyek nem valódi prefixeiegyetlen L1+L2-beli szónak sem. (A reprezentációs szám definíciója miatt azL1 és az L2 nyelveket legkisebb számú végállapottal előállító automatákbanpontosan egy-egy ilyen végállapot van, s ezeket "egybeolvaszthatjuk".) Ebbőlkövetkezik a (45.4) egyenlőség is, felhasználva azt, hogy az L1 és L2 nyelveketlegkisebb állapotszámmal előállító automaták kezdő állapotait és csapdáit

398

Page 399: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

külön-külön "egybeolvaszthatjuk". Másrészt a definíciók alapján nyilvánvaló,hogy

(45.5) c(L1 + L2) = c(L1) + c(L2),

(45.6) ε(L1 + L2) = ε(L1) + ε(L2)

A (45.3)-(45.6) egyenlőségekből már közvetlenül adódik, hogy a tétel az L1 +L2 nyelvre is igaz.

Ha a tétel igaz valamilyen L véges nyelvre, nyilván igaz az L+ e nyelvreis. Ezzel igazoltuk a tételt minden olyan véges nyelvre, amely reprezentációsalakkal van megadva. Így, minthogy egy nyelv súlya és reprezentációs számanem változik a normál alakról reprezentációs alakra való áttérés során, a tételbizonyítását befejeztük. �

45.10 Példa A 45.6. Példában szereplő L véges nyelv 45.8. Példában meg-adott reprezentációs alakjaiból leolvasható, hogy c(L) = 7 és ε(L) = 2. Ígyaz előbbi tétel szerint s(L) = 10 és r(L) = 3. Ha felrajzoljuk az

A 0 1 2 3 4 5 6 7 8 9x 5 8 9 9 9 4 5 9 4 9y 1 2 9 9 9 7 9 9 9 9z 6 7 3 4 9 9 9 4 9 9.

automata átmenetgráfját, abból könnyen leolvasható, hogy L előállítható a0 kezdő állapotból a {2, 4, 7} halmazzal.

46. Definit és nilpotens nyelvekAzt mondjuk, hogy az X ábécé feletti L nyelv k-definit, ha bármely legalábbk hosszúságú p ∈ X∗ szó akkor és csak akkor eleme L-nek, ha a k hosszúságúzárószelete is eleme L-nek. Egy L ⊆ X∗ nyelvet definitnek nevezünk, hak-definit valamilyen k nemnegatív egész számra. Ha k > 0, akkor L-etk-adfokban definitnek nevezzük, ha k-definit, de nem (k − 1) definit. Ezta k számot az L nyelv definitségi fokának nevezzük és rá a df(L) jelölésthasználjuk. Csak két X feletti 0-adfokban definit nyelv van, mégpedig ∅ ésX∗. A definícióból adódik, hogy egy nyelv legfeljebb egy k ∈ N számrak-adfokban definit.

Mivel a véges nyelvek mindig tekinthetők véges ábécé felett, ezért mindenL véges nyelv definit nyelv. Ha L 6= ∅, akkor

(46.1) df(L) = 1 + max{|p|; p ∈ L}.

(Arról már beszéltünk, hogy df(∅) = 0.) Könnyen belátható a

399

Page 400: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

46.1 Lemma Egy L ⊆ X∗ nyelv akkor és csak akkor k-definit, ha bármelyolyan p, q ∈ X∗ szóra, amelyeknek megegyezik a k hosszúságú zárószelete,p ∈ L akkor és csak akkor, ha q ∈ L.

46.2 Következmény Ha L ⊆ X∗ k-definit, akkor minden k-nál nagyobb lpozitív egész számra l definit is.

46.3 Tétel Minden X véges ábécé feletti L definit nyelv előállítható

(46.2) L = L1 +X∗L2

alakban, ahol L1 és L2 véges nyelvek és

(46.3) max{|p|; p ∈ L1 + L2} ≤ df(L).

Megfordítva, minden (46.2) alakú nyelv definit és

(46.4) df(L) ≤ 1 + max{|p|; p ∈ L1 + L2}.

Bizonyítás. Legyen az L ⊆ X∗ nyelv k-adfokban definit. Ha k = 0, akkorL = ∅ vagy L = X∗. Mindkét esetben L (46.2) alakú, mégpedig az elsőesetben L = ∅ + X∗∅, a második esetben pedig L = ∅ + X∗e. Mindkétesetben (46.3) is igaz.

Legyen ezután k > 0. Ha L véges, akkor L = L + X∗∅ és (46.1) miatt(46.3) is igaz.

Tegyük fel, hogy L végtelen és legyenek

L1 = {p ∈ L; |p| < k}, L2 = {p ∈ L; |p| = k}.

Mivel df(L) = k, ezért X∗L2 ⊆ L és így L1 +X∗L2 ⊆ L. A fordított irányútartalmazás nyilvánvalóan fennáll, ezért L = L1 +X∗L2, ahol L1 és L2 végesnyelvek. Emellett világos, hogy a kapott felbontásra (46.3) is teljesül.

Megfordítva, tegyük fel, hogy az L nyelvre és a véges L1, L2 nyelvekreérvényes a (46.2) felbontás. Ha Li 6= ∅, akkor legyen

ki = max{|p|; p ∈ Li},

ha pedig Li = ∅, akkor ki = 0 (i = 1, 2). Legyen továbbá

k = max{k1 + 1, k2}.

Megmutatjuk, hogy L k-definit. Tekintsünk e célból egy legalább k hosszú-ságú p ∈ X∗ szót és legyen r ∈ X∗ a p szó k hosszúságú zárószelete. Hap ∈ L, akkor k1 < k miatt p /∈ L1. Így p előállítható p = p1p2 alakban, ahol

400

Page 401: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

p1 ∈ X∗, p2 ∈ L2 és |p2| ≤ k. Ezért r = p′p2 (p′ ∈ X∗), azaz r ∈ X∗L2 ⊆ L.Tegyük most fel, hogy r ∈ L. Minthogy |r| = k > k1, ezért r ∈ X∗L2, s ígyelőállítható r = p′p2 (p′ ∈ X∗) alakban. Következésképpen

p = qr = qp′p2 ∈ X∗L2 ⊆ L.

A fentiek éppen azt jelentik, hogy L k-definit, azaz definíció szerint L definit.Emellett a (46.4) egyenlőtlenség is teljesül. �

46.4 Következmény Az X véges ábécé feletti definit nyelvek halmaza zárta halmazelméleti egyesítés, metszet és komplementerképzés műveletekre ésilyen L és K nyelvekre

df(L+K) ≤ max{df(L), df(K)},

df(L ∩K) ≤ max{df(L), df(K)},

df(L) = df(L).

Bizonyítás. Legyen L az X véges ábécé feletti k-adfokban definit nyelv.Megmutatjuk, hogy L is k-adfokban definit. Mivel ∅ és X∗ definit nyelvekegymás komplementerei és df(∅) = df(X∗) = 0, ezért a továbbiakban felte-hetjük, hogy k > 0. Ha L véges, akkor legyen L1 = L és L2 = ∅. Ha pedigL végtelen, akkor legyen

L1 = {p ∈ L; |p| < k}, L2 = {p ∈ L; |p| = k}.

A 46.3. Tétel bizonyításában láttuk, hogy L = L1 + X∗L2. Nem nehézmeggyőződni arról, hogy

L = (k−1∑n=0

Xn − L1) +X∗(Xk − L2),

azaz L is definit. A definit nyelv definíciója szerint világos, hogy df(L) =df(L).

Ha L és K az X véges ábécék feletti definit nyelvek, akkor a 46.3. Tételszerint vannak olyan X feletti L1, L2, K1, K2 véges nyelvek, amelyekre L =L1 +X∗L2 és K = K1 +X∗K2. Így

L+K = (L1 +X∗L2) + (K1 +X∗K2) = (L1 +K1) +X∗(L2 +K2),

azaz a 46.3. Tétel alapján L+K is definit és

df(L+K) ≤ max{df(L), df(K)}.

401

Page 402: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Mivel L ∩K = L+K, ezért L ∩K is definit és

df(L ∩K) ≤ max{df(L), df(K)}.�

Véges ábécét feltételezve, (46.2)-ből következik, hogy a definit nyelvekreguláris nyelvek Boole algebrájának rész Boole algebrája. Kleene tételeszerint előállíthatók véges automatákban. Pontosabban, igaz a következő

46.5 Tétel Ha az L nyelv előállítható egy A = (A, a0, X, δ) véges definitautomatában, akkor L definit nyelv és df(L) ≤ df(A). Megfordítva, ha egyL definit nyelv előállítható egy A = (A, a0, X, δ) véges automatában, amelyre|A| = s(L) teljesül, akkor A definit automata és df(A) = df(L).

Bizonyítás. Tegyük fel, hogy az L nyelv előállítható az A = (A, a0, X, δ)véges k-adfokban definit automatában az F (⊆ A) halmazzal. Legyen |p| ≥ k,p = p′q és |q| = k (p′, q ∈ X∗). Mivel A k-adfokban definit, ezért a0p =(a0p

′)q = a0q. Tehát a0p ∈ F akkor és csak akkor, ha a0q ∈ F , azaz p ∈ Lakkor és csak akkor, ha q ∈ L. Ezzel megmutattuk, hogy L k-definit. Amibőlmár következik, hogy df(L) ≤ df(A).

Megfordítva, tegyük fel, hogy az L k-adfokban definit nyelv előállítható azA = (A, a0, X, δ) véges automatában az F (⊆ A) halmazzal. Továbbá, tegyükfel, hogy |A| = s(L), azaz az A automata állapotainak száma megegyezik azL nyelv súlyával. Ez azt jelenti, hogy A a legkevesebb állapottal rendelkezőolyan automata, amelyben L előállítható az állapothalmaz egy alkalmas Frészhalmazával. Legyenek a, b ∈ A tetszőleges állapotok. Mivel |A| = s(L)miatt A nyilván iniciálisan összefüggő, ezért vannak olyan p, q ∈ X∗ bemenőszavak, amelyekre a0p = a és a0q = b. Legyenek tetszőleges r legalább khosszúságú szóra a1 = ar és b1 = br. Mivel L k-adfokban definit, ezértbármely r′ ∈ X∗ szóra prr′ ∈ L akkor és csak akkor, ha qrr′ ∈ L, azaza0prr

′ ∈ F akkor és csak akkor, ha a0qrr′ ∈ F , vagyis minden r′ ∈ X∗ szóra

a1r′ ∈ F akkor és csak akkor, ha b1r

′ ∈ F . De |A| = s(L) miatt az AF

egyszerű, ezért ar = a1 = b1 = br. Ezzel megmutattuk, hogy az A automatak-definit.

Megmutatjuk, hogy A k-adfokban definit. Ha k = 0, akkor készen va-gyunk. Legyen a továbbiakban k > 0. Mivel L nem (k − 1) definit, ezértvannak olyan p1, p2 ∈ X∗ és q ∈ Xk−1 szavak, hogy p1q ∈ L, de p2q /∈ L. Ezazt jelenti, hogy a0p1q ∈ F és a0p2q /∈ F . Tehát az a0p1 és az a0p2 állapo-tokra (a0p1)q 6= (a0p2)q. Ezzel megmutattuk, hogy A nem (k − 1) definit,vagyis df(A) = df(L). �

46.6 Következmény Egy véges X ábécé feletti L nyelv akkor és csak akkordefinit, ha az őt felismerő AF egyszerű automata véges definit automata ésdf(L) = df(AF ).

402

Page 403: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

46.7 Tétel Ha egy k-adfokban definit nyelv előállítható az A = (A, a0, X, δ)véges automatában, akkor |A| ≥ k + 1.

Bizonyítás. Tegyük fel, hogy az L k-adfokban definit nyelv előállíthatóaz A = (A, a0, X, δ) n állapotú véges automatában az F (⊆ A) halmazzal.Ha k = 0, akkor a tétel nyilván igaz. Legyen ezért a továbbiakban k >0. Tekintsük minden i ∈ N számra A-n azt a ρi ekvivalenciát, amelyretetszőleges a, b ∈ A állapotpár esetén

(a, b) ∈ ρi ⇐⇒ (∀p ∈ X(i))(ap ∈ F ⇐⇒ bp ∈ F ).

Nyilvánvaló, hogy ρi+1 ⊆ ρi (i ∈ N). Ha mi jelöli a ρi-osztályok számát,akkor 1 ≤ mi ≤ mi+1 ≤ n. Megmutatjuk, hogy az i = 0, 1, . . . , k − 1indexekre mi < mi+1.

Minthogy L nem (k − 1) definit, ezért vannak olyan p1, p2 ∈ X∗ szavakés olyan q = x1x2 . . . xk−1 ∈ Xk−1 szó, hogy p1q ∈ L, de p2q /∈ L. Legyeni ∈ {0, 1, . . . , k−1} tetszőleges és qi a q i hosszúságú prefixe, továbbá q = qir(r ∈ X∗). Akkor

(a0p1qi)r = a0p1q ∈ L, (a0p2qi)r = a0p2q /∈ L

adódik és így |r| = k − i− 1 miatt

ρk−i−1[a0p1qi] 6= ρk−i−1[a0p2qi].

Legyen most p′ tetszőleges olyan bemenő szó, amelyre |p′| ≥ k − i fennáll.Akkor, mivel L k-adfokban definit,

p1qip′ ∈ L ⇐⇒ p2qip

′ ∈ L

és így(a0p1qi)p

′ ∈ F ⇐⇒ (a0p2qi)p′ ∈ F,

azazρk−i[a0p1qi] = ρk−i[a0p2qi].

De i tetszőleges 0 és k − 1 közé eső egész szám volt, következésképpen

1 ≤ m1 < m2 < · · · < mk ≤ n,

ahonnan már |A| = n ≥ k + 1 adódik. �

46.8 Tétel Létezik olyan algoritmus, amely segítségével eldönthető, hogyegy véges ábécé feletti reguláris nyelv definit vagy nem definit.

403

Page 404: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen L reguláris nyelv az X véges ábécé felett. Feltehető,hogy L 6= ∅, X∗, mivel ∅ és X∗ definit nyelvek X felett. Például a Kleene té-tel bizonyításából kapható algoritmus alkalmazásával megszerkeszthető olyanA = (A, a0, X, δ) iniciálisan összefüggő véges automata, amelyben L előállít-ható valamely ∅ ⊂ F ⊂ A) halmazzal. Legyen |A| = n és tetszőleges i ∈ Nszámra κi az az ekvivalencia A-n, amelyet tetszőleges a, b ∈ A állapotpárra

(46.5) (a, b) ∈ κi ⇐⇒ (∀p ∈ X i)(ap ∈ F ⇐⇒ bp ∈ F )

által definiálunk. Eszerint a κ0-osztályok F és A−F . A definícióból világos,hogy

(46.6) (a, b) ∈ κi+1 ⇐⇒ (∀x ∈ X)(δ(a, x), δ(b, x)) ∈ κi),

ami A végessége miatt lehetővé teszi a κi-osztályok meghatározását. Nemnehéz belátni, hogy L akkor és csak akkor k-definit, ha κk = ωA, azaz azuniverzális reláció és

df(L) = min{k;κk = ωA}.

Ha pedig κn−1 6= ωA, akkor a 46.7. Tétel alapján azt kapjuk, hogy L nemdefinit. �

46.9 Példa Tekintsük X = {x, y} ábécé feletti

L = xyx+ (x+ y)∗(x2 + y)

negyedfokban definit nyelvet. Ha az L nyelvre a Kleene tétel bizonyításábólkapható algoritmust alkalmazzuk, akkor az

A a0 a1 a2 a3 a4 a5 a6

x a1 a3 a5 a3 a6 a3 a3

y a2 a4 a2 a2 a2 a2 a2

átmenettáblázattal megadott automatához jutunk, amelyben L előállíthatóaz a0 kezdő állapotból az

F = {a2, a3, a4, a6}

halmazzal. (Ez könnyen belátható, ha például felrajzoljuk az automata át-menet gráfját.)

A 46.8. Tétel bizonyítása során megadott algoritmus felhasználásávalmegmutatjuk, hogy A = (A, a0, X, δ) definit automata. Adjuk meg a (46.5)feltétellel definiált κi-osztályokat a (46.6) öszefüggést is felhasználva:

κ0 − osztályok : {a0, a1, a5}, {a2, a3, a4, a6},

404

Page 405: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

κ1 − osztályok : {a0, a2}, {a1, a3, a4, a5, a6},

κ2 − osztályok : {a0, a2, a3, a4, a5, a6}, {a1},

κ3 − osztályok : {a0}, {a1, a2, a3, a4, a5, a6},

κ4 − osztály : {a0, a1, a2, a3, a4, a5, a6}.

Ez azt jelenti, hogy az A automata negyedfokban definit.Ha most az AF Rabin–Scott automatát minimalizáljuk az Aufenkamp–

Hohn algoritmussal, akkor négy lépés után a

b0 = {a0}, b1 = {a1}, b2 = {a2}, b3 = {a5}, b4 = {a3, a4, a6}

jelölések mellett a

B b0 b1 b2 b3 b4

x b1 b4 b3 b4 b4

y b2 b4 b2 b2 b2

egyszerű automatához jutunk, amely az L nyelvet a b0 kezdő állapotból a{b2, b4} halmazzal állítja elő.

Véges ábécé feletti definit nyelvek egy félcsoportelméleti jellemzését adja a

46.10 Tétel Egy X véges ábécé feletti reguláris L 6= ∅, X∗ nyelv akkor éscsak akkor definit, ha szintaktikus félcsoportja egy jobb zéró ideál nilpotensbővítése.

Bizonyítás. Legyen az L nyelv a véges X ábécé felett k-adfokban definit.Mivel L 6= ∅, X∗, ezért k > 0. (Már láttuk, hogy a 0 definit nyelvek ∅ és X∗.)Tegyük fel, hogy L előállítható az AF = (A, a0, X, δ;F ) iniciálisan összefüggőegyszerű automatában. A 46.6. Következmény szerint A k-adfokban definit.Adjuk meg az A automata S(A) karakterisztikus félcsoportját a (7.3)-bandefiniált transzformációkkal. Tekintsük a karakterisztikus félcsoport

I = {δp; p ∈ X+, |p| ≥ k}

részhalmazát. Minthogy A k-adfokban definit, ezért tetszőleges δp ∈ I, δq ∈S(A) transzformációkra és a ∈ A állapotra

δp ◦ δq(a) = δq(δp(a)) = apq = δpq(a),

δq ◦ δp(a) = δp(δq(a)) = δp(aq) = δp(a),

s így |pq| ≥ k miatt δp ◦ δq, δq ◦ δp ∈ I és δq ◦ δpδp, vagyis I az S(A) karakte-risztikus félcsoport jobb zéró ideálja.

405

Page 406: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyenek δp1 , δp2 , . . . , δpk az S(A) karakterisztikus félcsoport olyan elemei,amelyek nem elemei I-nek. Akkor |p1p2 . . . pk| ≥ k miatt

δp1 ◦ δp2 ◦ · · · ◦ δpk ∈ I,

amivel megmutattuk,hogy S(A)/I legfeljebb k-adfokban nilpotens félcso-port. A 40.6. Tétel szerint L szintaktikus félcsoportja izomorf S(A)-val,s így az előbbiek szerint egy jobb zéró ideál nilpotens bővítése.

Megfordítva, tegyük fel, hogy az X véges ábécé feletti L reguláris nyelvS(L) szintaktikus félcsoportja egy jobb zéró ideál nilpotens bővítése. Így,a 40.6. Tétel szerint, az L nyelvet előállító AF = (A, a0, X, δ;F ) iniciáli-san összefüggő egyszerű automata S(A) karakterisztikus félcsoportja izomorfS(L)-lel, s így szintén egy I(⊆ S(A)) jobb zéró ideál nilpotens bővítése. Le-gyen az S(A)/I Rees-faktor k-adfokban nilpotens (k > 0) és p ∈ X∗ legalábbk hosszúságú szó, továbbá p2 a p szó k hosszúságú zárószelete, azaz p = p1p2

(p1 ∈ X∗). Akkorδp = δp1p2 = δp1 ◦ δp2 = δp2 ∈ I,

s ígya0p = δp(a0) = δp2(a0) = a0p2,

azaz L = L(A, F ) miatt p ∈ L akkor és csak akkor, ha p2 ∈ L. Ezzelmegmutatuk, hogy L k-definit. Következésképpen L legfeljebb k-adfokbandefinit. �

A fejezetet a véges nyelvek egy természetes általánosításával zárjuk. EgyX ábécé feletti L nyelvet nilpotensnek nevezünk, ha vagy maga, vagy komp-lementere véges. Kleene tétele szerint a nilpotens nyelvek előállíthatók végesautomatákban. A véges nyelvek definit nyelvek, ezért a 46.4. Következmény-ből közvetlenül adódik a

46.11 Következmény Az X véges ábécé feletti nilpotens nyelvek az X fe-letti nyelvek Boole algebrájának valódi rész Boole algebrája a halmazelméletiegyesítés, metszet és komplementerképzés műveletekre.

Bizonyítás. A véges nyelvek definit nyelvek, ezért a 46.4. Következménybőlközvetlenül kapjuk, hogy az X véges ábécé feletti nilpotens nyelvek az Xfeletti definit nyelvek Boole algebrájának rész Boole algebrája.

Legyen most X = {x, y} és L = x + X∗y. Az L nyelv másodfokbandefinit, de L-lel együtt

L = e+X∗(xx+ yx)

is végtelen, ezért nem nilpotens. �

46.12 Tétel EgyX véges ábécé feletti L nyelv akkor és csak akkor nilpotens,ha előállítható véges nilpotens automatában.

406

Page 407: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen L olyan nyelv, amely előállítható az A = (A, a0, X, δ)véges k-adfokban nilpotens automatában az F (⊆ A) halmazzal. A 32. fe-jezetben láttuk, hogy egy nilpotens automata olyan irányítható automata,amelynek egyetlen irányított állapota van és ez egyben az automata egyetlencsapdája. Legyen c az A automata csapdája. Ha c ∈ F , akkor tetszőlegesp legalább k hosszúságú szóra a0p ∈ F . Ebből következik, hogy ha p /∈ L,akkor |p| < k. Ez azt jelenti, hogy L komplementere véges, azaz L nilpotens.Ha c /∈ F , akkor p ∈ X∗ szóra a0p ∈ F esetén |p| < k, amiből következik,hogy L véges és így nilpotens.

Megfordítva, legyen L nilpotens nyelv a véges X ábécé felett. Tegyükfel először, hogy L véges és legyen k = 1 + max{|p|; p ∈ L}. Tekintsük azA = (A, a0, X, δ) automatát, ahol a0 tetszőleges szimbólum,

A′ = {a0p; |p| < k, p ∈ X+},

c egy további szimbólum és A = A′∪{a0, c}. A δ átmenetfüggvényt definiál-juk a következőképpen. Tetszőleges a ∈ A, x ∈ X párra a = a0p, |p| < k − 1esetekben legyen δ(a0p, x) = a0px, a = a0p, |p| = k − 1 esetekben pedigδ(a0p, x) = c, s végül a = c esetben δ(a, x) = c. Világos, hogy A olyan végesnilpotens automata, amelyben L előállítható az F = {a0p; p ∈ L} halmazzal.

Legyen most L komplementere véges. Szerkesszük meg az előbbi au-tomatát L helyett L komplementerével. Az így kapott A véges nilpotensautomatában L előállítható az A− F halmazzal. �

47. Kommutatív nyelvekEgy X ábécé feletti L nyelvet kommutatív nyelvnek nevezünk, ha valahány-szor

x1x2 . . . xn ∈ L (x1, x2, . . . , xn ∈ X),

mindannyisszorxπ(1)xπ(2) . . . xπ(n) ∈ L

az {1, 2, . . . , n} halmaz bármely π permutácójára. Eszerint ∅, e, x (x ∈ X),X+ és X∗ kommutatív nyelvek.

47.1 Tétel Egy nyelv akkor és csak akkor kommutatív, ha előállítható kom-mutatív automatában.

Bizonyítás. A 26.1. Lemma alapján nyilvánvaló, hogy minden kommutatívautomatában előállítható nyelv kommutatív.

Megfordítva, legyen L kommutatív nyelv X felett. Tekintsük X∗-on azta ρc relációt, amelyre (p, q) ∈ ρc akkor és csak akkor, ha q előállítható a

407

Page 408: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

p szó betűinek valamilyen permutációjaként. Világos, hogy ρc kongruenciaX∗-on és L bizonyos ρ-osztályok egyesítése. A (24.1) átmenetfüggvénnyeldefiniált X∗/ρc = (X∗/ρc, X, δρc) (ciklikus) kommutatív automata ρc[e] kezdőállapotból a {ρc[p]; p ∈ L} halmazzal előállítja L-et. �

A 47.1. Tétel és Kleene tétele szerint pontosan a kommutatív regulárisnyelvek állíthatók elő a véges kommutatív automatákban.

Egy X feletti L nyelv kommutatív lezártján vagy kommutatív burkán aztaz L nyelvet értjük, amely azokból és csak azokból a szavakból áll, amelyekelőállíthatók valamely L-beli szó betűinek permutálásával. Világos, hogyL ⊆ L és L a legszűkebb olyan kommutatív nyelv, amely L-et tartalmazza.Nyilvánvaló továbbá, hogy L akkor és csak akkor kommutatív, ha L = L.

A következő példa mutatja, hogy egy véges X ábécé feletti reguláris nyelvkommutatív lezártja nem szükségképpen reguláris.

47.2 Példa Az X = {x, y} ábécé feletti L = (xy)∗ reguláris nyelv L kommu-tatív lezártja pontosan azokat a szavakat tartalmazza, amelyekben egyenlőszámú x és y van. A 41.9. Tétel bizonyításából következik, hogy L nemreguláris.

A következőkben szükséges és elégséges feltételt adunk arra, hogy egynyelv kommutatív lezártja mikor reguláris.

Legyen X véges ábécé és tekintsük az X∗ szabad monoidon a 47.1. Tételbizonyításában definiált ρc kongruenciát. Az X∗/ρc faktorfélcsoportot az(X által generált) kommutatív szabad monoidnak nevezzük. Legyen C(X)az X∗/ρc kommutatív szabad monoid részhalmazainak halmaza, azaz X∗/ρcmint ábécé feletti nyelvek halmaza. C(X) halmazt a reguláris műveletekkelegyütt (X feletti) kommutatív nyelvalgebrának nevezzük. Jelölje CR(X) aC(X) kommutatív nyelvalgebra reguláris nyelveinek halmazát. Legyen L(X)az X feletti nyelvek halmaza és tekintsük azt a ϕ : C(X)→ L(X) leképezést,amelyre

ϕ(K) =∑

ρc[p]∈K

ρc[p].

(Ebből következik, hogy ϕ(∅) = ∅.) Világos, hogy egy X feletti L nyelv akkorés csak akkor kommutatív, ha van olyan K ∈ C(X), hogy L = ϕ(K).

Tetszőleges L ∈ L(X) nyelvre legyen

(47.1) Lc = {ρc[p]; p ∈ L}.

Világos, hogy tetszőleges K ∈ C(X) nyelvre (ϕ−1(K)c = K és tetszőlegesL,L′ ∈ L(X) nyelvekre

(47.2) L = L′ ⇐⇒ Lc = L′c.

408

Page 409: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen X = {x1, x2, . . . , xn}. Egy K ∈ C(X) nyelvet normálisnak mon-dunk, ha megadható a C(X)-beli

ρc[e], ρc[x1], ρc[x2], . . . , ρc[xn]

egyelemű nyelvekből és e nyelvek hatványainak iteráltjaiból a C(X )-ben de-finiált összeadás és szorzás véges számú alkalmazásával. Minden ilyen előál-lítást a K normális nyelv egy normális kifejezésének nevezünk.

47.3 Tétel Egy véges X ábécé feletti L nyelv L kommutatív lezártja akkorés csak akkor reguláris, ha az Lc nyelv normális.

Bizonyítás. Tegyük fel, hogy az X = {x1, x2, . . . , xn} ábécé feletti Lnyelv L kommutatív lezártja reguláris. Kleene tétele szerint van olyan A =(A, a0, X, δ) véges automata, amely valamely F (⊆ A) halmazzal előállítja azL nyelvet. Jelölje L′ azt az X feletti nyelvet, amely azokból és csak azokbólaz

x1k1x2

k2 . . . xnkn (k1, k2, . . . , kn ∈ N)

alakú szavakból áll, amelyek hatására A az a0 kezdő állapotból F -beli álla-potba megy át. (Bármely x ∈ X esetén x0 = e.) Könnyen látható, hogyL = L′ és így (47.2) miatt Lc = L′c. Minthogy L′c normális, ezért Lc ugyan-csak normális C(X)-beli nyelv.

Megfordítva, tegyük fel, hogy az L nyelvre Lc normális. Akkor a norma-litás definíciója szerint Lc előállítható Lc =

∑ri=1Kr véges összeg alakjában,

ahol

Ki = ((ρc[x1])k1)∗(ρc[x1])m1((ρc[x2])k2)∗(ρc[x2])m2 . . . ((ρc[xn])kn)∗(ρc[xn])mn

ésk1, k2, . . . , kn,m1,m2, . . . ,mn ∈ N.

Mivel L =∑k

i=1 ϕ−1(Ki), ezért ˆL1 + L2 = L1 + L2 (L1, L2 ∈ L(X)) miatt

elegendő megmutatni, hogy az

(47.3) ((x1)k1)∗(x1)m1((x2)k2)∗(x2)m2 . . . ((xn)kn)∗(xn)mn

nyelv kommutatív lezártja reguláris, vagyis Kleene tétele szerint előállíthatóvéges automatában.

Legyen e célból minden i ∈ {1, 2, . . . , n} esetén

Ai = {0, 1, . . . , ki +mi − li},

ahol li = 0, ha ki = 0 és li = 1, ha ki > 0.

409

Page 410: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Szerkesszük meg az A = (A, a0, X, δ) automatát úgy, hogy legyen

A = (A1 × A2 × · · · × An) ∪ {d},

ahol d egy új szimbólum, legyen a0 = (0, 0, . . . , 0). A δ átmenetfüggvénytdefiniáljuk oly módon, hogy minden xi ∈ X esetén δ(d, xi) = d teljesüljön.Tetszőleges

a = (a1, a2, . . . , an) ∈ A1 × A2 × · · · × Anesetén pedig legyen

δ(a, xi) = (a1, . . . , ai−1, ai + 1, ai+1, . . . , an),

ha ai < ki +mi − li,

δ(a, xi) = (a1, . . . , ai−1,mi, ai+1, . . . , an),

ha ai = ki +mi − li és ki > 0, valamint

δ(a, xi) = d,

ha ai = mi és ki = 0.Nem nehéz belátni, hogy a (47.3) alatti nyelv kommutatív lezártja előál-

lítható az A automatában az egyelemű {(m1,m2, . . . ,mn)} halmazzal. �

48. Végtelen szavakKiterjesztjük az automata nyelvfelismerő "tevékenységét" végtelen bemenőjelsorozatokra, azaz végtelen hosszúságú szavakra. Rövid bevezetést adunka végtelen hosszúságú szavakat is tartalmazó nyelvek, egyszerűen mondva avégtelen szavak elméletébe. Legtöbb fogalom a 35., 40. és 41. fejezet bizo-nyos fogalmainak általánosításai. A végtelen szavak elméletét DominiquePerrin és Jean-Éric Pin részletesen tárgyalják az [51] monográfiában.

Legyen X tetszőleges ábécé. Az X ábécé elemeiből képezett

p = (x1, x2, . . . , xk, . . . )

végtelen sorozatokat az X ábécé feletti végtelen szavaknak fogjuk nevezni ésrájuk a

p = x1x2 . . . xk . . .

írásmódot használjuk. Az X feletti végtelen szavak halmazát jelöljük Xω-val. A fejezetben az X∗ szabad monoid elemeit X feletti véges szavaknak ismondjuk. Legyen

X∞ = X∗ ∪Xω,

410

Page 411: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz az X feletti szavak halmaza. Az X∞ halmaz részhalmazait is X felettinyelveknek fogjuk nevezni.

Tetszőleges L ⊆ X∗ és M ⊆ X∞ nyelv szorzatán vagy konkatenációjánaz

(48.1) LM = {pq : p ∈ L, q ∈M}.

nyelvet értjük. Nyilvánvaló, hogy minden L,K ⊆ X∗ és M ⊆ X∞ nyelvre

(48.2) (LK)M = L(KM), (L+K)M = LM +KM.

Az L ⊆ X∗ nyelvekre bevezetjük az ω végtelen iteráció műveletet az

(48.3) Lω = {p1p2 . . . pk . . . ; pk ∈ L− e, k = 1, 2, . . . }

definícióval. A definíció alapján

∅ω = {e}ω = ∅

és minden p ∈ X+ szóra

{p}ω = pp . . . p . . . ,

azaz p egymásutánírása végtelen sokszor. A 35. fejezetben bevezetett re-guláris műveleteket és a végtelen iterációt együtt ω-reguláris műveletekneknevezzük. Könnyen belátható az alábbi

48.1 Lemma Tetszőleges L,K ∈ X∗ nyelvekre(1) (L+K)ω = (L∗K)ω + (L+K)∗Lω;(2) (LK)ω = L(KL)ω;(3) (∀n ∈ N+)((Ln)ω = (L+)ω = Lω;(4) LLω = L+Lω = Lω.

Most megadjuk az X feletti ω-reguláris nyelvek fogalmát. Ez a fogalom,a 35. fejezetben a véges szavakra értelmezett, reguláris nyelvfogalom egyáltalánosítása. Az X feletti reguláris nyelvek halmaza a 35. fejezet jelöléseszerint legyen R(X). Az X feletti ω-reguláris nyelvek osztálya az X∞ halmazhatványhalmazának az a legszűkebb R részhalmaza, amely teljesíti az alábbinégy feltételt.(1) ∅ ∈ R és ha x ∈ X, akkor {x} ∈ R;(2) R zárt a nyelvek összeadására;(3) Minden L ⊆ X∗ és K ⊆ X∞ nyelvre, ha L,K ∈ R, akkor LK ∈ R;(4) Minden L ⊆ X∗ nyelvre, ha L ∈ R, akkor L∗ ∈ R és Lω ∈ R.

411

Page 412: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Használjuk erre azR részhalmazra aR∞(X) jelölést. Összegezve,R∞(X)az X feletti nyelveknek az a legszükebb halmaza, amely tartalmazza X∞ vé-ges részhalmazait, zárt véges sok nyelv egyesítésére és (48.1)-ben definiáltszorzására, továbbá az iteráció és a (48.3)-ban definiált végtelen iteráció mű-veletére.

Legyen Rω(X) az X feletti végtelen szavak Xω halmazának ω-regulárisrészhalmaza, azaz

(48.4) Rω(X) = Xω ∩R∞(X).

A Rω(X) halmaz elemeinek egy egyszerű jellemzését adja a következő tétel.Ezt jellemzést szokás definícióként is használni.

48.2 Tétel A K ⊆ Xω nyelv akkor és csak akkor ω-reguláris X felett, havéges sok LMω alakú nyelv összege, amelyekben L ⊆ X∗ ésM ∈ X+ regulárisnyelvek X felett.

Bizonyítás. Az nyilvánvaló, hogy ha K ⊆ Xω nyelv ω-reguláris X felettvéges sok LMω alakú nyelv összege, amelyekben L ⊆ X∗ ésM ∈ X+ regulárisnyelvek X, akkor K ω-reguláris X felett.

Megfordítva, azt látjuk be, hogy a (48.4)-ben megadott halmaz mindeneleme a tételben megadott alakú. Az X feletti reguláris nyelvek R(X) hal-mazát az elemi nyelvekből a reguláris műveletek véges számú alkalmazásávalkapjuk. Nyilvánvaló, hogy

(48.5) R(X) ∩Rω(X) = ∅

AzRω(X) ω-reguláris halmaz elemeiR(X) elemeiből kaphatók az ω-regulárisműveletek véges számú alkalmazásával. Vagyis Rω(X) elemeit a következőmódon kaphatjuk meg. Tekintjük R(X) elemei végtelen iteráltjainak hal-mazát, ehhez hozzáadjuk a végtelen iteráltak R(X) elemeivel balról valószorzatainak halmazát, és végül hozzáadjuk az igy kapott halmaz véges rész-halmazainak egyesítéseit. Vagyis egy K ⊆ Xω ω-reguláris nyelv X felett va-lóban véges sok LMω alakú nyelv összege, amelyekben L ⊆ X∗ és M ∈ X+

reguláris nyelvek X felett. �Egy nyelv akkor és csak akkor ω-reguláris nyelv, ha megadható ω-reguláris

kifejezéssel. Az ω-reguláris kifejezés definíciója csak annyiban különbözik a35. fejezetben megadott reguláris kifejezés definíciójától, hogy a regulárisműveleteket kiegészítjük az ω végtelen iterációval.

Megmutatható, hogyRω(X) zárt a Boole műveletekre, azaz Boole algebra(Dominique Perrin és Jean-Éric Pin [50]). Ezt szemlélteti a következőegyszerű példa.

412

Page 413: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

48.3 Példa Legyen X = {x, y} és L ⊂ Xω az a nyelv, amelynek a szava-iban y véges sokszor fordul elő. Az L nyelv megadható az L = (x + y)∗xω

ω-reguláris kifejezéssel. azaz L ω-reguláris nyelv. Az L komplementere Xω-ban azoknak a végtelen szavaknak a halmaza, amelyekben y végtelen sokszorfordul elő. Az L komplementere megadható az L = (x∗y)ω ω-reguláris kife-jezéssel, ezért szintén ω-reguláris nyelv.

Azt mondjuk, hogy a p ∈ Xω végtelen szó egy kezdőszelete vagy prefixeaz r ∈ X∗ szó, ha van olyan q ∈ Xω, amelyre p = rq. Ha r 6= e, akkor r ap szó valódi kezdőszelete vagy valódi prefixe. Ez a fogalom a véges szavakradefiniált fogalom természetes általánosítása.

A p ∈ Xω szó Büchi szerint előállítható a nemdeterminisztikus A =(A,A0, X, δ;F ) automatában, vagy más szóval az AF nemdeterminisztikusautomata Büchi szerint felismeri vagy elfogadja a p szót, ha van a p szóprefixeinek olyan r1, r2, . . . , rk, . . . sorozata és olyan a0 ∈ A0 kezdő állapot,amelyekre

0 ≤ |r1 < |r2| < · · · < |rk| < . . . ,

{a0r1, a0r1, a0r2, . . . , a0rk, . . . } ⊆ F,

azaz automata a p szó hatására egy kezdő állapotból végtelen sokszor eljutegy végállapotba. Az A = (A,A0, X, δ;F ) nemdeterminisztikus automatátBüchi automatának is nevezzük. Az AF automatát akkor nevezik determi-nisztikus Büchi automatának, ha determinisztikus és egy kezdő állapota van.Jelölje az AF nemdeterminisztikus automatában Büchi szerint előállíthatószavak halmazát, a 40. fejezet jelölésével összhangban, Lω(A, A0, F ) vagyröviden Lω(A). Továbbá azt mondjuk, hogy az L ⊆ Xω nyelv Büchi szerintelőállítható az A = (A,A0, X, δ;F ) nemdeterminisztikus automatában, vagyaz AF nem determinisztikus automata Büchi szerint felismeri vagy elfogad-ja az L nyelvet, ha L = Lω(A, A0, F ) vagy röviden L = Lω(A). Úgy isbeszélünk, hogy az L nyelvet az A = (A,A0, X, δ) automata Büchi szerintfelismeri (az F (⊆ A) halmazzal.

A p ∈ Xω végtelen szót periodikusnak nevezünk, ha

(48.6) p = rqq . . . q . . . (r ∈ X∗, q ∈ X+).

Ha r és q a legkisebb hosszúságú szavak, amelyekre (48.6) teljesül, akkor qhosszát p periódusának nevezzük. Ha r = e, akkor p-t teljesen periodikusnakmondjuk.

48.4 Lemma Ha a nemüres K ⊆ Xω nyelv véges Büchi automatában felis-merhető, akkor tartalmaz periodikus szót.

413

Page 414: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tegyük fel, hogy a nemüres K ⊆ Xω nyelv felismerhető a végesA = (A,A0, X, δ;F ) Büchi automatában. Ha p ∈ K, akkor van olyan a0 ∈A0, r ∈ X∗ és F végessége miatt vannak olyan qi ∈ X+ szavak, amelyekre

p = rq1q2 . . . qk . . . , a = a0r ∈ F, aqi = a (i = 1, 2, . . . , k, . . . ).

Ebből következik, hogy a p′ = rq1q1 . . . q1 . . . szó is eleme K-nak. �

48.5 Példa AzA 1 2x {1, 2} ∅y ∅ {1, 2}

Büchi automata az 1 kezdőállapottal és a 2 végállapottal az L = x(x∗y)ω

nyelvet ismeri fel. A 48.2. Tétel szerint L ω-reguláris. Az L nyelv végtelensok periodikus szót tartalmaz. Például

x(xy)(xy) . . . (xy) . . .

2 periódusú szó. (De például az x(y)(xy)(x2y) . . . (xky) . . . nem periodikus.)

A 40. fejezetben láttuk, hogy a véges szavak felismerésére elegendő telje-sen definiált automatákat használni. A következő lemma szerint ez végtelenszavak esetén is így van.

48.6 Lemma Ha K ⊆ Xω felismerhető egy [véges, determinisztikus] Büchiautomatában, akkor felismerhető egy teljesen definiált [véges, determiniszti-kus] Büchi automatában is.

Bizonyítás. Tegyük fel, hogy a K ⊆ Xω nyelv felismerhető az A =(A,A0, X, δ;F ) Büchi automatában. Ha A nem teljesen definiált, akkorvegyünk fel egy d /∈ A új állapotot. Terjesszük ki a δ átmenetfüggvényértelmezését az (A ∪ d) × X halmazra a következőképpen. Legyen Mindenx ∈ X bemenő jelre δ(d, x) = d. Ha valamely a ∈ A és x ∈ X párra δ nincsértelmezve, akkor legyen δ(a, x) = d. Nyilvánvaló, hogy K felismerhető azB = (A ∪ d,A0, X, δ;F ) Büchi automatában is. Ha A véges [determiniszti-kus], akkor B is véges [determinisztikus]. �

Megmutatjuk, hogy a végtelen szavakat tartalmazó nyelvekre érvényesKleene tételének megfelelője. Ehhez azonban szükséges a következő fogalomés lemma. Az A = (A,A0, X, δ;F ) automatát normalizált automatának ne-vezzük, ha A0 = {a0}, F = {d}, továbbá nincsenek olyan a, b ∈ A állapotokés x, y ∈ X bemenő jelek, amelyekre δ(a, x) = a0 és δ(d, y) = b teljesül.

48.7 Lemma Bármely A = (A,A0, X, δ;F ) véges automatához van olyanB = (B, b,X, δ′; d) normalizált véges automata, amelyre L(A, F ) = L(B, d).

414

Page 415: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tekintsük az A = (A,A0, X, δ;F ) véges automatát. Legyenekb, d /∈ A új állapotok és B = A ∪ {b, d}. Legyen δ′ a δ átmenetfüggvénykövetkező kiterjesztése. Az A × X halmazon legyen δ′ = δ. Ha a ∈ A0 ésx ∈ X párra δ(a, x) ∈ F , akkor legyen δ′(b, x) = d. Ha a′ ∈ A állapothozvan olyan a ∈ A0 és x ∈ X, hogy δ(a, x) = a′, akkor legyen δ′(b, x) = a′.Végül, ha a′ ∈ A állapotra és x ∈ X bemenő jelre δ(a′, x) ∈ F , akkor legyenδ′(a′, x) = d.

Nyilvánvaló, hogy az így definiált B = (B, b,X, δ′; d) automata normali-zált. Ezenkívül,

ax1x2 . . . xk ∈ F (a ∈ A0, x1, x2, . . . , xk ∈ X, k ≥ 1)

akkor és csak akkor, ha bx1x2 . . . xk = d, azaz L(A, F ) = L(B, d). �Most megmutatjuk Kleene tételének analogonját végtelen szavakból álló

nyelvekre.

48.8 Tétel Egy L ⊆ Xω nyelv akkor és csak akkor ω-reguláris, ha felismer-hető egy véges A = (A,A0, X, δ;F ) Büchi automatában.

Bizonyítás. Ha L ⊆ Xω nyelv felismerhető a véges A = (A,A0, X, δ;F )Büchi automatában, akkor

L =∑a∈A0

∑d∈F

L(A, a, d)(L(A, d, d)− e)ω.

Kleene tétele szerint L(A, a, d) és L(A, d, d) − e (a ∈ A0, d ∈ F ) regulárisnyelvek X felett, ezért a 48.2. Tétel szerint L ω-reguláris.

A tétel megfordításának bizonyításához először tekintsük a KMω alakúω-reguláris nyelveket, amelyekben K ⊆ X∗ és M ⊆ X+ reguláris nyelvek Xfelett. Ha K = ∅ vagy M = ∅, akkor KMω = ∅ nyilvánvalán felismerhetőolyan Büchi automatában, amelyben a végállapotok halmaza üres.

Legyen K = {e}, ∅ ⊂ M ⊆ X+ és A = (A, b,X, δ; d) normalizált végesautomata, amely felismeri az M nyelvet. Ha azonosítjuk b-t a d állapottal,akkor olyan Büchi automatát kapunk, amely felismeri azMω nyelvet az b = dkezdő és végállapottal.

Legyenek most ∅ ⊂ K,M ⊂ X+, továbbá A = (A, b,X, δ; d) és A′ =(A′, b′, X, δ′; d′) olyan normalizált véges automaták, amelyek felismerik a Kill. M nyelvet. Ha azonosítjuk a b′ és d′ állapotokat a d állapottal, akkor olyanBüchi automatát kapunk, amely felismeri a KMω nyelvet a b kezdőállapottalés a b′ = d′ = d végállapottal. Ha ∅ ⊂ K ′,M ⊂ X+és K = K ′ + e, akkorKMω = K ′Mω + Mω. Ezt az esetet is magába foglalja a bizonyítás utolsólépese.

415

Page 416: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A bizonyítás befejezéséhez ugyanis, a 48.2. Tétel szerint, elegendő meg-mutatni, hogy két L,L′ ⊆ Xω ω-reguláris nyelv L+L′ összege is ω-regulárisX felett. Tegyük fel, hogy A = (A,A0, X, δ;F ) és A′ = (A′, A′0, X, δ

′;F ′)véges Büchi automaták felismerik az L ill. L′ nyelvet. Azt is feltehetjük,hogy A ∩ A′ = ∅. Nyilvánvaló, hogy az L + L′ nyelvet gaz A és A′ Büchiautomaták direkt összege felismeri a kezdő állapotok A0∪A′0 és végállapotokF ∪ F ′ halmazával. �

40.11. Tétel szerint a véges nemdeterminisztikus automatákkal felismer-hető nyelvek megegyeznek a véges determinisztikus automatákkal felismerhe-tő nyelvekkel. A véges Büchi automatákkal felismerhető nyelvekre ez azonbannem igaz. A fejezetet a véges determinisztikus Büchi automatákkal felismer-hető nyelvek jellemzésével fejezzük be. Ehhez a bevezetünk a véges szavakattartalmazó nyelvekre egy újabb egyváltozós műveletet.

Tetszőleges L ⊆ X∗ esetén legyen−→L azoknak Xω-beli végtelen szavaknak

a halmaza, amelyeknek végtelen sok L-beli prefixe van.

48.9 Példa Legyen X = {x, y}. Ha L = x∗y, akkor−→L = ∅. Ha L = (xy)+,

akkor−→L = (xy)ω. Ha pedig L = (x∗y)+ = (x+y)∗y, azaz L azoknak az X fe-

letti véges szavaknak a halmaza, amelyek y-ra végződnek, akkor−→L = (x∗y)ω,

vagyis azoknak a végtelen szavaknak a halmaza, amelyek (megszámlálható-an) végtelen sokszor tartalmazzák y-t.

48.10 Lemma Az A = (A, a0, X, δ;F ) Büchi automatára

Lω(A, F ) =−−−−−→L(A, F )− e.

Bizonyítás. Ha p ∈ Lω(A, F ), akkor van a p szó prefixeinek olyan

r1, r2, . . . , rk, . . .

sorozata, hogy0 ≤ |r1| < |r2| < · · · < |rk| < . . . ,

{a0r1, a0r2, . . . , a0rk, . . . } ⊆ F,

azaz rk ∈ F (k = 1, 2, . . . ), vagyis Lω(A, F ) ⊆−−−−−→L(A, F )− e.

Megfordítva, ha p ∈−−−−−→L(A, F )− e, akkor p-nek végtelen sok prefixe van a

L(A, F )− e halmazban. Mivel A determinisztikus, p ∈ Lω(A, F ). �

48.11 Tétel Egy K ⊆ Xω nyelvre a következő két állítás ekvivalens:(1) K felismerhető egy determinisztikus Büchi automatában;(2) Van olyan L ⊆ X+ nyelv, amelyre K =

−→L .

416

Page 417: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Továbbá, haX megszámlálható, akkor ezek a feltételek ekvivalensek az alábbifeltétellel:(3) K felismerhető megszámlálható állapothalmazú determinisztikus Büchiautomatában.

Bizonyítás. A 48.10. Lemma szerint az (1) feltételből következik (2).Legyen most L ⊆ X+, amelyre K =

−→L . A 40. fejezet elején beszéltünk

arról, hogy bármely X feletti L nyelv felismerhető a (3.13) feltétellel definiált(iniciális összefüggő) X∗ = (X∗, e,X, δ) szabad automatában a végállapotokL halmazával, azaz L = L(X∗). A 48.10. Lemma szerint

K =−→L =

−−−−→L(X∗) = Lω(X∗).

Így a (2) feltételből következik (1).Ha X megszámlálható, akkor a X∗ szabad automata megszámlálható ál-

lapothalmazú. Ebben az esetben a (2) feltételből következik (3). Mivel a (3)feltételből nyilvánvalóan következik (1), ezért ekkor a három feltétel ekviva-lens. �

48.12 Következmény Egy K ⊆ Xω nyelv akkor és csak akkor ismerhetőfel egy véges determinisztikus Büchi automatával, ha van olyan L ⊆ X+

reguláris nyelv, amelyre K =−→L .

Bizonyítás. A 48.10. Lemma bizonyítása szerint, ha K felismerhető végesdeterminisztikus Büchi automatával, akkor L regulárisX felett. Megfordítva,ha van olyan L ⊆ X+ reguláris nyelv, amelyre K =

−→L , akkor L felismerésére

választható egy véges determinisztikus automata. A 48.11. Tétel bizonyítá-sában a szabad automata helyett ezt az automatát használva, kapjuk, hogyK felismerhető véges determinisztikus Büchi automatával. �

Most példát adunk arra, hogy nem minden K ⊆ Xω nyelvhez van olyanL ⊆ X+ nyelv, amelyre K =

−→L . A 48.11. Tétel szerint ez azt jelenti, hogy

a véges determinisztikus Büchi automatákkal felismerhető nyelvek halmazavalódi része véges Büchi automatákkal felismerhető nyelvek halmazának.

48.13 Példa LegyenK azoknak azX = {x, y} ábécé feletti végtelen szavak-nak a halmaza, amelyekben y véges sokszor fordul elő, azaz K = (x+ y)∗xω.

AzA 1 2x 1 2y {1, 2} ∅

Büchi automata az 1 és 2 kezdő állapotokkal és a 2 végállapottal a K nyelvetismeri fel.

417

Page 418: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tegyük fel, hogy K megadható K =−→L alakban, ahol L ⊆ X+. Ak-

kor például az yxω ∈ K végtelen szónak van yxk1 alakú L-beli prefixe. Azyxk1yxω K-beli szónak van yxk1yxk2 alakú L-beli prefixe. Ezt folytatva kap-juk, hogy K-ban van olyan szó, amelyben végtelen sokszor előfordul y. Ezazonban lehetetlen, ezért K nem adható meg K =

−→L alakban, ahol L ⊆ X+.

Determinisztikus Büchi automatában felismerhető nyelveket determinisz-tikus nyelveknek is nevezzük. A 48.11. Tétel alapján a 48.9. és a 48.13.Példákból látható, hogy determinisztikus nyelv komplementere nem mindigdeterminisztikus. Ha L1, L2 ⊆ X+, akkor

−−−−−→L1 + L2 =

−→L1 +

−→L2.

A 48.11. Tétel szerint ez azt jelenti, hogy determinisztikus nyelvek összege de-terminisztikus. Megmutatható az is, hogy determinisztikus nyelvek metszeteszintén determinisztikus. (Ezzel kapcsolatban ismét Dominique Perrin ésJean-Éric Pin [51] munkájára utalunk.)

418

Page 419: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

VIII. KÓDOKA 9. fejezetben megállapodtunk abban, hogy egy X halmaz elemeivel meg-fogalmazott információkon az X elemeiből képezett véges sorozatokat, azazX∗-beli szavakat értjük. Az információközlés folyamatát a gyakorlatban azadó- és vevőberendezések, valamint az ezeket összekötő információs csator-nák, az ún. hírközlési rendszerek valósítják meg. Az információs csatornaa gyakorlatban véges sok, de legalább két különböző jelet továbbít egyenlőidőközönként. Ezeknek a jeleknek a halmazát csatornaábécének nevezhetjük.Az információforrás az adónak az információt valamilyen nyelven szolgál-tatja. Ennek a nyelvnek az ábécéje a forrásábécé. Az adóban egy kódolóberendezés a közölt információt általában fizikai jelekké, jelsorozatokká ala-kítja, amelyeket az adó az információs csatornán keresztül juttat a vevőhöz.A vevő képes a jeleket felfogni és egy dekódoló berendezéssel a jelsorozatokatvisszaalakítani. Sok esetben az adó először az adott nyelv ábécéjének betűitegy másik ábécé jelsorozataivá alakítja, amelyeket könnyen tud az informá-ciós csatornán küldhető jelsorozatokká átkódolni.

Egy hírközlési rendszer végeredményben olyan memória nélküli véges au-tomaták soros kapcsolásanak tekinthető, amelyben az egyes automaták be-menő és kimenő halmazai kódok, speciálisan az első automata bemenő hal-maza és az utolsó automata kimenő halmaza a forrásábécé, a kimeneti függ-vények kódolások, átkódolások és dekódolások, s amelyben ha az információscsatorna hiba nélkül működik, másképpen mondva zajmentes, akkor ugyanazta jelsorozatot adja ki, mint amit bemenő jelsorozatként kapott. Az informá-ciót ilyen módon nagy távolságokra is el tudjuk küldeni.

Előfordul, hogy nem akarjuk azt, hogy az elküldött üzenet illetéktelenkezekbe kerüljön, ezért még ún. titkosítási kódolást is végzünk. Ezzel mamár egy önálló tudományág, a kriptográfia foglalkozik. Sok esetben fontos azinformáció tömörítése, amely szintén kódolással, illetve felhasználáskor de-kódolással oldható meg. Megemlítjük még a hibajavító kódok alkalmazását,amelyek az információ továbbítása vagy tárolása során fellépő hibák kiküszö-bölésére szolgálnak.

A kódelmélet részletes tárgyalására nem térhetünk ki, csupán a válto-zó hosszúságú kódok rövid félcsoportelméleti megalapozásával foglalkozunk,különös tekintettel a prefix kódokra. Az általános kódelmélettel részletesenfoglalkozik Jean Berstel és Dominique Perrin kiváló [3] monográfiája.

419

Page 420: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

49. A kód fogalmaLegyenek X és Y tetszőleges nemüres halmazok. Ha ϕ az Y halmaz olyanegy-egyértelmű leképezése az X+ szabad félcsoportba, amelynek homomorfkiterjesztése Y ∗-ra az Y ∗ szabad monoid izomorf leképezése X∗-ba, akkora ϕ leképezést Y (X feletti) kódolásának, C = ϕ(Y )-t (X feletti) kódnak,a ϕ−1 leképezést pedig C dekódolásának nevezzük. Azt is mondjuk, hogyaz Y halmaz elemei kódolhatók C elemeivel, vagy ϕ az Y halmaz C-re valókódolása. A C elemeit kódszavaknak is nevezzük. Ha Y csak egy hosszúságúszavakat tartalmaz, akkor betű szerinti kódolásról beszélünk.

A gyakorlatban a kódok, mint más formális nyelvek, véges ábécé felettiek.Az Y halmaz az információküldésnél a forrásábécének, ϕ pedig az adó kódolóberendezésének felel meg.

Ha a C kód véges vagy megszámlálhatóan végtelen halmaz, akkor véges ill.megszámlálhatóan végtelen kódnak nevezzük. Ha C legfeljebb megszámlálha-tóan végtelen halmaz, akkor a megszámlálható kód elnevezést is használjuk.

Ha az I indexhalmaz megszámlálható, akkor I-n az [n] = {1, . . . , n} vagyaz N+ halmazt értjük. Ha Y = {yk; k ∈ I} és ϕ az Y egy kódolása az (Xhalmaz feletti) C kódra, akkor C = {pk; k ∈ I} jelentse azt, hogy ϕ(yk) =pk (k ∈ I).

Az X feletti L nyelvet korlátosnak nevezzük, ha van olyan n nemnegatívegész szám, hogy |p| ≤ n minden p ∈ L szóra. Minden véges nyelv korlátos.Ha az L korlátos nyelv kód, akkor korlátos kódnak nevezzük. Egy véges ábécéfeletti korlátos nyelv mindig véges.

Ha |X| = 1, akkor az X feletti kódok X+ egyelemű részhalmazai. Ha|X| = 2, akkor az X feletti kódokat bináris kódoknak nevezzük. Ebben azesetben leggyakrabban az X = {0, 1} halmazt használjuk. Az X+ elemeitbináris szavaknak vagy bináris sorozatoknak is nevezzük. Ha ϕ az Y halmazegy kódolása egy kételemű ábécé feletti kódra, akkor ϕ-t bináris kódolásnak isnevezzük. A bináris kódoknak az információközlés gyakorlati megvalósításá-ban fontos szerepük van. A legegyszerűbbek azok az információs csatornák,amelyek csak két különböző jelet tudnak továbbítani. Például, ha a hírköz-lést elektromos árammal valósítjuk meg, akkor a 0 jelentheti azt, hogy nemfolyik adott ideig áram az információs csatornán, az 1 pedig azt, hogy folyik.

Sokszor egyX halmaz feletti kód helyett egyszerűen csak kódot mondunk.Ha vizsgálatainkban egyszerre több kód is szerepel, s nem jelezzük, hogy melyhalmazok feletti kódokról van szó, akkor ezeken mindig ugyanazon X halmazfeletti kódokat értünk. Egy kód bármely nemüres részhalmaza szintén kód.Megállapodunk abban, hogy az üres halmazt is kódnak tekintjük.

Ha Y csak egy hosszúságú szavakat tartalmaz és elemei kódolhatók C

420

Page 421: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

elemeivel, akkor bármely egy hosszúságú szavakat tartalmazó Y -nal ekviva-lens halmaz elemei is kódolhatók C elemeivel, azaz a kód független az Yhalmaz választásától és így ϕ-től is. A csak egy hosszúságú szavakat tartal-mazó halmaznak egy másik egy hosszúságú szavakat tartalmazó halmazbavaló injektív leképezése nyilvánvalóan kódolás. Megállapodunk abban, hogyezeket a kódolásokat nem tekintjük különbözőknek, s ebben az esetben min-dig a halmaz triviális kódolásáról beszélünk, a halmaz részhalmazait pedigtriviális kódoknak nevezzük. A triviális kódokat a kriptográfiában megkülön-böztetik, fontos szerepet játszanak a titkosításban.

49.1 Lemma Az X+ szabad félcsoport C részhalmaza akkor és csak akkorkód, ha bármely p1, p2, . . . pk, q1, q2, . . . ql elemeire

(49.1) p1p2 . . . pk = q1q2 . . . ql =⇒ k = l, p1 = q1, . . . , pk = qk.

Bizonyítás. Ha C = ∅, akkor az állítás triviálisan teljesül, ezért feltehetjük,hogy C 6= ∅. Tegyük fel, hogy C kód. Legyen Y olyan C-vel ekvivalenshalmaz és ϕ az Y halmaz olyan egy-egyértelmű leképezése C-re, amelynekhomomorf kiterjesztése Y ∗-ra az Y ∗ szabad monoid izomorf leképezése X∗-ba. Tegyük fel, hogy a C halmaz p1, p2, . . . pk, q1, q2, . . . ql elemeire p1 . . . pk =q1 . . . ql.

ϕ(xi) = pi, ϕ(yj) = qj (xi, yj ∈ Y, i = 1, . . . , k, j = 1, . . . , l).

Akkorϕ(x1 . . . xk) = ϕ(x1) . . . ϕ(xk) = p1 . . . pk =

= q1 . . . ql = ϕ(y1) . . . ϕ(yl) = ϕ(y1 . . . yl),

amiből x1 . . . xk = y1 . . . yl, vagyis k = l és x1 = y1, . . . , xk = yk, s így

p1 = ϕ(x1) = ϕ(y1) = q1, . . . , pk = ϕ(xk) = ϕ(yk) = qk.

Ez azt jelenti, hogy (49.1) teljesül.Megfordítva, tegyük fel, hogy azX+ szabad félcsoport C 6= ∅ részhalmaza

teljesíti a (49.1) feltételt. Legyen Y egy C-vel ekvivalens halmaz és ϕ azY halmaz egy-egyértelmű leképezése C-re. Terjesszük ki ϕ-t az Y ∗ szabadmonoidra homomorf módon. Jelöljük a kiterjesztést is ϕ-vel. Akkor definíciószerint ϕ(e) = e, ahol e az üres szó. Legyenek x1, . . . , xk, y1, . . . , yl ∈ Y ,amelyekre

ϕ(x1) . . . ϕ(xk) = ϕ(x1 . . . xk) = ϕ(y1 . . . yl) = ϕ(y1) . . . ϕ(yl),

421

Page 422: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amiből (49.1) miatt k = l és ϕ(x1) = ϕ(y1), . . . , ϕ(xk) = ϕ(yk), azaz x1 =y1, . . . , xk = yk. Ez éppen azt jelenti, hogy ϕ az Y ∗ szabad monoid izomorfleképezése X∗-ba. �

Az irodalomban szokás a kódokat a (49.1) feltétellel is definiálni. A kö-vetkező lemma azt mondja ki, hogy (49.1) helyettesíthető egy egyszerűbbfeltétellel.

49.2 Lemma Az X+ szabad félcsoport C részhalmaza akkor és csak akkorkód, ha bármely p1, p2, . . . pn, q1, q2, . . . qn elemeire

(49.2) p1p2 . . . pn = q1q2 . . . qn =⇒ p1 = q1, p2 = q2, . . . , pn = qn.

Bizonyítás. Ha C kód, akkor (49.1)-ből következik (49.2).Megfordítva, tegyük fel, hogy az X+ szabad félcsoport C részhalmazára

(49.2) teljesül. Feltehetjük, hogy C 6= ∅. Ha p1, p2, . . . , pk, q1, q2, . . . , ql (k ≤l) C olyan elemei, amelyekre p1p2 . . . pk = q1q2 . . . ql, akkor

p1p2 . . . pkq1q2 . . . ql = q1q2 . . . qlp1p2 . . . pk.

Tegyük fel, hogy k < l, akkor ebből (49.2)-t n = k + l esetre felhasználvakapjuk, hogy

p1 = q1, p2 = q2, . . . , pk = qk.

Így e = qk+1 . . . ql, ahol e az üres szó. Ez azonban lehetetlen, ezért k = l,vagyis (49.1) teljesül. �

Az X∗ szabad monoid bármely M részmonoidjának a

B = (M − e)− (M − e)2

halmaz olyan generátorrendszere, amely M minden generátorrendszerénekrészhalmaza, azaz M egyetlen minimális generátorrendszere. A B-t M bá-zisának nevezzük. Az X∗ szabad monoid két részmonoidja akkor és csakakkor egyenlő, ha bázisuk megegyezik. AzM = {e} részmonoid bázisa ∅. AzX+ egy M részfélcsoportjának ugyanaz a bázisa, mint az X∗ szabad monoidM + e részmonoidjának. Az X∗ szabad monoid és az X+ szabad félcsoportbázisa X.

49.3 Lemma Ha C kód X felett, akkor az X∗ szabad monoid C által gene-rált részmonoidjának bázisa C.

Bizonyítás. Jelöljük az X∗ szabad monoid C által generált részmonoidját< C >-lel. Az nyilvánvaló, hogy (< C > −e) − (< C > −e)2 ⊆ C. Tegyükfel, hogy van olyan p ∈ (< C > −e)2, amelyre p ∈ C. Mivel p ∈ (< C >−e)2, ezért p = q1q2 . . . qk, ahol q1, q2, . . . , qk ∈ C és k > 1. Ez azonban

422

Page 423: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(49.1) szerint lehetetlen. Ez azt jelenti, hogy p /∈ C, amiből kapjuk, hogyC ∩ (< C > −e)2 = ∅, azaz C = (< C > −e)− (< C > −e)2. �

Az alábbi egyszerű példából következik, hogy nem minden bázis kód:

49.4 Példa Az {a, b}+ szabad félcsoport M = {a2, a3, . . . , ak, . . . } részfél-csoportjának bázisa {a2, a3}, de például a5 = a2a3 = a3a2, ezért (49.2) szerintnem kód.

Az X∗ [X+] szabad monoid [félcsoport] M részmonoidját [részfélcsoport-ját] X∗ [X+] szabad részmonoidjának [részfélcsoport jának] nevezzük, ha izo-morf egy szabad monoiddal [félcsoporttal], azaz ha a C bázisa kód, szokásosjelöléssel M = C∗ [M = C+]. Ha M = {e}, akkor bázisa ∅, amelyre (49.1)nyilvánvalóan teljesül, azaz e = ∅∗ az üres halmaz feletti szabad monoid,amit már a 35. fejezetben is láttunk.

A következő tétel szükséges és elegendő feltételeket ad arra, hogy egyszabad monoid részmonoidja mikor szabad.

49.5 Tétel Az X∗ szabad monoid bármely M részmonoidjára az alábbi há-rom feltétel ekvivalens:(i) M az X∗ szabad részmonoidja;(ii) Minden p ∈ X∗ szóra, az Mp ∩M 6= ∅ és a pM ∩M 6= ∅ feltételekbőlkövetkezik, hogy p ∈M ;(iii) Minden p ∈ X∗ szóra, az Mp∩M ∩ pM 6= ∅ feltételből következik, hogyp ∈M .

Bizonyítás. Az (i) =⇒ (ii) implikáció helyességének igazolásához tegyükfel, hogyM azX∗ szabad részmonoidja és C azM bázisa. Mivel e ∈M , ezérte-re (ii) triviálisan teljesül. Legyen p ∈ X+ olyan szó, amelyre Mp ∩M 6= ∅és pM ∩M 6= ∅. Akkor vannak olyan m1,m2 ∈ M , amelyekre m1p ∈ M éspm2 ∈M . Mivel M félcsoport, ezért

(m1p)m2 = m1(pm2) ∈M.

De C az M bázisa, így C-nek vannak olyan

p1, . . . , pi, pi+1, . . . pk, q1, . . . , qj, qj+1, . . . , ql

elemei, amelyekre

m1p = p1 . . . pi, m2 = pi+1 . . . pk, m1 = q1 . . . qj, pm2 = qj+1 . . . ql.

De M szabad monoid, ezért (49.1) szerint

k = l és p1 = q1, p2 = q2, . . . , pk = qk,

423

Page 424: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amiből kapjuk, hogy p = pj+1 . . . pi ∈M . Ezzel megmutattuk az (i) =⇒ (ii)implikációt.

Az (ii) =⇒ (iii) implikáció nyilvánvalóan igaz.Az (iii) =⇒ (ii) implikáció helyességének igazolásához legyen a p ∈ X∗

olyan szó, amelyreMp∩M 6= ∅ és pM ∩M 6= ∅, azaz vannak olyan m1,m2 ∈M , amelyekre m1p ∈M és pm2 ∈M . Mivel M félcsoport, ezért

(pm2m1)p = p(m2m1p) = (pm2)(m1p) ∈M,

ami azt jelenti, hogy Mp ∩M ∩ pM 6= ∅, s így p ∈M .Végül megmutatjuk, hogy az (ii) =⇒ (i) implikáció is igaz. Legyenek a

C bázisnak p1, p2, . . . , pn, q1, q2, . . . , qn olyan elemei, amelyekre

p1p2 . . . pn = q1q2 . . . qn

teljesül. Így van olyan u ∈ X∗, amelyre p1 = q1u vagy q1 = p1u, azazup2 . . . pn = q2 . . . qn vagy p2 . . . pn = uq2 . . . qn. Mindkét esetben azt kapjuk,hogy Mu ∩ M 6= ∅ és uM ∩ M 6= ∅, amiből (ii) szerint következik, hogyu ∈M . Mivel C bázis, ezért u = e, azaz p1 = q1, amiből p2 . . . pn = q2 . . . qn.Ezt az eljárást folytatva, kapjuk, hogy p2 = q2, . . . , pn = qn. Ez a 49.2Lemma szerint azt jelenti, hogy M szabad részmonoidja X∗-nak. �

49.6 Tétel (Sardinas–Patterson kritérium). Legyen C az X+ szabad félcso-port egy nemüres részhalmaza. Vezessük be a D0 = C jelölést és definiáljukminden pozitív egész n-re a

(49.3) Dn = {p ∈ X+;Dn−1p ∩ C 6= ∅ vagy Cp ∩Dn−1 6= ∅}

halmazt. A C halmaz akkor és csak akkor kód, ha minden pozitív egész n-reC ∩Dn = ∅.

Bizonyítás. Tegyük fel, hogy C kód. azaz M = C∗. Először n szerintiteljes indukcióval megmutatjuk, hogy ha p ∈ Dn, akkor C∗p ∩ C∗ 6= ∅. Hap ∈ D0 = C, akkor nyilvánvalóan igaz az állítás. Tegyük fel, hogy az állításigaz Dn−1 (n ≥ 1) minden elemére és legyen p ∈ Dn. Akkor van olyan c ∈ Cés d ∈ Dn−1, hogy dp = c vagy cp = d. Az indukciós feltevés szerint vannakolyan m1,m2 ∈M , amelyekre m1d = m2. Ebből következik, hogy

m1c = m1dp = m2p vagy m2 = m1d = m1cp.

Mindkét esetben azt kapjuk, hogy C∗p ∩ C∗ 6= ∅.Tegyük fel most, hogy van olyan n pozitív egész szám, amelyre C∩Dn 6= ∅.

Akkor léteznek olyan c, c1 ∈ C és d1 ∈ Dn−1, amelyekre d1c = c1 vagy

424

Page 425: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

c1c = d1. Az előzőek szerint C∗d1∩C∗ 6= ∅. Ha d1c = c1, akkor d1C∗∩C∗ 6= ∅.

Így a 49.5. Tétel szerint d1 ∈ C∗. Ez azonban lehetetlen, mivel C a C∗ bázisa.Következésképpen c1c = d1 ∈ C∗ ∩Dn−1. Ha n = 1, akkor d1 ∈ D0 = C, amiszintén lehetetlen. Ezért n > 1. Ebben az esetben van olyan d2 ∈ Dn−2 ésc2 ∈ C, hogy d2d1 = c2 vagy c2d1 = d2. Ha d2d1 = c2, akkor d2C

∗ ∩ C∗ 6= ∅.Mivel C∗d2 ∩ C∗ 6= ∅, ezért újra a 49.5. Tétel szerint d2 ∈ C∗. Ez azonban,mert C bázis, ismét lehetetlen. Tehát

d2 = c2d1 = c2c1c ∈ C∗ ∩Dn−2.

Ha n = 2, akkor ez ismét lehetetlen. Ha n > 2, akkor ezt az eljárást folytatva,az n-edik lépésben kapjuk, hogy dn = cn . . . c2c1c ∈ C, ami lehetetlen. Ezazt jelenti, hogy minden pozitív egész n-re C ∩Dn = ∅.

Megfordítva, tegyük fel, hogy minden pozitív egész n-re C ∩ Dn = ∅.Először k szerinti teljes indukcióval megmutatjuk, hogy minden k ≥ 1 ésn ≥ 1 esetén Ck ∩Dn = ∅. Ha k = 1, akkor a feltevés miatt igaz az állítás.Tegyük fel, hogy 1 ≤ k esetén minden n pozitív egész számra igaz az állítás.Ha Dn = ∅, akkor nyilvánvalóan Ck+1 ∩Dn = ∅. Tegyük fel, hogy Dn 6= ∅.Ha p ∈ Ck+1 ∩Dn, akkor p = c1c2 . . . ck+1 ∈ Dn. Így Dn+1 definíciója miattc2 . . . ck+1 ∈ Ck ∩ Dn+1, ami az indukciós feltevés miatt lehetetlen. Ez aztjelenti, hogy Ck+1 ∩Dn = ∅. Másodszor szintén k szerinti teljes indukcióvalbelátjuk, hogy minden k ≥ 1, n ≥ 1 és t ≥ 0 esetén Ck ∩DnC

t = ∅. A k = 1esetben az állítás nyilvánvalóan igaz. Tegyük fel, hogy k ≥ 1 esetben igaz azállítás. Ha p ∈ Ck+1 ∩DnC

t, akkor az először bebizonyítottak szerint t > 0.Ez azt jelenti, hogy

p = c1c2 . . . ck+1 = dnc′1c′2 . . . c

′t (c1, c2, . . . ck+1, c

′1, c′2, . . . c

′t ∈ C, dn ∈ Dn).

Ez azt jelenti, hogy van olyan dn+1 ∈ X∗, amelyre

dn = c1dn+1, c2 . . . ck+1 = dn+1c′1c′2 . . . c

′t,

vagyc1 = dndn+1, dn+1c2 . . . ck+1 = c′1c

′2 . . . c

′t.

Az első esetben

dn+1 ∈ Dn+1, c2 . . . ck+1 = dn+1c′1c′2 . . . c

′t ∈ Ck ∩Dn+1C

t,

ami az indukciós feltevés miatt lehetetlen. Mivel dn 6= e, ezért dndn+1 = c1 ∈C miatt a második esetben dn+1 = e és dn = c1, ami a C ∩Dn = ∅ feltevésmiatt lehetetlen. Így Ck+1 ∩DnC

t = ∅.

425

Page 426: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyenek végül c1, c2, . . . cn, c′1, c′2, . . . c

′n a C halmaz olyan elemei, ame-

lyekrec1c2 . . . cn = c′1c

′2 . . . c

′n.

Akkor van olyan d ∈ X∗, amelyre c1 = c′1d vagy c′1 = c1d. Az általánosságmegszorítása nélkül elegendő a c1 = c′1d esettel foglalkozni. Ebben az esetbendc2 . . . cn = c′2 . . . c

′n. Ha d 6= e, akkor d ∈ D1 és n > 1. Ekkor viszont

dc2 . . . cn = c′2 . . . c′n ∈ Cn−1 ∩D1C

n−1,

ami szintén lehetetlen. Ezért d = e, s így c1 = c′1. Az eljárást folytatvakapjuk, hogy c2 = c′2, . . . , cn = c′n. A 49.2. Lemma szerint ez azt jelenti,hogy C kód. �

A tétel akkor is igaz, ha

(49.4) Dn = {p ∈ X+; pDn−1 ∩ C 6= ∅ vagy pC ∩Dn−1 6= ∅},

azaz a Dn halmazokat C elemeinek bizonyos prefixeivel definiáljuk. A Dn

halmazok definíciójából látható, hogy elemeik a C elemeinek megfelelő szuf-fixei [prefixei], ezért minden véges C halmazhoz véges sok különböző Dn

konstruálható. Vagyis a tétel egy algoritmust ad annak eldöntésére, hogy azX+ egy nemüres véges részhalmaza kód vagy nem. (Vannak olyan n és kpozitív egész számok, amelyekre Dn+k = Dn.) Ezt az algoritmust Sardinas–Patterson algoritmusnak nevezzük.

Kódok közös része és különbsége szintén kód. Ha kódokra a regulárisműveleteket alkalmazzuk, akkor azonban nem kapunk mindig kódot. Ezt akövetkező egyszerű példa is mutatja.

49.7 Példa A 49.6. Tétel segítségével (vagy más módon) megmutatható,hogy C1 = {a, ba} és C2 = {a, ab} nyelvek kódok az {a, b} halmaz felett.Ha például C1-re alkalmazzuk a 49.6. Tételből adódó algoritmust, akkorD1 = ∅ és így Dn = ∅ (n = 2, 3, . . . ). A 49.2. Lemmát használva kapjuk,hogy C1 + C2 = {a, ab, ba} nem kód, mert például aba = (ab)a = a(ba).A C1C2 = {a2, ba2, a2b, ba2b} szorzat sem kód, mivel például az a2ba2 szóelőállítható az a2 és a ba2 ill. az a2b és az a2 szavak szorzataként is.

A 49.1. Lemmából következik ugyan az alábbi állítás, de nyilvánvaló,hogy egy kód iteráltja nem kód.

49.8 Következmény Ha C kód, akkor minden n > 1 egész számra Cn iskód.

A kódoknak jól kezelhető osztályait kapjuk, ha (49.3)-ban vagy (49.4)-ben D1 = ∅, s így minden n pozitív egész számra Dn = ∅. Ezeket a kódokat

426

Page 427: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

prefix kódoknak ill. szuffix kódoknak nevezzük. Vagyis a prefix [szuffix]kódok azok a C ⊆ X+ nyelvek, amelyekre

(49.5) CX+ ∩ C = ∅ [X+C ∩ C = ∅].

A nemüres prefix [szuffix] kódok tehát azok az üres szót nem tartalmazó nyel-vek, amelyek nem tartalmazzák elemeik egyetlen valódi kezdőszeletét [záró-szeletét] sem. Prefix [szuffix] kód minden részhalmaza szintén prefix [szuffix]kód. Ha C prefix és szuffix kód, akkor bifix kódnak hívjuk.

Megjegyezzük, hogy a 37.3. Tétel bizonyításában az

{a, b,−→,#, S,X1, X2, . . . }

halmaz elemeit kódoltuk a a+b prefix kód elemeivel.Ezek szerint minden n pozitív egész számra Xn bifix kód X felett. Az

Xn (n ≥ 1) részhalmazait n hosszúságú kódoknak hívjuk. Ha valamely npozitív egész számra C ⊆ Xn, akkor azt is mondjuk, hogy C uniform kódvagy blokk kód. Az uniform kódok fontos szerepet játszanak a kódok gyakor-lati alkalmazásában. Az uniform kódok között kiemelkedő jelentőségűek alineáris kódok. Egy n dimenziós vektortér k dimenziós altereit [n,k] lineáriskódoknak nevezzük. A lineáris kódokkal nem foglalkozunk, de tanulmányo-zásukhoz bőséges irodalom áll az olvasó rendelkezésére. Ezek közül az olvasófigyelmébe ajánljuk Jacob van Lint [43] monográfiáját.

Ha L(⊆ X+) tetszőleges nyelv, akkor

L− LX+ [L−X+L, L− (LX+ +X+L)]

prefix [szuffix, bifix] kód. Ez azt jelenti, hogy véges nyelvből véges számúlépésben előállíthatunk prefix [szuffix, bifix] kódot, ha elhagyjuk a nyelvbőlazokat a szavakat, amelyek egy másik szónak kezdőszeletei [zárószeletei, kez-dőszeletei vagy zárószeletei].

Egy S félcsoport M részfélcsoportját bal [jobb] unitérnek nevezzük, haminden s ∈ S elemre az Ms ∩M 6= ∅ [sM ∩M 6= ∅] feltételből következik,hogy s ∈ M , vagyis, ha m,ms[sm] ∈ M , akkor s ∈ M . Ha M bal és jobbunitér, akkor M -et unitérnek hívjuk. A 49.5. Tételből következik, hogy X∗minden [bal, jobb] unitér részmonoidja X∗-nak szabad részmonoidja.

49.9 Tétel Az X feletti C nyelv akkor és csak akkor prefix [szuffix, bifix]kód, ha X∗ egy bal unitér [jobb unitér, unitér] részmonoidjának bázisa.

Bizonyítás. Az ∅ kód bifix kód és az {e} unitér részmonoid bázisa. Ezért atovábbiakban feltehetjük, hogy C 6= ∅.

427

Page 428: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen C prefix kód. Ha p ∈ C+, q ∈ X+ és pq ∈ C+, akkor p = c1c2 . . . ckés pq = d1d2 . . . dl valamilyen C-beli c1, c2, . . . , ck és d1, d2, . . . , dl elemekre,azaz

c1c2 . . . ckq = d1d2 . . . dl.

Ez azt jelenti, hogy c1 a d1 kezdőszelete vagy d1 a c1 kezdőszelete. Mivel Cprefix kód, ezért c1 = d1, s így

c2 . . . ckq = d2 . . . dl.

Ugyanígy kapjuk, hogy c2 = d2, . . . ck = dk. Ezért q = dk+1 . . . dl ∈ C+,tehát C∗ az X∗ bal unitér részmonoidja. Hasonlóan kapjuk szuffix [bifix] kódesetén az állítást.

Megfordítva, tegyük fel, hogy C 6= ∅ az X∗ M bal unitér részmonoidjánakbázisa. Legyenek c, d ∈ C és c kezdőszelete d-nek, azaz van olyan u ∈ X∗,hogy d = cu. Mivel M bal unitér, ezért u ∈ M . Minthogy C az M bázisa,így u = e és c = d. Ez azt jelenti, hogy C prefix kód. Hasonlóan látható be,hogy X∗ egy jobb unitér [unitér] részmonoidjának bázisa szuffix [bifix] kód.�

Legyen C X feletti, D pedig Z feletti kód. Ha ψ C-nek D-re való egy-egyértelmű leképezése, akkor ψ-t a C kód D-re való átkódolásának nevezzük.A ψ átkódolás homomorf kiterjesztése C∗-ra C∗ szabad monoid izomorf le-képezése D∗-ra. (Természetesen ψ−1 a D kód C-re való átkódolása.) Haminden p ∈ C esetén |ψ(p)| = |p|, akkor ψ-t szóhossztartó átkódolásnakhívjuk. Átkódolás valósul meg a gyakorlatban, ha a kódolás több lépésbentörténik, például akkor amikor az adó először a forrásábécé betűit egy másikábécé jeleivé, jelsorozataivá alakítja, amelyeket azután az információs csa-tornán küldhető jelsorozatokká átalakít. Ebben a folyamatban az első lépésbetű szerinti kódolás, a második azonban a kapott kódnak, amelyben leg-alább kettő hosszúságú szavak is vannak, egy másik kódra való átkódolása,amit nem betű szerinti kódolásnak is nevezünk. Nem betű szerinti kódolásmegvalósulhat már az első lépésben is, ha az adott közlemény felbonthatóa forrásábécé feletti olyan kód szavaira, amelyek közül legalább egy kódszóegynél több betűből áll.

Az X∗ szabad monoid automorfizmusai X permutációinak homomorf ki-terjesztései X∗-ra. Ebből következik, hogy ha C egy X feletti kód és ϕ azX halmaz egy permutációja, akkor ϕ(C) is kód X felett és ϕ szóhossztartóátkódolás.

428

Page 429: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Feladatok49.1. Legyen ϕ az X 6= ∅ halmaz tetszőleges leképezése az Y 6= ∅ halmazra.Terjesszük ki ϕ-t homomorf módon X∗-ra. Ha az X feletti L nyelv nem kód Xfelett, akkor ϕ(L) sem kód Y felett.49.2. Legyen n tetszőleges pozitív egész szám. Ha a nemnegatív egész számokvalamely I és J részhalmazára

i+ j ≡ i′ + j′ (mod n) =⇒ (i = i′, j = j′) (i, i′ ∈ I, j, j′ ∈ J),

akkor L = {aibaj , i ∈ I, j ∈ J} ∪ {an} kód {a, b} felett.49.3. Az X+ szabad félcsoport különböző p és q elemeire {p, q} akkor és csakakkor kód, ha pq 6= qp.49.4. Egy p ∈ X+ szót primitívnek nevezünk, ha a p = qn (q ∈ X+) feltételbőln = 1 és így p = q következik. Ha az u, v ∈ X+ szavak esetén uv primitív szó,akkor {u, v} kód.

50. A kód mértékeTetszőleges X halmaz esetén bevezetünk a P (X∗) hatványhalmazon egy mér-téket, és segítségével olyan feltételt adunk, amelyet minden X feletti kódteljesít. Megjegyezzük, hogy ha X megszámlálható, akkor X∗ is megszám-lálható, ezért minden X feletti kód is megszámlálható.

Legyen R0 [R+] a nemnegatív [pozitív] valós számok halmaza. Terjesszükki a valós számok összeadásának és szorzásának műveletét az R0 ∪ {∞} hal-mazra úgy, hogy

r +∞ =∞+ r =∞ (r ∈ R0 ∪ {∞}),

r∞ =∞r =∞ (r ∈ R+ ∪ {∞}), 0∞ =∞0 = 0.

Könnyen belátható, hogy (R0 ∪ {∞},+, ·) kommutatív félgyűrű. Az előző-ekből következik, hogy minden n pozitív egész számra (∞)n = ∞. Legyentovábbá 00 = (∞)0 = 1. Terjesszük ki a valós számok szokásos rendezését isaz R0 ∪ {∞} halmazra, úgy, hogy ∞ legyen a halmaz legnagyobb eleme.

Legyen V (I) az I indexhalmaz véges részhalmazainak halmaza. Definiál-juk az rk ∈ R0 ∪ {∞} (k ∈ I) elemek összegét a∑

k∈I

rk =∨{∑j∈J

rj; J ∈ V (I)}

összefüggéssel. Az R0 ∪ {∞}-beli sorokra∞∑k=0

rk =∨{

n∑k=0

rk;n ∈ N} (rk ∈ R0 ∪ {∞}).

429

Page 430: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tetszőleges X halmaz esetén legyen X az X részhalmazainak olyan hal-maza, amelyre ha A,B ∈ X , akkor A−B,A+B ∈ X . Ebből következik, hogy∅ ∈ X . A π : X → R0 ∪ {∞} leképezést mértéknek, π(A)-t pedig A mér-tékének nevezzük az X halmazon, ha π(∅) = 0 és X tetszőleges Ak (k ∈ I)páronként diszjunkt részhalmazaira, ha

∑k∈I Ak ∈ X , akkor

π(∑k∈I

Ak) =∑k∈I

π(Ak).

Tekintsük az X halmaz olyan π leképezését a nemnegatív valós számokhalmazába, amelyre

(50.1)∑x∈X

π(x) = 1

teljesül. Jelölje az egyszerűség kedvéért π monoid-homomorf kiterjesztésétX∗-ra szintén π. Ez azt jelenti, hogy

(50.2) π(x1x2 . . . xn) = π(x1)π(x2) . . . π(xn) (x1, x2, . . . , xn ∈ X),

és

(50.3) π(e) = 1.

Ezután terjesszük ki π értelmezését az X feletti nyelvekre, a kiterjesztésttovábbra is π-vel jelölve, a

(50.4) π(∅) = 0, π(L) =∑q∈L

π(q) (L ⊆ X∗)

összefüggésekkel. Nyilvánvaló, hogy

π(L) =∨{∑q∈L(k)

π(q); k ∈ N}.

A (50.1) - (50.4) feltételekkel megadott π függvényt X Bernoulli mértékénekvagy eloszlásának nevezzük. Ha minden x ∈ X elemre π(x) > 0, akkor π-tpozitív Bernoulli mértéknek vagy eloszlásnak nevezzük. HaX = {xj; j ∈ I},akkor a {π(xj); j ∈ I} halmazt is szokás X Bernoulli eloszlásának nevezni.

Szemléletesen azt mondhatjuk, hogy ha egy jelforrás az X halmaz elemeitmeghatározott időközönként véletlenszerűen, a π valószínűségeloszlás szerintegymástól függetlenül bocsátja ki, akkor egy n hosszúságú információ (köz-lemény) a jelforrás által véletlenszerűen kibocsátott n hosszúságú jelsorozat,

430

Page 431: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

egy n hosszúságú szó az X∗ szabad monoidból, amely kibocsátásának való-színűsége (50.2) szerint számítható ki. A π(x) számot x ∈ X jel előfordulásivalószínűségének is nevezzük. Ez az elnevezés onnan ered, hogy valamelytermészetes nyelven közölt információkban bizonyos betűk gyakrabban for-dulnak elő, mint más betűk.

Legyen Lk ⊆ X∗ (k ∈ I). A (50.4) kiterjesztés alapján kapjuk a

(50.5) π(∑k∈I

Lk) ≤∑k∈I

π(Lk)

egyenlőtlenséget. Ha az Lk (k ∈ I) nyelvek páronként diszjunktak, akkor

(50.6) π(∑k∈I

Lk) =∑k∈I

π(Lk).

Ebből az X feletti L1 és L2 nyelvekre adódik, hogy

π(L1L2) = π({pq; p ∈ L1, q ∈ L2}) ≤∑

p∈L1,q∈L2

π(pq) =

=∑

p∈L1,q∈L2

π(p)π(q) =∑p∈L1

π(p)∑q∈L2

π(q) = π(L1)π(L2).

Ezt felhasználva tetszőleges X feletti L1, L2, . . . , Ln nyelvekre fennáll a

(50.7) π(L1L2 . . . Ln) ≤ π(L1)π(L2) . . . π(Ln)

egyenlőtlenség. Speciálisan tetszőleges X feletti L nyelvre és minden k nem-negatív egész számra

(50.8) π(Lk) ≤ (π(L))k,

továbbá

(50.9) π(L∗) ≤∞∑k=0

π(Lk) ≤∞∑k=0

(π(L))k.

Így ha π(L) < 1, akkor π(L∗) <∞.

50.1 Lemma Az X halmaz bármely π Bernoulli eloszlása olyan mérték azX∗ szabad monoidon, amelyre minden n nemnegatív egész számra

π(Xn) = 1.

431

Page 432: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Az előző meggondolásokból látható, hogy egy Bernoulli eloszlásvalóban mérték az X∗ szabad monoidon.

Megmutatjuk, hogy minden n nemnegatív egész számra

π(Xn) = π(Xn+1).

Felhasználjuk, hogy (50.4) alapján a (50.1) feltétel π(X) = 1 alakban isírható. A 34. fejezetben megállapodtunk abban, hogy X0 = e, s így π(X0) =π(e) = 1. Ezekből már következik, hogy minden n nemnegatív egész számraπ(Xn) = 1.

Ugyanis (50.1) - (50.4) segítségével kapjuk, hogy ha n ≥ 0, akkor

π(Xn+1) =∑

q∈Xn+1

π(q) =∑

p∈Xn,x∈X

π(px) =∑

p∈Xn,x∈X

π(p)π(x) =

=∑p∈Xn

π(p)∑x∈X

π(x) =∑p∈Xn

π(p) = π(Xn). �

A (50.1) - (50.4) feltételekkel megadott mértéket az X∗-on is Bernoullieloszlásnak vagy mértéknek nevezzük. A 50.1. Lemmából következik, hogyha X 6= ∅, akkor π(X∗) = π(X+) =∞.

50.2 Lemma Legyen π az X halmaz egy Bernoulli eloszlása. Bármely Xfeletti C kódra

(50.10) π(Cn) = (π(C))n (n = 0, 1, 2, . . . )

és

(50.11) π(C∗) =∞∑n=0

(π(C))n.

Megfordítva, ha π pozitív Bernoulli eloszlás, továbbá az X feletti C nyelvreπ(C) <∞ és (50.10) teljesül, akkor C kód.

Bizonyítás. Először megmutatjuk, hogy bármely (X feletti) kódra (50.10)teljesül. A 49.2. Lemmát is felhasználva

π(Cn) =∑

p1...pn∈Cnπ(p1 . . . pn) =

∑p1,...,pn∈C

π(p1) . . . π(pn) = (π(C))n.

Ebből a (50.6) összefüggés miatt

π(C∗) =∞∑n=0

π(Cn) =∞∑n=0

(π(C))n.

432

Page 433: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Megfordítva, legyen minden x ∈ X elemre π(x) > 0. Tegyük fel, hogyaz X feletti C nyelvre π(C) < ∞ és teljesül (50.10), de C nem kód. A49.2. Lemma szerint vannak olyan p1, . . . , pn, q1, . . . , qn ∈ C, hogy p1 . . . pn =q1 . . . qn és pj 6= qj valamilyen 1 ≤ j ≤ n esetén. Így

(π(C))n =∑

t1,...,tn∈C

π(t1) . . . π(tn) =∑

t1,...,tn∈C

π(t1 . . . tn) ≥

≥∑

t1...tn∈Cnπ(t1 . . . tn) + π(p1 . . . pn) = π(Cn) + π(p1 . . . pn).

Mivel π(C) <∞ és (50.10) szerint

π(Cn) = (π(C))n <∞,

így π(p1 . . . pn) ≤ 0, azaz π(p1 . . . pn) = 0. Ebből következik (50.2) alapján,hogy van olyan x ∈ X, amelyre π(x) = 0, ami a feltevés miatt lehetetlen. �

50.3 Tétel Ha π az X halmaz egy Bernoulli eloszlása, akkor bármely Xfeletti C kódra

(50.12) π(C) ≤ 1,

továbbá

(50.13) π(C) = 1 ⇐⇒ π(C∗) =∞.

Bizonyítás. Tegyük fel, hogy (50.12) nem teljesül, azaz van olyan C kód,amelyre π(C) > 1.

Legyen először C korlátos kód. Ha k az {|p|; p ∈ C} halmaz szuprémuma,akkor C ⊆

∑kj=1X

j. Ebből (50.4), (50.6) és az 50.1. Lemma alkalmazásávalkapjuk, hogy minden n pozitív egész számra

π(Cn) ≤ π(kn∑j=1

Xj) =kn∑j=1

π(Xj) = kn.

De (50.10) szerint π(Cn) = (π(C))n, amiből minden n pozitív egész szám-ra

(π(C))n ≤ kn.

Az elemi analízisből ismert, hogy ez lehetetlen, ha π(C) > 1. Kaptuk, hogyminden C korlátos kódra π(C) ≤ 1.

433

Page 434: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tegyük fel másodszor, hogy C nem korlátos kód. Legyen Cl = {p ∈C; |p| ≤ l}. Mivel egy kód minden részhalmaza kód, ezért Cl kód. A Cldefiníciója szerint korłátos kód. Az előzőek szerint π(Cl) ≤ 1. Mivel

π(C) =∨{π(Cl); l = 1, 2, . . . },

ezért π(C) ≤ 1.Az 50.2. Lemma szerint π(C∗) =

∑∞n=0(π(C))n, azaz geometriai sor,

amelyről az elemi analízisben megmutatják, hogy π(C∗) < ∞ akkor és csakakkor, ha π(C) < 1. Ebből pedig következik, hogy π(C) = 1 akkor és csakakkor, ha π(C∗) =∞. �

Az 50.3. Tétel szerint minden kódra teljesül az (50.12) egyenlőtlenség. Akövetkező példa mutatja, hogy az (50.12) egyenlőtleséget teljesítő halmazoknem mindegyike kód.

50.4 Példa Az {a, b} feletti L = {ab, aba, a2b} nyelv minden Bernoulli mér-téke teljesíti az (50.12) egyenlőtlenséget. Legyen ugyanis 0 ≤ r ≤ 1, amelyreπ(a) = r és π(b) = 1− r. Akkor

π(L) = r(1− r) + 2r2(1− r) = r(1− r)(1 + 2r).

Mivel r(1− r) ≤ 14, ezért π(L) < 3

4. Az L nyelv azonban nem kód, minthogy

például (aba)(ab) = (ab)(a2b).

Ha X egy m elemű ábécé és minden x ∈ X elemre π(x) = m−1, akkor aπ leképezés teljesíti a (50.1) feltételt. Így π-nek a (50.2) - (50.4) feltételekkelmegadott kiterjesztése az X ábécé egy Bernoulli eloszlása, amelyet egyen-letes eloszlásnak vagy uniform mértéknek nevezünk. Az egyenletes eloszlásfelhasználásával az 50.3. Tételből következik az alábbi egyenlőtlenség.

50.5 Következmény (Szilárd–Kraft–McMillan egyenlőtlenség) Ha X 6= ∅egy m elemű ábécé és C = {pj; j ∈ I} egy X feletti kód, akkor

(50.14)∑j∈I

m−|pj | ≤ 1.

Bizonyítás. Legyen π az X ábécé uniform mértéke. Mivel C kód, ezért az50.3. Tétel szerint π(C) ≤ 1. A (50.2) és (50.4) feltételek felhasználásávalkapjuk, hogy

π(C) =∑pj∈C

π(pj) =∑j∈I

m−|pj |.

434

Page 435: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

50.6 Példa A Szilárd–Kraft–McMillan egyenlőtlenség teljesül az

{a, a3b, aba}, {a, a2b, bab, b2}

nyelvekre, ezért mind a kettő lehet kód az {a, b} ábécé felett.Legyen C = {a, a3b, aba}. Vizsgáljuk meg általánosabban, hogy van-e

olyan 0 < r < 1 valós szám, amelyre π(a) = r, π(b) = 1 − r és π (50.2) -(50.4) kiterjesztésére π(C) > 1. Ha van ilyen r, akkor az 50.4. Tétel szerintC nem kód. Mivel π(C) = r + r3(1 − r) + r2(1 − r) > 1 akkor és csakakkor, ha r3(1 − r) + r2(1 − r) > 1 − r, vagyis r3 + r2 > 1. A számtani ésmértani középre vonatkozó egyenlőtlenség szerint r3 + r2 ≥ 2

√r5, amiből, ha

5√

4−1 < r < 1, akkor π(C) > 1, azaz C nem kód. Persze most a 49.1. Lemmaalapján egyszerűbben is beláthattuk volna, hogy C nem kód. (Használjukfel például, hogy (a3b)a = aa(aba).)

Legyen C = {a, a2b, bab, b2}. Minthogy π(C) = r+ r2(1− r) + r(1− r)2 +(1− r)2 > 1 akkor és csak akkor, ha r2(1− r) + r(1− r)2 + (1− r)2 > 1− r,amiből 1 = r2 + r(1− r) + 1− r > 1, ez pedig lehetetlen. Így π(C) = 1, amiazt jelenti, hogy C lehet kód. A 49.6. Tétel segítségével eldönthetjük, hogyC valóban kód-e. Használjuk a 49.6. Tétel jelöléseit, azaz D0 = C, D1 ={ab}, D2 = {b}, D3 = {ab, b} = D4. A C halmaz kód {a, b} felett, miveln = 1, 2, 3 esetén C∩Dn = ∅. (Egyszerűbb a feladatot prefixekkel megoldani,mert ebben az esetben D1 = ∅.)

51. Maximális kódokA C kódot maximálisnak nevezzük, ha nincs olyan D kód, amelyre C ⊂ Dteljesülne. A következő lemma azt mutatja, hogy a maximális kódokbólminden kód megkapható.

51.1 Lemma Bármely kód részhalmaza egy maximális kódnak.

Bizonyítás. Legyen C tetszőleges kód és C a C-t tartalmazó kódok hal-maza. Nyilvánvaló, hogy C a halmazelméleti tartalmazásra részbenrendezetthalmaz. Mivel kódok bármely láncának elemeit egyesítve ismét kódot ka-punk, ezért a Zorn lemma szerint C-ben van maximális elem, azaz van olyanmaximális kód, amely tartalmazza C-t. �

51.2 Tétel Ha C maximális kód, akkor minden p ∈ X∗ szóra

(51.1) C∗ ∩X∗pX∗ 6= ∅.

435

Page 436: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Nem nehéz belátni, hogy |X| = 1 esetben igaz az állítás. Atovábbiakban legyen |X| > 1. Tegyük fel, hogy van olyan p ∈ X∗, hogyC∗∩X∗pX∗ = ∅. Akkor p 6= e és p /∈ C. Feltehetjük azt is, hogy bármely r ∈X+ és s ∈ X∗ esetén p 6= rsr. Ha ugyanis ez nem teljesülne, akkor vegyük phelyett a t = px|p| szót, ahol x az X-nek olyan eleme, amely különbözik p elsőbetűjétől. MivelX∗tX∗ ⊆ X∗pX∗, így t is olyan szó, amelyre C∗∩X∗tX∗ = ∅és ezért t /∈ C. Továbbá bármely r ∈ X+ és s ∈ X∗ szavakra t 6= rsr.

Azt mutatjuk meg, hogy C ′ = C + p is kód. Mivel C maximális kód,ezért ez nem lehetséges. Így ebből kapjuk, hogy minden p ∈ X∗ szóra C∗ ∩X∗pX∗ 6= ∅.

A 49.2. Lemma szerint C ′ akkor és csak akkor kód, ha minden C ′-belic1, c2, . . . , cn, c′1, c′2, . . . , c′n (n ≥ 2) elemre a

c1c2 . . . cn = c′1c′2 . . . c

′n

egyenletből következik, hogy

c1 = c′1, c2 = c′2, . . . , cn = c′n.

Mivel C kód, ezért ha ci, c′i(i = 1, 2, . . . , n) C-beli elemek, akkor igaz azállítás. A C∗∩X∗pX∗ = ∅ feltétel miatt a c1c2 . . . cn = c′1c

′2 . . . c

′n egyenletben

valamely ci akkor és csak akkor egyenlő p-vel, ha van p-vel egyenlő c′j is.Tegyük fel, hogy az egyenletben vannak olyan ci, c

′j, amelyek egyenlők p-

vel. Az elemek száma szerinti teljes indukcióval megmutatjuk, hogy ebbenaz esetben is c1 = c′1, c2 = c′2, . . . , cn = c′n.

Legyen c1c2 = c′1c′2 (c1, c2, c

′1, c′2 ∈ C ′). Ha c1 = p, akkor c′1 = p vagy

c′2 = p. Ha c′2 = p, akkor c2 = c′1 = e, ami lehetetlen. Így c′1 = p, s ezértc2 = c′2. Hasonlóan látható be a állítás, ha c2 = p.

Tegyük fel, hogy a 2 ≤ n egész számra igaz az állítás. Legyen

c1c2 . . . cncn+1 = c′1c′2 . . . c

′nc′n+1 (ci, c

′i ∈ C ′, i = 1, 2, . . . , n+ 1),

továbbá ci ill. c′j a p első előfordulása balról az egyenlet bal ill. jobb oldalán.Legyen először 1 < i, j < n+ 1, azaz

c1c2 . . . ci−1pci+1 . . . cn = c′1c′2 . . . c

′j−1pc

′j+1 . . . c

′n.

Az általánosság megszorítása nélkül feltehetjük, hogy

|c1c2 . . . ci−1| ≥ |c′1c′2 . . . c′j−1|.

Akkor van olyan u ∈ X∗, amelyre

c1c2 . . . ci−1 = c′1c′2 . . . c

′j−1u, upci+1 . . . cn = pc′j+1 . . . c

′n.

436

Page 437: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A p szó nem lehet az u prefixe, mert akkor

c1c2 . . . ci−1 = c′1c′2 . . . c

′j−1u

miatt C∗ ∩X∗pX∗ 6= ∅. Ezért

p = uq és pci+1 . . . cn = qc′j+1 . . . c′n

valamilyen q ∈ X+ szóra. Az utóbbi egyenlőség azt jelenti, hogy van olyanv ∈ X∗, amelyre p = qv. Így p = uq = qv. Ha u 6= e, akkor |u| = |v|, s ígyv 6= e. Ha u = qu′ (u′ ∈ X∗) vagy v = v′q (v′ ∈ X∗), akkor p = qu′q vagyp = qv′q, ami azonban a feltétel miatt lehetetlen. Így |q| > |u| és |q| > |v|.Ebből nem nehéz belátni, hogy van q-nak olyan nemüres prefixe és szuffixe,amelyek egyenlők, azaz van olyan r ∈ X+ és s ∈ X∗, amelyekre p = rsr. Ezis lehetetlen, ezért u = e, azaz

c1c2 . . . ci−1 = c′1c′2 . . . c

′j−1, ci+1 . . . cn+1 = c′j+1 . . . c

′n+1

Az első egyenletben csak C-beli elemek szerepelnek, ezért

i = j, c1 = c′1, . . . , ci−1 = c′i−1.

A második egyenletből az indukciós feltevés miatt kapjuk, hogy

ci+1 = c′i+1, . . . , cn+1 = c′n+1.

Legyen most i = 1 és 1 ≤ j < n + 1. (A j = n + 1 eset nem lehetséges,mert akkor c2 . . . cn+1 = c′1 . . . c

′n = e.) Tegyük fel, hogy j > 1, akkor

pc2 . . . cn+1 = c′1c′2 . . . c

′j−1pc

′j+1 . . . c

′n+1.

A C∗ ∩X∗pX∗ = ∅ feltétel miatt p nem lehet c′1 . . . c′j−1 kezdőszelete. Tehátvan olyan q ∈ X+, hogy p = c′1 . . . c

′j−1q. Ebből

qc2 . . . cn+1 = pc′j+1 . . . c′n+1,

azaz van olyan r ∈ X+ és s ∈ X∗, hogy p = rsr, ami p választása miattszintén lehetetlen. Ez azt jelenti, hogy j = 1. Ebből kapjuk, hogy

c2 . . . cn+1 = c′2 . . . c′n+1.

Az indukciós feltevés szerint

c2 = c′2, . . . , cn+1 = c′n+1.

437

Page 438: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az állítás hasonlóan látható be a cn+1 = p esetben. �Az 51.2. Tétel azt mondja ki, hogy ha C maximális kód X felett, akkor

X∗ bármely I 6= ∅ ideáljára C∗∩I 6= ∅. A tétel segítségével bizonyos kódokrólmeg tudjuk mutatni, hogy nem maximális kódok. (Ha találunk olyan p ∈ X∗szót, amelyre C∗ ∩X∗pX∗ = ∅, akkor C nem maximális kód.)

Az 50.3. Tételből kaphatunk egy elegendő feltételt arra, hogy egy kódmikor maximális kód.

51.3 Tétel Legyen C kódX felett. HaX-nek π olyan pozitív Bernoulli mér-téke, amelyre π(C) = 1, akkor minden n pozitív egész számra Cn maximáliskód.

Bizonyítás. Tegyük fel, hogy teljesülnek a feltételek és a C kód nem maxi-mális. Akkor van olyan p ∈ X+ − C, hogy C + p is kód. Az 50.3. Tételbőlkövetkezik, hogy π(C + p) ≤ 1. Másrészről, (50.6) szerint

π(C + p) = π(C) + π(p) = 1 + π(p).

Így π(p) = 0, amely a feltevés miatt lehetetlen. Ami azt jelenti, hogy Cmaximális kód.

A 49.8. Lemma szerint minden n pozitív egész számra Cn is kód. Az 50.2.Lemma szerint π(Cn) = (π(C))n = 1, s így az előbbiek miatt Cn maximáliskód. �

Az 51.3. Tétel alapján a Szilárd–Kraft–McMillan egyenlőtlenségből kap-juk az alábbi következményt.

51.4 Következmény Ha egy m elemű ábécé feletti C = {pj; j ∈ I} kódra∑j∈I

m−|pi| = 1 teljesül, akkor minden n pozitív egész számra Cn maximális

kód.

A C nem triviálisX feletti kódot a (D kód felett) felbonthatónak nevezzük,ha C ⊆ D+. A C nem triviális kódot felbonthatatlannak mondjuk, ha csakönmaga és X felett bontható fel, azaz ha a D kódra C ⊆ D+, akkor C = Dvagy D = X.

51.5 Lemma Minden felbonthatatlan kód maximális kód.

Bizonyítás. Legyen a nem triviális C kód felbonthatatlan, D olyan nemtriviális kód, amelyre C ⊆ D. Akkor C ⊆ D+, azaz C felbontható D felett.Mivel C felbonthatatlan, ezért C = D, vagyis C maximális kód. �

51.6 Lemma Végtelen halmaz felett minden maximális kód végtelen.

438

Page 439: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Tegyük fel, hogy C véges maximális kód az X végtelen halmazfelett. C végessége miatt van olyan x ∈ X, amely nem szerepel egyetlen C-beli kódszóban sem. Ebből következik, hogy C∗∩X∗xX∗ = ∅, ami ellentmondaz 51.2. Tétel állításának, s így C nem lehet véges. �

Az 51.6. Lemmából adódik, hogy a következő két tételben véges ábécékfeletti kódok szerepelnek.

51.7 Tétel Ha a C nem triviális véges maximális kód felbontható a D nemtriviális kód felett, akkor D is véges maximális kód.

Bizonyítás. Legyen C nem triviális véges maximális kód X felett. Tegyükfel, hogy C felbontható a D nem triviális kód felett. Mivel C ⊆ D+, ezért a

D′ = {d ∈ D;D∗dD∗ ∩ C 6= ∅}

halmaz nemüres részhalmazaD-nek, így maga is kód. Továbbá minden c ∈ Cszóhoz vannak olyan d1, d2, . . . dk ∈ D, hogy c = d1d2 . . . dk. A D′ definíci-ójából következik, hogy d1, d2, . . . dk ∈ D′, azaz C+ ⊆ D′+. Ha van olyanu ∈ X+, amelyre u /∈ D′ és D′ + u kód, akkor u /∈ C és C + u szinténkód. Ez azonban ellentmond annak, hogy C maximális kód. Ez azt jelenti,hogy D′ is maximális kód, s így D′ = D. Ebből viszont következik, hogyminden d ∈ D szóhoz vannak olyan p, q ∈ D∗, hogy pdq ∈ C. De C mindeneleme egyértelműen bontható fel véges sok D-beli elem szorzatára. Ezért Cvégessége miatt D is véges. �

51.8 Tétel Bármely C nem triviális véges maximális kód elemei egyértelmű-en felbonthatók valamely véges nem triviális felbonthatatlan kód elemeinekszorzatára.

Bizonyítás. Legyen C0 nem triviális véges maximális kód X felett. Ha C0

felbonthatatlan, akkor definíció szerint önmaga felett felbontható, azaz eb-ben az esetben az állítás igaz. Ha C0 felbontható a C1(6= C0) nem triviáliskód felett, akkor ez azt jelenti, hogy C0 minden eleme egyértelműen bonthatófel C1-beli elemek szorzatára. Az 51.7. Tétel szerint C1 is nem triviális végesmaximális kód. Mivel C1 6= C0, ezért van olyan c0 ∈ C0, amely legalábbkét C1-beli elem szorzatára bontható fel, azaz c0 /∈ C1. Ha C1 felbonthatat-lan, akkor készen vagyunk a bizonyítással. Ha C1 felbontható a C2( 6= C1)nem triviális kód felett, akkor C0 is felbontható C2 felett, azaz C0 elemeiegyértelműen felbonthatók C2-beli elemek szorzatára. Ismét az 51.7. Tételszerint C2 nem triviális véges maximális kód. A C2 6= C1 feltétel miatt vanolyan c1 ∈ C1, amely legalább két C2-beli elem szorzatára bontható fel, ezértc1 /∈ C2. Ezt az eljárást folytatva a C0 végessége miatt van olyan n nem-negatív egész szám, hogy Cn nem triviális véges felbonthatatlan kód és C0

439

Page 440: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

felbontható Cn felett. Kaptuk, hogy C0 elemei egyértelműen felbonthatókCn elemeinek szorzatára. �

Az X∗ [X+] szabad monoid [félcsoport] M 6= X∗ [X+] szabad részmono-idját [részfélcsoportját] X∗ [X+] maximális szabad részmonoidjának [részfél-csoportjának] nevezzük, ha nincs X∗-nak [X+-nak] olyan M ′ szabad részmo-noidja [részfélcsoportja], amelyre M ⊂M ′ ⊂ X∗ [X+] teljesül.

51.9 Tétel Az X feletti C nem triviális kód akkor és csak akkor felbontha-tatlan, ha X+ szabad félcsoport valamely maximális szabad részfélcsoport-jának bázisa.

Bizonyítás. Legyen C az X+ szabad félcsoport M maximális szabad rész-félcsoportjának bázisa. Tegyük fel, hogy C felbontható a D nem triviáliskód felett, azaz C ⊆ D+. Ebből következik, hogy M ⊆ D+. Mivel M = C+

maximális szabad részfélcsoportja X+-nak, ezért C+ = D+, amiből C = Dadódik. Tehát C valóban felbonthatatlan.

Legyen most C egy X feletti nem triviális kód és C+ nem maximális.Akkor X+-nak van olyan F 6= X+ szabad részfélcsoportja, amelyre C+ ⊂ F ,s így C ⊂ F , azaz C felbontható F bázisa felett. �

A tételből következik, hogy szabad félcsoport maximális szabad részfél-csoportjainak bázisai maximális kódok.

51.10 Lemma Bármely n pozitív egész számra Xn maximális kód.

Bizonyítás. Ha p ∈ X+ olyan szó, hogy p /∈ Xn, akkor Xn + p nem kód,mert ha |p| = k(6= n), akkor vannak olyan q1, . . . qk ∈ Xn, hogy pn = q1 . . . qk,azaz pn két különböző módon bontható fel Xn + p elemeinek szorzatára. Ezazt jelenti, hogy Xn maximális kód. �

Az Xn kódot (n hosszúságú) maximális kódnak vagy általában maximálisuniform kódnak nevezzük. Az 51.5. Lemma szerint minden felbonthatatlankód maximális. A következő tétel mutatja, hogy nem minden maximális kódfelbonthatatlan.

51.11 Tétel Bármely n pozitív egész számra Xn akkor és csak akkor bont-ható fel egy D kód felett, ha D = Xm, ahol m az n osztója. Xn akkor éscsak akkor felbonthatatlan, ha n prímszám.

Bizonyítás. Ha m osztója n-nek, akkor Xn ⊆ (Xm)+, azaz Xn felbonthatóXm felett.

Megfordítva, legyen D olyan kód, amelyre Xn ⊆ D+. Tegyük fel, hogyp egy minimális hosszúságú szó D-ben. Ha |p| = m, akkor vannak olyanu1, u2, . . . , um ∈ Xn szavak, amelyekre pn = u1u2 . . . um. Mivel Xn ⊆ D+,ezért u1, u2, . . . , um ∈ D+. Ezért a (49.1) szerint van olyan k pozitív egész

440

Page 441: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szám, amelyre km = n és u1 = u2 = · · · = um = pk. Minden q ∈ Xm

szóra p2k−1q, qp2k−1 ∈ X2n ⊆ D+, ezért a 49.5. Tétel szerint q ∈ D+. Azm definíciója miatt q ∈ D. Innen kapjuk, hogy Xm ⊆ D. Az 51.1. Lemmaszerint Xm maximális, ezért D = Xm.A tétel második állítása az előzőekből azonnal adódik. �

Végül a maximális kódok egy hasznos részosztályával foglalkozunk.

51.12 Lemma Ha ϕ az X∗ szabad monoid homomorf leképezése egy G cso-portra, akkor G bármely H részcsoportjára

(51.2) ϕ−1(H) = {p ∈ X∗;ϕ(p) ∈ H}

az X∗ szabad monoid unitér részmonoidja.

Bizonyítás. Ha p, pu ∈ ϕ−1(H), akkor ϕ(p), ϕ(pu) ∈ H. Így

ϕ(u) = ((ϕ(p))−1ϕ(p))ϕ(u) = (ϕ(p))−1(ϕ(p)ϕ(u)) = (ϕ(p))−1ϕ(pu) ∈ H,

amiből következik, hogy u ∈ ϕ−1(H), azaz ϕ−1(H) az X∗ szabad monoid balunitér részmonoidja. Hasonlóan látható be, hogy ha p, up ∈ ϕ−1(H), akkoru ∈ ϕ−1(H), vagyis ϕ−1(H) az X∗ szabad monoid jobb unitér részmonoidja.�

A 49.9. Tétel szerint azX∗ szabad monoid (51.2) unitér részmonoidjainakbázisai bifix kódok. Ezeket a kódokat X feletti csoportkódoknak nevezzük.

51.13 Tétel Minden X feletti csoportkód maximális kód X felett.

Bizonyítás. Legyen ϕ az X∗ szabad monoid homomorf leképezése a Gcsoportra és H részcsoportja G-nek. Ha H = G, akkor ϕ−1(H) = X∗,amelynek bázisa X, s ez nyilvánvalóan maximális kód X felett.

Tegyük fel, hogy H ⊂ G. Akkor ϕ−1(H) ⊂ X∗. Legyen C a ϕ−1(H)bázisa. Megmutatjuk, hogy ha p /∈ ϕ−1(H), akkor C + p nem kód X felett,azaz C maximális kód X felett. Legyen ϕ(p) = g. Mivel ϕ szürjektív, vanolyan q ∈ X∗, hogy ϕ(q) = g−1. Ebből következik, hogy pq, qp ∈ ϕ−1(H). De(pq)p = p(qp), ami (49.1) szerint azt jelenti, hogy C + p nem kód X felett.�

Legyen X 6= ∅ tetszőleges halmaz és x ∈ X. Jelölje |p|x (p ∈ X∗) az xbetű előfordulásainak számát a p szóban.

51.14 Példa Legyen X = {a, b} és

M = {p ∈ X∗; |p|a ≡ 0 (mod 2)}.

441

Page 442: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

M azX∗ szabad monoid olyan részmonoidja, amelynek bázisa maximális kód.Legyen ugyanis Z2 = {0, 1} a mod 2 maradékosztályok additív csoportja ésϕ : X → Z2 az a leképezés, amelyre ϕ(a) = 1 és ϕ(b) = 0. Terjesszük ki ϕértelmezését X∗-ra homomorf módon. Az 51.12. Lemma szerintM = ϕ−1(0)unitér részfélcsoport, amelynek b + ab∗a bázisa csoportkód. Az 51.13. Tételszerint b+ ab∗a maximális kód.

Az 51.13. Tétel miatt az alábbi lemmából következik az 51.10. Lemma:

51.15 Lemma Bármely n pozitív egész számra Xn csoportkód.

Bizonyítás. Legyen Zn a mod n maradékosztályok additív csoportja. Te-kintsük azt a ϕ : X∗ → Zn homomorfizmust, amelyre minden p ∈ X∗ eseténϕ(p) = k akkor és csak akkor, ha k ≡ |p| (mod n). Nem nehéz belátni, hogy(Xn)∗ = ϕ−1(0). �

Feladat51.1. Az L =

∑∞n=0 a

nb(a+ b)n nyelv maximális kód az X = {a, b} ábécé felett.

52. Teljes kódokAz 51.1. Lemma szerint minden kód részhalmaza egy maximális kódnak,ezért a kódelméletben alapvető feladat a maximális kódok szerkezetének vizs-gálata. A vizsgálatokban fontos szerepük van a szabad monoidok ideáljainak.

Az X feletti L nyelvet sűrű nek nevezzük X felett, ha X∗ minden J 6= ∅ideáljára L ∩ J 6= ∅, más szóval, ha

(52.1) (∀p ∈ X∗)(L ∩X∗pX∗ 6= ∅).

A továbbiakban is, ha ugyanazon X halmaz feletti nyelvekről lesz szó,akkor az "X feletti" kifejezést az egyszerűség kedvéért elhagyjuk.

Ha az L nyelv L∗ iteráltja sűrű, akkor L-et teljesnek hívjuk. Minden sűrűnyelv teljes. A definícióból látható, hogy ha L sűrű [teljes] és L ⊆ L′ ⊆ X∗,akkor L′ is sűrű [teljes]. A nemsűrű nyelveket ritka nyelveknek is nevezzük.Ritka nyelv minden résznyelve is ritka. Ha egy C kód sűrű [teljes, ritka]nyelv, akkor C-t sűrű [teljes, ritka] kódnak mondjuk.

Ha |X| = 1, akkor az X feletti véges nyelvek a ritka, a végtelen nyelvekpedig a sűrű nyelvek. Az X+ minden nemüres részhalmaza teljes, mivel X∗végtelen részmonoidját generálja. Az 51.2. Tételből közvetlenül adódik a

52.1 Lemma Minden maximális kód teljes kód.

442

Page 443: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

52.2 Lemma Az L és K nyelvekre L+K akkor és csak akkor ritka, ha L ésK is ritka. Ha L és K ritka, akkor LK is ritka. Ha L sűrű és K ritka, akkorL−K sűrű.

Bizonyítás. Mivel ritka nyelv minden résznyelve is ritka, ezért, ha L + Kritka, akkor L és K is ritka.

Ha L ésK ritka, akkor vannak olyan p, q ∈ X+, amelyekre L∩X∗pX∗ = ∅és K ∩X∗qX∗ = ∅. Így

(L+K) ∩X∗pqX∗ = (L ∩X∗pqX∗) + (K ∩X∗pqX∗) ⊆

⊆ (L ∩X∗pX∗) + (K ∩X∗qX∗) = ∅,azaz L + K is ritka. Továbbá LK ∩ X∗pqX∗ = ∅, azaz LK is ritka. Haugyanis LK ∩X∗pqX∗ 6= ∅, akkor L ∩X∗pX∗ 6= ∅ vagy X∗qX∗ ∩K 6= ∅.

Ha L sűrű és K ritka, akkor L−K nem lehet ritka, mert akkor az előzőekszerint L = (L−K) +K is ritka lenne. �

52.3 Következmény Minden korlátos nyelv ritka.

Bizonyítás. Legyen L korlátos nyelv és k olyan nemnegatív egész szám,hogy minden L-beli szó hossza legfeljebb k. Ha p ∈ X l (l > k), akkorL ∩X∗pX∗ = ∅, azaz L ritka. �

52.4 Lemma Ha L egy Z halmaz feletti nyelv és Z ⊂ X, akkor L ritkanyelv X felett.

Bizonyítás. Ha x ∈ X − Z, akkor L ∩ X∗xX∗ = ∅, azaz L ritka nyelv Xfelett. �

Az 52.3. Következmény szerint minden véges nyelv ritka. A következőpélda segítségével megmutatjuk, hogy az 52.1. Lemma megfordítása nemigaz.

52.5 Példa Legyen X = {a, b} és M = {p ∈ X∗; |p|a = |p|b}.Nem nehéz belátni, hogyM azX∗-nak unitér részmonoidja. A 49.9. Tétel

szerint azM monoidD = (M−e)−(M−e)2 bázisa bifix kód. AzX∗ elemei azak1bl1 . . . akmblm alakú szavak, amelyekben k1, l1, . . . km, lm nemnegatív egészszámok (a0 = b0 = e). EzértD azoknak az ak1bl1 . . . akmblm és bk1al1 . . . bkmalmszavaknak a halmaza, amelyekben

k1 + · · ·+ km = l1 + · · ·+ lm (k1, l1, . . . km, lm ∈ N+),

és m > 1 esetben

k1 + · · ·+ kj > l1 + · · ·+ lj (j = 1, . . . ,m− 1).

443

Page 444: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha p ∈ X+, akkor q = a2|p|bpb|p| ∈M = D∗. Ezenkívül q-nak nincs valódikezdőszelete D+-ból, így q ∈ D. Ami éppen azt jelenti, hogy D sűrű kód.

Az 52.5 Példában definiált D kódot (bináris) Dyck kódnak nevezzük. (A36.7. fejezetben definiált Dyck nyelv n = 2 esetben M résznyelve.) Mivel aDyck kód sűrű kód, ezért teljes is. Legyen p ∈ D. Az 52.2. Lemma és az 52.3.Következmény szerint D − p is sűrű, s így teljes kód. A D − p azonban nemmaximális kód. Ez azt jelenti, hogy az 52.1. Lemma állítása nem fordíthatómeg. A Dyck kód csoportkód, ezért az 51.13. Tétel szerint maximális kód.A következőképpen láthatjuk be, hogy a Dyck kód csoportkód:

Legyen Z az egész számok additív csoportja. Definiáljuk a ϕ : X∗ → Zleképezést a ϕ(p) = |p|a − |p|b összefüggéssel (ϕ(a) = 1, ϕ(b) = −1). Nemnehéz megmutatni, hogy ϕ az X∗ szabad monoid homomorf leképezése Z-reés M = ϕ−1(0).

A következő állítás alapján azt mondhatjuk, hogy a ritka nyelvek "kevés"szót tartalmaznak.

52.6 Lemma Ha az X halmaz π pozitív Bernoulli mértéke és L ritka nyelvX felett, akkor

(52.3) π(L) <∞.

Bizonyítás. Legyen p ∈ X+ olyan, amelyre L ∩ X∗pX∗ = ∅ és |p| = n.Tekintsük az

Lj = {q ∈ L; |q| = kn+ j, k ∈ N} (j = 0, 1, . . . , n− 1)

halmazokat. Mivel L =∑n−1

j=0 Lj, elegendő megmutatni, hogy

π(Lj) <∞ (j = 0, 1, . . . , n− 1).

A p definíciója miattLj ⊆ Xj(Xn − p)∗.

De Xn − p kód, ezért (50.11) miatt

π((Xn − p)∗) =∞∑k=0

(π(Xn − p))k =∞∑k=0

(1− π(p))k =1

π(p),

s így (50.7) és az 50.1. Lemma szerint

π(Lj) ≤ π(Xj(Xn − p)∗) ≤ π(Xj)π((Xn − p)∗) =

= π((Xn − p)∗) =1

π(p)<∞.�

444

Page 445: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

52.7 Lemma Ha π az X halmaz pozitív Bernoulli mértéke, L pedig teljesritka nyelv, akkor

(52.2) π(L) ≥ 1.

Bizonyítás. Mivel L ritka, ezért van olyan p ∈ X+, hogy L∩X∗pX∗ = ∅. DeL teljes, így minden q ∈ X∗ szóra L∗∩X∗pqpX∗ 6= ∅, azaz valamely u, v ∈ X∗szavakra upqpv ∈ L∗. Jelölje Kp a p szó valódi r 6= e kezdőszeleteinek, Zppedig valódi t 6= e zárószeleteinek halmazát. Az L ∩ X∗pX∗ = ∅ feltételmiatt nincs olyan L-beli szó, amelynek p részszava lenne. Ezért van olyan(r, t) ∈ Kp × Zp, hogy tqr ∈ L∗. Legyen

Lr,t = {q ∈ X∗; tqr ∈ L∗} ((r, t) ∈ Kp × Zp).

Nyilvánvaló, hogyX∗ =

∑(r,t)∈Kp×Zp

Lr,t.

Az 50.1. Lemmából következik, hogy π(X∗) = ∞. A Kp × Zp halmazvégessége és (50.5) miatt van olyan (r, t) ∈ Kp × Zp, amelyre π(Lr,t) = ∞.Ebből (50.2) és (50.4) miatt

π(t)π(Lr,t)π(r) = π(tLr,tr) ≤ π(L∗).

Minthogy π pozitív Bernoulli mérték, ezért π(r), π(t) 6= 0. Ami azt jelenti,hogy π(L∗) =∞. Továbbá (50.9) szerint

π(L∗) = π(∞∑k=0

Lk) ≤∞∑k=0

π(Lk) ≤∞∑k=0

π(L)k.

Ebből pedig π(L) ≥ 1 adódik. (A π(L) < 1 esetben az előbbi mértani sorvéges.) �

Ritka kódokra érvényesek az 51.3. Tétel és az 52.1. Lemma megfordításai:

52.8 Tétel Az X halmaz feletti C ritka kódra a következő állítások ekviva-lensek:(1) C maximális kód X felett;(2) C teljes kód X felett;(3) Az X bármely π pozitív Bernoulli mértékére π(C) = 1.(4) X-nek van olyan π pozitív Bernoulli mértéke, amelyre π(C) = 1.

Bizonyítás. (1) =⇒ (2): Ha a C ritka kód maximális kód X felett, akkoraz 52.1. Lemma szerint C teljes kód X felett.

445

Page 446: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(2) =⇒ (3): Ha C ritka kód teljes kód X felett, akkor az 50.3. Tétel ésaz 52.7. Lemma szerint az X bármely pozitív Bernoulli mértékére π(C) = 1.A (3) feltételből triviálisan következik (4).

(4) =⇒ (1): Ha π az X halmaz pozitív Bernoulli mértékére π(C) = 1,akkor az 51.3. Tételből következik, hogy C maximális kód X felett. �

Az 52.8. Tétel, legalábbis véges esetre, egy meglepően egyszerű algorit-must ad annak eldöntésére, hogy egy ritka kód maximális kód vagy nem.Elegendő X egy π pozitív Bernoulli mértékét tekinteni, s megvizsgálni, hogyπ(C) = 1 vagy π(C) 6= 1. Sűrű kódokra ez az eljárás nem jó. Az 52.5. Példá-ban megmutattuk, hogy a bináris Dyck kód sűrű, s így teljes kód. Beláttukazt is, hogy csoportkód, s ezért maximális kód. Megmutatható, hogy csak azuniform mértéke 1.

Az 52.8. Tételből az is következik, hogy egy teljes ritka nyelv akkor éscsak akkor kód, ha maximális kód. A következő tétel segítségével teljes ritkanyelvekről dönthetjük el, hogy maximális kódok vagy nem kódok.

52.9 Tétel Legyen π az X halmaz pozitív Bernoulli mértéke. Az X felettiL teljes ritka nyelv akkor és csak akkor kód X felett, ha π(L) = 1.

Bizonyítás. Ha L kód, akkor az 52.8. Tétel szerint π(L) = 1.Megfordítva, tegyük fel, hogy π(L) = 1. Először megmutatjuk, hogy

minden n pozitív egész számra Ln teljes ritka nyelv. Az 52.2. Lemma szerintLn ritka nyelv. Mivel L teljes, ezért bármely p ∈ X∗ elemre vannak olyanu, v ∈ X∗, hogy upv ∈ L∗. Akkor upv ∈ Lk valamilyen k nemnegatív egészszámra. Így

(upv)n ∈ (Lk)n = (Ln)k ⊂ (Ln)∗,

azaz (Ln)∗ ∩X∗pX∗ 6= ∅, vagyis Ln teljes nyelv. Az (50.8) egyenlőtlenség ésaz 52.7. Lemma szerint π(Ln) = 1. Tehát minden n pozitív egész számraπ(Ln) = 1 = (π(L))n, ez az 50.2. Lemma szerint azt jelenti, hogy L kód. �

52.10 Példa Az a∗b nyelv teljes ritka kód {a, b} felett.Az ugyanis nyilvánvaló, hogy a∗b prefix kód. Például

a∗b ∩ {a, b}∗ba{a, b}∗ = ∅,

ezért a∗b ritka kód. Ha π(a) = r, π(b) = 1− r (0 < r < 1), akkor π(a∗b) = 1.Az 52.8. Tétel szerint a∗b valóban teljes kód.

52.11 Tétel Egy kód akkor és csak akkor teljes kód, ha sűrű vagy maximáliskód.

446

Page 447: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen C egy kód az X felett. Tegyük fel, hogy C teljes kód.Ha C ritka kód, akkor az 52.8. Tétel szerint maximális kód X felett.

Megfordítva, ha C sűrű kód, akkor teljes kód is, ha pedig maximális kód,akkor az 52.1. Lemma szerint teljes kód. �

52.12 Tétel Ha C korlátos maximális kód az X ábécé felett, akkor X bár-mely Z 6= ∅ részhalmazára C ∩ Z+ maximális kód Z felett.

Bizonyítás. Az 52.3. Következmény szerint minden korlátos kód ritka kód,így az 52.8. Tétel miatt elegendő megmutatni, hogy C ∩ Z+ teljes kód Zfelett. Legyen n olyan pozitív egész szám, hogy minden q ∈ C kódszóra|q| ≤ n. Tegyük fel, hogy p ∈ Z+ és z ∈ Z. Tekintsük a zn+1pzn+1 szót. Az52.8. Tétel szerint C teljes, ezért vannak olyan u, v ∈ X∗ és q1, . . . , qk ∈ C,amelyekre

uzn+1pzn+1v = q1 . . . qk.

Az n definíciója miatt léteznek olyan i, j (1 ≤ i < j ≤ k) pozitív egészszámok, amelyekre

zrpzt = qi . . . qj

valamely r, t (1 ≤ r, t ≤ n) pozitív egész számokra. Ez pedig azt jelenti, hogyqi, . . . , qj ∈ C ∩ Z+, azaz C ∩ Z+ teljes kód. �

52.13 Következmény Ha C korlátos maximális kód az X halmaz felett,akkor bármely x ∈ X betűhöz egyetlen olyan n pozitív egész szám van,amelyre xn ∈ C.

Bizonyítás. Alkalmazzuk az 52.12. Tételt a Z = {x} esetre. Akkor Z+ =x+, így van olyan n pozitív egész szám, amelyre xn ∈ C. Mivel C kód, ezértegyetlen ilyen pozitív egész szám van. �

Az 52.13. Következményben szereplő n-et az x betű C-re vonatkoztatottrendjének nevezzük.

Az X feletti L nyelvet jobbról [balról ] sűrűnek nevezzük (X felett), ha X∗bármely J 6= ∅ jobb [bal] ideáljára L ∩ J 6= ∅, vagyis ha

(52.4) (∀p ∈ X∗)(L ∩ pX∗ 6= ∅, [L ∩X∗p 6= ∅]).

Az X∗ szabad monoid minden nemüres bal [jobb] ideálja jobbról [balról] sűrűX felett. (Az X∗ bármely L bal ideáljára ésM jobb ideáljáraML ⊆ L∩M .)

Ha az L nyelv L∗ iteráltja jobbról [balról] sűrű, akkor L-et jobbról [balról ]teljesnek hívjuk. Minden jobbról [balról] sűrű nyelv jobbról [balról] teljes.Ha L jobbról [balról] sűrű [teljes] és L ⊆ L′ ⊆ X∗, akkor L′ is jobbról [balról]sűrű [teljes]. Továbbá minden jobbról vagy balról sűrű [teljes] nyelv sűrű[teljes].

447

Page 448: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A nem jobbról [balról] sűrű nyelveket jobbról [balról ] ritka nyelvekneknevezzük. Jobbról [balról] ritka nyelv minden résznyelve is jobbról [balról]ritka. Minden ritka nyelv jobbról és balról ritka. Hasonlóan beszélünk jobbrólvagy balról sűrű [teljes, ritka] kódokról. A teljes kódok egy részosztályátalkotják a jobbról [balról] teljes kódok.

52.14 Tétel Legyen L tetszőleges nyelv X felett és L [L] az L-beli elemekvalódi kezdőszeleteinek [zárószeleteinek] halmaza. A következő állítások ek-vivalensek:(1) L jobbról [balról] teljes nyelv;(2) X∗ = L+ LX∗ [X∗ = L+X∗L];(3) X∗ = L∗L [X∗ = LL∗];(4) LX∗ [X∗L] jobbról [balról] sűrű nyelv X felett, azaz minden p ∈ X∗

szóhoz vannak olyan u, v ∈ X∗ és q ∈ L szavak, amelyekre pu = qv [up = vq].

Bizonyítás. (1) =⇒ (3): Tegyük fel, hogy L jobbról teljes nyelv. Legyenp ∈ X∗. Ha p ∈ L∗, akkor p = pe ∈ L∗L. Legyen p /∈ L∗. Mivel Ljobbról teljes, ezért van olyan u ∈ X+, hogy pu ∈ L∗. De pu 6= e, ígypu ∈ L+. Ha pu ∈ L, akkor p ∈ L, amiből p = ep ∈ L∗L. Tegyük fel most,hogy pu = q1 . . . qn (q1, . . . , qn ∈ L, n > 1). Két lehetőség van, mégpedig,p = q1 . . . qkt, qk+1 = ts (t, s ∈ X+, k ≥ 1) vagy q1 = pt (t ∈ X+). Azelső esetben t ∈ L, s így p ∈ L∗L. A második esetben p ∈ L, s innenp = ep ∈ L∗L. Ez bizonyítja, hogy X∗ = L∗L.

(3) =⇒ (1): Legyen X∗ = L∗L. Ha p = e, akkor LX∗ ∩ pX∗ = LX∗ 6= ∅.Ha p ∈ X+, akkor p = uv (u ∈ L∗, v ∈ L). Így van olyan t ∈ X+, amelyrevt ∈ L. Amiből pt = uvt ∈ L+, vagyis L∗ ∩ pX∗ 6= ∅. Ami éppen azt jelenti,hogy L jobbról teljes.

(2) =⇒ (4): Tegyük fel, hogy X∗ = L+LX∗. Így ha p ∈ X∗, akkor p ∈ Lvagy p ∈ LX∗, ezért vannak olyan u, v ∈ X∗ és q ∈ L, hogy pu = qv. ÍgypX∗ ∩ LX∗ 6= ∅, azaz (52.4) szerint LX∗ jobbról sűrű.

(4) =⇒ (2): Legyen LX∗ jobbról sűrű nyelv. Így bármely p ∈ X∗ szórapX∗ ∩ LX∗ 6= ∅, azaz vannak olyan u, v ∈ X∗ és q ∈ L, hogy pu = qv, azazp ∈ L vagy p ∈ LX∗. Tehát X∗ = L+ LX∗.

(1) =⇒ (4): Tegyük fel, hogy L jobbról teljes. Ha p = e, akkor LX∗ ∩pX∗ = LX∗ 6= ∅. Ha p ∈ X+, akkor

∅ 6= L∗ ∩ pX∗ = L+ ∩ pX∗ ⊆ LX∗ ∩ pX∗,

vagyis LX∗ jobbról sűrű.(4) =⇒ (1): Tegyük fel, hogy LX∗ jobbról sűrű. Legyen p ∈ X∗. Ha

p ∈ L + L, akkor pu ∈ L valamilyen u ∈ X∗ szóra. Máskülönben, (2)szerint, p ∈ LX+. Így p = qr valamely q ∈ L és r ∈ X+ szóra. Mivel

448

Page 449: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

|r| < |p|, folytatva az eljárást p helyett r-rel, véges számú lépésben elérjük,hogy ru ∈ L∗ valmilyen u ∈ X∗ szóra. Amiből kapjuk, hogy L∗ ∩ pX∗ 6= ∅,azaz L jobbról teljes.

Az állítások zárószeletekre hasonlóan bizonyíthatók. �

Feladat52.1. A 37.2. feladatban szereplő Lk nyelv bármely k pozitív egész számra az{a, b}∗ szabad monoid unitér részmonoidja, amelynek bázisa sűrű csoportkód {a, b}felett. (A feladat az 52.5. Példa egy általánosítása.)

53. Prefix kódokA prefix [szuffix, bifix] kódok fogalmát már megadtuk a 49. fejezetben(l.(49.5)). Legyen K-kódoknak egy osztálya, például a prefix, a szuffix, abifix vagy a véges kódok osztálya. Ha ϕ az Y halmaz kódolása egy K-kódra,akkor azt mondjuk, hogy ϕ egy K-kódolás. Így beszélhetünk prefix, szuffix,bifix vagy véges kódolásról. Hasonlóan beszélhetünk K-átkódolásról is.

53.1 Lemma Legyen lk (k ∈ I) pozitív egész számok egy sorozata. Ha azm > 1 pozitív egész számra teljesül a

(53.1)∑k∈I

m−lk ≤ 1

feltétel, akkor van olyan m elemű ábécé feletti C = {pk; k ∈ I} prefix [szuffix]kód, amelyre |pk| = lk (k ∈ I).

Bizonyítás. Az általánosság megszorítása nélkül feltehetjük, hogy lk ≤lk+1 (k ∈ I). Tekintsük az r1 = 0 és az rk =

∑k−1j=1 m

−lj (k > 1) racionálisszámokat. A

∑k∈I

m−lk ≤ 1 egyenlőtlenség miatt 0 ≤ rk < 1 és valamennyi

rk (k ∈ I) egyféleképpen írható fel rk =∑lk

j=1 akjm−j alakban, ahol 0 ≤

akj < m. Ha s > k, akkor rs ≥ rk +m−lk , ezért

D = {pk = ak1 . . . aklk ; k ∈ I}

prefix kód a {0, 1, . . . ,m−1} halmaz felett és |pk| = lk (k ∈ I). (Az ak1 . . . aklkkódszó az rk számm-edes tört alakban való felírásánál a törtrész első lk jegyétjelenti.) A D prefix kód tükörképe nyilván egy megfelelő szuffix kód.�

Pozitív egész számokl1 ≤ l2 ≤ · · · ≤ ln

449

Page 450: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

véges sorozatához mindig van olyan m > 1 egész szám, amely teljesíti az(53.1) feltételt. Ha ugyanis l1

√n ≤ m, akkor

n∑j=1

m−lj ≤ nm−l1 ≤ 1.

Szigorúan monoton növekvő

l1 < l2 < · · · < ln < . . .

sorozathoz már m = 2 is teljesíti az (53.1) feltételt, mivel

∞∑j=1

2−lj ≤∞∑j=1

2−j = 1.

53.2 Példa Az 53.1. Lemma bizonyításában leírt algoritmussal megadunkhárom kettő hosszúságú és öt négy hosszúságú szóból álló prefix kódot.

Az m = 3 a legkisebb olyan pozitív egész szám, amely teljesíti az (53.1)feltételt. Az 53.1. Lemma bizonyításában szereplő jelöléseket használva:

r1 = 0, r2 = 1 · 3−2, r3 = 2 · 3−2, r4 = 1 · 3−1,

r5 = 1 · 3−1 + 1 · 3−4, r6 = 1 · 3−1 + 2 · 3−4,

r7 = 1 · 3−1 + 1 · 3−3, r8 = 1 · 3−1 + 1 · 3−3 + 1 · 3−4,

amibőlp1 = 00, p2 = 01, p3 = 02, p4 = 1000,

p5 = 1001, p6 = 1002, p7 = 1010, p8 = 1011.

53.3 Tétel Legyen m > 1 tetszőleges egész szám. Ha a C = {qk; k ∈ I}megszámlálható kódra ∑

k∈I

m−|qk| ≤ 1

feltétel teljesül, akkor C-nek létezik m elemű ábécé feletti prefix [szuffix]szóhossztartó átkódolása. Speciálisan, minden m elemű ábécé feletti kódnaklétezik m elemű ábécé feletti prefix [szuffix] szóhossztartó átkódolása.

Bizonyítás. A bizonyítást csak prefix kódokra végezzük el. Mivel a sza-vak tükrözése szóhossztartó átkódolás, ezért ebből már következik az állításszuffix kódokra. Vezessük be a |qk| = lk (k ∈ I) jelölést. Feltehető, hogylk ≤ lk+1 (k ∈ I). Tekintsük az 53.1. Lemma bizonyításában megadott Dprefix kódot. A ϕ(qk) = pk (k ∈ I) leképezés C szóhossztartó átkódolása

450

Page 451: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

D-re. Ha C egy m elemű ábécé feletti kód, akkor a Szilárd–Kraft–McMillanegyenlőtlenség szerint

∑k∈I

m−lk ≤ 1 teljesül. �

Megszámlálható kódnak mindig van bináris prefix átkódolása. Legyenugyanis C = {pk; k ∈ I} megszámlálható kód. A D = a∗b nyelv prefixkód az {a, b} kételemű ábécé felett. A ϕ(pk) = ak−1b (k ∈ N+) leképezésC átkódolása. (a0 az üres szót jelöli.) Ez azt jelenti, hogy a gyakorlatbanaz információk prefix kódokkal is továbbíthatók, s kétféle jel küldésére al-kalmas információs csatornákon is. Ez a tény alátámasztja a prefix kódokvizsgálatának fontosságát.

A további definíciókat és tételeket az egyszerűség kedvéért csak prefixkódokra adjuk meg, de az olvasó könnyen átfogalmazhatja szuffix kódokra is.A C prefix kódot maximális prefix kódnak nevezzük, ha nincs olyan D prefixkód, amelyre C ⊂ D teljesülne. Mivel a láncot alkotó prefix kódok egyesítéseis prefix kód, ezért a 51.1. Lemmához hasonló módon látható be a következőállítás.

53.4 Lemma Bármely prefix kód egy maximális prefix kód részhalmaza.

A következő tétel alapján prefix kódokra az 52.14. Tétel kiegészíthetőazzal az ekvivalens feltétellel, hogy a prefix kód maximális prefix kód.

53.5 Tétel Prefix kód akkor és csak akkor maximális prefix kód, ha jobbrólteljes.

Bizonyítás. Legyen C maximális prefix kód X felett. Bármely p ∈ X∗ szórap ∈ C vagy p ∈ CX∗, mert különben C + p szintén prefix kód lenne. Ez aztjelenti, hogy X∗ = C + CX∗. Az 52.14. Tétel (2) feltétele miatt C jobbrólteljes kód.

Megfordítva, legyen a C prefix kód jobbról teljes X felett. Tegyük fel,hogy létezik olyan D prefix kód, amelyre C ⊂ D teljesül. Legyen d ∈ D −C. Az 52.14. Tétel (3) feltétele szerint van olyan u ∈ X∗, amelyre du ∈C+, vagyis du = c1c2 . . . ck valamilyen C-beli c1, c2, . . . , ck elemekre. Ebbőlazonban d = c1 következik, ami ellentmond annak, hogy d /∈ C, azaz nemlétezik olyan D prefix kód, hogy C ⊂ D. �

A maximális uniform kódok maximális kódok, s egyúttal maximális prefixkódok is. Ez azonban minden prefix kódra igaz, mint azt az alábbi nyilvánvalóállítás mutatja.

53.6 Lemma Legyen C és D az X feletti kódok két osztálya, amelyekreC ⊆ D. Ha C ∈ C maximális D kód , akkor maximális C kód is. Speciálisan,ha egy prefix kód maximális kód, akkor maximális prefix kód.

451

Page 452: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A következő példa azt mutatja, hogy egy maximális prefix kód nem szük-ségképpen maximális kód:

53.7 Példa Legyen X = {xi; i ∈ N+} és

L = {p ∈ X+; p = xi1xi2 . . . xin , n ≥ 2, 2(i1 + i2 + · · ·+ in−1) = in}.

Megmutatjuk, hogy C = L − LX+ olyan bifix kód, amely maximális prefixkód, de nem maximális szuffix kód, s így nem maximális kód.

Mivel bármely q ∈ X+ esetén a

qxi1xi2 . . . xin (xi1 , xi2 , . . . , xin ∈ X, n ≥ 2, 2(i1 + i2 + · · ·+ in−1) = in)

alakú szavak nincsenek C-ben, ezért X+C ∩C = ∅, azaz C szuffix kód, s ígybifix kód. Nem nehéz belátni, hogy C teljesíti az 52.14. Tétel (3) feltételét,vagyis az 53.5. Tétel szerint maximális prefix kód. A C definíciójából kapjuk,hogy x1 egyetlen C-beli szónak sem zárószelete, ezért C + x1 is szuffix kód.Ez pedig azt jelenti, hogy C nem maximális szuffix kód, s így nem maximáliskód.

Az előző példában X megszámlálhatóan végtelen halmaz volt. Ha tekint-jük X-nek azt a ϕ átkódolását az a+ ba∗b bináris bifix kódra, amelyre

ϕ(x1) = a, ϕ(xk) = bak−2b (k = 2, 3, . . . ),

akkor ϕ(C) maximális bináris prefix kód, de nem maximális bináris szuffixkód, s ezért nem maximális bináris kód.

53.8 Tétel Ha C prefix kód X felett és π X-nek olyan pozitív Bernoullimértéke, amelyre π(C) = 1, akkor C maximális prefix kód.

Bizonyítás. Az 51.3. Tétel szerint C maximális kód, s így az 53.6. Lemmaszerint maximális prefix kód is. �

Ritka prefix kódokra érvényes az 53.6. Lemma megfordítása:

53.9 Tétel Az X halmaz feletti C ritka prefix kód akkor és csak akkormaximális prefix kód, ha maximális kód.

Bizonyítás. Ha C maximális kód, akkor az 53.6. Lemma szerint maximálisprefix kód. Megfordítva, ha C maximális prefix kód, akkor az 53.5. Tételszerint jobbról teljes kód, s így teljes kód. Akkor az 52.8. Tétel szerint Cmaximális kód. �

Az 52.8. és az 53.9. Tételek alapján ritka prefix kódokról egyszerűena halmaz valamely pozitív Bernoulli mértéke segítségével eldönthető, hogymaximális prefix kód, s egyben maximális kód-e. Az 52.3. Következménytfelhasználva az előző tételből kapjuk az alábbi eredményt.

452

Page 453: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

53.10 Következmény Korlátos, speciálisan véges prefix kód akkor és csakakkor maximális prefix kód, ha maximális kód.

Mivel véges ábécé feletti korlátos kódok véges kódok, ezért ebből az egyen-letes eloszlás segítségével jól használható szükséges és elegendő feltételt ka-punk arra, hogy véges ábécé feletti véges prefix kód mikor maximális prefixkód.

53.11 Tétel Egym elemű ábécé feletti C = {p1, p2, . . . , pk} prefix kód akkorés csak akkor maximális prefix kód, ha

k∑i=1

m−|pi| = 1.

Most megmutatjuk, hogy egy X = {x1, x2, . . . , xm} ábécé feletti (nem-üres) prefix kód megadható egy irányított fával. Vegyük fel az irányított fagyökérpontját és jelöljük (címkézzük) meg az e üres szóval. A gyökérpont-ból indítsunk ki m irányított élt úgy, hogy balról jobbra haladva az i-edikél végpontját címkézzük meg az xi betűvel. Az i-edik irányított él végpont-ját az első szint i-edik pontjának nevezzük. Az első szint j-edik pontjából(j = 1, 2, . . . , k) ismét indítsunk m irányított élt úgy, hogy balról jobbrahaladva az i-edik él végpontját címkézzük meg az xjxi szóval. Az eljárástfolytatva a második, harmadik stb. szint pontjaiból, olyan végtelen irányított(címkézett) fához jutunk, amelyben bármely

p = xi1xi2 . . . xin (xi1 , xi2 , . . . , xin ∈ X)

szónak egy-egyértelműen megfeleltethetjük az e-ből xin-be vezető

(e, xi1), (xi1 , xi1xi2), . . . , (xi1 . . . xin−1 , xi1 . . . xin−1xin)

n hosszúságú irányított út p-vel címkézett végpontját. Az egyszerűség kedvé-ért ezt az irányított utat is p-vel jelöljük. Az így definiált (címkézett) gráfotaz X∗ szabad monoid gráfjának nevezzük.

Legyen L 6= ∅ egy X feletti nyelv. Tekintsük minden p ∈ L − e szóra ap irányított utat, amelynek a végpontját címkézzük meg p-vel. Ha e ∈ L,akkor a gyökérpontot címkézzük meg e-vel. Az így kapott irányított utakegyesítését az L nyelv gráfjának hívjuk. Például az {a, b} ábécé feletti L ={e, b, ab, ab2} nyelv gráfja:

A konstrukcióból látható, hogy ∅ ⊂ L ⊆ X+ akkor és csak akkor prefixkód, ha minden megcímkézett pontja elsőfokú, azaz olyan út vezet hozzá,amelynek csak ez a pontja van megcímkézve. Továbbá, L akkor és csakakkor maximális prefix kód, ha gráfjában a gyökérpont foka m és mindenmás címkézetlen pontjának foka m+ 1.

453

Page 454: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

���

@@@������

rrrrr

e

b

ab

ab2

16. ábra.

53.12 Példa Az {a, b} feletti C = a∗b és D = {a2, ab, b2a, b3} prefix kódokgráfjaiból leolvasható, hogy C maximális prefix kód, a D viszont nem:

���

@@

@@@

@@@@

@@@

@@@

���������

���

���

���

���

@@@

rrr rr rr

r

rrr

rr rr r r

r r

b

ab

a2b

a3b

a2 ab

b2a b3

17. ábra.

Az 51.6. Lemma azt mondta ki, hogy végtelen halmaz felett nincs végesmaximális kód. Az alábbi lemmából következik, hogy végtelen halmaz felettvéges maximális prefix kód sincs.

53.13 Lemma Ha C egy X feletti maximális prefix kód, akkor |X| ≤ |C|.

Bizonyítás. Ha C maximális prefix kód az X halmaz felett, akkor mindenx ∈ X elemhez van olyan q ∈ X∗, hogy xq ∈ C. (Ha ugyanis ez nem lenneigaz valamely x ∈ X elemre, akkor C + x is prefix kód lenne X felett.) Ezpedig azt jelenti, hogy |X| ≤ |C|. �

454

Page 455: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyenek C és D nem triviális prefix kódok. A C kódot D felett pre-fix felbonthatónak nevezzük, ha C ⊆ D+. A C nem triviális prefix kódotprefix felbonthatatlannak mondjuk, ha nincs saját magán kívül olyan nemtriviális prefix kód, amely felett C felbontható. Természetesen minden prefixfelbonthatatlan prefix kód maximális prefix kód.

Érvényesek az 51.7. és az 51.8. Tételek alábbi megfelelői prefix kódokra.A bizonyításokat nem végezzük el, mivel csak az előbbi tételek bizonyításátkell úgy megismételni, hogy kód helyett mindig prefix kódot kell tekinteni.Az 53.13. Lemma szerint végtelen halmaz felett nincsenek véges maximálisprefix kódok, ezért ezekben az állításokban véges ábécé feletti prefix kódokszerepelnek.

53.14 Lemma Ha a C nem triviális véges maximális prefix kód felbonthatóa D nem triviális prefix kód felett, akkor D is véges maximális prefix kód.

53.15 Tétel Bármely C nem triviális véges maximális prefix kód elemeiegyértelműen felbonthatók valamely véges prefix felbonthatatlan prefix kódelemeinek szorzatára.

Feladat53.1. Az X feletti nemüres C nyelv akkor és csak akkor prefix kód, ha minden Xfeletti A és B nyelvre C(A ∩B) = CA ∩ CB.

54. A prefix kódok algebrájaEbben a fejezetben értelmezett műveletek segítségével adott [maximális] pre-fix kódokból újabb [maximális] prefix kódokat állíthatunk elő.

54.1 Lemma Ha C, Dk (k ∈ I) nemüres nyelvek X felett, {Ck; k ∈ I} aC nyelv egy osztályozása és D =

∑k∈I CkDk, akkor a következő állítások

igazak:(1) Ha C prefix kód és Dk = e vagy Dk prefix kód minden k ∈ I indexre,akkor D is prefix kód.(2) Ha C maximális prefix kód és Dk = e vagy Dk maximális prefix kódminden k ∈ I indexre, akkor D is maximális prefix kód.(3) Ha D prefix kód, akkor minden k ∈ I esetén Dk = e vagy Dk prefix kód.(4) Ha C prefix kód és D maximális prefix kód, akkor C maximális prefixkód és minden k ∈ I esetén Dk = e vagy Dk maximális prefix kód.

455

Page 456: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. (1) Tegyük fel, hogy p, pu ∈ D (p ∈ X+, u ∈ X∗). Akkorp = qr és pu = q′r′ valamilyen q ∈ Ck, r ∈ Dk, q

′ ∈ Cl, r′ ∈ Dl (k, l ∈ I).

Ebből kapjuk, hogy qru = q′r′. Mivel C prefix kód, ezért q = q′, s így ru = r′

és k = l. Ha Dk = e, akkor r = r′ = e, amiből u = e. Ha pedig Dk is prefixkód, akkor r = r′ és u = e. Ez azt jelenti, hogy D prefix kód.

(2) Legyen C maximális prefix kód és Dk = e vagy Dk (k ∈ I) maximálisprefix kód. Ha p ∈ X∗, akkor az 53.5. Tétel és az 52.14. Tétel (4) feltételeszerint, vannak olyan u, v ∈ X∗ és q ∈ C, hogy pu = qv. Legyen q ∈ Ck (k ∈I). Ha Dk = e, akkor pu = (qe)v. Ha pedig Dk maximális prefix kód,akkor szintén az 53.5. Tétel és a 52.14. Tétel (2) feltétele szerint vannakolyan u′, v′ ∈ X∗ és q′ ∈ Dk, amelyekre vu′ = q′v′. Így pu = (qe)v vagyp(uu′) = (qq′)v′, amiből az 52.14. Tétel (4) feltételének újra alkalmazásávalkapjuk, hogy D maximális prefix kód.

(3) Tegyük fel, hogy Dk 6= e. Legyen r, ru ∈ Dk (k ∈ I). Bármely q ∈ Ckesetén qr, qru ∈ D. Mivel D prefix kód, ezért u = e, amiből nyerjük, hogyDk (k ∈ I) is prefix kód.

(4) Az 52.14. Tétel (4) feltétele szerint minden p ∈ X∗ szóhoz van olyanu, v ∈ X∗ és q ∈ D, hogy pu = qv. Akkor q = rt, ahol r ∈ Ck, t ∈ Dk

valamilyen k ∈ I indexre. Amiből pu = r(tv) az 52.14. Tétel (4) feltételeszerint C maximális prefix kód. Hasonlóan minden s ∈ Ck és p ∈ X∗ párhozvan olyan u, v ∈ X∗ és q ∈ D, hogy (sp)u = qv. Ugyanúgy, mint az előbbq = rt (r ∈ Ck, t ∈ Dk). De C prefix kód, ezért s = r és így pu = tv. HaDk 6= e, akkor az 53.5. Tétel szerint azt jelenti, hogy Dk maximális prefixkód. �

54.2 Tétel Legyenek C és D prefix kódok. Ha {C1, C2} a C prefix kódosztályozása, akkor C1 + C2D is prefix kód. Továbbá, C1 + C2D akkor éscsak akkor maximális prefix kód, ha C és D is maximális prefix kód.

Bizonyítás. Alkalmazzuk az 54.1. Lemmát az I = {1, 2} és a D1 = e,D2 = D esetre. �

54.3 Következmény Ha C 6= ∅, D 6= ∅ prefix kódok és c ∈ C, akkor(C − c) + cD is prefix kód. Továbbá (C − c) + cD akkor és csak akkormaximális prefix kód, ha C és D is maximális prefix kód.

Az 54.3. Következmény szerint C és D gráfjából egyszerűen úgy kapjuk(C − c) + cD gráfját, hogy D gráfját úgy vesszük fel, hogy gyökérpontjaegyezzen meg C gráfjának c-vel címkézett pontjával, s az így kapott gráfbóltöröljük a c címkét.

54.4 Következmény Ha C és D prefix kódok, akkor CD is prefix kód.

456

Page 457: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Továbbá, a C és D prefix kódokra CD akkor és csak akkor maximális prefixkód, ha C és D is maximális prefix kód.

Bizonyítás. Ha C = ∅ vagy D = ∅, akkor CD = ∅, s így prefix kód. HaC 6= ∅ és D 6= ∅, akkor alkalmazzuk az 54.1. Lemmát az |I| = 1 és C1 = C,D1 = D esetre. �

Az előbbi következmény alapján C és D gráfjából úgy kapjuk CD gráfját,hogy minden c ∈ C kódszóra D gráfját úgy vesszük fel, hogy gyökérpontjaegyezzen meg C gráfjának c-vel címkézett pontjával. Az így kapott gráfbóltöröljük a c címkét, és minden d ∈ D esetén átcímkézzük a d-vel címkézettpontot cd-re.

A 49.8. Következmény [maximális] prefix kódokra megfordítható:

54.5 Következmény Legyen C tetszőleges X feletti nyelv és n > 1 tetsző-leges pozitív egész szám. A C nyelv akkor és csak akkor [maximális] prefixkód, ha Cn is [maximális] prefix kód.

Bizonyítás. Ha C = ∅, akkor az állítás nyilvánvalóan igaz. Tegyük fel, hogyC 6= ∅. Az 54.4. Következmény alapján teljes indukcióval megmutatható,hogy ha C [maximális] prefix kód, akkor Cn is [maximális] prefix kód.

Megfordítva, ha Cn (n > 1) prefix kód, akkor Cn = Cn−1C, ezért az 54.1.Lemma (3) feltétele szerint C prefix kód. Ha speciálisan Cn maximális prefixkód, akkor a Cn = CCn−1 felbontást használva, az 54.1. Lemma (4) feltételemiatt C maximális prefix kód. �

Egy S félcsoport F nemüres részhalmazát filternek nevezzük, ha bármelys, t ∈ S elemekre st ∈ F akkor és csak akkor teljesül, ha s, t ∈ F . Mindenfilter unitér részfélcsoport. Az S félcsoport egy részfélcsoportját az S szabadrészfélcsoportjának nevezzük, ha izomorf egy szabad félcsoporttal.

Az 54.4. Következmény szerint az X feletti prefix kódok P(X) halmazaa nyelvek szorzására félcsoport, amelynek a maximális prefix kódokMP(X)halmaza filtere. A P(X)-et az X feletti prefix kódok félcsoportjának, azMP(X)-t pedig az X feletti maximális prefix kódok félcsoportjának nevez-zük. Megmutatjuk, hogy P(X) − ∅ szabad félcsoport, amelynek MP(X)szabad részfélcsoportja. Ehhez szükségünk lesz a 49.2. Lemma következő,ahhoz hasonlóan bizonyítható általánosítására.

54.6 Lemma Egy S félcsoport T részfélcsoportja akkor és csak akkor szabadrészfélcsoportja S-nek, ha van olyan C generátorrendszere, amelynek bármelys1, s1, . . . , sn, t1, t2, . . . tn elemeire

(54.1) s1s2 . . . sn = t1t2 . . . tn ⇔ s1 = t1, s2 = t2, . . . , sn = tn.

457

Page 458: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha a C 6= ∅ prefix kódhoz vannak olyan A és B prefix kódok, hogy C =AB, azaz C felbontható az A és B prefix kód szorzatára, akkor azt mondjuk,hogy C reducibilis. Ha C nem bontható fel két prefix kód szorzatára, akkorC-t irreducibilis prefix kódnak nevezzük. Például, ha C X feletti kód ésC ∩X 6= ∅, akkor C irreducibilis.

54.7 Tétel P(X)− ∅ szabad félcsoport, amelynek az X feletti irreducibilisprefix kódok halmaza a bázisa ésMP(X) szabad részfélcsoportja.

Bizonyítás. Először megmutatjuk, hogy minden nemüres prefix kód fel-bontható irreducibilis prefix kódok szorzatára, vagyis az irreducibilis kódokhalmaza P(X) egy generátorrendszere.

Legyen C 6= ∅ tetszőleges prefix kód. Ha C irreducibilis, akkor önmagá-nak egytényezős szorzata. Tegyük fel, hogy C reducibilis, azaz vannak olyanA és B prefix kódok, hogy C = AB. Jelölje általában egy D prefix kód eseténD a D legkisebb hosszúságú szavainak halmazát. Nyilvánvalóan D uniformkód. Nem nehéz belátni, hogy C = A B és az A és B uniform kódokban aszavak hossza kisebb, mint az C uniform kód szavainak hossza. Ha A vagyB nem irreducibilis, akkor tovább bonthatók prefix kódok szorzatára. Dea kapott prefix kódok legkisebb hosszúságú szavainak hossza csökken, ezértvéges számú lépésben megkapjuk C irreducibilis prefix kódok szorzatára valóbontását.

Másodszor k szerinti teljes indukcióval megmutatjuk, hogy irreducibilisprefix kódokra

A1A2 . . . Ak = B1B2 . . . Bk =⇒ A1 = B1, A2 = B2, . . . , Ak = Bk.

Ebből, az 54.6. Lemmát felhasználva következik, hogy P (X) − ∅ szabadfélcsoport és bázisa az irreducibilis prefix kódok halmaza.

Ha k = 1, akkor az állítás nyilvánvalóan teljesül. Tegyük fel, hogy azállítás igaz (1 ≤)k − 1 pozitív egész számra. Legyen

A1A2 . . . Ak = B1B2 . . . Bk

az Aj, Bj (j = 1, 2, . . . , k) irreducibilis prefix kódokra. Az 54.4. Következ-mény szerint A = A1A2 . . . Ak−1 és B = B1B2 . . . Bk−1 is prefix kódok. Azáltalánosság megszorítása nélkül feltehetjük, hogy ha a ∈ A és b ∈ B, akkor|a| ≤ |b|. Definiáljuk A tetszőleges a elemére az

Ua = {u ∈ X∗; au ∈ B}

halmazt. Ha Ua 6= e, akkor prefix kód. Legyenek ugyanis u ∈ X+ és v ∈ X∗olyanok, amelyekre u, uv ∈ Ua, azaz au, auv ∈ B. Mivel B prefix kód, ezértv = e, ami azt jelenti, hogy Ua is prefix kód.

458

Page 459: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tegyük fel, hogy Ua 6= e. Legyen u ∈ Ua és bk ∈ Bk. Mivel BBk = AAk,ezért van olyan a′ ∈ A és ak ∈ Ak, hogy aubk = a′ak. De A prefix kód,ezért a = a′ és ubk = ak. Amiből UaBk ⊆ Ak adódik. Az AAk = BBk

feltételből az is következik, hogy minden ak ∈ Ak elemhez van olyan b ∈ Bés bk ∈ Bk, hogy aak = bbk. Az |a| ≤ |b| feltevés miatt van olyan u ∈ Ua,amelyre b = au. Így aak = aubk, azaz ak = ubk. Ezek szerint Ak ⊆ UaBk,s így Ak = UaBk. Ez azonban lehetetlen, mivel Ak irreducibilis prefix kód.Ezért Ua = e, Ak = Bk és AAk = BAk.

Megmutatjuk, hogy A = B. Legyen ak ∈ Ak. Ha c ∈ A, akkor van olyanb ∈ B és d ∈ Ak, hogy cak = bd. Mivel ak ∈ Ak, ezért d = vak (v ∈ X∗),amiből c = bv. Hasonlóan kapható, hogy bak = a′d′ (a′ ∈ A, d′ ∈ Ak), azazb = a′v′ (v′ ∈ X∗). Tehát c = bv = a′v′v. Minthogy A prefix kód, ezért c = a′

és v′ = v = e, azaz c = b. Ez pedig azt jelenti, hogy A ⊆ B. Hasonlóanlátható, hogy B ⊆ A, vagyis

A1A2 . . . Ak−1 = A = B = B1B2 . . . Bk−1.

Az indukciós feltevés miatt A1 = B1, . . . , Ak−1 = Bk−1.Végül, mivel az 54.4. Következmény szerint maximális prefix kód csak

maximális prefix kódok szorzatára bontható, minden maximális prefix kódirreducibilis prefix kódokra való felbontásában csak maximális prefix kódokszerepelnek. Ez azt jelenti, hogy MP(X) is szabad félcsoport. (MP(X)bázisa a irreducibilis maximális prefix kódok halmaza.) �

Az 54.6. Lemma és az 54.7. Tétel szerint a nyelvek szorzására az X felet-ti prefix kódok halmaza az X feletti nyelvek szabad részfélcsoportja. A 34.fejezetben láttuk, hogy az X feletti nyelvek a nyelvek összeadására és szorzá-sára félgyűrűt alkotnak. A prefix kódok halmaza azonban nem részfélgyűrűjeennek a félgyűrűnek, mivel nem zárt az összeadásra.

Az 54.7. Tételből közvetlenül adódik az alábbi állítás. (Az ∅ prefix kódraaz állítás üresen teljesül.)

54.8 Következmény Minden [maximális] prefix kód egyértelműen bontha-tó fel irreducibilis [maximális] prefix kódok szorzatára.

54.9 Lemma Legyen C prefix kód X felett, C a C-beli elemek valódi kez-dőszeleteinek halmaza és Q(⊆ C) prefix kód X felett. Bármely q ∈ C kez-dőszeletre Cq = {r ∈ X+; qr ∈ C} és DQ = Q + (C −

∑q∈Q qCq) szintén

prefix kódok X felett. Továbbá, ha C maximális prefix kód, akkor Cq és DQ

is maximális prefix kódok.

Bizonyítás. Ha r, ru ∈ Cq (r ∈ X+, u ∈ X∗), akkor qr, qru ∈ C. Mivel Cprefix kód, ezért u = e. Ez pedig azt jelenti, hogy Cq is prefix kód.

459

Page 460: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Prefix kód minden részhalmaza is prefix kód, ezért C −∑

q∈Q qCq prefixkód. Ez utóbbi prefix kód elemeinek kezdőszeletei között nincs Q-beli elem,így DQ is prefix kód.

Legyen C maximális prefix kód. Tegyük fel ennek ellenére, hogy Cq (q ∈C) nem maximális prefix kód. Akkor van olyan t ∈ X+, hogy t /∈ Cq ésCq + t prefix kód. Mivel t /∈ Cq, ezért qt /∈ C. Ha qt ∈ C, akkor van olyanv ∈ X+, hogy qtv ∈ C, azaz tv ∈ Cq. Ez azonban lehetetlen, mert Cq + tprefix kód. Akkor az 52.14. és az 53.5. Tételek szerint qt ∈ CX+, azazqt = qt1t2 (t1, t2 ∈ X+) és qt1 ∈ C. Ebből pedig t1 ∈ Cq adódik. Ez semlehetséges, mert Cq + t prefix kód és t1 kezdőszelete t-nek. Kaptuk tehát,hogy Cq maximális prefix kód.

Legyen továbbra is C maximális prefix kód. Tegyük fel, hogyDQ (Q ⊆ C)nem maximális prefix kód. Akkor van olyan t ∈ X+, hogy t /∈ DQ és DQ + tprefix kód. Ha t ∈ C, akkor van olyan v ∈ X+, hogy tv ∈ C. A t /∈ DQ

feltétel miatt t /∈ Q, ezért tv ∈ C −∑

q∈Q qCq. Ez ellentmond annak, hogyDQ + t prefix kód. Ezért az 52.14. és az 53.5. Tételek szerint t ∈ CX∗, azazt = uv (u ∈ C, v ∈ X∗). Mivel DQ+ t prefix kód, így u /∈

∑q∈Q qCq. Amiből

u ∈ C −∑

q∈Q qCq, ami szintén lehetetlen. Vagyis DQ maximális prefix kód.�

54.10 Következmény Ha C [maximális] prefix kód, akkor bármely q ∈C − e kezdőszeletre Dq = (C − qCq) + q is [maximális] prefix kód.

Az 54.9. Lemmából prefix kódokra (50.12)-nél erősebb szükséges feltételadódik:

54.11 Következmény Ha π az X halmaz egy Bernoulli mértéke és C prefixkód X felett, akkor

π(C) ≤∑

x∈(C+C)∩X

π(x).

* Bizonyítás. Mivel {xCx;x ∈ C ∩X} a C−X prefix kód osztályozása, így(50.2), (50.4), (50.6) és (50.12) miatt

π(C) = π(∑

x∈C∩X

x+∑

x∈C∩X

xCx) =∑

x∈C∩X

π(x) +∑

x∈C∩X

π(x)π(Cx) ≤

≤∑

x∈C∩X

π(x) +∑

x∈C∩X

π(x) =∑

x∈(C+C)∩X

π(x).�

Az 54.11. Lemma bizonyítása szerint, ha C maximális prefix kód, akkor∑x∈(C+C)∩X

π(x) =∑x∈X

π(x) = π(X) = 1,

460

Page 461: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz visszakapjuk az (50.12) feltételt.

54.12 Következmény Ha π az X halmaz egy Bernoulli mértéke, C és Q(⊆C) prefix kódok X felett, akkor

π(C) ≤ π(DQ).

Bizonyítás. Az 54.9. Lemmát és az (50.2), (50.4), (50.5), (50.6) és (50.12)összefüggéseket használva

π(DQ) = π(Q) + π(C)− π(∑q∈Q

qCq) ≥ π(Q) + π(C)−∑q∈Q

π(qCq) =

= π(Q) + π(C)−∑q∈Q

π(q)π(Cq) ≥ π(Q) + π(C)−∑q∈Q

π(q) = π(C).�

Legyen π az X halmaz egy Bernoulli mértéke. Az X feletti L nyelv (πszerinti) átlagos hosszának nevezzük a

(54.2) d(L) =∑p∈L

|p|π(p)

valós számot. Ha d(L) = ∞, akkor azt mondjuk, hogy L átlagos hosszavégtelen.

54.13 Tétel Legyen C prefix kód az X halmaz felett. Ha az X halmazπ pozitív Bernoulli mértékére π(C) = 1, akkor d(C) = π(C). Ha C ritkamaximális prefix kódX felett, akkorX bármely π pozitív Bernoulli mértékéred(C) <∞.

Bizonyítás. A bizonyítás során az 54.9. Lemma jelöléseit használjuk. Elő-ször megmutatjuk, hogy minden q ∈ C kezdő szeletre π(qCq) = π(q). MivelCe = C, ezért q = e esetben az állítás (50.3)-ból következik. Tegyük fel,hogy q 6= e. Az 54.9. Lemma szerint Cq prefix kód, ezért (50.2)-t, (50.4)-etés (50.12)-t is felhasználva,

π(qCq) = π(q)π(Cq) ≤ π(q).

Az 54.10. Következmény szerint Dq = (C − qCq) + q is prefix kód, ezértqCq ⊆ C miatt

1 ≥ π(Dq) = π(C)− π(qCq) + π(q) = 1− π(qCq) + π(q).

461

Page 462: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ebből π(q) ≤ π(qCq), azaz π(q) = π(qCq). (Innen még az is adódik, hogyπ(q) = π(q)π(Cq), vagyis π(Cq) = 1.) Nyilvánvaló, hogy C =

∑q∈C qCq.

Másrészt, ha x1 . . . xk ∈ C (x1, . . . , xk ∈ X), akkor π(x1 . . . xk) a

π(eCe) = π(C), π(x1Cx1), . . . , π(x1 . . . xk−1Cx1...xk−1)

összegek mindegyikében pontosan egyszer szerepel összeadandóként és másπ(qCq) (q ∈ C) összegben nem szerepel. Így

π(C) =∑q∈C

π(q) =∑q∈C

π(qCq) =∑p∈C

|p|π(p) = d(C).

Ha a C ritka maximális prefix kód X felett, akkor az 52.8. Tétel alap-ján π(C) = 1. Így a tétel első állítása szerint d(C) = π(C). De C ritkanyelv, amiből nem nehéz belátni, hogy C is ritka nyelv. A 52.6. Lemmábólkövetkezik, hogy d(C) = π(C) <∞. �

54.14 Példa Legyen X = {a, b} és 0 < r < 1 tetszőleges valós szám. Haπ(a) = 1− r és π(b) = r, akkor az a∗b prefix kód átlagos hossza 1

r.

Ugyanis a∗b = a∗, ezért

d(a∗b) = π(a∗) =∞∑k=0

π(ak) =∞∑k=0

π(a)k =∞∑k=0

(1− r)k =1

r.

54.15 Példa Ha π az X halmaz tetszőleges pozitív Bernoulli mértéke, akkorbármely pozitív egész k esetén az Xk maximális uniform kód átlagos hosszak. (Mivel Xk =

∑k−1j=0 X

j, ezért, a 50.1. Lemmát is felhasználva,

d(Xk) = π(Xk) =k−1∑j=0

π(Xj) = k.)

Feladatok54.1 A C X feletti prefix kódra és L X feletti nyelvre CL akkor és csak akkorprefix kód, ha L is prefix kód.54.2. Legyenek C1, C2, . . . Cn nemüres nyelvek X felett. Ha C1C2 . . . Cn prefixkód, akkor C2C3 . . . Cn, C3 . . . Cn, . . . , Cn−1Cn, Cn is prefix kódok. Fogalmazzukmeg az állítást szuffix kódokra is.

462

Page 463: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

55. Szemafor kódokEbben a fejezetben az X+ szabad félcsoport nemüres részhalmazai segítsé-gével adunk meg maximális prefix [szuffix] kódokat. Ezek a prefix [szuffix]kódok egy érdekes részosztályát alkotják. Az eredményeket prefix kódokraadjuk meg, szuffix kódokra való átfogalmazásuk a következő lemma mintájárakönnyen megtehető.

55.1 Lemma Legyen C prefix [szuffix] kód X felett. Az X∗ szabad monoidegy L részhalmazára LX∗ = CX∗ [X∗L = X∗C] akkor és csak akkor, haC = L− LX+ [C = L−X+L].

Bizonyítás. A bizonyítást csak prefix kódokra végezzük el. Ha C = ∅, úgyLX∗ = CX∗ akkor és csak akkor, ha L = ∅, ezért feltehetjük, hogy C 6= ∅.

Legyen C = L−LX+. Az nyilvánvaló, hogy CX∗ ⊆ LX∗. Megmutatjukhogy LX∗ ⊆ CX∗. Ha p ∈ L, akkor van olyan q ∈ C és u ∈ X∗, hogy p = qu.Ezért bármely v ∈ X∗ esetén pv = quv ∈ CX∗. Ezzel megmutattuk hogyLX∗ ⊆ CX∗. Tehát LX∗ = CX∗.

Megfordítva, tegyük fel, hogy LX∗ = CX∗. Ebből

LX+ = LX∗X = CX∗X = CX+.

Legyen p ∈ L − LX+. Akkor p = qr (q ∈ C, r ∈ X∗). Ha r 6= e, akkorp ∈ CX+ = LX+, ami lehetetlen. Ezért r = e és p = q ∈ C, vagyisL − LX+ ⊆ C. Ha p ∈ C, akkor p = qr (q ∈ L, r ∈ X∗). Hasonlóanq = st (s ∈ C, t ∈ X∗). Így p = str. Mivel C prefix kód, ezért tr = e, amibőlp = q, azaz C ⊆ L− LX+. �.

55.2 Következmény Ha az X feletti C és D prefix kódokra CX∗ = DX∗,akkor C = D.

55.3 Tétel Az X+ szabad félcsoport L részhalmazára L − LX+ akkor éscsak akkor maximális prefix kód, ha L jobbról teljes.

Bizonyítás. Az 52.14. Tétel szerint L akkor és csak akkor jobbról teljes, haLX∗ jobbról sűrű. Az 55.1. Lemma szerint LX∗ = (L − LX+)X∗. Ebbőlaz 53.5. Tételt alkalmazva kapjuk, hogy (L− LX+)X∗ akkor és csak akkorjobbról sűrű, ha L− LX+ maximális prefix kód. �.

55.4 Lemma Az X+ szabad félcsoport tetszőleges L 6= ∅ részhalmazára

(55.1) C = X∗L−X∗LX+

maximális prefix kód X felett.

463

Page 464: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Az X∗L halmaz az X∗ szabad monoid bal ideálja, következés-képpen jobbról sűrű, s így jobbról teljes. Az 55.3. Tétel szerint C maximálisprefix kód. �

Az (55.1) feltételt teljesítő C kódot (az L-hez tartozó) szemafor prefixkódnak nevezzük. Az L halmazt a C kód egy szemafor prefix halmazának,elemeit pedig C szemafor prefixeinek nevezzük. Egy uniform kód olyan sze-mafor prefix kód, amely saját magának szemafor prefix halmaza.

A szemafor prefix kódok szemafor prefixre végződnek, de nincs olyan va-lódi prefixük, amely szintén szemafor prefixre végződne. Szemafor prefixkódszavakkal kódolt szöveg könnyebb dekódolást tesz lehetővé, balról jobbraolvasva a szöveget a szemafor prefixek mintegy elválasztják a kódszavakategymástól.

Az 55.4. Lemmát szuffix kódokra átfogalmazva kapjuk, hogy az X+ sza-bad félcsoport tetszőleges L 6= ∅ részhalmazára

(55.2) C = LX∗ −X+LX∗

maximális szuffix kód X felett. Az (55.2) feltételt teljesítő kódot (az L-heztartozó) szemafor szuffix kódnak nevezzük. Az L halmazt a C kód egy sze-mafor szuffix halmazának, elemeit pedig C szemafor szuffixeinek nevezzük.Egy uniform kód olyan szemafor szuffix kód is, amely saját magának szema-for szuffix halmaza. A szemafor szuffix kódok szemafor szuffixre végződnek,de nincs olyan valódi szuffixük, amely szintén szemafor szuffixre végződne. Aszemafor prefix és a szemafor szuffix kódokat együttvéve szemafor kódoknakis mondjuk. A továbbiakban is a tételeket csak szemafor prefix kódokramondjuk ki, szemafor szuffix kódokra az eredményeket könnyen átfogalmaz-hatjuk.

55.5 Példa Legyen X = {a, b}. Megadjuk az L = {b} halmazhoz tartozó Cszemafor prefix kódot. Az (55.1) feltétel szerint

C = {a, b}∗b− {a, b}∗b{a, b}+ = a∗b.

Ez a kód az 52.10. Példában is szerepelt. Megemlítjük, hogy

C = {a, b}∗a+ − {a, b}∗a+{a, b}+

is igaz, vagyis egy szemafor prefix kódhoz nem csak egy szemafor prefix hal-maz tartozhat.

55.6 Példa Legyen továbbra is X = {a, b} és L = {a2, ab}. MinthogyX∗L = {a, b}∗a{a, b}, ezért C = X∗L − X∗LX+ = b∗a{a, b}, azaz C az Lhalmazhoz tartozó szemafor prefix kód.

464

Page 465: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A következő tétel jellemzi a szemafor prefix kódokat a kódok között.

55.7 Tétel Az X feletti C prefix kód akkor és csak akkor szemafor prefixkód, ha

(55.3) X∗C ⊆ CX∗.

Bizonyítás. Legyen C = X∗L − X∗LX+ szemafor prefix kód. Tegyükfel, hogy p ∈ X∗C. Akkor p ∈ X∗L, ezért van részszava L-ből. Ha q a plegrövidebb kezdőszelete, amelyre q ∈ X∗L, akkor q ∈ C, s ezért p ∈ CX∗.

Megfordítva, tegyük fel, hogy a C prefix kódra teljesül (55.3). Ha L =CX∗, akkor LX∗ = CX∗X∗ = CX∗. Az 55.1. Lemma szerint C = L−LX+.Az (55.3) feltételből következik, hogy

X∗L = X∗CX∗ ⊆ CX∗ = L,

így L = X∗L és C = X∗L−X∗LX+. �Az 55.4. Lemma szerint minden szemafor prefix kód maximális prefix

kód. A következő példa szerint nem minden maximális prefix kód szemaforprefix kód.

55.8 Példa Legyen C = {a2, aba, ab2, b}. A C gráfja segítségével könnyenmegmutatható, hogy C maximális prefix kód, azonban nem szemafor prefixkód, mivel ab ∈ X∗C, de ab /∈ CX∗, s így nem teljesül (55.3):

���

@@@������

@@@

@@@

rrrrr

rr

a2

aba ab2

b

18. ábra.

Egy szemafor prefix kód maximális prefix kód, ezért jobbról teljes kód is.Most megmutatjuk, hogy egy jobbról teljes nyelv pontosan milyen esetbenszemafor prefix kód.

465

Page 466: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

55.9 Tétel Az X feletti jobbról teljes L nyelv akkor és csak akkor szemaforprefix kód, ha

(55.4) L ∩X∗LX+ = ∅.

Bizonyítás. Legyen az X feletti jobbról teljes L nyelv szemafor prefix kód.Az (55.3) feltételből következik, hogy

X∗LX+ ⊆ LX∗X+ = LX+,

ígyL ∩X∗LX+ ⊆ L ∩ LX+ = ∅.

Megfordítva, tegyük fel, hogy (55.4) teljesül. Ebből következik, hogy Lprefix kód. Megmutatjuk, hogy teljesül (55.3), azaz L szemafor prefix kód.Legyen rs ∈ X∗L (r ∈ X∗, s ∈ L). Mivel L jobbról teljes, ezért az 52.14.Tétel (4) feltétele miatt rsu = tv valamely t ∈ L, u, v ∈ X∗ esetén. Az(55.4) feltételből következik, hogy rs nem valódi kezdőszelete t-nek. Ígyrs ∈ tX∗ ⊆ LX∗. �

55.10 Következmény Minden szemafor prefix kód ritka kód.

Bizonyítás. Legyen C szemafor prefix kód X felett. Ha p ∈ CX+, akkor(55.4) miatt C ∩X∗pX∗ ⊆ C ∩X∗CX+ = ∅. �

Az 53.9. Tételből kapjuk, hogy minden szemafor kód maximális kód.

55.11 Következmény Ha C szemafor prefix kód X felett, akkor CC ⊆CC + C2, ahol C a C-beli elemek valódi kezdőszeleteinek halmaza.

Bizonyítás. Legyen p ∈ C és u ∈ C. Az (55.3) feltétel szerint pu = tvvalamely t ∈ C és v ∈ X∗ esetén. Mivel C prefix kód, ezért p a t szóvalódi kezdőszelete. Következésképpen v az u valódi zárószelete. Ezért (55.4)szerint v /∈ CX+. A C maximális prefix kód, így v ∈ C + C. Ebből pu =tv ∈ C(C + C) = CC + C2. �

Az (55.4) feltétel azt fejezi ki, hogy szemafor prefix kód olyan kód, amely-ben egy kódszó egy másik kódszóban csak zárószeletként fordulhat elő. Ezt atényt használjuk fel a szemafor prefix kódok jellemzésére a maximális prefixkódok között.

Az X∗ szabad monoid egy L részhalmazát prefixre [szuffixre] zártnak ne-vezzük, ha bármely elemének minden prefixét [szuffixét] tartalmazza. Pre-fixre [szuffixre] zárt részhalmaz akkor és csak akkor szuffixre [prefixre] zárt,ha bármely elemének minden részszavát tartalmazza.

55.12 Tétel Az X feletti C maximális prefix kód akkor és csak akkor sze-mafor prefix kód, ha C szuffixre zárt.

466

Page 467: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen C szemafor prefix kód X felett. Ha p = uq ∈ C (u, q ∈X∗), akkor van olyan v ∈ X+, hogy pv ∈ C. Így q /∈ CX∗, mert különbenpv = uqv ∈ X∗CX+, ami ellentmond (55.4)-nek. Az 53.5. Tétel szerintq ∈ C.

Legyen most C szuffixre zárt. Tegyük fel, hogy C ∩X∗CX+ 6= ∅. Legyenp ∈ C ∩ X∗CX+. Akkor p = uqv (u ∈ X∗, q ∈ C, v ∈ X+). Ebbőlkövetkezik, hogy uq ∈ C, s így q ∈ C, ami lehetetlen. Kaptuk, hogy C ∩X∗CX+ = ∅, azaz az 55.9. Tétel szerint C szemafor prefix kód. �

55.13 Tétel Az X+ nemüres L és K részhalmazaihoz akkor és csak akkortartozik ugyanaz a szemafor prefix kód, ha X∗LX∗ = X∗KX∗. Ha C sze-mafor prefix kód, akkor C −X+C a legkisebb szemafor prefix halmaza, azazC bármely L szemafor prefix halmazára C −X+C ⊆ L.

Bizonyítás. Legyen C = X∗L−X∗LX+ és D = X∗K −X∗KX+. Az 55.1.Lemmát felhasználva nyerjük, hogy CX∗ = X∗LX∗ és CX∗ = X∗KX∗. Az55.2. Következmény miatt C = D akkor és csak akkor, ha

X∗LX∗ = CX∗ = DX∗ = X∗KX∗.

Legyen C = X∗L −X∗LX+ szemafor prefix kód és K = C −X+C. Az55.1. Lemma szuffix kódokra vonatkozó állításából kapjuk, hogy X∗K =X∗C. Ismét az 55.1. Lemmát használva, X∗KX∗ = X∗CX∗ = X∗LX∗,azaz K = C −X+C valóban C egy szemafor prefix halmaza.

Legyen T a C tetszőleges szemafor prefix halmaza és p ∈ K = C −X+C. Akkor X∗TX∗ = X∗KX∗. Így p = uqv (u, v ∈ X∗, q ∈ T ésq = u′q′v′ (u′, v′ ∈ X∗, q′ ∈ K), azaz p = uu′q′v′v. Mivel K ⊆ C, ezért (55.4)szerint v′v = e. Azonban K szuffix kód, ezért uu′ = e, vagyis p = q ∈ T . �

Az 55.13. Tétel szerint egy szemafor prefix kód legkisebb szemafor prefixhalmaza éppen a szemafor prefix kód legnagyobb szuffix részkódja.

55.14 Tétel Ha C és D szemafor prefix kód, akkor CD is szemafor prefixkód. Megfordítva, ha CD szemafor prefix kód és C prefix kód, akkor C isszemafor prefix kód.

Bizonyítás. Ha C és D szemafor prefix kód X felett, akkor az 54.4. Követ-kezmény miatt CD is prefix kód X felett. Akkor (55.3) szerint

X∗CD ⊆ CX∗D ⊆ CDX∗,

azaz CD is szemafor prefix kód.Legyen CD szemafor prefix kód és C prefix kód X felett. Megmutatjuk,

hogy X∗C ⊆ CX∗. Az 55.7. Tétel szerint ez azt jelenti, hogy C szemafor

467

Page 468: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

prefix kód. Legyen up ∈ X∗C (u ∈ X∗, p ∈ C) és q egy minimális hosszúságúszó D-ből. Akkor az (55.3) feltétel szerint upq = p′q′u′ valamely p′ ∈ C, q′ ∈D, u′ ∈ X∗ szavakra. A q szó választása miatt |q| ≤ |q′| ≤ |q′u′|, így|up| ≥ |p′|, amiből következik, hogy up ∈ CX∗. �

A következő példa azt mutatja, hogy ha CD szemafor prefix kód, akkorD nem szükségképpen szemafor prefix kód még akkor sem, ha C szemaforprefix kód és D maximális prefix kód.

55.15 Példa Az 55.5. Példában láttuk, hogy C = a∗b szemafor prefix kód,az 55.8. Példában pedig azt, hogy D = {a2, aba, ab2, b} maximális prefix kód,de nem szemafor prefix kód {a, b} felett. Az 54.4. Következmény szerint CDmaximális prefix kód és

CD = a∗{e, b, ba, bab}

szuffixre zárt. Az 55.12. Tétel miatt C szemafor prefix kód.

55.16 Következmény Legyen C tetszőleges X feletti nyelv és n > 1 tet-szőleges pozitív egész szám. A C nyelv akkor és csak akkor szemafor prefixkód, ha Cn is szemafor prefix kód.

Bizonyítás. Ha Cn szemafor prefix kód, akkor az 54.5. Következmény miattC prefix kód. Az 55.14. Tétel szerint C is szemafor prefix kód. Az állításmegfordítása teljes indukcióval kapható az 55.14. Tételből. �

Feladatok55.1. Egy ∅ ⊂ L ⊆ X+ nyelvre L−LX+ akkor és csak akkor szemafor prefix kód,ha X∗L ⊆ LX∗.55.2. Az X feletti C kód akkor és csak akkor szemafor prefix kód, ha X∗C ⊆ CX∗.(Az 55.7. Tétel egy általánosítása.)55.3. Jelölje az X feletti C jobbról teljes kódra C ill. C a valódi kezdőszeleteinekill. valódi zárószeleteinek halmazát. C akkor és csak akkor szemafor prefix kód, haCC ⊆ CC.

56. Bifix kódokEbben a fejezetben részletesebben vizsgáljuk azokat a kódokat, amelyek egy-szerre prefix és szuffix kódok, azaz bifix kódok. A bifix kódok tehát olyankódszavakból állnak, amelyek egyetlen valódi kezdőszelete és zárószelete semkódszó. Az előző fejezetben a prefix [szuffix] kódok egy másik részosztályát,

468

Page 469: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a szemafor prefix [szufix] kódokat vizsgáltuk. Most a bifix kódok halmazánakés a szemafor prefix [szufix] kódok halmazának közös részével foglalkozunk.Ehhez először a maximális uniform kódok egy jellemzését adjuk.

56.1 Lemma AzX feletti C kód [szuffix kód] akkor és csak akkor maximálisuniform kód, ha X+C ⊆ CX+ [X∗C ⊆ CX∗].

Bizonyítás. Az nyilvánvaló, hogy ha C maximális uniform kód, akkorX+C ⊆ CX+, s így X∗C ⊆ CX∗.

Megfordítva, tegyük fel, hogy az X feletti C kód teljesíti az X+C ⊆ CX+

feltételt. Legyen n a minimális szóhosszúság C-ben és

p = x1x2 . . . xn ∈ C (x1, x2, . . . , xn ∈ X).

Akkor minden x ∈ X esetén van olyan q ∈ C, hogy xp = qxn. Ígyq = xx1x2 . . . xn−1, azaz Xx1x2 . . . xn−1 ⊆ C. Ha p ∈ Xx1x2 . . . xn−1, ak-kor minden x ∈ X esetén van olyan q ∈ C, hogy xp = qxn−1. Ebből kapjuk,hogy X2x1x2 . . . xn−2 ⊆ C. Folytatva az eljárást, n lépés után adódik, hogyXn ⊆ C. Minthogy Xn maximális kód, így C = Xn.

Legyen C olyan szuffix kód, amelyre X∗C ⊆ CX∗. A szuffix kód definí-ciója szerint C ∩X+C = ∅. Amiből

C +X+C = X∗C ⊆ CX∗ = C + CX+

miatt X+C ⊆ CX+. Az előzőekből következik, hogy C maximális uniformkód. �

A tételben az X+C ⊆ CX+ feltétel helyettesíthető a CX+ ⊆ X+C fel-tétellel, s így az X+C = CX+ feltétellel is. Hasonlóan helyettesíthető prefix[bifix] kódokra a CX∗ ⊆ X∗C feltétel az X∗C ⊆ CX∗ [X∗C = CX∗] felté-tellel.

56.2 Tétel Bifix kód akkor és csak akkor szemafor kód, ha maximális uni-form kód.

Bizonyítás. A bizonyítást csak szemafor prefix kódokra végezzük el. Maxi-mális uniform kód nyilvánvalóan szemafor prefix kód.

Megfordítva, legyen az X feletti C bifix kód szemafor prefix kód. Ez aztjelenti, hogy C maximális prefix kód. Az 52.14., az 53.5. és az 55.7. Tételekszerint X∗C ⊆ CX∗. De C bifix kód, ezért C ∩ X+C = ∅ = C ∩ CX+.Ebből kapjuk, hogy X+C ⊆ CX+. Az 56.1. Lemmából következik, hogy Cmaximális uniform kód. �

A bifix kódok bármely láncának egyesítése is bifix kód, ezért, mint máremlítettük, a Zorn lemma szerint az 53.4. Lemma bifix kódokra is igaz, vagyis

469

Page 470: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

minden bifix kód részhalmaza egy maximális bifix kódnak. Természetesen az53.6. Lemma szerint minden maximális kód ha bifix kód, akkor maximálisbifix kód.

56.3 Lemma Minden maximális bifix kód maximális prefix kód vagy maxi-mális szuffix kód.

Bizonyítás. Tegyük fel, hogy az X feletti C maximális bifix kód nem ma-ximális prefix kód és nem maximális szuffix kód X felett. Az 52.14. és az53.5. Tétel szerint vannak olyan u, v ∈ X+, amelyekre uX∗ ∩ CX∗ = ∅ ésX∗v ∩ X∗C = ∅. Ebből következik, hogy uv /∈ C. Minthogy C maximálisbifix kód, ezért C + {uv} nem bifix kód. Így vannak olyan p1, p2, p3, p4 ∈ Cés q1, q2, q3, q4 ∈ X+ szavak, amelyekre az uv = p1q1, uv = q2p2, uvq3 = p3

és a q4uv = p4 összefüggések közül legalább egy teljesül. Ez minden esetbenellentmond u és v választásának. �

Ha egy kód maximális prefix kód és maximális szuffix kód, akkor nyil-vánvalóan maximális bifix kód is. Ritka kódokra igaz ennek az állításnak amegfordítása is. A következő tételben további ekvivalens állításokat fogalma-zunk meg. Ehhez először egy ritka nyelvekre vonatkozó lemmát bizonyítunkbe.

56.4 Lemma Egy ritka nyelv akkor és csak akkor maximális prefix [szuffix]kód, ha jobbról [balról] teljes kód.

Bizonyítás. Ha az X feletti L ritka nyelv maximális prefix kód, akkor az53.5. Tétel szerint jobbról teljes kód.

Megfordítva, legyen L jobbról teljes kód. Akkor C = L−LX+ prefix kód.Az 55.1. Lemma szerint LX∗ = CX∗. Az 52.14. Tétel alapján C jobbrólteljes. Minthogy minden jobbról teljes kód teljes kód, ezért az 52.8. Tételszerint C maximális kód. De C ⊆ L, s így C = L, vagyis L maximális prefixkód. A lemma szuffix kódra hasonlóan bizonyítható. �

56.5 Tétel Az X halmaz feletti L ritka nyelvre a következő állítások ekvi-valensek:(i) L maximális bifix kód;(ii) L maximális prefix és maximális szuffix kód;(iii) L balról [jobbról] teljes prefix [szuffix] kód;(iv) L balról és jobbról teljes kód.

Bizonyítás. Először megmutatjuk, hogy (i) ⇐⇒ (ii). Már a tétel előttmegbeszéltük, hogy (ii) =⇒ (i).

(i) =⇒ (ii): Ha L maximális prefix kód, akkor az 53.5. Tétel szerint Ljobbról teljes kód. De minden jobbról teljes kód teljes kód, ezért az 52.8.

470

Page 471: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tétel miatt L maximális kód. Mivel L szuffix kód, így maximális szuffix kód.Hasonlóan kapjuk, hogy ha L maximális szuffix kód, akkor maximális prefixkód is. Tegyük fel ezért, hogy L nem maximális prefix kód és nem maximálisszuffix kód. Akkor vannak olyan p, q ∈ X+ − L, hogy L + p prefix kód ésL + q szuffix kód. Ebből következik, hogy L + pq bifix kód és pq /∈ L. Ezellentmond annak, hogy L maximális bifix kód.

Az 53.5. Tétel szerint (ii) =⇒ (iii).(iii) =⇒ (iv): Mivel L balról teljes prefix kód, ezért teljes kód is. Az

52.8. Tételből következik, hogy L maximális kód. Az 53.6. Lemma szerint Lmaximális prefix kód. Az 53.5. Tételből kapjuk, hogy L jobbról teljes kód.

(iv) =⇒ (ii): pedig az 56.4. Lemmából következik. �A következő példa mutatja, hogy egy maximális bifix kód nem szükség-

képpen maximális prefix és maximális szuffix kód.

56.6 Példa Tekintsük az X = {x, y} ábécé feletti L = {pxy|p|; p ∈ X∗}nyelvet. Megmutatjuk, hogy L − LX+ olyan maximális bifix kód, amelymaximális prefix kód, de nem maximális szuffix kód.

Nem nehéz belátni, hogy L jobbról sűrű, s így jobbról teljes szuffix kód,de nem prefix kód. Megmutatjuk, hogy L maximális szuffix kód. Legyen πaz X ábécé uniform mértéke, azaz π(x) = π(y) = 1

2. Akkor

π(L) =∞∑n=0

∑p∈Xn

π(pxy|p|) =∞∑n=0

2n1

22n+1=∞∑n=0

1

2n+1= 1.

Az 51.3. Tétel szerint L maximális kód, azaz maximális szuffix kód. Az 55.3.Tétel szerint L−LX+ maximális prefix kód. De L−LX+ ⊆ L, ezért szuffixkód is. Ez azt jelenti, hogy maximális bifix kód. De L − LX+ ⊂ L, ezértnem maximális szuffix kód.

A következő eredmény a maximális bifix kódok előzőektől különböző jel-lemzését adja a ritka kódok között.

56.7 Tétel Az X halmaz feletti C ritka kód akkor és csak akkor maximálisbifix kód, ha minden p ∈ X∗ szóhoz van olyan n pozitív egész szám, amelyrepn ∈ C∗.

Bizonyítás. Ha minden p ∈ X∗ szóhoz van olyan n ∈ N+, amelyre pn ∈ C∗,akkor C nyilvánvalóan balról és jobbról teljes kód. Az 56.5. Tétel szerint Cmaximális bifix kód.

Megfordítva, tegyük fel, hogy a C ritka kód maximális bifix kód és p ∈ X∗.Mivel C ritka kód, ezért van olyan u ∈ X+ szó, amely egyetlen C-beli szónaksem részszava. Az 56.5. Tétel miatt C jobbról teljes kód, ezért minden i

471

Page 472: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

pozitív egész számhoz van olyan vi ∈ X∗, hogy piuvi ∈ C∗. Minthogy u nemrészszava egyetlen C-beli szónak sem, így van u-nak olyan valódi s prefixe,hogy pis ∈ C∗. De u-nak véges sok valódi prefixe van, amiből kapjuk, hogyu-nak van olyan s valódi prefixe, amelyhez vannak olyan k > l pozitív egészszámok, hogy pks, pls ∈ C∗. A 49.9. Tételből kapjuk, hogy C∗ az X∗ szabadmonoid unitér részmonoidja. Ebből pks = pk−lpls átalakítást felhasználvapk−l ∈ C∗ következik. �

Az 51. fejezetben foglalkoztunk a bifix kódok egy nevezetes osztályával,a csoportkódokkal. A bifix kódok további speciális osztályai az ún. infixkódok és az outfix kódok. Az X+ szabad félcsoport L részhalmazát infixkódnak nevezzük, ha elemeinek egyetlen valódi részszavát sem tartalmazza,azaz tetszőleges p, q, u ∈ X∗ szavakra az u, puq ∈ L feltételekből következik,hogy p = q = e. A definícióból könnyen adódik, hogy L valóban bifix kód.Az L részhalmazt outfix kódnak mondjuk, ha bármely p, q, u ∈ X∗ esetén apq, puq ∈ L feltételekből u = e következik, azaz kódszóba nem lehet olyannemüres szót beszúrni, hogy továbbra is kódszót kapjunk. Az uniform kódoknyilvánvalóan infix és outfix kódok.

Az 53.4. Lemma infix [outfix] kódokra is teljesül, azaz minden infix [out-fix] kód egy maximális infix [outfix] kód részhalmaza.

56.8 Lemma Minden infix kód ritka kód.

Bizonyítás. Legyen az X feletti C kód infix kód. Ha u ∈ C és p ∈ X+,akkor X∗puX∗ ∩ C = ∅, vagyis C ritka kód. �

Feladatok56.1. Ha az X feletti L1 és L2 nyelvek L1L2 szorzata bifix kód, akkor L1 szuffixkód és L2 prefix kód.56.2. Egy ∅ ⊂ L ⊆ X+ nyelvre X+L ⊆ LX+ akkor és csak akkor, ha Xn ⊆ L,ahol n a minimális szóhosszúság L-ben.56.3. Mutassuk meg, hogy ha {X1, X2} a legalább kételemű X ábécé egy osztá-lyozása, akkor

M = {p ∈ X∗;∑a∈X1

|p|a =∑b∈X2

|p|b}

az X∗ szabad monoid olyan unitér részmonoidja, amelynek bázisa csoportkód. Ad-juk meg M bázisát. (Az így definiált kód a bináris Dyck kód egy általánosítása.)

472

Page 473: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

57. Kódok és automatákKleene tétele szerint a véges ábécé feletti reguláris nyelvek megegyeznek avéges automatákban előállítható nyelvekkel. Most megmutatjuk, hogy egyX véges ábécé feletti reguláris kódok osztálya az X feletti ritka kódok egyrészosztálya.

57.1 Tétel Véges ábécé feletti reguláris kódok ritka kódok az adott ábécéfelett.

Bizonyítás. Tegyük fel, hogy az X véges ábécé feletti C kód előállítható azAF = (A, a0, X, δ;F ) véges automatában, azaz a (39.1) definíció szerint

C = {p ∈ X∗; a0p ∈ F}.

Legyen tetszőleges p ∈ X∗ bemenő szóra

Ap = {ap; a ∈ A}.

Nyilvánvaló, hogy bármely u, p, v ∈ X∗ esetén

|Aupv| ≤ |Ap|.

Jelölje J az X∗ szabad monoid azon p elemeinek halmazát, amelyekre |Ap|minimális. Ha p ∈ J , akkor minden u, v ∈ X∗ párra

|Aupv| = |Ap|.

Ez azt jelenti, hogy J az X∗ szabad monoid ideálja. Ha p ∈ J , akkor

Ap2 = (Ap)p ⊆ Ap,

amiből következik, hogy Ap2 = Ap. Így, az A állapothalmaz végessége miatt,az α(ap) = ap2 (a ∈ A) leképezés az Ap halmaz egy permutációja. Ezért vanolyan n pozitív egész szám, hogy αn = ιAp, azaz minden a ∈ A állapotra

ap = αn(ap) = apn+1

teljesül. Tegyük fel, hogy C ∩ J 6= ∅. Ha p ∈ C ∩ J , akkor

a0pn+1 = a0p ∈ F,

azaz pn+1 ∈ C. Ez azonban lehetetlen, mivel C kód X felett. Kaptuk, hogyC ∩ J = ∅, vagyis C ritka kód X felett. �

473

Page 474: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az 57.1. Tétel megfordítása nem igaz. Tekintsük ugyanis a

C = {anbn; n ∈ N+}

bináris kódot. Nem nehéz belátni, hogy C ritka kód X = {a, b} felett(C ∩X∗baX∗ = ∅). A 41.9. Tétel bizonyításából látható, hogy C környezet-független, de nem reguláris. Ritka csoportkódokra azonban megfordítható azállítás:

57.2 Tétel Véges ábécé feletti ritka csoportkódok reguláris kódok az adottábécé felett.

Bizonyítás. Legyen C ritka csoportkód az X véges ábécé felett. Mivel CcsoportkódX felett, ezértX∗-nak van olyan ϕ homomorf leképezése egy olyanG csoportra, amelynek valamely H részcsoportjára C∗ = ϕ−1(H). Mivel Critka kód X felett, így van olyan p ∈ X+, amelyre C ∩X∗pX∗ = ∅.

Megmutatjuk, hogy G előáll olyan H(ϕ(q))−1 mellékosztályok egyesíté-seként, amelyekben a q szavak p prefixei. Ez azt jelenti, hogy H a G végesindexű részcsoportja. Valóban, legyen g ∈ G és legyenek q, r ∈ X∗ olyanok,amelyekre

ϕ(q) = g, ϕ(r) = (gϕ(p))−1.

Akkorϕ(qpr) = gϕ(p)ϕ(r) = 1 ∈ H,

ahol 1 a G csoport egységeleme. Innen qpr ∈ C+. Minthogy C∩X∗pX∗ = ∅,ez csak úgy lehetséges, hogy vannak olyan p1, p2 ∈ X∗, amelyekre p = p1p2

és qp1, p2r ∈ C∗. Amiből

gϕ(p1) = ϕ(q)ϕ(p1) = ϕ(qp1) ∈ H,

s így g ∈ Hϕ(p1)−1.Jelölje G/H a G H-szerinti jobb oldali mellékosztályainak halmazát. De-

finiáljuk a G/H = (G/H,X, δ) kimenő jel nélküli automata δ átmenetfügg-vényét a

δ(Hg, x) = Hgϕ(x) (q ∈ G, x ∈ X)

összefüggéssel. Az előbbiek szerint G/H véges automata. A δ átmenetfügg-vény (1.4) - (1.5) kiterjesztését is figyelembe véve kapjuk, hogy minden g ∈ Gcsoportelemre és q ∈ X∗ bemenő szóra

(Hg)q = Hgϕ(q).

Ezért, ha a G/H automatában a kezdő állapot H, amely egyben az egyetlenvégállapot is, akkor az így kapott akceptor éppen a C∗ nyelvet ismeri fel,azaz C∗ reguláris nyelv.

474

Page 475: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 41.2. Tételből kapjuk, hogy ábécé feletti reguláris nyelvek különbsége isreguláris az adott ábécé felett. Mivel e reguláris, ezért C+ = C∗−e is regulárisX felett. A 36.6. Tétel szerint (C+)2 is reguláris, s így C = C+ − (C+)2 isreguláris X felett. �

A csoportkódok bifix kódok, azaz speciális prefix kódok. A következőeredmény a reguláris prefix kódok egy egyszerű jellemzését adja. Az 57.1.Tétel szerint a reguláris prefix kódok ritka kódok.

57.3 Lemma Az X véges ábécé feletti C prefix kód akkor és csak akkorreguláris, ha C valódi kezdőszeleteinek C halmaza véges.

Bizonyítás. A (35.1) definíciót használva, a C prefix kód p ∈ X∗ szerintibal oldali deriváltján a

C(b)p = {q ∈ X∗; pq ∈ C}

nyelvet értjük. Nyilvánvaló, hogy C(b)p 6= ∅ akkor és csak akkor, ha p ∈ C+C.

Továbbá minden p ∈ C kódszóra C(b)p = {e}. Ezekből és a 41.3. Tételből

következik az állítás. �A 36.8. Tétel szerint az 57.3. Lemma megfelelő átfogalmazása teljesül

szuffix kódokra.Az A = (A,X, δ) automata tetszőleges a ∈ A állapotára definiáljuk az

X∗ bemenő monoid Xa részhalmazát következőképpen:

(57.1) Xa = {r ∈ X∗; ar = a}.

Ezt a részhalmazt a ∈ A stabilizátorának nevezzük.

57.4 Lemma Az A = (A,X, δ) automata bármely állapotának stabilizátoraaz X∗ bemenő monoid bal unitér részmonoidja, azaz bázisa prefix kód. HaA erősen összefüggő, akkor bármely állapotának stabilizátora X∗ olyan balunitér részmonoidja, amelynek bázisa maximális prefix kód.

Bizonyítás. Ha p, q ∈ Xa, akkor apq = aq = a és ae = a, azaz Xa X∗

részmonoidja. Ha pedig p, pq ∈ Xa, akkor a = apq = aq, tehát q ∈ Xa,vagyis Xa bal unitér. Legyen C Xa bázisa, azaz Xa = C∗. A 49.9. Tételszerint C prefix kód.

Legyen A erősen összefüggő és a ∈ A tetszőleges állapot. Legyen p ∈ X+

és ap = b. Tegyük fel, hogy q ∈ X∗ a p szó leghosszabb olyan kezdőszelete,amelyre aq = a. Ha p = qr (r ∈ X∗), akkor ar = b. Mivel A erősenösszefüggő, van olyan t ∈ X∗, amelyre art = bt = a. Ez azt jelenti, hogyr ∈ C. Ebből következik, hogy X∗ = C∗C. Az 52.14. és az 53.5. Tételekszerint C maximális prefix kód. �

475

Page 476: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

57.5 Tétel Ha A = (A, a0, X, δ) iniciális automata d ∈ A − a0 állapotáraXd = {e}, akkor L(A, d) prefix kód. Megfordítva, minden X feletti C prefixkódhoz van olyan A = (A, a0, X, δ) iniciálisan összefüggő automata, amely-nek valamely d ∈ A állapotára Xd = {e} és C = L(A, d). Ha X véges ábécéés L reguláris, akkor az A automata választható végesnek.

Bizonyítás. Legyen az A = (A, a0, X, δ) iniciális automata d ∈ A − a0

állapotának stabilizátora Xd = {e}. Ha L(A, d) = ∅, akkor nyilvánvalóanprefix kód. Tegyük fel, hogy L(A, d) 6= ∅ és a0p = a0q = d (p, q ∈ X+).Ha p = qu (u ∈ X∗), akkor du = a0qu = a0p = d, azaz u = e. Hasonlóankapjuk, hogy p sem valódi kezdőszelete q-nak, vagyis L(A, d) prefix kód.

Megfordítva, legyen C prefix kód X felett és C a C prefix kód valódikezdőszeleteinek halmaza. Továbbá c, d /∈ C, c 6= d és A = C ∪ {c, d}.Definiáljuk az A = (A, e,X, δ) iniciális automata δ átmenetfüggvényét akövetkezőképpen:

(57.2) δ(q, x) =

qx, ha q, qx ∈ C,d, ha q ∈ C, qx ∈ C,c, minden más esetben.

Az A automata iniciálisan összefüggő és C = L(A, d).Ha X véges ábécé és C reguláris, akkor az 57.3. Lemma szerint C véges,

s így A is véges. �Az (57.2) definíció egy eljárást ad véges ábécé feletti reguláris prefix kó-

dokat felismerő automaták szerkesztésére.A 24. fejezetben megmutattuk, hogy az X 6= ∅ feletti ciklikus auto-

maták izomorfiától eltekintve megegyeznek a (24.1) feltétellel definiált X∗/ρautomatákkal, ahol a ρ relációk X∗ jobb kongruenciái és a ρ[e] osztályok azautomaták generátorelemei. A 24.1. Tétel alapján azt mondtuk, hogy haρ[e] = {e}, akkor X∗/ρ automata az üres szóval, ha pedig ρ[e] 6= {e}, akkoraz üres szó nélkül ciklikus. Ez utóbbi pontosan azt jelenti, hogy van olyanr ∈ X+, amelyre (e, r) ∈ ρ. Ekkor a ρ-t moduláris jobb kongruenciánaknevezzük.

57.6 Lemma Ha ρ az X∗ szabad monoid jobb kongruenciája, akkor ρ[e] azX∗ szabad monoid bal unitér részfélcsoportja.

Bizonyítás. Ha (e, p) ∈ ρ és (e, q) ∈ ρ (p, q ∈ X∗), akkor (q, pq) ∈ ρ. De(e, q) ∈ ρ, ezért (e, pq) ∈ ρ, azaz ρ[e] X∗ részmonoidja. Ha pedig (e, p) ∈ ρés (e, pq) ∈ ρ (p, q ∈ X∗), akkor (q, pq) ∈ ρ és így (e, q) ∈ ρ, azaz ρ[e] balunitér. �

476

Page 477: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

A 49.9. Tétel szerint X∗ minden bal unitér részmonoidjának bázisa prefixkód X felett és minden X feletti prefix kód X∗ egy bal unitér részmonoidjá-nak bázisa. Ha ρ[e] = {e}, akkor bázisa ∅. Ha ρ moduláris, akkor van olyanX feletti C 6= ∅ prefix kód, hogy ρ[e] = C∗.

57.7 Lemma Ha C prefix kód X felett, akkor a

(57.3) C = {C∗p ; p ∈ X∗ − CX∗}.

rendszer az X∗ szabad monoid egy osztályozása.

Bizonyítás. Ha p, q ∈ X∗ − CX∗ szavakra C∗p ∩ C∗q 6= ∅, akkor vannakolyan r, t ∈ C∗, amelyekre rp = tq. Ebből p ∈ C+q vagy q ∈ C+p vagy p = q.Mivel p, q ∈ X∗ − CX∗, ezért p = q.

Ha p ∈ CX∗, akkor vannak olyan q ∈ C+ és r ∈ X∗ − CX∗, amelyekrep = qr ∈ C∗r. Ezekből következik, hogy C valóban X∗ egy osztályozása. �

Jelöljük a C-hez tartozó ekvivalenciát ρC-vel. A definícióból látható, hogyρC = ιX∗ akkor és csak akkor, ha C = ∅, és ρC = ωX∗ akkor és csak akkor,ha C = X.

57.8 Lemma Bármely X feletti C prefix kódra ρC az X∗ egy jobb kong-ruenciája és ρC [e] = C∗. Továbbá, ha ρ az X∗ szabad monoid olyan jobbkongruenciája, amelyre ρ[e] = C∗, akkor ρC ⊆ ρ. (Ha C 6= ∅, akkor ρmoduláris jobb kongruencia.)

Bizonyítás. Az 57.7. Lemmából következik, hogy ρC jobb kongruencia ésρC [e] = C∗.

Legyen ρ az X∗ szabad monoid olyan jobb kongruenciája, amelyre ρ[e] =C∗. Ha (p, q) ∈ ρC , akkor van olyan r ∈ X∗ − CX∗, amelyre p, q ∈ C∗r,azaz vannak olyan t, s ∈ C∗, hogy p = tr és q = sr. Mivel ρ[e] = C∗,ezért (e, t) ∈ ρ és (e, s) ∈ ρ. Amiből következik, hogy (t, s) ∈ ρ. De ρ jobbkongruencia, így (tr, sr) ∈ ρ, vagyis (p, q) ∈ ρ. Ez azt jelenti, hogy ρC ⊆ ρ.�

A 2.2. Tételben és A-véges esetben a 25.9. Lemmában automaták erősenösszefüggőségének egy-egy szükséges és elegendő feltételét adtuk meg. Akövetkező tétel ennek egy újabb szükséges és elegendő feltételét adja. Eza tétel az erősen összefüggő automaták és maximális prefix kódok szoroskapcsolatára utal.

57.9 Tétel Legyen ρ az X∗ szabad monoid jobb kongruenciája és C prefixkód, amelyre ρ[e] = C∗. Az X∗/ρ = (X∗/ρ,X, δρ) automata akkor és csakakkor erősen összefüggő, ha C maximális prefix kód.

477

Page 478: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. Legyen C maximális prefix kód. Tekintsük először az

(57.4) X∗/ρC = (X∗/ρC , X, δρC )

automatát. Az 52.14. és az 53.5. Tételek szerint az (57.3) definíciót felhasz-nálva kapjuk, hogy

(57.5) X∗/ρC = {C∗q; q ∈ C}.

Legyenek q1, q2 ∈ C tetszőlegesek. Van olyan r ∈ X+, hogy q1r ∈ C, ezért

(C∗q1)rq2 = (C∗q1r)q2 = C∗q2,

azaz X∗/ρC erősen összefüggő. Az 57.8. Lemma szerint ρC ⊆ ρ, amibőlkövetkezik, hogy az X∗/ρ automata az X∗/ρC automata homomorf képe.Mivel erősen összefüggő automata homomorf képe is erősen összefüggő, ezértX∗/ρ erősen összefüggő.

Megfordítva, legyen X∗/ρ erősen összefüggő. (Ebben az esetben ρ mindigmoduláris jobb kongruencia.) Nyilvánvaló, hogy C ⊆ X∗ − CX∗. Legyenq ∈ X∗ − CX∗ és r ∈ C. Az 57.8. Lemma alapján ρC ⊆ ρ, ezért C∗r ⊆ ρ[r].Az X∗/ρ automata erősen összefüggősége miatt van olyan p ∈ X∗, hogy

ρ[qp] = ρ[q]p = ρ[r],

azaz (qp, r) ∈ ρ. De r ∈ C, így van olyan t ∈ X+, hogy rt ∈ C. Minthogyρ jobb kongruencia, (qpt, rt) ∈ ρ. Mivel ρ[e] = C∗, ebből következik, hogy(e, qpt) ∈ ρ, vagyis qpt ∈ C∗. De q ∈ X∗ − CX∗, ezért q ∈ C. Kaptuk, hogyX∗ − CX∗ ⊆ C, azaz X∗ − CX∗ = C, vagyis X∗ = C + CX∗. Az 52.14. ésaz 53.5. Tételek szerint a C maximális prefix kód. �

57.10 Következmény Ha C 6= ∅ egy X ábécé feletti prefix kód [maxi-mális prefix kód], akkor a C∗ nyelv egy állapottal felismerhető valamelyA = (A,X, δ) ciklikus [erősen összefüggő] automatában. Ha X véges ábécéés C maximális prefix kód reguláris, akkor véges A automata is választható.

Bizonyítás. Az 57.8. Lemma és az 57.9. Tétel bizonyítása alapján, felhasz-nálva az 57.3. és az 57.4. Lemmákat is, az A = X∗/ρC automata ρC [e] kezdőés végállapottal egy megfelelő automata.

Feladatok57.1. Legyen C 6= ∅ prefix kód az X ábécé felett. Ha C nem maximális prefix kód,akkor V = X∗ − (C + CX∗) az X+ szabad félcsoport jobb ideálja.

478

Page 479: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

57.2. Tetszőleges C 6= ∅ X feletti prefix kódra C + (V − V X+) maximális prefixkód és V − V X+ ⊆ C, ahol V az 57.1. feladatban definiált halmaz.57.3. Ha C 6= ∅ prefix kód X felett és D a C kódot tartalmazó maximális prefixkód X felett, akkor

D = C ⇐⇒ D = C + (V − V X+),

ahol V az 57.1. feladatban definált halmaz.

58. Szinkron kódokLegyen C kód X felett. Azt mondjuk, hogy az s ∈ X∗ szó szinkronizálja ap ∈ X∗ szót, ha ps ∈ C∗. Az s ∈ X∗ szót C szinkronizáló szavának nevezzük,ha X∗ minden elemét szinkronizálja, azaz

(58.1) X∗s ⊆ C∗.

Az (58.1) definícóból következik, hogy s ∈ C∗. Pontosabban, ha C 6= X,akkor s ∈ C+. Továbbá, ha s ∈ C∗ szinkronizáló szó, akkor bármely t ∈ C∗esetén st is szinkronizáló szó. A C kódot szinkron kódnak nevezzük, ha vanszinkronizáló szava, és aszinkronnak, ha nincs.

58.1 Lemma Minden X feletti C szinkron kód ritka maximális prefix kód.

Bizonyítás. Legyen C szinkron kód X felett és s ∈ C+ egy szinkronizálószava. Tegyük fel, hogy p, pu ∈ C (u ∈ X∗). Mivel s szinkronizáló szó, ezértus ∈ C∗. Akkor p(us) = (pu)s. A 49.2. Lemma szerint p = pu (és us = s),azaz u = e, vagyis C prefix kód.

Az (58.1) definícióból következik, hogy C jobbról teljes. Az 53.5. Tételszerint C maximális prefix kód. Ha az (58.1) feltételt sX∗ ⊆ C∗ alakbanadjuk meg, akkor a szinkron kódok természetesen ritka maximális szuffixkódok.

Ha s ∈ C+ a C szinkron kód egy szinkronizáló szava, akkor C-ben nincsolyan szó, amelynek s2 részszava lenne. Ugyanis, ha valamely u, v ∈ X∗

szavakra us2v ∈ C, akkor us ∈ C+ miatt C nem prefix kód, ami lehetetlen.Ez azt jelenti, hogy C ritka kód. �

Az 53.9. Tétel szerint minden szinkron kód maximális kód.

58.2 Példa Az 55.5. Példában láttuk, hogy C = a∗b szemafor prefix kódés így maximális prefix kód az X = {a, b} ábécé felett. C szinkron kód.Valóban X∗b ⊆ C∗, azaz b egy szinkronizáló szó.

479

Page 480: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

58.3 Példa Tetszőleges X ábécé feletti C 6= X maximális bifix kód aszink-ron kód. (Az 56.5. Tétel szerint C maximális prefix kód.) Ha ugyanis s ∈ C∗szinkronizáló szó, akkor minden p ∈ X∗ esetén ps ∈ C∗. De C∗ az X∗ sza-bad monoid jobb unitér részmonoidja, ezért p ∈ C∗, azaz X∗ = C∗, vagyisC = X.

A szinkron kód elnevezés a következőkből ered. Ha egy p ∈ X∗ szót felakarunk bontani egy C prefix kód szavainak szorzatára, azaz dekódolni sze-retnénk C szavaival, akkor meg kell győződnünk arról, hogy p ∈ C∗. (C∗ X∗bal unitér részmonoidja.) Ha p-nek van egy s ∈ C∗ szinkronizáló részszava,azaz p = usv (u, v ∈ X∗), akkor us ∈ C∗ miatt elegendő megvizsgálni, hogyv dekódolható-e C-beli szavakkal? Vagyis p ∈ C∗ akkor és csak akkor, hav ∈ C∗.

58.4 Lemma Az A = (A,X, δ) erősen összefüggő irányítható automata bár-mely állapotának stabilizátora az X∗ bemenő monoid bal unitér részmono-idja, amelynek bázisa szinkron kód.

Bizonyítás. Legyen a ∈ A tetszőleges állapot. Az 57.4. Lemma szerintXa = C∗, ahol C maximális prefix kód. A 31. fejezetben láttuk, hogyerősen összefüggő irányítható automata minden állapota irányított állapot.Legyen p ∈ X+ olyan irányító szó, amelyre Ap = a. Ebből következik, hogyAX∗p = a, azaz X∗p ⊆ C∗, vagyis az (58.1) definíció szerint C szinkron kód.�

58.5 Következmény Ha C egy X ábécé feletti szinkron kód, akkor a C∗nyelv egy állapottal felismerhető egy A = (A,X, δ) erősen összefüggő irá-nyítható automatában. Ha X véges ábécé és C reguláris, akkor véges Aautomata is választható.

Bizonyítás. Az 57.11. Következmény bizonyítása alapján az A = X∗/ρCautomata ρC [e] kezdő és végállapottal egy megfelelő automata. �

Az 52.14. és 53.5. Tételekből nyilvánvalóan adódik, hogy egy X ábécéfeletti C maximális prefix kód akkor és csak akkor szinkron kód, ha van olyanp ∈ C∗, amelyre Cp ⊆ C∗. Az 58.1. Lemma szerint minden X feletti C szink-ron kód ritka maximális prefix kód X felett. A következő tétel szerint ritkamaximális prefix kódokra nem kell megkövetelni, hogy az előbbi szükséges éselegendő feltételben C minden eleméhez ugyanaz a p szó tartozzon.

58.6 Tétel Az X ábécé feletti C ritka maximális prefix kód akkor és csakakkor szinkron kód, ha minden q ∈ C szóhoz van olyan s ∈ C∗, amelyreqs ∈ C∗.

480

Page 481: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A feltétel nyilvánvalóan szükséges. Megmutatjuk, hogy elegen-dő is. Mivel C ritka kód, ezért van olyan p ∈ X+, amely nem részszavaegyetlen C-beli kódszónak sem. Legyen K = {p1, p2, . . . , pn} a p szó azonzárószeleteinek halmaza, amelyek elemei C-nek. A K halmaz nemüres, mivele ∈ K. Definiáljuk a q1, q2, . . . , qn C

∗-beli szavak sorozatát a következő mó-don. Legyen q1 ∈ C∗ olyan, hogy p1q1 ∈ C∗. Tegyük fel, hogy a q1, q2, . . . , qi−1

sorozatot már definiáltuk. Az 52.14. és 53.5. Tételek szerint van olyan t ∈ C∗és r ∈ C, hogy

piq1 . . . qi−1 = tr.

Legyen qi ∈ C∗ olyan, amelyre rqi ∈ C∗. Ebből következik, hogy

(58.2) piq1 . . . qi−1qi ∈ C∗, i = 1, 2, . . . , n.

Az s = pq1q2 . . . qn szó a C kód egy szinkronizáló szava. Valóban, legyenu ∈ X∗. Akkor up = tr valamilyen t ∈ C∗ és r ∈ C szavakra. Az r szó a pzárószelete, mert különben p egy C-beli szó részszava lenne. Így r ∈ K, azazr = pi valamilyen pi ∈ K szóra. Felhasználva (58.2)-t kapjuk, hogy

us = upq1q2 . . . qn = tpiq1q2 . . . qn = t(piq1 . . . qi)qi+1 . . . qn ∈ C∗.

Tehát X∗s ⊆ C∗. �

58.7 Lemma Ha C szinkron kód az X ábécé felett, akkor a C-beli szavakhosszának legnagyobb közös osztója 1.

Bizonyítás. Legyen a C-beli szavak hosszának legnagyobb közös osztójad. Mivel C szinkron kód, ezért van olyan p ∈ C+, amelyre X∗p ⊆ C+.Nyilvánvaló, hogy |p| osztható d-vel. Bármely x ∈ X esetén xp ∈ C+, így|xp| = 1 + |p| is osztható d-vel. Amiből következik, hogy d = 1. �

Az 52.13. Következmény alapján az x ∈ X betű X feletti C korlátosmaximális kódra vonatkoztatott rendjének neveztük azt az egyetlen n pozitívegész számot, amelyre xn ∈ C. Erősebb oszthatósági feltétel mellett végesmaximális prefix kódokra igaz az 58.7. Lemma megfordítása:

58.8 Tétel Ha az X ábécé betűinek az X feletti C véges maximális prefixkódra vonatkoztatott rendjei relatív prímek, akkor C szinkron kód X felett.

Bizonyítás. Legyen az X ábécé feletti C maximális prefix kód véges. Az53.13. Lemma szerint X véges ábécé. Definiáljuk a C = (C,X, δ) végesautomata δ állapotfüggvényét a következőképpen:

(58.3) δ(q, x) =

{qx, ha qx ∈ C,e, ha qx ∈ C.

481

Page 482: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

(Ez az automata (57.5) szerint izomorf az (57.4)-ban megadott X∗/ρC erő-sen összefüggő automatával.) Jelölje az (1.4) és (1.5) kiterjesztések alapjánminden r ∈ C és p ∈ X∗ szóra r · p a δ(r, p) állapotsorozat utolsó állapotát.Legyen továbbá

C · p = {r · p ; r ∈ C} (p ∈ X∗).

Nyilvánvaló, hogy C · p ⊆ C, valamint minden p′, p ∈ X∗ párra

(58.4) C · p′p ⊆ C · p, |C · p′p| ≤ |C · p′|.

Legyen u ∈ X∗ olyan, amelyre minden p ∈ X∗ esetén

|C · u| ≤ |C · p|.

Az 52.14. és 53.5. Tételek szerint C jobbról teljes, ezért van olyan v ∈ X∗,amelyre t = uv ∈ C+. (58.4) szerint |C · t| = |C · u|. Továbbá az (58.3)definíció miatt e ∈ C · t.

Megmutatjuk, hogy C · t = e. Ez az 52.14. és 53.5. Tételek, valamint(58.3) szerint pontosan azt jelenti, hogy X∗t ⊆ C∗, azaz C szinkron kód.

Legyen az x ∈ X betű C-re vonatkoztatott rendje n, továbbá

J = {j ∈ N+ ; (C · t)xj ∩ C 6= ∅}

ésK = {k ∈ {0, . . . , n− 1} ; xkt ∈ C∗}.

Először megmutatjuk, hogy

(58.5) |J | = |C · t|.

Valóban, legyen p ∈ C · t(⊆ C). Minthogy C véges maximális kód, vanolyan j pozitív egész szám, amelyre pxj ∈ C. Mivel C prefix kód, ezértegyetlen ilyen j van. Ilyen módon minden p ∈ C · t szónak egyértelműenmegfeleltettünk egy pozitív egész számot. Ez C ·t egy ϕ szürjektív leképezéseJ-re. Tegyük fel, hogy p, p′ ∈ C·t, p 6= p′ és pxj, p′xj ∈ C. Ebből következik,hogy |C · txj| < |C · t|. Ez |C · t| minimalitása miatt lehetetlen. Tehát ϕbijektív, azaz |J | = |C · t|.

Legyen m = max{j + k ; j ∈ J, k ∈ K}. Nyilvánvalóan

m ≤ maxJ +maxK ≤ maxJ + n− 1.

Tekintsük aT = {m,m+ 1, . . . ,m+ n− 1}

482

Page 483: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

halmazt. Megmutatjuk, hogy |T | = |J ||K|. Ehhez legyen l ∈ T és mindenp ∈ C · t szóra legyen ψ(p) = p · xlt. Akkor

ψ(p) = (p · xl) · t ∈ C · t.

Így ψ(C · t) ⊆ C · t, azaz |C · t| minimalitása miatt ψ(C · t) = C · t, vagyis ψ aC · t halmaz permutációja. De e ∈ C · t, ezért egyetlen olyan pl ∈ C · t létezik,amelyre plalt ∈ C∗. Legyen jl az az egyetlen pozitív egész szám, amelyreplx

jl ∈ C. Akkor jl ∈ J , ahonnan jl ≤ m ≤ l. Legyen

(58.6) l = jl + an+ kl, (a ∈ N, 0 ≤ kl < n).

Ez egyértelműen definiálja kl-t, valamint

plxlt = (plx

jl)(xn)a(xklt).

Mivel plxjl ∈ C és C∗ bal unitér, ezért (xn)a(xklt) ∈ C∗, s így xklt ∈ C∗.Amiből következik, hogy kl ∈ K. Az előbbi konstrukció definiál egy

α : T → J ×K

leképezést, amelyre α(l) = (jl, kl). Ez a leképezés injektív. Valóban, ha l 6= l′,akkor vagy jl 6= jl′ , vagy következik (58.6)-ból és l 6≡ l′ (mod n) miatt, hogykl 6= kl′ .

Most megmutatjuk, hogy α szürjektív. Legyen (j, k) ∈ J ×K és legyena ∈ N , amelyre

l = j + an+ k ∈ T.

J definíciója szerint létezik (egyetlen) olyan q ∈ C · t, amelyre qxj ∈ C.A K halmaz definíciója miatt kapjuk, hogy qxlt ∈ C. Így q = pl, j = ll,k = kl jelölés mutatja, hogy α szürjektív, s ezért bijektív. Ebből következik,(58.5)-öt is felhasználva, hogy

n = |T | = |J ||K| = |C · t||K|,

azaz |C · t| osztója az x ∈ X betű C-re vonatkoztatott rendjének. Mivelx ∈ X tetszőleges betű volt és az X-beli betűk C-re vonatkoztatott rendjeia tétel feltétele szerint relatív prímek, ezért |C · t| = 1, vagyis C · t = e. �

Végül bizonyítás nélkül megemlítjük a következő érdekes és mély ered-ményt. Az egyáltalán nem könnyű bizonyítás megtalálható Jean Berstelés Dominique Perrin már idézett [3] monográfiájában.

58.9 Tétel Bármely X feletti C szemafor prefix kódhoz van olyan X felettiD szinkron szemafor prefix kód és olyan n pozitív egész szám, hogy C = Dn.

483

Page 484: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Feladatok58.1. Ha C egy X feletti maximális prefix kód, akkor Cn (2 ≤ n) aszinkron kód.58.2. Legyen C egy X feletti maximális prefix kód. Ha 2 ≤ n és C ′ ⊆ Cn, akkor(Cn − C ′) + C ′Cn aszinkron kód.

59. Hibajavító kódokA gyakorlatban valamely nyelven megadott információ továbbítása a követ-kezőképpen valósulhat meg. Az információs csatornán továbbítható (legtöbb-ször fizikai) jelek halmazát (csatornaábécé) leképezzük bijektív módon egyX ábécére. Egy adott, Y ábécéjű nyelven megírt szöveget betűnként kódo-lunk valamely X feletti nem triviális C kód elemeivel. A kapott X betűibőlálló szöveget betűnként a csatornaábécé jeleivé alakítva elküldjük a vevőnek.Az információ továbbításakor egyes jelek megváltozhatnak a továbbított jel-sorozatokban, vagyis a vevő hibás információt kaphat. Bizonyos kódok fel-használhatók hibák felismerésére ill. kijavítására is. Ebben a fejezetben ahibafelismerő és a hibajavító kódok egy rövid bevezetésével foglalkozunk.

A fejezetben végig legalább kételemű ábécé feletti kódokat tekintünk. Le-gyen C egy ilyen kód. Tegyük fel, hogy az információs csatorna a p ∈ C szó-ban bizonyos helyeken megváltoztatja a betűket. Ha az így kapott q szó elemeC-nek, akkor a vevő, hiába ismeri a C kódot, nem veszi észre a változást.Tegyük fel, hogy a vevő meg tudja mutatni, hogy q /∈ C. A hiba kijavításáraazonban nincs lehetősége akkor, ha van p-től különböző C-beli szó, amelybőlbizonyos betűk megváltoztatásával megkapható q. Ez indokolja a következődefiníciókat:

A C kódot h hibát felismerő kódnak nevezzük, ha a C-beli szavak leg-alább egy és legfeljebb h betűjének megváltoztatásával kapott szavak nemelemei C-nek. A h hibát felismerő C kódot h hibát javító kódnak hívjuk,ha bármely két különböző C-beli szó legalább egy és legfeljebb h betűjénekmegváltoztatásával kapott szavak is különbözőek.

Ha a C kódhoz van olyan h pozitív egész szám, amelyre C h hibát fel-ismerő [javító] kód, akkor C-t egyszerűen hibafelismerő [hibajavító] kódnakmondjuk.

A következő lemma mutatja, hogy bármely nemüres kódból szerkeszthe-tünk tetszőleges számú hibát felismerő [javító] kódot.

59.1 Lemma Ha C 6= ∅ kód, akkor minden h pozitív egész számra

Ch = {ph; p ∈ C}

kód, Ch+1 h hibát felismerő kód és C2h+1 h hibát javító kód.

484

Page 485: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Bizonyítás. A 49.8. Következmény szerint Ch kód. Mivel Ch ⊆ Ch, ezértCh is kód.

Legyen p ∈ C, |p| = k és q ∈ X+ a ph+1 szó legalább egy és legfeljebb hbetűjének megváltoztatásával kapott szó. Tegyük fel, hogy ph+1 i + jk-adikbetűje x ∈ X, a q szóé pedig y ∈ X (y 6= x), ahol 1 ≤ i ≤ k és 0 ≤ j ≤ h.A q szó definíciója miatt i + tk-adik betűi, ahol t = 0, 1, . . . , h, nem mindegyenlők y-nal, ezért q /∈ Ch+1.

Legyen továbbá q ∈ X+ a p2h+1 és r2h+1 (p, r ∈ C) szavakból legalábbegy és legfeljebb h betű megváltoztatásával kapott szó. Ebből |p|2h+1 = |q| =|r|2h+1 és így |p| = |r|. Ha p 6= r, akkor van olyan 1 ≤ i ≤ |p|, hogy p ésr i-edik betűje nem egyenlő. Ez pedig azt jelenti, hogy q nem kapható megp2h+1-ből és r2h+1-ből legfeljebb h betű megváltoztatásával. �

Az egyelemű kódok nyilvánvalóan hibafelismerő és egyúttal hibajavítókódok is. A legalább kételemű hibafelismerő [hibajavító] kódok vizsgálatáhozaz X∗ szabad monoidot metrikus térré tesszük.

Tekintsünk minden x1 . . . xk (x1, . . . , xk ∈ X) szót (x1, . . . , xk, xk+1, . . . )sorozatként, ahol xk+j = e (j = 1, 2, . . . ). (Az e üres szót fogjuk fel az(e, e, . . . ) sorozatként.) A d : X∗×X∗ → R függvényt Hamming távolságnaknevezzük, ha bármely p = (x1, . . . xk, xk+1, . . . ) és q = (y1, . . . , yl, yl+1, . . . )X∗-beli szóra

(59.1) d(p, q) = |{j;xj 6= yj}|.

Az X∗ szabad monoid a Hamming távolsággal metrikus teret alkot, amelyetazX feletti Hamming térnek is nevezünk. Speciálisan, bármely n nemnegatívegész számra Xn-et n dimenziós Hamming térnek nevezzük.

Ezek szerint C akkor és csak akkor h hibát javító kód, ha bármely q ∈ X+

szóhoz legfeljebb egy olyan p ∈ C szó van, amelyre d(q, p) ≤ h.Legyen C 6= ∅ tetszőleges kód és

DC = {d(p, q) : p 6= q, p, q ∈ C},

ahol d a Hamming távolság. A DC halmaz legkisebb elemét a C kód mini-mális távolságának nevezzük.

59.2 Lemma Minden legalább kételemű kód akkor és csak akkor h hibátfelismerő [javító] kód, ha minimális távolsága legalább h+ 1 [2h+ 1].

Bizonyítás. A definícióból következik, hogy legalább kételemű kód akkor éscsak akkor h hibát felismerő kód, ha minimális távolsága h+ 1.

Ha C nem h hibát javító kód, akkor vannak olyan r ∈ X+ és p, q ∈ C(p 6=q), amelyekre d(p, r) ≤ h és d(q, r) ≤ h. Ebből

d(p, q) ≤ d(p, r) + d(r, q) ≤ 2h,

485

Page 486: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz C minimális távolsága legfeljebb 2h.Megfordítva, tegyük fel, hogy C minimális távolsága legfeljebb 2h. Mivel

C h hibát felismerő kód, ezért minimális távolsága legalább h+1. Így vannakolyan p, q ∈ C kódszavak, amelyekre p 6= q és h+ 1 ≤ d(p, q) ≤ 2h. Legyen lolyan egész szám, amelyre 0 < l, d(p, q)−l ≤ h. Ha r ∈ X+ olyan szó, amelyetúgy kapunk a p szóból, hogy l számú, q megfelelő komponenseitől különbözőkomponenseit kicseréljük q-nak ezekre a komponenseire, akkor p 6= r, q 6= r,d(p, r) ≤ h és d(q, r) ≤ h, azaz C nem h hibát javító kód. �

59.3 Lemma Ha X legalább kételemű halmaz és ∅ ⊂ X ′ ⊂ X, akkor bár-mely X ′ feletti C korlátos kód átkódolható olyan X feletti uniform kóddá,amelynek minimális távolsága megegyezik C minimális távolságával.

Bizonyítás. Legyen n olyan pozitív egész szám, amelyre minden p ∈ Cesetén |p| ≤ n. Legyen továbbá y ∈ X −X ′ és

(59.2) D = {pyn−|p|; p ∈ C},

ahol y0 jelentse az üres szót. A D nyelv uniform kód X ′ + y felett. Mivelminden p, q ∈ C párra

d(p, q) = d(pyn−|p|, qyn−|q|),

ezért C és D minimális távolsága egyenlő. A ϕ(p) = pyn−|p| (p ∈ C) leképezésC átkódolása D-re. �

Természetesen az átkódoláshoz célszerű a legkisebb n-et, azaz a C-belileghosszabb szó (szavak) hosszát választani.

Az 59.3. Lemma alapján a X feletti h hibát felismerő [javító] korlátos(nem uniform) kódok, amelyek szavaiban nem fordul elő X minden eleme,átkódolhatók X feletti h hibát felismerő [javító] uniform kódokká. Egy át-kódolás a lemma bizonyításából leolvasható. Ha a korlátos kód szavaibanX minden eleme megtalálható, akkor tetszőleges y /∈ X jelet alkalmazva azeljárás egy X + y feletti uniform kódot ad. Ez azt jelenti, hogy korlátos,speciálisan véges, hibafelismerő [javító] kódok mindig tekinthetők uniformkódoknak. Ezt a következő eredmények bizonyításakor meg is tesszük.

59.4 Tétel Ha C az X ábécé feletti legalább kételemű n hosszúságú h hibátfelismerő kód, akkor

(59.3) |C| ≤ |X|n−h.

Bizonyítás. Mivel C minimális távolsága legalább h + 1, ezért ha példáultöröljük minden C-beli szó h hosszúságú prefixét, akkor Xn−h különbözőelemeit kapjuk. Ami pontosan azt jelenti, hogy |C| ≤ |X|n−h. �

486

Page 487: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az n hosszúságú C kódot (n hosszúságú h hibát javító) perfekt kódnaknevezzük, ha minden r ∈ Xn szóhoz pontosan egy olyan p ∈ C kódszó van,amelyre p 6= r és d(p, r) ≤ h. A kételemű perfekt kódokat triviális perfektkódoknak is mondjuk.

Az 59.2. Lemma szerint az n hosszúságú h hibát javító kódokban bármelykét különböző kódszó legalább 2h + 1 számú ugyanannyiadik komponensekülönböző. Mivel 2h+ 1 ≤ n, ezért n ≥ 3 és egy n hosszúságú kód legfeljebbn−1

2hiba kijavítására alkalmas. A következő tétel megmutatja, hogy egy n

hosszúságú h hibát javító kód legfeljebb hány szót tartalmaz.

59.5 Tétel Ha C az X ábécé feletti legalább kételemű n hosszúságú h hibátjavító kód, akkor

(59.4) |C| ≤ |X|nh∑k=0

(nk

)(|X| − 1)k

, 3 ≤ 2h+ 1 ≤ n,

ahol egyenlőség akkor és csak akkor teljesül, ha C perfekt.

Bizonyítás. Bármely C-beli p kódszóhoz(nk

)(|X| − 1)k számú Xn-beli szó

van, amely k számú komponense p ugyanannyiadik komponenseitől különbö-zik. Az n hosszúságú h hibát javító kód definíciója szerint

|C|(h∑k=0

(n

k

)(|X| − 1)k) ≤ |X|n,

s az egyenlőség pontosan akkor teljesül, ha C perfekt. �Ha C n hosszúságú h hibát javító bináris kód, akkor (59.4) szerint

(59.5) |C| ≤ 2n

h∑k=0

(nk

) , 3 ≤ 2h+ 1 ≤ n.

Ha C n hosszúságú egy hibát javító bináris kód, akkor 3 ≤ n és |C| ≤ 2n

n+1,

továbbá C abban az esetben perfekt, ha n+ 1 osztója 2n-nek.Nem nehéz megmutatni, hogy minden h pozitív egész számhoz van h

hibát javító triviális perfekt bináris kód. (Ha X = {0, 1}, akkor például{02h+1, 12h+1} ilyen.)

Ha n = 3, akkor (59.5)-ből következik, hogy |C| ≤ 2. Ha X = {0, 1},akkor a triviális perfekt bináris kódok:

{000, 111}, {001, 110}, {010, 101}, {100, 011}

487

Page 488: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

bináris kódok.Ha n = 4, akkor |C| ≤ 16

5, azaz nincs egy hibát javító perfekt bináris kód.

Nincs háromelemű egy hibát javító bináris kód sem. Ha X = {0, 1}, akkor{0000, 1110} egy triviális egy hibát javító bináris kód.

60. Optimális kódokEbben a fejezetben azzal a gyakorlati kérdéssel foglalkozunk, hogy milyenmódon lehet a közlemények küldésének költségét csökkenteni.

Az információs csatorna adott számú, legtöbbször két különböző jel to-vábbítására alkalmas ún. bináris csatorna. Ezek a csatornák a legegyszerűb-bek, ezenkívül a különböző jelek számának növelésével a jelek továbbításakorfellépő hibák száma is növekedhet. Az üzenetek küldésének költsége nyil-vánvalóan függ az üzenetek hosszától. A hírközlési rendszerek üzemeltetésemeglehetősen költséges, arra kell tehát törekedni, hogy egy adott közleménytovábbítása a lehető legrövidebb ideig vegye igénybe a rendszert, vagyis olyankódot kell választani, hogy a kódolt szöveg hossza, tehát a továbbítás költsé-ge a lehető legkisebb legyen. Ehhez a közleményben gyakrabban előfordulóbetűkhöz kisebb hosszúságú kódszavakat kellene rendelni, mint a ritkábbanelőforduló betűkhöz. Például egy magyar nyelvű közleményben az a, e, . . . be-tűket általában rövidebb kódszavakkal kellene kódolni, mint például a c, f, . . .betűket. Adott közleményhez a legkisebb költségű kód megkeresése annyiramegnehezítené az információközlés folyamatát, hogy ez az út nem járható.Olyan kódok meghatározását tűzzük ki célul, amelyek a közlemények rend-szeres továbbítását a lehető legkisebb költséggel teszik lehetővé. Ennek agyakorlati kérdésnek egzakt matematikai tárgyalásához bevezetjük az infor-máció mértékét, s ennek segítségével definiáljuk azokat a kódokat, amelyeketa gyakorlatban legkisebb költséggel tudunk alkalmazni.

A természetes nyelveken közölt információk közül számunkra egyesek ér-tékesebbek más információknál, vagyis az információknak valamilyen értékettulajdonítunk. Természetesen ez az értékelés nagymértékben szubjektív ésszámításokra nem alkalmas. Mérhetnénk egy p ∈ Y ∗ szóval megfogalmazottinformációt a p szó hosszával. Így azonban minden egyenlő hosszúságú köz-lemény információtartalma egyenlő lenne, ami csak akkor lenne elfogadható,ha a betűk előfordulási valószínűségei közel egyenlőek lennének.

Az információelméletben az információ mértékét az előfordulási valószí-nűségek bizonyos függvényeként értelmezik. Ehhez szorítkozzunk a fejezettovábbi részében csak véges ábécékre. Legyen Y tetszőleges véges ábécé ésπ az Y egy Bernoulli mértéke. Ha π(y) > 0, akkor az y ∈ Y jel informá-ciótartalmán értjük a log2

1π(y)

pozitív valós számot. Ez összhangban van

488

Page 489: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azzal a tapasztalattal, hogy a sűrűbben előforduló jelek kevesebb informá-ciót nyújtanak számunkra, mint a ritkábban előfordulók. Annak, hogy azinformációtartalomban 2 alapú logaritmus szerepel, kizárólag technikai okaivannak. Az információ továbbítása ugyanis elsősorban bináris csatornákonvalósul meg.

Ha Y = {y1, . . . , yk}, akkor az egy jelre jutó átlagos információtartalmat,azaz az

(60.1) E(π) =k∑j=1

π(yj) log2

1

π(yj)

számot az Y ábécé (π-re vonatkoztatott) entrópiájának nevezzük. (Ha π(y) =0, akkor legyen π(y) log2

1π(y)

= 0.)Megmutatjuk, hogy E(π) ≤ log2 k. Felhasználva, hogy tetszőleges pozitív

x-re lnx ≤ x− 1,

E(π)− log2 k =k∑j=1

π(yj) log2

1

π(yj)−

k∑j=1

π(yj) log2 k =

=k∑j=1

π(yj) log2

1

kπ(yj)=

1

ln 2

k∑j=1

π(yj) ln1

kπ(yj)≤

≤ 1

ln 2

k∑j=1

π(yj)(1

kπ(yj)− 1) =

1

ln 2(k∑j=1

1

k−

k∑j=1

π(yj)) = 0,

azaz E(π)− log2 k ≤ 0. Elemi függvénytani eszközökkel az is megmutatható,hogy E(π) = log2 k akkor és csak akkor, ha π(yj) = 1

k(j = 1, . . . , k). Ez

azt jelenti, hogy egy ábécé entrópiája akkor a legnagyobb, s ez az értéklog2 k, ha π egyenletes eloszlás, azaz minden betűnek egyenlő az előfordulásivalószínűsége.

Az entrópia elnevezés a statisztikus mechanikából ered, ahol ezt a mennyi-séget fizikai rendszerek rendezettségének vagy másképpen megfogalmazva arendszerek információtartalmának mérésére használják. Az entrópia egységea bit. Egy bit entrópiája van például egy kételemű ábécének, ha mindkételem előfordulási valószínűsége 1

2. Ha egy k elemű ábécé minden elemének

előfordulási valószínűsége egyenlő, azaz 1k, akkor entrópiája log2 k. Ha más

alapú logaritmus szerepelne a definícióban, akkor az csak azt jelentené, hogyaz információtartalom egysége más lenne. Például k alapú logaritmus ese-tén az utóbbi ábécé entrópiája lenne egységnyi, s az előbbi kételemű ábécéentrópiája pedig logk 2 = (log2k)−1.

489

Page 490: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Egyelemű ábécé feletti nyelven írt közleményeket a legkisebb költséggelegyetlen jellel lehet továbbítani. Az ilyen közleményeknek azonban nincs gya-korlati jelentőségük. Ezért feltehetjük, hogy a közlemények legalább kétfélebetűt tartalmaznak.

Legyen π a legalább kételemű Y ábécé egy Bernoulli eloszlása és ϕ az Yábécé kódolása egy X ábécé feletti C kóddal. A

(60.2) K(π, ϕ) =∑y∈Y

π(y)|ϕ(y)|,

számot a ((π, ϕ)-re vonatkoztatott) jelköltség várható értékének nevezzük.Nyilvánvaló, hogy K(π, ϕ) ≥ 1. Ha ϕ az Y kódolása a C kódra, akkorK(π, ϕ) helyett a K(π,C) jelölést is használjuk. Az 53.3. Tétel szerint C-nek van szóhossztartó átkódolása egy C ′ prefix kódra. Nyilvánvaló, hogyK(π,C) = K(π,C ′).

A ϕ kódolástm elemű ábécé felett (π-re) optimálisnak, a C kódot pedigmelemű ábécé felett (π-re) optimális kódnak nevezzük, ha Y bármely m eleműábécé feletti ϕ′ kódolására K(π, ϕ) ≤ K(π, ϕ′). A kételemű ábécé felettioptimális kódokat optimális bináris kódoknak hívjuk.

A gyakorlatban az optimális kódok költségcsökkentő szerepét a követ-kező tapasztalatok igazolják. Ha elég sok vagy elég hosszú adott nyelvű,például magyar közleményben megvizsgáljuk az Y ábécé betűinek relatívgyakoriságát, azaz előfordulásuk számát elosztjuk a közlemény hosszával, azttapasztaljuk, hogy a betűk relatív gyakorisága stabilitást mutat, azaz vala-milyen 1-nél kisebb nemnegatív valós szám körül ingadozik. Ez a szám azadott betű előfordulási valószínűsége az adott nyelvben. Jelöljük az y ∈ Ybetű előfordulási valószínűségét π(y)-nal. A nagy számok törvénye szerintez a valószínűség tetszőleges pontossággal megközelíthető. A betűk előfor-dulásait a közleményekben egymástól függetlennek vehetjük. Az így kapottπ(y) (y ∈ Y ) valószínűségeloszlás az Y ábécé egy Bernoulli eloszlásának te-kinthető. Már említettük, hogy elgondolhatjuk úgy, hogy a jelforrás az ábécébetűit (jeleit) véletlenszerűen, egymás után a π valószínűségeloszlás szerintegymástól függetlenül bocsátja ki, azaz egy n hosszúságú közlemény a jel-forrás által véletlenszerűen kibocsátott n hosszúságú jelsorozat. Ha az nhosszúságú közleményben az y ∈ Y betű gyakorisága r(y) és ϕ az Y halmazegy kódolása a C kóddal, akkor a kódszavak átlagos hossza, vagyis az egybetűre jutó átlagos jelköltség

(60.3)∑y∈Y

r(y)

n|ϕ(y)|.

Elég hosszú vagy elég sok közlemény esetén (60.3) jól megközelíti (60.2)-t.Ez indokolja azt, hogy (60.2)-t a jelköltség várható értékének nevezzük.

490

Page 491: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

60.1 Lemma Ha Y = {y1, y2, . . . , yk} (k ≥ 2) és π az Y ábécé Bernoullieloszlása, akkor Y bármely ϕ kódolása esetén

(60.4)E(π)

log2 k≤ K(π, ϕ).

Bizonyítás. Ha valamely yj-re π(yj) = 0, akkor az E(π) és a K(π, ϕ) össze-gekben a π(yj) tényezőt tartalmazó tag 0. Ezért az általánosság megszorításanélkül feltehetjük, hogy minden yj ∈ Y elemre π(yj) > 0. Akkor

E(π)

log2 k−K(π, ϕ) =

k∑j=1

π(yj) logkk−|ϕ(yj)|

π(yj).

Mivel tetszőleges pozitív x-re lnx ≤ x− 1, ezért

E(π)

log2 k−K(π, ϕ) =

1

ln k

k∑j=1

π(yj) lnk−|ϕ(yj)|

π(yj)≤ 1

ln k

k∑j=1

π(yj)(k−|ϕ(yj)|

π(yj)− 1) =

1

ln k(k∑j=1

k−|ϕ(yj)| −k∑j=1

π(yj)) =1

ln k(k∑j=1

k−|ϕ(yj)| − 1).

A Szilárd–Kraft–McMillan egyenlőtlenségből kapjuk, hogy E(π)log2 k−K(π, ϕ) ≤

0. �

60.2 Lemma Ha Y = {y1, y2, . . . , yk} (k ≥ 2) és π az Y pozitív Bernoullieloszlása, akkor bármely 2 ≤ m esetén van Y -nak olyan m elemű ábécé felettiϕ prefix kódolása, amelyre

(60.5) K(π, ϕ) ≤ E(π)

log2m+ 1.

Bizonyítás. Legyen lj (j = 1, . . . , k) az a legkisebb egész szám, amely nemkisebb mint logm

1π(yj)

. Nyilvánvaló, hogy lj > 0 (j = 1, . . . , k) és

k∑j=1

m−lj ≤k∑j=1

m− logm

1π(yj) =

k∑j=1

mlogm π(yj) =k∑j=1

π(yj) = 1.

Az 53.1. Lemma szerint van olyan m elemű ábécé feletti C = {p1, . . . , pk}prefix kód, amelyre |pj| = lj (j = 1, . . . , k). Legyen ϕ az Y ábécének az akódolása, amelyre ϕ(yj) = pj (j = 1, . . . , k) teljesül. Akkor

K(π, ϕ) =k∑j=1

π(yj)lj ≤k∑j=1

π(yj)(logm1

π(yj)+ 1) =

E(π)

log2m+ 1.�

491

Page 492: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha k ≤ m, akkor Y triviális kódolása egy m elemű ábécébe az Y -nakprefix kódolása. Ezért gyakorlati szempontból a 60.2. Lemma állítása 2 ≤m < k esetekben érdekes, különösen az m = 2 eset, azaz bináris prefix kódravaló kódolás.

60.3 Tétel Ha Y = {y1, y2, . . . , yk} (k ≥ 2) és π az Y pozitív Bernoullieloszlása, akkor van Y -nak bármely 2 ≤ m elemű ábécé feletti π-re optimálisprefix kódolása. Ha k > 2, akkor Y -nak k − 1 elemű ábécé feletti π-reoptimális prefix kódolása Y -nak π-re optimális prefix kódolása.

Bizonyítás. A 60.1. Lemma szerint Y minden kódolásának költsége na-gyobb vagy egyenlő, mint az E(π)log2 k

−1. Legyen ϕ az Y ábécének olyan2 ≤ m elemű ábécé feletti kódolása, amelyre K(π, ϕ) ≤ E(π)

log2m+ 1. A 60.2.

Lemma szerint ilyen létezik. Akkor

1 ≤ ϕ(yj) ≤E(π) + 1

π(yj)(j = 1, . . . , k).

Ha ugyanis volna olyan yj, amelyre ϕ(yj) >E(π)log2m

+1

π(yj), akkor

K(π, ϕ) ≥ π(yj)ϕ(yj) >E(π)

log2m+ 1

teljesülne, ami a feltevés miatt lehetetlen. Véges sok olyan, pozitív egészszámokból álló l1, . . . , lk sorozat van, amely eleget tesz az

1 ≤ lj ≤E(π)

log2m+ 1

π(yj)(j = 1, . . . , k)

egyenlőtlenségrendszernek. Ezért Y -nak véges sok olyan ϕ kódolása van melemű ábécé felett, amely eleget tesz a K(π, ϕ) ≤ E(π)

log2m+ 1 feltételnek.

Így ezek között Y -nak van m elemű ábécé feletti (π-re) optimális kódolá-sa. Legyen ϕ egy ilyen optimális kódolás. Vezessük be a ϕ(yj) = lj (j =1, . . . , k) jelöléseket. Az 53.3. Tétel szerint van olyan m elemű ábécé fe-letti C = {p1, . . . , pk} prefix kód, amelyre |pj| = lj (j = 1, . . . , k). Aϕ′(yj) = pj (j = 1, . . . , k) leképezés Y m elemű ábécé feletti (π-re) opti-mális kódolása a C prefix kódra.

Ha k > 2, akkor bármely 2 ≤ m < k esetén egy m elemű ábécé feletti(π-re) optimális kódolás Y nem triviális kódolása. Ezek között, a végességmiatt, van olyan kód, amely jelköltségének várható értéke a legkisebb. Az53.3. Tétel szerint ennek is van szóhossztartó prefix átkódolása. Másrészről,ha Y -t egy j elemű A ábécé felett, ill. egy k−1 elemű B ábécé felett kódoljuk

492

Page 493: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

és 2 ≤ j < k− 1, akkor feltehető, hogy A ⊂ B. Ha C az Y -nak egy B felettioptimális kódja, akkor van olyan a ∈ A, hogy a /∈ B, s így a /∈ C. Mivelj < k, ezért C nem triviális kód. Ha kicseréljük a-val C valamelyik legalábbkettő hosszúságú szavát, akkor Y -nak olyan A feletti kódolását kapjuk, amelyjelköltségének várható értéke kisebb, mint C jelköltségének várható értéke.Ez éppen azt jelenti, hogy Y -nak k − 1 elemű ábécé feletti π-re optimálisprefix kódolása Y -nak π-re optimális prefix kódolása. �

A k ≤ m esetben a 60.3. Tétel állítása érdektelen gyakorlati szempontból,hiszen ekkor Y -nak tetszőleges m elemű ábécébe való ϕ trivális kódolása Yoptimális prefix kódolása, mivel K(π, ϕ) = 1.

60.4 Lemma Minden optimális kód maximális vagy korlátos.

Bizonyítás. Legyen Y tetszőleges ábécé és π az Y egy Bernoulli eloszlása.Legyen ϕ az Y -nak az X ábécé feletti C kódra (π-re ) optimális kódolása.Tegyük fel, hogy C nem maximális kód. Akkor van van olyan p ∈ X+, hogyC+p is kód X felett. Legyen q a C kód olyan eleme, amelyre |p| < |q|. Mivelegy kód minden részhalmaza is kód, ezért D = (C + p) − q is kód X felett.Tekintsük Y -nak azt a D-re való ϕ′ kódolását, amelyre ϕ′(y) = ϕ(y), haϕ(y) 6= q, és ϕ′(y) = p, ha ϕ(y) = q. Nyilvánvaló, hogy K(π, ϕ′) < K(π, ϕ).Ez pedig ellentmondásban van azzal, hogy C (π-re) optimális kód. Ez aztjelenti, hogy bármely q ∈ C elemre |q| ≤ |p|, azaz C korlátos kód. �

Az 53.3. Tétel szerint minden (optimális) kód átkódolható szóhossztar-tó (optimális) prefix kóddá egy adott ábécé felett, ezért a továbbiakban azegyszerűbb szerkezetű optimális prefix kódokra, s ezek közül is a gyakorlatiszempontból legfontosabb optimális bináris prefix kódok vizsgálatára szorít-kozunk. Az optimális bináris prefix kódokra megadunk néhány eredményt,amelyekből egyszerű eljárás kapható optimális bináris prefix kódok szerkesz-tésére.

60.5 Tétel Minden optimális bináris prefix kód maximális.

Bizonyítás. Legyen Y tetszőleges (legalább kételemű) ábécé, π az Y egyBernoulli eloszlása, ϕ pedig Y optimális kódolása az {a, b} ábécé feletti Cprefix kódra. Tegyük fel, hogy C nem maximális prefix kód. Az 53.6. Lemmaszerint C nem maximális kód. A 60.4. Lemmát felhasználva, kapjuk, hogyC korlátos. Jelölje a C-beli kódszavak hosszának maximumát n. Mivel Ylegalább kételemű és C nem maximális kód, ezért C 6= {a, b}, s így n > 1.Az 52.14. és az 53.5. Tételekből következik, hogy létezik olyan legalább nhosszúságú p ∈ {a, b}+ szó, amelynek nincs C-beli kezdőszelete. Ezért, ha r ap n hosszúságú kezdőszelete, akkor r-nek egyetlen kezdőszelete sem eleme C-nek. Tegyük fel például, hogy r = qa (q ∈ {a, b}n−1). Akkor q kezdőszeletei

493

Page 494: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

sem elemei C-nek. Ha qb ∈ C, akkor D = (C − qb) + q is prefix kód {a, b}felett. Legyen ϕ′(y) = ϕ(y), ha ϕ(y) 6= qb és ϕ′(y) = q, ha ϕ(y) = qb.A ϕ′ leképezés Y olyan kódolása D-re, amelyre K(π, ϕ′) < K(π, ϕ). Ezazonban lehetetlen, ezért qb /∈ C. Akkor viszont q egyetlen C-beli szónaksem kezdőszelete. Ha kicseréljük q-val C egy n hosszúságú szavát, akkorugyanúgy, mint az előbb, olyan prefix kódot kapunk, amely jelköltségénekvárható értéke kisebb K(π, ϕ)-nél, ami szintén ellentmond a feltételnek. ÍgyC maximális prefix kód. �

Legyen Y = {yj : j ∈ I} megszámlálható halmaz és π az Y Bernoullieloszlása. Nyilvánvalóan Y átindexelhető úgy, hogy a π(yj) (j ∈ I) sorozatmonoton csökkenő legyen. Ez az átindexelés a jelköltség várható értékét nemváltoztatja meg. Az alábbi két tételben az Y ábécét így adjuk meg.

60.6 Tétel Ha az Y = {y1, y2, . . . , yk} (2 ≤ k) ábécé π pozitív Bernoullieloszlására

π(y1) ≥ π(y2) ≥ π(yk−1 ≥ π(yk),

akkor van olyan ϕ optimális prefix kódolása az {a, b} ábécé felett, amelyre

|ϕ(y1)| ≤ |ϕ(y2)| ≤ · · · ≤ |ϕ(yk−1)| = |ϕ(yk)|,

és ϕ(yk−1) = qa, ϕ(yk) = qb (q ∈ {a, b}∗).

Bizonyítás. Legyen ϕ1 az Y egy optimális prefix kódolása az {a, b} ábécéfelett. A 60.3. Tétel szerint ilyen létezik. Vezessük be a |ϕ1(yj)| = lj (j =1, . . . , k) jelöléseket.

Tegyük fel, hogy li > lj valamely i < j párra. Ekkor a tétel előttimegállapodás szerint π(yi) ≥ π(yj). Ha π(yi) > π(yj), akkor cseréljük fel aϕ1(yi) és ϕ1(yj) kódszavakat, vagyis yi-hez rendeljük ϕ1(yj)-t, yj-hez pedigϕ1(yi)-t. Így Y egy prefix kódolásához jutunk {a, b} felett. Mivel

π(yi)(li − lj) > π(yj)(li − lj),

vagyisπ(yi)li + π(yj)lj > π(yi)lj + π(yj)li.

Ebből viszont az adódik, hogy az így kapott prefix kódolás jelköltségénekvárható értéke kisebb ϕ1 jelköltségének várható értékénél. Ez azonban lehe-tetlen, mert ϕ1 optimális prefix kódolás {a, b} felett.

Ezért π(yi) = π(yj). Ha most is felcseréljük a ϕ1(yi) és ϕ1(yj) kódsza-vakat, vagyis yi-hez rendeljük ϕ1(yj)-t, yj-hez pedig ϕ1(yi)-t, akkor Y -nakismét egy optimális prefix kódolását kapjuk {a, b} felett, de eggyel csökken

494

Page 495: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azoknak a i < j pároknak a száma, amelyekre li > lj. Az ilyen esetek lépé-senkénti kiküszöbölésével Y olyan ϕ2 optimális prefix kódolását kapjuk {a, b}felett, amelyre

l1 ≤ l2 ≤ · · · ≤ lk−1 ≤ lk.

Tegyük fel, hogy lk−1 < lk. Jelölje r a ϕ2(yk) kódszó lk−1 hosszúsá-gú kezdőszeletét. Mivel r hossza lk−1, ezért r nem lehet kezdőszelete aϕ2(yj) (j = 1, . . . , k − 1) kódszavak egyikének sem. Ha ϕ2(yk)-t kicserél-nénk r-rel, akkor Y olyan prefix kódolását kapnánk, amely jelköltségénekvárható értéke kisebb ϕ2 jelköltségének várható értékénél. Ez lehetetlen,ezért lk−1 = lk.

Legyen végül

ϕ2(yk−1) = qa, ϕ2(yk) = q′x (x ∈ {a, b}, q, q′ ∈ {a, b}∗).

Tegyük fel első esetként, hogy vannak lk hosszúságú qa és qb (q ∈ {a, b}∗)kódszavak. Akkor, ha szükséges, felcseréljük ϕ2(yk−1)-et qa-val és ϕ(yk)-tqb-vel. Ilyen módon Y olyan ϕ optimális prefix kódolásához jutunk {a, b}felett, amely eleget tesz a tétel állításainak.

Tegyük fel második esetként, hogy nincsenek lk hosszúságú

qa, qb (q ∈ {a, b}∗)

alakú kódszavak, de vannak lk hosszúságú

qx, q′x (x ∈ {a, b}, q 6= q′, q, q′ ∈ {a, b}∗)

alakúak. Legyen például x = a. Ekkor q a qa-n kívül egyetlen kódszónaksem kezdőszelete. Mivel qa kódszó, ezért egy kódszó sem kezdőszelete q-nak,így q′a-t qb-vel kicserélve, Y -nak az első esetben megvizsgált típusú optimálisprefix kódolásához jutunk.

Tegyük fel utolsó esetként, hogy bármely két lk hosszúságú kódszó

qa, q′b (q 6= q′, q, q′ ∈ {a, b}∗)

alakú. A q′b kódszót kicserélve qb-vel, ismét visszavezetjük a kérdést az elsőesetre. �

60.7 Tétel Legyen megadva az Y = {y1, y2, . . . , yk} (2 ≤ k) ábécé π pozitívBernoulli eloszlása úgy, hogy

π(y1) ≥ π(y2) ≥ · · · ≥ π(yk−1) ≥ π(yk).

495

Page 496: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen továbbá C = {p1, p2, . . . , pk} az Y egy optimális prefix kódja {a, b}felett. Tegyük fel, hogy π(yj) = t1 + t2 (t1 ≥ t2 > 0) és

π(y1) ≥ π(y2) ≥ · · · ≥ π(yj−1) ≥ π(yj+1) ≥ · · · ≥ π(yk) ≥ t1 ≥ t2

az Y ′ = {y1, y2, . . . , yk, yk+1} ábécé egy π′ Bernoulli eloszlása. Akkor

C ′ = {p1, p2, . . . , pj−1, pj+1, . . . , pk, pja, pjb}

az Y ′ ábécé egy optimális prefix kódja {a, b} felett és

K(π′, C ′) = K(π,C) + π(yj).

Bizonyítás. Mivel C prefix kód, ezért C ′ is prefix kód. Továbbá

K(π,C ′) = π(y1)|p1|+ · · ·+ π(yj−1)|pj−1|+

+π(yj+1)|pj+1|+ · · ·+ π(yk)|pk|+ t1|pja|+ t2)|pjb| =

= π(y1)|p1|+ · · ·+ π(yj−1)|pj−1|+

+π(yj+1)|pj+1|+ · · ·+ π(yk)|pk|+ (t1 + t2)(|pj|+ 1) =

= π(y1)|p1|+ · · ·+ π(yj)|pj|+ · · ·+ π(yk)|pk|+ π(yj) = K(π,C) + π(yj).

Az előző tételből következik, hogy Y ′-nek van π′-re optimális kódolása az{a, b} ábécé felett olyan D′ = {q1, q2, . . . , qk−1, qa, qb} prefix kódra, amelyre

|q1| ≤ |q2| ≤ · · · ≤ |qk−1| ≤ |qa| = |qb|.

Nem nehéz belátni, hogy D = {q1, . . . , qj−1, q, qj+1, . . . , qk−1} is prefix kód{a, b} felett, s nyilvánvalóan van Y -nak egy kódolása D-re. Ugyanúgy, mintaz előbb, belátható, hogy K(π′, D′) = K(π,D) + π(yj). Mivel C az Y opti-mális prefix kódja {a, b} felett, ezért K(π,C) ≤ K(π,D), s így

K(π′, D′) = K(π,D) + π(yj) ≤ K(π,C) + π(yj) = K(π′, C ′).

De D′ az Y ′ optimális prefix kódja {a, b} felett, ezért K(π′, D′) ≤ K(π′, C ′).Ebből következik, hogy K(π′, D′) = K(π′, C ′), azaz C ′ is optimális prefixkódja Y ′-nek {a, b} felett. Továbbá K(π′, C ′) = K(π,C) + π(yj). �

A 60.7. Tétel lehetőséget nyújt arra, hogy k + 1 betűs ábécé binárisoptimális prefix kódjának keresését visszavezessük (2 ≤)k elemű ábécé binárisoptimális prefix kódjának keresésére. Legtöbbször bináris ábécéként a {0, 1}halmazt használjuk. Most leírjuk ezt az eljárást. Ezt az eljárást Huffmannalgoritmusnak, az eljárással kapott kódokat Huffmann kódoknak nevezzük.

496

Page 497: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyenek az A = {a1, a2, . . . , ak, ak+1} (k ≤ 2) ábécé betűinek előfordulásivalószínűségei rendre

t1 ≥ t2 ≥ · · · ≥ tk ≥ tk+1.

Tekintsünk ekkor egy B = {b1, b2, . . . , bn} ábécét, amely betűinek előfordulásivalószínűségei legyenek rendre

t1 ≥ t2 ≥ · · · ≥ tj−1 ≥ tk + tk+1 ≥ tj+1 ≥ · · · ≥ tk−1.

Ha{p1, p2, . . . , pk}

a B ábécé bináris optimális prefix kódja, akkor

{p1, p2, . . . , pj−1, pj+1, . . . , pk, pj0, pj1}

az A ábécé bináris optimális prefix kódja.Az ábécé betűinek számát fokozatosan csökkentve, végül eljutunk ahhoz

a feladathoz, amelynél a kétbetűs {0, 1} ábécéhez kell bináris optimális prefixkódot megadnunk. Ilyen azonban csak egy van, mégpedig a {0, 1} triviáliskód.

60.8 Példa Legyen egy 9 elemű ábécé betűinek előfordulási valószínűségei-nek csökkenő sorozata

0, 20; 0, 17; 0, 19; 0, 15; 0, 15; 0, 10; 0, 08; 0, 05; 0, 05; 0, 05.

Adjunk meg Huffmann algoritmussal az ábécéhez bináris optimális prefixkódot.

Legyen a 9 elemű ábécé

{1, 2, 3, 4, 5, 6, 7, 8, 9}

és a k betű előfordulási valószínűsége a megadott sorozat k-adik eleme. Adjukössze az utolsó két valószínűséget, s adjuk meg ismét a kapott valószínűségek

0, 20; 0, 17; 0, 19; 0, 15; 0, 15; 0, 10; 0, 10; 0, 08; 0, 05

csökkenő sorozatát. Legyen a sorozatnak megfelelő 8 elemű ábécé

{1, 2, 3, 4, 5, 89, 6, 7}.

497

Page 498: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ezt folytassuk addig, amíg kételemű ábécéig jutunk. A kapott ábécéketcélszerűség miatt fordított sorrendben adtuk meg:

{(23)(4(67)), 1(5(89))}, {1(5(89)), 23, 4(67)}, {23, 4(67), 1, 5(89)},

{4(67), 1, 5(89), 2, 3}, {1, 5(89), 2, 3, 4, 67}, {1, 2, 3, 4, 67, 5, 89},

{1, 2, 3, 4, 5, 89, 6, 7}, {1, 2, 3, 4, 5, 6, 7, 8, 9}

A kételemű ábécé egyetlen bináris optimális prefix kódja {0, 1}. A 60.7.Tételt használva a {0, 1} kódból kiindulva meg tudunk adni a kapott ábé-cékhez bináris optimális prefix kódokat:

{0, 1}, {1, 00, 01}, {00, 01, 10, 11}, {01, 10, 11, 000, 001},

{10, 11, 000, 001, 010, 011}, {10, 000, 001, 010, 011, 110, 111},

{10, 000, 001, 010, 110, 111, 0110, 0111},

{10, 000, 001, 010, 110, 0110, 0111, 1110, 1111}.

Ha az eljárásban bárhol a 0-t és 1-et fordított sorrendben írjuk a szavakvégéhez, akkor ugyanilyen hosszúságú szavakat kapunk, de nem biztos, hogyugyanezeket a kódszavakat.

498

Page 499: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

MEGOLDÁSOK, ÚTMUTATÓK2.1. A λ kimenetfüggvény szürjektív, ezért minden y ∈ Y kimenő jelhez van olyana ∈ A és x ∈ X, hogy y = λ(a, x). Legyenek b ∈ B és p ∈ X∗ olyanok, hogya = bp. Így y = λ(bp, x), amely (3.1) szerint a λ(b, px) kimeneti szó utolsó betűje.2.2. A B halmaz generátorrendszere az A automata [B] részautomatájának. Le-gyen B az A minimális kimeneti generátorrendszere és C ⊆ B a [B] automata egygenerátorrendszere. Így minden b ∈ B állapothoz van olyan c ∈ C és q ∈ X∗,hogy b = cq. Az előző feladat megoldását is felhasználva, kapjuk, hogy C az Aautomata kimeneti generátorrendszere, így C = B.2.3. Nem. Ezt a következő példa is mutatja:

A 1 2 3

x1 (1, y1) (2, y2) (3, y1)x2 (1, y1) (2, y2) (3, y2)

Az {1, 2} és a {3} halmazok az A minimális kimeneti generátorrendszerei.2.4. Nem. Az előző megoldásban szereplő automata egyetlen minimális generá-torrrendszere az állapothalmaz. Ez azonban nem minimális kimeneti generátor-rendszer.3.1. Ha (α, β, γ) az A = (A,X, Y, δ, λ) Mealy automata általános homomorf [izo-morf] leképezése az A′ = (A′, X ′, Y ′, δ′, λ′) automatára, akkor az ((α, γ), β) leké-pezés AY -nak A′Y ′-re való általános homomorf [izomorf] leképezése.3.2. Megmutatjuk, hogy a δ függvény jól definiált, azaz egyértékű. Legyen β(x1) =β(x2) (x1, x2 ∈ X. Akkor minden a ∈ A állapotra

α(δ(a, x1)) = δ′(α(a), β(x1)) = δ′(α(a), β(x2)) = α(δ(a, x2)).

Mivel α injektív, ezért minden a ∈ A állapotra δ(a, x1) = δ(a, x2).3.3. L. a 3.1. Tétel bizonyítását!4.1

ιA ⊂ ρ ⊂ τ ⊂ ωA ⇐⇒ ιA/ρ ⊂ τ/ρ ⊂ ωA/ρ.

4.2 Legyen ϕ A homomorf leképezése B-re és ρ B tetszőleges kongruenciája. De-finiáljuk a ρ′ relációt a következő módon:

(a, b) ∈ ρ′ (a, b ∈ A) ⇐⇒ (ϕ(a), ϕ(b)) ∈ ρ.

A ρ→ ρ′ megfeleltetés C(B) izomorf leképezése C(A)-ba.5.1. Először mutassuk meg, hogy ha például A′ ⊆ A”, akkor R(ωA′) ◦ R(ωA”) =R(ωA”) = R(ωA”)◦R(ωA′). Ezután legyen A′∩A” = ∅. Ha (a, b) ∈ R(ωA′)◦R(ωA”),akkor van olyan c ∈ A, amelyre (a, c) ∈ R(ωA′) és (c, b) ∈ R(ωA”). Ha a ∈ A′, akkorc ∈ A′, így c = b vagy b ∈ A′, azaz (a, b) ∈ R(ωA′). Ha pedig a /∈ A′, akkor (a, b) ∈R(ωA”). Tehát (a, b) ∈ R(ωA”)◦R(ωA′), vagyis R(ωA′)◦R(ωA”) ⊆ R(ωA”)◦R(ωA′).A fordított tartalmazás hasonlóan igazolható. Megfordítva, mutassuk meg, hogyha A′ 6⊆ A”, A” 6⊆ A′ és A′ ∩A” 6= ∅, akkor R(ωA′) ◦R(ωA”) 6= (ωA”) ◦R(ωA′).

499

Page 500: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

5.2. A ϕ(B) = R(ωB) feltétellel definiált ϕ : Sub(A) → Rees(A) leképezésSub(A) homomorf leképezése Rees(A)-ra. Az A automata legalább kételemű Bés C részautomatáira R(ωB) = R(ωC) akkor és csak akkor, ha B = C. Ha pedigaz A-nak D részautomatájára R(ωD) = R(ω∅) = ιA, akkor |D| ≤ 1.5.3. Legyen A = (A,X, Y, δ, λ[µ]) egyszerű Mealy [Moore] automata. Ez aztjelenti, hogy A-nak ιA-n és esetleg ωA-n kívül nincs más kongruenciája. Tegyük fel,hogy az A automata A′ = (A′, X, Y ′, δ, λ′) részautomatája nem egyszerű. AkkorA′-nek van olyan ρ kongruenciája, hogy ιA′ 6= ρ, valamint, ha ωA′ kongruencia,akkor ωA′ 6= ρ. Ha R(ρ) a ρ-nak A-ra való (5.1)-beli Rees kiterjesztése, akkorR(ρ) 6= ιA és R(ρ) 6= ωA. Ez azonban lehetetlen, mert A egyszerű.5.4. Legyenek ρi ∈ C(B) és R(ρi) (i = 1, 2) a (5.1)-ben definiált Rees kiterjeszté-sek. R(ρ1) = R(ρ2) akkor és csak akkor, ha ρ1 = ρ2. Továbbá

ρ1 ⊆ ρ2 ⇐⇒ R(ρ1) ⊆ R(ρ2).

Ha ρ ∈ [ιA, R(ωB)], akkor

R(ρ ∩ ωB) = (ρ ∩ ωB) ∪ ιA = ρ.

Ilyen módon a ρ → R(ρ) (ρ ∈ C(B)) megfeleltetés C(B)-nek [ιA, R(ωB)]-re valóizomorf leképezése.6.3. Tegyük fel, hogy ϕ a B1 halmaznak B2-be való olyan leképezése, hogy minden(a, y) ∈ B1 esetén ϕ(a, y) = (ϕ1(a), y), ahol ϕ1 az A automata egy endomorfizmu-sa. Ha x ∈ X tetszőleges bemenő jel, akkor

ϕ(δY ((a, y), x)) = ϕ(δ(a, x), λ(a, x)) = (ϕ1(δ(a, x)), λ(a, x)) =

= δ(ϕ1(a), x), λ(ϕ1(a), x)) = δY (ϕ(a, y), x),

és (3.9) szerintλY ((a, y), x) = λ(a, x) = λ(ϕ1(a), x) =

= λY ((ϕ1(a), y), x) = λY (ϕ(a, y), x).

Megfordítva, legyen ϕ a B1 automata homomorf leképezése B2-re. Ha ϕ(a, y) =(a′, y′) ((a, y ∈ B1), akkor (3.10) szerint

y = µY (a, y) = µY (ϕ(a, y)) = µY (a′, y′) = y′.

Így ϕ(a, y) = (a′, y), azaz a ϕ1(a) = a′ (a ∈ A) feltétellel definiált ϕ1 megfeleltetésleképezés. Bármely x ∈ X bemenő jelre

(ϕ1(δ(a, x)), λ(a, x)) = ϕ(δ(a, x), λ(a, x)) = ϕ(δY ((a, y), x)) =

= δY (ϕ(a, y), x) == δY ((ϕ1(a), y), x) = (δ(ϕ1(a), x), λ(ϕ1(a), x)),

amiből következik, hogy ϕ1 a A automata egy endomorfizmusa.

500

Page 501: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

7.1. Legyen δ szürjektív és ρA[r] S(A) = X+/ρA egységeleme. Minden a ∈ A hozvan olyan b ∈ A és x ∈ X, hogy a = δ(b, x), azaz ar = bxr = bx = a = ae. AmibőlρA[r] = ρA[e], vagyis S(A) = S1(A). Megfordítva, ha S(A) = S1(A), akkor δnyilvánvalóan szürjektív.7.2. Legyen S(A) jobbzéró félcsoport. Definiáljuk A-n a ρ ekvivalenciát, úgy, hogyminden a, b ∈ A esetén (a, b) ∈ ρ akkor és csak akkor, ha minden x ∈ X bemenőjelre δ(a, x) = δ(b, x). Mivel minden x1, x2 ∈ X bemenő jelre

ρA[x1x2] = ρA[x1]ρA[x2] = ρA[x2],

ezért ρ az A olyan kongruenciája, hogy minden a ∈ A állapotra (ρ[a], X, δ) azA-nak részautomatája. A ρ definíciójából látható, hogy ezek beállító automaták.

Megfordítva, haA azAi = (Ai, X, δi) (i ∈ I) beállító automaták direkt összege,akkor minden a ∈ A állapotra és p, q ∈ X+ bemenő szavakra van olyan i ∈ I, hogya, ap, aqp ∈ Ai. Ha p = p′x (p′ ∈ X∗, x ∈ X), akkor ap′, aqp′ ∈ Ai. Mivel Ai

beállító automata, ezért ap = a(p′x) = (ap′)x = (aqp′)x = a(qp′x) = a(qp), azazρA[q]ρA[p] = ρA[qp] = ρA[p].7.3. Ha az A = (A,X, Y, δ, λ) Mealy automata karakterisztikus félcsoportjánakvan jobb oldali egységeleme [egységeleme], akkor van olyan r ∈ X+, hogy mindenp ∈ X+ bemenő szóra δp = δpr[= δrp] és λp = λpr[= λrp] (l. (7.10)). Ebből már lát-ható, hogy A vetülete karakterisztikus félcsoportjának van jobb oldali egységeleme[egységeleme]. Ha

δx1(a1) = δ(a1, x1) = δ(a2, x2) = δx2(a2) (a1, a2 ∈ A, x1, x2 ∈ X),

akkor

λ(a1, x1) = λx1(a1) = λx1r(a1) = (δx1 ◦ λr)(a1) = λr(δx1(a1)) =

= λr(δx2(a2)) = (δx2 ◦ λr)(a2) = λx2r(a2) = λx2(a2) = λ(a2, x2),

azaz A teljesíti a Moore kritériumot.Megfordítva, tegyük fel, hogy A teljesíti a Moore kritériumot és vetülete karak-

terisztikus félcsoportja van jobb oldali egységeleme. Az utóbbi feltételből követke-zik, hogy van olyan r ∈ X+, hogy minden p ∈ X+ bemenő szóra δp = δpr[= δrp].Minden p ∈ X+ szó magadható p = p′x (p′ ∈ X∗, x ∈ X) alakban. Ha r = r′z (r′ ∈X∗, z ∈ X), akkor minden a ∈ A állapotra δ(ap′, x) = δp(a) = δpr(a) = δ(apr′, z),ezért

λp(a) = λ(a, p) = λ(ap′, x) = λ(apr′, z) = λpr(a),

azaz λp = λpr. Ez azt jelenti, hogy (δr, λr) az A Mealy automata karakterisz-tikus félcsoportjának jobb oldaliegységeleme. Ha A vetületének karakterisztikusfélcsoportja egységelemes, akkor hasonlóan látható, hogy a A karakterisztikus fél-csoportja is egységelemes.8.1. S′ = {(δp, λp); p ∈ X ′+} az A automata S′(A) karakterisztikus félcsoportjá-nak részfélcsoportja és

A′′

= (A′, S′, Y ′, δ′′, λ′′)

501

Page 502: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

az A = (A,S′(A), Y, δ, λ) kváziautomata részkváziautomatája. A 7.10. Tételszerint a

β(δp, λp) = (δ′p, λ′p) (p ∈ X ′+)

összefüggéssel definiált β megfeleltetés az S′(A) karakterisztikus félcsoport homo-morf leképezése az S′(A′) karakterisztikus félcsoportra. De, (8.12) szerint, mindena ∈ A′ és p ∈ X ′+ esetén

δ′′(a, (δp, λp)) = δp(a) = δ′p(a) = δ′(a, (δ′p, λ

′p)) = δ′(a, β(δp, λp)),

λ′′(a, (δp, λp)) = λp(a) = λ′p(a) = λ′(a, (δ′p, λ

′p)) = λ′(a, β(δp, λp)),

azaz β az A′′ kváziautomata S-homomorf leképezése az

A′= (A′, S′(A′), Y ′, δ′, λ′)

kváziautomatára.8.2. A 7.8. Tétel bizonyításának kis módosításával kaphatjuk a megoldást. Gya-korlásképpen azonban a teljes megoldást megadjuk.

Legyen (α, β, γ) azA = (A,X, Y, δ, λ) automata általános homomorf leképezéseaz A′ = (A′, X ′, Y ′δ′, λ) automatára. Terjesszük ki az α, β és γ leképezésekethomomorf módon az A+, X+ ill. Y + szabad félcsoportokra. Definiáljuk S′(A)-nak S′(A′)-be való megfeleltetését β a

β(δp, λp) = (δ′β(p), λ′β(p)) (p ∈ X+)

feltétellel. Az α, β és γ leképezések szürjektívek, ezért β is szürjektív leképezés.Mivel β az X+ szabad félcsoportnak az X ′+ szabad félcsoportra való homomorfleképezése, ezért bármely p, q ∈ X+ esetén (7.10) szerint

β((δp, λp) . (δq, λq)) = β(δp ◦ δq, δp ◦ λq) = β(δpq, λpq) =

= (δ′β(pq), λ′β(pq)) = (δ′β(p)β(q), λ

′β(p)β(q)) =

= (δ′β(p), λ′β(p)) . (δ′β(q), λ

′β(q)) = β(δp, λp) . β(δq, λq).

Így β az S(A)-nak S(A′)-re való homomorf leképezése. A (8.10) és (7.12)-(7.14)miatt tetszőleges a ∈ A állapotra és p ∈ X+ bemenő szóra

α(δk(a, (δp, λp)) = α(ap) = α(a)β(p) = δ′k(α(a), (δ′β(p), λ′β(p))),

γ(λk(a, (δp, λp))) = γ(λ(a, p)) = λ′(α(a), β(p)) = λ′k(α(a), (δ′β(p), λ′β(p))),

azaz (α, β, γ) Ak-nak A′k-ra való kváziautomata-homomorfizmusa.9.1. Ha A memória nélküli automata, akkor minden p ∈ X∗ és x ∈ X esetén

αap(x) = λ(ap, x) = λ(a, x) = αa(x),

502

Page 503: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz αap = αa. így tetszőleges p, q ∈ X∗ bemenő szavakra

αa(pq) = αa(p)αap(q) = αa(p)αa(q),

vagyis αa homomorfizmus.Megfordítva legyen αa homomorfizmus. Minden b ∈ A hoz van olyan p ∈ X∗

bemenőn szó, hogy b = ap. Ezért minden x ∈ X esetén

λ(a, p)λ(a, x) = αa(p)αa(x) = αa(px) = λ(a, px) = λ(a, p)λ(b, x).

Amiből λ(a, x) = λ(b, x), vagyis A memória nélküli.9.2. Ha αp = αpq és r ∈ X∗, akkor

α(p)αp(q)αp(r) = α(pq)αp(r) = α(pq)αpq(r) = α(pqr) = α(p)αp(qr),

amiből αp(qr) = αp(q)αp(r). A megfordítás hasonlóan igazolható.9.3. A feladat első része következik a 9.5. Lemmából. A második rész bizonyítá-sához mutassuk meg, hogy ha α ∈ A′(X), akkor α−1 is automataleképezés.9.4. Az Xk = {p ∈ X∗; |p| = k (k ∈ N+ halmazokra való αXk restrikciók isinjektívek vagy szürjektívek. Az Xk halmazok is végesek, így minden αXk bijektív,vagyis α ∈ A′(X). Ha

αp(x1x2 . . . xk) = αp(z1z2 . . . zk)(xi, zi ∈ X, i = 1, 2, . . . k),

akkor

α(px1x2 . . . xk) = α(p)αp(x1x2 . . . xk)α(p)αp(z1z2 . . . zk) = α(pz1z2 . . . zk),

így px1x2 . . . xk = pz1z2 . . . zk, azaz x1 = z1, x2 = z2, . . . xk = zk. Tehát αp injektív.De αp is automataleképezés, ezért αp ∈ A′(X).9.5. A 9.2.Lemma szerint azαp állapotok száma véges. A 9.4. feladat szerintαp ∈ A′(X). Legyen Aαp = {αpq; q ∈ X∗}. Az αp leképezés indukálható az

Aαp = (Aαp , αp, X,X, δα, λα)

alsó automatával. Mivel Aαp az Aα automata részautomatája, így maga is véges,ezért αp ∈ V(X). Lássuk be, hogy (α−1)α(p) = (αp)

−1, vagyis α−1 állapotainakszáma szintén véges, így α−1 ∈ V(X).9.6. Minden q, t, v ∈ X∗ esetén αq(tv) = αq(t)αqt(v), amivel az asszociativitásigazolható. A jobb oldali egységelemek: (p, e) (p ∈ Y ∗), ahol e az üres szó.12.1. Ha Aλ (k+ 1)-egyszerű, akkor (12.2) miatt ζk+1 = ιA. Ha ζk−1 = ιA, akkora 12.5. Tétel szerint ηk = ρmax = ιA, ami lehetetlen. Tehát A Moore automata k-vagy (k + 1)-egyszerű.

Ha A k-egyszerű, akkor (12.2) miatt ηk−1 6= ιA. Ha ηk ⊆ π és (a, b) ∈ ηk, akkorµ(a) = µ(b), s így (a, b) ∈ ζk, vagyis a = b, azaz ηk = ιA, ezért Aλ k-egyszerű. Haηk 6⊆ π és ηk+1 ⊆ π. Akkor (a, b) ∈ ζk+1, s a 12.3. Lemma szerint a = b, vagyisηk+1 = ιA, azaz az Aλ Mealy automata (k + 1)-egyszerű.

503

Page 504: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha Aλ l-egyszerű, akkor ηl = ιA, s így ηl ⊆ π. (12.2) miatt ζl = ιA, sígy k ≤ l. A feladat első állítása miatt l ≥ k + 1. Ha l = k + 1, ηk ⊆ π,a 6= b (a, b ∈ A) és (a, b) ∈ ηk, akkor (12.2) miatt (a, b) ∈ ζk. De ζk = ιA, ígya = b, ami lehetetlen. Legyen l = k. Ha ηk−1 6⊆ π, akkor ηk−1 6= ιA. Ha ηk−1 ⊆ π,akkor ζk−1 = ηk−1 ∩ π = ηk−1, s így ismét ηk−1 6= ιA, azaz Aλ k-egyszerű.12.2. Legyen ϕ az A = (A,X, Y, δ, λ) Mealy automata homomorf leképezése aB = (B,X, Y, δ′, λ′) Mealy automatára. Jelölje ηk ⊆ A2, ill. η′k ⊆ B2 a (12.1)-bendefiniált ekvivalenciákat. Elegendő megmutatni, hogy bármely k ∈ N egész számraηk = ηk+1 akkor és csak akkor, ha η′k = η′k+1. Használjuk fel a 12.1. Lemmát.12.3. A 7.4. Tétel bizonyítása alapján minden a ∈ A, y ∈ Y és p ∈ X+ esetén

δY ((a, y), p) = (δ(a, p), λ(a, p)), λY ((a, y), p) = λ(a, p).

Legyen az A Mealy automata k-uniform (k ∈ N+). Ha ((a, y1), (b, y2)) ∈ ζk, akkor12.1. Lemma és a (3.10) definíció szerint

y1 = µY (a, y1) = µY (b, y2) = y2

és minden p ∈ Xk bemenő szóra

λ(a, p) = λY (a, p) = λY (b, p) = λ(a, p),

azaz (a, b) ∈ ηk = ρmax. Így minden q ∈ Xk+1 bemenő szóra

λY (a, q) = λ(a, q) = λ(b, q) = λY (a, q),

vagyis ((a, y1), (b, y2)) ∈ ζk+1. A 12.3. Lemma szerint ζk = πmax. Ha ζk−1 = πmaxés (a, b) ∈ ηk−1, akkor minden y ∈ Y esetén ((a, y), (b, y)) ∈ ζk−1, vagyis ηk−1 =ρmax, ami lehetetlen. Tehát AµY k-uniform. Hasonlóan bizonyítható, hogy ha Ak-egyszerű [egyszerű], akkor AµY is k-egyszerű [egyszerű].

Megfordítva, AµY k-uniform (k ∈ N+) és (a, b) ∈ ηk, akkor bármely y ∈ Ykimenő jelre ((a, y), (b, y)) ∈ ζk = πmax, vagyis (a, b) ∈ ρmax, azaz ηk = ρmax. Haηk−1 = ρmax, akkor (11.5) szerint ζk−1 = πmax. Ez azonban lehetetlen, ezért Ak-uniform. Hasonlóan mutatható meg, hogy A k-egyszerű [egyszerű].13.1. Ha A[X,Y ] automata A = (A,X, Y, δ, λ) részautomatája teljesíti a Moorekritériumot, továbbá

α(1)(x1) 6= β(1)(x2) (α, β ∈ A, x1, x2 ∈ X).

és minden j ∈ N+ és z1, . . . , zj ∈ X esetén

α(j+1)(x1, z1, . . . zj) = β(j+1)(x2, z1, . . . , zj),

akkor (13.4)− (13.7) szerint

δ(α, x1) = αx1 = βx2 = δ(β, x2),

504

Page 505: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

azaz (1.1) alapján

α(1)(x1) = λ(α, x1) = λ(β, x2) = β(1)(x2),

ami lehetetlen.Megfordítva, ha

α(1)(x1) 6= β(1)(x2) (α, β ∈ A, x1, x2 ∈ X),

, továbbá van olyan j ∈ N+ és vannak olyan z1, . . . zj ∈ X bemenő jelek, hogy

α(j+1)(x1, z1, . . . zj) 6= β(j+1)(x2, z1, . . . , zj),

de A nem teljesíti a Moore kritériumot, vannak olyan α, β ∈ A és x1, x2 ∈ X,amelyekre

δ(α, x1) = δ(β, x2), α(1)(x1) = λ(α, x1) 6= λ(β, x2) = β(1)(x2).

Ezért szintén (13.4)− (13.7) szerint

αx1 = δ(α, x1) = δ(β, x2) = βx2 ,

azaz minden j ∈ N+ és z1, . . . , zj ∈ X esetén

α(j+1)(x1, z1, . . . zj) = β(j+1)(x2, z1, . . . , zj),

ami a feltétel miatt lehetetlen.13.2. A (13.11) és (13.12) feltételek alapján a 13.5. Tételt is felhasználva a 13.1.feladathoz hasonlóan bizonyítható.14.1. Feltehető, hogy az A automata az A1 × A2 részautomatája. Tekintsüka πi : A → Ai (i = 1, 2 projekciókat. Ha valamelyik πi az A minden elemétAi egyetlen elemére képezi le, akkor πj (j 6= i) az A izomorf leképezése az Aj

automatába. Ellenkező esetben A felbontható az A/kerαi nemtriviális automatákszubdirekt szorzatára.14.2. Ha az A = (A,X, δ) automata p ∈ X∗ bemenő szavára |Ap| = 1, akkor Abármely A′ = (A′, X, δ) részautomatájára |A′p| = 1 és bármely ϕ homomorfizmu-sára |ϕ(A)p| = 1.

Ha az Ai = (Ai, X, δi) automata egy irányító szava pi (i = 1, . . . , n), akkor|(A1 ×A2 × · · · ×An)p1p2 . . . pn| = 1.14.3. Az nyilvánvaló, hogy ρ ⊆ ∩i∈Iτ(Hi). Ha pedig ρ = ιA, akkor az egyenlőségis teljesül. Tegyük fel, hogy ρ 6= ιA. Legyen (a, b) ∈ ∩∈Iτ(Hi) és a ∈ Hj (j ∈ I).Minthogy Hj τ(Hj)-osztályok egyesítése, így b ∈ Hj , azaz (a, b) ∈ ρ.14.4. Ha C egyetlen osztálya A, akkor C nyilvánvalóan kompatibilis osztályozás.Ha C = {H1, H2}, akkor τ(H1) = τ(H2). Így a feltétel szerint egyik osztálysem diszjunktív. Ebben az esetben is C kompatibilis osztályozás. Tegyük fel, hogyC = {Hi; i ∈ I} és |I| ≥ 3. Továbbá tegyük fel, hogy legfeljebb a Hk (k ∈ I) osztály

505

Page 506: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

diszjunktív. Mivel A szubdirekt irreducibilis, ezért ρ = ∩i∈I−{k}τ(Hi) nemtriviáliskongruencia. De minden i ∈ I − {k} indexre Hi τ(Hi)-osztályok uniója, ezértρ-osztályok uniója is. Amiből következik, hogy Hk is ρ-osztályok uniója.16.1. Ha az

A = (A, a0, X,X1, δ1, λ1) (X1 ⊆ X),

B = (B, b0, X,X2, δ2, λ2) (X2 ⊆ X)

olyan automaták, amelyek az α ill. β leképezést indukálják, akkor az α◦β leképezéstindukálja az A és B automaták C = (C, c0, X,X2, δ, λ) szuperpozíciója. (C =A × B, c0 = (a0, b0), a δ és λ függvények pedig tetszőleges (a, b) ∈ C és x ∈ Xelempárra a

δ((a, b), x) = (δ1(a, x), δ2(b, λ1(a, x))), λ((a, b), x) = λ2(b, λ1(a, x))

összefüggésekkel vannak definiálva.)17.1. Megegyezik a A∗k = (Ak, X, δ

∗k) (k ∈ I) automaták direkt szorzatával, ha a

δ∗ átmenetfüggvényt minden ak ∈ Ak állapotra és x ∈ X bemenő jelre a

δ∗k(ak, x)) = δk(ak, ϕk(ak, x))

feltétellel definiáljuk. (A feladat a 16.5. Tétel általánosítása.)17.2. A 17.4. Lemma bizonyításának gondolatmenetét alkalmazzuk. Tegyük fel,hogy A kvázidirekt szorzat. Ha az Ak automaták kvázidirekt szorzatok, akkor

ϕ(k)(ak, ϕk(a, x)) = ϕ(k)(ϕk(x)).

A (17.14) feltételt alkalmazva, kapjuk, hogy

ϕ′k,l(a′,x′) = ϕl

(k)(ϕk(x′)) ((k, l) ∈ J(C)),

azaz A′ kvázidirekt szorzat.Megfordítva, ha A′ kvázidirekt szorzat, akkor (17.14) szerint

ϕ′k,l(x′) = ϕ′k,l(a

′),x′) = ϕ(k)l (ak, ϕk(a,x)) = ϕ

(k)l (ak, ϕk(x)).

Mivel ϕk szürjektív, ez azt jelenti, hogy ϕ(k)l független Ak állapotaitól, azaz Ak

kvázidirekt szorzat.18.1. A 17.4. Lemma bizonyításának gondolatmenetét alkalmazva, ha A α0-szorzat, akkor

ϕ′k,l(a′,x′) = ϕ

(k)l (ak, ϕ(a1, . . . ,ak−1, x)) ((k, l) ∈ J(C)),

amiből kapjuk, hogy ϕ′k,l nem függ az As,t automaták állapotaitól, ha (k, l + i) ≤(s, t), azaz A′ αi-szorzat. Ha pedig A′ αi-szorzat, akkor

ϕ(k)l (ak, ϕk(a, x)) = ϕ′k,l(a

′,x′) ((k, l) ∈ J(C))

506

Page 507: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

nem függ az As,t automaták állapotaitól, ha (k, l + i) ≤ (s, t). Így ϕk(a, x) =ϕk(a1, . . . ,ak, x), azaz A α1-szorzat.18.2. A 17.4. Lemma bizonyításának gondolatmenetét alkalmazzuk. Mivel Aα0-szorzat, ezért (17.14) szerint

ϕk(a, x) = ϕk(a1, . . . ,ak−1, x) (k ∈ I).

Ígyϕ(k)(ak, ϕk(a, x)) = ϕ(k)(ak, ϕk(a1, . . . ,ak−1, x)).

A (17.15) feltétel miatt

ϕ′k,l(a′, x) = ϕ

(k)l (ak, ϕ(a1, . . . ,ak−1, x)) ((k, l) ∈ J(C)).

De az Ak automaták αi-szorzatok, ezért ebből leolvasható, hogy ϕ′k,l nem függ azAs,t(k, l ≤ (s, t+ i)) automaták állapotaitól, azaz A′ αi-szorzat.

Megfordítva, ha A′ αi-szorzat, akkor (17.15) szerint ϕ′k,l(a′,x′) ((k, l) ∈ J(C)

nem függ azoknak azAs,t automatáknak az állapotaitól, amelyekre (s, t) ≥ (k, l+i).De A α0, ezért (17.14) és (17.15) szerint

ϕ(k)l (ak, ϕk(a1, . . . ,ak−1, x) = ϕ′k,l(a

′, x).

Ez azt jelenti, hogy ϕ(k)l nem függ az Ak,t automata állapotaitól, ha t ≥ l+ i, azaz

Ak αi-szorzat.18.3. Legyen ψ az A1 automata homomorf leképezése az A2[X,ϕ] = (A2, X, δ

′)automatába. Akkor minden a ∈ A1 és x ∈ X1 esetén

ψ(δ1(a, x)) = δ′(ψ(a), x) = δ2(ψ(a), ϕ(x)),

azaz (ψ,ϕ) az A1 automata általános homomorf leképezése A2-be.Megfordítva, tegyük fel, hogy (ψ,ϕ) az A1 automata általános homomorf leké-

pezéseA2-be ésA2[X,ϕ] = (A2, X, δ′) egytényezős α0-szorzatba, azaz egyt’enyezős

kvázidirekt szorzatba. Akkor bármely a ∈ A1 és x ∈ X1 párra

ψ(δ1(a, x)) = δ2(α(a), ϕ(x)) = δ′(ψ(a), x),

vagyis ψ az A1 automata homomorf leképezése A2[X,ϕ]-be.19.1 A (19.7) és a (19.2) feltételek alapján könnyen belátható az állítás.19.2 Legyen v = xv′ (x ∈ X, v′ ∈ X∗). A (19.8) feltétel szerint x1 6= x2, ezértx 6= x1 vagy x 6= x2.

Ha w = e, akkor (19.8) miatt ax1 6= ax2. Így ax 6= ax1 vagy ax 6= ax2. Tegyükfel, hogy ax 6= ax1. Ha van olyan q ∈ X∗, amelyre ax1q = a, akkor a = av = axv′ =ax1q, akkor teljesül a (19.2) Leticsevszkij kritérium. Ha nincs ilyen q és ax 6= ax2,akkor az előbbieket megismételve x1 helyett x2-vel, a q létezéséből következik, hogyteljesül a Leticsevszkij kritérium. Ha A nem teljesíti a Leticsevszkij kritériumot,akkor a, x, x1 (vagy x2) és v′ választásával teljesül a fél Leticsevszkij kritérium.

507

Page 508: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Legyen w 6= e és w1 ∈ X∗ a leghosszabb olyan szó, amelyre aw1 = av1, aholw = w1w2 és v = v1v2 (w2, v1, v2 ∈ X∗). Ebből következik, hogy vannak olyanx′1, x

′2 ∈ X és p, q ∈ X∗, amelyekre w2w1 = x′1p, v2v1 = x′2q, aw1x

′1 6= aw1x

′2 és

aw1x′2q = aw1. Ha a-t aw1 = av1-gyel, v-t v2v1-gyel, x1-et x′1-vel, x2-t x′2-vel és

x-et x′2-vel helyettesítjük, akkor az előbb diszkutált esetet kapjuk.21.1. Mivel ekvivalens bemenő halmazok feletti automaták halmazait azonosítjuk,ezért elegendő egy X = {x1, x2, . . . , xn, . . . } megszámlálhatóan végtelen halmazttekinteni, valamint annak Xn = {x1, x2, . . . , xn} (n = 1, 2, . . . ) részhalmazait.Bármely Xn feletti kétállapotú (nem izomorf) beállító automaták B(Xn) halmazavéges. A B(Xn) halmazból kiválasztható Xn feletti véges beállító automatáknakegy B′(Xn) minimális izomorfan teljes rendszere a direkt szorzatra. A ∪∞n=1B

′(Xn)a véges beállító automatáknak egy minimális izomorfan teljes rendszere a direktszorzatra.22.1. Az α0-szorzat aszociativitását felhasználva a 19.6. Lemma és a 22.5. Té-tel szerint elegendő megmutatni, hogy a D0 automata homomorfan reprezentál-ható az n állapotú standard automata egy α0-hatványával. Tekintsük a D0 =([2], {x1, x2, x3}, δ) beállító automatát és az A = ([n], {x1, x2, x3}, δ′) standard au-tomatát. Definiáljuk az A2[{x1, x2, x3}, ϕ] α0-hatványt a következőképpen:

ϕ(1, 1, x1) = ϕ(2, 2, x2) = (x3, x3), ϕ(1, 1, x2) = (x2, x2), ϕ(2, 2, x1) = (x1, x1),

s minden más esetben ϕ(i, j, xk) = (x3, x3). A ψ(i, i) = i (i = 1, 2) a A2 egyrészautomatájának izomorf leképezése D0-ra.22.2. Legyen K = {A1,A2, . . . } egymással nem izomorf véges automaták olyanhalmaza, amely tartalmaz bármely véges automatával izomorf automatát. Le-gyen K′ = {B1,B2, . . . } a véges automaták olyan rendszere, hogy minden k-raaz A1, . . . ,Ak automaták a Bk automata részautomatái. K′ a véges automatákhomomorfan teljes rendszere a véges tényezős α0-szorzatra. A Krohn–Rhodes té-telből következik, hogy nincs véges homomorfan teljes rendszer. Legyen K′′ a K′egy végtelen részrendszere. Mivel minden k pozitív egész számhoz van olyan k ≤ jpozitív egész szám, amelyre Bj ∈ K′′, s így A1, . . . ,Ak a Bj-nek részautomatái.Ez azt jelenti, hogy K′′ a véges automaták homomorfan teljes rendszere a végestényezős α0-szorzatra. Nyilvánvaló, hogy K′′ nem minimális.22.3. Tegyük fel, hogy A = (A, {x, y}, δ) homomorfan reprezentálható a B és Clegfeljebb háromállapotú automaták D = B×C[X,ϕ] α0-szorzatával. Nyilvánvaló,hogy B és C legalább kétállapotú. Legyen ψ a D automataD′ = (D′, X, δ′) részau-tomatájának homomorf leképezése A-ra. Tekintsük D′ π1 első projekcióját. MivelD α0-szorzat, ezért kerπ1 a D′ kongruenciája. A kerπ1-osztályok száma kettő vagyhárom és minden osztály legfeljebb háromelemű. Akkor C = {ψ(kerπ1[d]); d ∈ D′}az A a B egy lefedő halmazrendszere és C legfeljebb három halmazból áll és mindenhalmaz legfeljebb háromelemű. Ha C-ben van háromelemű halmaz, akkor, mivel azx bemenő jel ciklikusan permutálja az a A elemeit, C az Aminden háromelemű rész-halmazát tartalmazza. Ez lehetetlen, mert C legfeljebb háromelemű. Tehát C-benlegfeljebb kételemű halmazok lehetnek. Ha C tartalmazza az {1, 2}, {2, 3}, {3, 4}

508

Page 509: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

vagy a {4, 1} halmazt, akkor az előbbi ok miatt ezek mindegyikét tartalmazza. Haviszont {1, 3} vagy {2, 4} valamelyikét tartalmazza, akkor a másikat is. Ez azonbanaz y bemenő jel hatása miatt lehetetlen. Csak egyelemű halmazokat sem tartalmaz-hat, mert legfeljebb három halmazból áll. Kaptuk, hogy A nem reprezentálhatóhomomorfan két négynél kevesebb állapotú automata α0-szorzatával.

Tekintsük az A automata A halmazának összes kételemű részhalmazából állóB lefedő halmazrendszerét. A 22.15. Lemmát használva, megadhatunk olyan B =(B, {x, y}, δB) és C = (C,B × {x, y}, δC) automatákat, hogy |B| = 6, |C| = 2.Továbbá B és C egy α0-szorzata homomorf módon leképezhető A-ra. Tekintsükmost a

D = {{{a1, a2}, {a3, a4}}, {{a1, a4}, {a2, a3}}, {{a1, a3}, {a2, a4}}}

rendszert. A D rendszer a B automata egy lefedő halmazrendszere. Ezért, a 22.15.Lemma szerint, van olyan háromállapotú B1 és olyan kétállapotú B2 automata,hogy B homomorf módon reprezentálható egy α0-szorzatukkal. Így A homomorfanreprezentálható B1, B2 és C egy α0-szorzatával.24.1. Egy megfelelő AY-homomorfizmus (ϕ, ιX , ψ), ahol

ϕ(ρ1[p]) = ρ2[p] (p ∈ X∗), ψ(ξ1[q]) = ξ2[q] (q ∈ X+).

Ha (ϕ, ιX , ψ) az X∗/(ρ1, ξ1) automata AY-homomorfizmusa az A = (A,X, Y, δ, λ)Mealy automatára, akkor X∗/(ρ2, ξ2) automata AY-ixomorf az X∗/(ρ1, ξ1) auto-matával, ahol ρ2 = kerϕ és ξ2 = kerψ.24.2. Használjuk fel az előző feladat eredményeit.24.3. Végesen generálható automata előáll véges sok ciklikus automata egyesíté-seként. A 7.11. Tételből és a 24.5. Lemmából kapjuk, hogy az automata véges.Megfordítva, minden véges automata karakterisztikus félcsoportja véges.25.1. A 25.3. Következmény szerint |G(A| osztója |A|-nak. Legyen |A|

|G(A)| = k. Haρ a (25.1) feltétellel definiált kongruencia, akkor minden a ∈ A állapotra |ρ[a]| =|G(A)|. Ha

ρ[a1], ρ[a2], . . . , ρ[ak]

különböző ρ-osztályok, akkor

(p, q) ∈ ρA ⇐⇒ (aip = aiq, i = 1, 2, . . . , k),

amiből már adódik az állítás.25.2. Ha π ∈ G(A), akkor nyilvánvalóan U(a, b) = U(π(a), π(b)) (a, b ∈ A).Megfordítva, tegyük fel, hogy van olyan a ∈ A, amelyre minden b ∈ A eseténU(a, b) = U(π(a), π(b)), ahol π az A egy permutációja. Akkor minden b ∈ A ésp ∈ U(a, b) = U(π(a), π(b)) párra π(ap) = π(b) = π(a)p. Ezért, ha x ∈ X, akkor

π(bx) = π(apx) = π(a)px = π(b)x,

vagyis π ∈ G(A).

509

Page 510: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

25.3 Lássuk be, hogy

U(a, α(a))U(a, β(a)) ⊆ U(a, αβ(a))(α, β ∈ G(A)).

Továbbá, ha α′ 6= β′ (α′, β′ ∈ G(A)), akkor U(a, α′(a)) ∩ U(a, β′(a)) = ∅. Ebbőlkövetkezik, hogy a ∗a művelet jól definiált. A ϕ(α) = U(a, α(a)) (α ∈ G(A)) egymegfelelő izomorfizmus.26.1. Ha a ∈ A és minden p, q ∈ X∗ esetén apq = aqp, akkor minden x ∈ Xbemenő jelre axpq = apxq = aqpx = axqp.26.2 Ha x ∈ X és p, q ∈ X+, amelyekre m ≤ |p| és n ≤ |q|, akkor minden a ∈ Aállapotra

ax(pq) = a(xp)q = aq(xp) = a(qx)p = ap(qx) = a(pq)x.

26.3. A 26.3. Tétel alapján.26.4. Ciklikus kommutív automata karakterisztikus automata, amelynek mindengenerátoreleme karakterisztikus generátorelem. Legyen az A = (A,X, δ) ciklikuskommutatív automata egy generátoreleme a0. A 24.1. lemma szerint A ∼= X∗/ρA.Ebből következik, hogy az A automata C(A) kongruenciahálója izomorf az X∗/ρAautomata C(X∗/ρA) kongruenciahálójával. Az is nyilvánvaló, hogy C(X∗/ρA)kongruenciahalója megegyezik az X∗ρA karakterisztikus monoid kongruenciaháló-jával. Így C(A) ∼= C(X∗/ρA).27.1. Legyen 0x = 0y = 0 és 1y = 1 helyett 1y = 0.27.2. Tegyük fel, hogy az A = (A,X, δ erősen n-összefüggő automata. Legyen Baz A egy valódi részautomatájának állapothalmaza. Ha n ≤ |B|, akkor legyen H aB egy n elemű részhalmaza. Ha pedig |B| < n, akkor legyen H az A olyan n eleműrészhalmaza, amelyre B ⊆ H. Cseréljük ki H egy B-beli állapotát (A − B)-beliállapotra. (Ez megtehető, mivel n < |A|.) Jelöljük ezt a halmazt K-val. A Bdefiníciója miatt nincs olyan p ∈ X∗, amelyre Hp = K teljesülne. Ellentmondás.Ez azt jelenti, hogy A erősen összefüggő.27.3. A definíció szerint |A| ≥ 3). Legyen H az A halmaz legalább kételeművalódi részhalmaza, a, b ∈ H (a 6= b) és c ∈ A − H. Mivel A = (A,X, δ) erősen2-összefüggő automata, ezért van olyan p ∈ X+, hogy {a, b}p = {a, c}. Ebből kö-vetkezik, hogy H nem szeparátor, vagyis A-nak csak triviális szeparátorai vannak.A 24.2. Lemma szerint A egyszerű.27.4. Legyen A = {1, 2, 3, 4}, X = {x, y},

δ(1, x) = 2, δ(2, x) = 1, δ(3, x) = 4, δ(4, x) = 3,

δ(1, y) = 3, δ(3, y) = 1, δ(2, y) = 4, δ(4, y) = 2.

Az A = (A,X, δ) automata erősen összefüggő. Mivel például {1, 2}, {3, 4} kompa-tibilis osztályozás, ezért A nem egyszerű. De

{1, 2, 3}xyxy = {1, 2, 4}yxy = {2, 3, 4}xy = {1, 3, 4}y = {1, 2, 3},

510

Page 511: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

amiből következik, hogy A erősen 3-összefüggő.27.5. Legyen B = (B,X, δ) az A automata legalább kétállapotú valódi részau-tomatája. Akkor C(A) = {ιA, R(ωB), ωA}, ahol R(ωB) a B szerinti (5.2) Reeskongruencia. (5.1) felhasználásával nem nehéz belátni, hogy B egyszerű. Tegyükfel, hogy A/B nem egyszerű. Legyen ρ 6= ιA/B, ωA/B az A/B egy kongruenci-ája. Ha {B} egy ρ-osztály, akkor tekintsük azt ρ′ relációt A-n, amelyre mindena ∈ A−B esetén ρ′[a] = ρ[a] és minden b ∈ B esetén pedig ρ′[b] = B. Nyilvánvaló-an ρ′( 6= R(ωB)) az A automata egy nemtriviális kongruenciája. Ellentmondás. HaB ∈ ρ[a] és |ρ[a]| ≥ 2, akkor (B ⊂)(ρ[a] − {B}) ∪ B(⊂ A) A egy valódi részauto-matájának állapothalmaza. Szintén ellentmondás. Vagyis A/B is egyszerű. Nemnehéz belátni, hogy ez sűrű bővítés.

Megfordítva, legyen A = (A,X, δ) automata a B egyszerű automata sűrű bőví-tése aC egyszerű (csapdás) automatával. Így feltehető, hogy B ⊂ A, B = (B,X, δ)és C = A/B. Akkor R(ωB) ∈ C(A) és R(ωB) 6= ιA, ωA. Tegyük fel, hogyρ ∈ C(A) és ρ 6= ωA. Nyilvánvaló, hogy ρ′ = ρ ∩ B2 a B automata egy kong-ruenciája. Ha ρ′ = ιB, akkor a sűrű bővítésből következik, hogy ρ = ιA. Legyenρ′ = ωB. Ez azt jelenti, hogy B része egy ρ-osztálynak. Ha B valódi része lenneennek a ρ-osztálynak, akkor a A/B automatának lenne legalább kételemű valódirészautomatája. Ez azonban lehetetlen, mivel A/B egyszerű. Kaptuk, hogy B egyρ-osztály. 24.5. Tétel szerint {B} az A/B automata diszjunktív csapdája. Amibőladódik, hogy ρ = R(ωB), azaz |C(A| = 3.28.1 Az üres szó nélkül állapotfüggetlen A = (A,X, δ) automata akkor és csakakkor állapotfüggetlen, ha minden a, b ∈ A állapotpárra és p ∈ X+ bemenő szóra

ap = a ⇐⇒ bp = b.

28.2 Ha az A = (A,X, δ) félperfekt, akkor definíció szerint karakterisztikus mono-idja csoport. Megfordítva, ha A karakterisztikus monoidja csoport, akkor bármelyp ∈ X+ bemenő szóhoz van olyan q ∈ X+ bemenő szó, hogy minden a ∈ A álla-potra apq = a. A 28.1. feladat szerint A állapotfüggetlen. Ez azt jelenti, hogy Afélperfekt.29.1. A P(A)+ hatványautomata reverzibilis, ezért F(B) = (F (B), X, δ′) a hat-ványautomata reverzibilis részautomatája. S1(A) = S1(P(A)+) és ha B 6= A,akkor S1(F(B)) = S1(A). Ha Bp = Bq, akkor bármely b ∈ B állapothoz vanolyan c ∈ B állapot, hogy bp = cq. Az A erősen összefüggősége miatt van olyanr ∈ X∗, hogy br = c, azaz bp = brq. Mivel A állapotfüggetlen, ezért

ρA[p] = ρA[rq] = ρA[r]ρA[q].

Amiből ρA[r] = ρA[p](ρA[q])−1. De c = br ∈ B, így Br = B, azaz ρA[r] ∈ K(B),vagyis ρA[p] ∈ K(B)ρA[q]. Innen K(B)ρA[p] ⊆ K(B)ρA[q]. A másik irányútartalmazás hasonlóan látható be.29.2. A B = {ar; ρA[r] ∈ G} halmaz megfelel a követelménynek, ahol a ∈ Atetszőleges rögzített állapot.

511

Page 512: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

29.3. N(B) ⊆ K(B) és S1(A) részcsoportja. Ha ρA[p] ∈ S1(A), p′ ∈ (ρA[p])−1 ésρA[r] ∈ N(B), akkor minden C ∈ B esetén

Cprp′ = ((Cp)r)p′ = (Cp)p′ = Cpp′ = Ce = C,

vagyis N(B) S1(A) normális részcsoportja. Lássuk be, hogy a

ρB[p]→ N(B)ρA[p] (p ∈ X∗)

S1(B) izomorf leképezése S1(A)/N(B)-re.29.4 Mutassuk meg, hogy ha C = Bp (p ∈ X∗), akkor

K(C) = (ρA[p])−1K(B)ρA[p].

Mivel N(B) = ∩C∈BK(C), ebből a 29.2. feladat szerint G = N esetben kapjuk azállítást.29.5. A B (B ∈ P (A)+) automaták erősen összefüggőek és P(A)+ ezen automa-ták direkt összege. A 29.3. feladat szerint karakterisztikus monoidjuk csoport.30.1. A kommutativitás miatt K(B) = N(B).30.2. Kommutatív automata hatványautomatája is kommutatív, ezért a 29.5.feladatból következik az állítás.30.3. Mutassuk meg, hogy ha az A = (A,X, δ) automata erősen összefüggő,akkor minden a ∈ A hoz van olyan p ∈ X+ bemenő szó, hogy apm+n = a. Eztfelhasználva a 26.2. feladat megoldása alapján mutassuk meg, hogy minden erősenösszefüggő (m,n)-kommutatív automata kommutatív.31.1 Legyen α ∈ E(A). Definiáljuk a ϕα : A → A/D(A) megfeleltetést a követ-kezőképpen: Legyen ϕα(a) = α(a), ha a, α(a) ∈ A −D(A). Minden más esetbenlegyen ϕα(a) = D(A). Mutassuk meg, hogy ϕα ∈ E(A/D(A)). Ehhhez mindena ∈ A/D(A) és x ∈ X elemre külónbztessünk meg négy esetet:

δ(a, x) ∈ D(A);

δ(a, x) /∈ D(A), α(a) ∈ D(A);

δ(a, x) /∈ D(A), α(a) /∈ D(A), α(δ(a, x)) ∈ D(A);

δ(a, x) /∈ D(A), α(a) /∈ D(A), α(δ(a, x)) /∈ D(A).

Ha szükséges, használjuk a 31.13. Tételt is. Végül mutassuk meg, hogy ψ(α) = ϕα(α ∈ E(A) E(A) homomorf leképezése E(A/D(A))-ba.31.2. Mutassuk meg, hogy ha A = (A,X, δ) irányítható automata, akkor a P(A)′

általánosított hatványautomatája (l. (1.21)) is irányítható.Ha még A erősen összefüggő is, akkor bármely B ∈ P (A)+ és a ∈ A esetén

van olyan P ⊆ Xk, hogy aP = B. A 31.3. Tétel szerint A karakterisztikusmonoidjának van jobb oldali zéruseleme. Ha ρA[r] egy jobb oldali zéruselem, akkorBr = aPr = ar. Így minden C ∈ P (A)+ esetén van olyan Q ⊆ X l, amelyreBrQ = arQ = C, azaz P(A)′ erősen összefüggő.

512

Page 513: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha P(A)′ erősen összefüggő, akkor A is nyilvánvalóan az. Mivel P(A)′ erősenösszefüggő, ezért bármely a ∈ A hoz van olyan P ⊆ Xm, hogy AP = a, azazminden p ∈ P bemenő szóra Ap = a, vagyis A irányítható. (Ezek szerint, ha azáltalánosított hatványautomata erősen összefüggő, akkor irányítható is.)31.3 Legyen |A| = n és |B| = k. Mivel A irányítható, ezért B is az és a 31.1.Lemma szerint D(A) ⊆ B. A A/B Rees faktor irányítható csapdás automata. A(31.1)-beli jelölést használva, a 31.10. Tétel szerint

d(A/B) ≤ (n− k + 1)(n− k)

2,

d(A) ≤ d(A/B) + d(B) ≤ (n− k + 1)(n− k)

2+ (k − 1)2 ≤ (n− 1)2.

31.4 Elegendő n = 2-re bizonyítani az állítást. Használjuk fel a 14.2. feladatmegoldását és mutassuk meg, hogy tetszőleges 1 ≤ k ≤ l egész számokra (k−1)2 +(l − 1)2 ≤ (kl − 1)2.31.5 B is erősen összefüggő irányítható automata. Legyen |A| = n és |B| = k. Haϕ izomorfizmus, akkor nyilvánvalán igaz az állítás. Így feltehetjük, hogy 1 < k < n.Legyen p ∈ X+ a B automata egy legrövidebb irányító szava és Bp = b0. A feltevésszerint |p| ≤ (k − 1)2. Van olyan q ∈ X∗ legfeljebb k − 1 hosszúságú szó, amelyreb0q = b. Minden a ∈ A állapotra apq ∈ ϕ−1(b). Ha |ϕ−1(b)| = 1, akkor pq az Aautomata egy irányító szava és

|pq| = |p|+ |q| ≤ (k − 1)2 + k − 1 = k(k − 1) < (n− 1)2.

Ha nincs olyan b ∈ B, hogy |ϕ−1(b)| = 1, de van van olyan, hogy |ϕ−1(b)| = 2,akkor 4 ≤ n és k ≤ n

2 . Legyen ϕ−1(b) = {a1, a2}. A 31.8. Tétel bizonyítása szerint

van olyan r ∈ X+ legfeljebb(n2

)hosszúságú szó, amelyre a1r = a2r, azaz pqr az A

automata egy irányító szava és

|pqr| ≤ n

2(n

2− 1) +

n(n− 1)

2<

3

4n(n− 1) ≤ (n− 1)2.

32.1. Legyen Av k-adfokban nilpotens, c ∈ A csapda és |{λ(c, x); x ∈ X}| = 1.Ha |p| ≥ k + 1, akkor vannak olyan q, r ∈ X∗ és x ∈ X, hogy |q| = k és p = qxr.Bármely a ∈ A állapotra ap = c és

λ(a, p) = λ(aq, xr) = λ(c, xr) = y0,

azaz (c, y0) az A automata AY vázának irányított állapota és AY legfeljebb (k+1)-fokban nilpotens automata.

Megfordítva, legyen AY k-adfokban nilpotens automata és csapdája (c, y0).Világos, hogy A is nilpotens és c a csapdája. Legyen p ∈ X∗ és |p| ≥ k. Akkorminden x ∈ X bemenő jelre

λ(c, x) = λ(cp, x) = λ(c, px) = y0.

513

Page 514: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

32.2 A szükségesség nyilvánvaló. Az elegendőség bizonyítása céljából tegyük fel,hogy az A = (A,X, Y, δ, λ) Mealy automata k-adfokban definit. Ha |p| ≥ k + 1és p = qx, ahol |q| ≥ k (q ∈ X∗ és x ∈ X, akkor tetszőleges a, b ∈ A állapotokraaq = bq, ap = bp és

λ(a, p) = λ(aq, x) = λ(bq, x) = λ(b, p),

azaz |(A× Y )p| = 1, vagyis AY legfeljebb (k + 1)-fokban definit.33.1 A 33.13. Tétel bizonyításához hasonlóan.33.2. Legyen az A = (A,X, δ) A-véges automata összefüggő részhalmazainakhalmaza B. Legyen B1 ∈ B az A egy maximális összefüggő részhalmaza. Megmu-tatjuk, hogy (A − B1, X, δ) az A automata egy részautomatája. Ha A − B1 = ∅,akkor az állítás nyilvánvaló. Tegyük fel, hogy A−B1 6= ∅, s legyen a ∈ A−B1. Mi-vel B1 maximális összefüggő részhalmaz, ezért van olyan b ∈ B1, hogy az ap = bqegyenlet egyetlen p, q ∈ X∗ párra sem teljesül. Tegyük fel, hogy van olyan x ∈ X,amelyre δ(a, x) ∈ B1. Akkor vannak olyan p, q ∈ X∗, hogy axp = bq. Ellent-mondás. Így minden x ∈ X esetén δ(a, x) ∈ A − B1, azaz (A − B1, X, δ) valóbanrészautomata. Ha A − B1 az A összefüggő részhalmaza, akkor készen vagyunka bizonyítással. Ha nem, akkor az előbbi eljárást A helyett az (A − B1, X, δ)automatával megismételjük. Véges számú lépésben megkapjuk az eredményt.34.1 Legyen B = (B,X, δ) az A = (A,X, δ) automata részautomatája és R(ωB) aA automata B szerinti Rees kongruenciája. Mivel a C(A) kongruenciaháló konple-mentumos, ezért van olyan ρ ∈ C(A), amelyre ρ∨R(ωB) = ωA és ρ∧R(ωB) = ιA ésígy A/ρ ∼= B. Ha B-t azonosítjuk A/ρ-val, akkor a ϕρ természetes homomorfizmusA retrakt homomorfizmusa B-re.34.2 Legyen B az A Mealy automata retrakt részautomatája és ϕ A egy retrakthomomorfizmusa B-re. Ha a ∈ A, akkor minden p ∈ X+ bemenő szóra (3.4) és(3.5) alapján

λ(a, p) = λ(ϕ(a), p)

azaz (a, ϕ(a)) ∈ ρmax, vagyis B ∩ ρmax[a] 6= ∅. Nyilvánvalóan kerϕ ∧ R′(B) = ιAés kerϕ ∨R′(B) ⊆ ρmax. Ha (a, b) ∈ ρmax, akkor minden p ∈ X+ esetén

λ(ϕ(a), p) = λ(a, p) = λ(b, p) = λ(ϕ(b), p),

vagyis (ϕ(a), ϕ(b)) ∈ R′(B). De (a, ϕ(a)) ∈ kerϕ és (ϕ(b), b) ∈ kerϕ, amiből(a, b) ∈ kerϕ ∨R′(B), vagyis ρmax ⊆ kerϕ ∨R′(B).

Megfordítva, a feltételek miatt minden a ∈ A állapotra |τ [a] ∩ B| = 1. Aϕ(a) = τ [a] ∩B (a ∈ A) leképezés az A automata retrakt homomorfizmusa B-re.36.1. Az U ábécé feletti L véges nyelv generálható azzal a G = (VN , VT , S,H) 3típusú grammatikával, amelyre VN = {S}, VT = U és H = {S −→ p; p ∈ L}.36.2. Legyen G = (VN , VT , S,H) egy grammatika, amelyre VN = {S}, VT = U .Ha H = {S −→ Su;u ∈ U}, akkor G az üres nyelvet, ha pedig H{S −→ e, S −→Su, S −→ u;u ∈ U}, akkor az univerzális nyelvet generálja.36.3. ({S}, U, S, {S −→ e, S −→ xSy}).

514

Page 515: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

36.4. L = L(G), ahol VN = {S,X}, VT = {x, y} és a G = (VN , VT , S,H) lineárisgrammatika szabályai:

S −→ xXy, S −→ xS, S −→ Xy, S −→ yx,

X −→ xX, X −→ Xy, X −→ yx.

37.1. L1 = L(G1), ahol G1 = ({S}, {a, b}, S,H1) és a H1-beli szabályok:

S −→ a3b, S −→ a3Sb.

L2 = L(G2), ahol G2 = ({S}, {a, b}, S,H2) és a H2-beli szabályok:

S −→ aSb, S −→ aS, S −→ e

Az (L1L2 + L2)∗ nyelvet generáló környezetfüggetlen grammatikát például a 36.6.Tétel bizonyítása alapján kaphatunk.37.2. L = L(G), ahol G = ({X,Y, S}, {a, b}, S,H) és H a következő (k + 1)(k +2) + 3 számú szabályból áll:

S −→ e, X −→ a, Y −→ b,

továbbá az S −→ P szabályokból, amelyek P jobb oldala az S,X,X, . . . ,X, Y k+2elemű permutációi.37.3. Legyen V = {x1, x2, . . . , xn}. Ha

H = {S −→ e, S −→ xi, S −→ xjSxj ; i, j = 1, 2, . . . n},

akkor a G = ({S}, V, S,H környezetfüggetlen grammatika generálja az V felettiLp(V ) palindromok nyelvét. A 26.12. Tétel bizonyításának első részében az n = 1esetre megadott eljárást alkalmazva, Lp(V ) megadható az

Lp(V ) = (e+ x1 + x2 + . . . xn + x1ux1 + x2ux2 + · · ·+ xnuxn)u

környezetfüggetlen kifejezéssel, ahol u 6= V ∪ {S}.37.4. Tegyük fel, hogy az L nyelv környezetfüggetlen. A Bar-Hillel lemma jelöléseithasználva, ha j2 > k > 0, akkor xj2 = ruvwt == (rwt)(uv) = xs+m, ahol rwt =xs, uv = xm (m ≥ 1) és minden l ≥ 0 egész számra xs+lm ∈ L. Ez azt jelenti,hogy s+ lm minden l ≥ 0 egészre négyzetszám, ami lehetetlen.40.1. Tegyük fel, hogy van olyan p = x1 . . . xi . . . xj . . . xn ∈ L, amelyre az (1.6)-ban definiált δ(a0, p) = a1 . . . ai . . . aj . . . an sorozatban ai = aj . Akkor

x1 . . . xi(xi+1 . . . xj)kxj+1 . . . xn ∈ L,

azaz L végtelen. Megfordítva, tegyük fel, hogy L végtelen. Akkor van olyan p ∈ L,hogy |p| > |A|. Ez azt jelenti, hogy a δ(a0, p) sorozatban vannak egyenlő állapotok.

515

Page 516: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

40.2. Tetszőleges p = x1x2 . . . xk szóra és a0, a1, . . . ak ∈ A állapotokra, (1.19)-etés (1.20)-at is felhasználva :

a1 ∈ δ(a0, x1), . . . , ak ∈ δ(ak−1, xk)

akkor és csak akkor, ha

ak−1 ∈ δd(ak, xk), . . . , a0 ∈ δd(a1, x1).

Ebből látható, hogy δ′(A0, p) ∩ F 6= ∅ akkor és csak akkor, ha δ′d(F, p−1 ∩A0 6= ∅.

(Ha p = e, akkor e ∈ L⇐⇒ A0 ∩ F 6= ∅ ⇐⇒ e ∈ L−1.)41.1. Az

A 0 1 2 3 4 5 6 7

x 1 5 6 1 4 4 7 4y 4 2 3 1 4 3 7 5.

átmenettáblázattal megadott automata 0 kezdő állapottal és 3 végállapottal tel-jesíti a feltételeket. Ha felrajzoljuk az automata átmenetgráfját, könnyen meg-győződhetünk arról, hogy 0p = 3 (p ∈ {x, y}), akkor és csak akkor, ha p = xqy,q ∈ {x, y}({x, y}3)∗ és p /∈ {x, y}∗x3{x, y}∗.41.2. Ha van olyan p ∈ L, amelyre |p| ≥ n, akkor a pumpáló lemmában szereplőjelölésekkel, a lemma bizonyítása szerint, p = uvw v 6= e és minden k nemnegatívegész számra uvkw ∈ L, azaz L végtelen.41.3. Használjuk a 41.13. Tétel bizonyításának jelöléseit. Annak eldöntésére, hogyL üres vagy nem, legfeljebb

|F ||X(n− 1)| = |F ||X0 ∪X1 ∪X2 ∪Xn−1| = |F |n−1∑i=0

|X|i = ln−1∑i=0

ki

lépés szükséges. Ha k = 1, akkor l(n − 1), ha k > 1, akkor l kn−1k−1 . Annak eldön-

tésére, hogy L végtelen vagy nem, legfeljebb |F ||X(2n− 1)−X(n− 1)| lépés kell.Ha k = 1, akkor ln, ha k > 1, akkor lkn k

n−1k−1 .

41.4. Használjuk fel a reguláris nyelvekre vonatkozó pumpáló lemmát.49.1. Tegyük fel, hogy ϕ(L) kód Y felett. Legyen

p1 . . . pk = q1 . . . qk (p1, . . . , pk, q1, . . . , qk ∈ L).

Akkorϕ(p1) . . . ϕ(pk) = ϕ(p1 . . . pk) = ϕ(q1 . . . qk) = ϕ(q1) . . . ϕ(qk).

Mivel ϕ(L) kód, ezért a 36.2. Lemma szerint

ϕ(p1) = ϕ(q1), . . . , ϕ(pk) = ϕ(qk),

amiből a ϕ homomorf kiterjesztése miatt |p1| = |q1|, . . . , |pk| = |qk|. A p1 . . . pk =q1 . . . qk feltételből kapjuk, hogy p1 = q1, . . . , pk = qk, ami ismét a 46.2. Lemmaszerint azt jelenti, hogy L kód.

516

Page 517: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

49.2. Használjuk fel a 49.2. Lemmát. Tegyük fel, hogy p1 . . . pk = q1 . . . qk. Hap1 = · · · = pk = an, akkor q1 = · · · = qk = an. Ha van olyan pl, hogy pl = aibaj

(∈ I, j ∈ J), akkor van olyan ql′ , hogy ql′ = ai′baj′ (i ∈ I, j′ ∈ J). Legyen l és l′ a

legkisebb ilyen pozitív egész szám. Ebből az oszthatósági feltételt is felhasználva,adódik, hogy l = l′ és p1 = q1, . . . , pl = ql. Az eljárást esetleg véges sokszormegismételve kapjuk, hogy L kód.49.3. Ha pq = qp, akkor a 49.2. Lemma szerint C = {p, q} nem kód. Tegyük fel,hogy vannak olyan p, q ∈ X+, amelyekre pq 6= qp és C nem kód. Válasszunk ezekközül olyan p, q párt, hogy |pq| minimális legyen. Mivel C nem kód, ezért van olyanw ∈ C+, amely legalább kétféleképpen állítható elő C-beli szavak szorzataként,azaz

w = pp1p = qq1q, p1, q1 ∈ C∗ vagy w = pp2q = qq2p, p2, q2 ∈ C∗.

Válasszunk ezek közül is minimális hosszúságú w-t. Az általánosság megszorításanélkül feltehető, hogy van olyan u, v ∈ X+, amelyekre p = qu = vq. Ha qu = uq,akkor u = v és pq = quq = qp, ami lehetetlen, ezért qu 6= uq. Hasonlóan qv 6= vq.De |qu|, |vq| < |pq|, ezért {q, u} ill. {v, q} kód. Mivel

qup1qu = qq1q vagy vqp2q = qq2vq,

így q = u vagy q = v, azaz pq = q3 = qp, ami lehetetlen. Ez azt jelenti, hogy Ckód.49.4. Az uv hossza szerinti teljes indukcióval megmutatjuk, hogy ha uv = vu,akkor van olyan p ∈ X+, amelyre u = pk és v = pl, azaz uv nem primitív szó.Ezért uv 6= vu, amiből az előző feladat szerint adódik az eredmény. Ha |uv| = 2,akkor nyilvánvalóan igaz az állítás. Tegyük fel, hogy minden olyan uv szóra is igaz,amelyre 2 ≤ |uv| ≤ n. Legyen |uv| = n + 1. Feltehetjük, hogy |u| ≥ |v|. Ha|u| = |v|, akkor az uv = vu feltételből következik, hogy u = v, azaz p = u = v. Ha|u| > |v|, akkor vannak olyan u1, v1 ∈ X+, hogy u = vu1 = v1v, azaz vu1v = uv =vu = vv1v, s ebből u1 = v1. Így u = vu1 = u1v. Mivel |vu1| ≤ n, ezért az indukciósfeltevés miatt van olyan p ∈ X+, hogy v = pk és u1 = pl. Így u = vu1 = pk+l.51.1. L (prefix) kód. Legyen π az X ábécé tetszőleges pozitív Bernoulli mértékeés 0 < π(a) = r < 1. Akkor

π(L) =

∞∑n=0

rn(1− r)π((a+ b)n) =

∞∑n=0

rn(1− r) = 1.

Az 51.3. Tétel szerint L maximális kód.52.1. Használjuk fel az 52.5. Példával kapcsolatos meggondolásokat. A ϕ(p) =|p|a − k|p|b (p ∈ {a, b}∗) leképezés az {a, b}∗ szabad monoid homomorf leképezéseaz egész számok Z additív csoportjára és Lk = ϕ−1(0). Legyen Lk bázisa Dk. Hap ∈ X+, akkor q = a2k|p|b+(k−1)|p|apb|p| ∈ Lk = D∗k. Továbbá q-nak nincs valódikezdőszelete D+

k -ból, így q ∈ Dk, vagyis Dk sűrű kód.

517

Page 518: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

53.1. Tegyük fel, hogy C prefix kód és A,B ⊆ X∗. Nyilvánvalóan C(A ∩ B) ⊆CA ∩ CB. Ha p ∈ CA ∩ CB, akkor p = ca = db (c, d ∈ C, a ∈ A, b ∈ B). Mivel Cprefix kód, ezért c = d, s így a = b, azaz p ∈ C(A∩B). Tehát C(A∩B) = CA∩CB.

Megfordítva, tegyük fel, hogy C(A∩B) = CA∩CB minden A,B ⊆ X∗ esetén.Ha C nem prefix kód, akkor vannak olyan p, q ∈ X+, hogy p, pq ∈ C. LegyenA = {p, qp} és B = {q2p}. Akkor C(A ∩ B) = ∅, de pq2p ∈ CA ∩ CB, amilehetetlen. Így C kód.54.1. Ha C és L prefix kód, akkor az 54.4. Következmény szerint CL is prefixkód. Ha C és CL prefix kód, akkor indirekt bizonyítással megmutatható, hogy Lisprefix kód.54.2. Tegyük fel, hogy C1C2 prefix kód. Ha C2 nem prefix kód, akkor C2X

+∩C2 6=∅, ezért

∅ 6= C1(C2X+ ∩ C2) ⊆ C1C2X

+ ∩ C1C2.

Ez azonban lehetetlen, mivel C1C2 prefix kód. Kaptuk, hogy C2 is prefix kód. Abizonyítás (2 ≤)n szerinti teljes indukcióval fejezhető be.

Az állítás szuffix kódokra: Ha C1C2 . . . Cn szuffix kód, akkor

C1, C1C2, . . . , C1C2 . . . Cn−1

is szuffix kód.55.1. Ha L teljesiti azX∗L ⊆ LX∗ feltételt és C = L−LX+, akkorX∗C ⊆ X∗L ⊆LX∗ = CX∗. Az 55.7. Tétel szerint C szemafor prefix kód X felett. Megfordítva,ha C szemafor prefix kód X felett, akkor az 55.7. Tétel szerint X∗C ⊆ CX∗.Ha p ∈ X∗L, akkor vannak olyan u, v ∈ X∗ és q ∈ C, hogy p = uqv. Ígyp ∈ X∗CX∗ ⊆ CX∗X∗ = CX∗. De CX∗ = LX∗, s így X∗L ⊆ LX∗.55.2. Legyen C olyan kód X felett, amelyre X∗C ⊆ CX∗. Az előző feladat szerintD = C − CX+ szemafor prefix kód, így az 55.4. Lemma szerint maximális prefixkód. Az 55.10. Következmény szerint D ritka kód. Az 53.9. Tételt alkalmazvakapjuk, hogy D maximális kód. De D ⊆ C, így C = D, azaz C szemafor prefixkód. Megfordítva, ha C szemafor prefix kód, akkor az 55.7. Tételből következik,hogy X∗C ⊆ CX∗.55.3. Ha C szemafor prefix kód, akkor az előző feladat szerint X∗C ⊆ CX∗.Legyen u ∈ C és p ∈ C. Akkor van olyan q ∈ C és v ∈ X∗, hogy up = qv. Mivel Cprefix kód, ezért v ∈ C. Így CC ⊆ CC. Megfordítva, tegyük fel, hogy CC ⊆ CC.Ha p ∈ X∗C, akkor p = uq (u ∈ X∗, q ∈ C). Mivel C jobbról teljes, ezértpX∗ ∩ C∗ 6= ∅. Így u ∈ CX∗ vagy u ∈ C. Ha u ∈ CX∗, akkor p ∈ CX∗C ⊆ CX∗.Ha u ∈ C, akkor p ∈ CC ⊆ CC ⊆ CX∗. Vagyis X∗C ⊆ CX∗. Az előző feladatszerint C szemafor prefix kód.56.1. Ha L1 nem szuffix kód, akkor vannak olyan p, q ∈ X+ szavak, amelyekrep, qp ∈ L1. Ha r ∈ L2, akkor pr, qpr ∈ L1L2, ami ellentmond annak, hogy L1L2

bifix kód. Hasonlóan mutatható meg, hogy L2 prefix kód.56.2. Ha X+L ⊆ LX+, akkor az 53.1. Lemma bizonyítása szerint Xn ⊆ L. HaXn ⊆ L, akkor X+L ⊆ ∪∞k=n+1X

k = XnX+ ⊆ LX+.

518

Page 519: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

56.3. Aϕ(p) =

∑a∈X1

|p|a −∑b∈X2

|p|b (p ∈ X∗)

leképezés X∗ homomorf leképezése az egész számok Z additív csoportjára (ϕ(a) =1 (a ∈ X1), ϕ(b) = −1 (b ∈ X2)), M = ϕ−1(0). A 51.12. Lemma szerint M az X∗

unitér részfélcsoportja. A 49.9. Tétel szerint M bázisa bifix kód, amelynek elemeiazok a p1q1 . . . pnqn szavak, amelyekre p1, . . . , pn ∈ Xi

+, q1 . . . qn ∈ Xj+ (i, j =

1, 2, i 6= j), |p1|+ · · ·+ |pn| = |q1|+ · · ·+ |qn| és n > 1 esetben |p1|+ · · ·+ |pk| >|q1|+ · · ·+ |qk| (k = 1, . . . , n− 1).57.1. Legyen r ∈ V . Tegyük fel, hogy van olyan p ∈ X+, hogy rp ∈ C+CX∗. Harp ∈ C, akkor r ∈ C. Ez azonban lehetetlen, ezért rp ∈ CX∗, azaz van olyan t ∈ Cés q ∈ X∗, hogy rp = tq. Mivel r /∈ C, ezért r = tq′ (q′ ∈ X∗), vagyis r ∈ CX∗,ami szintén lehetetlen. Így rp ∈ V .57.2. Ha C maximális prefix kód, akkor V = ∅, s így V − V X+ = ∅ = V − V X+.

Legyen V 6= ∅. Az 57.1. feladat szerint V X+ ⊆ V , ezért V = (V − V X+) +V X+. Legyen p ∈ V − V X+ és p = qr (q ∈ X∗, r ∈ X+). Ha q ∈ V X+,akkor p ∈ V X+, ami lehetetlen, így q /∈ V X+. Mivel V − V X+ prefix kód, ezértq /∈ V − V X+. Így q ∈ C + CX∗. Ha q ∈ CX∗, akkor p ∈ CX∗, ami lehetetlen.Tehát q ∈ C, vagyis V − V X+ ⊆ C.

Megmutatjuk, hogy V = (V −V X+)X∗, amiből már következik, hogy C+(V −V X+) maximális prefix kód. Ismét az 57.1. feladat szerint (V − V X+)X∗ ⊆ V .Megfordítva, ha v ∈ V , akkor v ∈ V − V X+ vagy v ∈ V X+. Ha v ∈ V − V X+,akkor nyilván v ∈ (V − V X+)X∗. Ha v ∈ V X+, akkor van olyan u ∈ V − V X+

és t ∈ X+, hogy v = ut, így v ∈ (V − V X+)X∗. Ezek azt jelentik, hogy V ⊆(V − V X+)X∗.57.3. Ha D = C + (V − V X+), akkor az 57.2. feladat szerint

D = C + V − V X+ = C.

Megfordítva, legyen C ⊆ D, D = C és D maximális prefix kód. Az 52.14.Tétel és az 57.2. feladat szerint

X∗ = D +DX∗ = C + (C + (V − V X+))X∗.

Minthogy D ∩DX∗ = ∅ és C ∩ (C + (V − V X+))X∗ = ∅, ezért DX∗ = (C + (V −V X+)X∗. Ha q ∈ D, akkor van olyan r ∈ C + (V −V X+) és t ∈ X∗, hogy q = rt.Ha t ∈ X+, akkor r ∈ D = C. De C ∩ C = ∅ és C ∩ V = ∅ miatt ez lehetetlen.Így t = e, azaz q = r ∈ C + (V − V X+. Tehát D ⊆ C + (V − V X+. Mivel Dmaximális prefix kód, ezért D = C + (V − V X+.58.1. Legyen Y C-vel ekvivalens halmaz és ϕ(Y ) = C, ahol ϕ Y X feletti kódolása.Az 54.5. Következmény szerint Cn (n ∈ N+) maximális prefix kód. Tegyük fel,hogy Cn szinkron kód, azaz van olyan p ∈ (Cn)+, amelyre X∗p ⊆ (Cn)∗. Akkor(C∗p ⊆ X∗p ⊆ (Cn)∗, azaz

Y ∗ϕ−1(p) = ϕ−1(C∗)ϕ−1(p) = ϕ−1(C∗p) ⊆ ϕ−1((Cn)∗)(= ((ϕ−1(C))n)∗ = (Y n)∗,

519

Page 520: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

vagyis Y n szinkron kód Y felett. Ha y ∈ Y , akkor yϕ−1(p), ϕ−1(p) ∈ (Y n)+ miattmind a két szó hossza osztható n-nel, s így n = 1.58.2. Az 54.5. és az 54.2. Következmény szerint D = (Cn−C ′) +C ′Cn (n ∈ N+)maximális prefix kód. Tekintsük az előző feladat megoldását. Elegendő megmutat-ni, hogy ha 2 ≤ n, akkor D = (Y n−ϕ−1(C ′))+ϕ−1(C ′)Y n aszinkron kód Y felett.Ha ugyanis D szinkron kód lenne, akkor volna olyan q ∈ D+, amelyre Y ∗q ⊆ D∗.Minden D+-beli szó hossza osztható n-nel. Ha y ∈ Z, akkor yq, q ∈ D+ miatt yqés q hossza is osztható n-nel. Ebből következik, hogy n = 1.

520

Page 521: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

FÜGGELÉK

1. Halmazok, megfeleltetések, relációk, gráfokA rendszer és a rendszer eleme fogalmakat alapfogalmaknak tekintjük. Elem he-lyett szimbólumot is mondunk. Ha a eleme az A rendszernek, akkor ezt a ∈ Ajelöli. Természetesen, a /∈ A azt jelöli, hogy a nem eleme az A rendszernek. Arendszereket elemeik felsorolásával vagy az elemeiket egyértelműen meghatározó Ttulajdonsággal adhatjuk meg. Például A = {a1, a1, a2, a3} vagy B = {a;T (a)},ahol T (a) azt jelenti, hogy a rendelkezik a T tulajdonsággal. Egy rendszer halmaz,ha elemei különbözőek.

Megjegyezzük, hogy nem célunk a halmazelmélet axiomatikus megalapozása.Mi csak az un. naív halmazelméletet használjuk. Egy esetben azonban eltérünkettől. Használni fogjuk az osztály fogalmát is. Osztálynak olyan "nagyösszességet"tekintünk, amelynek nem lehetnek más "összességek" elemei. Ennek megfelelően,ha az A osztály eleme a B osztálynak, akkor A halmaz. Két halmaz pontosanakkor egyenlő, ha elemei megegyeznek.

Jól ismert példák halmazokra a következők: N a nemnegatív egész számokhalmaza, N+ a pozitív egész számok halmaza, Z az egész számok halmaza, Q a ra-cionális számok halmaza, R a valós számok halmaza, C a komplex számok halmaza.Az {1, . . . , n} halmazt röviden [n]-nel is jelölünk. Azt a halmazt, amelynek nincseleme, üres halmaznak nevezzük. Egy B halmaz az A halmaznak részhalmaza, hac ∈ B-ből c ∈ A következik, azaz, ha egy elem benne van B-ben, akkor benne vanA-ban is. Ennek jelölése B ⊆ A. A B halmaz az A halmaz valódi részhalmaza, sezt B ⊂ A módon jelöljük, ha B ⊆ A, de B 6= ∅ és B 6= A. Két halmaz egyenlő,ha egymás részhalmazai. A halmazok egyenlőségének definíciója szerint egyetlenüres halmaz van. Jele: ∅. Az üres halmaz minden halmaznak részhalmaza. Egy Ahalmaz összes részhalmazainak P (A) halmaza az A hatványhalmaza. Tehát P (A)elemei az üres halmaz, az A halmaz (mint önmaga részhalmaza) és az A valódirészhalmazai. Az A halmazt ekkor alaphalmaznak vagy univerzumnak nevezzük.A továbbiakban mindig feltételezzük, hogy a tekintetbe vett halmazok ugyanannakaz univerzumnak a részhalmazai. A P (A) egyelemű részhalmazait az egyszerűségkedvéért sokszor azonosítjuk elemükkel.

Az A és B halmazok A ∪ B egyesítését vagy unióját, A ∩ B metszetét vagyközös részét és A−B különbségét a következőképpen értelmezzük: A∪B = {x; x ∈A vagy x ∈ B}, A∩B = {x; x ∈ A és x ∈ B} és A−B = {x; x ∈ Aés x /∈ B}.Ha A ∩ B = ∅, akkor azt mondjuk, hogy A és B diszjunkt halmazok. Ha B ⊆ A,akkor A−B a B halmaz A-ra vonatkozó komplementere.

Az ak (k = 1, 2, . . . n) elemekből ebben a sorrendben megalkotott rendezettn-esre az (a1, a2, . . . , an) vagy az a1 . . . an jelölést használjuk, s véges vektornak,véges jelsorozatnak vagy szónak, az a1, . . . , an elemeket pedig a rendezett n-eskomponenseinek nevezzük, mégpedig ak-t a rendezett n-es k-adik komponensének.Úgy is mondjuk, hogy a rendezett n-es k-adik helyén ak áll. Egy p szó hossza

521

Page 522: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

a benne előforduló (nem szükségképpen különböző) elemek száma és ezt |p|-veljelöljük. Az A halmaz elemeiből képezett véges jelsorozatokat A feletti szavaknakis mondjuk. Az e üres szó az a szó, amely egyetlen jelet sem tartalmaz. Így azüres szó hossza: |e| = 0.

Az (a1, a2, . . . , an) és a (b1, b2, . . . , bn) rendezett n-esek akkor és csak akkoregyenlők, ha ak = bk minden k = 1, 2, . . . , n esetén.

Az {Ak; k = 1, 2, . . . , n} halmazrendszer ebben a sorrendben vett Descartes-szorzata az A1 × A2 × · · · × An = {(a1, a2, . . . , an); ak ∈ Ak, k = 1, 2, . . . , n}halmaz, amelyet röviden

∏nk=1Ak módon jelölünk. Ha n > 1, és A1 = A2 =

. . . An = A, akkor a Descartes szorzatot az A halmaz n-tényezős hatványánaknevezzük és az An jelölést használjuk. Definíció szerint legyen A1 = A és A0 = {e}.Az A1 ×A2 × · · · ×An feletti

(a11, a12, . . . a1n)(a21, a22, . . . a2n) . . . (ak1, ak2, . . . , akn)

szavakat azonosítjuk az (a11a21 . . . ak1, . . . , a1na2n . . . akn) szavakkal.Az A× B halmaz (nemüres) részhalmazai az A-ból B-be való megfeleltetések.

Az f ⊆ A×B megfeleltetésre az f : A→ B jelölést is használjuk. Bármely a ∈ Aesetén legyen ϕ(a) = {b ∈ B; (a, b) ∈ f}. (Természetesen ϕ(a) = ∅ is lehetséges.)A Df = {a ∈ A; (∃b ∈ B) (a, b) ∈ f}, illetve Rf = {b ∈ B; (∃a ∈ A) (a, b) ∈ f}részhalmazok az f megfeleltetés értelmezési tartománya, illetve értékkészlete. ρmegfeleltetés inverzén értjük a B-ből A-ba való ρ−1 = {(b, a); (a, b) ∈ ρ} megfe-leltetést. Ha ρ : A → B és σ : B → C, akkor ρ és σ kompozíciója az A-ból C-bevaló

ρ ◦ σ = {(a, c); (∃b ∈ B) ((a, b) ∈ ρ, (b, c) ∈ σ)}

megfeleltetés. A ρk : Ak → Ak+1 (k = 1, 2, . . . , n) megfeleltetések esetén legyen

ρ1 ◦ ρ2 ◦ . . . ρn = (ρ1 ◦ ρ2 · · · ◦ ρn−1) ◦ ρn.

Tetszőleges ρ : A→ B, σ : B → C és τ : C → D megfeleltetésekre

(ρ ◦ σ) ◦ τ = ρ ◦ (σ ◦ τ)

.Egy f ⊆ A × B megfeleltetés függvény vagy leképezés, ha (a, b), (a, c) ∈ f ,

akkor b = c. Ha (a, b) ∈ f , akkor ezt egyszerűen b = f(a)-vel jelöljük.Bármely ρ ⊆ A × B megfeleltetés helyett tekinthetjük azt az fρ : A → P (B)

függvényt is, amelyre minden a ∈ A esetén fρ(a) = {b ∈ B; (a, b) ∈ ρ} teljesül.Az f : A→ B és a g : B → C függvények f ◦ g kompozíciója szintén függvény.

Az f ◦g kompozíció azokból az (a, c) párokból áll, amelyekre van olyan b ∈ B, hogy(a, b) ∈ f és (b, c) ∈ g. Mivel f és g függvények, ezért b = f(a) és c = g(b), azaz c =g(f(a)). Ennek megfelelően minden a ∈ A elemre, ha a ∈ Df és f(a) ∈ Dg, akkorf ◦ g(a) = g(f(a)). A függvények esetében beszélünk ezek leképezésszorzatáról is,amely éppen fordított sorrendben végezhető el, mint a kompozíció. Az f : A→ B

522

Page 523: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

és g : B → C függvények gf leképezésszorzatát gf = f ◦ g definiálja, azaz mindena ∈ A elemre gf(a) = g(f(a)).

Egy f függvénynek, mint megfeleltetésnek az f−1 inverze nem mindig függvény,azonban ez a megfeleltetés bizonyos esetekben fontos lehet számunkra. Gyakranhasználjuk a következő jelöléseket. Ha H ⊆ Df , akkor f(H) = {f(h);h ∈ H}.Ha K ⊆ Rf akkor az f−1(K) = {a ∈ A; f(a) ∈ K} részhalmaz a K f -szerintiteljes inverz képe. Ha K egyetlen elemből áll, s ez az elem K, akkor az f−1(k)jelölést használjuk. Az A halmaz B halmazba való leképezéseinek halmazát BA-valjelöljük.

Ha A ⊆ Df akkor az fA vagy f |A-val jelölt leképezés az f leképezés A-ra valóleszűkítése vagy restrikciója, ha DfA = A és fA(a) = f(a) (a ∈ A). A g leképezésaz f leképezés A-ra való kiterjesztése, ha Dg = A és g(a) = f(a) (a ∈ Df ).

Az f : A→ B függvény szürjektív leképezés vagy ráképezés vagy szürjekció, haRf = B, injektív leképezés vagy egy-egyértelmű leképezés vagy kölcsönösen egyértel-mű leképezés vagy injekció, ha minden a, b ∈ Df -re f(a) = f(b) akkor és csak akkorteljesül, ha a = b. Az f függvény bijektív leképezés vagy egy-egyértelmű ráképezésvagy kölcsönösen egyértelmű ráképezés vagy bijekció, ha szürjektív és injektív. Eb-ben az esetben szemléletesen úgy is beszélünk, hogy az A halmaz elemeit átjelöltükvagy átneveztük az f bijekcióval. (T.i. a ∈ A új jele f(a).) Két halmaz egymássalekvivalens vagy egyenlő számosságú, ha megadható közöttük egy bijektív leképe-zés. Ha az A és B halmazok nem ekvivalensek, de A egy-egyértelműen leképezhetőa B halmazba, akkor azt mondjuk, hogy A számossága kisebb B számosságánál.Megmutatható, hogy egy halmaz számossága mindig kisebb hatványhalmazánakszámosságánál. Egy A halmaz véges, ha az vagy az üres halmaz vagy ekvivalensaz {1, 2, . . . , n} halmazzal valamely pozitív egész n-re. Ez utóbbi esetben azt ismondjuk, hogy az A halmaz n-elemű vagy, hogy a számossága n. Erre n = |A|jelölést használjuk. A nem véges halmazokat végtelen halmazoknak nevezzük vagyazt is mondjuk, hogy számosságuk végtelen. A pozitív egész számok halmazávalekvivalens halmazok a megszámlálhatóan végtelen halmazok. Erre az |A| = ∞jelöléssel is utalunk. Nem nehéz belátni, hogy minden végtelen halmaznak vanmegszámlálhatóan végtelen részhalmaza. Az A halmazt megszámlálhatónak nevez-zük, ha véges vagy megszámlálhatóan végtelen halmaz. A valós számok halmazávalekvivalens halmazok a kontínuum számosságú halmazok.

A ϕ : A → A függvényeket az A halmaz transzformációinak nevezzük. Ha ϕbijektív, akkor az A halmaz permutációjának mondjuk.

A πj(a1, a2, . . . , an) = aj (aj ∈ Aj , j = 1, 2, . . . , n) összefüggéssel definiáltπj :

∏nk=1Ak → Aj leképezés a

∏nk=1Ak Descartes-szorzat j-edik projekciója.

Egy olyan függvényt amely egy I 6= ∅ halmaz minden k elemének megfeleltetegy Ak halmazt indexezésnek nevezzük. Az I halmazt indexhalmaznak is hívjuk.Az I halmaz elemeivel indexezett halmazrendszerre az {Ak; k ∈ I} jelölést hasz-náljuk. Legyen a J halmaz ekvivalens az I halmazzal és π a J egy kölcsönösenegyértelmű leképezése I-re. Az {Ak; k ∈ I} rendszer π szerinti átindexezéséneknevezzük a {Bl; l ∈ J} rendszert, ha minden l ∈ J indexre Bl = Aπ(l).

523

Page 524: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Tetszőleges {Ak; k ∈ I} halmazrendszer egyesítését és metszetét a következő-képpen értelmezzük:

∪{Ak; k ∈ I} = {x; (∃k ∈ I) (x ∈ Ak)},

∩{Ak; k ∈ I} = {x; (∀k ∈ I) (x ∈ Ak)}.

Használjuk a ∪k∈IAk ill. a ∩k∈IAk jelölést is. Az {Ak; k ∈ I} halmazrendszertpáronként diszjunktnak nevezzük, ha Ak ∩ Aj = ∅ minden k 6= j indexekre. Meg-számlálhatóan sok megszámlálható halmaz egyesítése is is megszámlálható.

Kiválasztási függvényeknek nevezzük az a : I → ∪{Ak; k ∈ I} függvénye-ket, ha a(k) ∈ Ak teljesül minden k ∈ I-re. A kiválasztási függvényeket vekto-roknak is mondjuk. Az a(k) elemeket röviden ak-val is jelöljük. Használjuk aza = (ak; k ∈ I) jelölést is. A vizsgálatainkban feltesszük, hogy ilyen függvényekléteznek, azaz elfogadjuk az un. kiválasztási axiómát: Bármely I indexhalmazés nemüres {Ak; k ∈ I} halmazok esetén létezik legalább egy kiválasztási függ-vény. Ha I = N+, akkor a kiválasztási függvények az a = (a1, . . . , ak, . . . ) végtelensorozatok, ha pedig I = [n], akkor az a = (a1, . . . , an) rendezett n-esek.

A Descartes-szorzat definíciója kiterjeszthető tetszőleges I indexhalmazra is.Tetszőleges nemüres Ak (k ∈ I) halmazok Descartes-szorzatán értjük és

∏k∈I Ak-

vel jelöljük az a : I → ∪{Ak; k ∈ I} kiválasztási függvények halmazát. Az Akhalmaz a(k) = ak eleme a k-adik komponense, a πk(a) = ak összefüggéssel definiáltπk :

∏i∈I Ai → Ak leképezés pedig a Descartes-szorzat k-adik projekciója. Ha min-

den k ∈ I-re Ak = A, akkor a Descartes-szorzatot AI -vel jelöljük és hatványánakmondjuk.

Ez a kiterjesztés az I = [n] vagy I = N+ esetben esetben az eredeti definíciótadja. Az (a1, a2, . . . , an) vagy az (a1, a2, . . . , an, . . . ) elem jelölheti ugyanis azt aza kiválasztási függvényt is, amelyre a(k) = ak ∈ Ak (k ∈ I). Másrészt, ha a egykiválasztási függvény, akkor tekinthető a Descartes- szorzat (a(1),a(2), . . . ,a(n))vagy (a(1),a(2), . . . ,a(n), . . . ) elemének.

Ha I megszámlálhatóan végtelen, akkor I-t azonosíthatjuk a pozitív egész szá-mok halmazával. Így az {Ak; k ∈ N+} halmazrendszernek Descartes-szorzatánaz (a1, a2, . . . , ak, . . . ) (ak ∈ Ak) sorozatok, mint kiválasztási függvények halmazátértjük és

∏∞k=1Ak-vel jelöljük.

Egy A 6= ∅ halmaz részhalmazainak C = {Ak; k ∈ I} halmaza az A egyosztályozása, az Ak halmazok pedig a C osztályozás osztályai, ha azok páronkéntdiszjunktak, egyik sem egyenlő az üres halmazzal és egyesítésük egyenlő A-val.Bármely a ∈ A elemre az a-t tartalmazó osztályt C[a]-val jelöljük. Az osztályozásuniform, ha minden osztálya egyenlő számosságú és véges, ha az osztályok számavéges. Az A halmaz C′ osztályozása a C osztályozásának finomítása, jelölésbenC′ ⊆ C, ha minden A′k ∈ C′ osztályhoz van olyan Al ∈ C osztály, amelyre A′k ⊆ Al.A C′ osztályozás a C osztályozás valódi finomítása, jelölésben C′ ⊂ C, ha vannakolyan A′m ∈ C′ és An ∈ C, hogy A′m ⊂ An. A C′ osztályozás C triviális finomítása,ha minden osztálya egyelemű.

524

Page 525: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Egy A halmaznak önmagába való ρ megfeleltetései, azaz A2 ρ részhalmazai azA halmazon értelmezett (binér) relációk vagy röviden az A (binér) relációi. Az ∅részhalmazt üres relációnak mondjuk. Az (a, b) ∈ ρ jelölés helyett az aρb jelölést ishasználjuk, s azt mondjuk, hogy a ρ relációban van b-vel. Az a-val ρ relációban lévőelemek halmazát ρ[a]-val jelöljük. Az ρ = A2−ρ reláció a ρ reláció komplementere.Az A2 halmaz az A univerzális relációja, s ennek jelölésére ωA-t használunk. Az{(a, a); a ∈ A} részhalmaz az A identikus relációja és ιA-val jelöljük. Ezeket arelációkat A triviális relációinak is mondjuk. Mivel ιA leképezés, ezért identikusleképezésnek is mondjuk. Ha nem okoz félreértést, akkor az A indexet mindkétjelölésnél elhagyjuk. Ha ρ ⊆ τ ⊆ A2, akkor azt mondjuk, hogy ρ a τ szűkítése vagyτ a ρ kiterjesztése. Ha M részhalmaza az A halmaznak és ρ reláció az A-n, akkora ρM = M2∩ρ reláció a ρ M -re való szűkítése vagy ρ a ρM A-ra való kiterjesztése.

Akkor mondjuk, hogy egy ρ reláció reflexív, ha ι ⊆ ρ, irreflexív, ha ι ⊆ ρ,szimmetrikus, ha ρ ⊆ ρ−1, antisszimmetrikus, ha ρ ∩ ρ−1 = ι és tranzitív, haρ ◦ ρ ⊆ ρ. A ρ, τ ∈ A2 relációk felcserélhetők, ha ρ ◦ τ = τ ◦ ρ.

Legyenek P és E diszjunkt halmazok. Jelölje P2 a P elemeiből képzett két-elemű rendszerek halmazát. Ha ϕ az E halmaznak a P2 halmazba való megfelel-tetése, akkor A {P,E, ϕ} rendszert (irányítás nélküli) gráf nak nevezzük. Ha Pvagy E végtelen, akkor végtelen gráf ról beszélünk. Ha x ∈ E és a, b ∈ P elemekre(x, {a, b}) ∈ ϕ teljesül, akkor azt mondjuk, hogy az a és b pontok az x él vég-pontjai és az x él illeszkedik az a és b pontra vagy x összeköti az a és b pontot.Úgy is mondjuk, hogy a és b szomszédosak. Két élt szomszédosnak mondjuk, havan közös végpontjuk. Ha vannak olyan xi ∈ E és {ai, ai+1} ∈ P2, amelyekre(xi, {ai, ai+1)} ∈ ϕ (i = 1, 2, . . . , n), akkor az

{a1, a2}, {a2, a3}, . . . , {an, an+1} (a1, a2, . . . an+1 ∈ P )

sorozatot (n hosszúságú) útnak nevezünk, amelynek végpont jai a1 és an+1. Aztis mondjuk, hogy a1 és an+1 összeköthető úttal. Ha egy út kezdő- és végpontjamegegyezik, akkor az utat körnek hívjuk.

Ha ϕ az E halmaznak a P 2 Descartes-szorzatba való megfeleltetése, akkor A{P,E, ϕ} rendszert irányított gráf nak nevezzük. A P halmaz elemei a gráf pontjaivagy csúcsai, az E elemei pedig a gráf élei.

Minden gráfnak, ha P és E legfeljebb kontinuum számosságú, megfeleltethetőaz R3 háromdimenziós euklídeszi tér egy alakzata. A gráf pontjait térbeli pontokkalvagy kis körökkel ábrázolhatjuk, amelyekhez odaírjuk vagy a körökbe beírjuk, hogyP mely elemeiről van szó. Ha (x, (a, b)) ∈ ϕ, akkor az a-val megjelölt pontotegy éllel összekötjük a b-vel megjelölt ponttal, amelyre ráírjuk az x jelet. Azt ismondjuk, hogy az x él és az a ill. a b pont illeszkednek egymáshoz. Egy ponthozilleszkedő élek számát a pont fokának mondjuk. Ha a = b, akkor x-et hurokélnekhívjuk. Ha (x, (a, b)) ∈ ϕ, akkor a-t x kezdőpontjának, b-t pedig végpontjánakhívjuk. Egy (a, b) ∈ P 2 rendezett párt (a, b) irányított élnek is mondjuk, ha vanolyan x ∈ E, amelyre (x, (a, b)) ∈ ϕ. Ebben az esetben, ha (x, (a, b)) ∈ ϕ, akkoraz a-val megjelölt pontot egy irányított éllel kötjük össze a b-vel megjelölt ponttal.

525

Page 526: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Egy(a1, a2), (a2, a3), . . . (an, an+1) (a1, a2, . . . an+1 ∈ P )

sorozatot (n hosszúságú) irányított útnak nevezünk, amelynek kezdőpont ja a1 ésvégpont ja an+1. Ezt a1-ből an+1-be vezető irányított útnak is nevezzük. Ha egy útkezdő- és végpontja megegyezik, akkor az utat irányított körnek hívjuk.

Minden (P,E, ϕ) irányított gráfnak egyértelműen megfelel P -nek egy binér re-lációja, mégpedig a ϕ(E)(⊆ P 2) reláció. Fordítva, a P halmaz minden ρ(⊆ P 2)binér relációjához megadhatunk egy (P, ρ, ϕ) irányított gráfot, amelyre minden(a, b) ∈ ρ esetén ϕ(a, b) = (a, b) teljesül. Ezt a ρ binér reláció gráfjának nevezzük

Egy gráfot akkor mondunk összefüggőnek, ha bármely két különböző pontjaösszeköthető úttal. Egy irányított gráf erősen összefüggő, ha bármely a és b pontjaösszeköthető egy a kezdőpontú és b végpontú irányított úttal. Egy irányítás nélküligráf fa, ha összefüggő és nem tartalmaz kört. Egy irányított gráfot irányított fánaknevezünk, amelynek gyökere a0 ∈ P , ha fa és az a0 pontot bármely a ∈ P (a 6= a0)ponttal összekötő egyetlen út egyben a0-ból a-ba vezető irányított út. Nyilvánvaló,hogy minden irányított fának egyetlen gyökere van. Egy irányított fa végpontjaiazok a pontok, amelyekből nem indul ki irányított él.

Egy (P ′, E′, ϕ′) irányított gráf a (P,E, ϕ) irányított gráf részgráf ja, ha P ′ ⊆ P ,E′ ⊆ E és ϕ′ = ϕE′ .

Páronként diszjunkt fák egyesítését erdőnek mondjuk.Tetszőleges A 6= ∅ halmazra a d : A2 → R függvény az A halmaz egy metri-

kája vagy távolságfüggvénye, ha bármely a, b, c ∈ A elemre d(a, b) ≥ 0, d(a, b) =d(b, a), d(a, b) + d(b, c) ≥ d(a, c) (háromszög-egyenlőtlenség), továbbá d(a, b) = 0akkor és csak akkor, ha a = b. Azt mondjuk, hogy A a d távolságfüggvénnyelmetrikus teret alkot.

2. Műveletek, algebrai struktúrákTetszőleges A nemüres halmaz és n ∈ N esetén az f : An → A függvények azA halmazon értelmezett n-változós műveletek. Úgy is mondjuk, hogy az A hal-maz zárt az f műveletekre. Az f parciális művelet, ha An halmaz nem mindenelemére van értelmezve. Természetesen minden f : An → A n-változós műve-let felfogható (n + 1)-változós műveletnek is, mégpedig olyan módon, hogy haa1, . . . , an, an+1 ∈ A, akkor f(a1, . . . , an, an+1) = f(a1, . . . , an). Speciálisan, n = 1esetén az unér, n = 2 esetén pedig a binér művelet kifejezést is használjuk. Han = 0, akkor nullér műveletről beszélünk, ami A0 = {e} miatt A egy eleménekkijelölését jelenti. Az A-n értelmezett unér műveletek pontosan az A transzformá-ciói. Binér műveletekre pedig példaként említhetjük az összeadást és a szorzást akövetkező halmazokon: N, N+, Z, Q, R, C, abban az értelemben, hogy bármely(a, b) rendezett elempárhoz az a+b összeget, illetve az ab szorzatot rendeljük hozzá.

Ha egy halmazon értelmezve van legalább egy művelet, akkor a halmazt a tekin-tetbe vett műveletekkel együtt algebrai struktúrának nevezzük. Azaz egy algebrai

526

Page 527: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

struktúra egy olyan (A,F ) rendezett halmazpár, amelyben A egy nemüres halmaz,F pedig az A-n értelmezett műveletek valamely nemüres halmaza. Az A halmaztaz algebrai struktúra tartóhalmazának nevezzük. Ha nem vezet félreértésre, ak-kor az (A,F ) jelölés helyett A-t használunk és azt is mondjuk, hogy A algebraistruktúra vagy röviden algebra.

Az (A,F ) és (A′, F ′) algebrai struktúrák azonos típusúak, ha megadható Fés F ′ között olyan bijektív leképezés, hogy az egymásnak megfeleltetett műveletekugyanannyi változósak. Az ∅ halmazt üres algebrának is nevezzük, ahol a műveletekF halmaza tetszőleges.

Ha (A,F ) algebra, A′ ⊆ A és F ′ ⊆ F , akkor legyen F ′A′ = {f ′A′ ; f ′ ∈ F ′}.Ha (A′, F ′A′) algebra, akkor ez az algebra az eredeti algebra egy parciális részal-gebrája. Az egyszerűség kedvéért f ′A′-t azonosítjuk f ′-vel. Az eredeti algebrávalazonos típusú parciális részalgebrák (azaz, amikor F ′ = F ) az algebra részalgebrái.Például (N, {+}) parciális részalgebrája a (Z, {+, ·}) algebrának, de részalgebrája a(Z, {+}) algebrának. Az üres algebra minden algebrának részalgebrája. Az (A′, F )algebra az (A,F ) algebra valódi részalgebrája, ha A′ ⊂ A. Az (A′, F ) algebra az(A,F ) algebra maximális részalgebrája, ha (A,F )-nek nincs olyan (A′′, F ) részal-gebrja, amelyre A′ ⊂ A′′ ⊂ A. Legyen A algebrai struktúra, M pedig nemüresrészrendszere A-nak. M -et A generátorrendszere, ha M elemeiből A műveleteinekvéges számú alkalmazásával A minden eleme előáll. HaM generátorrendszere az Aalgebrai struktúrának, akkor az A =< M > jelölést is használjuk. Az M rendszeraz A algebra minimális generátorrendszere, ha nincs A-nak olyan generátorrend-szere, amely valódi részrendszere M -nek. Nyilvánvaló, hogy minden minimálisgenerátorrendszer halmaz. Egy algebrai struktúra végesen generált, ha van végesgenerátorrendszere. Végesen generált algebrai struktúrának mindig van minimálisgenerátorrendszere. Az A algebrai struktura B részstruktúrájára és C nemüresrészhalmazára B =< C > akkor és csak akkor, ha B az A C-t tartalmazó rész-struktúráinak közös része, azaz A-nak minimális C-t tartalmazó részstruktúrája.

Legyen α az F halmaz bijektív leképezése az F ′ halmazra. A (P (A), F ′) algebraistruktúra az (A,F ) algebrai struktúra hatványstruktúrája, ha tetszőleges f ∈ Fn-változós műveletre és A1, A2, . . . An ∈ P (A) halmazokra

α(f)(A1, A2, . . . , An) = {f(a1, a2, . . . , an); a1 ∈ A1, a2 ∈ A2, . . . , an ∈ An}

teljesül. Ha Ai = ∅ valamely i ∈ {1, 2, . . . , n} esetén, akkor

α(f)(A1, A2, . . . , An) = ∅.

Ez azt jelenti, hogy egy algebrai struktúra és hatványstruktúrája ugyanolyan ti-pusú. Az α(f) műveleteket az (A,F ) algebrai struktúra komplexus-műveleteinekis mondjuk. (Egy algebrai struktúra részhalmazait a struktúra komplexusainak ishívjuk.) Az egyszerűség kedvéért általában az α leképezést identikusnak tekint-jük, azaz a műveleteket a hatványstruktúrában ugyanúgy jelöljük, mint az eredetistruktúrában.

527

Page 528: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az azonos típusú (A,F ) és (A′, F ′) algebrai struktúrák esetén a ϕ : A→ A′ le-képezés az (A,F )-nek (A′, F ′)-be való homomorf leképezése vagy homomorfizmusavagy homomorf beágyazása, ha tetszőleges egymásnak megfelelő n-változós (f, f ′) ∈F×F ′ műveletpár és tetszőleges (a1, a2, . . . , an) ∈ An esetén ϕ(f(a1, a2, . . . , an)) =f ′(ϕ(a1), ϕ(a2), . . . , ϕ(an)) teljesül. Úgy is mondjuk, hogy (A,F ) homomorfan be-ágyazható (A′, F ′)-be. Ha ϕ szürjektív, akkor azt mondjuk, hogy (A′, F ′) az (A,F )-nek homomorf képe. Ha ϕ injektív, akkor ϕ az (A,F )-nek (A′, F ′)-be való izomorfleképezése vagy izomorfizmusa vagy izomorf beágyazása. Ha pedig ϕ bijektív, akkor(A′, F ′) az (A,F )-nek izomorf képe (vagy ϕ az (A,F )-nek (A′, F ′)-re való izomor-fizmusa. Mivel ekkor ϕ inverze is bijektív homomorfizmus, azaz (A,F ) is izomorfképe (A′, F ′)-nek, ezért azt is mondjuk, hogy (A,F ) és (A′, F ′) egymással izomor-fak. Ezt (A,F ) ∼= (A′, F ′) módon jelöljük. Az egymással izomorf algebrai struk-túrákat a vizsgálatok jellegétől függően sok esetben azonosaknak tekintjük. Ez azun. "izomorfiaelv". Például az izomorfiaelv nem alkalmazható, ha az egymássalizomorf algebrai struktúrák valamely más algebrai struktúrának rész struktúrái.Egy algebrai struktúra valódi homomorfizmusai azok a homomorfizmusai, amelyeknem izomorfizmusok.

Minden (A,F ) algebrai struktúra izomorfan beágyazható (P (A), F ) hatvány-struktúrájába. Egy megfelelő izomorfizmus az a leképezés, amely A minden elemé-nek megfelelteti az elemet tartalmazó egyelemű halmazt.

Legyen K azonos típusú algebrai struktúrák egy osztálya. Az (A′, F ′) K-beli algebrai struktúra az (A,F ) algebrai struktúra K-homomorf képe, ha (A′, F ′)az (A,F ) homomorf képe. Az (A′, F ′) algebra struktúra (A,F ) maximális K-homomorf képe, ha (A′, F ′) az (A,F ) egyetlen K-homomorf képének sem valódiK-beli homomorf képe. Az (A′, F ′) az (A,F )-nek legnagyobb K-homomorf képe, ha(A,F ) minden K-homomorf képe (A′, F ′)-nek is homomorf képe.

Az (A,F )-nek önmagába való homomorfizmusai az (A,F ) endomorfizmusai,önmagára való izomorfizmusai pedig (A,F ) automorfizmusai.

Legyenek (A,F ) és (A′, F ′) tetszőleges (azonos típusú) algebrai struktúrák, Baz A valódi (nemüres) részhalmaza és ϕ a B halmaznak A′-be való leképezése. Aϕ′ leképezés a ϕ leképezés B-nek az (A,F )-re való homomorf kiterjesztése, ha ϕ′

az (A,F ) algebrai struktúrának (A′, F ′)-be való homomorf leképezése és mindenb ∈ B esetén ϕ′(b) = ϕ(b).

Ha egy A halmazon csak unér műveletek vannak értelmezve, akkor A-t unéralgebrának nevezzük. Ha F egy n-elemű halmaz, akkor n-műveletes algebrai struk-túráról beszélünk. Ha valamely A halmazon csak egyetlen binér műveletet vizs-gálunk, s ez a művelet f , akkor az egyszerűbb írásmód kedvéért az f(a, b) helyettáltalában ab-t írunk és a műveletet szorzásnak is nevezzük. Ez a művelet kommu-tatív, ha minden A-beli a és b elemre ab = ba. Ha (ab)c = a(bc) teljesül mindena, b, c ∈ A-ra, akkor a művelet asszociatív. Ha bármely A-beli a és b elemekhezléteznek olyan A-beli x és y elemek, hogy ax = b és ya = b, akkor a művelet in-vertálható. Egy halmazt egyetlen binér művelettel együtt gruppoidnak nevezünk.Ha az f mellett egy másik g binér műveletet is vizsgálunk az A halmazon, akkor

528

Page 529: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

g(a, b) helyett az legtöbbször az a+ b kifejezést használjuk, s ez utóbbi műveletetösszeadásnak nevezzük. A szorzás balról [jobbról ] disztributív az összeadásra, haa(b+c) = ab+ac [(b+c)a = ba+ca] teljesűl tetszőleges a, b, c ∈ A elemekre. A szor-zás disztributív az összeadásra, ha balról és jobbról is disztributív az összeadásra.Véges A = {a1, a2, . . . , an} halmazon értelmezett binér műveletek megadásánakszemléletes módja a Cayley-féle művelettáblázat. Ezek alakja a következő:

· a1 · · · aj · · · ana1 a1a1 · · · a1aj · · · a1an...

......

...ai aia1 · · · aiaj · · · aian...

......

...an ana1 · · · anaj · · · anan.

Binér művelet táblázatából könnyen eldönthető, hogy a művelet kommutatív-e.Véges halmazon értelmezett unér művelet is megadható táblázattal, ami a halmazegy transzformációjának táblázattal való megadása.

Az (Ak, Fk) (k = 1, 2, . . . , n) azonos típusú algebrai strukturák (ebben a sor-rendben vett)direkt szorzata a velük azonos típusú (A,F ) algebrai struktúra, aholA =

∏nk=1Ak és, ha f ∈ F, fk ∈ Fk (k = 1, 2, . . . , n) egymásnak megfelelő j-

változós műveletek, akkor

f((a11, a12, . . . , a1n), . . . , (aj1, aj2, . . . , ajn)) =

= (f1(a11, a21, . . . , aj1), . . . , fn(a1n, a2n, . . . , ajn)).

A direkt szorzat fogalma tetszőleges I indexhalmazra is kiterjeszthető. Legyen(Ak, Fk) (k ∈ I) azonos típusú algebrai strukturák egy rendszere. Ezen algebraistruktúrák direkt szorzata a velük azonos típusú (A,F ) algebrai struktúra, amelyreA =

∏k∈I Ak és, ha f ∈ F, fk ∈ Fk (k ∈ I) egymásnak megfelelő j-változós

műveletek, akkor bármely a1,a2, . . . ,aj ∈ A esetén

f(a1,a2, . . . ,aj)(k) = fk(a1(k),a2(k), . . . ,aj(k))

teljesül. Minden k ∈ I-re a πk k-adik projekció az (A,F ) direkt szorzat (Ak, Fk)-revaló homomorf leképezése.

Ha I = N+, akkor (Ak, Fk), (k = 1, 2, . . . , n, . . . ) azonos típusú algebraistruktúrák ebben a sorrendben vett (A,F ) direkt szorzatának A tartóhalmaza az{(a1, a2, . . . , ak, . . . ) (ak ∈ Ak) sorozatok halmaza. Ha f ∈ F, fk ∈ Fk (k ∈N+) egymásnak megfelelő j-változós műveletek, akkor bármely alk ∈ Ak (l =1, 2, . . . , j, k = 1, 2, . . . ) elemre

f((a11, a12, . . . , a1k, . . . ), . . . , (aj1, aj2, . . . , ajk, . . . )) =

= (f1(a11, a21, . . . , aj1), . . . , fk(a1k, a2k, . . . , ajk), . . . )).

529

Page 530: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ha (A1, F1), (A2, F2) és (A3, F3) azonos típusú algebrák, akkor az A1 × A2 ésaz A2 × A1 direkt szorzatok, valamint az (A1 × A2) × A3 és az A1 × A2 × A3

direkt szorzatok izomorfak. (Ha ai ∈ Ai (i = 1, 2, 3), akkor az előbbi esetben az(a1, a2)→ (a2, a1), az utóbbi esetben pedig az ((a1, a2), a3)→ (a1, a2, a3) leképezésegy megfelelő izomorfizmus.) Ez azt jelenti, hogy a direkt szorzat izomorfiától elte-kintve független a sorrendtől és a zárójelezéstől, azaz izomorfia erejéig kommutatívés asszociatív.

A (B,F ) algebrai struktúra felbontható az (Ak, F ) (k ∈ I) algebrai struktúrák(A,F ) direkt szorzatára, ha (B,F ) izomorf az (A,F ) direkt szorzattal. Az (A,F ) a(B,F ) algebrai struktúra egy direkt felbontása, az (Ak, F ) (k ∈ I) algebrai struktú-rák pedig a felbontás komponensei. A direkt felbontás valódi, ha egyik komponenssem izomorf (B,F )-vel. Az (A,F ) algebrai struktúrát direkt irreducibilis [reduci-bilis], ha nincs [van] valódi direkt felbontása.

A (B,FB) algebrai struktúrát a vele azonos típusú (Ak, Fk) (k ∈ I) algebraistruktúrák szubdirekt szorzatának nevezzük, ha izomorf az (A,F ) =

∏k∈I(Ak, Fk)

direkt szorzat egy olyan (A′, F ) részalgebrájával, amelyre minden k ∈ I eseténπk(A

′) = Ak, ahol πk a k-adik projekció. Úgy is mondjuk, hogy (B,FB) felbonthatóaz (Ak, Fk) (k ∈ I) algebrai struktúrák szubdirekt szorzatára. Ha a felbontásbanvalamely πk projekció bijektív, akkor azt mondjuk, hogy a felbontás triviális és(B,FB) szubdirekt irreducibilis.

Legyen azonos típusú algebrai struktúrák egy K osztályára S(K) a K-belialgebrák részalgebráinak osztálya. S-et részalgebra-operátornak nevezzük. Defi-niálhatjuk például a H homomorfizmus-, az I izomorfizmus-, a P direkt szor-zat -operátorokat, amelyek rendre a K-beli algebrák homomorf képeinek H(K),izomorf képeinek I(K), K-beli algebrak direkt szorzatainak P(K) osztályait ál-lítják elő. Ha X és Y két algebrai operátor, akkor az XY operator értelmezése:XY(K) = X(Y(K)).

Az azonos típusú algebrai struktúrák egy K osztálya varietás, ha

H(K),S(K),P(K) ⊆ K.

Megmutatható, hogy K akkor és csak akkor varietás, ha HSP(K) ⊆ K. Termé-szetesen az azonos típusú algebrai struktúrák varietást alkotnak. Az unér algebrákés a gruppoidok is varietások. Egy K algebra osztályt tartalmazó legszűkebb vari-etás HSP(K). Ha P(K) csak a véges sok tényezős direkt szorzatokat tartalmazza,akkor pszeudovarietásról beszélünk.

Birkhoff tétele: Egy varietásban minden algebra előállítható szubdirekt irredu-cibilis algebrák szubdirekt szorzataként.

3. Ekvivalenciák, kongruenciákEgy reflexív, szimmetrikus és tranzitív relációt ekvivalenciának nevezünk. Ha ρ ek-vivalencia egy A halmazon, akkor a ρ[a] = {x ∈ A; (a, x) ∈ ρ} jelölést használva,

530

Page 531: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

könnyen bizonyítható, hogy ρ[a]∩ρ[b] 6= ∅ akkor csak akkor teljesül, ha ρ[a] = ρ[b],ezért a különböző ρ[a] részhalmazok az A egy Cρ osztályozását alkotják, amelyeta ρ-hoz tartozó osztályozásnak mondjuk. A ρ[a] részhalmaz az a elemet tartal-mazó ρ-osztály. A ρ-osztályok halmaza az A halmaz ρ szerinti faktorhalmaza ésA/ρ-val jelöljük. Az A halmaz tetszőleges C = {Ak; k ∈ I} osztályozása eseténa ρC = {(a, b) ∈ A2 : (∃k ∈ I) a, b ∈ Ak} reláció ekvivalencia, amelyet a C osz-tályozáshoz tartozó ekvivalenciának nevezünk. A ρC-osztályok éppen az Ak, k ∈ Irészhalmazok. A ρ ekvivalenciát ill. a hozzá tartozó ρC osztályozást uniform mond-juk, ha minden ρ-osztály egyenlő számosságú. A ρ ekvivalencia véges indexű, ha ahozzá tartozó osztályozás véges.

Ha ρk (k ∈ I) ekvivalenciák az A halmazon, akkor ∩k∈Iρk is ekvivalencia A-n.Bármely ρ, τ ⊆ A2 ekvivalenciákra ρ, τ ⊆ ρ ◦ τ , továbbá, ha κ ekvivalencia A-nés ρ, τ ⊆ κ, akkor ρ ◦ τ ⊆ κ, és ρ ◦ τ akkor és csak akkor ekvivalencia A-n, haρ ◦ τ = τ ◦ ρ. Ebben az esetben ρ ◦ τ a legkisebb ekvivalencia, amely a ρ és τekvivalenciákat tartalmazza.

Az ρ∪ τ reláció akkor és csak akkor ekvivalencia, ha bármely a, b ∈ A elemekreρ[a] ∩ τ [b] = ∅ vagy egyenlő a ρ[a]-val vagy τ [b]-vel. Ha ρ ∪ τ ekvivalencia, akkorρ ∪ τ = ρ ◦ τ .

Tetszőleges k ∈ N esetén egy ρ(⊆ A2) reláció k-adik hatványát a következőkép-pen értelmezzük: ρ0 = ιA és ρk+1 = ρk ◦ ρ. A ρ tranzitív lezártja a ρ+ = ∪k∈N+ρ

k,reflexív és tranzitív lezártja pedig a ρ∗ = ∪k∈Nρk reláció. A ρ+ [ρ∗] a legszűkebbtranzitív [reflexív és tranzitív] reláció, amely tartalmazza ρ-t. Ha ρ reflexív, ak-kor ρ+ = ρ∗, ha pedig ρ szimmetrikus, akkor ρ∗ a legszűkebb ekvivalencia, amelytartalmazza ρ-t.

Legyenek ρ és τ az A halmazon értelmezett olyan ekvivalenciák, amelyekreτ ⊆ ρ teljesül. Akkor

ρ/τ = {(τ [a], τ [b]) ∈ A/τ ×A/τ : (a, b) ∈ ρ}

ekvivalencia az A/τ faktorhalmazon.Egy f : A → B függvény esetén a ker f = {(x, y) ∈ A2; f(x) = f(y)} ek-

vivalencia az A halmazon. Ennek osztályai az f−1(b), b ∈ B alakú részhalmazaiaz A-nak. Ez az ekvivalencia az f függvény magja. A

∏k∈I Ak Descartes-szorzat

πk (k ∈ I) projekcióinak kerπk magjai uniform ekvivalenciák.Egy A halmazon értelmezett ρ reláció művelettartó az A-n értelmezett f n-

változós műveletre (vagy ρ kompatibilis f fel), ha minden

(a1, a2, . . . , an), (b1, b2, . . . bn) ∈ An

elem n-es esetén, az (ak, bk) ∈ ρ (k = 1, 2, . . . , n) feltételből

(f(a1, a2, . . . , an), f(b1, b2, . . . , bn)) ∈ ρ

következik. Egy algebrán értelmezett ekvivalencia kongruencia, ha művelettartóaz algebra minden műveletére. Ekkor azt is mondjuk, hogy az ekvivalencia ál-tala létesített osztályozás kompatibilis (a műveletekre). Az ιA és az ωA mindig

531

Page 532: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

kongruenciái az algebrai struktúrának. Ezek az un. triviális kongruenciák. Haezeken kívül nincs más kongruenciája, akkor az algebrai struktúrát egyszerű neknevezzük. Legfeljebb kételemű algebrai struktúra mindig egyszerű. Ha ρ kong-ruencia az (A,F ) algebrán, akkor tetszőleges F -beli n-változós f művelet eseténfρ : (ρ[a1], ρ[a2], . . . , ρ[an]) → ρ[f(a1, a2, . . . , an)] n-változós művelet az A/ρ fak-torhalmazon. Az (A/ρ, Fρ) algebra az (A,F ) algebra ρ szerinti faktoralgebrája, aholFρ = {fρ; f ∈ F}. A ϕρ : a→ ρ[a] leképezésről jól látható, hogy az (A,F ) algebrá-nak az (A/ρ, Fρ) faktoralgebrára való homomorfizmusa. Ez az A algebrának az A/ρfaktoralgebrára való természetes (vagy kanonikus) homomorfizmusa. Érvényes azalábbi un. homomorfiatétel. Ha A és B azonos típusú algebrák és ϕ az A-nak B-revaló homomorfizmusa, akkor kerϕ kongruencia az A-n és B ∼= A/kerϕ. Ezekbőlkövetkezik, hogy egy algebrai struktúra akkor és csak akkor egyszerű, ha mindenhomomorfizmusa vagy izomorfizmus vagy egy egyelemű algebrai struktúrára valóleképezés. Igazak az alábbi un. izomorfiatételek is.

Első izomorfiatétel : Ha A egy algebrai struktúra, ρ egy kongruencia A-n és Bolyan részalgebrája A-nak, hogy B∩ρ[a] 6= ∅ minden a ∈ A-ra, akkor A/ρ ∼= B/ρB.

Második izomorfiatétel : Ha ρ és τ az A algebrai struktúra olyan kongruenciái,hogy τ ⊆ ρ, akkor ρ/τ kongruencia az A/τ faktoralgebrán és A/ρ ∼= (A/τ)/(ρ/τ).

Ha ρk (k ∈ I) kongruenciák az A algebrán, akkor ∩k∈Iρk is kongruencia A-n.Bármely ρ, τ ⊆ A2 kongruenciákra ρ ◦ τ akkor és csak akkor kongruencia A-n, haρ ◦ τ = τ ◦ ρ, ebben az esetben a ρ ◦ τ legkisebb olyan kongruencia, amely ρ-t ésτ -t tartalmazza.

4. Rendezési relációk, hálókEgy reflexív, antiszimmetrikus és tranzitív relációt részbenrendezésnek (parciálisrendezésnek) nevezünk. Egy nemüres halmaz részbenrendezett halmaz, ha azonértelmezve van egy részbenrendezés. A "⊆" halmazelméleti tartalmazás egy hal-maz hatványhalmazán részbenrendezés. Ez azt jelenti, hogy egy A halmazon ér-telmezett binér relációk B(A) halmazán a "⊆" reláció részbenrendezés. Ha másmegszokott jelölés nincs, mint például a halmazok esetén "⊆", akkor a részbenren-dezéseket ≤-vel jelöljük. Ha A részbenrendezett halmaz a ≤ relációra, akkor az(A,≤) jelölést használjuk. Az a ≤ b esetben azt is mondjuk, hogy a kisebb vagyegyenlő mint b, illetve b nagyobb vagy egyenlő mint a. Minden részbenrendezésinverze is részbenrendezés, amit általában ≥-vel jelölünk. Ha a ≤ b, de a 6= b,akkor az a < b jelölést használjuk. és azt mondjuk, hogy a kisebb mint b, illetve bnagyobb mint a. Egy részbenrendezett A halmaz rendezett vagy lánc, ha bármelya, b ∈ A elemek esetén a ≤ b vagy b ≤ a. Ebben az esetben azt mondjuk, hogy ≤az A egy rendezése.

Legyenek az{Ak, k ∈ I} halmazok részbenrendezett halmazok. Ha ≤k azAk (k ∈ I) halmaz részbenrendezése, akkor ≤ reláció, amelyre

a ≤ b (a,b ∈ A) ⇐⇒ (∀k ∈ I : ak ≤k bk),

532

Page 533: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

az A =∏k∈I Ak Descartes-szorzat részbenrendezése. Abból, hogy a ≤k (k ∈ I)

relációk rendezések általában nem következik, hogy ≤ is rendezés. Ha ≤k (k ∈ Irendezések és az I indexhalmaz is rendezett a ≤I rendezésre, akkor az A Descartes-szorzaton bevezethetjük a ≤l lexikografikus rendezést a következő módon: a ≤lb (a,b ∈ A) akkor és csak akkor, ha a = b vagy van olyan i ∈ I, hogy mindenk <I i esetén ak = bk és ai <i bi.

Egy A részbenrendezett halmaz bármely nemüres B részhalmaza szintén rész-benrendezett halmaz az A részbenrendezésének B-re való szűkítésére. Egy részben-rendezett halmaz rendezett részhalmazai a halmaz részláncai. A részbenrendezetthalmaz egyM részlánca a halmazmaximális részlánca, ha nincs a halmaznak egyet-len olyan részlánca sem, amely valódi részként tartalmazná M -et. A kiválasztásiaxiómával ekvivalens az un. Lánc-axióma:

Egy részbenrendezett halmaz bármely részlánca részhalmaza a halmaz egy ma-ximális részláncának.

Egy részbenrendezett halmaz valamely eleme a halmaz minimális eleme [ma-ximális eleme], ha nincs a halmaznak nála kisebb [nagyobb] eleme. A halmazvalamely eleme a halmaz legkisebb eleme [legnagyobb eleme], ha a halmaz mindentőle különböző eleménél kisebb [nagyobb]. Minden halmaznak legfeljebb egy legki-sebb [legnagyobb] eleme van. Az nyilvánvaló, hogy ha egy halmaznak van legkisebb[legnagyobb] eleme, akkor az a halmaznak egyetlen minimális [maximális] eleme.Egy részbenrendezett A halmaz a eleme a B ⊆ A részhalmaz alsó korlátja [ felsőkorlátja], ha minden b ∈ B esetén a ≤ b [a ≥ b] teljesül. A B halmazt az A alulról[felülről] korlátos részhalmazának mondjuk, ha van alsó [felső] korlátja, és korlátosrészhalmazának, ha alulról és felülről is korlátos. Ha B = A, akkor A-t alulról[felülről] korlátosnak ill. korlátosnak mondjuk. Ha a részbenrendezett A halmazalulról [felülről] korlátos, akkor van legkisebb [legnagyobb] eleme. A legkisebb éslegnagyobb elemet A korlátelemeinek nevezzük. Az a ∈ A elem a B legnagyobb alsókorlát ja [legkisebb felső korlát ja], ha az a B alsó [felső] korlátjai halmazának leg-nagyobb [legkisebb] eleme. A B halmaz legnagyobb alsó [legkisebb felső] korlátjáta B infimumának vagy metszetének [szuprémumának vagy egyesítésének] is nevez-zük és a

∧B [∨B] jelölést használjuk. Tekintsük az A részbenrendezett halmaz

valamely a, b elempárját. Az [a, b] intervallum az A azon x elemeinek a halmaza,amelyekre az a ≤ x ≤ b feltétel teljesül. Az a < x ≤ b elemek halmaza az (a, b]intervallum. Az [a, b) és (a, b) intervallumok definíciója értelemszerűen adódik.

A kiválasztási axiómával ekvivalens a következő un. Zorn lemma:Ha egy részbenrendezett halmaz minden részláncának van felső korlátja a hal-

mazban, akkor a halmaznak van maximális eleme.Egy L részbenrendezett halmaz háló, ha bármely kételemű részhalmazának van

a halmazban infimuma és szuprémuma. Minden hálónak legfeljebb egy minimális éslegfeljebb egy maximális eleme lehet, s ez egyben a háló legkisebb, ill. legnagyobbeleme. Ha az L részbenrendezett halmaz háló, akkor definiáljuk a binér ∧ metszetés ∨ egyesítés műveleteket úgy, hogy minden a, b ∈ L esetén a ∧ b =

∧{a, b} és

a∨b =∨{a, b} teljesüljön. Ezek a műveletek bármely a, b, c ∈ L elemekre teljesítik

533

Page 534: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

az alábbi un. hálóaxiómákat:

a ∧ b = b ∧ a, a ∨ b = b ∨ a,

a ∧ (b ∧ c) = (a ∧ b) ∧ c, a ∨ (b ∨ c) = (a ∨ b) ∨ c,

a ∧ a = a, a ∨ a = a,

a ∧ (a ∨ b) = a, a ∨ (a ∧ b) = a.

Fordítva, ha L halmazon értelmezve van az általábanmetszésnek (∧) ill. egyesí-tésnek (∨) nevezett két binér művelet, amelyek bármely a, b, c ∈ L elemekre teljesí-tik a hálóaxiómákat, akkor az a ρ(⊆ L2) binér reláció, amelyre (a, b) ∈ ρ (a, b ∈ L)akkor és csak akkor, ha a = a∧ b, az L olyan részbenrendezése, amelyre

∧{a, b} =

a ∧ b és∨{a, b} = a ∨ b, azaz L háló erre a részbenrendezésre. (Szokás szerint

a ρ relációra használjuk ⊆ jelölést.) Ez azt jelenti, hogy minden háló megadha-tó részbenrendezett halmazként és kétműveletes algebrai strukturaként is, ahol arészbenrendezés és a müveletek közötti fentebb megadott hozzárendelés kölcsönö-sen egyértelmű. (Például egy halmaz hatványhalmazán a halmazelméleti ⊆ relációés a halmazelméleti ∪ és ∩ műveletek közötti A ⊆ B =⇒ A ∩ B = A kapcso-lat.) Ezért az (L,∧,∨) algebrai struktúrát is, amelyben teljesülnek a hálóaxiómák,hálónak nevezzük.

Az L hálót disztributívnak nevezzük, ha bármely a, b, c ∈ L elemekre teljesülnekaz

a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c), a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)

metszés ill. egyesítés disztributív azonosságai. Ha egy hálóban teljesül metszésvagy az egyesítés disztributív azonossága, akkor disztributív.

Egy hálóelméleti állítás dualizálásának nevezzük azt az eljárást, amikor a ∧és ∨ műveleti jeleket felcseréljük az állitásban. Az így kapott állítást az eredetiállítás duálisának mondjuk. Hálóelméleti dualitás elve: A hálóelmélet minden igazállításának duálisa is igaz állítás.

Az L háló metszésre [egyesítésre] teljes, ha minden részhalmazának van infin-uma [szuprénuma]. Az L háló teljes, ha mindkét műveletre teljes. (Ez úgy ismondható, hogy a metszés [egyesítés] művelete L minden részhalmazára kiterjeszt-hető.) Minden véges háló teljes. Ha egy korlátos háló az egyik műveletre teljes,akkor a másikra nézve is teljes. Ha az L háló teljes, akkor sajátmagának is létezikinfinuma (

∧L) [szuprémuma (

∨L)], amely szükségképpen a háló legkisebb [leg-

nagyobb] eleme, azaz egy teljes háló mindig korlátos. (A legnagyobb [legkisebb]elem természetesen ∅ infímumaként [szuprémumaként] is előáll, vagyis

∧L =

∨∅

és∨L =

∧∅.)

Legyen a korlátos L háló legkisebb eleme o és legnagyobb eleme i. Az L vala-mely a elemének komplementumán értjük az L olyan x elemét, amelyre a ∧ x = oés a ∨ x = i teljesül. (Természetesen ebben az esetben x egy komplementumaa.) Ha a-nak x egyetlen komplementuma, akkor a egyértelmű komplementumánakmondjuk. Az L [egyértelműen] komplementumus, ha minden eleme [egyértelműen]

534

Page 535: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

komplementumos. Alulról korlátos L háló p elemét L atomjának nevezzük, hanincs olyan x ∈ L, amelyre o < x < p teljesül. Ha minden a ∈ L elemhez van olyanp ∈ L atom, hogy p ≤ a, akkor L-et atomos hálónak nevezzük.

A komplementumos disztributív hálókat Boole algebráknak nevezzük. Ha aBoole algebra teljes háló, akkor teljes Boole algebrának mondjuk. Minden Boolealgebra egyértelműen komplementumos. Jelöljük az L Boole algebra tetszőleges aelemének komplementumát a-sal.

De Morgan azonosságok : Boole algebra bármely a és b elemére a ∧ b = a∨ b ésa ∨ b = a ∧ b.

EgyH halmaz P (H) hatványhalmaza a ∪ és ∩műveletekre teljes Boole algebra,amelynek ∅ a legkisebb eleme, H pedig a legnagyobb eleme és A = H − A az Aelemének komplementuma, azaz A-nak H-ra vonatkozó komplementere.

Jelöljük egy H 6= ∅ halmaz ekvivalenciáinak halmazát Eq(H)-val. Vezessükbe az Eq(H) halmazon a ∨ műveletet úgy, hogy minden a, b ∈ H elemre (a, b) ∈ρ ∨ τ akkor és csak akkor, ha vannak olyan a1, a2, . . . , an ∈ H elemek, hogy a =a1, (ak, ak+1) ∈ ρ vagy (ak, ak+1) ∈ τ (k = 1, 2, . . . , n − 1), b = an. Az Eq(H)halmaz az ∧ = ∩ és a ∨ műveletekre teljes háló, amelynek az ιA identikus relációa legkisebb és az ωA univerzális reláció a legnagyobb eleme. Ez a háló a H halmazekvivalenciahálója.

Nyilvánvaló, hogy bármely ρ, τ ∈ Eq(H) esetén ρ ◦ τ ⊆ ρ ∨ τ . Nem nehézigazolni, hogy a ρ ◦ τ = τ ◦ ρ, a ρ∨ τ = ρ ◦ τ és a ρ ◦ τ ⊆ τ ◦ ρ feltételek egymássalekvivalensek. Ezenkívül, ρ ∨ τ = ωH és ρ ◦ τ = τ ◦ ρ akkor és csak akkor, haρ ◦ τ = ωH .

Tetszőleges (A,F ) algebrai struktúra kongruenciáinak C(A) halmaza az ∨ és a∧ műveletekre az Eq(A) ekvivalenciaháló teljes részhálója, amelyet A kongruencia-hálójának nevezünk. A C(A) legkisebb eleme ιA, a legnagyobb eleme ωA. Ezeketaz algebrai struktúra triviális kongruenciáknak hívjuk.

Egy (A,F ) algebrai struktúra akkor és csak akkor szubdirekt irreducibilis, ha(C(A)− ιA)-nak van legkisebb eleme.

Az (A,F ) algebrai struktúrát egyszerű nek nevezzük, ha ιA-n és ωA-an kívülnincs más kongruenciája. Minden legfeljebb kételemű algebrai struktura egyszerű.Továbbá minden egyszerű algebrai struktúra szubdirekt irreducibilis.

Az (A,F ) algebrai struktúra részalgebráinak Sub(A) halmaza a halmazelméletitartalmazásra teljes háló, amelyet A részalgebrahálójának hívunk.

Megfeleltetési tétel : Legyen ρ ∈ C(A) és α : [ρ, ωA] → C(A/ρ) leképezés azα(τ) = τ/ρ (ρ ⊆ τ) összefüggéssel definiálva, akkor [ρ, ωA] részhálója C(A)-nak ésα a [ρ, ωA] intervallum izomorf leképezése C(A/ρ)-ra.

A tetszőleges A′ részhalmazára jelölje Θ(A′) a legkisebb olyan kongruenciát,amelyre A′ elemei ugyanabban az kongruencia-osztályban vannak. A Θ(A′) kong-ruenciát az A′ × A′ halmaz által generált kongruenciának nevezzük. Ha A′ ={a1, a2, . . . , an}, akkor Θ(A′)-re a Θ(a1, a2, . . . , an) jelölést is használjuk.

A Θ(a, b) (a, b ∈ A) kongruenciákat főkongruenciáknak hívjuk.

535

Page 536: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

5. Gruppoidok, félcsoportok, csoportokA Függelék 2. fejezetében is említettük, hogy egy halmazt egyetlen binér műve-lettel együtt gruppoidnak nevezünk. Egy A gruppoid valamely e eleme a gruppoidbal [jobb] oldali egységeleme, ha minden a ∈ A-ra ea = a [ae = a]. Az e elem az Aegységeleme, ha e az A-nak egyidejűleg bal oldali és jobb oldali egységeleme. Hae és f az A gruppoid bal, illetve jobb oldali egységeleme, akkor e = f , és ez az Aegyetlen egységeleme. Ha az A gruppoid nem egységelemes, akkor legyen e /∈ Aés Ae = A ∪ {e}. Terjesszük ki a műveletet az A1 halmazra úgy, hogy e az Ae

gruppoid egységeleme legyen. Ezt úgy mondjuk, hogy az A gruppoidhoz egység-elemet adjungálunk. Ha A egységelemes, akkor legyen Ae = A. Az egységelemesA gruppoid a′ eleme az a ∈ A elem bal [jobb] oldali inverze, ha a′a = e [aa′ = e],ahol e az A egységeleme. Ha a′ az a bal és jobb oldali inverze, akkor a′-t az ainverzének nevezzük. Ha a művelet asszociatív, akkor minden elemnek legfeljebbegy inverze van. Ebben az esetben az a elem inverzét a−1 jelöli.

Az A gruppoid egy z eleme a gruppoid bal [jobb] oldali zéruseleme, ha mindena ∈ A-ra za = z [az = z]. Az z elem az A zéruseleme, ha u az A-nak bal oldaliés egyben jobb oldali zéruseleme is. Ha u és v az A gruppoid bal, illetve jobboldali zéruseleme, akkor u = v, és ez az A egyetlen zéruseleme. Ha az A gruppoidnem zéruselemes, akkor adjungáljunk hozzá egy z zéruselemet, s jelölje a kapottgruppoidot Az. Ez azt jelenti, hogy Az = A ∪ {z} (/∈ A) halmazra kiterjesztjüka műveletet úgy, hogy z az Az gruppoid zéruseleme legyen. Ha A zéruselemes,akkor legyen Az = A. Az A gruppoid balzéró [jobbzéró] félcsoport, ha bármelya, b ∈ A elemeire ab = a[ab = b] teljesül. (Nyilvánvalóan ilyenkor a gruppoid olyanfélcsoport, amelynek minden eleme bal [jobb] oldali zéruselem.)

Az A gruppoid egy t eleme a gruppoid idempotens eleme, ha minden t2 = t.Minden bal [jobb] oldali egységelem [zéruselem] idempotens. Véges félcsoportbanminden elemnek van olyan hatványa, amely idempotens.

A ρ ⊆ A × A ekvivalencia az A gruppoid bal [jobb] kongruenciája, ha (a, b) ∈ρ feltételből következik, hogy minden c ∈ A elemre (ca, cb) ∈ ρ [(ac, bc) ∈ ρ]teljesül. A ρ bal [jobb] kongruenciához tartozó osztályozás az A egy bal [jobb]kompatibilis osztályozása. A ρ ⊆ A× A reláció akkor és csak akkor kongruenciájaaz A gruppoidnak, ha A-nak bal és jobb kongruenciája.

Az A gruppoid bal [jobb] kancellatív (balról [jobbról ] egyszerűsíthető), ha bár-mely a, x, y ∈ A elemekre ax = ay [xa = ya] akkor és csak akkor teljesül, hax = y. Ha a gruppoid bal és jobb kancellatív, akkor azt mondjuk, hogy kancellatív(egyszerűsíthető). Ha

(∀a ∈ A : ax = ay[xa = ya]) =⇒ x = y,

akkor az A gruppoid bal [jobb] reduktív. Ha A bal és jobb reduktív, akkor reduktív.Nyilvánvalóan minden [bal, jobb] kancellatív gruppoid, [bal, jobb] reduktív.

Az A gruppoid P (A) hatványgruppoidján a művelet az

A1A2 = {a1a2; a1 ∈ A1, a2 ∈ A2} (A1, A2 ∈ P (A))

536

Page 537: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

komplexus-szorzás. Ha A1 = {a} [A2 = {a}], akkor A1A2 helyett az aA2 [A1a]jelölést használjuk. Az A gruppoid A′ részhalmaza az egy bal [jobb] ideál ja, haAA′ ⊆ A′ [A′A ⊆ A′]. Gruppoid minden bal [jobb] ideálja a gruppoid egy részgrup-poidja. Ha A′ az A gruppoid bal és jobb ideálja, akkor A′ az A gruppoid ideál ja.Az A′ ideál A prímideál ja, ha A bármely B és C ideálja esetén BC ⊆ A′ akkor éscsak akkor, ha B ⊆ A′ vagy C ⊆ A′. Az A′ az A teljes prímideál ja, ha mindena, b ∈ A elempárra ab ∈ A′ akkor és csak akkor, ha a ∈ A′ vagy b ∈ A′. Gruppoidminden teljes prímideálja a gruppoid egy prímideálja. Az A gruppoid nemüresvalódi részhalmaza akkor és csak akkor filter, ha komplementere A teljes prímide-álja. Legyen A′ az A gruppoid egy ideálja és jelölje RA′ az A gruppoidnak azt akongruenciáját, amelyre (a, b) ∈ RA′ akkor és csak akkor, ha a = b vagy a, b ∈ A′teljesül. Az RA′ az A gruppoid A′ szerinti Rees kongruenciája, A/RA′ pedig AA′ szerinti Rees-faktora. Az A/RA′ Rees-faktort röviden A/A′-vel is jelöljük. Aztmondjuk, hogy A a B-nek C-vel való bővítése [kiterjesztése], ha C ' A/B. HaK, L gruppoidok bizonyos részosztályai és B ∈ K, C ∈ L, akkor speciálisan aztmondjuk, hogy A a B K-gruppoidnak a C-vel való L-bővítése [L-kiterjesztése].

Az S gruppoid részbenrendezett, ha S részbenrendezett halmaz és az a ≤ b ésc ≤ d (a, b, c, d ∈ S) feltételekből következik, hogy ac ≤ bd, ami ekvivalens azzal,hogy bármely a, b, c ∈ S elemekre, ha a ≤ b, akkor ac ≤ bc és ca ≤ cb. Ha Srendezett halmaz, akkor rendezett gruppoidról beszélünk.

Az S gruppoid félcsoport, ha a művelet asszociatív. Egy félcsoportban a szor-zatok erdeménye független a zárójelezéstől, s ezért a zárójelek el is hagyhatók.Félcsoport minden részgruppoidja a félcsoport részfélcsoportja. Az egységelemesfélcsoportot monoidnak is nevezzük. Az S félcsoport [monoid] S′ részfélcsoportja[részmonoidja] az S normális részfélcsoportja [részmonoidja], ha bármely a, b ∈ Sés c ∈ S′ elemekre acb ∈ S′ akkor és csak akkor ha ab ∈ S′. A félcsoportok varietástalkotnak.

Ha a félcsoportban a művelet invertálható, akkor a félcsoport csoport. Egyfélcsoport akkor és csak akkor csoport, ha monoid és minden elemének van inverze.Minden csoport kancellatív. Véges esetben igaz a tétel megfordítása is, azaz vé-ges félcsoport akkor és csak akkor csoport, ha kancellatív. Az egyelemű csoportotegységcsoportnak is mondjuk. Ha a művelet kommutatív, akkor a gruppoidot iskommutatívnak mondjuk. Kommutatív félcsoportban a szorzatok értéke függetlena tényezők sorrendjétől. A kommutatív csoportot Abel-csoportnak is nevezzük. Azegy elem által generált csoportot ciklikus csoportnak nevezzük. (Minden ciklikuscsoport Abel-csoport.) Egy csoport részfélcsoportja, akkor és csak akkor részcso-portja a csoportnak, ha bármely elemével együtt az inverzét is tartalmazza.

Legyen G egy csoport, H pedig G egy részcsoportja. A G H-szerinti bal [jobb]oldali mellékosztályai a gH = {gh;h ∈ H} [Hg = {hg;h ∈ H}] halmazok. A GH-szerinti bal [jobb] oldali mellékosztályai G egy osztályozását alkotják. Csoportbal [jobb] kompatibilis osztályozásai éppen a részcsoportjai szerinti osztályozások.Csoport rendjén a |G| számosságot értjük, G : H indexén pedig jobb oldali mellék-osztályai halmazának számosságát. Ha |G| véges, akkor a véges csoportról beszé-

537

Page 538: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

lünk. Csoport jobb és bal oldali mellékosztályai halmazának számossága egyenlő.Ha G : H véges, akkor H-t a G véges indexű részcsoportjának nevezzük.

Lagrange tétele: Ha G véges csoport és H tetszőleges részcsoportja, akkor |G| =|H|(G : H).

A G csoport N részcsoportja a G normális részcsoport ja vagy normálosztója,ha bármely g ∈ G elemre Ng = gN , azaz N = g−1Ng. Az e egységcsoport (ea G egységeleme) és G a G csoport normálosztói, ezek az un. triviális normál-osztók. Csoport kompatibilis osztályozásai éppen a normális részcsoportjai sze-rinti osztályozások. Ezek szerint G faktorcsoportjait következő módon kaphatjuk:Legyen N a G tetszőleges normálosztója és G/N = {Ng; g ∈ G}. (G/N, ·) azNg · Nh = Ngh(g, h ∈ G) szorzásra csoport, amely G N -szerinti faktorcsoportja.G/N a G homomorf képe. Fordítva, ha ϕ a G csoport G′-re való homomorfizmusaés e′ a G′ csoport egységeleme, akkor, akkor ϕ−1(e′) a G egy normálosztója ésG′ ∼= G/ϕ−1(e′). A ϕ−1(e′)-t a ϕ homomorfizmus magjának hívjuk.

A G minden normális részcsoportja normális részmonoidja G-nek. Ezek szerintegy csoport pontosan akkor egyszerű, ha csak triviális normálosztói vannak.

A véges Abel-csoportok alaptétele: Minden véges Abel-csoport prímhatvány-rendű ciklikus csoportok direkt szorzatára bontható, amelyek rendje sorrendtőleltekintve egyértelműen meghatározott.

Egy (nemüres) H halmaz transzformációinak T (H) halmaza a kompozíciórafélcsoport, amelyet H teljes transzformációfélcsoportának nevezünk. A T (H) rész-félcsoportjait (H feletti) transzformációfélcsoportoknak hívjuk. A H halmaz per-mutációinak S(H) halmaza a kompozícióra csoport, amelyet H teljes vagy szim-metrikus permutációcsoport jának, részcsoportjait pedig (H feletti) permutációcso-portoknak nevezünk. Természetesen S(H) az T (H) teljes transzformációfélcsoportrészcsoportja. Az [n] halmaz teljes transzformációfélcsoportját Tn, teljes permu-tációcsoportját Sn jelöli. Az [n] halmaznak azt a permutációját, amely 1-et 2-re,2-t a 3-ra, . . . , n-et az 1-re képezi n hosszúságú ciklusnak nevezzük, s a szoká-sos jelölése (12 . . . n). Az [n] halmaznak azt a permutációját, amely 1-et 2-re 2-tpedig az 1-re, többi elemet pedig önmagára képezi (12) jelöli. Ha 1 < n, akkoraz {(12), (12 . . . n)} a [n] Sn teljes permutációcsoportjának egy generátorendszere.Az Sn teljes permutációcsoport (12 . . . n) eleme által generált részcsoportja az nelemű ciklikus permutációcsoport.

Cayley tétele: Minden csoport izomorf egy permutációcsoporttal.Minden félcsoport izomorf egy transzformációfélcsoporttal.Egy (A,F ) algebrai struktúra endomorfizmusainak E(A) halmaza a leképe-

zésszorzásra monoid, amelyet (A,F ) endomorfizmusfélcsoport jának nevezünk. Az(A,F ) automorfizmusainak G(A) halmaza a leképezésszorzásra E(A) részcsoport-ja, amelyet (A,F ) automorfizmuscsoport jának nevezünk.

Az S félcsoport egy T részfélcsoportja az S szabad részfélcsoportja, ha van olyanC generátorrendszere, hogy bármely s1, s2, . . . , sk, t1, t2, . . . tl esetén

s1s2 . . . sk = t1t2 . . . tk ⇐⇒ k = l, s1 = t1, s2 = t2, . . . , sk = tk.

538

Page 539: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Ebben az esetben C a T egyetlen minimális generátorrendszere. A T félcsoportotC feletti szabad félcsoportnak, C-t pedig T bázisának is nevezzük.

Egy X halmaz feletti szavak halmazát, beleértve az üres szót is, X∗-gal jelöljük.A p-ben előforduló (nem feltétlenül különböző) betűk számát |p|-vel jelöljük, s ap szó hosszának nevezzük. Így az e üres szó hossza 0. Egy p 6= e szó utolsóbetűjét jelölje p. Megállapodás szerint legyen e = e. Ha p = x1x2 . . . xk, akkor ap−1 = xn . . . x2x1 szót p tükörképének nevezzük. Természetesen, ha p ∈ X ∪ {e},akkor p−1 = p. A X∗ halmazban kétváltozós műveletet definiálunk az alábbimódon. A X∗-beli p = x1x2 . . . xk és q = y1y2 . . . yl szavak szorzatán a szintén X∗-beli pq = x1x2 . . . xky1y2 . . . yl szót értjük. Ezt a műveletet egymásutánírásnak (konkatenációnak) nevezzük. A konkatenáció asszociatív művelet, és az üres szó errea műveletre egységelem. Továbbá a |pq| = |p|+ |q| szabály is érvényes. Speciálisan,a csupa x betűből álló k hosszúságú szót röviden az xk hatvány alakban is írjuk.Végül az x0 hatvány legyen egyenlő az e üres szóval.

Ha (X,≤X) rendezett halmaz, akkorX∗-n is definiálhatunk egy ≤ rendezést, azun. lexikografikus rendezést: Bármely p, q ∈ X∗ szavakra p < q akkor és csak akkor,ha |p| < |q| vagy a |p| = |q| esetben p = rxt és q = rys, ahol r, t, s ∈ X∗, x, y ∈ Xés x <X y.

A X∗ halmaz a konkatenáció műveletével együtt az X által generált vagy Xfeletti egységelemes szabad félcsoport vagy szabad monoid. A X+ = X∗ − {e}halmaz szintén zárt a konkatenáció műveletére. A X+ halmaz a konkatenációműveletével együtt az X által generált vagy X feletti egységelem nélküli szabadfélcsoport vagy szabad félcsoport. Kiemeljük az X∗ számunkra fontos következőrészhalmazait: Xk = {p ∈ X∗; |p| = k} és X(k) = {p ∈ X∗; |p| ≤ k} k ∈ N).Nyilvánvaló, hogy X∗ = ∪∞k=0X

k.Legyen X tetszőleges (nemüres) halmaz és S tetszőleges félcsoport. Ha ϕ az X

halmaz S-be való leképezése, akkor a ϕh(x1 . . . xk) = ϕ(x1) . . . ϕ(xk) (x1, . . . xk ∈X) feltétellel definiált ϕh leképezés a ϕ-nek egyetlen homomorf kiterjesztése X+-ra. A ϕh leképezés akkor és csak akkor szürjektív, ha ϕ(X) az S félcsoport egygenerátorrendszere. Ez azt jelenti, hogy ha ϕ(X) az S félcsoport egy generátor-rendszere, akkor S az X+ szabad félcsoport homomorf képe. Ezek az állításokfélcsoportok helyett monoidokra is érvényesek, ha X+ helyett X∗ áll és ϕh monoid-homomorfizmus, azaz az e üres szó ϕh(e) képe S egységeleme. Ha nem vezet el-lentmondásra, akkor az egyszerűség kedvéért ϕh helyett is ϕ-t írunk.

6. Félgyűrűk, gyűrűk, testekAz (R,+, ·) két (binér) műveletes algebrai struktúra [kommutatív ] félgyűrű, ha(R,+) kommutatív monoid, (R, ·) [kommutatív] monoid, a szorzás disztributívaz összeadásra és az (R,+) monoid 0 egységeleme az (R, ·) monoid zéruseleme,amelyet a félgyűrű zéruselemének mondunk. Az (R, ·) egységelemét általában 1jelöli, amit a félgyűrű egységelemének hívunk. A nemnegatív egész számok Nhalmaza a szokásos összeadásra és szorzásra kommutatív félgyűrű.

539

Page 540: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

Az (R,+, ·) algebrai struktúra [kommutatív ] gyűrű, ha (R,+) Abel-csoport,(R, ·) [kommutatív] félcsoport, és a szorzásnak nevezett · művelet disztributiv azösszeadásnak nevezett + műveletre. Az (R,+) Abel-csoport 0 egységeleme az(R, ·) félcsoport zéruseleme, amelyet a gyűrű zéruselemének nevezünk. Ha (R, ·)monoid, akkor egységelemét általában 1 jelöli, amelyet a gyűrű egységelemének, agyűrűt pedig egységelemesnek mondjuk. Az egész számok Z halmaza a szokásosösszeadásra és szorzásra kommutatív egységelemes gyűrű.

Az (R,+, ·) gyűrű test, ha (R−{0}, ·) Abel-csoport. Minden test legalább két-elemű egységelemes kommutatív gyűrű. A {0, 1} számhalmaz, a racionális számokQ halmaza és a valós számok R halmaza a szokásos összeadásra és szorzásra test.

540

Page 541: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

AJÁNLOTT IRODALOM[1] Ádám A., The Behaviour and Simplicity of Finite Moore Automata,

Akadémiai Kiadó, Budapest, 1996

[2] Bálintné Szendrei M.-Czédli G.-Szendrei Á., Absztrakt algebrai feladatok,Tankönyvkiadó, Budapest, 1985

[3] J. Berstel-D. Perrin, Theory of Codes, Academic Press, Orlando, 1985

[4] G. Birkhoff-T.C. Bartee, A modern algebra a számítástudományban, Mű-szaki Könyvkiadó, Budapest, 1974

[5] S. Burris-H.P. Sankappanavar, Bevezetés az univerzális algebrába, Tan-könyvkiadó, Budapest, 1988

[6] 6 A.H. Clifford-G.B. Preston, The Algebraic Theory of Semigroups I,American Mathematical Society, Providence, Rhode Island,1961

[7] 7 A.H. Clifford-G.B. Preston, The Algebraic Theory of Semigroups II,American Mathematical Society, Providence, Rhode Island,1967

[8] Csákány B., Algebra, Tankönyvkiadó, Budapest, 1974

[9] Czédli G., Boole-függvények, Polygon, Szeged, 1995

[10] Czédli G., Hálóelmélet, JATEPress, Szeged, 1999

[11] Dang Huu Dao, Az automaták karakterisztikus félcsoportjairól, kandidá-tusi értekezés, Marx Károly Közgazdaságtudományi Egyetem, Matema-tikai és Számítástudományi Intézet, Budapest, 1980

[12] Demetrovics J.-J. Denev-R. Pavlov, A számítástudomány matematikaialapjai, Tankönyvkiadó, Budapest, 1985

[13] Drommerné Takács V. (szerk.), Sejtautomaták, Gondolat, Budapest,1978

[14] Dömösi P., Véges automaták teljes rendszereiről, kandidátusi értekezés,Marx Károly Közgazdaságtudományi Egyetem, Matematikai és Számí-tástudományi Intézet, Budapest, 1981

[15] Dömösi P., Automaták szorzatcsaládjainak összehasonlító vizsgálata, Al-kalmazott Matematikai Lapok, 14, 1989, 233-298 o.

541

Page 542: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

[16] Dömösi P.- C.L. Nehaniv, Algebraic Theory of Automata Networks. Anintroduction., SIAM Monograps on Discrete Mathematics and Appli-cations, 11. Society for Industrial and Applied Mathematics (SIAM),Philadelphia, 2005

[17] S. Eilenberg, Automata, Languages and Machines, Vol. A, AcademicPress, New York-London, 1974

[18] S. Eilenberg, Automata, Languages and Machines, Vol. B, AcademicPress, New York-San Francisco-London, 1976

[19] Fried E., Klasszikus és lineáris algebra, Tankönyvkiadó, 1979

[20] Fried E., Általános algebra, Tankönyvkiadó, Budapest, 1981

[21] Fülöp Z., Formális nyelvek és szintaktikus elemzésük, Polygon, Szeged,1999

[22] G.P. Gavrilov-A.A. Szapozsenko, Diszkrét matematikai feldatgyűjte-mény, Műszaki Könyvkiadó, Budapest, 1981

[23] Gécseg F., Products of Automata, Akademie-Verlag, Berlin, 1986

[24] Gécseg F., Automaták és formális nyelvek, Polygon, Szeged, 2005

[25] Gécseg F.-Peák I., Az automaták algebrai elmélete, Matematikai Lapok,1966, 77-134 o.

[26] Gécseg F.-Peák I., Algebraic Theory of Automata, Akadémiai Kiadó,Budapest, 1972

[27] Gécseg F.-M. Steinby, Tree Automata, Akadémiai Kiadó, Budapest, 1984

[28] Gécseg F.-M. Steinby, A faautomaták algebrai elmélete I., MatematikaiLapok, 26., 1975, 169-207 o.

[29] Gécseg F.-M. Steinby, A faautomaták algebrai elmélete II., MatematikaiLapok, 27., 1976-1979, 283-336 o.

[30] Ginzburg A., Algebraic Theory of Automata, Academic Press, New York-London, 1968

[31] V.M. Gluskov, Az automaták absztrakt elmélete, I. rész, Magyar Tud.Akad. III. Oszt. Közl., 13., 1963, 287-309 o.

542

Page 543: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

[32] V.M. Gluskov, Az automaták absztrakt elmélete, II. rész, Magyar Tud.Akad. III. Oszt. Közl., 14., 1964, 71-110 o.

[33] M. Gössel, Angewandte Automatentheorie I.-II., Akademie Verlag, Ber-lin, 1972

[34] W.M.L. Holcombe, Algebraic Automata Theory, Cambridge UniversityPress, Cambridge, 1982

[35] J.M. Howie, Automata and Languages, Clarendon Press, Oxford, 1991

[36] J.M. Howie, An Introduction to Semigroup Theory, Academic Press,London-New York-San Francisco, 1976

[37] Imreh B., A véges automaták izomorfan teljes rendszereiről, kandidátusiértekezés, József Attila Tudományegyetem, Bolyai Intézet, Szeged, 1982

[38] M. Ito, Algebraic Theory of Automata and Languages, World ScientificPublishing, New Jersey, 2004

[39] Iványi A. (szerk.), Informatikai algoritmusok I., ELTE Eötvös Kiadó,Budapest, 2004

[40] Iványi A. (szerk.), Informatikai algoritmusok II., ELTE Eötvös Kiadó,Budapest, 2005

[41] Sz.V. Jablonszkij-O.B. Lupanov, Diszkrét matematika a számítástudo-mányban, Műszaki Könyvkiadó, Budapest, 1980

[42] G. Lallement, Semigroups and Combinatorial Applications, John Wileyand Sons, New York, 1979

[43] W. Lex-R. Wiegandt, Torsion theory for acts, Studia Scientiarum Ma-thematicarum Hungarica, 16., 1981, 263-280 o.

[44] J.H. van Lint, Introduction to Coding Theory, Springer-Verlag, Berlin-Heidelberg, 1999 (3. javított és bővített kiadás)

[45] Nagy A., Special Classes of Semigroups, Kluwer Academic Publishers,Dordrecht-Boston-London, 2001

[46] Peák I., Az automaták vizsgálata félcsoportelméleti eszközökkel, doktoriértekezés, Marx Károly Közgazdaságtudományi Egyetem, Matematikaiés Számítástudományi Intézet, Budapest, 1983

543

Page 544: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

[47] Peák I., Bevezetés az automaták elméletébe I., Tankönyvkiadó, Buda-pest, 1977

[48] Peák I., Bevezetés az automaták elméletébe II., Tankönyvkiadó, Buda-pest, 1978

[49] Peák I., Bevezetés az automaták elméletébe III., Tankönyvkiadó, Buda-pest, 1980

[50] Peák I., Algebra, Tankönyvkiadó, Budapest, 1983

[51] D. Perrin-J.É. Pin, Infinite Words, Elsevier Academic Prees, Amster-dam, 2004

[52] M. Petrich, Lectures in Semigroups, Akademie Verlag, Berlin, 1977

[53] Révész Gy., Bevezetés a formális nyelvek elméletébe, Akadémiai Kiadó,Budapest, 1979

[54] Rónyai L.-Ivanyos G.-Szabó R., Algoritmusok, Typotex, Budapest, 1999

[55] A. Salomaa, Theory of Automata, Pergamon Press, Oxford, 1969

[56] A. Salomaa, Formal Languages, Academic Press, New York-London,1973

[57] Schmidt T., Algebra, Tankönyvkiadó, Budapest, 1977

[58] H.J.Shyr, Free Monoids and Languages, Department of Mathematics,Soochow University, Taipei, Taiwan, R.O.C., 1979

[59] P. H. Starke, Abstrakte Automaten, VEB Deutscher Verlag der Wis-senschaften, Berlin, 1969

[60] W. J. Streich, Th. Rösner, Theorie linearer Automaten, VEB DeutscherVerlag der Vissenschaften, Berlin, 1978

[61] Szász G., Bevezetés a hálóelméletbe, Akadémiai Kiadó, Budapest, 1959

[62] Szendrei Á., Diszkrét matematika, Polygon, Szeged, 1994

[63] B.A. Trahtenbrot, Algoritmusok és absztrakt automaták, MűszakiKönyvkiadó, Budapest, Mir Könyvkiadó, Moszkva, 1978

544

Page 545: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

TÁRGYMUTATÓD-kongruencia, 107

szeparáló, 110α0-szorzat, 138αi-szorzat, 138K-átkódolás, 450K-homomorf kép, 36

legnagyobb, 36maximális, 36

K-kódolás, 450ω-reguláris kifejezés, 413ω-reguláris műveletek, 412ω-reguláris nyelv, 412σ-felbontás, 133σ-szorzat, 133

asszociatív, 141homomorfan általánosabb, 134homomorfan ekvivalens, 134izomorfan általánosabb, 134izomorfan ekvivalens, 134kommutatív, 139

σ-teljes rendszer, 151homomorfan, 152izomorfan, 160metrikusan, 205minimális, 151minimális izomorfan, 160

k-homorfizmus, 206k-izomorfizmus, 206u-helyettesítés, 324u-iteráció, 325összefüggő automata, 260

lokálisan, 262összefüggő részhalmaz, 259

lokálisan, 262maximális, 259

összefüggőségi reláció, 264üres szó, 11

ábécé, 276nemterminális, 282terminális, 282

állapot, 9diszjunktív, 110elérhető, 15, 218iniciális, 12irányított, 42, 246közbülső, 15kezdő, 12reverzibilis, 25szinkronizált, 42, 246

állapot-homomorfizmus, 29állapotbemenet-izomorfizmus, 29állapothalmaz, 9általános szorzat, 130átírási szabály, 282átkódolás, 429

szóhossztartó, 429átmenet-kimenetgráf, 13átmenet-kimenettáblázat, 12átmenetfüggvény, 9

erősen szürjektív, 266átmenetgráf, 14átmenettáblázat, 13átnevezés, 293Černý sejtés, 250

AX-részautomata, 26valódi, 26

A-homomorfizmus, 29akceptor, 344akt, 62alfabetikus leképezés

állapotai, 70állapottal indukált, 71automata által indukált, 71

545

Page 546: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

prefixtartó, 70szóhossztartó, 70

alfabetikus leképezések, 70algoritmus, 3aszinkron kód, 480Aufenkamp–Hohn algoritmus, 91automaták analízisének problémája,

93automaták szintézisének problémája,

93automaták szintézise, 359automata, 9, 21

(X, Y ) feletti, 9(m,n)-kommutatív, 225(n,G), 220I-edik hatványa, 131X feletti, 9M-faktora, 173σ-irreducibilis, 134σ-reducibilis, 134k-adfokban definit, 258k-adfokban nilpotens, 255k-definit, 258k-diszjunktív, 110k-nilpotens, 255k-szabad, 206k-szabad része, 206n-edik hatványa, 136összefüggésmentes, 262összefüggő, 42, 260üres, 11állapotfüggetlen, 231az üres szó nélkül, 235

általánosított számláló, 192értékkészlete, 23A-véges, 12alsó, 72autonóm, 12AY-véges, 12Büchi, 414beállító, 172

ciklikus, 21, 211az üres szó nélkül, 211az üres szóval, 211

csapdás, 24csoport-mátrix, 220definit, 40, 258determinisztikus, 17direkt felbontása, 101direkt irreducibilis, 101direkt reducibilis, 101diszjunktív, 110diszjunktív állapota, 110diszjunktív részhalmaza, 110diszkrét, 24, 172diszkrét része, 24duálisa, 20egyszerű, 39, 83erősen n-összefüggő, 231erősen összefüggő, 21, 218erősen összefüggő szíve, 111erősen csapda-összefüggő, 25félperfekt, 233főfaktora, 270felismerő, 344egyszerű, 345

felső, 72homomorf-direkt

irreducibilis, 117homomorf-direkt felbontása, 117homomorf-direkt reducibilis, 117identikus-beállító, 173iniciális, 12iniciálisan összefüggő, 21irányítható, 42, 246irányítottan összefüggő, 21karakterisztikus, 214kimenő jel nélküli, 11kommutatív, 224kváziautomatája, 63lineáris, 21lokálisan összefüggő, 262

546

Page 547: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

magja, 111Mealy, 9memória nélküli, 39minimálisan generálható, 21, 23minimálisan lefedhető, 262minimalizálása, 87Moore, 10nemdeterminisztikus, 18parciális, 9perfekt, 243permutáció-beállító, 172projekciója, 12Rabin–Scott, 344redukált állapotú, 40redukált bemenetű, 11Rees faktora, 41reguláris, 221retrakt részautomatája, 107retraktálható, 265reverzibilis, 25reverzibilis része, 25sűrű részautomatája, 107standard, 191számláló, 192szíve, 111szabad, 35szimmetrikusan összefüggő, 249szinkronizálható, 42, 246szomszédai, 133sztochasztikus, 20, 21szubdirekt felbontása, 105szubdirekt irreducibilis, 105szubdirekt reducibilis, 105teljes beállító, 12, 172teljesen definiált, 9triviális, 12váza, 12véges, 12véges memóriájú, 258végesen generálható, 21vetülete, 12

X-véges, 12XY-véges, 12Y-véges, 12

automatabővítés, 42, 44gyengén sűrű, 120retrakt, 107sűrű, 107valódi, 42

automataleképezés, 71h pontosságú előállítása, 205által indukált osztályozás, 370automata által indukált, 74gráfja, 74indukált, 205konstans, 94

automataleképezésekzárt részhalmaza, 84

automataleképezések távolsága, 205automataszorzat

(X, Y ) feletti, 131X feletti, 130, 131hurokmentes, 135kaszkád, 135parciálisan rendezett, 134rendezett, 134

automorfizmus, 46általános, 45

automorfizmuscsoport, 46általános, 46

AX-izomorfizmus, 29axiómarendszer, 285

Büchi automata, 414determinisztikus, 414

bázis, 423Bar-Hillel lemma, 301beállító függvény, 172beállító jel, 172bemenő félcsoport, 14bemenő halmaz, 9bemenő jel, 9

547

Page 548: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

felesleges, 11bemenő szó, 14

állapot által elfogadott, 15bemenet-homomorfizmus, 29Bernoulli eloszlás, 431betű, 276

indexezett, 361kezdő, 361rendje, 448terminális, 282záró, 361

bifix kód, 428bináris sorozat, 421bináris szó, 421bit, 490blokk, 173

maximális, 173Boole műveletek, 277

centralizátor, 224Chomsky hierarchia, 287Chomsky nyelvosztályok, 287Church tézis, 3Csákány–Gécseg probléma, 76csapda, 24

adjungált, 24csatornaábécé, 420csoportautomata, 63

egyszerű, 63részcsoportautomatája, 63

csoportkód, 442

Dao tétele, 56definit, 400definitségi fok, 258, 400dekódolás, 421deriválás

bal oldali, 280jobb oldali, 280

dilatáció, 265direkt összeg, 24

erős, 267direkt felbontás, 101

komponensei, 101valódi, 101

direkt hatvány, 101direkt szorzat, 101

asszociatív, 102kommutatív, 102

diszjunktív részhalmaz, 110

egyszerű automatakimenő jel nélküli, 39

ekvivalens automaták, 81iniciálisan, 81iniciálisan Moore, 81Moore, 81Rabin–Scott, 345

ekvivalens grammatikák, 283ekvivalens szavak, 284előfordulási valószínűség, 432, 491elevátor

kétállapotú, 182eljárás, 3

eldöntési, 3felsorolási, 3kiszámítási, 3matematikai, 3

eloszlásBernoulli, 431, 433egyenletes, 435pozitív Bernoulli, 431

endomorfizmus, 46általános, 45

endomorfizmusfélcsoport, 46általános, 45

entrópia, 490erősen kapcsolt automaták, 223

fél Leticsevszkij kritérium, 159félcsoport részcsoportja, 170félcsoportautomata, 62

548

Page 549: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

részfélcsoportautomatája, 63fa, 269faktorautomata, 38filter, 458flip-flop automata, 182formális nyelv, 276formális rendszer, 284

asszociatív, 284véges, 284

forrásábécé, 420

Gécseg szorzathierarchia, 138Gécseg tétele, 145generátorelem, 21

karakterisztikus, 214generátorrendszer, 21

kimeneti, 26minimális, 21

generatív grammatika, 282generatív rendszer, 285

által generált nyelv, 285Gluskov algoritmus, 361Gluskov kritérium, 160Gluskov szorzat, 130

iniciális, 131Mealy automatáké, 131Moore automatáké, 131teljes, 133

grammatika, 282e-mentes környezetfüggetlen, 295i típusú, 286önbeágyazó, 318által generált nyelv, 283bal lineáris, 292bal oldali környezetfüggő, 336elsőfajú, 318jobb lineáris, 288jobb oldali környezetfüggő, 336környezetfüggő, 287környezetfüggetlen, 288szigorúan e-mentes, 296

láncszabálymentes, 293lineáris, 292redukált, 307reguláris, 288standard, 285szabályainak halmaza, 282

hírközlési rendszer, 420halmazrendszer, 173

lefedő, 173triviális, 173

Hamming távolság, 486Hamming tér, 486

n dimenziós, 486hatványautomata, 17

általánosított, 20parciális automatára, 17

helyettesítés, 281e-mentes, 281reguláris, 281

helyettesítési szabály, 282heterogén direkt szorzat, 122homomorf beágyazás, 27homomorf jellemzés, 320homomorf kép, 27

általános, 28homomorf leképezés, 27homomorf reprezentáció, 28homomorf-direkt felbontás, 117

nemtriviális, 117triviális, 117

homomorf-direkt szorzat, 116homomorfiatétel, 38homomorfizmus, 27

általános, 28iniciális, 28parciális, 270retrakt, 107, 265valódi, 28

Huffmann algoritmus, 497hurokmentes szorzat, 135

549

Page 550: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

identikus jel, 172információ, 70, 420információ tömörítése, 420információátalakítás, 70információs csatorna, 420

zajmentes, 420információtartalom, 489irányító szó, 42, 246irányítható automata, 42, 246irányított állapot, 42, 246iteráció, 277izomorf beágyazás, 27izomorf kép, 27

általános, 28izomorf leképezés, 27izomorf reprezentáció, 28izomorfiaelv, 28izomorfiatételek, 38izomorfizmus, 27

általános, 28

jel, 276jelekvivalencia, 37jelfüggvény, 10jelköltség várható értéke, 491jobb oldali környezetfüggő, 336jobb zéró ideál, 247

kölcsönös elérhetőség relációja, 23környezetfüggetlen

kifejezés, 324külső adjunkció, 257kód, 421

n hosszúságú, 428aszinkron, 480bifix, 428bináris, 421blokk, 428Dyck, 445felbontható, 439felbonthatatlan, 439

hibafelismerő, 485hibajavító, 485infix, 473korlátos, 421maximális, 436maximális prefix, 452maximális uniform, 441megszámlálható, 421megszámlálhatóan végtelen, 421minimális távolága, 486optimális, 491optimális bináris, 491outfix, 473perfekt, 488prefix, 428ritka, 443sűrű, 443szemafor, 465szinkron, 480szuffix, 428teljes, 443triviális, 422triviális perfekt, 488uniform, 428véges, 421

kódolás, 421betű szerinti, 421bináris, 421nem betű szerinti, 429optimális, 491triviális, 422

kódszó, 421kapcsolt automaták, 214karakterisztikus csoport, 52karakterisztikus félcsoport, 52

Mealy automatáé, 54karakterisztikus félcsoportja

Moore automaáé, 54karakterisztikus monoid, 52

Mealy automatáé, 54Moore automatáé, 54

550

Page 551: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

kaszkád szorzat, 135kezdő jel, 375kezdőszelet, 70

valódi, 70kifejezés

környezetfüggetlen, 325reguláris, 278

kimenő félcsoport, 14kimenő halmaz, 9kimenő jel, 9kimenő szó, 14kimenetfüggvény, 9kimeneti ekvivalencia, 87Kleene tétele, 352kommutatív szabad monoid, 409kompatibilis osztályozás, 37kompozíció, 131konfiguráció, 377, 388

közvetlenül levezethető, 377, 388kiszámítható, 389levezethető, 378, 389

kongruencia, 37állapot, 37kanonikus, 38Myhill-Nerode, 52Peák, 54Rees, 41Rees kiterjesztése, 41retrakt, 107természetes, 38triviális, 39

kongruenciaháló, 39kriptográfia, 420Krohn–Rhodes tétel, 185, 190kváziautomata, 62, 66

automatáé, 63bemenő gruppoidja, 62bemenő monoidja, 62Mealy automatáé, 67részkváziautomatája, 67

kváziautomata-homomorfizmus, 67

kváziautomata-teszt, 67kváziautomata-tulajdonság, 62, 66kvázidirekt szorzat, 124

asszociatív, 126

láncszabály, 293lefedés, 24

minimális, 24leképezés komponense, 124Leticsevszkij kritérium, 155levezetés, 283, 389

k hosszúságú, 283k lépésben, 283bal oldali, 309balról rendezett, 340eredménye, 283jobb oldali, 309jobbról rendezett, 340közvetlen, 283

levezetési fa, 299, 341

mérték, 431Bernoulli, 431, 433pozitív Bernoulli, 431uniform, 435

Mealy automatákdirekt szorzata, 114Gluskov szorzata, 131szubdirekt szorzata, 114

Mealy automata, 9k-egyszerű, 87k-uniform, 87egyszerű, 83karakterisztikus félcsoportja, 54karakterisztikus monoidja, 54kváziautomatája, 67Moore automatához tartozó, 11Moore automata homomorf

képe, 32szabad, 35sztochasztikus, 21

551

Page 552: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

uniform, 87univerzális, 96

megkülönböztethető állapotok, 77n lépésben, 77Moore automatákra, 79

megkülönböztethetetlenállapot

k lépésben, 87megkülönböztethetetlen

állapotok, 77Moore automatákra, 79

megkülönböztethetetlenségireláció, 83

Moore automatára, 83minimalizálás

automata, 91moduláris jobb kongruencia, 477mondat, 276mondatformák, 284mondatforma

bal, 309jobb, 309

mondatszimbólum, 282monoidautomata, 63Moore automaták

direkt szorzata, 114Gluskov szorzata, 131szubdirekt szorzata, 114

Moore automata, 10k-egyszerű, 88egyszerű, 83karakterisztikus félcsoportja, 54karakterisztikus monoidja, 54kimenetfüggvénye, 11Mealy automatához tartozó, 11szabad, 35sztochasztikus, 21uniform, 88univerzális, 99

Moore kritérium, 10Myhill-Nerode kongruencia, 52

nemterminális, 282nilpotenciafok, 255nilpotens, 407nilpotens félcsoport, 256

k-adfokban, 256normálforma

Chomsky, 297finomított Kuroda, 335Greibach, 313Kuroda, 334Révész, 338

normális nyelv, 410normális kifejezése, 410

normalizált automata, 415normalizátor, 212nyelv, 276

e-mentes iteráltja, 278i típusú, 287k-adfokban definit, 400k-definit, 400u-iteráltja, 325önbeágyazó, 318üres, 277átlagos hossza, 462bal oldali deriváltja, 279balról ritka, 449balról sűrű, 448balról teljes, 448determinisztikus, 419Dyck, 321ekvivalens átalakítása, 283elemi, 277gráfja, 454hatványa, 277homomorf képe, 281homomorfizmusa, 281iteráltja, 277jobb lineáris, 288jobb oldali deriváltja, 280jobbról ritka, 449jobbról teljes, 448

552

Page 553: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

környezetfüggetlen, 288kifejezés struktúrájú, 287kommutatív, 408kommutatív burka, 409kommutatív lezártja, 409korlátos, 421lineáris, 292mondatszerkezetű, 287reguláris, 278rekurzív, 299rekurzíve felsorolható, 332ritka, 443súlya, 349sűrű, 443tükörképe, 279teljes, 443univerzális, 277véges, 276végtelen, 276

nyelv előállításaautomatában, 344nemdeterminisztikus, 351

Büchi automatában, 414Turing automatában, 389

nyelv elfogadásaüres veremmel, 378automatával, 344automatávalnemdeterminisztikus, 351

Büchi automatával, 414Turing automatával, 389veremautomatával, 378

nyelv felismeréseüres veremmel, 378automatával, 344nemdeterminisztikus, 351

Büchi automatával, 414Turing automatával, 389veremautomatával, 378

nyelvalgebra, 278kommutatív, 409

reguláris, 279nyelvek

összeadása, 277konkatenációja, 277, 412szorzata, 277, 412

nyelvtan, 282

párhuzamos felbontás, 122párhuzamos kapcsolás, 122

asszociatív, 123kommutatív, 123

palindrom, 279palindromok nyelve, 279parciálisan rendezett szorzat, 134

kiterjesztése rendezett szorzattá,135

Peák kongruencia, 54permutáció jel, 172permutációautomata, 172

ciklikus, 230permutációjel

ciklikus, 230prefix, 70prefix kód, 428

irreducibilis, 459prefix felbontható, 456prefix felbonthatatlan, 456reducibilis, 459szemafor, 465

prefixre zárt részhalmaz, 467primitív szó, 430pumpáló lemma

környezetfüggetlen nyelvekre, 301reguláris nyelvekre, 366

pushdown automata, 376

részautomata, 23ciklikus, 25gyengén sűrű, 120maximális összefüggő, 260részhalmaz által generált, 25

553

Page 554: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

retrakt, 107, 265sűrű, 107

részautomataháló, 24részfélcsoport

bal unitér, 428jobb unitér, 428maximális szabad, 441szabad, 424, 458unitér, 428

részhalmazösszefüggő, 259maximális összefüggő, 259

résznyelv, 276részszó, 70

valódi, 70Rabin–Scott automatához rendelt

Moore automata, 345Rabin–Scott automaták

ekvivalens, 345Rabin–Scott automata, 344

kongruenciája, 345Rees kiterjesztés, 41, 44Rees kongruencia, 41, 44

Mealy automatára, 275Rees-faktor, 41reguláris kifejezés, 278

karakterisztikus száma, 398normál alakú, 397

reguláris kifejezés elágazása, 398reguláris műveletek, 278reguláris nyelv

előállítási száma, 393reprezentációs száma, 393

reguláris nyelv súlya, 393reguláris teljes rendszer, 370rendezett szorzat, 134

S-homomorfizmus, 67S-részautomata, 67Sardinas–Patterson algoritmus, 427Sardinas–Patterson kritérium, 425

sor, 430soros felbontás, 127soros kapcsolás, 126, 127

asszociatív, 128stabilizátor, 476számítás, 389szóprobléma, 284szabály, 282

bal oldala, 282bal oldali környezetfüggő, 336hosszúságot csökkentő, 329hosszúságot növelő, 329hosszúságot nem csökkentő, 329hosszúságot nem növelő, 329jobb lineáris, 288jobb oldala, 282környezetfüggő, 288környezetfüggetlen, 288reguláris, 288

szabad monoid gráfja, 454szekvenciális működésű gép, 15szemafor kód, 465szemafor prefix halmaz, 465szemafor prefixek, 465szemafor szuffix halmaz, 465szemafor szuffixek, 465szemidirekt szorzat, 56szeparátor, 226

triviális, 226Szilárd–Kraft–McMillan

egyenlőtlenség, 435szimbólum

kezdő, 282nemterminális, 282terminális, 282

szinkron kód, 480szinkronizáló szó, 42, 246, 480szinkronizálható automata, 42, 246szinkronizált állapot, 42, 246szintaktikus elemzés

alapfeladata, 299

554

Page 555: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

szintaktikus félcsoport, 346szintaktikus jobb kongruencia, 347szintaktikus kongruencia, 346szintaktikus monoid, 346szintaxis, 276szomszédsági függvény, 133szorzathierarchia, 134

valódi, 134szubdirekt felbontás, 105szubdirekt irreducibilis

automata, 105szubdirekt reducibilis

automata, 105szubdirekt szorzat, 105szubszemidirekt szorzat, 56szuffix, 70szuffix kód, 428

szemafor, 465szuffixra zárt részhalmaz, 467szuperpozíció, 126, 127

tükrözés, 279teljes rendszer, 151

homomorfan, 152homomorfan α0, 190homomorfan σ, 152izomorfan, 159metrikusan, 205minimális, 151minimális homomorfan, 152minimális izomorfan, 160

teljes transzformációautomata, 162terminális, 282

felesleges, 308terminális szavak, 282titkosítási kódolás, 420transzformációfélcsoport

reguláris, 218transzformátor, 193tranzitív permutációcsoport, 235Turing automata, 387

állapothalmaza, 387bemenő halmaza, 387determinisztikus, 387korlátozó jele, 387lineárisan korlátolt, 392mozgásfüggvénye, 387

univerzális automata, 96

változó, 282balrekurzív, 311elérhető, 307felesleges, 307jobbrekurzív, 311közvetlenül balrekurzív, 311közvetlenül jobbrekurzív, 311közvetlenül rekurzív, 311rekurzív, 311termináló, 306

végállapotok halmaza, 344véges automaták alaptétele, 370véges nyelv

irreducibilis, 393karakterisztikus száma, 398reducibilis, 393reprezentációs alakja, 398

véges szó, 411végtelen iteráció, 412végtelen szó, 411

kezdőszelete, 414periódusa, 414periodikus, 414prefixe, 414teljesen periodikus, 414

verem, 374alja, 374teteje, 374

veremábécé, 376veremautomata, 376

állapothalmaza, 376átmenetfüggvénye, 376

555

Page 556: AUTOMATÁK, NYELVEK, KÓDOKmath.bme.hu/~babcs/aut.pdf · AUTOMATÁK, NYELVEK, KÓDOK Babcsányi István BME, Matematika Intézet Algebra Tanszék 2007 1

bemenő halmaza, 376determinisztikus, 376kezdő állapota, 376kezdő jele, 376mozgásfüggvénye, 376végállapothalmaza, 377

veremszerű elrendezés, 375visszacsatolási függvény, 131

k-adik, 132

X-homomorfizmus, 29X-részautomata, 26

zárójelbal, 321jobb, 321

zárószelet, 70valódi, 70

556