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

Hasonló dokumentumok
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:

Algoritmuselmélet 12. előadás

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.

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

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

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

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:

Automaták mint elfogadók (akceptorok)

Chomsky-féle hierarchia

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

Automaták és formális nyelvek

Formális nyelvek - 5.

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

ZH feladatok megoldásai

Formális nyelvek - 9.

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

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

A Számítástudomány alapjai

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

Chomsky-féle hierarchia

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

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

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!

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

Információs rendszerek elméleti alapjai. Információelmélet

Matematika alapjai; Feladatok

Véges automaták, reguláris nyelvek

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

NP-teljesség röviden

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

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Államvizsga kérdések a matematikus szakon, 2001.

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.

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

Bonyolultságelmélet. Monday 26 th September, 2016, 18:28

KOVÁCS BÉLA, MATEMATIKA I.

Algoritmusok bonyolultsága

Bonyolultságelmélet. Monday 26 th September, 2016, 18:27. Bonyolultságelmélet

Kiterjesztések sek szemantikája

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

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

Diszkrét matematika I.

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2)

Atomataelmélet: A Rabin Scott-automata

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

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

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

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Számításelmélet. Will június 13. A kiszámíthatóság fogalma és a Church-Turing tézis

Algoritmuselmélet 18. előadás

Csempe átíró nyelvtanok

Teljes visszalépéses elemzés

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

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára

Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,,. (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. L nyelv lezártja.

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

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

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

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

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

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

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 1. Előadás

Formális nyelvek és automaták

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

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

2018, Diszkrét matematika

MintaFeladatok 2.ZH Megoldások

Fraktálok. Hausdorff távolság. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék március 14.

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

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

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

VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok

Formális Nyelvek és Automaták v1.9

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

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

Számítógép és programozás 2

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

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

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

Nagyordó, Omega, Theta, Kisordó

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

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

Mérhetőség, σ-algebrák, Lebesgue Stieltjes-integrál, véletlen változók és eloszlásfüggvényeik

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Programozási módszertan

Diszkrét matematika 2.C szakirány

7.4. A programkonstrukciók és a kiszámíthatóság

Példák. Ismert a római számok halmaza, amely intuitív szintaxissal rendelkezik, hiszen pl.

Logikai függvények osztályai. A függvényosztály a függvények egy halmaza.

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

6. ELŐADÁS DIFFERENCIÁLSZÁMÍTÁS II. DIFFERENCIÁLÁSI SZABÁLYOK. BSc Matematika I. BGRMA1HNND, BGRMA1HNNC

Alap fatranszformátorok II

Metrikus terek, többváltozós függvények

Általános algoritmustervezési módszerek

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

2010. október 12. Dr. Vincze Szilvia

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

Átírás:

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 d L u RE L h H10 L d RE Indirekte, közvetlenül Cantor diag. elv. L u R -ből következne, hogy L d RE L ε R L h R -ből következne, hogy L u R L ε R -ből következne, hogy L h R

Grammatikával generálható nyelvek (ism) 0: 1:CS 2:CF DCF 3:Reg.

Generatív grammatikák (ism) Definíció: Egy G = (V, Σ, R, S) négyes generatív grammatika, ahol: V egy véges halmaz, a grammatikai változók vagy nemterminálisok halmaza, Σ egy véges halmaz, diszjunkt V-vel, a terminálisok halmaza, R egy véges halmaz, a levezetési szabályok halmaza, ahol egy levezetési szabály alakja α β ahol α és β terminálisok és nemterminálisok sorozata, S V a kezdő- vagy mondatszimbólum.

Generatív grammatikák (ism) Definíció: A G = (V, Σ, R, S) grammatika generálja az L Σ* nyelvet, ha L = { w Σ* S * w } Jelölés: L(G) a G grammatika által generált nyelv.

Chomsky-féle nyelvosztályok (ism) A nyelvet generáló grammatika szabályaira tett megkötések alapján: 3-as nyelvosztály: reguláris (Reg) A a, A ab alakú szabályok 2-es nyelvosztály: környezetfüggetlen (CF) A α alakú szabályok 1-es nyelvosztály környezetfüggő (CS) β A γ β α γ alakú szabályok α β alakú szabályok ahol α β nem csökkenő megj: ezek ekvivalensek! 0-ás nyelvosztály: tetszőleges alakú szabályok

Rekurzíve felsorolható és nyelvtannal generálható nyelvek kapcsolata Tétel: A nyelvtannal generálható nyelvek osztálya megegyezik a rekurzíve felsorolható nyelvek osztályával. Azaz L nyelv akkor és csak akkor generálható grammatikával, ha van a nyelvet felismerő Turing -gép. Biz: irány (a Turing-Church tézisből is következik/azt támasztja alá) Megmutatjuk, hogy ha L grammatikával generálható, akkor van M TG, hogy L(M)=L. Legyen G = (V, Σ, R, S) grammatika mely L-et generálja. A grammatika szerinti levezetés egy-egy lépését meghatározza, hogy mely szabályt alkalmazzuk, és annak bal oldalát az éppen aktuális mondatszerű forma hányadik elemére illesztjük.

Rekurzíve felsorolható és nyelvtannal generálható nyelvek kapcsolata R w S nem változik, a szabályok kódolt alakja a bemeneti szó a k lépéssel levezethető mondatszerű formák munkaszalag, a k-1 lépés eredménye Négyszalagos, univerzális, nyelvtan szerinti levezetést szimuláló TG-et határozunk meg.

M működése: 1. Átmásolja a 3. szalagot a 4-re, majd törli 3 tartalmát. 2. A 4. szalagon szereplő minden egyes mondatszerű formára: a) Minden egyes α β szabályra megkeresi mindazon helyeket a mondatszerű formában, ahol α előfordul. b) Minden egyes ilyen esetben a mondatszerű formát úgy toldja hozzá a 3. szalagon szereplő sorozatokhoz, hogy elválasztójel után a mondatszerű forma megfelelő helyén α helyett β szerepel. 3. Megvizsgálja, hogy a 4. szalagon szerepel-e w-vel azonos mondatszerű forma. Ha igen, elfogadó állapotban megáll, ha nem, 1-re lép. M éppen a G grammatika által generált szavakat fogja elfogadni.

