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

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

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

Átírás

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

2 akonyv 2006/12/18 11:53 page ii #2

3 akonyv 2006/12/18 11:53 page iii #3 Csörnyei Zoltán Kása Zoltán FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK 2006

4 akonyv 2006/12/18 11:53 page iv #4 Copyright c Csörnyei Zoltán, Kása Zoltán, Minden jog fenntartva. Jelen könyvet, illetve annak részeit tilos reprodukálni, adatrögzítő rendszerben tárolni, bármilyen formában vagy eszközzel elektronikus úton vagy más módon közölni a szerzők előzetesen megkért írásbeli engedélye nélkül. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means electronic, mechanical, photocoping, recording, or otherwise without the prior written permission of the authors. ISBN...

5 akonyv 2006/12/18 11:53 page v #5 Tartalomjegyzék I. Formális nyelvek és automaták (Kása Zoltán) 1 1. Nyelvek és nyelvtanok Műveletek nyelvekkel Nyelvek megadása Nyelvek megadása elemeik felsorolásával Nyelvek megadása tulajdonság segítségével Nyelvek megadása nyelvtannal Chomsky-féle nyelvosztályok Átnevezések kiküszöbölése Normálalakú nyelvtanok Kiterjesztett nyelvtanok A Chomsky-féle nyelvosztályok zártsági tulajdonságai Véges automaták és reguláris nyelvek Véges automaták értelmezése Elérhetetlen állapotok kizárása Nemproduktív állapotok kizárása NDVA átalakítása DVA-vá Determinisztikus véges automaták ekvivalenciájának vizsgálata Véges automaták és reguláris nyelvtanok ekvivalenciája Műveletek reguláris nyelvekkel ε-lépéses véges automaták és műveletek véges automatákkal Determinisztikus véges automaták minimalizálása Pumpáló lemma reguláris nyelvekre Reguláris kifejezések Reguláris kifejezés hozzárendelése véges automatához Véges automata hozzárendelése reguláris kifejezéshez. 57

6 akonyv 2006/12/18 11:53 page vi #6 vi Tartalomjegyzék 3. Veremautomaták és környezetfüggetlen nyelvek Veremautomaták Környezetfüggetlen nyelvek Pumpáló lemma környezetfüggetlen nyelvekre Környezetfüggetlen nyelvtanok normálalakjai Chomsky-féle normálalak Greibach-féle normálalak II. Fordítóprogramok (Csörnyei Zoltán) Compiler, interpreter A fordítóprogram szerkezete Kezdő lépések A lexikális elemzés A lexikális elemző működése Speciális problémák Kulcsszavak, standard szavak Az előreolvasás Direktívák Hibakezelés A szintaktikai elemzés A szintaktikai elemzés alapfogalmai A szintaktikai elemzési módszerek LL(1) elemzés Az LL(k) nyelvtanok Táblázatos elemzés A rekurzív leszállás módszere LR(1) elemzés Az LR(k) nyelvtanok LR(1) kanonikus halmazok Az LR(1) elemző Az LALR(1) elemző A szemantikai elemzés A fordítási nyelvtanok Attribútum fordítási nyelvtanok Particionált attribútum fordítási nyelvtanok Látogatási sorozatok

7 akonyv 2006/12/18 11:53 page vii #7 Tartalomjegyzék vii 7.4. Rendezett attribútum fordítási nyelvtanok S-attribútum fordítási nyelvtanok L-attribútum fordítási nyelvtanok A kódgenerálás Az aktivációs rekord A kifejezések fordítása Az if utasítás fordítása Könyvészet 189 Tárgy- és névmutató 193

8 akonyv 2006/12/18 11:53 page viii #8

9 akonyv 2006/12/18 11:53 page 1 #9 I. RÉSZ Formális nyelvek és automaták 1

10 akonyv 2006/12/18 11:53 page 2 #10

11 akonyv 2006/12/18 11:53 page 3 #11 1. FEJEZET Nyelvek és nyelvtanok Tetszőleges szimbólumok (jelek) nem üres, véges halmazát ábécének nevezzük. Az ábécé elemeit betűknek nevezzük, de sokszor használjuk a jel és szimbólum neveket is. Ábécé például a Σ = {a,b,c,d,0,1,σ}, amelynek betűi a,b,c,d,0,1 és σ. Az ábécé betűiből szavakat képezünk. Ha a 1,a 2,...,a n Σ,n 0, akkor a 1 a 2... a n a Σ ábécé betűiből képzett szó (az a i -k nem feltétlenül különbözők). A szót alkotó betűk száma, multiplicitással számolva, a szó hossza. Ha w = a 1 a 2...a n, akkor a w szó hossza w = n. Ha n = 0, akkor a szó egyetlen betűt sem tartalmaz, és üres szónak nevezzük. Jelölése: ε (sok könyvben λ). A Σ betűiből képezhető szavak halmazának jelölésére a Σ jelet használjuk: Σ = { a 1 a 2...a n a 1,a 2,...,a n Σ, n 0 }. A nem üres szavak halmaza Σ + = Σ \ {ε}. Az n hosszúságú szavak halmazát Σ n -nel jelöljük, és természetesen Σ 0 = {ε}. Ekkor Σ = Σ 0 Σ 1 Σ n és Σ + = Σ 1 Σ 2 Σ n. Az u = a 1 a 2...a m és v = b 1 b 2...b n szavak egyenlők (azaz u = v), ha m = n és a i = b i, i = 1,2,...,n. A Σ -on bevezetünk egy bináris műveletet, a konkatenációt. Az u = a 1 a 2... a m és v = b 1 b 2... b n szavak konkatenációján (illesztésén, szorzatán, összefűzésén) az uv = a 1 a 2...a m b 1 b 2...b n szót értjük. Nyilvánvaló, hogy uv = u + v. Ez a művelet asszociatív, de nem kommutatív. Van egységeleme, az ε, mivel εu = uε = u tetszőleges u Σ szóra. Tehát Σ ezzel a konkatenáció művelettel monoidot (egységelemes félcsoportot) képez. Bevezetjük a szavak hatványozását. Ha u Σ, akkor u 0 = ε, továbbá ha n 1, akkor u n = u n 1 u. Az u = a 1 a 2...a n szó tükörképe u 1 = a n a n 1...a 1. Az u tükörképének jelölésére néha használják még a következőket is: u R, ũ. Nyilvánvaló, hogy ( u 1 ) 1 = u és (uv) 1 = v 1 u 1.

12 akonyv 2006/12/18 11:53 page 4 # Nyelvek és nyelvtanok Azt mondjuk, hogy v kezdőszelete (prefixe) az u szónak, ha létezik a z szó úgy, hogy u = vz. Ha z ε, akkor v valódi kezdőszelete u-nak. Hasonlóképpen v végszelete (szuffixe) az u szónak, ha létezik az x szó úgy, hogy u = xv, és analóg módon értelmezhető a valódi végszelet is. A v szó részszava az u szónak, ha léteznek a p és q szavak úgy, hogy u = pvq. Ha pq ε, akkor v valódi részszava u-nak. A kezdő- és végszeletek egyben részszavak is. A Σ tetszőleges L részhalmazát a Σ ábécé feletti nyelvnek nevezzük. Mivel a szavaknak nem tulajdonítunk értelmet, gyakran formális nyelvről beszélünk, hogy megkülönböztessük a természetes és a mesterséges nyelvektől, amelyekben a szavakhoz valamilyen értelem is kapcsolódik. Megjegyezzük, hogy az üres nyelv, míg {ε} az üres szóból álló nyelv Műveletek nyelvekkel Ha L, L 1, L 2 egy-egy Σ feletti nyelv, akkor értelmezzük a következő műveleteket: egyesítés L 1 L 2 = {u Σ u L 1 vagy u L 2 }, metszet L 1 L 2 = {u Σ u L 1 és u L 2 }, különbség L 1 \ L 2 = {u Σ u L 1 és u L 2 }, komplementum (komplemens vagy komplementer nyelv) L = Σ \ L, szorzat L 1 L 2 = {uv u L 1,v L 2 }, nyelv hatványa L 0 = {ε}, L n = L n 1 L, ha n 1, nyelv iteráltja L = L i = L 0 L L 2 L i, i=0 tükrözés L 1 = {u 1 u L} Szoktuk még használni az L + jelölést is: L + = L i = L L 2 L i. i=1 Az egyesítés, szorzás, iteráció műveleteket reguláris műveleteknek nevezzük.

13 akonyv 2006/12/18 11:53 page 5 # Nyelvek megadása Nyelvek megadása Nyelveket többféleképpen adhatunk meg. Például: 1) felsoroljuk a szavait, 2) megadunk egy tulajdonságot, amellyel a nyelv minden szava rendelkezik, de más szavak nem, 3) nyelvtan segítségével Nyelvek megadása elemeik felsorolásával Nyelvek például: L 1 = {ε,0,1}, L 2 = {a,aa,aaa,ab,ba,aba}. Habár végtelen halmazokat nem tudunk felsorolni, a végtelen nyelvek is megadhatók felsorolással abban az esetben, ha az első néhány szó megadásából kiderül, hogyan kell a felsorolást folytatni. Ilyen például a következő nyelv: L 3 = {ε,ab,aabb,aaabbb,aaaabbbb,...} Nyelvek megadása tulajdonság segítségével Nyelvek a következő halmazok is: L 4 = {a n b n n = 0,1,2,...}, L 5 = {uu 1 u Σ }, L 6 = {u {a,b} n a (u) = n b (u)}, ahol n a (u) az u szóban levő a betűk számát, n b (u) pedig a b betűk számát jelöli Nyelvek megadása nyelvtannal Értelmezzük a generatív nyelvtan vagy röviden nyelvtan (grammatika) fogalmát értelmezés. Generatív nyelvtannak nevezzük a G = (N, T, P, S) rendezett négyest, ahol N a változók (vagy nemterminális jelek) ábécéje, T a terminális jelek ábécéje, ahol N T =, P (N T) N(N T) (N T) véges halmaz, vagyis P az (u,v) alakú helyettesítési szabályok véges halmaza, ahol u,v (N T), és u tartalmaz legalább egy nemterminális jelet, S N a nyelvtan kezdőszimbóluma.

14 akonyv 2006/12/18 11:53 page 6 # Nyelvek és nyelvtanok Megjegyzés. Az (u, v) jelölés helyett gyakran használjuk az u v jelölést, amely szemléletesebben utal a helyettesítésre (amint azt később látni fogjuk). Az u v, azaz (u,v) szabályban u-t a szabály bal, v-t pedig a jobb oldalának nevezzük. Amennyiben a nyelvtanban több olyan szabály van, amelyeknek a bal oldala azonos, akkor ezeket egyszerűbben is írhatjuk: u v 1, u v 2,...,u v r helyett u v 1 v 2... v r. Értelmezzük az (N T) halmazban a közvetlen levezetés relációt: u = v, ha u = p 1 pp 2, v = p 1 qp 2 és (p,q) P. Tulajdonképpen u-ban a p részszó valamely előfordulását q-val helyettesítjük, és eredményül v-t kapjuk. A közvetlen levezetésre még szokás a vagy a = jeleket is használni. Ha hangsúlyozni szeretnénk a G nyelvtant, amelynek szabályait használjuk, akkor a = jelölés helyett a = jelölést használjuk. A = reláció reflexív és G + tranzitív lezártját =, míg a tranzitív lezártját = jelöli. A = reláció neve levezetés. A reflexív és tranzitív lezárt definíciójából következik, hogy u = v, ha léteznek a w 0,w 1,...,w n (N T), n 0 szavak, és u = w 0, w 0 = w 1, w 1 = w 2,...,w n 1 = w n, w n = v. Ezt röviden így is írhatjuk: u = w 0 = w 1 = w 2 =... = w n 1 = w n = v. Ha n = 0, akkor u = v. Hasonlóképpen értelmezhető az u = + v reláció, azzal a különbséggel, hogy itt n 1, tehát elvégzünk legalább egy helyettesítést értelmezés. A G = (N, T, P, S) nyelvtan által generált nyelv: L(G) = {u T S = u}. Tehát L(G) mindazokat a T ábécé betűiből képzett szavakat tartalmazza, amelyek az S kezdőszimbólumból levezethetők P szabályainak a segítségével értelmezés. Ha w T, akkor w-t mondatnak nevezzük. Ha α (N T), akkor α neve mondatforma példa. Legyen G = (N, T, P, S), ahol N = {S}, T = {a, b}, P = {S asb, S ab}. Könnyű belátni, hogy ekkor L(G) = {a n b n n 1}, mivel S = G asb = G a 2 Sb 2 = G = G a n 1 Sb n 1 = G a n b n,

