Számítástudomány Gyakorlati Jegyzet I. - Reguláris Nyelvek

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

Download "Számítástudomány Gyakorlati Jegyzet I. - Reguláris Nyelvek"

Átírás

1 Számítástudomány Gyakorlati Jegyzet I. - Reguláris Nyelvek Hajgató Tamás 2014 Lektorálta: Dr. Iván Szabolcs Ezen oktatási segédanyag elkészítése a TÁMOP A/ azonosító számú Nemzeti Kiválóság Program - Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése országos program című kiemelt projekt keretében zajlott. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. A Motiváció Kávéautomata VS Pacman Tegyük fel, hogy adott egy kávéautomata, mely 100 Ft-osokat és 50 Ft-osokat fogad el. Egy pohár kávé ára 150 Ft. Egy pohár tea ára 100 Ft. Amint 150 Ft-ot bedobtunk az automata nem engedi, hogy több pénzt bedobjunk, csak azt engedi, hogy kiválasszuk, hogy kávét vagy teát kérünk. Hogyan lehetne ezen automata működését modellezni? Például így: A pacman játék egy labirintusban zajlik. A labirintust szellemek lakják, melyek véletlenszerű mozgást végeznek. Továbbá, a labirintusban bogyók illetve szuperbogyók vannak elhelyezve. A játékos célja az, hogy pacman-t a labirintuson keresztül vezérelje úgy, hogy az minél több bogyót megegyen és ne találkozzon szellemmel. Ha pacman szuperbogyót eszik, akkor ennek hatására egy rövid ideig a szellemeket is megeheti. A szellemek viselkedését leíró mesterséges intelligenciának tehát négy lehetséges állapota van: 1

2 1. véletlenszerű bolyongást végez; 2. pacman-t üldözi, amikor látja; 3. pacman elől menekül, amikor az szuperbogyót evett; 4. visszatér a szellembázisra, hogy regenerálódjon egy traumatikus élmény után. Hogyan lehetne ezen mesterséges intelligencia működését modellezni? Hát, mondjuk így: A közös a kávéautomatában és pacman-ben az, hogy címkézett gráfokkal lehet modellezni bizonyos ágensek működését. Ilyen gráfokkal, tulajdonságaikkal fogunk foglalkozni. A Módszer A való életben ha valakivel vitatkozunk, könnyen előfordulhat, hogy ahelyett, hogy arról lenne szó, hogy mi hogyan működik, vagy hogy mi hogyan van valójában, a vita egy pont után önértékelési kérdésbe csap át. Azaz valamelyik félnek kell, hogy igaza legyen, mert különben rosszul fogja érezni magát, mert nem tudja feldolgozni azt, hogy tévedett. Valaki például próbálhat úgy védekezni, hogy módosítja a szavak jelentését, majd úgy állítja be, hogy azt nem úgy értette, az alatt valami mást értett, azok a szavak nem azt jelentik. Hogy ezt elkerüljük szükségünk lesz definíciókra : meg kell egyeznünk, hogy mely szavak pontosan mit jelentenek. Azt is csinálhatja valaki, hogy annyit beszél, hogy ne hagyja a másikat szóhoz jutni vagy olyan hangsúlyt használ a véleménye hangoztatásához, mintha valami nagy bölcsességet mondana. Ekkor valójában pöffeszkedően tekintélyesebbnek állítja be magát vitapartnerénél, hogy ne legyen szabad kritizálni azt, amit mond. Hogy ezt elkerüljük, kifejezetten támogatni fogjuk azt, ha valaki kételkedik, kérdéseket tesz fel, kritizál. Esetleg csinálhatja azt valaki, hogy gyorsan tereli a témát, hogy ne derüljön ki, hogy nincs igaza. Ezt is csak azért teszi, mert bizonytalannak érzi magát - úgy érzi, hogy nincs igaza. Hogy ezt elkerüljük, kifejezetten támogatni fogjuk azt, ha valaki teljesen, a legapróbb részletekig elmenően végiggondol valamit, ha részletkérdésekkel szöszmötöl. Ha vitapartnerünk már mindegyik efféle módszert bevetette és még mindig nem nyerte meg a vitát, akkor a végső védekezésképp lemond az egész álláspontjáról és úgy állítja be, mintha a vita központi kérdése érdektelen lenne a számára. 2

3 Hasonlóan, ahogy a bukásra álló diák is úgy próbál meg védekezni, hogy bemagyarázza saját magának, hogy értéktelen az egész amit tanítanak - így valójában tehát az az okosabb, aki nem tanulja meg az anyagot. 1 Ilyen esetekben sokszor arról van szó, hogy valaki emberileg nem elég erős ahhoz, hogy vitatkozni lehessen vele, ezért az érdemi vita helyett levegőbe beszélés történik. De ha bármi olyasmit akarunk csinálni, ami a valóságban is működik, ragaszkodni kell hozzá, hogy egy vita soha ne csapjon át önértékelési kérdésbe és mindig felfedezzük azt, hogy hogyan is van valami, ne pedig megszavazzuk, vagy előre eldöntsük azt, csak az érzéseinkre hagyatkozva. A gyakorlat során megállapítjuk majd, hogy a definícióinkat használva milyen állítások igazak - azaz tételeket fogunk felfedezni, feladatokat megoldani. Első gyakorlat Nyelvek, szavak, műveletek rajtuk Definíció: Ábécének nevezzük szimbólumoknak egy tetszőleges, véges, nemüres halmazát. Példa: Σ={a,b,c} egy ábécé. Σ={a} is ábécé. nem ábécé. Definíció: Legyen Σ egy ábécé. Szavaknak nevezzük a Σ elemeiből képzett a 1 a 2 a n alakú sorozatokat, ahol a 1, a 2,, a n a Σ elemei és n 0. Az n = 0 esetén kapott szót üres szónak hívjuk és ε-al jelöljük. Példa: Legyen Σ={a,b,c} ábécé, ekkor például aaabca,aa,c,abc,ε szavak. Definíció: Legyen Σ egy ábécé. A Σ elemiből képezhető összes szó halmazát Σ -gal jelöljük. Tehát Σ ={a 1 a 2 a n n 0 és a 1,a 2,,a n Σ}. 2 Definíció: Legyenek u és v szavak. A v szó u után írásából kapott szót uv-vel jelöljük és az u és v konkatenációjának nevezzük. Példa: Az aaabca és a cc konkatenációja aaabcacc. Az aaabca és ε konkatenációja aaabca. A cc és az aaabca konkatenációja ccaaabca. Az ε és ε konkatenációja ε. Definíció: Legyen w Σ és n 0. Ekkor w n -el jelöljük azt a szót, amelyet w n-szeri konkatenációjával kapunk. Tehát w 2 =ww és w 3 =www. Speciálisan 3 : w 0 =ε. Példa: a 3 =aaa, (ab) 2 =abab, (abb) 0 =ε. Észrevehető, hogy a konkatenáció asszociatív, azaz (uv)w=u(vw) minden u,v,w Σ szavakra. Továbbá ε egységelem a konkatenációra nézve, azaz εv=v és vε=v minden v Σ szóra. 1. Gondoljunk bele, hogy milyen lenne az élet, ha senki sem foglalkozna tudománnyal. Nem lenne internet, hűtőszekrény, védőoltás, antibiotikum, stb. Számítástudomány nélkül pedig nehézségekbe ütközne programozási nyelveket tervezni, szintaktikus elemzőket ill. fordítóprogramokat írni. Vagy egy olyan programot, amely leellenőrzi, hogy egy repülőgépforgalom irányító rendszerben vagy egy új processzorban végtelen időn belül bekövetkezhet-e hiba. Ez utóbbival foglalkozik a modellvizsgálat, de addig nem jutunk el a kurzuson, hogy azt tárgyaljuk. 2. Σ valójában a Σ által szabadon generált szabad monoid. Csak mondom. 3. Így lehet megjegyezni: w n : a w szót n-szer írjuk le. Tehát, w 0 : a w szót 0-szor írjuk le. 3

