6. előadás A reguláris nyelvek jellemzése 2.

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "6. előadás A reguláris nyelvek jellemzése 2."

Átírás

1 6. előadás A reguláris nyelvek jellemzése 2. Dr. Kallós Gábor 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ú nyelvtanok és véges elfogadó automaták Feladatok 2

2 Láncszabályok Eml. (cél): 2. tul. (3-típ.) 3. tul. (véges aut. felism.); ehhez át kell alakítanunk ekvivalens módon a nyelvtant! Feladat: Milyen szabályokat tud végrehajtani a véges automata? (Rajzoljunk!) (Természetesen üresszó-átmenet nélkül) Definíció: Tetszőleges G = (N, Ʃ, P, S) nyelvtan esetén az A B alakú szabályokat láncszabályoknak (nemterminális átnevezés) nevezzük. Amennyiben P-ben nincsenek láncszabályok, akkor azt mondjuk, hogy G láncszabálymentes. Intuitív ötlet: a nemterm. átnevezés nem visz közelebb a sikeresen levezetett szóhoz Segédállítás 1: Legyen G = (N, Ʃ, P, S) környezetfüggetlen (2-típusú, CF) nyelvtan. Hozzá megadható olyan G' = (N, Ʃ, P', S) láncszabálymentes CF nyelvtan, amelyre L(G) = L(G'). Továbbá, amennyiben G 3-típusú, akkor G' is 3-típusú lesz. Bizonyítás (F. Z.): Először minden A N-re meghatározzuk azon B N nemterminálisok halmazát, amelyekre A * B úgy, hogy a levezetés közben csak láncszabályokat alkalmaztunk. Jelöljük ezt a halmazt N A -val. (Itt A N A, hiszen A * A nulla darab láncszabállyal) Az N A halmazt iterációval határozzuk meg: (i) Legyen N 0 = {A} (mert A N A ), és i = 0 (ii) Legyen N i + 1 = N i {C N B N i úgy, hogy B C P} (iii) Ha N i = N i + 1, akkor legyen N A = N i, különben legyen i = i + 1, és ismételjük az (ii) pontot (A konstrukció véges sok lépés után befejeződik. Így minden elérhető nemterminálist megkapunk, tehát tényleg N A áll elő) 3 Láncszabályok Segédáll. 1 biz. folyt. (Minden CF nyelvtanhoz megadható láncszabálymentes megfelelő) Konstruáljuk meg P'-t a következő módon: P' = ; # inicializálás A N-re, # iteráció B N A -ra, B α P szabály esetén: Ha B α nem láncszabály, akkor vegyük fel az A α szabályt P'-be. Nyilvánvaló, hogy P'-ben nincsenek láncszabályok, ugyanakkor P' tartalmaz minden olyan P-beli szabályt, ami nem láncszabály. Ha G 3-típusú, akkor G' is az lesz (nem rontjuk el ). Emellett az is teljesül, hogy L(G) = L(G'), ugyanis: olyan G-beli levezetésben, ami S-ből indul ki, és term. szóban végződik, lehetnek láncszabályok. Ilyenkor egy A nemterm.ból indulunk, alkalmazunk valahány láncszabályt, elérünk egy B nemterminálist, majd egy B α szabály következik, ami nem láncszabály. (Ez a lépés végül mindenképpen bekövetkezik.) Ekkor teljesül, hogy B N A, és hogy B α P, tehát az A α szabály P'-ben van. Így G'-ben A-ból levezethető α egyetlen lépésben. Megfordítva, G'-beli levezetésben alkalmazott szabály vagy P-ben is benne van, vagy helyettesíthető P-beli láncszab.ok sorozatának és egy nem láncszabálynak az alkalmazásával. 4

3 Láncszabályok Megjegyzések (eml.) Az eredeti 3-típusú nyelvtan átalakítása azért szükséges, hogy jóval speciálisabb feltételek is eleget tegyen (az automata tudja majd adaptálni). Többféle ilyen megoldás is elképzelhető (B. I. és A. P. eleve spec. 3-típusú def.; D. P. gyenge és erős normálforma reguláris nyelvtanokra, lásd 17. slide). A láncszabályok kiküszöbölése tekinthető úgy is, hogy megszüntetjük (az automatánál) aλ-átmeneteket (eml.: 4. slidesor, 4. old.) Példa (a segédállításban szereplő konstrukció bemutatása) Legyen G az a 3-típusú nyelvtan, amelynek szabályai a következők: S A ab, A B ba, B bb C a, C bb. Az N S, N A, N B és N C halmazokat kiszámolva, kapjuk, hogy: N S = {S, A, B, C}, N A = {A, B, C}, N B = {B, C}, N C = {C}. Ez alapján G' szabályai a következők lesznek: S ab ba bb a bb, A ba bb a bb, B bb a bb, C bb. 5 Láncszabályok Ekvivalens algoritmus a láncszabályok kiküszöbölésére (B. Z.) (Megj.: Ez az eljárás nem képez N A, N B stb. halmazokat) Hajtsuk végre ezt az algoritmust is az előző G 3-típusú nyelvtanra: S A ab, A B ba, B bb C a, C bb. Ellenőrizzük, hogy az eredmény ugyanaz lesz, mint az előző oldalon! Melyik algoritmus gyorsabb? (Melyiket választanánk általánosan a feladat megoldására?) *Végezzünk számszerűsített hatékonysági elemzést! 6

4 Szabályredukció Segédállítás 2: Legyen G = (N, Ʃ, P, S) 3-típusú nyelvtan. Ekkor van olyan G' = (N', Ʃ, P', S) 3-típusú nyelvtan, amelyre L(G) = L(G'), és P'-ben minden szabály A ab vagy A λalakú, ahol A, B N és a Ʃ. (Eml. Egy 3-típusú nyelvtan szabályai N T*N vagy N T* alakúak, itt T = Ʃ; azaz: célunk most a C c 1 c n (minden n-re) és C c 1 C m, m 3 alakú szabályok törlése) Bizonyítás (F. Z.): Megkonstruáljuk P'-t az alábbiak szerint: (i) Minden A ab vagy A λalakú P-beli szabályt vegyünk fel P'-be (ii) A a 1 a 2 a n B, P-beli szabály esetén (n > 1, a 1, a 2,, a n Ʃ), vegyük fel P'-be az A a 1 A 1, A 1 a 2 A 2,, A n 1 a n B szabályokat, ahol A 1, A 2,, A n 1 új nemterminális szimbólumok (iii) A a 1 a 2 a n, P-beli szabály esetén (n 1, a 1, a 2,, a n Ʃ), vegyük fel P'-be az A a 1 A 1, A 1 a 2 A 2,, A n 1 a n A n, A n λ szabályokat, ahol A 1, A 2,, A n új nemterminálisok (Megj.: Az utolsó helyettesítés és a nemterm. bevezetése elvileg már elhagyható, triviálisan ekv. nyelvtant kapunk, ami jó az automatához; így C c n megengedhető) Legyen N' az N halmaz és az új nemterm.ok halmazának egyesítése. Nyilvánvaló, hogy P'-ben csak a kívánt alakú szabályok fognak szerepelni. Teljesül az is, hogy L(G) = L(G'), ugyanis: Minden P-beli szabály helyettesíthető P'-beli szabályok egy sorozatával, tehát olyan szó, ami G-ben levezethető S-ből, levezethető lesz G'-ben is. 7 Szabályredukció Segédállítás 2 bizonyítás folyt. (Minden 3-típusú nyelvtanhoz megadható olyan szintén 3-típusú megfelelő, amelyre L(G) = L(G'), és P'-ben minden szabály A ab vagy A λalakú) Megfordítva, az S-ből kiinduló és terminális szóban végződő G'-beli levezetésekben alkalmazott szabályok helyettesíthetők P-beli szabályokkal (általában kevesebbel). Így ugyanaz a terminális szó levezethető lesz G-ben is. Példa (a segédállításban szereplő konstrukció bemutatása) Legyenek a G nyelvtan szabályai a következők: S aba bb, A bbb λ, B ab ba. A segédállításban szereplő konstrukciót alkalmazva a következő G' nyelvtant kapjuk: S aa 1, A 1 ba ((ii) pont esete), S bb (változatlan), A ba 2, A 2 bb, A λ, B aa 3, A 3 ba 4, A 4 λ((iii) pont esete) B ba. 8

5 A reguláris nyelvek osztályának jellemzése Állítás 2: Tetszőleges Ʃ ábécé feletti 3-típusú nyelv felismerhető (véges, elfogadó) automatával Bizonyítás (F. Z., P. A., K. G.): Vegyünk egy Ʃ ábécé feletti 3-típusú nyelvet. Ekkor L = L(G), valamely G = (N, Ʃ, P, S) 3-típusú nyelvtanra. Az állítás igazolásához megadunk egy olyan M = (Q, Ʃ, δ, q 0, F) automatát, amelyre L(M) = L(G). Az előző segédállítások értelmében feltehető, hogy G láncszabálymentes, és minden P-beli szabály A ab vagy A λalakú. Konstruáljuk meg M-et a következők szerint: Q = N, (az automata állapotai a nemterminális szimbólumok) (példa ábra: F. Z. 30.) q 0 = S, F = {A N A λ P}, (a végállapotok jobboldala az üres szó) és minden A N és a Ʃ esetén δ(a, a) = {B N A ab P}. (itt az automata lehet nemdeterminisztikus) A továbbiakban megmutatjuk, hogy az automata és a nyelvtan működése ekvivalens, azaz tetszőleges n 1, A, B N és w Ʃ* szó esetén a következő érvényes: A n wb akkor és csak akkor áll fenn, ha (A, w) 1 n (B, valami ), továbbá, ha a B λhelyettesítés alkalmazható, akkor a valami = λ; azaz a nyelvtan segítségével A-ból pontosan akkor vezethető le n (ill. n + 1) lépésben a w szó, ha az automata az A állapotból a w jelsorozat elolvasása után (n lépésben) a B elfogadó állapotba kerül. (Vegyük észre, hogy a nyelvtan szabályai miatt minden egyes lépésben pontosan egy darab nemterminális szimbólumot dolgozunk fel a helyettesítésnél!) 9 A reguláris nyelvek osztályának jellemzése Állítás 2 bizonyítás folyt.* (Minden 3-típusú nyelv felismerhető véges automatával) Az ekvivalenciát n szerinti teljes indukcióval látjuk be. n = 1-re az állítás a következőt jelenti (most w = a): A 1 ab akkor és csak akkor áll fenn, ha (A, a) 1 1 (B, valami ), és ha a B λhelyettesítés alkalmazható, akkor a valami = λ; azaz: A nemterminálisból pontosan akkor vezethető le a, ha az A állapotból a elolvasása után a B elfogadó állapotba kerülünk. Ez a definícióból direkt módon következik. (Megj.: ha w > 1, akkor a levezetés nem lehet sikeres, és nem is juthatunk még végleg elfogadó állapotba.) Tfh. az ekvivalencia teljesül n-ig. (Tehát: addig minden szóra az automata és a nyelvtan működése ekvivalens legfeljebb n hosszú szavak elfogadása lehetséges.) Vizsgáljuk meg a n + 1 és 1 n + 1 eseteket! Ehhez legyen az automata által vizsgált/t-beli szó w úgy, hogy w > n. (A w n szavakat már feldolgoztuk; az indukciós feltevés szerint a levezetés pont akkor volt sikeres, ha egyúttal elfogadó állapotba is jutottunk.) Tegyük most fel, hogy éppen n lépést végeztünk el eddig; legyen továbbá w = w 1 w 2, w 1 = n, a levezetés aktuális állapota w 1 A, és nézzük az n + 1. lépést. Ekkor a nyelvtannál egy új helyettesítés következik, az automatánál pedig egy új állapotváltás. (Ha csak A λhelyettesítés létezne, akkor az indukciós feltevés szerint már készen lennénk, w 2 = λ-val.) Így tehát létezik más szabály is, legyen ez A ab, és ezt alkalmazzuk. Ekkor az automatának (a konstrukció alapján) létezik δ(a, a) = B átmenete, és tovább is fog lépni A-ból. Szintén a konstrukció alapján, ha a B λhelyettesítés alkalmazható, akkor az automata átléphet a (B,λ) konfigurációba (B elfogadó állapot; a beolvasás véget ért sikeresen). Ha csak B bc alakú helyettesítés alkalmazható, akkor az n + 2. lépés következik. Ezzel beláttuk, hogy a nyelvtan és az automata működése a következő lépésben is ekvivalens. 10

6 Ekvivalens reguláris nyelvtan megadása véges automatához (Eml.: A 3-típusú nyelvek osztálya és a véges automatákkal felismerhető nyelvek osztálya megegyezik) Feladat: Adjunk meg az A = ({q 0 }, {a, b}, δ, q 0, {q 0 }); δ(q 0, a) = {q 1 }, δ(q 0, b) = {q 2 }, δ(q 1, a) = {q 0 }, δ(q 2, b) = {q 1 } véges (elfogadó) automatához vele ekvivalens G reguláris nyelvtant! Kieg: Rajzoljuk is le az automatát! Itt N = Q (a nemterm.ok halmaza az automata állapothalmaza), T = I (a terminálisok halmaza az automata bemenő jeleinek a halmaza), és S = q 0. A G nyelvtan szabályait két csoportra oszthatjuk. Az első csoport szabályai: átmenetfüggvényből Ha az automata a q i állapotból az x bemenőjel hatására a q j állapotba megy át, akkor a szabályok közé bekerül a q i xq j szabály. A második csoport szabályai: végállapotok alapján Ha a q k állapot szerepel az A automata végállapotainak a halmazában, akkor felvesszük a G nyelvtan szabályai közé a q k λszabályt. Jelen esetben: G = ({q 0 }, {a, b}, q 0, H); H = {q 0 aq 1, q 0 aq 2, q 0 bq 2 aq 0 bq 1, q 0 λ λ}. Ehhez persze léteznek ekvivalens nyelvtanok, de ezt tudjuk könnyen előállítani (Ez egy reprezentatív nyelvtan azok közül, amik az automatával előállíthatók) 11 Ekvivalens reguláris nyelvtan megadása véges automatához További feladatok (ekvivalens reguláris nyelvtan megadása véges automatához) A megoldás során rajzoljuk is le az automatákat! Adjunk meg az A = ({q 0 }, {x, y}, δ, q 0, {q 1 }); δ(q 0, x) = {q 0 }, δ(q 1, y) = {q 0 } véges (elfogadó) automatához vele ekvivalens G reguláris nyelvtant! Megoldás: G = ({q 0 }, {x, y}, q 0, H); H = {q 0 xq 0, q 0 xq 1 yq 0 λ}. Adjunk meg az A = ({q 0 }, {x, y}, δ, q 0, {q 2 }); δ(q 0, x) = {q 1 }, δ(q 0, y) = {q 2 }, δ(q 1, x) = {q 0 }, δ(q 1, y) = {q 1 }, δ(q 2, x) = {q 0 }, δ(q 2, y) = {q 1 } véges (elfogadó) automatához vele ekvivalens G reguláris nyelvtant! Adjunk meg az A = ({q 0, q 3 }, {x, y, z}, δ, q 0, {q 0, q 3 }); δ(q 0, x) = {q 1, q 3 }, δ(q 0, y) = {q 2 }, δ(q 1, z) = {q 0 }, δ(q 2, x) = {q 0 }, δ(q 3, y) = {q 1 } automatához ekvivalens G reg. nyelvtant! Az általános átalakító algoritmus (B. Z.) (Ha M felismeri λ-t is, akkor még kieg. kell) 12

7 Feladat: Adjunk meg a G = ({S, A, B}, {a, b, c}, H, S), ahol H = {S abab, A B, A cacb, B ba, B S, B λ} nyelvtannal ekvivalens véges (üresszó-átmenet nélküli) automatát! Kieg.: Végül rajzoljuk is le az automatát! (Eml.: A nyelvtan átalakítása szükséges) Először megadunk egy G' nyelvtant, ami ekvivalens a G nyelvtannal és nem szerepelnek benne C D alakú szabályok. (Eml.: láncszabályok törlése, Segédáll. 1.) Ehhez két lépésre van szükség. 1. Minden A N-re meghatározzuk azon B N nemterminálisok halmazát, amelyekre A * B úgy, hogy a levezetés közben csak láncszabályokat alkalmaztunk (N A halmazok). Nálunk most: N A = {B, S}, N B = {S}. (S-ből nincs ily módon elérhető nemterminális.) 2. H'-be átvesszük a H szabályhalmaz mindazon szabályait, amelyek nem C D alakúak. Ezekhez hozzávesszük minden B N A -ra a B α alakú (nem lánc)szabályok bal oldalának kicserélésével kapott A α szabályokat is. Jelen esetben: G' = ({S, A, B}, {a, b, c}, H', S), ahol H' = {S abab, A cacb, B ba, B λ, A ba, A λ, A abab, B abab}. 13 Feladat (folyt., ekvivalens véges automata megadása reguláris nyelvtanhoz) (Eddig: G' = ({S, A, B}, {a, b, c}, H', S), ahol H' = {S abab, A cacb, B ba, B λ, A ba, A λ, A abab, B abab}) Ezután megadunk egy G 1 nyelvtant, ami ekvivalens a G' nyelvtannal, és nem szerepelnek benne C c 1 c n és C c 1 C n, n 3 alakú szabályok. (Eml.: 2. Segédállítás alkalmazása; nálunk most: C c n megengedhető) A H' szabályhalmaz ilyen alakú szabályait helyettesítjük új szabályokkal, a többit pedig változtatás nélkül átvesszük a H 1 szabályhalmazba. Helyettesítés: 1. Minden C c 1 c n, n 2 alakú szabályhoz vezessünk be D 1, D 2,, D n 1 új nemterminálisokat; D i -ből fogjuk levezetni a c i+1 c i+2 c n szót. Ehhez az összes C c 1 c n, n 2 alakú szabályt helyettesítsük a következő szabályokkal: C c 1 D 1, D 1 D 2,, D n 2 c n 1 D n 1, D n 1 c n. 2. Minden C c 1 C n, n 3 alakú szabályhoz vezessünk be D 1, D 2,, D n 2 új nemterminálisokat; D i -ből a c i+1 c i+2 C n szót fogjuk levezetni. Ehhez az összes C c 1 C n, n 3 alakú szabályt helyettesítsük a következő szabályokkal: C c 1 D 1, D 1 D 2,, D n 3 c n 2 D n 2, D n 2 c n 1 C n. Jelen esetben: G 1 = ({S, A, B, D 1, D 2, D 3, D 4, D 5 }, {a, b, c}, H 1, S), ahol H 1 = {S ad 1, D 1 bd 2, D 2 ab, A cd 3, D 3 ad 4, D 4 cd 5, D 5 b, B ba, B λ, A ba, A λ, A ad 1, B ad 1 }. 14