15 akonyv 2006/12/18 11:53 page 7 # Nyelvek megadása 7 ahol az utolsó előtti helyettesítésig mindig az első helyettesítési szabályt (S asb) használtuk, míg az utolsónál az S ab szabályt. Ezt a levezetést röviden így is írhatjuk: S = a n b n. Tehát a n b n tetszőleges n-re levezethető S-ből, és más szót G nem lehet levezetni S-ből értelmezés. Azt mondjuk, hogy a G 1 és G 2 nyelvtanok ekvivalensek, és ezt G 1 = G2 -vel jelöljük, ha L(G 1 ) = L(G 2 ) példa. A következő két nyelvtan ekvivalens, mivel mindegyik az {a n b n c n n 1} nyelvet generálja. G 1 = (N 1, T, P 1, S 1 ), ahol N 1 = {S 1, X, Y }, T = {a, b, c}, P 1 = {S 1 abc, S 1 axbc, Xb bx, Xc Y bcc, by Y b, ay aax, ay aa}. G 2 = (N 2, T, P 2, S 2 ), ahol N 2 = {S 2, A, B, C}, P 2 = {S 2 as 2 BC, S 2 abc, CB BC, ab ab, bb bb, bc bc, cc cc}. Először teljes indukcióval megmutatjuk, hogy n 2-re S 1 akkor S 1 = G1 axbc = G1 abxc = G1 aby bcc = G1 ay b 2 c 2. = G1 a n 1 Y b n c n. Ha n = 2, Feltételezzük, hogy S 1 = a n 2 Y b n 1 c n 1. Alkalmazzuk az ay aax szabályt, G1 majd (n 1)-szer az Xb bx szabályt, egyszer az Xc Y bcc szabályt, utána pedig szintén (n 1)-szer a by Y b szabályt. Tehát S 1 = a n 2 Y b n 1 c n 1 = a n 1 Xb n 1 c n 1 = a n 1 b n 1 Xc n 1 G1 G1 G1 = a n 1 b n 1 Y bc n = a n 1 Y b n c n. G1 G1 = a n b n c n, n 2- G1 abc az S 1 abc szabály alapján, tehát a n b n c n L(G 1 ) tetszőleges Ha most alkalmazzuk az ay aa szabályt, azt kapjuk, hogy S 1 re, de S 1 = G1 n 1-re. Be kell még bizonyítanunk, hogy a szabályok alkalmazásával más szót nem lehet generálni, csak a n b n c n alakút. Ezt könnyű belátni, hisz eredményes levezetés (amely csak terminális betűket tartalmazó szóban végződik) csak a fenti módon lehetséges. Hasonlóképpen n 2-re S 2 = as 2 BC = a n 1 S 2 (BC) n 1 = a n (BC) n = a n B n C n G2 G2 G2 G2 = G2 a n bb n 1 C n = G2 a n b n C n = G2 a n b n cc n 1 = G2 a n b n c n. Itt sorrendben a következő szabályokat alkalmaztuk: S 2 as 2 BC (n 1-szer), S 2 abc, CB BC (n 1-szer), ab ab, bb bb (n 1-szer), bc bc, cc cc

16 akonyv 2006/12/18 11:53 page 8 # Nyelvek és nyelvtanok (n 1-szer). Ugyanakkor S 2 = abc = abc = abc, tehát S 2 = a n b n c n, n 1. G2 G2 G2 G2 Itt is könnyű belátni, hogy más szavakat nem lehet generálni a G 2 -ben. A következő két nyelvtan: G 3 = ({S}, {a, b}, {S asb, S ε}, S) és G 4 = ({S}, {a, b}, {S asb, S ab}, S) nem ekvivalens, mert L(G 3 ) \ {ε} = L(G 4 ) tétel. Létezik olyan formális nyelv, amelyet nem lehet nyelvtannal megadni. Bizonyítás. A bizonyításhoz a nyelvtanokat a {0, 1} ábécé feletti szavakként kódoljuk. Egy adott G = (N, T, P, S) nyelvtan esetében legyen N = {S 1,S 2,...,S n }, T = {a 1,a 2,...,a m } és S = S 1. A kódolás a következő: S i kódja } {{ 11} 01, a i kódja } {{ 11} 001. i-szer i-szer A szimbólumok kódját a kódolásban 000 választja el, a nyíl kódja 0000, a szabályokat pedig jelsorozattal választjuk el. Nyilván elég csak a szabályokat kódolni. Példaként vegyük a következő nyelvtant: G = ({S}, {a,b}, {S asb, S ab},s). S kódja 10101, a kódja , b kódja A nyelvtan kódja: } {{ } } {{ } } {{ } } {{ } } {{ } } {{ } } {{ }. Ebből a kódolásból következik, hogy a T terminális ábécével rendelkező nyelvtanok felsorolhatók 1 a következőképpen: G 1,G 2,...,G k,..., és így ezen nyelvtanok halmazának számossága megszámlálhatóan végtelen. Tekintsük most a T ábécé feletti összes nyelvek halmazát: L T = {L L T }, azaz L T = P(T ). A T halmaz megszámlálhatóan végtelen, hisz szavai sorrendbe írhatók. Legyen ez a sorrend s 0,s 1,s 2,..., ahol legyen s 0 = ε. Ekkor minden L L T nyelvnek megfeleltethetünk egy b 0,b 1,b 2,... végtelen bináris sorozatot a következőképpen: b i = { 1, ha si L 0, ha s i L i = 0,1,2, Tegyük fel, hogy a {0,1} ábécén adott egy < lineáris rendezés, mondjuk 0 < 1. Ezek után a nyelvtanokat kódoló szavak felsorolhatók úgy, hogy a szavakat előbb a hosszúságuk szerint rendezzük, majd azon belül ábécésorrendbe, az ábécé betűi közötti rendezés alapján. De lehet lexikografikus sorrend is, amely azt jelenti, hogy u < v (u előbb van, mint v), ha u valódi kezdőszelete v-nek, vagy létezik az u = xay és v = xby felbontás, ahol x, y, y részszavak, a és b betűk, és a < b.

17 akonyv 2006/12/18 11:53 page 9 # Chomsky-féle nyelvosztályok 9 Könnyű belátni, hogy az így keletkezett bináris sorozatok halmaza nem megszámlálhatóan végtelen, hisz minden sorozat tekinthető úgy, mint egy 1-nél kisebb pozitív valós szám kettes számrendszerbeli ábrázolása (a tizedesvesszőt az első számjegy elé képzeljük). Fordítva is igaz, hogy minden 1- nél kisebb pozitív szám kettes számrendszerbeli ábrázolása, ha a tizedesvessző utáni részt vesszük, megfelel egy ilyen sorozatnak. Így a végtelen bináris sorozatok halmazának számossága megegyezik a [0, 1] intervallum kontinuum számosságával. Következésképpen az L T halmaz is kontinuum számosságú. Rendeljük most hozzá minden T terminális ábécével rendelkező nyelvtanhoz az általa generált T feletti nyelvet. Mivel a nyelvtanok számossága megszámlálhatóan végtelen, lesz olyan L T -beli nyelv, amelyhez nem tartozik nyelvtan, más szóval, amelyet nem lehet nyelvtannal generálni Chomsky-féle nyelvosztályok Ha a helyettesítési szabályokra bizonyos megkötéseket teszünk, a következő négy nyelvtantípust különböztethetjük meg értelmezés. A G = (N, T, P, S) nyelvtanra a következő négy típust definiáljuk. A G nyelvtan 0-típusú (általános vagy mondatszerkezetű), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira. A G nyelvtan 1-típusú (környezetfüggő), ha minden szabálya αaγ αβγ alakú, ahol A N, α,γ (N T), β (N T) +. Ezenkívül megengedhető az S ε szabály is, ha S nem szerepel egyetlen szabály jobb oldalán sem. A G nyelvtan 2-típusú (környezetfüggetlen), ha minden szabálya A β alakú, ahol A N, β (N T) +. Ezenkívül megengedhető az S ε szabály is, ha S nem szerepel egyetlen szabály jobb oldalán sem. A G nyelvtan 3-típusú (reguláris), ha szabályai A ab vagy A a alakúak, ahol a T és A,B N. Ezenkívül megengedhető az S ε szabály is, ha S nem szerepel egyetlen szabály jobb oldalán sem. Ha G i-típusú nyelvtan, akkor az L(G) nyelvet szintén i-típusúnak (általánosnak, környezetfüggőnek, környezetfüggetlennek, regulárisnak) nevezzük. Ez a felosztás Noam Chomsky 2 nevéhez fűződik. Egy L nyelv i-típusú (i = 0,1,2,3), ha létezik egy i-típusú G nyelvtan, amelyik az L nyelvet generálja, vagyis L = L(G). 2 Noam Avram Chomsky (1928 ) amerikai nyelvész, aki bevezette a generatív grammatika fogalmát, amelyet ma a nyelvészetbwen és az informatikában egyaránt használnak.

18 akonyv 2006/12/18 11:53 page 10 # Nyelvek és nyelvtanok Jelölje L i (i = 0,1,2,3) az i-típusú nyelvek osztályát. Ekkor bizonyítható, hogy L 0 L 1 L 2 L 3. A nyelvtantípusok fenti értelmezése alapján a tartalmazás ( ) nyilvánvaló, de a szigorú tartalmazás ( ) bizonyításra szorul példa. Adunk egy-egy példát a környezetfüggő, környezetfüggetlen és reguláris nyelvtanokra. Környezetfüggő nyelvtan. G 1 = (N 1, T 1, P 1, S 1 ), ahol N 1 = {S 1, A, B, C}, T 1 = {a, 0, 1}. P 1 elemei: S 1 ACA, AC AACA ABa AaB, B AB A, A 0 1. Az L(G 1 ) nyelv olyan uav szavakból áll, ahol u, v {0, 1} és u v. Környezetfüggetlen nyelvtan. G 2 = (N 2, T 2, P 2, S), ahol N 2 = {S, A, B}, T 2 = {+,, (, ), a}. P 2 elemei: S S + A A, A A B B, B (S) a. Az L(G 2 ) olyan algebrai kifejezésekből áll, amelyek az a betűből a + és műveleti jelekkel és a zárójelekkel szabályosan felépíthetők. Reguláris nyelvtan. G 3 = (N 3, T 3, P 3, S 3 ), ahol N 3 = {S 3, A, B}, T 3 = {a, b}. P 3 elemei: S 3 aa A ab a B ab bb a b. Az L(G 3 ) nyelv olyan, a és b betűkből képezhető szavakból áll, amelyek legalább két a-val kezdődnek. Könnyű bebizonyítani, hogy minden véges nyelv reguláris. A nyelvtan szabályait úgy adjuk meg, hogy generálják az összes szót. Például, ha u = a 1 a 2...a n eleme a nyelvnek, akkor bevezetjük a következő szabályokat: S a 1 A 1, A 1 a 2 A 2,...A n 2 a n 1 A n 1, A n 1 a n, ahol S a nyelvtan kezdőszimbóluma, A 1,...,A n 1 pedig különböző nemterminálisok. Ezt a véges nyelv minden szavára megtesszük, oly módon, hogy különböző szavakhoz, az S kivételével, különböző nemterminálisokat használunk. Ha az üres szó is eleme a nyelvnek, akkor azt természetesen az S ε szabállyal generáljuk. Az üres halmaz szintén reguláris nyelv, hisz például a G = ({S}, {a}, {S as},s) reguláris nyelvtan az üres halmazt generálja.

19 akonyv 2006/12/18 11:53 page 11 # Chomsky-féle nyelvosztályok Átnevezések kiküszöbölése Egy A B alakú szabályt, ahol A,B N, átnevezésnek nevezzük. Az átnevezéseket ki lehet küszöbölni a G nyelvtanból úgy, hogy az újonnan kapott nyelvtan ugyanolyan típusú legyen, mint G, és ugyanazt a nyelvet ismerje fel, mint G. Legyen G = (N, T, P, S) átnevezéseket tartalmazó nyelvtan. Definiáljuk a vele ekvivalens, de átnevezéseket nem tartalmazó G = (N,T,P,S) nyelvtant. A következő algoritmus megkonstruálja az új nyelvtan szabályait. Átnevezés-kizárás(G) 1 valahányszor A B és B C átnevezések P-ben vannak, mindannyiszor vegyük fel P-be az A C átnevezést is mindaddig, amíg P bővíthető, 2 valahányszor A B átnevezés és a B α (α N) szabály P-ben van, mindannyiszor vegyük fel P-be az A α szabályt is, 3 legyen P azon P-beli szabályok halmaza, amelyek nem átnevezések. 4 return G Könnyen belátható, hogy G és G ekvivalensek. Továbbá, ha G i {0,1,2,3} típusú, akkor G is i típusú lesz példa. Alkalmazzuk az előbbi algoritmust a G = ( {S, A, B, C}, {a, b}, P, S ) nyelvtanra, ahol a P elemei: S A, A B, B C, C B, D C, S B, A D, C Aa, A ab, A b. Az algoritmus első lépése alapján a következő új átnevezések kerülnek be a szabályok közé: S D S C A C B B C C D B (S A és A D miatt), (S B és B C miatt), (A B és B C miatt), (B C és C B miatt), (C B és B C miatt), (D C és C B miatt). Az algoritmus második lépése alkalmazásakor csak azok az átnevezések jöhetnek számításba, amelyeknek a jobb oldala vagy A vagy C, mivel csak az A ab, A b és C Aa szabályok alkalmazhatók (a többi szabály mind átnevezés). A következő új szabályok jelennek meg: S ab S b (S A és A ab miatt), (S A és A b miatt),

