Formális nyelvek, automaták
Országok listája
Hungary
Nyíregyházi Főiskola
Természettudományi Főiskolai Kar
Programozó matematikus
Záróvizsga
Formális nyelvek, automaták
2009.02.01 19:32:03
Az alábbi szöveg egy formázás és képek nélküli előnézete a dokumentumnak. A tökéletes megjelenítéshez jelentkezz be, majd töltsd le a dokumentumot.
16. Formális nyelvek
(alapfogalmak, mqveletek nyelvekkel, generatív nyelvtanok, Chomsky-féle nyelvosztályok, reguláris nyelvek, környezetfüggetlen nyelvek, automaták)
Alapfogalmak:
Ábécé: Def.: Legyen A véges nem üres halmaz, elemei szimbólumok, melyek külön-külön és csoportosítva is különböznek egymástól.
Szó: Def.: A feletti szó, A beli szimbólumok véges sorozata. Üres sorozat: µ, üres szónak nevezzük.
Szó hossza: a szót alakotó jelek száma. Jele: l(v)
Üres szó: µ, l(µ)=0
Nyelv (A ábécé felett): A feletti szavak tetszQleges halmaza.
Teljes nyelv: A ábécé feletti összes szó, beleértve µ-t is. Jele: A*
Szavak azonossága: v=w ha v,w A; v=a1, & an; w=b1, & bn; l(v) = l(w); minden i=1& n-re fennáll, hogy ai = bi.
A formális nyelvek egy lehetséges mqvelete a konkatenáció, és µ az egységeleme. A teljes nyelvbQl (A*) a konkatenáció nem vezet ki, tehát algebrai struktórát alkot. Az összefqzés asszociatív, tehát félcsoport, és van egységeleme. ( A teljes nyelv egységelemes félcsoport.
Mqveletek nyelvekkel:
µ mentesítés: Lehetnek olyan szabályok, hogy nem terminális elembQl µ lesz. Leírjuk mégegyszer az összes szabályt, és hozzáképezzük azokat amibQl hiányoznak ezek a nem terminális elemek.
S ( AB|µ|SAa
A ( CAaB|µ|bb
B ( ACB|µ|bBB
C ( CA|a S (AB|A|B|SAa|Sa|Aa|a
A (CAaB|CaB|CAa|Ca|bb
B ( ACB|CB|AC|C|bBB|bB|b
C ( CA|C|a Átnevezés, egyszeres szabály megszüntetése: A ( B típusú szabályok megszüntetése úgy, hogy a B helyére beírjuk a B összes szabályát.
Generatív nyelvtan egy olyan lehetQség amivel nyelveket adhatunk meg. A nyelv a szavak és mondatok halmaza, a nyelvtan pedig a szabályok összessége. 4 dologgal lehet teljesen meghatározni a nyelvtant: G(", N ,M, SZ) vagy (VT, Vn, S, P).
": terminális elemek halmaza, azaz a nyelv ábécéje (kis betqvel jelöljük: a, b, c)
N: nem terminális elemek halmaza (nagy betqk: A, B, C)
M: N, mondatszimbólum (jele: M vagy S)
SZ: leveztési szabályok halamza A+ × A* EMBED Equation.3 SZ
Az A halmaz a terminális és nem terminális elemek halmaza (A = " U N). EzekbQl készített összes jelsorozat az A*. Ha A*-ból kivesszük µ-t, A+-t kapjuk. E kettQ Descartes szorzatának egy részhalmaza lesz a szabály.
Def.: LevezethetQség: v-bQl egy lépéssel levezethetQ w, ha v=±²³, w=±´³ és (²´) SZ. A v ²-ját ki tudjuk cserélni ´-ra.
Def.: A w jlsorozat mondata a G által generált nyelvnek (w G) amennyiben csupa terminálisból áll, és levezethetQ véges sok lépésben M-bQl SZ alapján.
Chomsky-féle nyelvosztályok:
A generatív nyelveket tehát grammatikák segítségével jellemezhetjük. A grammatikákat meghatározó helyettesítési sabályok bonyolultsága alapján Chomsky a nyelveket osztályokba sorolta.
Chomsky 4 nyelvosztályt definiált. Ezeket számokkal jelölte, így van 0-s, 1-es, 2-es, 3-as nyelvosztály. Az osztály sorszámának növekedésével egyre szigorúbbak a megkötések a szabályok alakjára vonatkozóan.
3-as nyelvosztály (reguláris): A helyettesítési szabály bal oldala mindig egyetlen nem terminális elem, a jobb oldala pedig egyetlen terminális elem, vagy jobbreguláris nyelvtan esetén egy terminális és egy nem terminális, balreguláris nyelvtannál egy nem terminális és egy terminális elem.
A ( a
A ( aB jobbreguláris
A ( Ba balreguláris
2-es nyelvosztály (környezetfüggetlen): A helyettesítési szabály bal oldala mindig egyetlen nem terminális elem, a jobb oldala pedig*L N h j t Z
\
h
n
~
0
D
¦
¾
È
Ì
Î
î
ð
:
R
V
X
¾
À
Ä
æ
"
,
.
8
:
¢
¨
n p ìåÞ×åËÃËûÃËÃËÃËï§Ã¯§¯§¯§¯§¯§¯§¯§¯§¯§§§§§§§hJBåh{6OJQJ h{OJQJhJBåhJBåH*OJQJ hJBåOJQJhJBåhJBå6OJQJ h-àOJQJ hN]}OJQJhN]}hN]}6OJQJ
hèAhN]}
hèAh%3-
hèAh+%hèAh+B*CJOJQJaJph6_5*N j h
0
¾
:
Ä
¦
¨
ÈÊöúp¦ÂÔ,^tôìçââââââââââçââÙÙÙÙÎÎÎÎ
¤x$Ifgd
D $Ifgd8igd+gdèA $a$gdèA
$d ¤xgd@
"tvÈÊöøúþnptv~ª¬¶õíßíÑÊ»³£umbTbEbTbEbTbh
Dh8iCJ$OJQJaJ$ jàðh
Dh8iOJQJ h
Dh8iOJQJ h[oOJQJ h8ih8iOJQJh8ih8iCJ$OJQJaJ$ h8iOJQJh
Dh8i>*OJQJ-h
Dh8i>*CJ$OJQJaJ$ hJBåOJQJjh[oh[oOJQJU
hèAhJBåh[o>*B*
OJQJph jàðh{h{OJQJ h{OJQJ h+h{OJQJ¶¸ÆÈØÚ&*,02bdtvÒÔ~¦Ò @BHJZ\8ñæØæØæØæÍæÍ¿Í¿Íæ·¿·¯{{o`U hlËhlËOJQJjhlËhlËOJQJUhlËhlËH*OJQJhlËhlËH*OJQJ hlËOJQJ h[oOJQJ/hèAh[o5B*CJOJPJQJ\aJphO½ h8iOJQJ h
DOJQJ jàðh
Dh
DOJQJ h
Dh
DOJQJ jàðh
Dh8iOJQJ h
Dh8iOJQJh
Dh8iCJ$OJQJaJ$!tv\pÀDðòä PzgdèAgd+{kd$$IfFÖÖ0ÿ#þþ
t Ö0 ö6öÖÿÿÖÿÿÖÿÿÖÿÿ4Ö4Ö
laöyt
D 8:<>BDÆÈ\^îð PÈ./0ACLMORSUéØÉ¾¶®§®®¶®®yqeqMqyqyq/hèAh»mL5B*CJOJPJQJ\aJphO½h»mLh4-5OJQJ h»mLOJQJ h4-OJQJ
hèAhñï hñïOJQJ h»=h»=OJQJhlËh»=H*OJQJ
h»=h»= h»=OJQJ hlËOJQJ hlËhlËOJQJjhlËhlËOJQJU!jhlËhlËEHüÿOJQJU+j§UJ
hlËhlËCJ OJQJUVaJ P`/0SYp0ª0¬0¤2¦2À3Â3Ö3´45N5 6J6ê6þ6<7´7 8÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷ò÷÷÷÷÷÷÷ççç
$
&
Fa$gd`
ògdèA $a$gdñïUV[\rs¬ 0¢0¤0¬0Î0ö0ü0þ01122¢2¤2¦2Æ2À3Ô3Ö34&466>6@6B6D6¤6òêòêòêÞêÆêÄêòêÞê¼®¼®¼®¼ê¦¼¼~rrk
h§ Õh§ Õh§ Õh§ ÕH*OJQJhÇãh§ Õ5OJQJ h§ ÕOJQJ hèAOJQJhRGhRG5OJQJ h4-OJQJ jàðhRGhRGOJQJ hRGOJQJU/hèAh»mL5B*CJOJPJQJ\aJphO½h»mLh»mL5OJQJ h»mLOJQJ jàðh»mLh»mLOJQJ& tetszQleges, mind terminális, mind nem terminális szimbólumokat tartalmazhat.
A ( ±
1-es nyelvosztály (környezetfüggQ): ²A³ ( ²±³ azaz az A ( ± szabály csakis a ²-³ környezetben alkalmazható. Vagy a helyettesítési szabály jobb oldala nem lehet rövidebb a bal oldalnál ( nem csökkenQ nyelvek. Ez a két definíció ugyanazt a halmazt adja.
0-s nyelvosztály: Nincs megkötés. (Csak ami minden grammatikánál: a bal oldalnak tartalmaznia kell legalább egy nem terminális szimbólumot.)
Automaták
A reguláris nyelvekhez a véges automaták tartoznak. Ezek a legegyszerqbbek, nincs memóriája, csak olvasni tud.
Q: az automata állapotainak véges halmaza
": az elemzendQ jelsorozat ábécéje
´: az automata mozgási szabályainak véges halmaza (mint nyelvtanoknál a helyettesítési szabály)
q0: az induló állapot. q0 Q
F: elfogadó állapotok halmaza. Az összes állapotok halmazának rész halamza FQ.
Mqködése:
Az automata q0 állapotban van.
A szalagon az input szó betqi vannak balról jobbra felírva.
Az olvasófej a szó legbaloldalibb celláján áll.
Ciklus
Beolvassa az olvasófej alatti cellában lévQ jelet
Ezen jel és az aktuális állapot függvényében a ´ szerinti állapotba kerül, (ha nincs megfelelQ szabály a szót elutasítja, és az automata leáll)
Az olvasófejet lépteti balra
Az olvasófej megáll, ha az automata lelép a szalagról (beolvasta a szót).
Ha az automata végállapotba került, akkor elfogadta az input szót.
Determinisztikus automata: Ha minden álapot-karakter párhoz legfeljebb 1 mozgási szabály tartozik. (ellentéte a nemdeterminisztikus automata).
Teljesen specifikált automata: minden állapot-karakter párhoz létezik mozgási szabály.
Minimálautomata: determinisztikus és teljesen specifikált automata minimális állapotszámmal. Minden nyelvhez egyetlen ilyen tartozik.
A környezetfüggetlen nyelvekhez a veremautomaták tartoznak.
Q: az automata állapotainak véges halmaza
": az elemzendQ jelsorozat ábécéje
: a verem ábécéje, vagyis azon szimbólumok véges halmaza, amelyek a veremben szerepelhetnek
´: az automata mozgási szabályainak véges halmaza (mint nyelvtanoknál a helyettesítési szabály)
q0: az automata kezdQ állapota. q0 Q
Z0: a memória kezdeti tartalma (Z0 )
F: elfogadó állapotok halmaza. Az összes állapotok halmazának rész halamza FQ.
A környezet függQ nyelvekhez a lineárisan korlátolt automaták osztálya tartozik.
A mondatszerkezetq nyelvekhez a Turing-gép automaták osztálya.
PAGE \* MERGEFORMAT 1
Hasonló témájú dokumentumok
Egyelőre még egyetlen hasonló témájú file sincs feltöltve a rendszerbe
A mások által feltöltött dokumentumokat értékelheted. Ha úgy ítéled meg, hogy a vizsgára való felkészülés szempontjából hasznos volt egy dokumentum, akkor adj rá sokcsillagos értékelést.
Ha hibákat tartalmaz, vagy egyéb probléma van vele, akkor keveset.
A dokumentumok sorrendje az értékelések alapján adódik. Ami fentebb van a listában, azt hasznosabbnak ítélték társaid. Az új dokumentumok pedig (értékelések hiányában) szintén a lista tetején kezdenek.
Hozzászólások
Ha észrevételed van egy dokumentummal kapcsolatban (például hibát találtál benne), akkor a Hozzászólások részben jelezheted. Az olyan jellegű kérdéseket mint pl.: A 2. feladat 4. sorából milyen átalakítással jutottunk az 5. sorban szereplő képlethez? - szintén ide érdemes írni
Egy tipp az oldalhoz! - Csakúgy mint amikor könyvtárakat/mappákat hozol létre a számítógépeden, egy tantárgyon belül is hasonló analógiával tetszőleges kategóriák és alkategóriák hozhatóak létre. Próbálj mindig a legmegfelelőbb kategóriába tölteni, hogy átlátható legyen a feltöltött dokumentumok szerkezete.