4 Feladat: Mely x {a,b} szavakra igaz, hogy ax=xa? Hogyan fogjunk hozzá egy ilyen feladat megoldásához? Először is vegyük észre, hogy nem a feladat nem azt kéri, hogy mutassunk olyan x szót, amelyre ax = xa, hanem azt kéri, hogy mutassuk meg az összeset! Tippek: Lehet választani: 1. x=a n b m, minden n,m 0-ra, 2. x=b m a n, minden n,m 0-ra, 3. x=a n, minden n 1-re, 4. x=a n, minden n 0-ra. Melyik lehet a megoldás? 1. Legyen n=m=1. Ekkor x=a 1 b 1 =ab. Viszont ekkor ax=aab és xa=aba. Tehát ax xa. Ez a lehetőség nem megoldás. 2. Hasonlóan, legyen m = n = 1. Ekkor x = b 1 a 1 = ba. Viszont ekkor ax = aba és xa = baa. Tehát ax xa. Ez a lehetőség sem megoldás. 3. Legyen x = a n, valamilyen n 1-re. Ekkor ax = a n+1 = xa. Jónak tűnik, de megadtuk az összes megoldást? Mi van akkor, ha n = 0? Tehát ha x = a 0 = ε akkor ax = a = xa. A 3-mal a gond az, hogy nem adtuk meg az összes megoldást. 4. Ez már jól néz ki, de honnan is tudhatnánk biztosan, hogy megadtuk az összes megoldást? Csak mert ezúttal úgy látszik, még nem biztos, hogy az összes megoldást megadtuk, nem? Meg kell tanulnunk, hogy hogyan gondolkodjunk úgy, hogy ha el kell dönteni valamiről, hogy igaz-e, helyes eredményre jussunk. Csináljuk azt, hogy állítások egy olyan sorozatát készítjük el, hogy minden állításra igaz legyen, hogy: beláttuk már, hogy igaz; vagy annyira elemi állítás, amelynek érvényességét közvetlenül le lehet ellenőrizni; vagy logikusan következik a megelőző állításokból. Amire most szükségünk van az egy olyan gondolatmenet, amely igazolja, hogy a 4-es lehetőség felsorolja az ax=xa egyenlet *összes* megoldását. (Itt x a változó. ) Ennyi az egész: Megoldás: Ha x = a n, valamilyen n 0-ra, az egyenlőség fennáll. Ha viszont x-ben szerepel b betű, akkor ax-ben az első b betű eggyel jobbra lesz majd, mint xa-ban. Tehát x {a}. Vagyis a helyes megoldás 4. Kész. Könnyű volt? Próbáljuk megtanulni az efféle gondolkodásmódot - még akkor is, ha nehezebb, mint ráérezni a megoldásra, vagy elhinni valamiről, hogy igaz! 4

5 Feladat: Mely x {a,b} szavakra igaz, hogy a) ax=xb? b) axb=xab? c) xbx=xxb? d) xx=x? Megoldás: a) Tetszőleges x-re a bal oldalon eggyel több a-betű szerepel, mint a jobb oldalon, tehát ennek az egyenletnek nincs megoldása. b) Vegyük észre, hogy axb = xab akkor és csak akkor igaz, ha ax = xa, ezt pedig már megoldottuk. c) Vegyük észre, hogy xbx = xxb akkor és csak akkor igaz, ha bx = xb igaz. Egy hasonlót pedig már megoldottunk: x {b}. d) Bármely x-re az egyenlet bal oldalán kétszer annyi betű szerepel, mint a jobb oldalon. Tehát ez az egyenlet csak x=ε esetében lehet igaz... és ebben az esetében igaz is. Definíció: Legyen Σ egy ábécé. Σ részhalmazait nyelveknek hívjuk. Példa: Legyen Σ = {a, b}. {a, aaa, aba, ε} egy nyelv. is egy nyelv. Σ is egy nyelv. {a n n prím } egy nyelv. {a,aba,{aa}} viszont nem nyelv. Miért? Mert {aa} Σ. Definíció: Az L 1 és L 2 nyelvek konkatenáltja az L 1 L 2 nyelv, melyet úgy kapunk, hogy az összes L 1 -beli szót az összes L 2 -beli szóval minden lehetséges módon konkatenáljuk. Azaz: L 1 L 2 ={vw v L 1,w L 2 }. Példa: {aa,ab} {a}={aaa,aba}, {aa,ab} {ε,a}={aa,ab,aaa,aba}, {ε,a}=. Továbbá {a n n 0} {b m m>0}={a n b m n 0, m>0}. Vegyük észre, hogy a konkatenáció nyelvek esetében is asszociatív és egységelemes, az egységelem a csak az üres szót tartalmazó nyelv: {ε}. Az üres nyelv pedig zéruselem, azaz L= =L. Definíció: Legyen L egy nyelv. Ekkor L n jelenti azt a nyelvet, melyet L n-szeri konkatenálásával kapunk. Példa: {ab} 2 ={abab}, {a,ε} 2 ={aa,a,ε}, {a,b} 3 ={aaa,aab,aba,baa,abb,bba,bab,bbb}. Továbbá minden L nyelvre igaz, hogy L 0 ={ε}. Tehát 0 ={ε}. Definíció: Az L nyelv Kleene-iteráltja a következőképpen definiált L nyelv: 5

6 L = k 0 Lk Példa: {a} = k 0 {a}k. {ab,c} = k 0 {ab,c}k. Speciálisan: Σ Kleene-iteráltja Σ, azaz az összes szavak halmaza. Feladat: Mutassunk olyan L nyelvet, amelyre L =L! Megoldás: Például {ε} = k 0 {ε}k = k 0 {εk }={ε}. Feladat: Mutassunk olyan L nyelvet, amelyre ε L! Vagy mutassunk olyat, amelyre L =! Megoldás: Ilyen nincs, hiszen {ε}=l 0 L. Feladat: Igaz-e minden L nyelvre, hogy (L 0 ) =L 0? Megoldás: Az előző két feladat megoldásából következik. Egyrészt L 0 = {ε}, másrészt {ε} = {ε}. Feladat: Igaz-e minden L nyelvre, hogy L =L? Megoldás: Igaz. Ennek igazolásához szükség lesz a bónusz anyagra: Bónusz anyag 5 Feladat: Mutassuk meg, hogy x L akkor és csak akkor, ha létezik m 0 és x 1,,x m L úgy, hogy x=x 1 x 2 x m. Idézzük fel, hogy ha A, B valamilyen állítások, akkor az azzal ekvivalens, hogy: A akkor és csak akkor, ha B (ha A akkor B) és (ha B akkor A) ami az A B és (A B) (B A) igazságtáblázatainak összehasonlításából látszik. Tehát a feladat megoldásához elég az (A B), (B A) állításokat igazolni. Azaz ezen feladat esetében azt kell belátni, hogy ha x L, akkor létezik m 0 és x 1,,x m L úgy, hogy x = x 1 x 2 x m, valamint azt, hogy ha létezik m 0 és x 1,, x m L úgy, hogy x = x 1 x 2 x m, akkor x L. Megoldás: Tegyük fel, hogy létezik m 0 és x 1,,x m L úgy, hogy x=x 1 x 2 x m. Ekkor nyilván x L m. Mivel L = k 0 Lk, ezért L m L, tehát x L. Most tegyük fel, hogy x L. Mivel L = k 0 Lk, van olyan m 0, hogy x L m. Ekkor viszont vannak olyan x 1,x 2,,x m L szavak, hogy x=x 1 x 2 x m. 5. Gyakorlaton nem tértünk ki rá. Azért nem árt elolvasni. 6

7 Feladat: Igaz-e minden L nyelvre, hogy L =L? Megoldás: Igaz. A Kleene-iterált definíciója miatt L L. Most belátjuk, hogy L L is teljesül, ezekből L =L következik. Az előző feladat alapján x L akkor és csak akkor, ha létezik m 0 és x 1,, x m L úgy, hogy x=x 1 x 2 x m. Megint, az előző feladat m-szeri alkalmazásával adódik, hogy ekkor léteznek l 1,., l m 0 számok és x 1,1,x 1,2,,x 1,l1 L, x 2,1,x 2,2,,x 2,l2 L,..., x m,1,x m,2,,x m,lm L szavak úgy, hogy Viszont ekkor x 1 =x 1,1 x 1,2 x 1,l1, x m =x m,1 x m,2.x m,lm. x=x 1 x 2 x m =x 1,1 x 1,2 x 1,l1 x m,1 x m,2 x m,lm. +l De ekkor x L m. Mivel L = l1+l2+ k 0 Lk, következik, hogy x L. Mivel x megválasztása tetszőleges volt, L L teljesül. Feladat: Igaz-e, hogy tetszőleges L 1,L 2 {a,b} nyelvekre a) (L 1 L 2 ) =L 1 L 2? b) (L 1 L 2 ) =L 1 L 2? c) L 1 (L 2 L 1 ) =(L 1 L 2 ) L 1? d) (L 1 L 2 ) L 1 =(L 1 L 2 )? e) (L 2 L 1 ) L 2 =L 1 (L 2 L 1 )? Megoldás: a) Nem igaz. Például ha L 1 ={a} és L 2 ={b}, akkor ab eleme a bal oldalnak, a jobbnak viszont nem. b) Nem igaz. Ha L 1 ={a} és L 2 ={aa}, akkor a bal oldal csak az ε szót tartalmazza, a jobb oldal pedig az {aa} nyelv. c) Igaz. Mivel L 1 (L 2 L 1 ) =(L 1 ) m 0 (L 2 L 1 ) m ezért egy x szó akkor és csak akkor van benne L 1 (L 2 L 1 ) -ban, ha létezik m 0 úgy, hogy x felírható wv 1 x 1 v m x m alakban, ahol w,x i L 1, v i L 2 minden i {1,,m}-re. Mivel (L 1 L 2 ) L 1 = m 0 (L 1 L 2 ) m L 1 egy x szó akkor és csak akkor van benne (L 1 L 2 ) L 1 -ban, ha létezik m 0 úgy, hogy x felírható x 1 v 1 x m v m w alakban, ahol w,x i L 1, v i L 2 minden i {1,,m}-re. 7