8 Feladat (folyt., ekvivalens véges automata megadása reguláris nyelvtanhoz) Végül megadjuk az eredeti G nyelvtannal ekvivalens A véges (elfogadó) automatát. A állapothalmazát úgy kapjuk, hogy G 1 nemterminálisainak a halmazához hozzáveszünk egy új q v állapotot (ez arra szolgál, hogy biztosítsa az elfogadást a D n 1 c n típusú eseteknél). (Ehelyett lehet: új D n nemterminális is) A bemenő jeleinek a halmaza ugyanaz, mint G terminálisainak a halmaza, a kezdőállapot a startszimbólum. A végállapotainak halmaza tartalmaz minden olyan C állapotot, amely szerepelt C λalakú szabályban, valamint tartalmazza az új q v állapotot is. Az automata δ átmenetfüggvényét úgy kapjuk meg, hogy minden H 1 halmazban szereplő C de szabály esetén felvesszük a δ(c, d) = E átmenetet, valamint a C d alakú szabályok esetén a δ(c, d) = q v átmenetet. Jelen esetben: A = ({S, A, B, D 1, D 2, D 3, D 4, D 5, q v }, {a, b, c}, δ, S, {B, A, q v }), ahol δ(s, a) = D 1, δ(a, a) = D 1, δ(a, b) = A, δ(a, c) = D 3, δ(b, a) = D 1, δ(b, b) = A, δ(d 1, b) = D 2, δ(d 2, a) = B, δ(d 3, a) = D 4, δ(d 4, c) = D 5, δ(d 5, b) = q v. (Az automata tekinthető determinisztikusnak, ezért a { } jeleket nem írtuk ki az átmeneteknél.) Kieg.: Rajzoljuk is le az automatát! 15 További feladatok (ekvivalens véges automata megadása reguláris nyelvtanhoz, D. P.) A megoldás végén rajzoljuk is le az automatákat! Adjunk meg a G = ({S, A, B}, {a, b}, H, S), ahol H = {S aa, S bbb, A B, B bs, B aba, B λ} nyelvtannal ekvivalens véges automatát! Megoldás: A = ({S, A, B, D 1, D 2, D 3, q v }, {a, b}, δ, S, {B, A, q v }), ahol δ(s, a) = A, δ(s, b) = D 1, δ(d 1, b) = B, δ(b, b) = S, δ(a, b) = S, δ(b, a) = D 2, δ(a, a) = D 2, δ(d 2, b) = D 3, δ(d 3, a) = q v. Adjunk meg a G = ({S, A, B}, {a, b}, H, S), ahol H = {S aa, S bb, S B, B A, A as, A b} nyelvtannal ekvivalens véges automatát! Adjunk meg a G = ({S, A, B}, {a, b}, H, S), ahol H = {S aaaa, S bbbb, A bs, B as, A aa, B bb} nyelvtannal ekvivalens véges automatát! 16

