9. előadás Veremautomaták 1.
|
|
- Boglárka Pintérné
- 5 évvel ezelőtt
- Látták:
Átírás
1 9. előadás 1. Dr. Kallós Gábor
2 Tartalom Motiváció Verem és végtelen automata Felépítés, konfigurációk és átmenetek Szavak felismerése, felismert nyelv Az elfogadó állapottal és az üres veremmel felismerő automaták ekvivalenciája Feladatok 2
3 Motiváció Miért van szükség veremautomatára? (Cél: CF nyelveket felismerő automata) Eddig: csak DVA (ill. NDVA) Probléma az L(G 1 ) = {a i b i i 1} nyelvvel A véges automatának nincs emlékező egysége (mit dolgoztunk fel eddig), ill. a memóriája csak az adott állapotra korlátozódik Csak úgy tud n szimbólumot megszámolni, ha végigmegy n állapoton De nem tudjuk előre megmondani, hogy hány db a lesz! Tehát: szükséges az automata felerősítése, bővítése: verem hozzáadása Elképzelt/elvárt működés Az automata az a-kat bepakolja a verembe Nem tudjuk milyen hosszú a mondat első fele (nagyon hosszú is lehet): a veremmemória elvileg végtelen (nem korlátos) (Ha a szó b-vel indul: lehal ) Ha b jön, sorra veszi ki az a-kat a veremből, és nem rak be semmit Ha b után a jön: lehal Ha az utolsó b olvasása után a verem kiürült, akkor a szót az automata elfogadta Látjuk: A veremautomata kifejező ereje nagyobb a véges automatákénál! Feladat: Hasonló módon tervezzük meg (vázlatosan) egy olyan veremautomata működését, amely azon szavakat fogadja el, amelyekben az a-k száma ugyanaz, mint a b-k száma! 3
4 Szemléltetés Eszköztár: JFLAP projekt Elemek: mint a véges automatánál + verem és veremmozgások Feladat: nézzük meg az aabb és aaaabbbb szavak (végig)olvasásának lehetőségeit! 4
5 Verem és végtelen automata Verem (stack) használata az automatáknál Veremautomata eredetileg: aritmetikai kifejezések számítógéppel történő kiértékelése (1960-as évek) (Az implementáló szoftvert levédték szabadalommal, ez volt az első védett sw az USA-ban) A verem elvileg végtelen, ezért a veremautomata már nem véges, hanem egy speciális fajtájú végtelen automata (bár állapothalmaza véges) Az L(G 1 ) nyelvet nem lehet semmilyen korlátos automatával felismerni (tárolni kell a szó első felét) A verem, mint programozási adatszerkezet, tipikusan rekurzív programozási feladatoknál jön elő [Példa: Hanoi tornyai (C-szerű pszeudokód) A forráspálcáról (source) a célpálcára (target) kell pakolni Megoldás: Segédpálcát (help) vetünk be Az egyes rudakhoz mint veremhez tudunk hozzáférni A rekurzív hívások szintén egy verem segítségével hajtódnak végre] A veremautomatának több definíciója is ismert Push-down automaton/recognizer (PDA, PDR): az új infót a régi tetejére írjuk, a régi lenyomódik, csak a legfelső adatot lehet kiolvasni ekkor ki is vesszük (Ezt az automatát tanuljuk) Stack automaton (SA): az új infót itt is a régi tetejére írjuk, de kivétel nélkül lehet olvasni belőle, és nemcsak a verem tetejéről (Nem ezt az automatát tanuljuk; ennek jelentősége kisebb) 5
6 Logikai felépítés Veremmemória: pozíciókra felosztott, egyirányban elvileg végtelen szalag Minden pozícióba egy-egy jel írható A kiolvasás (amely a fő típusnál egyúttal törlés is) a bevitelhez képest fordított sorrendben történik (LIFO: Last In First Out) A belső tartalomhoz közvetlenül nem férünk hozzá, mindig csak a verem tetején levő elemet tudjuk kiolvasni Szintén a verem tetejére helyezhetünk el újabb elemet A verem alján kezdetben csak egy speciális szimbólum van (kezdőszimbólum, Z,, v. Z 0 ) Elvileg végtelen: gyakorlatilag valójában véges, de nem korlátos A vermet vízszintes vagy függőleges elrendezésűnek is képzelhetjük Input szalag: ezen kapja meg az automata a véges bemenő szót Ezt betűnként tudja leolvasni Az input szalag lehet üres is (λ szó) Véges, iniciális nemdeterminisztikus (vagy esetleg determinisztikus (kimenő jel nélküli) automata Ez a veremautomata véges vezérlője Diszkrét időskálát követve történik a működés 6
7 Formális nyelvek Definíció: (Nemdet.) veremautomatának (push-down automatának, PDA, PDR, VA) nevezzük az R = (Q, Ʃ, Γ, δ, q 0, Z 0, F) rendszert, ahol Q egy nem üres, véges halmaz, az állapotok halmaza, Ʃ az input ábécé (szalag ábécé), Γ a veremábécé, q 0 Q a kezdőállapot, Z 0 Γ a verem kezdőszimbólum (kezdőjel), F Q a végállapotok halmaza, δ : Q (Ʃ {λ}) Γ P(Q Γ*) az átmenetfüggvény (mozgási szabályok halmaza) Megjegyzések Valamennyi fenti halmaz véges, hiszen egyébként nem lehetne véges módon leírni a nyelvet Ʃ helyett T, Γ helyett Z, δ helyett d jelölés is használatos; az R = (Q, T, Z, q 0, Z 0, δ, F) megadás is szokásos A végállapot halmaz az üres vermes felismerő automatánál kiesik (!) (lásd később) A VA alapvetően (további korlátozások nélkül) nemdeterminisztikus Ha a veremautomata következő állapota az előző állapotból és a bemenő jelből egyértelműen meghatározott, akkor determinisztikus VA-ról beszélünk Definíció: A fenti R = (Q, T, Γ, δ, q 0, Z 0, F) rendszert determinisztikus veremautomatának nevezzük, ha - minden p Q és X Γ esetén fennáll, hogy δ(p, a, X) 1, minden a (T {λ})-ra, - továbbá ha δ(p, λ, X) = 1, akkor δ(p, a, X) = 0, minden a T-re. Azaz nem lehet nem üres szavas átmenet értelmezve olyan állapot és veremszimbólum párra, amire van értelmezve üres szavas átmenet; és minden szimb. hármasra maximum egyféle átmenet van értelmezve 7
8 Formális nyelvek (Eml.: tisztázandó megadás, működés, elfogadás, grafikus reprezentáció) A működés kezdetén A veremben csak a kezdő veremszimbólum van Az input szalag olvasófeje a szalag első betűjére mutat Ha a szalagon csak az üres szó van, akkor ezt érzékeli A (veremautomatához tartozó) véges automata a kezdő állapotában van A mozgás során Új állapotba kerülünk (ez a régivel megegyező is lehet), Az olvasófej egy szimbólummal továbblép (kivéve, ha az input λ) A verem tetejére új jelsorozat íródik be A verem tetején eddig levő szimbólum megsemmisül (ha meg akarjuk tartani: vissza kell írni a verembe) Az átmenet folyamata (a δ függvény működése) Tetszőleges q Q állapot, a (Ʃ {λ}) input és a verem tetején lévő Z Γ szimbólum esetén legyen δ (q, a, Z) = {(q 1, α 1 ), (q 2, α 2 ),, (q n, α n )}, valamilyen n 0-ra, q 1, q 2,, q n Q állapotokkal és α 1, α 2,, α n Γ* veremszimbólum-sorozatokkal. (n = 0 eset: a képhalmaz üres.) Az automata a q állapotból az a input hatására (ez lehet λ is) átmegy valamelyik q i állapotba, a verem tetején levő Z-t törli, és beírja a verembe α i -t (ha ez λ, akkor nem ír be semmit, ekkor a veremben eggyel kevesebb szimbólum marad). Veremautomata belső állapota: egy pár, ami a véges automata belső állapotát és a verem tartalmát tartalmazza Mivel a veremmemória elvileg végtelen, ezért végtelen sok belső veremautomata-állapot lehetséges 8
9 Példák Nemdeterminisztikus veremautomata konstrukció, nyelvtan alapján A szabályok és a nyelv: S asb ab, L = {a i b i i 1} Három állapot, egy kezdő, egy általános- és egy végállapot A veremábécé: N T {Z 0 } Címke az éleken: input, veremből, verembe Írjuk le a megfelelő átmeneteket, pl.: δ(q 0, λ, Z 0 ) = (q 1, SZ 0 ) Mutassuk be, hogy az automata valóban nemdeterminisztikus! Kövessük le az automatán az aabb szó végigolvasását! Mutassuk be közben a verem tartalmát is! Determinisztikus veremautomata konstrukció A korábban már leírt működést valósítja meg A nyelv ugyanaz, mint fent Veremábécé és címkék: mint fent Írjuk le a megfelelő átmeneteket, pl.: δ(q 0, a, Z 0 ) = (q 1, az 0 ) Mutassuk be, hogy az automata valóban determinisztikus! Kövessük le az automatán az aabb szó végigolvasását! Mutassuk be közben a verem tartalmát is! 9
10 Az automata működésének rajzos bemutatása (már nagyrészt tudjuk) Ábrázolnunk kell az állapotokat (átmenetekkel); az inputot, ill. a verem tartalmát (+ veremből, verembe) Lehetőségek A véges elfogadó automata jelölései nyilván megtarthatók (kezdő- és végállapot) Mint a véges elfogadó automatáknál, csak az állapotok mellett feltüntetjük az inputot és a verem tartalmát (és a veremből kivételt ill. oda berakást) Valamilyen időrend vagy több ábra kell Az egyes állapotokat kiragadva ábrázoljuk, mellettük bemutatva az inputot HF: Nézzünk meg néhány különböző megoldást! F. Z. (címlap) D. P (B. I.) B. Z. JFLAP Butterfly *Tudunk jobb megoldást találni? 10
11 Definíció: A C = Q Ʃ* Γ* halmazt az R konfigurációi halmazának nevezzük Megj.: Ʃ* Q Γ* megadás is használatos Egy (q, w, γ) C konfiguráció jelentése az, hogy R a q állapotban van, w Ʃ* input szót kapja (még fel nem dolgozott input rész), és vermének tartalma γ Az input szó feldolgozása: egy lépésben egy betűt, vagy λ-t olvas be (ekkor nincs a szóban továbblépés) Ha γ = Z 1 Z 2 Z n, akkor a veremnek n cellája van kihasználva ( cellában egy szimbólum lehet), és Z 1 áll a verem tetején A konfigurációnál a következő input szimbólum és a verem tetején álló szimbólum is feltüntethető, ekkor (q, aw, Zγ) írandó Átmeneti reláció: a konfigurációk közti átmenetet írja le Ezek Descartes-szorzatán értelmezett Egy konfigurációból az automata egy vagy több másik konfigurációba léphet tovább (δ alapján) Definíció: A 1 R C C átmeneti relációt a következőképpen definiáljuk tetszőleges p, q Q, a (Ʃ {λ}), w Ʃ*, Z Γ és α, γ Γ*-ra (q, aw, Zγ) 1 R (p, w, αγ) akkor és csak akkor áll fent, ha (p, α) δ (q, a, Z) Az a = λ esetben az inputban nincs előrehaladás, ekkor az automata λ-mozgást végez Részletezve: (q, aw 1 w 2 w n, Zγ 1 γ 2 γ n ) 1 R (p, w 1 w 2 w n, αγ 1 γ 2 γ n ) Megjegyzés Ha nem akarjuk hangsúlyozni az automata nevét, akkor 1 írható (1 helyett használható a w jelölés is) Konfigurációk sorozata Mint korábban: bevezetjük 1*-ot (a reláció reflexív, tranzitív lezártja) Értelmezhető 1 n is: k 0 1 k 1 1 k k n 11
12 Felismert nyelv Egy veremautomata kétféleképpen ismerhet fel egy nyelvet: végállapotokkal vagy üres veremmel Ha a véges automata (a veremautomata véges vezérlője) a teljes input elolvasásával eljut egy végállapotba, akkor a veremautomata megáll Az input az üresszó is lehet Ekkor a veremautomata az input szót elfogadta (elfogadás végállapottal) A veremautomata akkor is megáll, ha a véges automata olyan állapotban van, amelyhez nem tartozik egyetlen alkalmas átmenet sem Nincs lehetséges átmenet a verem tetején levő jel figyelembe vételével és az input olvasásával a véges automatában Az elfogadás feltételét köthetjük a verem üres voltához is (Motiváció: Rekurzív programok esetében úgy tartjuk helyesen befejezettnek a program működését, ha kiürül a verem) Elfogadó állapotok ez esetben nem is kellenek, pusztán a mozgási szabályok megadása is teljesen specifikálja az automatát A ND veremautomata egy input szót elfogad, ha van olyan futása, hogy a bemenő szót elfogadja (emellett lehet persze olyan is, amellyel nem) Az elfogadott szavak összessége alkotja a veremautomata által elfogadott nyelvet 12
13 Felismert nyelv Definíció: A P veremautomata által végállapotokkal felismert nyelven az L f (P) = {w Ʃ* (q 0, w, Z 0 ) 1* (q, λ, γ), ahol q F és γ Γ*} nyelvet értjük Tehát: végállapotokkal P azon w input szavakat ismeri fel, amelyek hatására a q 0 kezdőállapotból a verem kezdeti Z 0 tartalma mellett az automata valamely q végállapotba kerül. A veremben végül maradhat valamilyen γ tartalom. (B. I.): Azon w szavak a nyelv mondatai, amelyek a kezdőállapottal és a verem kezdeti tartalmával olyan konfigurációt alkotnak, amelyből tetsz. számú lépésben elérhető egy olyan konf., ahol már nincs olvasásra váró jelsorozat, és az állapot elfogadó. A verem tartalma érdektelen. (V. M.): w benne van a felismert nyelvben, ha létezik olyan konfigurációsorozat, amelynek első eleme (q 0, w, Z 0 ), utolsó eleme (q, λ, γ), ahol q F és γ Γ*, és a sorozatban (az utolsót kivéve) minden konfiguráció átvihető a következőbe Definíció: A P veremautomata által üres veremmel felismert nyelven az L e (P) = {w Ʃ* (q 0, w, Z 0 )1* (q, λ, λ), ahol q Q} nyelvet értjük Tehát: üres veremmel P azon w input szavakat ismeri fel, amelyek hatására a q 0 kezdőállapotból a verem kezdeti Z 0 tartalma mellett P verme kiürül F-nek ilyenkor nincs szerepe (akár el is hagyható a definícióban) közömbös, hogy a folyamat végén elfogadó állapotban vagyunk-e Az üres veremmel elfogadó automatának is végig kell olvasnia a jelsorozatot! Egy konkrét veremautomata esetén a végállapottal, ill. az üres veremmel elfogadott nyelvek (nagyon) különbözhetnek egymástól fontos rögzíteni, hogy milyen módon akarjuk használni az automatát (!) 13
14 Példa (determinisztikus veremautomata; végállapottal és üres veremmel is elfogad) (9. slide, F. Z. 46., D. P. 170.) (Eml.: δ : Q (Ʃ {λ}) Γ P(Q Γ*) az átmenetfüggvény C = Q Ʃ* Γ* a konfigurációs halmaz) Leírása és működése R = (Q, Ʃ, Γ, δ, q 0, Z 0, F), ahol Q = {q 0, q 1, q 2 }, Ʃ = (a, b), Γ = (a, Z 0 ), F = {q 0 } δ(q 0, a, Z 0 ) = (q 1, az 0 ) (első a) δ(q 1, a, a) = (q 1, aa) (többi a) δ(q 1, b, a) = (q 2,λ) (első b) δ(q 2, b, a) = (q 2,λ) (többi b) δ(q 2, λ, Z 0 ) = (q 0,λ) (vége) Elemzendő mondat: aabb A konfigurációk sorozata (a működés egyszerűen követhető): (q 0, aabb, Z 0 ) 1 (q 1, abb, az 0 )1(q 1, bb, aaz 0 )1(q 2, b, az 0 ) 1 1(q 2, λ, Z 0 )1(q 0, λ, λ) Elemzendő mondat: abb Feladat: Mutassuk meg, hogy abb L f (R) A (q 0, b, λ) konfigurációból nem lehet továbbmenni Igazolható (pl. indukcióval), hogy L f (R) = {a n b n n 0} Itt: L f (R) L e (R), hiszen L e (R) = {a n b n n 1}, azaz L e (R) = L f (R) {λ} Ennek ellenére a két nyelvosztály közötti kapcsolat általánosan is nagyon szoros (ld. köv. slide) 14
15 Tétel: A veremautomatákkal végállapotokkal felismerhető nyelvek osztálya megegyezik a veremautomatákkal üres veremmel felismerhető nyelvek osztályával Bizonyítás (F. Z.) a) Legyen P = (Q, Ʃ, Γ, δ, q 0, Z 0, F) egy veremautomata végállapotokkal. Megmutatjuk, hogy ekkor megadható egy P' = (Q', Ʃ, Γ', δ', q 0 ', Z 0 ', F') veremautomata üres veremmel, amelyre L f (P) = L e (P'). (Ötlet: Az új P automata első lépésében átmegy a szimulálandó automata kezdőállapotának megfelelő állapotba, eközben a verembe P kezdő veremszimbólumát írja a saját kezdő veremszimbóluma fölé. Ezután az új automata P futását szimulálja, amíg az egy végállapotba jut, vagy el nem akad. Ha P egy végállapotba jutna, akkor az új P' automata átmegy egy új (vég)állapotba input olvasása nélkül, és kiüríti a verem tartalmát.) Definiáljuk P'-t úgy, hogy Q' = Q {q 0 ', q e }, ahol q 0 ' és q e új állapotok (új kezdő és új (vég)állapot) Γ' = Γ {Z 0 '}, ahol Z 0 ' egy új szimbólum (kezdő veremszimbólum) F' = (választható lenne Q' tetszőleges részhalmazának, de logikusabb) δ' az alábbi módon meghatározott: (i) δ' (q 0 ', λ, Z 0 ') = (q 0, Z 0 Z 0 ') (inicializálás) (ii) minden q Q és a (Ʃ {λ}), Z Γ esetén δ' (q, a, Z) = δ(q, a, Z) (ha a λvagy q F; szimuláció) = δ(q, a, Z) {(q e, λ)} (ha a =λés q F; szimuláció) (iii) minden Z Γ'-re δ'(q e, λ, Z) = (q e, λ) (végül: verem ürítése) 15
16 (Tétel: A veremautomatákkal végállapotokkal felismerhető nyelvek osztálya megegyezik a veremautomatákkal üres veremmel felismerhető nyelvek osztályával) Bizonyítás (folyt.) a) (folyt.) (Eml. δ' az alábbi módon meghatározott: (i) δ' (q 0 ', λ, Z 0 ') = (q 0, Z 0 Z 0 ') (inicializálás) (ii) minden q Q és a (Ʃ {λ}), Z Γ esetén δ' (q, a, Z) = δ(q, a, Z) (ha a λvagy q F; szimuláció) = δ(q, a, Z) {(q e, λ)} (ha a =λés q F; szimuláció) (iii) minden Z Γ'-re δ' (q e, λ, Z) = (q e, λ) (végül: verem ürítése)) Az L f (P) = L e (P ) igazolása: w L f (P) (q 0, w, Z 0 ) 1* P (q, λ, γ), ahol q F (q 0 ', w, Z 0 ') 1 P' (q 0, w, Z 0 Z 0 ') (definícióból) ((i) miatt) 1* P' (q, λ, γz 0 '), ahol q F ((ii) miatt; a veremben maradhat még tartalom) = (q, λ, Z 1 Z 2 Z k Z 0 ') (itt γ = Z 1 Z 2 Z k ) 1 P' (q e, λ, Z 2 Z 3 Z k Z 0 ') ((ii) miatt) 1* P' (q e, λ, λ) ((iii) miatt; itt és előbb: input olvasás nélkül ürítjük a vermet) w L e (P'). (definícióból) 16
17 Tétel: A VA-kal végállapotokkal felismerhető nyelvek osztálya megegyezik Bizonyítás (folyt.) b) Legyen P = (Q, Ʃ, Γ, δ, q 0, Z 0, ) egy VA üres veremmel. Megmutatjuk, hogy ekkor megadható egy P' = (Q', Ʃ, Γ', δ', q 0 ', Z 0 ', F') VA végállapotokkal, amelyre L f (P') = L e (P). (Ötlet: Inicializálás mint előbb. Ezután az új automata P futását szimulálja, amíg annak verme ki nem ürül (a saját kezdő veremszimbólum persze benne marad), vagy el nem akad. Ha a szimulálandó verem kiürült, akkor az új P' automata átmegy egy új végállapotba.) Definiáljuk P'-t úgy, hogy Q' = Q {q 0 ', q f }, ahol q 0 ' és q f új állapotok (új kezdőállapot és új elfogadó végállapot) Γ' = Γ {Z 0 '}, ahol Z 0 ' egy új szimbólum (kezdő veremszimbólum) F' = {q f } δ' az alábbi módon meghatározott: (i) δ' (q 0 ', λ, Z 0 ') = (q 0, Z 0 Z 0 ') (inicializálás) (ii) minden q Q és a (Ʃ {λ}), Z Γ esetén δ' (q, a, Z) = δ(q, a, Z) (szimuláció) (iii) minden q Q esetén δ' (q, λ, Z 0 ') = (q f, λ) (végül: elfogadás) Az L e (P) = L f (P') igazolása: w L e (P) (q 0, w, Z 0 ) 1* P (q, λ, λ), ahol q Q (definícióból) (q 0 ', w, Z 0 ') 1 P' (q 0, w, Z 0 Z 0 ') ((i) miatt) 1* P' (q, λ, Z 0 '), ahol q Q ((ii) miatt) 1 P' (q f, λ, λ) ((iii) miatt) w L f (P'). (definícióból) Ezek után beszélhetünk egyszerűen csak a veremautomatákkal felismerhető nyelvek osztályáról Függetlenül attól, hogy a felismerés végállapottal vagy üres veremmel történik-e 17
18 Átalakító algoritmus (üres veremmel felismerő végállapottal felismerő) (B. Z.) Az eredeti automata: M 1 = (Q 1, Ʃ, Γ, δ 1, q 0, z) Az új automata: M 2 = (Q 2, Ʃ, Γ {x}, δ 2, p 0, x, F) Példa: üres veremmel felismerő veremautomata átalakítása, L e (M 1 ) = {0 n 1 n n 1} M 1 kezdőszimbóluma: z, M 2 kezdőszimbóluma: t Az új automata egyik átmenete elhagyható. Melyik? 18
19 Átalakító algoritmus (végállapottal felismerő üres veremmel felismerő) (B. Z.) Az eredeti automata: M 1 = (Q 1, Ʃ, Γ, δ 1, q 0, z, F) Az új automata: M 2 = (Q 2, Ʃ, Γ {x}, δ 2, p 0, x) Példa: végállapottal felismerő veremautomata átalakítása, L f (M 1 ) = {0 n 1 n n 1} M 1 kezdőszimbóluma: z, M 2 kezdőszimbóluma: t Az első automata végállapottal és egyben üres veremmel ismer fel, ezért az átalakítás nem is lett volna szükséges 19
20 Feladatok Készítsünk olyan veremautomatát, amely az L = {a n b n+2 n > 0} nyelvet ismeri fel! Ötlet (eml.): az a n b n szavakat felismerő automatánál úgy dolgoztunk, hogy a kezdőállapotból az első a olvasására átmentünk q 1 -be, további a-k olvasásánál q 1 -ben maradtunk, és minden olvasáskor a-t írtunk pluszban a verembe. Az első b olvasásánál átmentünk q 2 -be, a további b-k olvasásánál q 2 -ben maradtunk, és minden olvasáskor a-t olvastunk a veremből. Ugyanezt az ötletet alkalmazzuk most is, csak a végén még két további b beolvasását biztosítani kell. Ehhez új állapotokat vetünk be, q 3 és q 4 is egy-egy b beolvasása után érhető el (a verem ekkor már nincs felhasználva), az utolsó állapot elfogadó. Az átmenetek: δ(q 0, a, Z 0 ) = (q 1, az 0 ), δ(q 1, a, a) = (q 1, aa) % a-k δ(q 1, b, a) = (q 2,λ) δ(q 2, b, a) = (q 2,λ) % normál b-k δ(q 2, b, Z 0 ) = (q 3, Z 0 ) δ(q 3, b, Z 0 ) = (q 4, Z 0 ) % extra b-k Itt q 4 elfogadó állapot Mutassuk be az automata működését az aabbbb szóra! 20
21 Feladatok Készítsünk olyan veremautomatát, amely az L = {a n b m 0 n m 2n} nyelvet ismeri fel! Ötlet: Az automata az a n b n szavakat felismerő automata módosításával áll elő. A kiindulás tehát ugyanaz, mint az előbb, csak az első és a további a-k olvasása tér el a prototípustól. Nemdeterminisztikusan egy vagy két a-t írhatunk a verembe minden ilyen esetben. (D. P. 171.) Készítsünk olyan üres veremmel elfogadó veremautomatát, amely az {a, b} ábécé feletti helyes zárójelek nyelvét (a Dyck-nyelvet) ismeri fel! (Itt a a nyitó, b a záró zárójel; az a betűk párban meg kell, hogy előzzék a b betűket) Megoldás (csak egy állapot kell): Ha a betűt olvasunk a szalagon, akkor a verembe írjuk Ha b betűt olvasunk a szalagon, akkor törlünk egy a-t Ha Z 0 -t olvasunk a veremből, akkor kiüríthetjük a vermet (elfogadás), vagy folytathatjuk a olvasásával is (a szalagról, ekkor Z 0 visszaírandó a verembe) (D. P. 174.) Rajzoljuk is le az automatákat, és néhány tesztszóval ellenőrizzük, hogy valóban jó lett a megoldásunk! 21
22 Feladatok Készítsünk olyan veremautomatát, amely az L = { w w a = w b } nyelvet ismeri fel (szavak, amelyekben az a és b betűk száma megegyezik)! Megoldási ötlet: A veremben csak egyféle Z 0 -tól eltérő szimbólum lehet Ha csak Z 0 van a veremben: ugyanannyi a és b betűt olvastunk be eddig Ha k darab a betű van Z 0 felett: eddig k-val több a-t olvastunk be Ha k darab b betű van Z 0 felett: eddig k-val több b-t olvastunk be Az automata működése: Ha a veremben csak Z 0 van, akkor a szalagról olvasott jelet tegyük a verem tetejére Ha a verem tetején levő és a beolvasott jel egyforma, akkor ezek számát a veremben növeljük eggyel Ha a verem tetején levő és a beolvasott jel eltérő, akkor a veremben levő jelek számát eggyel csökkentjük Ha a veremben csak Z 0 van, akkor veremürítés, és átmegyünk végállapotba (rajz: D. P. 172.) Külön köszönet: a hivatkozott jegyzetek szerzőinek 22
6. előadás Környezetfüggetlen nyelvtanok/1.
6. előadás Környezetfüggetlen nyelvtanok/1. Dr. Kallós Gábor 2013 2014 1 Tartalom Bevezetés CF nyelv példák Nyelvek és nyelvtanok egy- és többértelműsége Bal- és jobboldali levezetések Levezetési fák A
RészletesebbenA számítógépes nyelvészet elmélete és gyakorlata. Automaták
A számítógépes nyelvészet elmélete és gyakorlata Automaták Nyelvek és automaták A nyelvek automatákkal is jellemezhetőek Automaták hierarchiája Chomsky-féle hierarchia Automata: új eszköz a nyelvek komplexitásának
RészletesebbenAutomaták mint elfogadók (akceptorok)
Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e
RészletesebbenA Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:
A Formális nyelvek vizsga teljesítése a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12
RészletesebbenA Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:
A Formális nyelvek vizsga teljesítése a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum
Részletesebben6. előadás A reguláris nyelvek jellemzése 2.
6. előadás A reguláris nyelvek jellemzése 2. Dr. Kallós Gábor 2014 2015 1 Tartalom A reguláris nyelvek osztályának jellemzése a körbebizonyítás Láncszabályok A 2. állítás és igazolása Ekvivalens 3-típusú
RészletesebbenSzámításelmélet. Második előadás
Számításelmélet Második előadás Többszalagos Turing-gép Turing-gép k (konstans) számú szalaggal A szalagok mindegyike rendelkezik egy független író / olvasó fejjel A bemenet az első szalagra kerül, a többi
RészletesebbenAlgoritmuselmélet 12. előadás
Algoritmuselmélet 12. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Április 9. ALGORITMUSELMÉLET 12. ELŐADÁS 1 Turing-gépek
RészletesebbenTuring-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1
Turing-gépek Logika és számításelmélet, 7. gyakorlat 2009/10 II. félév Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1 A Turing-gép Az algoritmus fogalmának egy intuitív definíciója:
RészletesebbenA digitális számítás elmélete
A digitális számítás elmélete 8. előadás ápr. 16. Turing gépek és nyelvtanok A nyelvosztályok áttekintése Turing gépek és a természetes számokon értelmezett függvények Áttekintés Dominó Bizonyítások: L
RészletesebbenVéges automaták, reguláris nyelvek
Véges automaták, reguláris nyelvek Kiegészítő anyag az lgoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: lgoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 27. augusztus 3. véges automata
RészletesebbenFormális nyelvek - 9.
Formális nyelvek - 9. Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: csuhaj@inf.elte.hu 1 Véges
RészletesebbenFormális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések
1. Feladat Az első feladatban szereplő - kérdések 1 Minden környezet független nyelv felismerhető veremautomatával. Minden környezet független nyelv felismerhető 1 veremmel. Minden 3. típusú nyelv felismerhető
Részletesebben6. előadás A reguláris nyelvek jellemzése 2.
6. előadás A reguláris nyelvek jellemzése 2. Dr. Kallós Gábor 2015 2016 1 Tartalom A reguláris nyelvek osztályának jellemzése a körbebizonyítás Láncszabályok A 2. állítás és igazolása Ekvivalens 3-típusú
RészletesebbenDicsőségtabló Beadós programozási feladatok
Dicsőségtabló Beadós programozási feladatok Hallgatói munkák 2017 2018 Szavak kiírása ábécé felett Készítő: Maurer Márton (GI, nappali, 2017) Elméleti háttér Adott véges Ʃ ábécé felett megszámlálhatóan
RészletesebbenAtomataelmélet: A Rabin Scott-automata
A 19. óra vázlata: Atomataelmélet: A Rabin Scott-automata Az eddigieken a formális nyelveket generatív szempontból vizsgáltuk, vagyis a nyelvtan (generatív grammatika) szemszögéből. A generatív grammatika
RészletesebbenZH feladatok megoldásai
ZH feladatok megoldásai A CSOPORT 5. Írja le, hogy milyen szabályokat tartalmazhatnak az egyes Chomskynyelvosztályok (03 típusú nyelvek)! (4 pont) 3. típusú, vagy reguláris nyelvek szabályai A ab, A a
Részletesebbendefiniálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.
Számításelmélet Kiszámítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést, amire számítógéppel szeretnénk megadni a választ. (A matematika nyelvén precízen megfogalmazott
RészletesebbenA Turing-gép. Formális nyelvek III.
Formális nyelvek III. Általános és környezetfüggő nyelvek Fülöp Zoltán SZTE TTIK Informatikai Intézet Számítástudomány Alapjai Tanszék 6720 Szeged, Árpád tér 2. Definíció. Egy Turing-gép egy M = (Q,Σ,Γ,
RészletesebbenVerem Verem mutató 01
A számítástechnikában a verem (stack) egy speciális adatszerkezet, amiben csak kétféle művelet van. A berak (push) egy elemet a verembe rak, a kivesz (pop) egy elemet elvesz a verem tetejéről. Mindig az
RészletesebbenMintaFeladatok 2.ZH Megoldások
1. feladat Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) P={ } S A B C AB SC AC a c BC b CS SS c S a kezdőjel Mivel a piramis tetején lévő kocka a mondatkezdő szimbólumot
RészletesebbenLogika és számításelmélet. 10. előadás
Logika és számításelmélet 10. előadás Rice tétel Rekurzíve felsorolható nyelvek tulajdonságai Tetszőleges P RE halmazt a rekurzívan felsorolható nyelvek egy tulajdonságának nevezzük. P triviális, ha P
RészletesebbenTuring-gép május 31. Turing-gép 1. 1
Turing-gép 2007. május 31. Turing-gép 1. 1 Témavázlat Turing-gép Determinisztikus, 1-szalagos Turing-gép A gép leírása, példák k-szalagos Turing-gép Univerzális Turing-gép Egyéb Turing-gépek Nemdeterminisztikus
RészletesebbenFormális nyelvek és automaták előadások
VÁRTERÉSZ MAGDA Formális nyelvek és automaták előadások 2005/06-os tanév 1. félév Tartalomjegyzék 1. Előzetes tudnivalók 4 2. Bevezetés 15 3. Ábécé, szó, formális nyelv 17 4. Műveletek nyelvekkel 24 4.1.
RészletesebbenDeníciók és tételek a beugró vizsgára
Deníciók és tételek a beugró vizsgára (a szóbeli viszgázás jogáért) Utolsó módosítás: 2008. december 2. 2 Bevezetés Számítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést,
RészletesebbenFormális nyelvek és gépek (definíciós és tétel lista - 09/10/2)
Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2) ábécé: Ábécének nevezünk egy tetszőleges véges szimbólumhalmazt. Jelölése: X, Y betű: Az ábécé elemeit betűknek hívjuk. szó: Az X ábécé elemeinek
RészletesebbenAutomaták és formális nyelvek
Automaták és formális nyelvek Bevezetés a számítástudomány alapjaiba 1. Formális nyelvek 2006.11.13. 1 Automaták és formális nyelvek - bevezetés Automaták elmélete: információs gépek általános absztrakt
RészletesebbenKörnyezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma
Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták Környezetfüggetlen nyelvtan Egy G = (N,Σ,P,S) nyelvtan környezetfüggetlen, ha minden szabálya A α alakú. Példák: 1) Az S asb ε nyelvtan,
RészletesebbenFORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK. LABORGYAKORLATOK
FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK LABORGYAKORLATOK http://www.ms.sapientia.ro/~kasa/formalis.htm 0 Formális nyelvek és fordítóprogramok http://www.ms.sapientia.ro/~kasa/formalis.htm Jelenlét kötelezõ!
Részletesebben5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.
5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1. Dr. Kallós Gábor 2014 2015 1 Tartalom Reguláris kifejezések Meghatározás, tulajdonságok Kapcsolat a reguláris nyelvekkel A reguláris
RészletesebbenChomsky-féle hierarchia
http://www.ms.sapientia.ro/ kasa/formalis.htm Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezetű), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.
RészletesebbenFormális nyelvek és automaták
Formális nyelvek és automaták Nagy Sára gyakorlatai alapján Készítette: Nagy Krisztián Utolsó óra MINTA ZH Eötvös Loránd Tudományegyetem Informatikai Kar 2012.05.18 1. feladat: KMP (Knuth-Morris-Prett)
RészletesebbenProgramozási módszertan
1 Programozási módszertan 1. Alapfogalmak Feldhoffer Gergely 2012 Féléves tananyag terve 2 Program helyességének bizonyítása Reprezentáció Logikai-matematikai eszköztár Programozási tételek bizonyítása
RészletesebbenKörnyezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma
Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták Környezetfüggetlen nyelvtan Egy G = (N,Σ,P,S) nyelvtan környezetfüggetlen, ha minden szabálya A α alakú. Példák: 1) Az S asb ε nyelvtan,
Részletesebben9. előadás Környezetfüggetlen nyelvek
9. előadás Környezetfüggetlen nyelvek Dr. Kallós Gábor 2015 2016 1 Tartalom Bevezetés CF nyelv példák Nyelvek és nyelvtanok egy- és többértelműsége Bal- és jobboldali levezetések A fák magassága és határa
RészletesebbenA Számítástudomány alapjai
Mechatronika, Optika és Gépészeti Informatika Tanszék A Számítástudomány alapjai Szemelvények az Elméleti Számítástudomány területéről Fogalmak: Számítástechnika Realizáció, technológia Elméleti számítástudomány
RészletesebbenFormális módszerek GM_IN003_1 Program verifikálás, formalizmusok
Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok Program verifikálás Konkurens programozási megoldások terjedése -> verifikálás szükséges, (nehéz) logika Legszélesebb körben alkalmazott
RészletesebbenNyelvek és automaták augusztus
Nyelvek és automaták Csima Judit Friedl Katalin 2013. augusztus Ez a jegyzet a Budapesti Műszaki és Gazdaságtudományi Egyetem mérnökinformatikus hallgatói számára tartott Nyelvek és Automaták tantárgy
Részletesebben7. előadás Környezetfüggetlen nyelvtanok
7. előadás dr. Kallós Gábor 2017 2018 Tartalom Bevezető Deriváció Előállított szó és nyelv Levezetési sorozat Reguláris nyelvtanok Reguláris nyelvekre vonatkozó 2. ekvivalencia tétel Konstrukciók (NVA
RészletesebbenA számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete
A számítógépes nyelvészet elmélete és gyakorlata Formális nyelvek elmélete Nyelv Nyelvnek tekintem a mondatok valamely (véges vagy végtelen) halmazát; minden egyes mondat véges hosszúságú, és elemek véges
RészletesebbenAlgoritmusok bonyolultsága
Algoritmusok bonyolultsága 11. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm () 1 / 1 NP-telesség Egy L nyelv NP-teles, ha L NP és minden L NP-re L L. Egy Π döntési feladat NP-teles, ha Π NP és
RészletesebbenMintaFeladatok 2.ZH Megoldások
Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) 1. feladat megoldása a b 1 2 3 2 4 2 3 2 1 4 6 3 5 10 6 6 8 7 7 9 7 8 8 9 9 8 8 10 5 1 I. Összefüggőség vizsgálat. H0={1}
RészletesebbenKOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 3 III. MEGFELELTETÉSEk, RELÁCIÓk 1. BEVEZETÉS Emlékeztetünk arra, hogy az rendezett párok halmazát az és halmazok Descartes-féle szorzatának nevezzük. Más szóval az és halmazok
RészletesebbenChomsky-féle hierarchia
http://www.cs.ubbcluj.ro/~kasa/formalis.html Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezet ), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.
RészletesebbenFeladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!
Feladatok 1. A CYK algoritmus segítségével döntsük el, hogy cabcab eleme-e a G = {a, b, c}, {S, A, B, C, D, E}, P, S nyelvtan által generált nyelvnek! P: S AD EB SS A AB a B DD b C CB c D EC a E AD b 2.
RészletesebbenA digitális számítás elmélete
A digitális számítás elmélete 1. előadás szept. 19. Determinisztikus véges automaták 1. Példa: Fotocellás ajtó m m m k b s = mindkét helyen = kint = bent = sehol k k b s m csukva b nyitva csukva nyitva
Részletesebben9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.
Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi
RészletesebbenNP-teljesség röviden
NP-teljesség röviden Bucsay Balázs earthquake[at]rycon[dot]hu http://rycon.hu 1 Turing gépek 1/3 Mi a turing gép? 1. Definíció. [Turing gép] Egy Turing-gép formálisan egy M = (K, Σ, δ, s) rendezett négyessel
Részletesebben2014. szeptember 24. és 26. Dr. Vincze Szilvia
2014. szeptember 24. és 26. Dr. Vincze Szilvia Mind a hétköznapi, mind a tudományos életben gyakran előfordul, hogy bizonyos halmazok elemei között kapcsolat figyelhető meg. A kapcsolat fogalmának matematikai
RészletesebbenA sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex
A sorozat fogalma Definíció. A természetes számok N halmazán értelmezett függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet a valós számok halmaza, valós számsorozatról beszélünk, mígha az
RészletesebbenA SZÁMÍTÁSTUDOMÁNY ALAPJAI
Írta: ÉSIK ZOLTÁN A SZÁMÍTÁSTUDOMÁNY ALAPJAI Egyetemi tananyag 2011 COPYRIGHT: 2011 2016, Dr. Ésik Zoltán, Szegedi Tudományegyetem Természettudományi és Informatikai Kar Számítástudomány Alapjai Tanszék
RészletesebbenAdatszerkezetek és algoritmusok
2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók
Részletesebben(2004) by Data parancsnok Based on (not so much auditted) lectures of Dr. Radelecki Sándor
Automaták és Formális nyelvek (2004) by Data parancsnok Based on (not so much auditted) lectures of Dr. Radelecki Sándor Determinisztikus véges automata (DFA Deterministic Final Automata) Elmélet: A DFA
RészletesebbenInformatika 1 2. el adás: Absztrakt számítógépek
Informatika 1 2. el adás: Budapesti M szaki és Gazdaságtudományi Egyetem 2015-09-08 1 2 3 A egy M = Q, Γ, b, Σ, δ, q 0, F hetes, ahol Q az 'állapotok' nem üres halmaza, Γ a 'szalag ábécé' véges, nem üres
RészletesebbenRekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
RészletesebbenFormális nyelvek előadások tavaszi félév
Formális nyelvek előadások 2018. tavaszi félév Követelmények Az aláírást mindenki megkapja ajándékba. A vizsga két részből áll, írásbeli és szóbeli vizsgából. Az írásbeli elégséges szintű teljesítése esetén
Részletesebben1 2. gyakorlat Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor
1 2. gyakorlat Matematikai és nyelvi alapfogalmak dr. Kallós Gábor 2017 2018 Köszönetnyilvánítás Köszönetnyilvánítás (Acknowledgement) Ez a gyakorlati feladatsor nagyban épít a következő könyvre Elements
RészletesebbenKiterjesztések sek szemantikája
Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból
RészletesebbenHázi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására
Nyelvek használata adatszerkezetek, képek leírására Formális nyelvek, 2. gyakorlat 1. feladat Módosított : belsejében lehet _ jel is. Kezdődhet, de nem végződhet vele, két aláhúzás nem lehet egymás mellett.
RészletesebbenMindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1
Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,
RészletesebbenMindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.
HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak
RészletesebbenÁtlátható veremautomaták és nyelvek
Átlátható veremautomaták és nyelvek Visibly pushdown automata and languages Németh L. Zoltán Számítástudomány Alapjai Tanszék SZTE, Informatikai Tanszékcsoport 2007. április 23. Tartalom 1 Motiváció: modellellenőrzés
Részletesebben1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba
Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai
RészletesebbenHALMAZELMÉLET feladatsor 1.
HALMAZELMÉLET feladatsor 1. Egy (H,, ) algebrai struktúra háló, ha (H, ) és (H, ) kommutatív félcsoport, és teljesül az ún. elnyelési tulajdonság: A, B H: A (A B) = A, A (A B) = A. A (H,, ) háló korlátos,
RészletesebbenAritmetikai kifejezések lengyelformára hozása
Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási
RészletesebbenAz informatika elméleti alapjai 2 elővizsga december 19.
Név (aláírás): Az informatika elméleti alapjai 2 elővizsga 2017. december 19. A vizsgadolgozat 1. feladatára helyes válaszonként 1-1 pont kapható, a 2-3. feladatok megoldásáért 6-6 pont, a 4. feladatra
Részletesebben2. Ítéletkalkulus szintaxisa
2. Ítéletkalkulus szintaxisa (4.1) 2.1 Az ítéletlogika abc-je: V 0 V 0 A következő szimbólumokat tartalmazza: ítélet- vagy állításváltozók (az állítások szimbolizálására). Esetenként logikai változónak
RészletesebbenDiszkrét matematika II., 8. előadás. Vektorterek
1 Diszkrét matematika II., 8. előadás Vektorterek Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2007.??? Vektorterek Legyen T egy test (pl. R, Q, F p ). Definíció.
RészletesebbenKOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen
RészletesebbenEmlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)
Emlékeztető Emlékeztető: LR(0) elemzés A lexikális által előállított szimbólumsorozatot balról jobbra olvassuk, a szimbólumokat az vermébe tesszük. LR elemzések (SLR() és LR() elemzések) Fordítóprogramok
RészletesebbenNyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,,. (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. L nyelv lezártja.
Univerzális ábécé: Szimbólumok egy megszámlálhatóan végtelen halmazát univerzális ábécének nevezzük Ábécé: Ábécének nevezzük az univerzális ábécé egy tetszőleges véges részhalmazát Betű: Az ábécé elemeit
RészletesebbenItt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:
1. Halmazok, relációk, függvények 1.A. Halmazok A halmaz bizonyos jól meghatározott dolgok (tárgyak, fogalmak), a halmaz elemeinek az összessége. Azt, hogy az a elem hozzátartozik az A halmazhoz így jelöljük:
RészletesebbenBonyolultságelmélet. Thursday 1 st December, 2016, 22:21
Bonyolultságelmélet Thursday 1 st December, 2016, 22:21 Tárbonyolultság A futásidő mellett a felhasznált tárterület a másik fontos erőforrás. Ismét igaz, hogy egy Ram-program esetében ha csak a használt
RészletesebbenFelismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21
A számítástudomány alapjai Ésik Zoltán SZTE, Számítástudomány Alapjai Tanszék Bevezetes Bevezetés.................................................... slide #2 Automaták és formális nyelvek Szavak és nyelvek...............................................
RészletesebbenA továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk
1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán
RészletesebbenAlgoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek
Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:
RészletesebbenAdatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája
Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból
RészletesebbenRelációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!
függvények RE 1 Relációk Függvények függvények RE 2 Definíció Ha A, B és ρ A B, akkor azt mondjuk, hogy ρ reláció A és B között, vagy azt, hogy ρ leképezés A-ból B-be. Ha speciálisan A=B, azaz ρ A A, akkor
RészletesebbenAlap fatranszformátorok I. Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap
Alap fatranszformátorok I Vágvölgyi Sándor Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap termátíró rendszerről eldönthető hogy összefolyó-e. Mindannyian
RészletesebbenALGEBRAI AUTOMATAELMÉLET
Babcsányi István ALGEBRAI AUTOMATAELMÉLET 2011 Ismertető Tartalomjegyzék Pályázati támogatás Gondozó Szakmai vezető Lektor Technikai szerkesztő Copyright A jegyzet az automaták algebrai elméletének alapjait
RészletesebbenNagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
RészletesebbenTuring-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT augusztus 16.
Turing-gépek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 2017. augusztus 16. A veremautomatáknál az, hogy
RészletesebbenRE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!
RE 1 Relációk Függvények RE 2 Definíció: Ha A, B és ρ A B, akkor azt mondjuk, hogy ρ reláció A és B között, vagy azt, hogy ρ leképezés A-ból B-be. Ha speciálisan A=B, azaz ρ A A, akkor azt mondjuk, hogy
RészletesebbenModellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Modellellenőrzés dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális vagy félformális tervek Informális követelmények Formális modell: KS, LTS, TA
RészletesebbenHALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van.
HALMAZOK Tanulási cél Halmazok megadása, halmazműveletek megismerése és alkalmazása, halmazok ábrázolása Venn diagramon. Motivációs példa Egy fogyasztó 80 000 pénzegység jövedelmet fordít két termék, x
RészletesebbenFogalomtár a Formális nyelvek és
Fogalomtár a Formális nyelvek és automaták tárgyhoz (A törzsanyaghoz tartozó definíciókat és tételeket jelöli.) Definíciók Univerzális ábécé: Szimbólumok egy megszámlálhatóan végtelen halmazát univerzális
RészletesebbenBevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
RészletesebbenTemporális logikák és modell ellenırzés
Temporális logikák és modell ellenırzés Temporális logikák Modális logika: kijelentések különböző módjainak tanulmányozására vezették be (eredetileg filozófusok). Ilyen módok: esetleg, mindig, szükségszerűen,
Részletesebben... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.
Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat
Részletesebben1. előadás: Halmazelmélet, számfogalom, teljes
1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,
RészletesebbenTuring-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. Friedl Katalin BME SZIT március 18.
Turing-gépek Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 2016. március 18. A veremautomatáknál az hogy
RészletesebbenAdatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
Részletesebben5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás
Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:
Részletesebben10. fejezet Az adatkapcsolati réteg
10. fejezet Az adatkapcsolati réteg Az adatkapcsolati réteg (Data Link Layer) Előzetesen összefoglalva, az adatkapcsolati réteg feladata abban áll, hogy biztosítsa azt, hogy az adó oldali adatok a vevő
RészletesebbenEllenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t
Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,
RészletesebbenDr. Mileff Péter
Dr. Mileff Péter 1 2 1 Szekvencia diagram Szekvencia diagram Feladata: objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé
RészletesebbenIdőzített átmeneti rendszerek
Időzített átmeneti rendszerek Legyen A egy ábécé, A = A { (d) d R 0 }. A feletti (valós idejű) időzített átmeneti rendszer olyan A = (S, T,,, ) címkézett átmeneti rendszert ( : T A ), melyre teljesülnek
RészletesebbenSorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozat fogalma Definíció: Számsorozaton olyan függvényt értünk, amelynek értelmezési tartománya a pozitív egész
RészletesebbenAlap fatranszformátorok II
Alap fatranszformátorok II Vágvölgyi Sándor Fülöp Zoltán és Vágvölgyi Sándor [2, 3] közös eredményeit ismertetjük. Fogalmak, jelölések A Σ feletti alaptermek TA = (T Σ, Σ) Σ algebráját tekintjük. Minden
RészletesebbenSzámításelmélet. Will június 13. A kiszámíthatóság fogalma és a Church-Turing tézis
Számításelmélet Will 2010. június 13. A kiszámíthatóság fogalma és a Church-Turing tézis. A Turing gép, mint algoritmus modell. A rekurzív és a rekurzívan felsorolható nyelvek. Algoritmikusan eldönthet
Részletesebben