8 Figyeljük meg, hogy ezen feltételek ekvivalensek, ebből adódik az egyenlőség. d) Igaz. Csak hasonlítsuk a következőt az előző ponthoz. Mivel minden szó véges hosszú, egy x szó akkor és csak akkor van benne (L 1 L 2 ) -ban, ha létezik m 0 úgy, hogy x felírható wv 1 x 1 v m x m alakban, ahol w, x i L 1, v i L 2 minden i {1,, m}-re. Mivel L 1 L 1, az állítás adódik. e) Igaz. Következik az előző két pontból és abból, hogy kommutatív, azaz L 1 L 2 =L 2 L 1. Második gyakorlat Determinisztikus automaták Idézzük fel, hogy nyelv alatt valamely ábécé feletti szavak halmazának egy részhalmazát értjük. Tehát, ha Σ egy ábécé és L Σ, akkor azt mondjuk, hogy L egy nyelv. Nyelveket különféleképpen meg lehet adni. Ha véges, akkor egyszerűen felsoroljuk az elemeit. Például így: L={aa,ababa,ε} Node mi a helyzet akkor, ha L nem véges? Meg lehet adni végesen egy nem véges nyelvet? Milyen módon? Ez ugye akkor kezd érdekes lenni, ha az ábécénk például a bináris ábécé: {0,1}. Ekkor ugyanis a nyelveink bitsztringeket fognak tartalmazni! Meg lehet adni végtelen sok információt valahogyan véges módon? A véges (determinisztikus) automata definíciója: Véges automata alatt egy (Q,Σ,δ,q 0,F) rendezett ötöst értünk, ahol Q egy véges(!) halmaz, az állapotok halmaza, Σ egy ábécé, az inputábécé, δ:q Σ Q leképezés, az átmenetfüggvény, q 0 Q a kezdőállapot, F Q a végállapotok halmaza. Megjegyzés: Figyeljük meg, hogy δ leképezés, azaz teljesen definiált! (Ez ugye 6 azt jelenti, hogy minden (q,a) Q Σ -ra meg van adva, hogy δ(q,a) Q melyik állapot!) Egy véges automatát meg lehet adni címkézett, irányított gráfként reprezentálva is. Legyen (Q,Σ,δ,q 0,F) egy véges automata. Az automata gráfjának csúcshalmaza Q, élei pedig: minden a Σ-ra és minden q,p Q-ra: az automata gráfjában szerepeljen egy a-val címkézett q p él δ(q, a) = p 6. Diszkrét Matek I. 8

9 Példa: (Q,Σ,δ,q 0,F) egy véges automata, ahol Q={q 0,q 1,q 2 } Σ={a,b} F ={q 1 } valamint δ:q Σ Q a következő táblázattal adott: δ a b q 0 q 0 q 1 q 1 q 0 q 2 q 2 q 2 q 0 Vegyünk egy (Q,Σ,δ,q 0,F) véges automatát. Most definiálni fogunk egy δ-től függő δ :Q Σ Q leképezést. A definíció a következő. Legyen minden q Q-ra, minden a Σ-ra és minden w Σ -ra: δ (q,aw)=δ (δ(q,a),w) és δ (q,ε)=q. Ennyi a definíció. Most pedig megállapítunk valamit a δ leképezésről. Feladat: Egészítsük ki az alábbi összefüggést úgy, hogy igaz legyen a következő állítás: Minden w Σ -ra és minden q,p Q-ra: az automata gráfjában δ (q,w)=p Ellenőrizzük le néhány konkrét példára, hogy igaz-e az így kapott állítás! A δ függvény segítségével definiálni tudjuk a (Q, Σ, δ, q 0, F) automata által felismert nyelv fogalmát. A (Q,Σ,δ,q 0,F) automata a következő nyelvet ismeri fel: {w Σ δ (q 0,w) F} 9

10 Ennyi a definíció 7. Próbáljuk meg értelmezni és mondjuk ki hangosan, hogy mit jelent. Én ezt így fogalmaznám meg: Egy automata által felismert nyelvben pontosan azon szavak vannak, amelyek előállnak úgy, hogy valamelyik, az automata kezdőállapotából egy végállapotába vezető séta éleinek címkéit összeolvassuk. Megjegyzés: Ha az automatát M-el jelöljük, akkor az általa felismert nyelvet L(M)-mel jelöljük. Figyeljük meg, hogy egy adott M automata pontosan egy nyelvet ismer fel. Nem kettőt, egyet. Azt is figyeljük meg, hogy egy nyelv felismerhető több, különböző automatával is. Feladat: Adjunk meg egy automatát, amely az L {a,b} nyelvet ismeri fel, ahol... a) L={ab n a n 0}, b) L={a n n 0}, c) L={a n n>0}, d) L={w w a 0 ( mod 3)}, e) L={w w a 1 ( mod 5)}, f) L k ={w w a =k}, ahol k 0 konstans, g) L={aaba,ε,ba}. Megoldás: a) b) 7. A δ definíciója is jár hozzá. 10

11 c) d) e) 11

12 f) A következő k=2 -re megoldás: Próbáljuk meg ez alapján felírni úgy, hogy k egy paraméter! g) Feladat: Igaz-e, hogy minden véges nyelv felismerhető véges automatával? 8 Feladat: Tegyük fel, hogy az automata állapotainak halmaza végtelen is lehet. Igaz-e ekkor, hogy minden nyelv felismerhető végtelen sok állapottal rendelkező automatával? Megjegyzés: Egyébként például az {a n b n n 0} nem ismerhető fel véges automatával. Majd a hatodik gyakorlaton látni fogjuk, hogy miért. Tétel: Legyen M =(Q,Σ,δ,q 0,F) egy determinisztikus véges automata 9 és L Σ egy nyelv. M akkor és csak akkor ismeri fel L-et, ha M = (Q, Σ, δ, q 0, F) felismeri L-et. Itt F Q az F halmaz Q-ra vett komplementere és L Σ pedig az L nyelv Σ -ra vett komplementere. 8. Az f) megoldásából induljunk ki. 9. Itt fontos az, hogy determinisztikus az automata és az is kell, hogy az átmenetfüggvény teljesen definiált legyen. 12

13 Bónusz anyag Definíció: Legyenek (Q,Σ,δ, q 0,F) és (Q,Σ,δ, q 0,F ) véges automaták. Ezen automaták egy direkt szorzata a következő automata: ahol minden q Q, q Q és a Σ-ra: valamint F Q Q tetszőleges. (Q Q,Σ,δ,(q 0,q 0 ),F ) δ ((q,q ),a)=(δ(q,a),δ (q,a)) Tétel: Legyenek M és M automaták és legyen M egy direkt szorzatuk. Ekkor - ha F =F F akkor L(M )=L(M) L(M ); - ha F =(Q F ) (F Q ) akkor L(M )=L(M) L(M ). Feladat: Adjunk meg egy automatát, mely a következő nyelvet ismeri fel: L ={w {a,b,c} w a 0 (mod2) vagy w a + w c <2}. Megoldás: Megadunk egy M automatát, mely felismeri az L={w {a,b,c} w a 0 (mod2)} nyelvet, majd megadunk egy M automatát, mely felismeri az L ={w {a,b,c} w a + w c <2} nyelvet. Az L nyelvet M és M direkt szorzata ismeri fel, feltéve, hogy F =(Q F ) (F Q ) Legyen M a következő: Legyen M a következő: Ekkor M M a következő: 13

14 Az előző állítás alapján ekkor L =L(M ). A feladat kész. Feladat: Adjunk meg egy automatát, mely az nyelvet ismeri fel. {w w a 0 ( mod 3)} {w w a =k} Megoldás: Hogy is csináljuk? Az uniót és a metszetet le tudjuk kezelni. Meg a komplementert is. A különbséget ki tudjuk fejezni a metszettel és a komplementerrel a dimatból jól ismert A B=A B azonosságot használva, ahol A, B halmazok. Ezt pontosan kiírni házi feladat. Harmadik gyakorlat Nemdeterminisztikus Automaták A nemdeterminisztikus automata definíciója. Nemdeterminisztikus automata alatt egy M =(Q,Σ,δ, q 0,F) rendezett ötöst értünk, ahol Q, Σ, q 0 és F ugyanazok, mint determinisztikus automata esetén, továbbá δ:q Σ P(Q) egy leképezés (vagyis teljesen definiált), ahol P(Q) a Q részhalmazainak halmaza. Nemdeterminisztikus automatákat is meg lehet adni címkézett irányított gráfokkal. Legyen (Q,Σ,δ,q 0,F) egy nemdeterminisztikus automata. Az automata gráfjának csúcshalmaza Q, az élek pedig a következőképpen legyenek definiálva: minden a Σ-ra és minden q,p Q-ra: az automata gráfjában szerepeljen egy a-val címkézett q p él p δ(q, a) A különbség determinisztikus automata gráfjához képest az, hogy nemdeterminisztikus automata esetén egy állapotból egy betű hatására több állapotba is mehet él, vagy akár nullába. Vegyünk egy (Q, Σ, δ, q 0, F) nemdeterminisztikus automatát. Most definiálni fogunk egy δ-tól függő 14