9 Általános szabályredukciós algoritmus (B. Z.) Adott G = (N, T, P, S) 3-típusú nyelvtan úgy, hogy G láncszabálymentes (Eml.: kiküszöbölő algoritmussal, 6. slide) Az algoritmus előállítja a redukált nyelvtant, amelyben a szabályok A ab vagy A a alakúak (A λis megengedett) N és P is változik Értelemszerűen minden új nemterminális neve különböző Automata létrehozása: lásd következő slide 17 Általános átalakító algoritmus (B. Z.) Adott G = (N, T, P, S) nyelvtan úgy, hogy G láncszabálymentes, és minden P-beli szabály A ab vagy A a alakú Azaz a fenti redukciót már végrehajtottuk (Az A λszabályok kiküszöbölhetők úgy, hogy ekvivalens nyelvtant kapunk, lásd CF nyelvtanok átalakításai, üresszólemma, 12. slidesor, 4 5. old.) Ha meghagyjuk az A λszabályokat, akkor + 1 sor: F-be berakjuk a megfelelő A-kat Az algoritmus előállít egy olyan M = (Q, T, δ, q 0, F) véges automatát, amely ekvivalens G-vel Az automata lehet nemdeterminisztikus 18

10 Gyenge és erős normálforma (kiegészítő anyag*) (A 3-típusú nyelvtan egy másik lehets. tdk. ekvivalens átalakítása, D. P ) Def. szerint: egy lépésben bármennyi terminális bekerülhet a mondatformába, vagyis a szabályok jobb oldalának hossza tetszőleges lehet Most: a jobb oldalak hosszát már az első lépésben korlátozzuk Definíció: Egy reguláris nyelvtan gyenge normálformában van, ha minden szabálya az alábbi alakok egyikébe tartozik: A ab, A B, A a, A λ(ahol A, B N, a T) Tétel: Minden reguláris nyelv generálható gyenge normálformájú reguláris nyelvtannal Megj.: A gyenge normálformára hozás tekinthető a levezetési fák olyan transzformációjának, aminek eredményeként bináris fa áll elő, a levelek száma és sorrendje pedig nem változik Rajzos példa A abac-re, két új nemterminális kell, D 1 és D 2 A gyenge normálformájú alakból kiküszöbölhetőek az A λalakú szabályok is (üresszó-lemma, később tanuljuk, a 2-típusú nyelvtanoknál). Ezzel elérhető: vagy nincs A λalakú szabály, vagy λ így csak az S λszabályban fordul elő, de ekkor S nem szerepel egyik szabály jobb oldalán sem. A láncszabályoktól is meg lehet szabadulni (tudjuk már) Definíció: Egy reguláris nyelvtanról azt mondjuk, hogy erős normálformában van, ha minden szabálya A ab vagy A a alakú Tétel: Minden 3-típusú nyelvtanhoz van vele ekvivalens erős normálformájú 3-típusú nyelvtan Külön köszönet: Pukler A. kollégámnak és a hiv. jegyzetek szerzőinek 19