20 akonyv 2006/12/18 11:53 page 12 # Nyelvek és nyelvtanok S Aa (S C és C Aa miatt), A Aa (A C és C Aa miatt), B Aa (B C és C Aa miatt). Az új G = ( {S, A, B, C}, {a, b}, P, S ) nyelvtan szabályai: S b, A b, B Aa, C Aa, S ab, A ab, S Aa A Aa, Normálalakú nyelvtanok Ha egy nyelvtan szabályainak bal oldalán terminális betűk nem szerepelnek, akkor a nyelvtant normálalakúnak mondjuk. Szükségünk lesz a következő fogalmakra. Adott Σ 1 és Σ 2 ábécékre homomorfizmusnak nevezzük a h : Σ 1 Σ 2 függvényt, ha h(u 1u 2 ) = h(u 1 )h(u 2 ), u 1,u 2 Σ 1. Könnyű belátni, hogy tetszőleges u = a 1a 2... a n Σ 1 esetében a h(u) értéket egyértelműen meghatározza h-nak a Σ 1-re való megszorítása, ugyanis h(u) = h(a 1 )h(a 2 )... h(a n ). Ha a h függvény még bijektív is, akkor izomorfizmusról beszélünk tétel. Tetszőleges nyelvtanhoz megkonstruálhatunk egy vele ekvivalens, azonos típusú nyelvtant, amely normálalakú. Bizonyítás. A 2- és 3-típusú nyelvtanok szabályai a bal oldalon csak egy-egy nemterminális szimbólumot tartalmaznak, tehát eleve normálalakúak. A bizonyítást csupán a 0- és 1-típusú nyelvtanokra kell elvégezni. Legyen az eredeti nyelvtan G = (N,T,P,S) és definiáljuk a G = (N,T,P,S) normálalakú nyelvtant a következőképpen. Legyenek a 1,a 2,...,a k azok a terminális szimbólumok, amelyek szerepelnek a szabályok bal oldalán. Ekkor vezessük be az A 1,A 2,...,A k új nemterminálisokat. Használjuk a következő jelöléseket: T 1 = {a 1,a 2,...,a k }, T 2 = T \ T 1, N 1 = {A 1,A 2,...,A k } és N = N N 1. Használjuk a h : N T N T 2 izomorfizmust, ahol: h(a i ) = A i, ha a i T 1, h(x) = X, ha X N T 2 Most értelmezzük a P szabályhalmazt: { P = h(α) h(β) (α β) P } { } A i a i i = 1,2,...,k Ebben az esetben α = β akkor és csakis akkor, ha h(α) = G G h(β).

21 akonyv 2006/12/18 11:53 page 13 # Kiterjesztett nyelvtanok 13 Innen pedig azonnal következik a tételünk, hisz S = u S = h(s) = G G h(u) = u példa. Adott a G = ({S, D, E}, {a, b, c, d, e}, P, S), ahol P szabályai: S aebc adbc Db bd Dc Ebccd be Eb ae aad aae Bal oldali szabályokban az a, b, c terminálisok szerepelnek, ezért felvesszük a nemterminálisok közé az A, B, C új nemterminálisokat, és P -be az A a, B b és C c szabályokat. Az a, b, c terminálisokat minden szabályban helyettesítjük rendre az A, B, C nemterminálisokkal. Ekkor P szabályai a következők: S AeBC ADBC DB BD DC EBCCd BE EB AE AAD AAe A a B b C c Vizsgáljuk meg milyen szavakat generál ez a nyelvtan! S = AeBC = aebc miatt aebc L(G ). S = ADBC = ABDC = ABEBCCd = AEBBCCd = AAeBBCCd = aaebbccd, tehát aaebbccd L(G ). Feltételezzük, hogy S = A n 1 EB n C(Cd) n 1, n 2. Ezt matematikai indukcióval bizonyíthatjuk.már láttuk, hogy feltevésünk igaz ha n = 2. Folytassuk az előbbi levezetést: S = A n 1 EB n C(Cd) n 1 = A n 2 AADB n C(Cd) n 1 = A n B n DC(Cd) n 1 = A n B n EBCCd(Cd) n 1 = A n EB n+1 CCd(Cd) n 1 = A n EB n+1 C(Cd) n, amit éppen bizonyítani kellett. De S = A n 1 EB n C(Cd) n 1 = A n 2 AAeB n C(Cd) n 1 = a n eb n c(cd) n 1. Tehát a n eb n c(cd) n 1 L(G ), n 1. Ezeket a szavakat G-ben is hasonlóan le lehet vezetni Kiterjesztett nyelvtanok Ebben a részben az 1-típusú, 2-típusú és a 3-típusú kiterjesztett nyelvtanokat mutatjuk be. 1-típusú kiterjesztett nyelvtan. Minden szabály α β alakú, ahol α β, kivéve esetleg az S ε szabályt. 2-típusú kiterjesztett nyelvtan. Minden szabály A β alakú, ahol

22 akonyv 2006/12/18 11:53 page 14 # Nyelvek és nyelvtanok A N,β (N T). 3-típusú kiterjesztett nyelvtan. Minden szabály A ub vagy A u alakú, ahol A,B N,u T tétel. Tetszőleges kiterjesztett nyelvtanhoz megadható egy vele ekvivalens, ugyanolyan típusú nyelvtan. Bizonyítás. Jelöljük G ki -vel a kiterjesztett nyelvtant és G-vel azt a nyelvtant, amelyet minden típusra külön értelmezünk, és amelyről meg fogjuk mutatni, hogy ekvivalens G ki -vel. 1-típus. A G nyelvtan szabályait úgy kapjuk, hogy a G ki nyelvtan α β szabályait, ahol α β, átírjuk a G esetében megengedett γ 1 δγ 2 γ 1 γγ 2 alakú szabályokra a következőképpen. Legyen X 1 X 2...X m Y 1 Y 2...Y n (m n) a G ki nyelvtan egy szabálya, amely nem megfelelő alakú. Vegyük fel G szabályhalmazába a következő szabályokat, ahol A 1, A 2,..., A m új változók: X 1 X 2... X m A 1 X 2 X 3...X m A 1 X 2... X m A 1 A 2 X 3...X m... A 1 A 2...A m 1 X m A 1 A 2... A m 1 A m A 1 A 2...A m 1 A m Y 1 A 2...A m 1 A m Y 1 A 2...A m 1 A m Y 1 Y 2... A m 1 A m... Y 1 Y 2... Y m 2 A m 1 A m Y 1 Y 2... Y m 2 Y m 1 A m Y 1 Y 2... Y m 1 A m Y 1 Y 2... Y m 1 Y m Y m+1...y n. Továbbá, G ki minden megengedett, vagyis γ 1 δγ 2 γ 1 γγ 2 alakú szabályát vegyük át változtatás nélkül G szabályhalmazába. Ezek után a L(G ki ) L(G) tartalmazás abból következik, hogy a G ki minden szabályának az alkalmazását egy, a belőle képzett G-beli szabályok alkalmazásával tudjuk szimulálni. Továbbá, mivel a G szabályai csak a felírt sorrendben alkalmazhatók, nem kapunk újabb szavakat, ezért L(G) L(G ki ) is teljesül. 2-típus. Legyen G ki = (N,T,P,S). Ki kell küszöbölnünk az A ε alakú szabályokat úgy, hogy csak S ε maradhat, ha S nem szerepel szabály jobb oldalán. Ehhez felépítjük a következő halmazokat: U 0 = {A N (A ε) P } U i = U i 1 {A N (A w) P, w U i 1 + }. Mivel minden i 1 esetében U i 1 U i és U i N, továbbá N véges halmaz, léteznie kell egy olyan k-nak, amelyre U k 1 = U k, és ezt a halmazt nevezzük el U-nak. Könnyű belátni, hogy egy A nemterminális akkor és csakis akkor eleme U-nak, ha A = ε. (Mellesleg, ε L(G ki ), akkor és csakis akkor

23 akonyv 2006/12/18 11:53 page 15 # Kiterjesztett nyelvtanok 15 ha S U.) G szabályait a következőképpen kapjuk G ki szabályaiból. G ki minden olyan A α szabálya esetében melyre α ε, vegyük fel a G szabályai közé ezt a szabályt és mellette azokat is, amelyeket úgy képezünk, hogy α-ból elhagyunk egy vagy több U-beli változót, de csak akkor, ha ezáltal a jobb oldal nem lesz ε. Nem nehéz belátni, hogy az így kapott G nyelvtan ugyanazt a nyelvet generálja, mint G ki, kivéve az ε szót, amelyet nem tud generálni. Ezért, ha ε L(G ki ), akkor a bizonyítást befejeztük. Ha viszont ε L(G ki ), akkor két esetet különböztetünk meg. Ha az S kezdőszimbólum nem szerepel egyetlen szabály jobb oldalán sem, akkor az S ε szabály bevezetésével a G nyelvtan már az üres szót is generálni fogja. Ha viszont S szerepel valamelyik szabály jobb oldalán, akkor egy új kezdőszimbólum (S ) bevezetésével ε is generálható lesz, ha bevesszük a G szabályai közé az S S és S ε szabályokat. 3-típus. Először alkalmazzuk G ki -re a 2-típus esetében használt eljárást az A ε alakú szabályok kiküszöbölésére. A kapott nyelvtanból kiküszöböljük az átnevezéseket az Átnevezés-kizárás algoritmus segítségével (11. oldal). Az így kapott nyelvtan minden A a 1 a 2...a n B szabály esetén, ahol B N {ε}, vegyük fel G szabályai közé a következő szabályokat: A a 1 A 1, A 1 a 2 A 2,... A n 1 a n B, ahol A 1,A 2,...,A n 1 új változók. Könnyen igazolható, hogy az így megkonstruált G nyelvtan ekvivalens G ki -vel példa. Adva van a következő 1-típusú kiterjesztett nyelvtan: G ki = (N, T, P, S), ahol N = {S, B, C}, T = {a, b, c} és P a következő szabályokból áll: S asbc abc CB BC ab ab bb bb bc bc cc cc. Az egyetlen szabály, amely nem környezetfüggő, az a CB bevezetjük a következőket, a bizonyításban adott módszer alapján: CB AB AB AD AD BD BD BC BC. Ehelyett Így az új nyelvtan, amely most már környezetfüggő: G = ({S, A, B, C, D}, {a, b, c}, P, S), ahol P elemei:

24 akonyv 2006/12/18 11:53 page 16 # Nyelvek és nyelvtanok S asbc abc CB AB ab ab AB AD bb bb AD BD bc bc BD BC cc cc. Igazolni lehet, hogy L(G ki ) = L(G) = {a n b n c n n 1} példa. Legyen G ki = ({S, B, C}, {a, b, c}, P, S) 2-típusú kiterjesztett nyelvtan, ahol P elemei: S asc B B bb C C Cc ε. Ekkor U 0 = {C}, U 1 = {B, C}, U 3 = {S, B, C} = U. Az új nyelvtan szabályai: S asc ac B B bb b C C Cc c. Mivel az eredeti nyelvtan generálja az üres szót is, és S szerepel szabály jobb oldalán, új kezdőszimbólumot kell bevezetnünk és még két szabályt: S S, S ε. Tehát az eredetivel ekvivalens környezetfüggetlen nyelvtan: G = ({S, S, B, C}, {a, b, c}, P, S ) és a szabályok: S S ε S asc ac B B bb b C C Cc c. Mindkét nyelvtan az {a m b n c p p m 0, n 0} nyelvet generálja példa. Legyen G ki = ({S, A, B}, {a, b}, P, S) a vizsgálandó 3-típusú kiterjesztett nyelvtan, ahol P: S aba A bb B S ε. Először küszöböljük ki a B ε szabályt. Mivel U 0 = U = {B}, a szabályok a következők lesznek: S aba A bb b B S. Ez utóbbi szabályt (amely átnevezés) ki lehet küszöbölni, bevezetve helyette a B aba szabályt. Hátra van még az S aba és B aba szabályok jobb oldalának a feldarabolása. Mivel mindkét szabály jobb oldala ugyanaz, elég egy új változót bevezetnünk, és az S aba helyett az S ac és C ba szabályokat használni. A B aba helyett ekkor elég a B ac szabályt venni. Az új nyelvtan:

25 akonyv 2006/12/18 11:53 page 17 # A Chomsky-féle nyelvosztályok zártsági tulajdonságai 17 G = ({S, A, B, C}, {a, b}, P, S), ahol P : S ac A bb b B ac C ba. Könnyű bizonyítani, hogy L(G ki ) = L(G) = {(abb) n n 1} A Chomsky-féle nyelvosztályok zártsági tulajdonságai Bebizonyítjuk a következő tételt, amely szerint a Chomsky-nyelvosztályok mindegyike zárt a reguláris műveletekre nézve, azaz két i-típusú nyelv egyesítése és szorzata is i-típusú, i-típusú nyelv iteráltja is i-típusú (i = 0,1,2,3) tétel. Az L i (i = 0,1,2,3) nyelvek osztálya zárt a reguláris műveletekre nézve. Bizonyítás. Kiterjesztett nyelvtanok segítségével végezzük a bizonyítást. Legyenek G 1 = (N 1,T 1,P 1,S 1 ) és G 2 = (N 2,T 2,P 2,S 2 ) i-típusú kiterjesztett nyelvtanok. Feltételezzük, hogy N 1 N 2 =. Egyesítés. Legyen G = (N 1 N 2 {S},T 1 T 2,P 1 P 2 {S S 1,S S 2 },S). Könnyű igazolni, hogy L(G ) = L(G 1 ) L(G 2 ). Ha i = 0,2,3, akkor abból, hogy G 1 és G 2 i-típusú, következik, hogy G is az lesz. Ha i = 1, akkor, ha valamelyik nyelvtan generálja az üres szót, akkor a G szabályaiból kivesszük a megfelelő (esetleg mindkettő) S k ε (k = 1,2) szabályt és helyettesítjük S ε szabállyal. Szorzat. Legyen G = (N 1 N 2 {S},T 1 T 2,P 1 P 2 {S S 1 S 2 },S). Könnyű igazolni, hogy L(G ) = L(G 1 )L(G 2 ). Az i = 0,2 típusoknál G is ugyanolyan típusú lesz. Az i = 1 típusnál, ha van P 1 -ben S 1 ε szabály, de P 2 -ben nincs S 2 ε szabály, akkor a S 1 ε szabályt helyettesítjük az S S 2 szabállyal. Hasonlóképpen járunk el a szimmetrikus esetnél. Ha van P 1 -ben S 1 ε szabály és P 2 -ben S 2 ε szabály, akkor ezeket helyettesítjük az S ε szabállyal. Másképp kell megadni a szabályokat a reguláris nyelvtanok (i = 3) esetében, mert S S 1 S 2 nem reguláris szabály. Helyette a következő nyelvtant használjuk: G = (N 1 N 2,T 1 T 2,P 1 P 2,S 1 ), ahol P 1 annyiban különbözik P 1-től, hogy az A u,u T szabályok helyett A us 2 kerül be P 1 -be.

26 akonyv 2006/12/18 11:53 page 18 # Nyelvek és nyelvtanok Iteráció. Legyen G = (N 1 {S},T 1,P,S). 2-típusú nyelvtanoknál legyen P = P 1 {S S 1 S, S ε}. Ekkor G is 2-típusú lesz. A 3-típusnál, a szorzathoz hasonlóan átalakítjuk a szabályokat, azaz P = P 1 {S S 1, S ε}, ahol P 1 abban különbözik P 1-től, hogy minden A u (u T ) alakú szabály helyett A us alakút veszünk, a többit változatlanul hagyjuk. Ekkor G is 3-típusú lesz. i = 0,1-re nem jók a 2-típusnál megadott szabályok, mert az S S 1 S alkalmazása során megtörténhet, hogy a következő levezetésekhez jutunk: S = S 1 S 1, S 1 = α 1 β 1, S 1 = α 2 β 2, ahol β 1 α 2 egy helyettesítési szabály bal oldala. Ekkor az S = α 1 β 1 α 2 β 2 levezetésben helyettesítve β 1 α 2 -t a neki megfelelő szabály jobb oldalával, olyan szót is generálhatunk, amelyik nincsen benne az iterált nyelvben. Hogy ezt elkerüljük, először feltételezzük, hogy a nyelvtan normálalakú, azaz szabályok bal oldalán nincsenek terminális jelek (lásd 12. oldal), majd bevezetünk egy új S nemterminálist, tehát a nemterminálisok halmaza most N 1 {S,S }, a szabályok pedig a következők lesznek: P = P 1 {S ε, S S 1 S } {as as a T 1 }. Így most már elkerülhetjük, hogy esetleg olyan szabályt is alkalmazzunk a levezetésben, amelynek bal oldala átnyúlik a szavak határán az iteráció miatt. Most már az előbbi levezetéseket csak úgy lehet alkalmazni, hogy az S = S 1 S helyettesítéssel kezdjük, majd eljutunk az S = α 1 β 1 S levezetéshez. Ezt csak akkor tudjuk S helyettesítésével folytatni, ha β 1 utolsó betűje terminális, és miután alkalmaztuk valamelyik as as helyettesítési szabályt. Könnyen igazolható, hogy mindegyik típus esetében L(G ) = L(G 1 ). Gyakorlatok Adjunk meg egy nyelvtant, amely az L = { uu 1 u {a,b} } nyelvet generálja, és határozzuk meg a típusát Adott a G = (N, T, P, S) kiterjesztett környezetfüggetlen nyelvtan, ahol N = {S,A,C,D}, T = {a,b,c,d,e}, P = {S abcade, C cc, C ε, D dd, D ε, A ε, A ddcca}. Adjunk meg egy vele ekvivalens környezetfüggetlen nyelvtant Mutassuk meg, hogy Σ és Σ + reguláris nyelvek, tetszőleges Σ ábécére Adjunk meg egy nyelvtant az L = { u {0,1} n 0 (u) = n 1 (u) } nyelv generálására, ahol n 0 (u) az u szóban szereplő 0-k, n 1 (u) pedig az 1-ek számát

27 akonyv 2006/12/18 11:53 page 19 # A Chomsky-féle nyelvosztályok zártsági tulajdonságai 19 jelenti Adjunk meg egy nyelvtant, amely a természetes számokat generálja Adjunk meg egy-egy nyelvtant a következő nyelvek generálására. L 1 = {a n b m c p n 1,m 1,p 1}, L 2 = {a 2n n 1}, L 3 = {a n b m n 0,m 0 }, L 4 = {a n b m n m 1} Adott a G = (N,T,P,S) kiterjesztett nyelvtan, ahol N = {S,A,B,C}, T = {a}, P pedig a következő helyettesítési szabályokat tartalmazza: S BAB, BA BC, CA AAC, CB AAB, A a, B ε. Milyen típusú ez a nyelvtan? Adjunk meg egy vele ekvivalens, ugyanolyan típusú nem kiterjesztett nyelvtant. Milyen nyelvet generál a G nyelvtan?

28 akonyv 2006/12/18 11:53 page 20 #28 2. FEJEZET Véges automaták és reguláris nyelvek 2.1. Véges automaták értelmezése A véges automaták olyan számítási modellek, amelyek rendelkeznek egy bemeneti szalaggal és több állapottal (2.1. ábra). Az állapotok között vannak kezdőállapotnak, illetve végállapotnak nevezett állapotok. A véges automata egy szót kap bemenetként, amely a bemeneti szalagra van írva, és a bemeneti szó első betűjét olvassa. Az automata kezdőállapotból indul, a szalagról sorra olvassa a betűket, miközben állapotot válthat. Érzékeli, ha végigolvasta a szót, és amennyiben az utolsó állapot végállapot, akkor azt mondjuk, hogy felismerte az adott szót. Egy ilyen automata által felismert szavak halmazát az automata által felismert nyelvnek nevezzük értelmezés. Nemdeterminisztikus véges automatának nevezzük az A = (Q,Σ,E,I,F) rendezett ötöst, ahol Q egy véges, nem üres halmaz, az állapotok halmaza, Σ a bemeneti ábécé, E az átmenetek (vagy élek) halmaza, ahol E Q Σ Q, I Q a kezdőállapotok halmaza, F Q a végállapotok halmaza. A nemdeterminisztikus véges automata tulajdonképpen egy olyan irányított, címkézett gráf, amelynek csúcsai az állapotok, és egy p csúcsából akkor vezet egy a betűvel megcímkézett él a q csúcsba, ha (p,a,q) E. Az állapotokat jelentő csúcsok között bizonyosak kezdő- és bizonyosak végállapotok. A kezdőállapotokat egy-egy befutó nyíl jelzi, míg a végállapotokat két-két koncentrikus kör. Ha két csúcs között több, ugyanolyan irányú él van, akkor ezeket helyettesítjük egyetlen éllel, amelyre a betűket vesszővel elválasztva írjuk. Ezt a gráfot átmenetgráfnak fogjuk hívni példa. Legyen A = (Q, Σ, E, I, F), ahol Q = {q 0, q 1, q 2 }, Σ = {0, 1, 2}, E = { (q 0, 0, q 0 ), (q 0, 1, q 1 ), (q 0, 2, q 2 ), (q 1, 0, q 1 ), (q 1, 1, q 2 ), (q 1, 2, q 0 ),

29 akonyv 2006/12/18 11:53 page 21 # Véges automaták értelmezése 21 a 1 a 2 a 3... a n bemeneti szalag vezérlőmű igen/nem 2.1. ábra. Véges automata. 2 0 q q q ábra. A 2.1. példában szereplő véges automata. (q 2, 0, q 2 ), (q 2, 1, q 0 ), (q 2, 2, q 1 ) } I = {q 0 }, F = {q 0 }. Az automata a 2.2. ábrán látható. Egy (p,a,q) élnek p a kezdőpontja, q a végpontja, a pedig a címkéje. Értelmezzük a gráfoknál használatos séta fogalmát. A (q 0,a 1,q 1 ),(q 1,a 2,q 2 ),...,(q n 2,a n 1,q n 1 ),(q n 1,a n,q n ) élsorozat a nemdeterminisztikus véges automata egy sétája, amelynek címkéje az a 1 a 2... a n szó. Ha n = 0, akkor q 0 = q n és a 1 a 2...a n = ε. Az ilyen sétát

30 akonyv 2006/12/18 11:53 page 22 # Véges automaták és reguláris nyelvek q 1 1 q 2 0,1 0 q 0 A 0,1 0,1 q 0 0 q 1 1 q 2 B 2.3. ábra. Nemdeterminisztikus véges automaták. δ 0 1 q 0 {q 1 } q 1 {q 2 } q 2 {q 2 } {q 2 } δ 0 1 q 0 {q 0,q 1 } {q 0 } q 1 {q 2 } q 2 {q 2 } {q 2 } A B 2.4. ábra. A 2.3. ábrán látható két véges automata átmenettáblázata. üres sétának nevezzük. A séta jelölése a q 1 a 0 2 a q1 3 a n 1 a q2 q n n 1 qn, w vagy ha w = a 1 a 2...a n, akkor röviden: q 0 qn. Itt q 0 a séta kezdőpontja, q n pedig a végpontja. A sétában szereplő állapotok nem feltétlenül különbözők. Egy séta produktív, ha kezdőpontja kezdőállapot, végpontja pedig végállapot. Azt mondjuk, hogy a nemdeterminisztikus véges automata felismer egy szót, ha az a szó egy produktív séta címkéje. Az ε üres szót a nemdeterminisztikus véges automata akkor ismeri fel, ha van produktív üres séta, amely egyenértékű azzal, hogy van olyan kezdőállapot, amely egyben végállapot is. Egy nemdeterminisztikus véges automata által felismert szavak halmazát a nemdeterminisztikus véges automata által felismert nyelvnek mondjuk. Az A nemdeterminisztikus véges automata által felismert nyelv { } L(A) = w Σ p I, q F, p w q. Az A 1 és A 2 véges automaták ekvivalensek, ha L(A 1 ) = L(A 2 ). Sokszor hasznos definiálni a következő átmenetfüggvényt: δ : Q Σ P(Q), δ(p,a) = {q Q (p,a,q) E}.