Rekurzíve felsorolható és nyelvtannal generálható nyelvek kapcsolata Biz: irány (vázlat) Egy M = (Q, Σ, Γ, δ, q 0, q elfogad, q elutasít ) TG-hez megkonstruáljuk azt a G = (V, Σ, R, S) grammatikát, amely éppen L(M)-et generálja. Feltesszük, hogy ha M megáll, akkor a szalag üres. (Ezek nem megszorító feltevések, mivel egy tetszőleges TG-hez megadható vele ekvivalens ilyen TG.) M működése során egy pillanatnyi konfigurációt megadunk egy jelsorozattal: u p v, ahol p egy állapot, uv a szalagon levő sorozat a végtelen sok_ jel előtt, a fej v első elemén áll. Például, az xa p by konfiguráció rákövetkezője az xac q y, ha δ(p, b) = (q, c, J) (a fej jobbra lépett)

Rekurzíve felsorolható és nyelvtannal generálható nyelvek kapcsolata A G grammatika V változói Q és Σ szimbólumai, valamint S és határ szimbólum. A szabályok M működését visszafelé írják le: 1. Ha δ(p, a) = (q, b, J), akkor b q p a 2. Ha δ(p, a) = (q, b, B), akkor q b p a 3. Szabályok az input elé és után beszúrt üres ill. határ szimbólumok törlésére Az egyetlen elfogadó állapot felel meg a kezdő szimbólumnak: S q elfogad _ Ha M egy inputra az elfogadó állapotba érkezik, akkor az input levezethető a fenti szabályokkal, és szó levezetésnek megfelel M konfigurációinak egy sorozata, amely a szót mint inputot a végállapotba viszi. Tehát G éppen L(M)-et generálja.

Környezetfüggő nyelvtannal generálható nyelvek felismerése TG-pel Mi a helyzet az 1-es (CS) nyelvosztállyal? Def: Lineárisan korlátozott TG egy olyan, speciális TG, mely a szalagnak csak a bemeneti által elfoglalt részét használja. Tétel: A környezetfüggő nyelvtannal generálható nyelvek osztálya (CS) megegyezik a lineárisan korlátozott TG-pel felismerhető nyelvek osztályával. Biz: nem részletezzük Tétel: A környezetfüggő nyelvtannal generálható nyelvek osztálya (CS) valódi részhalmaza a rekurzív nyelvek osztályának. Biz: nem részletezzük

Grammatikával generálható nyelvek összevetése 2:CF 0: RE R 1:CS DCF 3:Reg.

Numerikus függvények A nemnegatív egészeket N jelöli. N k -en értelmezett, N értékű függvényeket vizsgálunk. Pl. f(n, m) = m n 2 + 3 m 2m+17 A fv értékét úgy számítjuk ki, hogy a kifejezéseit visszavezetjük alap kifejezésekre (pl. szorzás) és alacsonyabb kitevőjű kifejezésekre, pl: m n = m m n-1