6. előadás A reguláris nyelvek jellemzése 2.

6. 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észletesebben

5. 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. 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észletesebben

ZH feladatok megoldásai

ZH 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észletesebben

Chomsky-féle hierarchia

Chomsky-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észletesebben

Formális nyelvek - 9.

Formá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észletesebben

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat.

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat. Nyelvtani transzformációk Formális nyelvek, 6. gyakorlat a. S (S) SS ε b. S XS ε és X (S) c. S (SS ) Megoldás: Célja: A nyelvtani transzformációk bemutatása Fogalmak: Megszorított típusok, normálformák,

Részletesebben

Chomsky-féle hierarchia

Chomsky-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észletesebben

A digitális számítás elmélete

A 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észletesebben

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:

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: 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észletesebben

Automaták mint elfogadók (akceptorok)

Automatá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észletesebben

7. előadás Környezetfüggetlen nyelvtanok

7. 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észletesebben

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:

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: 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észletesebben

Formális nyelvek - 5.

Formális nyelvek - 5. Formális nyelvek - 5. 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 Lineáris

Részletesebben

Automaták és formális nyelvek

Automatá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észletesebben

Logika és számításelmélet. 10. előadás

Logika é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észletesebben

9. előadás Környezetfüggetlen nyelvek

9. 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észletesebben