31 akonyv 2006/12/18 11:53 page 23 # Véges automaták értelmezése 23 Ez a függvény egy p állapotnak és egy a betűnek megfelelteti azt az állapothalmazt, amelynek állapotaiba átmehet a véges automata, ha a p állapotban van és az olvasófej az a betűre mutat. Jelöljük H -val a H halmaz elemeinek a számát. 1 Egy nemdeterminisztikus véges automatáról azt mondjuk, hogy determinisztikus, ha I = 1 és δ(q,a) 1, q Q, a Σ. A 2.2. ábrán egy determinisztikus véges automata látható. A δ(q,a) 1 feltételt helyettesíthetjük a következővel: (p,a,q) E, (p,a,r) E = q = r, p,q,r Q, a Σ. Ha a determinisztikus véges automata olyan, hogy δ(q,a) = 1 minden q Q állapotra és minden a Σ betűre, akkor azt mondjuk, hogy teljes, determinisztikus véges automata. Minden determinisztikus véges automata teljessé tehető egy új állapot bevezetésével, amelyet csapdaállapotnak szokás nevezni. Legyen A = (Q,Σ,E, {q 0 },F) egy determinisztikus véges automata. A vele ekvivalens teljes, determinisztikus véges automata pedig A = (Q {s},σ,e, {q 0 },F), ahol s egy új állapot és E = E { (p,a,s) δ(p,a) =,p Q,a Σ } { (s,a,s) a Σ }. Mivel ez az új állapot nem produktív, könnyű belátni, hogy L(A) = L(A ). A következőkben, amennyiben csak véges automatát írunk, ezalatt mindig nemdeterminisztikus véges automatát értünk. Ha az automata determinisztikus, akkor ezt mindig hangsúlyozzuk. Az átmenetfüggvény segítségével könnyen elkészíthetjük a véges automata átmenettáblázatát. A táblázat sorai Q elemeivel, oszlopai Σ elemeivel vannak indexelve. A q Q sor és az a Σ oszlop kereszteződésénél található elem δ(q,a). A 2.2. ábra esetében az átmenettáblázat a következő : δ q 0 {q 0 } {q 1 } {q 2 } q 1 {q 1 } {q 2 } {q 0 } q 2 {q 2 } {q 0 } {q 1 } A 2.3. ábrán látható két véges automata egyike sem determinisztikus, az első (az A véges automata) azért mert két kezdőállapota van, a második (a B véges automata) pedig azért, mert a q 0 állapotból 0-val a q 0 és q 1 állapotokba is el lehet jutni. A két véges automata átmenettáblázata a 2.4. ábrán látható. 1 Nem értelemzavaró az, hogy ugyanazt a jelölést használjuk a halmaz számosságára, mint a szó hosszára, hiszen a szót mindig kisbetűvel jelöljük, a halmazt pedig nagybetűvel. Kivétel csak a δ(q, a) jelölés, amely nem téveszthető össze szóval.

32 akonyv 2006/12/18 11:53 page 24 # Véges automaták és reguláris nyelvek L(A) azon szavak halmaza Σ = {0,1} felett, amelyek nem kezdődnek két 0-val (természetesen az ε is eleme a nyelvnek), L(B) pedig azon szavaké, amelyekben van 01 részszó Elérhetetlen állapotok kizárása Legyen A = (Q,Σ,E,I,F) egy véges automata. Egy állapotot elérhetőnek nevezünk, ha egy kezdőállapotból valamely bemeneti szó hatására eljuthatunk ebbe az állapotba. A következő algoritmus meghatározza egy véges automatában az elérhető állapotokat az U 0, U 1, U 2,... halmazok felépítésével, ahol U 0 a kezdőállapotok halmaza, és tetszőleges i 1 természetes számra U i azon állapotok halmaza, amelyekbe el lehet jutni valamely kezdőállapotból egy legfeljebb i hosszúságú bemeneti szó hatására. Elérhető-állapotok(A) 1 U 0 I 2 i 0 3 repeat 4 i i U i U i 1 6 for minden q U i 1 7 do for minden a Σ 8 do U i U i δ(q,a) 9 until U i = U i 1 10 U U i 11 return U A Q \ U halmaz elemei nem elérhető állapotok, ezért kizárhatók a véges automatából anélkül, hogy az általa felismert nyelvet megváltoztatnánk. Ha Q = n és Σ = m, akkor a fenti algoritmus lépésszáma legrosszabb esetben O(n 2 m), mivel a két egymásba ágyazott ciklus lépésszáma legfeljebb nm, a repeat ciklusé pedig n. Az így megkonstruált U halmaznak megvan az a tulajdonsága, hogy L(A) akkor és csakis akkor, ha U F. Ezáltal a fenti algoritmus kiegészíthető a U F feltétellel, hogy eldöntse, hogy a felismert L(A) nyelv üres-e vagy sem Nemproduktív állapotok kizárása Legyen A = (Q,Σ,E,I,F) egy véges automata. Egy állapotot produktívnak nevezünk, ha abból az állapotból valamely bemeneti szó hatására eljuthatunk egy végállapotba.

33 akonyv 2006/12/18 11:53 page 25 # NDVA átalakítása DVA-vá 25 A produktív állapotok meghatározására szolgáló következő algoritmus használja a δ 1 függvényt, amelynek definíciója a következő: δ 1 : Q Σ P(Q), δ 1 (p,a) = {q (q,a,p) E}. Ez a függvény egy p állapotra és egy a betűre megadja azt az állapothalmazt, amelynek elemeiből az a betű hatására el lehet jutni a p állapotba. Produktív-állapotok(A) 1 V 0 F 2 i 0 3 repeat 4 i i V i V i 1 6 for minden p V i 1 7 do for minden a Σ 8 do V i V i δ 1 (p,a) 9 until V i = V i 1 10 V V i 11 return V A Q \ V halmaz elemei nem produktív állapotok, ezért kizárhatók a véges automatából, anélkül, hogy az általa felismert nyelvet befolyásolnánk. Ha n az állapotok száma és m a betűk száma, akkor a lépésszám ebben az esetben is O(n 2 m), akárcsak az Elérhető-állapotok algoritmus esetében. Az így megkonstruált V halmaznak is megvan az a tulajdonsága, hogy L(A) akkor és csakis akkor, ha V I. Ezért, kis módosítással, ez az algoritmus is használható annak eldöntésére, hogy L(A) üres-e Nemdeterminisztikus véges automata átalakítása determinisztikus véges automatává A következőkben megmutatjuk, hogy tetszőleges nemdeterminisztikus véges automata átalakítható olyan determinisztikus véges automatává, amelyik ekvivalens az eredetivel tétel. Tetszőleges nemdeterminisztikus véges automatához mindig megkonstruálható egy vele ekvivalens determinisztikus véges automata. Bizonyítás. Legyen A = (Q, Σ, E, I, F) egy nemdeterminisztikus véges automata. Értelmezzük az A = (Q,Σ,E,I,F) determinisztikus véges automatát, ahol Q = P(Q) \,

34 akonyv 2006/12/18 11:53 page 26 # Véges automaták és reguláris nyelvek E élei azon (S,a,R) alakú hármasokból állnak, amelyekre R,S Q, egyik sem üres, a Σ és R = p S δ(p,a), I = {I}, F = {S Q S F }. Be kell bizonyítanunk, hogy L(A) = L(A). a) Bebizonyítjuk, hogy L(A) L(A). Legyen w = a 1 a 2...a k L(A). Ekkor létezik a a q 1 a 0 2 a q1 3 a k 1 a q2 q k k 1 qk, q 0 I, q k F séta. Képezzük a következő halmazokat, felhasználva az A véges automata δ átmenetfüggvényét: S 0 = {q 0 }, δ(s 0,a 1 ) = S 1,...δ(S k 1,a k ) = S k. Ekkor q 1 S 1,...,q k S k, és mivel q k F, következik, hogy S k F, tehát S k F. Így létezik az a S 1 a 0 2 a S1 3 a k 1 a S2 S k k 1 Sk, S 0 I, S k F séta. Vannak olyan S 0,...,S k halmazok, amelyekre S 0 = I, továbbá minden i = 0,1,...,k-ra S i S i és S 0 a 1 S a 2 1 S a 3 a k 1 2 S k 1 a k S k is produktív séta. Ezért w L(A). Tehát L(A) L(A). b) Bebizonyítjuk, hogy L(A) L(A). Legyen w = a 1 a 2...a k L(A). Ekkor létezik a a q 1 a 0 2 a q1 3 a k 1 a q2 q k k 1 qk, q 0 I, q k F séta. Az F definíciója alapján q k F, azaz létezik q k q k F, tehát q k F és q k definíciója alapján létezik q k 1 úgy, hogy (q k 1,a k,q k ) E. Hasonlóképpen, léteznek a q k 2,...,q 1,q 0 állapotok úgy, hogy (q k 2,a k,q k 1 ) E,...,(q 0,a 1,q 1 ) E, ahol q 0 q 0 = I, ezért létezik a a q 1 a 0 2 a q1 3 a k 1 a q2 q k k 1 qk, q 0 I, q k F séta, tehát L(A) L(A). A determinisztikus véges automata megkonstruálásában segítségünkre lehet ennek δ átmenetfüggvénye: δ(q,a) = δ(q, a), q Q, a Σ. q q Mivel az üres halmazt kizártuk az állapotok közül, a fenti képletben { } helyett -t írunk.

35 akonyv 2006/12/18 11:53 page 27 # NDVA átalakítása DVA-vá 27 1 S 0 0 S 1 2 S 3 0, ábra.a 2.3. ábra A véges automatájával ekvivalens determinisztikus véges automata példa. Alkalmazzuk a tételt a 2.3. ábra A véges automatájára, amely nemdeterminisztikus. Vezessük be a determinisztikus véges automata állapotaira a következő jelöléseket: S 0 := {q 0, q 1 }, S 1 := {q 0 }, S 2 := {q 1 }, S 3 := {q 2 }, S 4 := {q 0, q 2 }, S 5 := {q 1, q 2 }, S 6 := {q 0, q 1, q 2 }, amelyek közül S 0 a kezdőállapot. Ekkor alkalmazva az átmenetfüggvényt a következő átmenettáblázatot kapjuk: δ 0 1 S 0 {S 2 } {S 3 } S 1 {S 2 } S 2 {S 3 } S 3 {S 3 } {S 3 } S 4 {S 5 } {S 3 } S 5 {S 3 } {S 3 } S 6 {S 5 } {S 3 } Ebben az automatában sok elérhetetlen állapot van. Az Elérhető-állapotok algoritmus szerint a véges automata elérhető állapotai a következők szerint határozhatók meg. U 0 = {S 0 }, U 1 = {S 0, S 2, S 3 }, U 2 = {S 0, S 2, S 3 } = U 1 = U. Az S 0 kezdőállapot és egyben végállapot is. Az S 2 és S 3 mindegyike végállapot. Az S 1, S 4, S 5, S 6 elérhetetlen állapotok, ezért kizárjuk őket a véges automatából. Az így kapott véges automata átmenettáblázata a következő: δ 0 1 S 0 {S 2 } {S 3 } S 2 {S 3 } S 3 {S 3 } {S 3 } Az ennek megfelelő determinisztikus véges automata átmenetgráfja a 2.5. ábrán látható.

36 akonyv 2006/12/18 11:53 page 28 # Véges automaták és reguláris nyelvek A tétel által nyújtott algoritmus egyszerűsíthető. Nem kell a nemdeterminisztikus véges automata állapothalmazának minden részhalmazát figyelembe venni. Az A véges automata állapotait fokozatosan kapjuk meg úgy, hogy elindulunk a q 0 = I állapottal, meghatározzuk a δ(q 0,a) állapotokat, minden a Σ elemre. Az újonnan kapott állapotokra szintén meghatározzuk az átmenetek alapján a belőlük elérhető állapotokat. Ezt addig folytatjuk, amíg már nem kapunk új állapotokat. Az előző példánkban legyen q 0 := {q 0,q 1 } a kezdőállapot, és innen δ(q 0,0) = {q 1 }, ahol q 1 := {q 1 }, δ(q 0,1) = {q 2 }, ahol q 2 := {q 2 }, δ(q 1,0) =, δ(q 1,1) = {q 2 }, δ(q 2,0) = {q 2 }, δ(q 2,1) = {q 2 }. Az átmenettáblázat a következő: δ 0 1 q 0 {q 1 } {q 2 } q 1 {q 2 } q 2 {q 2 } {q 2 } amely lényegében ugyanaz (ha eltekintünk a jelölésektől), mint az előbb kapott véges automata átmenettáblázata. A következő algoritmus egy A = (Q, Σ, E, I, F) nemdeterminisztikus véges automatához megkonstruálja a vele ekvivalens A = (Q,Σ,E,I,F) determinisztikus véges automata M átmenettáblázatát, de nem tartalmazza annak megállapítását, hogy egy állapot végállapot-e vagy sem. Ez utóbbi azonban könnyűszerrel beépíthető. Az algoritmusban a Bennevan(q, Q) értéke igaz, ha a q állapot már szerepel a Q halmazban, és hamis ellenkező esetben. Legyen a 1,a 2,...,a m a Σ betűinek egy felsorolása. Nemdet-det(A) 1 q 0 I 2 Q {q 0 } 3 i 0 i a sorokat számolja. 4 k 0 k az állapotokat számolja.

