Véges automaták
Formális nyelvek megadása nemcsak generatív eszközökkel, hanem felismerő eszközökkel is lehetséges. Ilyen eszközök az automaták, amelyek szavak feldolgozására és azonosítására alkalmasak.
Nyelvek megadására a grammatikák a szintetizáló, az automaták analitikus megközelítést alkalmaznak.
Az automaták egy szó feldolgozása után kétféle választ adhat, vagy elfogadja, vagy elutasítja a bemenetet.
- Diszkrét időintervallumokban végrehajtott lépések sorozatán keresztül működik
- A kezdőállípotból indul, az inputszó az inputszalagon helyezkedik el, az olvasófej őedig az inputszó legbaloldalibb szimbólumánál áll.
- Az automata, miután elolvasott egy szimbólumot, az olvasófejet egy pozícióval jobbra mozgatja, majd állapotot vált az állapot-átmenet függvénye szerint.
- Amennyiben az automata még nem olvasta végig a teljes inputot és elfogadó állapotba ér nem dönt még az elfogadásról/elutasításról, tovább m ̋uködik a szabályai szerint.
- Ha az automata elolvasta az inputot, akkor megáll és aktuális állapota alapján válaszol, hogy felismeri vagy elutasítja a bemeneti szót.
Determinisztikus véges automata
Egy rendezett ötös, ahol
- az állapotok véges, nemüres halmaza
- az inputszimbólumok ábécéje
- leképzés az ún. állapot-átmenet függvény
- a kezdőállapot
- az elfogadó állapotok halmaza
Az átmenetfüggvény kiterjesztése
Legyen egy determinisztikus véges automata.
A leképzés kiterjesztése az a teljes leképzés, amelyre
tehát az az állapota az automatának, ahova a állapotból indulva az szó feldolgozása után eljut.
Ha , akkor az inputot elfogadja , ha , akkor elutasítja.
elhagyjuk.
Nemdeterminisztikus véges automata
Determinisztikus véges automata:
- A függvény mindenütt értelmezett és egyértékű. Azaz minden párra pontosan egy olyan s állapot létezik, amelyre fennáll.
Nemdeterminisztikus véges automata:
- Megengedjük az állapot-átmenet függvény többértékűségét, azaz ekkor egy leképezés.
- Több kezdoállapot is megengedett (azaz a kezdőállapotok halmazára ).
- Úgy interpretálhatjuk, hogy a állapotból az betű olvasására a gép egy tetszoleges -beli új állapotba léphet, azaz adott inputra több működés lehetséges.
- Mivel , ezért elofordulhat, hogy az valamely -ra, ilyenkor elakad a gép.
- Akkor fogad el egy bemenetet, ha van legalább egy -beli állapotban termináló működése.
A nemdeterminisztikus véges automata egy rendezett ötös, ahol
- az állapotok egy véges, nemüres halmaza
- az inputszimbólumok ábécéje
- leképzés, az állapot-átmenet függvény
- a kezdőállapotok halmaza
- az elfogadó állapotok halmaza.
A determinisztikus véges automata a nemdeterminisztikus véges automata egy speciális esetének tekinthető.
Szabály alapú alternatív megközelítés
Legyen egy nemdeterminisztikus véges automata-
Az átmenetek szabály alapon történő megadása:
Az -hoz tartozó szabályrendszerhez minden esetén adjunk hozzá a alakú átírási szabályt, azaz
Redukció
Egylépéses redukció
Láttuk, hogy az automata további műuködése mindig csak az aktuális, állapottól és a bemenet még hátralévo olvasatlan suffixétol függ. Ez motiválja a következőt.
Egy szót az NDVA egy konfigurációjának nevezzük.
Legyen egy véges automata és legyenek konfigurációk. Az automata az szót egy lépésben a szóra redukálja, ha van olyan szabály, és olyan szó, hogy és teljesül.
Többlépéses Redukció
Az véges automata az szót a szóra redukálja, ha vagy vagy valamelyik -rw léteznek konfigurációk, melyekre és
Elfogadott elv
Az nemdeterminisztikus véges automata által elfogadott nyelv alatt az nyelvet értjük.
Véges automaták és reguláris nyelvek
Minden nemdeterminisztikus véges automatához meg tudunk adni egy 3-tíípusú grammatikát, úgí hogy teljesül.
Minden 3-típusú grammatikához meg tudunk adni egy nemdeterminisztikus véges automatát úgy, hogy teljesül.
Véges automata determinizálása
Minden nemdeterminisztikus véges automatákhoz megkonstruálható egy determinisztikus véges automata úgy, hogy teljesül.
Tehát mind a determinisztikus véges automaták, mind a nemdeterminisztikus véges automaták reguláris (-beli) nyelveket leíró formális eszközök.