„Absztrakt automata” változatai közötti eltérés
[ellenőrzött változat] | [ellenőrzött változat] |
Tartalom törölve Tartalom hozzáadva
a Külső hivatkozások → További információk AWB |
Nincs szerkesztési összefoglaló |
||
5. sor:
Nézzünk előbb egy pár definíciót, ami később megkönnyítheti az életünket:
; Betű : Itt tényleg egy betűre lehet gondolni. Persze, csak ''gondolni,'' hiszen ennek nem kell ''tényleg'' betűnek lennie. Lehet bármilyen szimbólum, amíg az a valami egység és megkülönböztethető a többitől.
; Szó : Betűk egy ''véges'' sorozata, amely ''betűk'' egymás után írásából, [[konkatenáció]]jából születhet. Az önmagában álló betűt azonosíthatjuk az egy betűből álló szóval.
; Ábécé : Betűk ''véges'' halmaza.
; Nyelv : Szavak halmaza egy adott ábécé felett. (Minden szó az adott ábécé betűiből áll.) Lehet véges, vagy végtelen.
12. sor:
==Automata==
===Alapozás===
Az automata a matematikai modellje egy véges sok állapotú gépnek. Az automata egy olyan gép, mely a bemenetét végigolvasva végighalad valamiféle állapotokon egy állapotátmeneti függvénynek megfelelően, ami megmondja, hogy az aktuális állapotból a
===Egy kicsit formálisabb leírás===
36. sor:
===Automaták kiterjesztései===
A fent leírt automaták által elfogadott nyelvek családja a [[reguláris nyelv]]ek családja. Más automaták komplikáltabb nyelveket is képesek elfogadni. Ilyen automaták például:
; [[veremautomata|veremautomaták]] : Az ilyen gépek hasonlóak a determinisztikus automatákhoz, rendelkeznek viszont memóriával is verem (vermek) formájában. A δ állapotátmeneti függvény a verem tetején lévő szimbólumtól is függeni fog, és azt is meg fogja mondani, hogyan változzon a
; [[Turing-gép]]ek : Ezek a legjelentősebb automaták. Végtelen sok memóriával rendelkeznek szalag(ok) formájában, ami(ke)t fej(ekk)el tudnak írni/olvasni, és bármerre mozogni a szalagon. Turing-géppel bármilyen algoritmus megvalósítható ([[Church-Turing-tézis]]). Ők képezik a modern számítógépek elméleti alapjait.
; Véges szalaggal rendelkező Turing-gépek : Itt már nincs végtelen hosszú szalag, a szalag hossza az inputtal összemérhető. Ezek a gépek [[környezetfüggő nyelv]]eket tudnak elfogadni.
== Alapok ==
Egy automata minden esetben egy véges állapotú gép modellje. Egy véges állapotú gép, adott bemenet függvényében képes a gép különböző állapotain keresztüli ''ugrásokkal'', különböző
==Formális leírás==
47. sor:
A következőkben néhány, a későbbiek megértését segítő fogalmat definiálunk:
; [[Szimbólum]] : Egy olyan önkényesen meghatározott adat, amelynek valamilyen hatása van az automatára.
; Szó : Szimbólumok [[konkatenáció]]jával előállított, véges hosszúságú jelsorozat
; Ábécé : A szimbólumok véges halmaza.
; Nyelv : Egy adott ábécé elemeiből formált szavak véges vagy végtelen halmaza.
57. sor:
:Ez a függvény kiterjeszthető úgy, hogy a nem az ábécé egy szimbólumáról beszélünk, hanem a a szimbólumokból alkotott stringekről, de akkor az automata stringekre adott válaszát kell vizsgálni, amelyet a string beolvasása és feldolgozása után ad. A függvény átírható a következő alakba
<center><math>\hat\delta:Q \times \Sigma^{\star} \rightarrow Q.</math></center>
:…ahol ∑<sup>*</sup> ∑ [[Kleene lezárás]]a
*S<sub>0</sub> a ''kiiduló állapot'', azaz, ebben az állapotban ''van'' az automata, amíg el nem kezdi a szimbólumok olvasását (természetesen S<sub>0</sub>∈ Q).
*F bizonyos Q állapotok egy halmaza (u.i. F⊂Q), az úgynevezett ''elfogadó állapotok''.
A fentiek birtokában mondhatjuk, hogy az <math>L</math> nyelvet elfogadja egy
<center><math>L= \{ w \in \Sigma^{\star}|\hat\delta(S_0,w)\in F\}</math></center>
==Az automaták osztályai==
A véges automaták a
;[[determinisztikus véges állapotú gép|determinisztikus véges állapotú automata]] : Az automata minden állapothoz és az ábécé minden szimbólumához
; [[nem determinisztikus véges állapotú gép|nem determinisztikus véges állapotú automata]] : Az automata egy állapotához és egy ábécé szimbólumhoz nem tartozik átmeneti állapot, vagy több átmeneti állapot tartozik egy szimbólumhoz, illetve több szimbólumhoz ugyanaz az átmeneti állapot tartozik.
; [[nem determinisztikus véges állapotú automata|nem determinisztikus véges állapotú gép, ε átmenettel]] : a gép képes arra, hogy végre hajtson egy (vagy több) állapot változást úgy, hogy közben nem olvas be szimbólumot. Ha ezt a állapot változást <math>\epsilon</math>-al jelöljük, akkor a nem determinisztikus véges állapotú automata ''kibővül'' egy
Bebizonyítható, hogy a fenti automaták '''azonos nyelvet képesek elfogadni'''. Mindig lehetséges olyan determinisztikus véges állapotú gép szerkesztése, amely ugyanazt a nyelvet fogadja el, amelyet egy nem determinisztikus véges állapotú gép.
===A véges automaták kiterjesztése===
A
; [[Verem automaták|verem automata]]
; [[Turing-gép]]ek : Már csaknem nagy teljesítményű számítógépek.
; [[lineárisan korlátos automata]]: Egy lineárisan korlátos automata valójában egy
'''A formális nyelvek Chomsky-féle hierarchiája'''
105. sor:
==Angol nyelvű irodalom==
* John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman – ''Introduction to Automata Theory, Languages, and Computation (2nd Edition)''
* Michael Sipser, "Introduction to the Theory of Computation", 1997,
== További információk ==
*[http://www.cs.usfca.edu/~jbovet/vas.html Vizuális Automata Szimulátor, angol nyelven]
|