Számításelmélet. Második előadás

Szá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észletesebben

A Turing-gép. Formális nyelvek III.

A 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észletesebben

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat Házi feladatok megoldása Nyelvek felismerése Formális nyelvek, 5. gyakorlat 1. feladat Adjunk a következő nyelvet generáló 3. típusú nyelvtant! Azon M-áris számrendszerbeli számok, melyek d-vel osztva

Részletesebben

9. előadás Veremautomaták 1.

9. előadás Veremautomaták 1. 9. előadás 1. Dr. Kallós Gábor 2014 2015 1 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

Részletesebben

Atomataelmélet: A Rabin Scott-automata

Atomataelmé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észletesebben

Véges automaták, reguláris nyelvek

Vé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észletesebben

Feladatok. 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. 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észletesebben

A 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 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észletesebben

MintaFeladatok 1.ZH Megoldások

MintaFeladatok 1.ZH Megoldások Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) 1. feladat L1 = {ab,ba,b} L2=b*ab* L3 = {a, bb, aba} L1L3 = {aba, abbb, ababa, baa, babb, baaba, ba, bbb, baba} (ab+b)*

Részletesebben

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Formá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észletesebben

MintaFeladatok 1.ZH Megoldások

MintaFeladatok 1.ZH Megoldások Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) 1. feladat L1 = {ab,ba,b} L2=b*ab* L3 = {a, bb, aba} L1L3 = {aba, abbb, ababa, baa, babb, baaba, ba, bbb, baba} (ab

Részletesebben

6. előadás Környezetfüggetlen nyelvtanok/1.

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észletesebben

Formá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) 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észletesebben

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