Numerikus függvények Def: Az alap függvények a következők: a) N N rákövetkező fv: succ(n) = n+1. b) N k N (k 0) k-változós zéro fv: zero k (n 1,...n k ) = 0. c) N k N (k 0) k-változós j-dik identitás fv: id k,j (n 1,...n k ) = n j. Bonyolultabb függvényeket a következő módokon kombinálunk: Def: Legyen k, m 0, és adottak a g: N k N illetve h 1,... h k : N m N függvények. Ekkor g kompozíciója a h 1,... h k függvényekkel az az f : N m N fv, melyre: f(n 1,... n m ) =g(h 1 (n 1,... n m ),... h k (n 1,... n m )).

Numerikus függvények Def: Legyen k 0, és adottak a g: N k N illetve h: N k+2 N függvények. Ekkor g és h által rekurzívan definiált függvény az az f : N k+1 N fv, melyre: f(n 1,... n k, 0) =g(n 1,... n k ). f(n 1,... n k, m+1) = h(n 1,... n k, m, f(n 1,... n k, m)). Def: A primitív rekurzív függvények az alap függvények, és a belőlük tetszőleges, véges számú kompozícióval és rekurzióval származtatott függvények.

Numerikus függvények 1. pl: plus(n,m) = n+m függvény rekurzív definíciója: plus(n,0)=n, plus(n,m+1)=plus(n,m)+1. Primitív rekurzív függvényként: k =1, g: N N, g(n) = id 1,1 (n) = n, h: N 3 N, h(n,m,p) = succ(id 3,3 (n,m,p)). Ekkor g és h által rekurzívan definiált plus: N 2 N fv, melyre: plus(n, 0) =g(n) = id 1,1 (n) = n. plus(n, m+1) = h(n, m, plus(n, m)) = succ(id 3,3 (n,m, plus(n, m)) = succ(plus(n,m)).

Numerikus függvények 2. Pl: mult(n,m)=nm függvény rekurzív definíciója: mult(n, 0)=0, mult(n, m+1)= plus(n, mult(m,n)). Primitív rekurzív függvényként: mult(n,0) = zero(n), mult(n,m+1) = h(n,m,mult(n,m))=plus(n,mult(m,n)) 3. Pl: exp(n, 0) =succ(zero(n)). exp(n, m+1) =mult(n, exp(n,m)).

Numerikus függvények Tétel: A primitív rekurzív függvények számossága megszámlálhatóan végtelen. Biz: A primitív rekurzív függvények megadhatók az alap függvények, a kompozíció és rekurzió, valamint zárójelek és term. számok szimbólumaiból álló véges sorozatokkal, ilyenből megsz. végtelen van. Tétel: Nem minden kiszámítható fv. primitív rekurzív. Biz: Cantor-féle átlós módszerrel, unáris fv-ekre Soroljuk fel az összes primitív rekurzív unáris függvényt, f 1,f 2,...f n,.. Legyen g az az unáris fv, melyre g(n) = f n (n)+1

Numerikus függvények A g fv kiszámítható, és különbözik minden f n -től, ugyanis g(n) f n (n). Példa totális, kiszámítható nem primitív rekurzív függvényre: az Ackermann függvény. A(m,n) = n+1, ha m=0, A(m-1,1), ha m>0 és n=0, A(m-1,A(m,n-1)), ha m>0 és n>0. Példák az Ackermann függvény értékeire: lásd weboldal a Wikin.

Numerikus függvények Def: Legyen k 0. A g: N k+1 N függvény minimalizációja az az f: N k N függvény, melyet a következő módon értelmezünk: f(n 1,... n k ) = a legkisebb m, melyre g(n 1,... n k, m) = 1, f(n 1,... n k ) = 0 különben. ha van ilyen m

Numerikus függvények Megj: A g: N k+1 N függvény minimalizációja jól definiált, de nincs módszer a kiszámítására. m:= 0, while g(n 1,... n k, m) 1 do m:=m+1, output m. Nem algoritmus, mivel nem feltétlenül áll meg. Def: Legyen k 0. A g: N k+1 N függvény minimalizálható, ha a fenti eljárás mindig megáll, azaz minden n 1,... n k N esetén van olyan m N, hogy g(n 1,... n k, m)= 1. Def: Egy f fv µ-rekurzív, ha előállítható az alap függvényekből a kompozíció, a rekurzió és a minimalizáció operátorokkal, az utóbbit minimalizálható függvényre alkalmazva.

Numerikus függvények Tétel: Az f: N k N függvény µ-rekurzív akkor és csak akkor, ha rekurzív, azaz kiszámítható Turing géppel. Biz: nem részletezzük