15 δ :Q Σ P(Q) leképezést. A definíció a következő: legyen minden q Q-ra, minden a Σ-ra és minden w Σ -ra: és δ (q,aw)= p δ(q,a) δ (p,w) δ (q,ε)={q}. Megjegyzés: Namost, zavarodottságot okozhat, hogy kétszer definiáltuk δ -ot. De vegyük észre, hogy egyszer determinisztikus automatákra definiáltuk, egyszer pedig nemdeterminisztikus automatákra. Ez kettő, különböző értelmezése a δ jelölésnek - azaz kettő, különböző fogalom. Csak ugyanúgy jelöljük, hogy könnyebb legyen megjegyezni. Ugyanez a helyzet az automata által felismert nyelv fogalmával is. A δ függvény segítségével definiálni tudjuk a (Q,Σ,δ,q 0,F) nemdeterminisztikus automata által felismert nyelv fogalmát. A (Q, Σ, δ, q 0, F) nemdeterminisztikus automata a következő nyelvet ismeri fel: {w Σ δ (q 0,w) F } Ennyi a definíció. Értelmezzük, mondjuk ki hangosan, hogy mit jelent. Ne a krix-kraxot mondjuk ki, hanem, hogy mit jelent. Én ezt így fogalmaznám meg: Egy nemdeterminisztikus automata által felismert nyelvben pontosan azon szavak vannak, amelyek előállnak úgy, hogy valamelyik, az automata kezdőállapotából egy végállapotába vezető séta éleinek címkéit összeolvassuk. Feladat: Adjunk meg egy nemdeterminisztikus automatát, amely az L {a, b} nyelvet ismeri fel, ahol... a) L={ab 2n a n 0} {ab 2n+1 aa n 0}, b) L={uabav u,v {a,b} }, c) L={ab n a m b n,m 0} {ab n a m n 1, m 1 (mod5)}. Megoldás: a) Erre kettő megoldást is adunk. Egyik: 15

16 Másik: b) c) Intuitív magyarázat: mi a lényeges különbség determinisztikus és nemdeterminisztikus automata között? Egy determinisztikus automata egy q állapotból egy a betű hatására pontosan egy darab q állapotba megy át. Azaz, δ: Q Σ Q egy leképezés, így δ(q,a) a Q egy eleme. Egy determinisztikus automata által felismert nyelv azon szavakból áll, amelyeket az automata feldolgoz úgy, hogy a feldolgozás végén végállapotba kerül. Ezzel szemben nemdeterminisztikus automata esetén δ: Q Σ P(Q). Így δ(q, a) egy részhalmaza Q-nak. δ(q, a) elemei azon állapotok, amelyekbe az automata átmehet a q-ból a betűt olvasva. Egy nemdeterminisztikus automata által felismert nyelv azon szavakból áll, melyeket fel tud dolgozni úgy, hogy a feldolgozás végén végállapotba kerüljön. Fontos! Az imént leírtak nem definíciók, csak intuitív magyarázat! 10 A definíciót nézzük le az előadásfóliákról/jegyzetből/órán elmondtam! Csak akkor érthetjük meg! 10. Az egyik különbség a kettő között az, hogy ha a definíciót kell leírni akkor az intuitív magyarázat nulla pontot ér. 16

17 A spontán átmenetekkel ellátott nemdeterminisztikus automata definíciója. Spontán átmenetekkel ellátott nemdeterminisztikus automata alatt egy M =(Q, Σ, δ, q 0, F) rendezett ötöst értünk, ahol Q, Σ, q 0 és F ugyanazok, mint nemdeterminisztikus automata esetén, továbbá δ:q Σ ε P(Q) egy leképezés (vagyis teljesen definiált), ahol P(Q) a Q részhalmazainak halmaza. Itt és ez a lényeg: Σ ε =Σ {ε} Intuitív magyarázat: mi a lényeges különbség nemdeterminisztikus és spontán átmenetekkel ellátott nemdeterminisztikus automata között? Hát az, hogy az utóbbiban megengedettek az ε- átmenetek is. Vagyis nem csak betűvel, hanem ε-nal címkézett élek is szerepelhetnek a gráfjában. A spontán átmenetekkel ellátott automata által felismert nyelv fogalmát hasonlóan definiáljuk mint (spontán átmenetek nélküli) nemdeterminisztikus automata esetén: a kezdőállapotból végállapotokba vezető utakban szereplő élek címkéit olvassuk össze. Felmerül a kérdés, hogy minden nyelv, amely felismerhető spontán átmenetekkel ellátott nemdeterminisztikus automatával, felismerhető-e determinisztikus automatával; és fordítva. A válasz mindkettő esetben igen! Ha M egy nemdeterminisztikus automata és δ(q, a) minden esetben pontosan egyelemű, akkor ez az automata (lényegében) determinisztikus. Tehát a determinisztikus automaták pont azon nemdeterminisztikus automaták, melyekre igaz, hogy δ(q, a) pontosan egyelemű, minden q állapot és a betű esetén. Vagyis minden determinisztikus automata által felismerhető nyelv felismerhető nemdeterminisztikus automatával is. 11 Minden nemdeterminisztikus automata tekinthető spontán átmenetekkel ellátott nemdeterminisztikus automatának, ahol δ(q, ε) = minden q állapot esetén. Vagyis minden nemdeterminisztikus automata által felismerhető nyelv felismerhető spontán átmenetekkel ellátott nemdeterminisztikus automatával is. Fordítva: adott egy M spontán átmenetekkel ellátott nemdeterminisztikus automata. Az érdekel bennünket, hogy létezik-e egy olyan P(M) determinisztikus automata, melyre igaz, hogy ugyanazt a nyelvet ismeri fel, mint M......ami azt illeti, M alapján meg is lehet adni egy ilyen P(M)-et. Így: Legyen M = (Q, Σ, δ, q 0, F) egy tetszőleges, spontán átmenetekkel ellátott nemdeterminisztikus automata. Továbbá, legyen P(M)=(P(Q),Σ,δ,Q 0,F ), ahol Q 0 ={q 0 } és F ={X P(Q) X F }, δ :P(Q) Σ P(Q), δ (Y,a)= q Y δ(q,a), 11. δ(q, a) = p determinisztikus automatára δ(q, a) ={p} nemdeterminisztikus automatára 17

18 ahol minden X P(Q)-ra X az X ε-lezárása: X =X {q Q létezik q X, amelyből elérhető q; csak ε-átmeneteket használva} Vagyis X -ot úgy kapjuk X-ből, hogy hozzávesszük X-hez azokat az állapotokat, amelyek ε- átmenetekkel elérhetőek valamely X-beli állapotból. Biztos mindenki érti, de csak hogy megjegyezzük még jobban leírom: q X δ(q,a) a q X δ(q,a) ε-lezárása. Tétel: L(M)=L(P(M)). Proof. Legyen w Σ. w hosszára való teljes indukcióval kell igazolni, hogy: minden S P(Q)-ra: δ (S,w)= s S δ (s,w) (1) Ha w hossza 1, akkor w egyetlen betű. Ekkor viszont (1) éppen δ definíciója. Most tegyük fel, hogy (1) teljesül minden n hosszú w szóra, ahol n 1. Legyen a Σ, w Σ és X P(Q). Tegyük fel, hogy w hossza n. Ekkor δ (X,aw)=δ (δ (X,a),w) Értelmezzük a képletet apránként. Itt δ a P(M) automata átmenetfüggvénye. δ (X, a) az az állapot, amelybe P(M) kerül az X állapotból a betű hatására. Az indukciós hipotézis miatt δ (X,aw)=δ (δ (X,a),w)= s δ (X,a) δ(s, w) δ definíciója miatt pedig ahol δ definíciója miatt δ (s,w)= s δ (X,a) δ (s,w)= s q X δ(q,a) s q X δ(q,a) δ (s,w) q X δ (q,aw) Ezzel igazoltuk (1)-et w hosszára való teljes indukcióval. Mivel P(M) determinisztikus, ezért ezen tétel alapján minden spontán átmenetekkel ellátott nemdeterminisztikus M automatához létezik olyan determinisztikus P(M), hogy M ugyanazt a nyelvet ismeri fel, mint P(M). 18

19 Példa: Legyen M =({q 0,q 1 },{a,b},δ,q 0,{q 0 }), ahol δ a b ε q 0 {q 0,q 1 } {q 0 } q 1 {q 1 } {q 0 } Ekkor L(M)={a,b} Továbbá P(M)=(P({q 0,q 1 }),{a,b},δ,q 0,F ), ahol Q 0 ={q 0 }={q 0 }, F ={{q 1 },{q 0,q 1 }} és P({q 0,q 1 })={,{q 0 },{q 1 },{q 0,q 1 }}, δ ({q 0 },a)= q {q 0 } δ(q,a)=δ(q 0,a)={q 0,q 1 }, δ ({q 0 },b)= q {q 0 } δ(q,b)=δ(q 0,b)={q 0 }, δ (,b)= δ(q,b)= =, q δ ({q 1 },a)= q {q 1 } δ(q,a)=δ(q 1,a)= =, δ ({q 1 },b)= q {q 1 } δ(q,b)=δ(q 1,b)={q 1 }={q 0,q 1 }, valamint δ ({q 0,q 1 },a)= q {q 0,q 1 } δ(q,a)=δ(q 0,a) δ(q 1,a)={q 0,q 1 } ={q 0,q 1 } és δ ({q 0,q 1 },b)= q {q 0,q 1 } δ(q,b)=δ(q 0,b) δ(q 1,b)={q 0 } {q 1 }={q 0,q 1 }. Az előző tétel alapján ekkor L(M)=L(P(M)). Azaz L(P(M))={a,b}. Vegyük észre, hogy elég P(M)-nek az összefüggő részét venni, azaz azoktól az állapotoktól megszabadulhatunk, amelyek nem érhetőek el a kezdőállapotból. Továbbá, ha megfigyeljük δ ({q 0,q 1 },a)=δ ({q 0 },a) δ ({q 1 },a) és δ ({q 0,q 1 },b)=δ ({q 0 },b) δ ({q 1 },b). 19