A 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észletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2017. ősz 1. Diszkrét matematika 2.C szakirány 2. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.

Részletesebben

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

Emlé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észletesebben

definiá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.

definiá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észletesebben

Alap fatranszformátorok II

Alap 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észletesebben

Formális nyelvek és automaták

Formális nyelvek és automaták Formális nyelvek és automaták Nagy Sára gyakorlatai alapján Készítette: Nagy Krisztián 2. gyakorlat Ismétlés: Megjegyzés: Az ismétlés egy része nem szerepel a dokumentumban, mivel lényegében a teljes 1.

Részletesebben

Formális nyelvek és fordítóprogramok http://www.ms.sapientia.ro/~kasa/formalis.htm Könyvészet 1. Csörnyei Zoltán, Kása Zoltán, Formális nyelvek és fordítóprogramok, Kolozsvári Egyetemi Kiadó, 2007. 2.

Részletesebben

Formális nyelvek és automaták előadások

Formá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észletesebben

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

Felismerhető 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észletesebben

Deníciók és tételek a beugró vizsgára

Dení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észletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 3. estis képzés 2016. ősz 1. Diszkrét matematika 3. estis képzés 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Dicsőségtabló Beadós programozási feladatok

Dicső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észletesebben

Diszkrét matematika 2.

