FoNyVizsga
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
Néhány vizsga kérdés kidolgozása:
20031219
2.
Az L1 és az L2 nyelv közös alfabetaja legyen ∑={a,b,c}.
- Az L1 nyelv mondataiban mindhárom karakter száma páratlan
- L2 pedig a következőképpen definiálható: L2={a^i b^j c^k | i,j,k ≥1 és k=2i+3j }
Készítsen minél egyszerűbb nyelvosztályba tartozó nyelvtant vagy automatát mindkét nyelvre és a két nyelv metszetére!
Megoldások
L1-re van minimál automata:
L2 nem véges így nincs rá véges automata. De lehet rá CF nyelvtant v. verem automatát
CF nyelvtan:
Thx to: Taki
L2-re verem automata:
L2:
Verem automata
- mozgások
Elfogadó állapotok:
Kis magyarázat: Amikor bejön egy 'a', akkor berakunk egy '2'-t a verembe. És ezt folytatjuk amíg nem jön egy 'b'. Aztán '3'-t pakolunk a vermbe. Majd ha jönnek a 'c'-k akkor a verem értékéből levonunk 1-et és vissza rakjuk a vermbe. Ha 1-et olvasunk akkor Epsilont rakunk vissza, ergo semmit :). Akkor fogadunk el, ha Epsilont olvasunk és van a verem tetején.
Delták jelentése:
DELTA(ÁLLPOTBA_VAGYOK, MITOLVASOK, MIVAN_A_VEREMBEN) = (ÁLLAPOTBA_MEGYEK, MIT_RAKOK_A_VEREMBE) A lényeg a lifo elv, azaz: ha kiveszek vlmit olvasásra azt vissza is kell rakjam majd a verembe. Szóval ha olvastam egy "2"-est és bele akarok rakni egy 3-ast akkor azt úgy kell belerakni, hogy előbb visszarakom a 2-est és csak aztán a 3-ast => Delta(q, 32). Meg kell mindig külön mondani az elfogadó állapotokat, F halmaz elemei.
Néhány FONY kidolgozás és sok értékes információ: SzaMa oldalán -- Ede - 2006.01.02.