20 Hmm. Lemma. Legyen (Q, Σ, δ, q 0, F) egy spontán átmenetekkel ellátott nemdeterminisztikus automata és X,Y Q. Ekkor X Y = X Y. Bizonyítás vázlat. Figyeljük meg, hogy minden q Q-ra igaz, hogy: (q Q-hoz létezik q X Y amelyből elérhető q csak ε-átmeneteket használva) akkor és csak akkor, ha (q-hoz létezik q X, melyre igaz, hogy q -ből elérhető q csak ε-átmeneteket használva, vagy q-hoz létezik q Y, melyre igaz, hogy q -ből elérhető q csak ε-átmeneteket használva) Tehát az előző lemma alapján a példában δ ({q 0, q 1 }, a)-t nem kell kiszámítani, ha már megvan δ ({q 0 },a) és δ ({q 1 },a), mert δ ({q 0,q 1 },a)= q {q 0,q 1} δ(q,a)=δ(q 0,a) δ(q 1,a)=δ(q 0,a) δ(q 1,a)=δ ({q 0 },a) δ ({q 1 },a). AHÁN! Tehát két dolgot jegyeztünk meg: 1. elég P(M) összefüggő részét venni, 2. elég egyelemű X-ekre kiszámítani δ (X,a)-t, ebből meg lehet kapni tetszőleges X-ekre. Nézzük meg hát az előbbi példát ezt a két pontot észben tartva! Az előző Példa, még egyszer: Legyen M =({q 0,q 1 },{a,b},δ,q 0,{q 0 }), ahol δ a b ε q 0 {q 0,q 1 } {q 0 } q 1 {q 1 } {q 0 } Figyeljük meg, hogy determinisztikus automaták átmenetfüggvényeit is meg lehet adni táblázatos formában. Ezt fogjuk csinálni. Namost {q 0 } = {q 0 } lesz a kezdőállapota P(M)-nek, tehát a δ átmeneti táblázatnak kell legyen egy ilyen sora: δ a b {q 0 } {q 0,q 1 } {q 0 } A táblázat eddigi elemeit a következő egyenlőségek alapján töltöttük ki: 20

21 δ ({q 0 },a)=δ(q 0,a)={q 0,q 1 }, δ ({q 0 },b)=δ(q 0,b)={q 0 }. Látjuk, hogy a kezdőállapotból elérhető {q 0,q 1 }, tehát bővítjük a táblázatunkat: Az új sor onnan jön, hogy δ a b {q 0 } {q 0,q 1 } {q 0 } {q 0,q 1 } {q 0,q 1 } {q 0,q 1 } δ ({q 0,q 1 },a)=δ(q 0,a) δ(q 1,a)={q 0,q 1 }, δ ({q 0,q 1 },b)=δ(q 0,b) δ(q 1,b)={q 0 } {q 0,q 1 }={q 0,q 1 }. Mivel nem keletkezett új állapot, ennyi. Véget ért az algoritmus. Az utolsó táblázattal megadott átmenetfüggvényű automata determinisztikus. Ezen automata állapotainak halmaza: ezek közül {{q 0 },{q 0,q 1 }} {q 0 } kezdőállapot 12 {q 0,q 1 } végállapot 13 Továbbá, ezen automata ugyanazt a nyelvet ismeri fel, mint M és determinisztikus. Megjegyzés. Ha valamiért időközben felvettük volna a {q 1 } állapotot is, a következő táblázatot kaptuk volna: δ a b {q 0 } {q 0,q 1 } {q 0 } {q 1 } {q 0,q 1 } melyet a következő sorok alapján töltöttünk volna ki δ ({q 1 },a)=δ(q 1,a)= = δ ({q 1 },b)=δ(q 1,b)={q 1 }={q 0,q 1 } aztán felvéve végül a {q 0,q 1 } állapotot ezt kaptuk volna itt δ a b {q 0 } {q 0,q 1 } {q 0 } {q 1 } {q 0,q 1 } {q 0,q 1 } {q 0,q 1 } {q 0,q 1 } δ ({q 0,q 1 },a)=δ ({q 0 },a) δ ({q 1 },a)={q 0,q 1 } 12. Q 0 definíciója 13. H definíciója 21

22 δ ({q 0,q 1 },b)=δ ({q 0 },b) δ ({q 1 },b)={q 0 } {q 0,q 1 } tehát a {q 0, q 1 } sorát megkaptuk volna úgy, hogy elemenként összeúniózzuk a {q 0 } és a {q 1 } sorát. Ez a módszer általánosan is működik, az tehát ahhoz, hogy {q 0, q 1 } sorát megkapjuk elég elemenként összeúniózni {q 0 } és {q 1 } sorait. Sokkal praktikusabb viszont az EREDETI táblázatban összeuniózni a sorokat és ott ε-lezárni, cellánként. Ebben a példában {q 1 } felvétele egy plusz állapotot jelentett volna, hiszen {q 1 } nem érhető el {q 0 }-ból. Fölösleges felvenni. Amit még meg akartam mutatni ezzel az az, hogy nem szabad elfelejteni ε-lezárni a halmazokat. Más automatához juthatunk: amely ugyanazt a nyelvet ismeri fel ugyan, de többet dolgoztunk {q 1 } felvétele miatt. Azt még figyeljük meg, hogy amely automata az ábrán van az nem egy determinisztikus automata. Ugyanis az üres halmaz is egy állapot lesz, annak is ki kell tölteni a sorát a táblázatban. Negyedik és ötödik gyakorlat Reguláris kifejezések Eddig automatáztunk, de most visszatérünk a kérdéshez, hogy hogyan lehet egy (esetleg nem véges) L Σ nyelvet véges eszközökkel megadni. Ezen célból definiáljuk a reguláris kifejezés fogalmát is. A Σ ábécé feletti reguláris kifejezések halmaza az a legszűkebb H halmaz, melyre igaz, hogy: H, minden a Σ betűre: a H, minden R 1,R 2 H-ra: (R 1 +R 2 ), (R 1 R 2 ), (R 1 ) H. Vagyis reguláris kifejezést betűkből és az üres halmazból képezhetünk úgy, hogy össze + -ozunk kettőt, össze -olunk kettőt, vagy meg -ozunk egyet. Legyen R egy Σ feletti reguláris kifejezés. Az R reguláris kifejezés által jelölt R Σ nyelv a következőképpen van definiálva: = a ={a} (R 1 +R 2 ) = R 1 R 2 (R 1 R 2 ) = R 1 R 2 R 1 = R 1 22

23 Vagyis a + az uniót, a a konkatenációt, a pedig a Kleene-iterációt jelöli. Példa: (((a+b) a) + ) reguláris kifejezés {a,b,c} fölött. Az általa jelölt nyelv pedig: (((a+b) a) + ) = ((a+b) a) = ((a+b) a) ={aa,ab} mivel = k 0 k = = 0 ={ε} és (a+b) = a b ={a} {b}={a,b} ((a+b) a) = (a+b) a ={a,b} {a}={aa,ab} valamint {ε}={aa,ab} 0 {aa,ab} Feladat. Írjuk ki expliciten, hogy a reguláris kifejezés mely nyelvet jelöli! Reguláris kifejezések VS automaták ((a+b) (b+a)) (b+a) Vessük össze a reguláris kifejezések által jelölhető nyelveket az automaták által felismerhető nyelvekkel! Két kérdés merül fel: Kérdés 1. Igaz-e, hogy minden reguláris kifejezés által jelölt nyelv felismerhető automatával? Válasz: Igen. Miért is? Lássuk csak: 1., a felismerhetőek automatával, minden a Σ-ra, ugyanis: az üres nyelvet minden olyan automata felismeri, amelynek nincs végállapota, pl.: egy, az egyetlen a betűből álló szót tartalmazó nyelvet felismerő (nemdeterminisztikus) automata pedig: 2. Ha R 1 és R 2 felismerhetőek automatával, akkor R 1 R 2 is: lásd az automaták direkt szorzatát a második órai anyagban. Vagy vegyük az R 1 -et felismerő M 1 és az R 2 -t felismerő M 2 automaták diszjunkt unióját. Vegyünk fel egy új állapotot, legyen ez az így konstruált automata kezdőállapota. Ebből az állapotból M 1 és M 2 kezdőállapotaiba ε-átmenetket húzunk. A megkonstruált automata végállapotai legyenek M 1 végállapotai valamint az M 2 végállapotai. 3. Ha R 1 és R 2 felismerhetőek automatával akkor R 1 R 2 is az: elég az R 1 -et felismerő M 1 és az R 2 -t felismerő M 2 diszjunkt unióját venni, a kezdőállapot legyen M 1 kezdőállapota, a végállapotok legyenek M 2 végállapotai és vegyünk fel ε- átmeneteket M 1 végállapotaiból M 2 kezdőállapotába. 23