Diszkrét matematika 2. Diszkrét matematika 2. 2018. szeptember 21. 1. Diszkrét matematika 2. 2. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. szeptember 21. Gráfelmélet

Részletesebben

Fogalomtár a Formális nyelvek és

Fogalomtá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észletesebben

Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant!

Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant! Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant! Megoldás: S b A a Ezzel a feladattal az volt a gondom, hogy a könyvben tanultak alapján elkezdtem levezetni,

Részletesebben

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma

Kö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észletesebben

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma

Kö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észletesebben

akonyv 2006/12/18 11:53 page i #1 Formális nyelvek és fordítóprogramok

akonyv 2006/12/18 11:53 page i #1 Formális nyelvek és fordítóprogramok akonyv 2006/12/18 11:53 page i #1 Csörnyei Zoltán Kása Zoltán Formális nyelvek és fordítóprogramok akonyv 2006/12/18 11:53 page ii #2 akonyv 2006/12/18 11:53 page iii #3 Csörnyei Zoltán Kása Zoltán FORMÁLIS

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az

Részletesebben

Diszkrét matematika I.

Diszkrét matematika I. Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 8. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Elemi számelmélet Diszkrét matematika I. középszint

Részletesebben

A digitális számítás elmélete

A 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észletesebben

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés Diszkrét matematika 2. estis képzés 2016. tavasz 1. Diszkrét matematika 2. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 8. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

MintaFeladatok 2.ZH Megoldások

MintaFeladatok 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észletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 3. estis képzés 2016. ősz 1. Diszkrét matematika 3. estis képzés 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Csempe átíró nyelvtanok

Csempe átíró nyelvtanok Csempe átíró nyelvtanok Tile rewriting grammars Németh L. Zoltán Számítástudomány Alapjai Tanszék SZTE, Informatikai Tanszékcsoport 1. előadás - 2006. április 10. Képek (pictures) I. Alapdefiníciók ábécé:

Részletesebben

Diszkrét matematika I.

Diszkrét matematika I. Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 10. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Felhívás Diszkrét matematika I. középszint 2014.

Részletesebben

Nyelv 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.

Nyelv 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észletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2015. tavasz 1. Diszkrét matematika 2.C szakirány 1. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu Komputeralgebra Tanszék 2015. tavasz Gráfelmélet Diszkrét

Részletesebben

Teljes visszalépéses elemzés

Teljes visszalépéses elemzés Teljes visszalépéses elemzés adott a következő nyelvtan S» aad a A» b c elemezzük a következő szöveget: accd» ccd ddc S S a A d a A b c d a c c d a c c d Teljes visszalépéses elemzés adott a következő

Részletesebben

A 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 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észletesebben

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István ALGEBRAI NYELV- ÉS KÓDELMÉLET Babcsányi István 2013 Tartalomjegyzék ELŐSZÓ................................. 5 I. NYELVEK 7 1. Nyelvek algebrája 9 1.1. Műveletek nyelvekkel........................ 9 1.2.

Részletesebben

Az informatika elméleti alapjai 2 elővizsga december 19.