37 akonyv 2006/12/18 11:53 page 29 # Determinisztikus véges automaták ekvivalenciájának vizsgálata 29 5 repeat 6 for j = 1,2,...,m j az oszlopokat számolja. 7 do q p q i δ(p,a j ) 8 if q 9 then if Bennevan(q, Q) 10 then M[i,j] {q} 11 else k k q k q 13 M[i,j] {q k } 14 Q Q {q k } 15 else M[i,j] 16 i i until i = k return az A automata M átmenettáblázata Mivel a repeat ciklust annyiszor végezzük el, ahány állapota van az új véges automatának, legrosszabb esetben ez exponenciális érték is lehet, hisz ha a nemdeterminisztikus véges automata állapotainak száma n, akkor az eredményautomatának akár 2 n 1 állapota is lehet. (Egy n elemű halmaz részhalmazainak a száma, beleértve az üres halmazt is, 2 n.) A tétel szerint tetszőleges nemdeterminisztikus véges automatához mindig hozzárendelhető egy vele ekvivalens determinisztikus véges automata. Ez fordítva is igaz, mivel az értelmezés szerint minden determinisztikus véges automata egyben nemdeterminisztikus is. Ezért a nemdeterminisztikus véges automaták ugyanazt a nyelvosztályt ismerik fel, mint a determinisztikus véges automaták Determinisztikus véges automaták ekvivalenciájának vizsgálata Ebben a részben csak teljes, determinisztikus véges automatákkal dolgozunk. Ezen automaták esetében a δ(q, a) halmaz mindig egyetlen elemet tartalmaz. Néha egyszerűbb, bizonyos képletekben, a δ(q, a) halmaz helyett annak az elemét használni, ezért értelmezzük az egyelemű A = {a} halmazra az elem(a) függvényt, amely visszaadja az A halmaz egyetlen elemét, azaz elem(a) = a. Determinisztikus véges automaták ekvivalenciáját vizsgáljuk az azonos címkéjű, kezdőállapottal kezdődő séták segítségével a két véges automatában. Ha egyik séta végállapottal végződik, a másik pedig nem, akkor a két automata nyilvánvalóan nem lehet ekvivalens.

http://www.ms.sapientia.ro/~kasa/formalis.htm

http://www.ms.sapientia.ro/~kasa/formalis.htm 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

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

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

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

Fordítóprogramok szerkesztése Flex és Bison segítségével

Fordítóprogramok szerkesztése Flex és Bison segítségével Fordítóprogramok szerkesztése Flex és Bison segítségével Bodó Zalán Fordítóprogramok szerkesztése Flex és Bison segítségével Kolozsvár, 2014 c Bodó Zalán c Erdélyi Múzeum-Egyesület, 2014 Felelős kiadó

Részletesebben

AUTOMATÁK ÉS FORMÁLIS NYELVEK PÉLDATÁR

AUTOMATÁK ÉS FORMÁLIS NYELVEK PÉLDATÁR Írta: ÉSIK ZOLTÁN GOMBÁS ÉVA IVÁN SZABOLCS AUTOMATÁK ÉS FORMÁLIS NYELVEK PÉLDATÁR Egyetemi tananyag 2011 COPYRIGHT: 2011 2016, Dr. Ésik Zoltán, Dr. Gombás Éva és Dr. Iván Szabolcs, Szegedi Tudományegyetem

Részletesebben

Számítástudomány matematikai alapjai segédlet táv és levelező

Számítástudomány matematikai alapjai segédlet táv és levelező Számítástudomány matematikai alapjai segédlet táv és levelező Horváth Árpád 2008. december 16. A segédletek egy része a matek honlapon található: http://www.roik.bmf.hu/matek Kötelező irodalom: Bagyinszki

Részletesebben

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet) Fordítóprogramok. (Fordítóprogramok felépítése, az egyes komponensek feladata. A lexikáliselemző működése, implementációja. Szintaktikus elemző algoritmusok csoportosítása, összehasonlítása; létrehozásuk

Részletesebben

JANUS PANNONIUS TUDOMÁNYEGYETEM. Schipp Ferenc ANALÍZIS I. Sorozatok és sorok

JANUS PANNONIUS TUDOMÁNYEGYETEM. Schipp Ferenc ANALÍZIS I. Sorozatok és sorok JANUS PANNONIUS TUDOMÁNYEGYETEM Schipp Ferenc ANALÍZIS I. Sorozatok és sorok Pécs, 1994 Lektorok: Dr. FEHÉR JÁNOS egyetemi docens, kandidtus. Dr. SIMON PÉTER egyetemi docens, kandidtus 1 Előszó Ez a jegyzet

Részletesebben

4. előadás. Vektorok

4. előadás. Vektorok 4. előadás Vektorok Vektorok bevezetése Ha adottak a térben az A és a B pontok, akkor pontosan egy olyan eltolás létezik, amely A-t B- be viszi. Ha φ egy tetszőleges eltolás, akkor ez a tér minden P pontjához

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

Miskolci Egyetem. Diszkrét matek I. Vizsga-jegyzet. Hegedűs Ádám Imre 2010.12.28.

Miskolci Egyetem. Diszkrét matek I. Vizsga-jegyzet. Hegedűs Ádám Imre 2010.12.28. Miskolci Egyetem Diszkrét matek I. Vizsga-jegyzet Hegedűs Ádám Imre 2010.12.28. KOMBINATORIKA Permutáció Ismétlés nélküli permutáció alatt néhány különböző dolognak a sorba rendezését értjük. Az "ismétlés

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

Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer

Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer Lineáris programozás Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer Feladat: Egy gyár kétféle terméket gyárt (A, B): /db Eladási ár 1000 800 Technológiai önköltség 400 300 Normaóraigény

Részletesebben

22. szakkör (Csoportelméleti alapfogalmak 1.)

22. szakkör (Csoportelméleti alapfogalmak 1.) 22. szakkör (Csoportelméleti alapfogalmak 1.) A) A PERMUTÁCIÓK CIKLIKUS SZERKEZETE 1. feladat: Egy húsztagú társaság ül az asztal körül. Néhányat közülük (esetleg az összeset) párba állítunk, és a párok

Részletesebben

Alkalmazott modul: Programozás

Alkalmazott modul: Programozás Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Feladatgyűjtemény Összeállította: Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Frissítve: 2015.

Részletesebben

Széchenyi István Egyetem, 2005

Széchenyi István Egyetem, 2005 Gáspár Csaba, Molnárka Győző Lineáris algebra és többváltozós függvények Széchenyi István Egyetem, 25 Vektorterek Ebben a fejezetben a geometriai vektorfogalom ( irányított szakasz ) erős általánosítását

Részletesebben

Geometriai axiómarendszerek és modellek

Geometriai axiómarendszerek és modellek Verhóczki László Geometriai axiómarendszerek és modellek ELTE TTK Matematikai Intézet Geometriai Tanszék Budapest, 2011 1) Az axiómákra vonatkozó alapvető ismeretek Egy matematikai elmélet felépítésének

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

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I 5 V ELEmI ALGEbRA 1 BINÁRIS műveletek Definíció Az halmazon definiált bináris művelet egy olyan függvény, amely -ből képez -be Ha akkor az elempár képét jelöljük -vel, a művelet

Részletesebben

Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR. Analízis I. példatár. (kidolgozott megoldásokkal) elektronikus feladatgyűjtemény

Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR. Analízis I. példatár. (kidolgozott megoldásokkal) elektronikus feladatgyűjtemény Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR Analízis I. példatár kidolgozott megoldásokkal) elektronikus feladatgyűjtemény Összeállította: Lengyelné Dr. Szilágyi Szilvia Miskolc, 013. Köszönetnyilvánítás

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

MATEMATIKA ÉRETTSÉGI 2006. május 9. EMELT SZINT

MATEMATIKA ÉRETTSÉGI 2006. május 9. EMELT SZINT ) A PQRS négyszög csúcsai: MATEMATIKA ÉRETTSÉGI 006. május 9. EMELT SZINT P 3; I., Q ;3, R 6; és S 5; 5 Döntse el, hogy az alábbi három állítás közül melyik igaz és melyik hamis! Tegyen * jelet a táblázat

Részletesebben

Hraskó András, Surányi László: 11-12. spec.mat szakkör Tartotta: Surányi László. Feladatok

Hraskó András, Surányi László: 11-12. spec.mat szakkör Tartotta: Surányi László. Feladatok Feladatok 1. Színezzük meg a koordinátarendszer rácspontjait két színnel, kékkel és pirossal úgy, hogy minden vízszintes egyenesen csak véges sok kék rácspont legyen és minden függőleges egyenesen csak

Részletesebben

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria I.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria I. Geometria I. Alapfogalmak: Az olyan fogalmakat, amelyeket nem tudunk egyszerűbb fogalmakra visszavezetni, alapfogalmaknak nevezzük, s ezeket nem definiáljuk. Pl.: pont, egyenes, sík, tér, illeszkedés.

Részletesebben

Lineáris Algebra gyakorlatok

Lineáris Algebra gyakorlatok A V 2 és V 3 vektortér áttekintése Lineáris Algebra gyakorlatok Írta: Simon Ilona Lektorálta: DrBereczky Áron Áttekintjük néhány témakör legfontosabb definícióit és a feladatokban használt tételeket kimondjuk

Részletesebben

Egy csodálatos egyenesről (A Simson-egyenes) Bíró Bálint, Eger

Egy csodálatos egyenesről (A Simson-egyenes) Bíró Bálint, Eger Egy csodálatos egyenesről (A Simson-egyenes) Bíró Bálint, Eger. feladat Állítsunk merőlegeseket egy húrnégyszög csúcsaiból a csúcsokon át nem menő átlókra. Bizonyítsuk be, hogy a merőlegesek talppontjai

Részletesebben

5. Trigonometria. 2 cos 40 cos 20 sin 20. BC kifejezés pontos értéke?

5. Trigonometria. 2 cos 40 cos 20 sin 20. BC kifejezés pontos értéke? 5. Trigonometria I. Feladatok 1. Mutassuk meg, hogy cos 0 cos 0 sin 0 3. KöMaL 010/október; C. 108.. Az ABC háromszög belsejében lévő P pontra PAB PBC PCA φ. Mutassuk meg, hogy ha a háromszög szögei α,

Részletesebben

Analízis előadás és gyakorlat vázlat

Analízis előadás és gyakorlat vázlat Analízis előadás és gyakorlat vázlat Készült a PTE TTK GI szakos hallgatóinak Király Balázs 00-. I. Félév . fejezet Számhalmazok és tulajdonságaik.. Nevezetes számhalmazok ➀ a) jelölése: N b) elemei:

Részletesebben

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Relációs algebra (áttekintés) 5.1.

Részletesebben