24 4. Ha R 1 felismerhető, akkor R 1 is az: elég egy új q^ 0 állapotot bevezetni, legyen ez a kezdőállapot és az egyetlen végállapot is egyben, majd vegyünk fel ε-átmeneteket qˆ 0 -ból az R 1 -et felismerő M 1 kezdőállapotába és annak végállapotaiból qˆ 0 -ba. Feladat: Mutassunk egy, az ((a+b) (a+a)) nyelvet felismerő automatát. Megoldás: Először megadunk egy olyan automatát, amely felismeri az a által jelölt nyelvet. Majd egy olyat, ami felismeri a b által jelölt nyelvet. Majd vesszük a 2. pontban leírt uniós konstrukciót. Ezután a 4. pontban leírt -os konstrukciót. Most pedig kétszer veszünk egy olyan automatát, mely az a által jelölt nyelvet ismeri fel. Most a 2. pontban leírtakat alkalmazzuk ezen a két automatán, hogy kapjunk egy automatát, amely az (a+a) által jelölt nyelvet ismeri fel. 24

25 És most alkalmazzuk a 3. pontban leírt konstrukciót, hogy megkapjunk egy automatát, mely a ((a+b) (a+a)) nyelvet ismeri fel. És a feladat kész is. Kérdés 2. Igaz-e, hogy minden automatával felismerhető nyelv jelölhető reguláris kifejezéssel? Válasz: Igen. Legyen M egy tetszőleges, spontán átmenetekkel ellátott nemdeterminisztikus automata. Meg fogunk adni egy reguláris kifejezést ami azt a nyelvet jelöli amelyet M felismer. Az algoritmus végrehajtása négy lépésben történik: 1. Felveszünk egy új kezdő és egy új végállapotot. Az új kezdőállapotból a régi kezdőállapotba ε-átmenetet húzunk. A régi végállapotokból az új végállapotba ε-átmeneteket húzunk. 2. Az automata gráfjában minden ε-nal címkézett él címkéjét átírjuk -ra 14. A kapott gráf már nem egy automata gráfja, csak egy gráf, melynek az élei reguláris kifejezésekkel címkézettek. Eztán minden be nem húzott él helyébe egy -el 15 címkézett élt húzunk. Ez az utolsó lépést praktikus kihagyni, elég, ha hallucináljuk, hogy be vannak húzva ezek az élek. 3. A belső csúcsokat kilőjük a következő transzformációt használva: ahol a bal oldali gráfot transzformáljuk a jobb oldali gráfra. Itt 1 a csúcs, melyet eltávolítunk és 2, 3 illeszkedő csúcsok. Pontosabban fogalmazva: ha az 1 csúcsot távolítjuk el, akkor minden 2 és 3 csúcsra, úgy, hogy 2-ből megy él 1-be és 1-ből megy él 3-ba, a fenti transzformációt végezzük el. 14. csillaggal! 15. csillag nélkül! 25

26 Fontos! hogy egy csúcs eltávolításakor ezt a transzformációt minden, az adott 1 csúcsra illeszkedő élpárra végrehajtsuk! A 3. lépést addig folytatjuk, amíg nem marad belső csúcs. Azaz addig, amíg csak az 1.-es lépésben újonnan felvett csúcsok maradtak. Ha ez a helyzet áll fent, akkor következik a 4.-es lépés. Az az eset is előfordulhat, hogy a 2 és a 3 csúcsok egybeesnek. 4. Amikor már csak az új kezdő és az új végállapot maradt, egyetlen egy él lesz az új kezdőállapotból az új végállapotba, melynek címkéje egy reguláris kifejezés. Ez a kifejezés azt a nyelvet jelöli, melyet az automata felismer. Egy példán keresztül szemléltetjük, az a legjobb. Induljunk ki a következő automatából: Meg szeretnénk adni egy reguláris kifejezést, mely azt a nyelvet jelöli, amit ez az automata felismer. Az 1. lépést elvégezzük: Most jöhet a 2. lépés: Amint látható, az ε-okat -ra cseréltem. 16 Továbbá, a sok be nem húzott él mind -al van megcímkézve. Nehézségekbe ütközött volna szemléltetni az algoritmust, ha mindet behúzom, úgyhogy ezeket most hallucináljuk oda. Most a 3. lépés következik. Először q0-át lőjük ki: 16. Azért nulla csillagokat látsz, mert könnyebb volt így jelölni a rajzolóprogramban. 26

27 ...megtörtént. Most vegyük észre, hogy a csúnya ( + ( a)) reguláris kifejezés helyett írhatjuk azt is, hogy a, mivel ezek ugyanazt a nyelvet jelölik. Ugyanis a az üres halmazt jelöli, a + az uniónak felel meg, a {ε} nyelvet jelöli és igaz, hogy L {ε}={ε} L=L, bármely L nyelvre. 17 Tehát a fenti gráfot a következőre egyszerűsítjük: Most folytassuk a 3. lépéssel. Ezúttal q1-től szabadulunk meg. 18 A q2-n levő hurokél címkéje azért változott meg, mert az előző gráfban q2-ből megy egy a-val címkézett él q1-be, q1-ből egy b-vel címkézett él q1-be, majd pedig q1-ből c-vel címkézett él q2- be. Tehát q2 q1 q2 illeszkedő élpár, melyen a 3. lépésben leírt transzformáció végrehajtható. Figyeljük meg, hogy a q3 q2 él címkéjén egyszerűsíthetünk. Az eredmény: Már csak egyszer kell végrehajtani a 3. lépésben leírt transzformációt: és kész. A kapott reguláris kifejezés +((a b c) ( +(a b c)) ) melyet egyszerűsítve megkapjuk a feladat megoldását: (a b c) ( +(a b c)) azaz ez utóbbi egy olyan reguláris kifejezés, mely ugyanazt a nyelvet jelöli, amelyet a kiindulási automata felismer Efféle egyszerűsítések a zh-ban is megengedettek. 18. Az, hogy milyen sorrendben távolítjuk el a belső csúcsokat mindegy kell legyen. A végeredmény mindenképpen olyan reguláris kifejezés, mely a kiindulási automata által felismert nyelvet jelöli. 19. Ilyen feladat biztosan lesz a zh-ban. 27

28 Tehát, az eddigieket összefoglalva Tétel. Determinisztikus véges automatákkal pontosan azok a nyelvek ismerhetőek fel, amelyek Ezek pedig pontosan azok a nyelvek, amelyek felismerhetőek nemdeterminisztikus automatákkal. felismerhetőek spontán átmenetekkel ellátott nemdeterminisztikus automatákkal. Ezek pedig pontosan azok a nyelvek, amelyek jelölhetőek reguláris kifejezésekkel. Tehát, ha azt mondom, hogy egy L nyelv regul ris, az azt jelenti, hogy L felismerhető determinisztikus automatával. És azt is jelenti, hogy L felismerhető (spontán átmenetekkel ellátott) nemdeterminisztikus automatával. És még azt is jelenti, hogy L jelölhető reguláris kifejezéssel. Fontos megjegyezni! NEM MINDEGY, hogy azt a szót használom, hogy felismerhet vagy azt, hogy jel lhet. Egy automata felismer nyelvet, nem jelöli! Egy reguláris kifejezés jel l nyelvet, nem felismeri! Ezt ne keverjük már össze a zh-ban! Hatodik gyakorlat Pumpáló Lemma Lemma. Legyen L Σ reguláris nyelv. Ekkor létezik k>0, hogy bármely w L-re: ha w k, akkor léteznek w 1,w 2,w 3 Σ szavak, melyekre igaz, hogy: 1. w=w 1 w 2 w 3, 2. 0< w 1 w 2 k és 0< w 2, 3. minden n 0-ra: w 1 w 2 n w 3 L. Mit is mond ki ez a lemma? Ha adott egy nyelv és az reguláris, akkor létezik olyan k szám, hogy minden k-nál hosszabb szó a nyelvben felbontható w 1 w 2 w 3 alakba úgy, hogy w 2 nem az üres szó és minden n 0-ra w 1 w 2 n w 3 eleme a nyelvnek. Hogyan is lehetne igazolni ezt a lemmát? Legyen L reguláris, ekkor van L-t felismerő determinisztikus automata. Legyen k ezen automata állapotainak száma. Most vegyünk egy w szót, melynek hossza legalább k. Hogyan dolgozza fel ezt a szót az automata? Kezdetben a q 0 kezdőállapotban van, majd egy betű beolvasása után a q 1 -be kerül, majd a q 2 -be,..., majd a q m - be, ahol m = w > k. Összesen tehát legalább k + 1 darab állapotot érint a w feldolgozása közben, lennie kell hát olyan q i és q j állapotoknak, melyek ugyanazon állapotok - a k megválasztása miatt. Ez azt jelenti, hogy az automata q i -ből indulva feldolgoz valami w 2 ( ε) szót, majd a q j = q i -be tér vissza. Ezért lesz igaz, hogy minden n 0-ra w 1 w 2 n w 3 L. A lényeg kb ennyi. Ez a lemma egy olyan tulajdonságot ad, amely többek között reguláris nyelvekre igaz. Ha L reguláris, akkor teljesül rá valami. Ha A igaz, akkor B igaz. Egy A B implikáció pedig akkor igaz, ha a premisszája és a konklúziója is teljesül vagy, ha a premisszája nem teljesül. Vagyis, ha adott egy L Σ és L nem reguláris, akkor tök mindegy, hogy igazak-e rá a lemmában leírt tulajdonságok - amit a lemma állít az igaz, mivel A B premisszája hamis. Ha azonban L reguláris, akkor az A B implikáció premisszája igaz, így a konklúziónak is teljesülnie kell. Tehát, ha valami L nyelvre megmutatjuk, hogy B nem teljesül, akkor A sem teljesülhet. 28