Az 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észletesebben

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6. Programkonstrukciók Definíció Legyen π feltétel és S program A-n. A DO A A relációt az S-ből a π feltétellel képezett ciklusnak nevezzük, és (π, S)-sel jelöljük, ha 1. a / [π] : DO (a) = { a }, 2. a [π]

Részletesebben

10. előadás. Konvex halmazok

10. előadás. Konvex halmazok 10. előadás Konvex halmazok Konvex halmazok Definíció: A K ponthalmaz konvex, ha bármely két pontjának összekötő szakaszát tartalmazza. Állítás: Konvex halmazok metszete konvex. Konvex halmazok uniója

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2016. ősz 1. Diszkrét matematika 1. középszint 8. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

Formális nyelvek előadások tavaszi félév

Formá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észletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

Formális nyelvek és automaták

Formá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észletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. estis képzés 017. ősz 1. Diszkrét matematika 1. estis képzés 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor  compalg.inf.elte.hu/ nagy Diszkrét matematika 1. középszint 2016. ősz 1. Diszkrét matematika 1. középszint 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

Nyelvek és automaták augusztus

Nyelvek é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észletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy 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észletesebben

Programozási módszertan

Programozá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észletesebben

Diszkrét matematika 1. estis képzés

Diszkrét matematika 1. estis képzés Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján

Részletesebben

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

5. 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észletesebben

1. előadás: Halmazelmélet, számfogalom, teljes

1. 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észletesebben

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

Turing-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észletesebben

A2. Véges automata fogalma, nemdeterminisztikus és determinisztikus automaták ekvivalenciája.

A2. Véges automata fogalma, nemdeterminisztikus és determinisztikus automaták ekvivalenciája. A1. Generatív nyelvtan definíciója, levezetés, nyelvtan által generált nyelv fogalma. Chomsky nyelvosztályok. DEF: Generatív nyelvtannak egy G=(N,Σ,P,S) rendezett négyest nevezünk, ahol: N nemterminális

Részletesebben

Algoritmuselmélet 12. előadás

Algoritmuselmé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észletesebben

Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged

Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged Magas szintű matematikai tehetséggondozás Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged Ahhoz, hogy egy diák kimagasló eredményeket érhessen el matematika versenyeken, elengedhetetlenül

Részletesebben

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

NP-teljesség röviden

NP-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észletesebben

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz Diszkrét matematika 1. estis képzés 2015. ősz 1. Diszkrét matematika 1. estis képzés 6. előadás Mérai László diái alapján Komputeralgebra Tanszék 2015. ősz Elemi számelmélet Diszkrét matematika 1. estis

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor  compalg.inf.elte.hu/ nagy Diszkrét matematika 3. estis képzés 2016. ősz 1. Diszkrét matematika 3. estis képzés 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Turing-gép május 31. Turing-gép 1. 1

Turing-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észletesebben

A Számítástudomány alapjai

A 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észletesebben

Formális Nyelvek - 1. Előadás

Formális Nyelvek - 1. Előadás Formális Nyelvek - 1. Előadás 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

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2015. ősz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2015.

Részletesebben

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig

Részletesebben

1. A Hilbert féle axiómarendszer

1. A Hilbert féle axiómarendszer {Euklideszi geometria} 1. A Hilbert féle axiómarendszer Az axiómarendszer alapfogalmai: pont, egyenes, sík, illeszkedés (pont egyenesre, pont síkra, egyenes síkra), közte van reláció, egybevágóság (szögeké,

Részletesebben

A 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. 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észletesebben

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 7. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Adatbázisok elmélete 12. előadás

Adatbázisok elmélete 12. előadás Adatbázisok elmélete 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 http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

1. tétel - Gráfok alapfogalmai

1. tétel - Gráfok alapfogalmai 1. tétel - Gráfok alapfogalmai 1. irányítatlan gráf fogalma A G (irányítatlan) gráf egy (Φ, E, V) hátmas, ahol E az élek halmaza, V a csúcsok (pontok) halmaza, Φ: E {V-beli rendezetlen párok} illeszkedési

Részletesebben

Diszkrét matematika 2.

Diszkrét matematika 2. Diszkrét matematika 2. Mérai László előadása alapján Készítette: Nagy Krisztián 1. előadás Gráfok halmaza, gráf, ahol a csúcsok halmaza, az élek illesztkedés reláció: illesztkedik az élre, ha ( -él illesztkedik

Részletesebben

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK 30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK A gráfos alkalmazások között is találkozunk olyan problémákkal, amelyeket megoldását a részekre bontott gráfon határozzuk meg, majd ezeket alkalmas módon teljes megoldássá

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok 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észletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy 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 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 207. tavasz. Diszkrét matematika 2.C szakirány 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 207.

Részletesebben