Mátrixok. 2015. február 23. 1. Feladat: Legyen ( 3 0 1 4 1 1 ( 1 0 3 2 1 0 B = A =

Mátrixok. 2015. február 23. 1. Feladat: Legyen ( 3 0 1 4 1 1 ( 1 0 3 2 1 0 B = A = Mátrixok 25. február 23.. Feladat: Legyen A ( 3 2 B ( 3 4 Határozzuk meg A + B, A B, 2A, 3B, 2A 3B,A T és (B T T mátrixokat. A deníciók alapján ( + 3 + 3 + A + B 2 + 4 + + ( 4 2 6 2 ( ( 3 3 2 4 A B 2 4

Részletesebben

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ Matematika emelt szint 0613 ÉRETTSÉGI VIZSGA 007. május 8. MATEMATIKA EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM Formai előírások: Fontos tudnivalók

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 7 VII. Gyűrűk 1. Gyűrű Definíció Egy a következő axiómákat: gyűrű alatt olyan halmazt értünk, amelyben definiálva van egy összeadás és egy szorzás, amelyek teljesítik (1) egy

Részletesebben

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete 8. Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Sok optimalizálási probléma esetén

Részletesebben

MATEMATIKA 9. osztály Segédanyag 4 óra/hét

MATEMATIKA 9. osztály Segédanyag 4 óra/hét MATEMATIKA 9. osztály Segédanyag 4 óra/hét - 1 - Az óraszámok az AROMOBAN követhetőek nyomon! A tananyag feldolgozása a SOKSZÍNŰ MATEMATIKA (Mozaik, 013) tankönyv és a SOKSZÍNŰ MATEMATIKA FELADATGYŰJTEMÉNY

Részletesebben

Soukup Dániel, Matematikus Bsc III. év Email cím: dsoukup123@gmail.com Témavezető: Szentmiklóssy Zoltán, egyetemi adjunktus

Soukup Dániel, Matematikus Bsc III. év Email cím: dsoukup123@gmail.com Témavezető: Szentmiklóssy Zoltán, egyetemi adjunktus Síktopológiák a Sorgenfrey-egyenes ötletével Soukup Dániel, Matematikus Bsc III. év Email cím: dsoukup123@gmail.com Témavezető: Szentmiklóssy Zoltán, egyetemi adjunktus 1. Bevezetés A Sorgenfrey-egyenes

Részletesebben

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. Párosítások

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. Párosítások Gráfelmélet/Diszkrét Matematika MSc hallgatók számára Párosítások 2012. november 19. Előadó: Hajnal Péter 1. Alapfogalmak Emlékeztető. Legyen G egy gráf, E(G) a G élhalmaza, V (G) gráfunk csúcshalmaza.

Részletesebben

Mátrixok. 3. fejezet. 3.1. Bevezetés: műveletek táblázatokkal

Mátrixok. 3. fejezet. 3.1. Bevezetés: műveletek táblázatokkal fejezet Mátrixok Az előző fejezetben a mátrixokat csak egyszerű jelölésnek tekintettük, mely az egyenletrendszer együtthatóinak tárolására, és az egyenletrendszer megoldása közbeni számítások egyszerüsítésére

Részletesebben

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ Matematika emelt szint 05 ÉRETTSÉGI VIZSGA 006. május 9. MATEMATIKA EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI MINISZTÉRIUM Formai előírások: Fontos tudnivalók A dolgozatot

Részletesebben

2. Halmazelmélet (megoldások)

2. Halmazelmélet (megoldások) (megoldások) 1. A pozitív háromjegy páros számok halmaza. 2. Az olyan, 3-mal osztható egész számok halmaza, amelyek ( 100)-nál nagyobbak és 100-nál kisebbek. 3. Az olyan pozitív egész számok halmaza, amelyeknek

Részletesebben

MATEMATIKA ÍRÁSBELI ÉRETTSÉGI-FELVÉTELI FELADATOK 2003. május 19. du. JAVÍTÁSI ÚTMUTATÓ

MATEMATIKA ÍRÁSBELI ÉRETTSÉGI-FELVÉTELI FELADATOK 2003. május 19. du. JAVÍTÁSI ÚTMUTATÓ MATEMATIKA ÍRÁSBELI ÉRETTSÉGI-FELVÉTELI FELADATOK 00 május 9 du JAVÍTÁSI ÚTMUTATÓ Oldja meg a rendezett valós számpárok halmazán az alábbi egyenletrendszert! + y = 6 x + y = 9 x A nevezők miatt az alaphalmaz

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

Lineáris algebra I. Kovács Zoltán. Előadásvázlat (2006. február 22.)

Lineáris algebra I. Kovács Zoltán. Előadásvázlat (2006. február 22.) Lineáris algebra I. Kovács Zoltán Előadásvázlat (2006. február 22.) 2 3 Erdős Jenő emlékének. 4 Tartalomjegyzék 1. A szabadvektorok vektortere 7 1. Szabadvektorok összeadása és skalárral való szorzása...............

Részletesebben

Analízisfeladat-gyűjtemény IV.

Analízisfeladat-gyűjtemény IV. Oktatási segédanyag a Programtervező matematikus szak Analízis. című tantárgyához (003 004. tanév tavaszi félév) Analízisfeladat-gyűjtemény IV. (Függvények határértéke és folytonossága) Összeállította

Részletesebben

1. Bevezetés. A számítógéptudomány ezt a problémát a feladat elvégzéséhez szükséges erőforrások (idő, tár, program,... ) mennyiségével méri.

1. Bevezetés. A számítógéptudomány ezt a problémát a feladat elvégzéséhez szükséges erőforrások (idő, tár, program,... ) mennyiségével méri. Számításelmélet Dr. Olajos Péter Miskolci Egyetem Alkalmazott Matematika Tanszék e mail: matolaj@uni-miskolc.hu 2011/12/I. Készült: Péter Gács and László Lovász: Complexity of Algorithms (Lecture Notes,

Részletesebben

Bevezetés a számításelméletbe I. feladatgyűjtemény. Szeszlér Dávid, Wiener Gábor

Bevezetés a számításelméletbe I. feladatgyűjtemény. Szeszlér Dávid, Wiener Gábor Bevezetés a számításelméletbe I. feladatgyűjtemény Szeszlér Dávid, Wiener Gábor Tartalomjegyzék Előszó 2 1. Feladatok 5 1.1. Térbeli koordinátageometria........................... 5 1.2. Vektortér, altér..................................

Részletesebben

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia

Részletesebben

Megoldókulcs. Matematika D kategória (11-12. osztályosok) 2015. február 6.

Megoldókulcs. Matematika D kategória (11-12. osztályosok) 2015. február 6. Megoldókulcs Matematika D kategória (11-12. osztályosok) 2015. február 6. 1. Az ABC háromszög mindhárom csúcsából merőlegeseket állítunk a többi csúcs külső és belső szögfelezőire. Igazoljuk, hogy az így

Részletesebben

Mesterséges intelligencia, 7. előadás 2008. október 13. Készítette: Masa Tibor (KPM V.)

Mesterséges intelligencia, 7. előadás 2008. október 13. Készítette: Masa Tibor (KPM V.) Mesterséges intelligencia, 7. előadás 2008. október 13. Készítette: Masa Tibor (KPM V.) Bizonytalanságkezelés: Az eddig vizsgáltakhoz képest teljesen más világ. A korábbi problémák nagy része logikai,

Részletesebben

Halmazok-előadás vázlat

Halmazok-előadás vázlat Halmazok-előadás vázlat Naiv halmazelmélet:. Mi a halmaz? Mit jelent, hogy valami eleme a halmaznak? Igaz-e, hogy a halmaz elemei valamilyen kapcsolatban állnak egymással? Jelölés: a A azt jelenti, hogy

Részletesebben

Szeminárium-Rekurziók

Szeminárium-Rekurziók 1 Szeminárium-Rekurziók 1.1. A sorozat fogalma Számsorozatot kapunk, ha pozitív egész számok mindegyikéhez egyértelműen hozzárendelünk egy valós számot. Tehát a számsorozat olyan függvény, amelynek az

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

Halmazok. Halmazelméleti lapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai.

Halmazok. Halmazelméleti lapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai. Halmazok Halmazelméleti lapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai. 1. lapfogalmak halmaz és az eleme fogalmakat alapfogalmaknak tekintjük, nem deniáljuk ket. Jelölés: x H,

Részletesebben

XIII. Bolyai Konferencia Bodnár József Eötvös József Collegium, ELTE TTK, III. matematikus. A véletlen nyomában

XIII. Bolyai Konferencia Bodnár József Eötvös József Collegium, ELTE TTK, III. matematikus. A véletlen nyomában XIII. Bolyai Konferencia Bodnár József Eötvös József Collegium, ELTE TTK, III. matematikus A véletlen nyomában Mi is az a véletlen? 1111111111, 1010101010, 1100010111 valószínűsége egyaránt 1/1024 Melyiket

Részletesebben

Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/2002 2. félév

Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/2002 2. félév 1. oldal, összesen: 6 Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/2002 2. félév NÉV:... 1. Legyenek,Q,M páronként diszjunkt halmazok; /= Ř, Q > 2, M = 3. Egyszalagos, determinisztikus Turing gépnek

Részletesebben

Fejezetek az abszolút geometriából 6. Merőleges és párhuzamos egyenesek

Fejezetek az abszolút geometriából 6. Merőleges és párhuzamos egyenesek Fejezetek az abszolút geometriából 6. Merőleges és párhuzamos egyenesek Ebben a fejezetben megadottnak feltételezzük az abszolút tér egy síkját és tételeink mindig ebben a síkban értendők. T1 (merőleges

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

Megoldások, megoldás ötletek (Jensen-egyenlőtlenség)

Megoldások, megoldás ötletek (Jensen-egyenlőtlenség) Megoldások, megoldás ötletek (Jensen-egyenlőtlenség) Mivel az f : 0; ; x sin x folytonos az értelmezési tartományán, ezért elég azt belátni, hogy szigorúan gyengén konkáv ezen az intervallumon Legyen 0

Részletesebben

Fordítóprogramok. Ajánlott irodalom. Jelölések 2. Jelölések 1. Fordítóprogramok szerkezete. Elıadó: Pozsgai Tamás. Aho-Sethi-Ullmann: Compilers

Fordítóprogramok. Ajánlott irodalom. Jelölések 2. Jelölések 1. Fordítóprogramok szerkezete. Elıadó: Pozsgai Tamás. Aho-Sethi-Ullmann: Compilers Fordítóprogramok Ajánlott irodalom Fordítóprogramok szerkezete Aho-Sethi-Ullmann: Compilers Csörnyei Zoltán: Fordítóprogramok Elıadó: Pozsgai Tamás A jegyzet Csörnyei Zoltán: Fordítóprogramok címő könyvének

Részletesebben

LINEÁRIS ALGEBRA PÉLDATÁR MÉRNÖK INFORMATIKUSOKNAK

LINEÁRIS ALGEBRA PÉLDATÁR MÉRNÖK INFORMATIKUSOKNAK Írta: LEITOLD ADRIEN LINEÁRIS ALGEBRA PÉLDATÁR MÉRNÖK INFORMATIKUSOKNAK Egyetemi tananyag COPYRIGHT: Dr. Leitold Adrien Pannon Egyetem Műszaki Informatika Kar Matematika Tanszék LEKTORÁLTA: Dr. Buzáné

Részletesebben

Nyugat-magyarországi Egyetem Geoinformatikai Kara. Prof. Dr. Závoti József. Matematika III. 2. MA3-2 modul. Eseményalgebra

Nyugat-magyarországi Egyetem Geoinformatikai Kara. Prof. Dr. Závoti József. Matematika III. 2. MA3-2 modul. Eseményalgebra Nyugat-magyarországi Egyetem Geoinformatikai Kara Prof. Dr. Závoti József Matematika III. 2. MA3-2 modul Eseményalgebra SZÉKESFEHÉRVÁR 2010 Jelen szellemi terméket a szerzői jogról szóló 1999. évi LXXVI.

Részletesebben

ÉS TESZTEK A DEFINITSÉG

ÉS TESZTEK A DEFINITSÉG MÁTRIX DEFINITSÉGÉNEK FOGALMA ÉS TESZTEK A DEFINITSÉG ELDÖNTÉSÉRE DR. NAGY TAMÁS egyetemi docens Miskolci Egyetem Alkalmazott Matematikai Tanszék A bemutatott kutató munka a TÁMOP-..1.B-10//KONV-010-0001

Részletesebben

Komputer statisztika gyakorlatok

Komputer statisztika gyakorlatok Eszterházy Károly Főiskola Matematikai és Informatikai Intézet Tómács Tibor Komputer statisztika gyakorlatok Eger, 2010. október 26. Tartalomjegyzék Előszó 4 Jelölések 5 1. Mintagenerálás 7 1.1. Egyenletes

Részletesebben

4. modul Poliéderek felszíne, térfogata

4. modul Poliéderek felszíne, térfogata Matematika A 1. évfolyam 4. modul Poliéderek felszíne, térfogata Készítette: Vidra Gábor Matematika A 1. évfolyam 4. modul: POLIÉDEREK FELSZÍNE, TÉRFOGATA Tanári útmutató A modul célja Időkeret Ajánlott

Részletesebben

2. feladat Legyenek 1 k n rögzített egészek. Mennyi az. x 1 x 2...x k +x 2 x 3...x k+1 +...+x n k+1 x n k+2...x n

2. feladat Legyenek 1 k n rögzített egészek. Mennyi az. x 1 x 2...x k +x 2 x 3...x k+1 +...+x n k+1 x n k+2...x n Országos Középiskolai Tanulmányi Verseny, 2012 13-as tanév MATEMATIKA, III. kategória a gimnáziumok speciális matematikai osztályainak tanulói részére Az első forduló feladatainak megoldásai Kérjük a javító

Részletesebben

Gyakorló feladatok ZH-ra

Gyakorló feladatok ZH-ra Algoritmuselmélet Schlotter Ildi 2011. április 6. ildi@cs.bme.hu Gyakorló feladatok ZH-ra Nagyságrendek 1. Egy algoritmusról tudjuk, hogy a lépésszáma O(n 2 ). Lehetséges-e, hogy (a) minden páros n-re

Részletesebben

2) = 0 ahol x 1 és x 2 az ax 2 + bx + c = 0 ( a,b, c R és a 0 )

2) = 0 ahol x 1 és x 2 az ax 2 + bx + c = 0 ( a,b, c R és a 0 ) Fogalom gyűjtemény Abszcissza: az x tengely Abszolút értékes egyenletek: azok az egyenletek, amelyekben abszolút érték jel szerepel. Abszolútérték-függvény: egy elemi egyváltozós valós függvény, mely minden

Részletesebben

Feladatok. BNF,EBNF,szintaxisgráf

Feladatok. BNF,EBNF,szintaxisgráf Feladatok BNF,EBNF,szintaxisgráf 1. Rajzoljuk fel a megfelelő szintaxisgráfot! angol szótár ::=@{ angol szó [ fonetikus alak ]@{ sorszám. jelentés }; } 2. Írjuk fel egy vagy több EBNF-fel az egészegyütthatós

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

BUDAPESTI KÖZGAZDASÁGTUDOMÁNYI EGYETEM. Puskás Csaba, Szabó Imre, Tallos Péter LINEÁRIS ALGEBRA JEGYZET

BUDAPESTI KÖZGAZDASÁGTUDOMÁNYI EGYETEM. Puskás Csaba, Szabó Imre, Tallos Péter LINEÁRIS ALGEBRA JEGYZET BUDAPESTI KÖZGAZDASÁGTUDOMÁNYI EGYETEM Puskás Csaba, Szabó Imre, Tallos Péter LINEÁRIS ALGEBRA JEGYZET BUDAPEST, 1997 A szerzők Lineáris Algebra, illetve Lineáris Algebra II c jegyzeteinek átdolgozott

Részletesebben

TARTALOMJEGYZÉK ELŐSZÓ... 7 1. GONDOLKOZZ ÉS SZÁMOLJ!... 9 2. HOZZÁRENDELÉS, FÜGGVÉNY... 69

TARTALOMJEGYZÉK ELŐSZÓ... 7 1. GONDOLKOZZ ÉS SZÁMOLJ!... 9 2. HOZZÁRENDELÉS, FÜGGVÉNY... 69 TARTALOMJEGYZÉK ELŐSZÓ............................................................ 7 1. GONDOLKOZZ ÉS SZÁMOLJ!............................. 9 Mit tanultunk a számokról?............................................

Részletesebben

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk). Gyakorlatok Din 1 Jelölje P (n) azt a számot, ahányféleképpen mehetünk le egy n lépcsőfokból álló lépcsőn a következő mozgáselemek egy sorozatával (zárójelben, hogy mennyit mozgunk az adott elemmel): lépés

Részletesebben

Bevezetés. Párhuzamos vetítés és tulajdonságai

Bevezetés. Párhuzamos vetítés és tulajdonságai Bevezetés Az ábrázoló geometria célja a háromdimenziós térben elhelyezkedő alakzatok helyzeti és metrikus viszonyainak egyértelműen és egyértelműen visszaállítható (rekonstruálható) módon történő való

Részletesebben

Matematikai logika. Nagy Károly 2009

Matematikai logika. Nagy Károly 2009 Matematikai logika előadások összefoglalója (Levelezős hallgatók számára) Nagy Károly 2009 1 1. Elsőrendű nyelvek 1.1. Definíció. Az Ω =< Srt, Cnst, F n, P r > komponensekből álló rendezett négyest elsőrendű

Részletesebben

Mára új helyzet alakult ki: a korábbiakhoz képest nagyságrendekkel komplexebb

Mára új helyzet alakult ki: a korábbiakhoz képest nagyságrendekkel komplexebb Iskolakultúra 2004/8 Nagy József ny. egyetemi tanár, Szegedi Tudományegyetem, Szeged Az elemi kombinatív képesség kialakulásának kritériumorientált diagnosztikus feltárása tanulmány Ha beírjuk a számítógép

Részletesebben

PROGRAMOZÁS MÓDSZERTANI ALAPJAI I. TÉTELEK ÉS DEFINÍCIÓK

PROGRAMOZÁS MÓDSZERTANI ALAPJAI I. TÉTELEK ÉS DEFINÍCIÓK PROGRAMOZÁS MÓDSZERTANI ALAPJAI I. TÉTELEK ÉS DEFINÍCIÓK Szerkesztette: Bókay Csongor 2012 tavaszi félév Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: 2012. június

Részletesebben

MATEMATIKA FELADATGYŰJTEMÉNY

MATEMATIKA FELADATGYŰJTEMÉNY Pék Johanna MATEMATIKA FELADATGYŰJTEMÉNY Nem matematika alapszakos hallgatók számára Tartalomjegyzék Előszó iii. Lineáris algebra.. Mátrixok...................................... Lineáris egyenletrendszerek..........................

Részletesebben

Információelmélet Szemináriumi gyakorlatok

Információelmélet Szemináriumi gyakorlatok Információelmélet Szemináriumi gyakorlatok. feladat. Adott az alábbi diszkrét valószínűségi változó: ( ) a b c d X = Számítsuk ki az entróiáját: H(X ) =?. feladat. Adott az alábbi diszkrét valószínűségi

Részletesebben

2. Hatványozás, gyökvonás

2. Hatványozás, gyökvonás 2. Hatványozás, gyökvonás I. Elméleti összefoglaló Egész kitevőjű hatvány értelmezése: a 1, ha a R; a 0; a a, ha a R. Ha a R és n N; n > 1, akkor a olyan n tényezős szorzatot jelöl, aminek minden tényezője

Részletesebben

Valószínűségszámítás és statisztika. István Fazekas

Valószínűségszámítás és statisztika. István Fazekas Valószínűségszámítás és statisztika István Fazekas Tartalomjegyzék 1. fejezet. A valószínűségszámítás alapfogalmai 5 1.1. A valószínűség 5 1.2. Halmazalgebrák és σ-algebrák 11 1.3. A feltételes valószínűség

Részletesebben

JANUS PANNONIUS TUDOMÁNYEGYETEM. Schipp Ferenc ANALÍZIS II. ***************

JANUS PANNONIUS TUDOMÁNYEGYETEM. Schipp Ferenc ANALÍZIS II. *************** JANUS PANNONIUS TUDOMÁNYEGYETEM Schipp Ferenc ANALÍZIS II. Folytonosság, differenciálhatóság *************** Pécs, 1996 Lektorok: DR. SZÉKELYHIDI LÁSZLÓ egyetemi tanár, a mat. tud. doktora DR. SZILI LÁSZLÓ

Részletesebben

Válasz Szőnyi Tamásnak az Optimális térlefedő kódok kutatása című doktori értekezés opponensi bírálatára

Válasz Szőnyi Tamásnak az Optimális térlefedő kódok kutatása című doktori értekezés opponensi bírálatára Válasz Szőnyi Tamásnak az Optimális térlefedő kódok kutatása című doktori értekezés opponensi bírálatára Mindenekelőtt szeretném megköszönni Szőnyi Tamásnak, az MTA doktorának a támogató véleményét. Kérdést

Részletesebben

44. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY. Országos döntő, 1. nap - 2015. május 29.

44. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY. Országos döntő, 1. nap - 2015. május 29. 44. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY Országos döntő, 1. nap - 015. május 9. ÖTÖDIK OSZTÁLY - ok 1. Egy háromjegyű szám középső számjegyét elhagyva egy kétjegyű számot kaptunk. A két szám összege

Részletesebben

1. Lineáris leképezések

1. Lineáris leképezések Lineáris leképezések A lineáris leképezés fogalma Definíció (F5 Definíció) Legenek V és W vektorterek UGYANAZON T test fölött Az A : V W lineáris leképezés, ha összegtartó, azaz v,v 2 V esetén A(v +v 2

Részletesebben

TARTALOM. Ismétlő tesztek...248 ÚTMUTATÁSOK ÉS EREDMÉNYEK...255

TARTALOM. Ismétlő tesztek...248 ÚTMUTATÁSOK ÉS EREDMÉNYEK...255 TARTALOM. SZÁMHALMAZOK...5.. Természetes kitevőjű hatványok...5.. Negatív egész kitevőjű hatványok...6.. Racionális kitevőjű hatványok...7.4. Irracionális kitevőjű hatványok...0.5. Négyzetgyök és köbgyök...

Részletesebben

Fejezetek a lineáris algebrából PTE-PMMK, Műszaki Informatika Bsc. Dr. Kersner Róbert

Fejezetek a lineáris algebrából PTE-PMMK, Műszaki Informatika Bsc. Dr. Kersner Róbert Fejezetek a lineáris algebrából PTE-PMMK, Műszaki Informatika Bsc Dr. Kersner Róbert 007 Tartalomjegyzék Előszó ii. Determináns. Mátrixok 6 3. Az inverz mátrix 9 4. Lineáris egyenletrendszerek 5. Lineáris

Részletesebben

Erdélyi Magyar TudományEgyetem (EMTE

Erdélyi Magyar TudományEgyetem (EMTE TARTALOM: Általánosságok Algoritmusok ábrázolása: Matematikai-logikai nyelvezet Pszeudokód Függőleges logikai sémák Vízszintes logikai sémák Fastruktúrák Döntési táblák 1 Általánosságok 1. Algoritmizálunk

Részletesebben

Beadható feladatok. 2006. december 4. 1. Add meg az alábbi probléma állapottér-reprezentációját!

Beadható feladatok. 2006. december 4. 1. Add meg az alábbi probléma állapottér-reprezentációját! Beadható feladatok 2006. december 4. 1. Feladatok 2006. szeptember 13-án kitűzött feladat: 1. Add meg az alábbi probléma állapottér-reprezentációját! Adott I 1,..., I n [0, 1] intervallumokból szeretnénk

Részletesebben

Munkafüzet megoldások 7. osztályos tanulók számára. Makara Ágnes Bankáné Mező Katalin Argayné Magyar Bernadette Vépy-Benyhe Judit

Munkafüzet megoldások 7. osztályos tanulók számára. Makara Ágnes Bankáné Mező Katalin Argayné Magyar Bernadette Vépy-Benyhe Judit Kalandtúra 7. unkafüzet megoldások 7. osztályos tanulók számára akara Ágnes Bankáné ező Katalin Argayné agyar Bernadette Vépy-Benyhe Judit BEELEGÍTŐ GONDOLKODÁS. SZÓRAKOZTATÓ FELADVÁNYOK. oldal. 6... 6.

Részletesebben

BEVEZETÉS AZ ÁBRÁZOLÓ GEOMETRIÁBA

BEVEZETÉS AZ ÁBRÁZOLÓ GEOMETRIÁBA Pék Johanna BEVEZETÉS AZ ÁBRÁZOLÓ GEOMETRIÁBA (Matematika tanárszakos hallgatók számára) Tartalomjegyzék Előszó ii 0. Alapismeretek 1 0.1. Térgeometriai alapok............................. 1 0.2. Az ábrázoló

Részletesebben

Egyetemi matematika az iskolában

Egyetemi matematika az iskolában Matematikatanítási és Módszertani Központ Egyetemi matematika az iskolában Hegyvári Norbert 013 Tartalomjegyzék 1. Irracionális számok; 4. További irracionális számok 7 3. Végtelen tizedestörtek 7 4. Végtelen

Részletesebben

Dr. Jelasity Márk. Mesterséges Intelligencia I. Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin

Dr. Jelasity Márk. Mesterséges Intelligencia I. Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin Dr. Jelasity Márk Mesterséges Intelligencia I Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin Elsőrendű logika -Ítéletkalkulus : Az elsőrendű logika egy speciális esete, itt csak nullad

Részletesebben

Mesterséges Intelligencia I. (I602, IB602)

Mesterséges Intelligencia I. (I602, IB602) Dr. Jelasity Márk Mesterséges Intelligencia I. (I602, IB602) harmadik (2008. szeptember 15-i) előadásának jegyzete Készítette: Papp Tamás PATLACT.SZE KPM V. HEURISZTIKUS FÜGGVÉNYEK ELŐÁLLÍTÁSA Nagyon fontos

Részletesebben

Komáromi Éva LINEÁRIS PROGRAMOZÁS

Komáromi Éva LINEÁRIS PROGRAMOZÁS OPERÁCIÓKUTATÁS No.2. Komáromi Éva LINEÁRIS PROGRAMOZÁS Budapest 2005 Komáromi Éva LINEÁRIS PROGRAMOZÁS Javított kiadás OPERÁCIÓKUTATÁS No.2 Megjelenik az FKFP 0231 Program támogatásával a Budapesti Közgazdaságtudományi

Részletesebben

6. AZ EREDMÉNYEK ÉRTELMEZÉSE

6. AZ EREDMÉNYEK ÉRTELMEZÉSE 6. AZ EREDMÉNYEK ÉRTELMEZÉSE A kurzus anyagát felhasználva összeállíthatunk egy kitűnő feladatlapot, de még nem dőlhetünk nyugodtan hátra. Diákjaink teljesítményét még osztályzatokra kell átváltanunk,

Részletesebben

10. Valószínűségszámítás

10. Valószínűségszámítás . Valószínűségszámítás.. Események A valószínűségszámítás nagyon leegyszerűsítve események bekövetkezésének valószínűségével foglalkozik. Példák: Ha egy játékban egy dobókockával dobunk, akkor a kockadobás

Részletesebben

Gráfokkal megoldható hétköznapi problémák

Gráfokkal megoldható hétköznapi problémák Eötvös Loránd Tudományegyetem Természettudományi Kar Gráfokkal megoldható hétköznapi problémák Szakdolgozat Készítette Vincze Ágnes Melitta Konzulens Héger Tamás Budapest, 2015 Tartalomjegyzék Bevezetés

Részletesebben

BEVEZETÉS A FUZZY-ELVŰ SZABÁLYOZÁSOKBA. Jancskárné Dr. Anweiler Ildikó főiskolai docens. PTE PMMIK Műszaki Informatika Tanszék

BEVEZETÉS A FUZZY-ELVŰ SZABÁLYOZÁSOKBA. Jancskárné Dr. Anweiler Ildikó főiskolai docens. PTE PMMIK Műszaki Informatika Tanszék BEVEZETÉS A FUZZY-ELVŰ SZABÁLYOZÁSOKBA Jancskárné Dr. Anweiler Ildikó főiskolai docens PTE PMMIK Műszaki Informatika Tanszék A fuzzy-logika a kétértékű logika kalkulusának kiterjesztése. Matematikatörténeti

Részletesebben

9. modul Szinusz- és koszinusztétel. Készítette: Csákvári Ágnes

9. modul Szinusz- és koszinusztétel. Készítette: Csákvári Ágnes 9. modul Szinusz- és koszinusztétel Készítette: Csákvári Ágnes Matematika A 11. évfolyam 9. modul: Szinusz- és koszinusztétel Tanári útmutató A modul célja Időkeret Ajánlott korosztály Modulkapcsolódási

Részletesebben