29 Végső soron ez a lemma egy jó eszköz rá, hogy leellenőrizzük valamely nyelvről, hogy reguláris-e: vegyük az L nyelvet és ellenőrizzük le, hogy teljesülnek-e rá a lemma által leírtak 20. Ha nem, akkor L nem lehet reguláris nyelv. Ha igen - akkor L lehet reguláris nyelv is, de nem biztos, hogy az. Feladat: Igazoljuk, hogy az L={a n b n n 0} nyelv nem reguláris! Megoldás: Tegyük fel, hogy L reguláris. Ekkor a pumpáló lemma alapján létezik olyan k > 0, hogy minden w Σ szóra: ha w k akkor vannak w 1,w 2,w 3 Σ szavak, melyekre az 1., 2., 3., tulajdonságok teljesülnek. Nézzük meg w=a k b k -t. Ekkor w L, az L definíciója szerint. Vagyis a pumpáló lemma alapján kell legyenek w 1,w 2,w 3 Σ szavak úgy, hogy 1., 2., 3. teljesülnek. 21 Több eset lehetséges: a) w 2 =a l, valamely l>0-ra, b) w 2 =b j, valamely j>0-ra, c) w 2 =a l b j, valamely l,j>0-ra. Vizsgáljuk meg egyenként ezeket az eseteket! a) Ekkor w 1 w 2 2 w 3 =a k l a 2l b k =a k+l b k, ami nem eleme L-nek. b) Ekkor w 1 w 2 2 w 3 =a k b 2j b k j =a k b k+j, ami nem eleme L-nek. c) Ekkor w 1 w 2 2 w 3 =a k l a l b j a l b j b k j, ami nem eleme L-nek. Vagyis nincsenek w 1,w 2,w 3 szavak úgy, hogy 1., 2., 3. teljesülnek. Ellentmondás. Ebből az következik, hogy a feltevésünk nem teljesül, miszerint L reguláris. Vagyis L nem reguláris. Feladat: Igazoljuk, hogy az L={a 2n b n n 0} nyelv nem reguláris! Megoldás: Tegyük fel, hogy L reguláris. Ekkor a pumpáló lemma alapján létezik olyan k > 0, hogy minden w Σ szóra: ha w k akkor vannak w 1,w 2,w 3 Σ szavak, melyekre az 1., 2., 3., tulajdonságok teljesülnek. Nézzük meg w = a 2k b k -t. Ekkor w L, az L definíciója szerint. Vagyis a pumpáló lemma alapján kell legyenek w 1,w 2,w 3 Σ szavak úgy, hogy 1., 2., 3. teljesülnek. Több eset lehetséges: a) w 2 =a l, valamely l>0-ra, b) w 2 =b j, valamely j>0-ra, 20. Azaz B. 21. Egy pumpáló lemmás feladat megoldásához csak akkor elég az, hogy azt írjuk, hogy 1., 2., 3., teljesülnek, ha ott szerepel a papíron, hogy mit jelölünk 1., 2., 3.-mal. Különben nulla pont a zh-ban. 29

30 c) w 2 =a l b j, valamely l,j>0-ra. Vizsgáljuk meg egyenként ezeket az eseteket! a) Ekkor w 1 w 2 2 w 3 =a 2k l a 2l b k =a 2k+l b k, ami nem eleme L-nek. b) Ekkor w 1 w 2 2 w 3 =a 2k b 2j b k j =a 2k b k+j, ami nem eleme L-nek. c) Ekkor w 1 w 2 2 w 3 =a 2k l a l b j a l b j b k j, ami nem eleme L-nek. Vagyis nincsenek w 1,w 2,w 3 szavak úgy, hogy 1., 2., 3. teljesülnek. Ellentmondás. Ebből az következik, hogy a feltevésünk nem teljesül, miszerint L reguláris. Vagyis L nem reguláris. A két feladat megoldását összehasonlítva azt láthatjuk, hogy van egy egyfajta recept, amit követni lehet a pumpáló lemmás feladatok megoldása esetén. Jó taktika azt csinálni, hogy megjegyezzük azt, hogy hogyan kell igazolni azt, hogy {a n b n n 0} nem reguláris, majd ezt az igazolást írjuk át. Mindkét feladat esetén azt csináltuk, hogy feltettük, hogy L nem reguláris, majd kerestünk egy k-tól függő w-t úgy, hogy w benne legyen L-ben. Majd ezt az egy darab szót vizsgáltuk meg. Ha a pumpáló lemma igaz, akkor w felbontható kell legyen w 1 w 2 w 3 alakba úgy, hogy a középső (nemüres) szót pumpálva kapott w 1 w 2 n w 3 szó is eleme L-nek, minden n 0 esetén. Ezután ügyeskedéssel azt mutattuk meg, hogy w 2 -t nem lehet úgy megválasztani, hogy ez minden n-re teljesüljön. Pl. a fenti feladatoknál n = 2 esetén nem fog teljesülni. Egyes feladatoknál ezt az ügyeskedést nagyon könnyű megtenni, más feladatoknál többet kell gondolkozni. Mivel így ellentmondásra jutottunk, a kezdeti feltevésünk, miszerint L reguláris, nem lehet igaz. Tehát L nem reguláris. Ennyi a pumpáló lemmás feladatokhoz a recept. Fontos! Ha egy pumpáló lemmás feladatban az ellentmondás nem jön ki, az lehet azért van, mert nem is jöhet ki! Ebben az esetben próbáljunk meg egy automatát megadni, amely az adott nyelvet felismeri! Ha van ilyen automata, akkor a pumpáló lemmát akárhogy csavarjuk, nem jöhet ki az, hogy a nyelv nem reguláris! 22 Feladat: Igazoljuk, hogy az L={a n b n+1 c n n 0} nyelv nem reguláris! Feladat: Igazoljuk, hogy az L={a n b 2n+1 c n n 100} nyelv nem reguláris! Feladat: Igazoljuk, hogy az L={a n n prím} nyelv nem reguláris! Feladat: Adjunk meg olyan f:n N-t, melyre igaz, hogy {a n b f(n)+1 n 0} reguláris! Megoldás: Legyen f(n) = 0, minden n 0-ra. Tulajdonképpen bármely f(n) = k jó, ahol k valami rögzített konstans. Még igazolni kell, hogy {a n b f(n)+1 n 0} reguláris, vagyis meg kell adni egy determinisztikus automatát, mely felismeri ezt a nyelvet. 22. Ha mégis kijönne, akkor valamit elrontottunk. 30

31 Irodalomjegyzék [1] Ésik Zoltán: Számítástudomány Alapjai, [2] Ésik Zoltán, Gombás Éva, Iván Szabolcs: Automaták és formális nyelvek példatár, Typotex Kiadó, Feladat: Határozzuk meg, hogy mely f:n N leképezésekre igaz, hogy {a n b f(n)+1 n 0} reguláris! [3] Peter Linz: An Introduction to Formal Languages and Automata, 5th edition, Jones & Bartlett Publishers, Sudbury, MA, USA, [4] Susan H. Rodger and Thomas W. Finley: JFLAP An Interactive Formal Languages and Automata Package, Jones & Bartlett Publishers, Sudbury, MA, USA, [5] J. E. Hopcroft, J. D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison Wesley, Reading, [6] Lovász László: Algoritmusok bonyolultsága, Tankönyvkiadó, [7] H. R. Lewis, C. H. Papadimitriou: Elements of the Theory of Computation, 2nd ed., Prentice Hall [8] C. H. Papadimitriou: Számítási bonyolultság, Novadat Kiadó, [9] M. Sipser: Introduction to the Theory of Computation, PWS Publishing Co., [10] JFLAP program: 31

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

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

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

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

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

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

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

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

Formális Nyelvek - 1.

Formális Nyelvek - 1. Formális Nyelvek - 1. 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 A

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

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 4-6. 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 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

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

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁ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é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

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

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

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

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

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

Iván Szabolcs október 6.

Iván Szabolcs október 6. Automaták irányítása II. Iván Szabolcs 2009. október 6. Tartalom 1 Alapfogalmak (ismét) 2 Egy kiterjesztés és egy ellenpélda 3 Pozitív részeredmények 4 A Road Coloring Problem Véges automaták Automata

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

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

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

1 2. gyakorlat Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor

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

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent 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

Csima Judit október 24.

Csima Judit október 24. Adatbáziskezelés Funkcionális függőségek Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2018. október 24. Csima Judit Adatbáziskezelés Funkcionális függőségek 1 / 1 Relációs sémák

Részletesebben

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1 Halmazelmélet 1. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Halmazelmélet p. 1/1 A halmaz fogalma, jelölések A halmaz fogalmát a matematikában nem definiáljuk, tulajdonságaival

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

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

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet. 1. A polinom fogalma Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1 = x egyenletet. Megoldás x + 1-gyel átszorozva x 2 + x + 1 = x 2 + x. Innen 1 = 0. Ez ellentmondás, így az

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

KOVÁCS BÉLA, MATEMATIKA I.

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

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

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

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:

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

1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b.

1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b. 1. Oszthatóság, legnagyobb közös osztó Ebben a jegyzetben minden változó egész számot jelöl. 1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy

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

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória Megoldások és javítási útmutató 1. Az a és b befogójú derékszögű háromszögnek

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

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

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

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

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

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

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet: Gábor Miklós HHF0CX 5.7-16. Vegyük úgy, hogy a feleségek akkor vannak a helyükön, ha a saját férjeikkel táncolnak. Ekkor már látszik, hogy azon esetek száma, amikor senki sem táncol a saját férjével, megegyezik

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

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

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

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az

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

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II. 8 Egyenletek, egyenlőtlenségek, egyenletrendszerek II Elméleti összefoglaló Az a + b+ c, a egyenletet másodfokú egyenletnek nevezzük A D b ac kifejezést az egyenlet diszkriminánsának nevezzük Ha D >, az

Részletesebben

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. 1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. HLMZOK halmaz axiomatikus fogalom, nincs definíciója. benne van valami a halmazban szintén axiomatikus fogalom,

Részletesebben

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13. Algoritmuselmélet NP-teljes problémák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 13. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet

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

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

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

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

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

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 2. 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 2017. tavasz 1. Diszkrét matematika 2.C szakirány 4. 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

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

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

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

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok . fejezet Bevezetés Algebrai feladatok J. A számok gyakran használt halmazaira a következ jelöléseket vezetjük be: N a nemnegatív egész számok, N + a pozitív egész számok, Z az egész számok, Q a racionális

Részletesebben

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták) A 205/206. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA a speciális tanterv szerint haladó gimnazisták Javítási-értékelési útmutató. feladat Az {,2,...,n} halmaz

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

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

Matematika III. 2. Eseményalgebra Prof. Dr. Závoti, József

Matematika III. 2. Eseményalgebra Prof. Dr. Závoti, József Matematika III. 2. Eseményalgebra Prof. Dr. Závoti, József Matematika III. 2. : Eseményalgebra Prof. Dr. Závoti, József Lektor : Bischof, Annamária Ez a modul a TÁMOP - 4.1.2-08/1/A-2009-0027 Tananyagfejlesztéssel

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

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva 6. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 6.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2017. tavasz 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 2017.

Részletesebben

SzA II. gyakorlat, szeptember 18.

SzA II. gyakorlat, szeptember 18. SzA II. gyakorlat, 015. szeptember 18. Barátkozás a gráfokkal Drótos Márton drotos@cs.bme.hu 1. Az előre megszámozott (címkézett) n darab pont közé hányféleképp húzhatunk be éleket úgy, hogy egyszerű gráfhoz

Részletesebben

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám. 1 Az utazó ügynök problémája Utazó ügynök feladat Adott n számú város és a városokat összekötő utak, amelyeknek ismert a hossza. Adott továbbá egy ügynök, akinek adott városból kiindulva, minden várost

Részletesebben

Egészrészes feladatok

Egészrészes feladatok Kitűzött feladatok Egészrészes feladatok Győry Ákos Miskolc, Földes Ferenc Gimnázium 1. feladat. Oldjuk meg a valós számok halmazán a { } 3x 1 x+1 7 egyenletet!. feladat. Bizonyítsuk be, hogy tetszőleges

Részletesebben

1/50. Teljes indukció 1. Back Close

1/50. Teljes indukció 1. Back Close 1/50 Teljes indukció 1 A teljes indukció talán a legfontosabb bizonyítási módszer a számítástudományban. Teljes indukció elve. Legyen P (n) egy állítás. Tegyük fel, hogy (1) P (0) igaz, (2) minden n N

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

Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla

Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla Számelmélet (2017 február 8) Bogya Norbert, Kátai-Urbán Kamilla 1 Oszthatóság 1 Definíció Legyen a, b Z Az a osztója b-nek, ha létezik olyan c Z egész szám, melyre ac = b Jelölése: a b 2 Példa 3 12, 2

Részletesebben

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet! 1. Részcsoportok A részcsoport fogalma. 2.2.15. Definíció Legyen G csoport. A H G részhalmaz részcsoport, ha maga is csoport G műveleteire nézve. Jele: H G. Az altér fogalmához hasonlít. Példák (1) C +

Részletesebben

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy 1. előadás: Halmazelmélet Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy hozzátartozik-e,

Részletesebben

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

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

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

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

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont Oktatási Hivatal Öt pozitív egész szám egy számtani sorozat első öt eleme A sorozatnak a különbsége prímszám Tudjuk hogy az első négy szám köbének összege megegyezik az ezen öt tag közül vett páros sorszámú

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

HALMAZELMÉLET feladatsor 1.

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

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek Az november 23-i szeminárium témája Rövid összefoglaló Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek felfrissítése? Tekintsünk ξ 1,..., ξ k valószínűségi változókat,

Részletesebben

(Diszkrét idejű Markov-láncok állapotainak

(Diszkrét idejű Markov-láncok állapotainak (Diszkrét idejű Markov-láncok állapotainak osztályozása) March 21, 2019 Markov-láncok A Markov-láncok anaĺızise főként a folyamat lehetséges realizációi valószínűségeinek kiszámolásával foglalkozik. Ezekben

Részletesebben

A zsebrádiótól Turán tételéig

A zsebrádiótól Turán tételéig Jegyzetek egy matekóráról Lejegyezte és kiegészítésekkel ellátta: Meszéna Balázs A katedrán: Pataki János A gráfokat rengeteg életszagú példa megoldásában tudjuk segítségül hívni. Erre nézzünk egy példát:

Részletesebben

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak 1. Generátorrendszer Generátorrendszer. Tétel (Freud, 4.3.4. Tétel) Legyen V vektortér a T test fölött és v 1,v 2,...,v m V. Ekkor a λ 1 v 1 + λ 2 v 2 +... + λ m v m alakú vektorok, ahol λ 1,λ 2,...,λ

Részletesebben

DISZKRÉT MATEMATIKA: STRUKTÚRÁK Előadáson mutatott példa: Bércesné Novák Ágnes

DISZKRÉT MATEMATIKA: STRUKTÚRÁK Előadáson mutatott példa: Bércesné Novák Ágnes 1. Algebrai alapok: DISZKRÉT MATEMATIKA: STRUKTÚRÁK Művelet: Egy H nemüres halmazon értelmezett (kétváltozós) műveleten egy H H H függvényt értünk, azaz egy olyan leképezést, amely bármely a,b H elempárhoz

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

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Hadamard-mátrixok Előadó: Hajnal Péter február 23. Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus

Részletesebben

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1. Nagyságrendek 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 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok

Részletesebben

Klasszikus algebra előadás. Waldhauser Tamás április 28.

Klasszikus algebra előadás. Waldhauser Tamás április 28. Klasszikus algebra előadás Waldhauser Tamás 2014. április 28. 5. Számelmélet integritástartományokban Oszthatóság Mostantól R mindig tetszőleges integritástartományt jelöl. 5.1. Definíció. Azt mondjuk,

Részletesebben

Diszkrét matematika II., 8. előadás. Vektorterek

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

Az informatika logikai alapjai

Az informatika logikai alapjai Az informatika logikai alapjai Várterész Magda DE, Informatikai Kar PTI BSc és informatikatanár hallgatók számára 2017. Példák Az alábbi világokban állításokat akarunk megfogalmazni: A táblára színes karikákat

Részletesebben

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1 Elsőrendű logika szintaktikája és szemantikája Logika és számításelmélet, 3. gyakorlat 2009/10 II. félév Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1 Az elsőrendű logika Elemek egy

Részletesebben

Haladók III. kategória 2. (dönt ) forduló

Haladók III. kategória 2. (dönt ) forduló Haladók III. kategória 2. (dönt ) forduló 1. Tetsz leges n pozitív egész számra jelölje f (n) az olyan 2n-jegy számok számát, amelyek megegyeznek az utolsó n számjegyükb l alkotott szám négyzetével. Határozzuk

Részletesebben