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

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

Számításelmélet. Második 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.

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

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

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

Algoritmuselmélet 12. előadás

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

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

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

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

Automaták mint elfogadók (akceptorok)

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

Logika és számításelmélet Készítette: Nagy Krisztián

Algoritmusok bonyolultsága

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

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

Véges automaták, reguláris nyelvek

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 18. előadás

Formális nyelvek - 9.

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

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

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

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

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

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

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!

Logika és számításelmélet

NP-teljesség röviden


Bevezetés a bonyolultságelméletbe gyakorlatok I. A(0, y) := y + 1 y 0 A(x, 0) := A(x 1, 1) x 1 A(x, y) := A(x 1, A(x, y 1)) x, y 1

ZH feladatok megoldásai

Bevezetés a számításelméletbe

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. Friedl Katalin BME SZIT március 18.

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

Bonyolultságelmélet feladatok

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT augusztus 16.

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

Házi feladatok megoldása. Automaták analízise, szintézise és minimalizálása. Házi feladatok megoldása. Házi feladatok megoldása

Informatika 1 2. el adás: Absztrakt számítógépek

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

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:

Számításelmélet Tamás Herendi

Nyelvek és automaták augusztus

1/1. Házi feladat. 1. Legyen p és q igaz vagy hamis matematikai kifejezés. Mutassuk meg, hogy

Bonyolultságelmélet. SZTE Informatikai Tanszékcsoport

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


First Prev Next Last Go Back Full Screen Close Quit

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

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


Nagyordó, Omega, Theta, Kisordó

ö ö ö ö ö ő ú ü ő ö ü ő ú ő ő ő ö ő ö ü ű ö ü ő ú ő ő ő ű ű ö ő ő ü

Ú ű Á ű

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

A Számítástudomány alapjai

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

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

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

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.

Formális nyelvek I/2.

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

ú ő Ú ő ő ú ő Ú ú Á ő ő ú ő ő ű Ú Á ű ő ő




































Átírás:

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

A Turing-gép Az algoritmus fogalmának egy intuitív definíciója: Utasítások egy jóldefiniált, véges sorozata, melyeket végrehajtva megoldható egy adott feladat (probléma). Az algoritmus fogalmának matematikai modelljei közül az egyik leggyakrabban használt a Turing gép. Turing-gép A Turing-gép egy olyan M = Q, Σ, Γ, δ, q 0,, rendszer, ahol Q az állapotok véges, nemüres halmaza, q 0,, Q, q 0 a kezdő- az elfogadó és az elutasító állapot, Σ és Γ ábécék, a bemenő jelek illetve a szalagszimbólumok ábécéje úgy, hogy Σ Γ és Γ \ Σ tartalmaz egy speciális szimbólumot, δ : (Q \ {, }) Γ Q Γ {L, S, R} az átmenet függvény. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 2 / 1

Konfiguráció, konfigurációátmenet A Turing-gép működésének fázisait a gép konfigurációival írjuk le. A Turing-gép konfigurációja egy uqv szó, ahol q Q és u, v Γ, v ε. Ez a konfiguráció a gép azon állapotát tükrözi amikor a szalag tartalma uv (uv előtt és után a szalagon már csak van), a gép a q állapotban van, és a gép író-olvasó feje a v szó első betűjére mutat. A gép kezdőkonfigurációja egy olyan q 0 u szó, ahol u csak Σ-beli betűket tartalmaz. Egy Turing-gép konfigurációátmenetét az alábbiak szerint definiáljuk. Legyen uqav egy konfiguráció, ahol a Γ, u, v Γ. Ha δ(q, a) = (r, b, R), akkor uqav ubrv, ahol v = v, ha v ε, különben v =, ha δ(q, a) = (r, b, S), akkor uqav urbv, ha δ(q, a) = (r, b, L), akkor uqav u rcbv, ahol c Γ és u c = u, ha u ε, különben u = u és c =. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 3 / 1

Turing-gép által felismert nyelv Azt mondjuk, hogy M véges sok lépésben eljut a C konfigurációból a C konfigurációba (jele C C ), ha van olyan n 0 és C 1,..., C n konfigurációso- rozat, hogy C 1 = C, C n = C és minden 1 i n-re, C i C i+1. Ha q {, }, akkor azt mondjuk, hogy az uqv konfiguráció egy megállási konfiguráció. q = esetében elfogadó, míg q = esetében elutasító konfigurációról beszélünk. Az M által felismert nyelv (amit L(M)-mel jelölünk) azoknak az u Σ szavaknak a halmaza, melyekre igaz, hogy q 0 u x y valamely x, y Γ, y ε szavakra. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 4 / 1

Turing-felismerhető és eldönthető nyelvek, időigény Egy L Σ nyelv Turing-felismerhető, ha L = L(M) valamely M Turing-gépre. Továbbá, egy L Σ nyelv eldönthető, ha létezik olyan M Turing-gép, mely minden bemeneten megállási konfigurációba jut és felismeri az L-et. A Turing-felismerhető nyelveket szokás rekurzívan felsorolhatónak, az eldönthető nyelveket pedig rekurzívnak is nevezni. A rekurzívan felsorolható nyelvek osztályát RE -vel, a rekurzív nyelvek osztályát pedig R-rel jelöljük. Tekintsünk egy M = Q, Σ, Γ, δ, q 0,, Turing-gépet és annak egy u Σ bemen szavát. Azt mondjuk, hogy M futási ideje (időigénye) az u szón n n 0, ha M a q 0 u kezdőkonfigurációból n lépésben el tud jutni egy megállási konfigurációba. Ha nincs ilyen szám, akkor M futási ideje az u-n végtelen. Legyen f : N N egy függvény. Azt mondjuk, hogy M időigénye f (n) (vagy, hogy M egy f (n) időkorlátos gép), ha minden u Σ input szóra, M időigénye az u szón legfeljebb f (l(u)). Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 5 / 1

Többszalagos Turing-gép k-szalagos Turing-gép A Turing-gép egy olyan M = Q, Σ, Γ, δ, q 0,, rendszer, ahol Q az állapotok véges, nemüres halmaza, q 0,, Q, q 0 a kezdő- az elfogadó és az elutasító állapot, Σ és Γ ábécék, a bemenő jelek illetve a szalagszimbólumok ábécéje úgy, hogy Σ Γ és Γ \ Σ tartalmaz egy speciális szimbólumot, δ : (Q \ {, }) Γ k Q Γ k {L, S, R} k az átmenet függvény. A k szalagos Turing-gép konfigurációja egy és u i, v i Γ, v i ε (1 i k). u 1 v 1. q. szó, ahol q Q u k v k Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 6 / 1

Szófüggvényt kiszámító Turing-gép Az M Turing-gép kiszámítja az f : Σ Γ { } szófüggvényt, ha M pontosan akkor jut megállási konfigurációba a kezdőkonfigurációból, ha f (u) és a megállási konfiguráció vqw, ahol q {, } és vw = f (u). (Nem lényeges, hogy -be vagy -be jut.) Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 7 / 1

Feladatok 1. Feladat: Készítsünk TG-et, mely a 7-tel osztható hosszúságú szavak nyelvét ismeri fel! t/t, R t/t, R q 6 q 5 q 4 (t Σ) /, R t/t, R t/t, R t/t, R t/t, R t/t, R q 0 q 1 q 2 q 3 2. Feladat: Készítsünk TG-et, mely azon szavakat ismeri fel, melyeknek 3. és 6. betűje azonos! (Σ = {a, b}) q 0 q 1 q 2 a/a, R b/b, R q 3 q 6 q 4 q 7 q 5 q 8 a/a, R b/b, R Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 8 / 1

Feladatok 3. Feladat: Készítsünk TG-et, mely mindig megáll, és megálláskor az input szó olvasható a szalagon, de egy cellával jobbra tolva! (Σ = {0, 1}) 0/0, R q S 0/, R 0/1, R q 0 1/0, R /0, R 1/, R q 1 /1, R /, R 1/1, R Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 9 / 1

Feladatok 4. Feladat: Készítsünk 2-szalagos TG-et, mely átmásolja az inputot a 2. szalagra és a.) nem törli b.) törli az inputot az első szalagról! (Σ = {a, b}) a.) a, /a,a,r,r b, /b,b,r,r b.) a, /,a,r,r b, /,b,r,r, /,, S, S q 0, /,, S, S q 0 Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 10 / 1

Feladatok 5. Feladat: Készítsünk TG-et, mely az u uu szófüggvényt számolja ki! (Σ = {a, b}) â/â,r ˆb/ˆb,R /, S â/a,r ˆ q 0 a/ā, R q 1 ā/a, R b/b, R /â, L a/a,l b/b,l q 3 â/â,l ˆb/ˆb,L b/ b, R q 2 /ˆb, L â/â,r ˆb/ˆb,R Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 11 / 1

Feladatok 6. Feladat: Készítsünk TG-et, mely az L = {w#w 1 w {a, b} } nyelvet ismeri fel! #/#,R /, S q 6 #/#, R q 0 a/, R q 1 /, L /, R q 3 a/, L a/a,l b/b,l #/#,L q 5 b/, R q 2 /, L q 4 b/, L /, S q 0 a/, R q 1 /, L /, R q 3 a/, L #/#,R q 5 b/, R q 2 /, L q 4 b/, L a/a,l b/b,l (L = {ww 1 w {a, b} }) Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 12 / 1

Feladatok 7. Feladat: Készítsünk TG-et, mely az L = {w#w w {a, b} } nyelvet ismeri fel! /, S ā/ā,r b/ b,r q 6 #/#, R q 0 a/, R q 1 #/#, R /, R ā/ā,r b/ b,r q 3 a/ā, L ā/ā,l b/ b,l a/a,l b/b,l #/#,L q 5 b/, R q 2 #/#, R q 4 b/ b, L ā/ā,r b/ b,r Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 13 / 1

Feladatok 8. Feladat: Készítsünk TG-et, mely az L = {ww w {a, b} } nyelvet ismeri fel!,a,a/,a,a,s,l,r,b,b/,b,b,s,l,r a,, /a,,,l,s,s b,, /b,,,l,s,s,, /,,, S, S, S q 4,, /,,, S, L, R q 5,, /,,, S, S, L q 3 a,, /,a,,r,r,s b,, /,b,,r,r,s,, /,,, R, S, S q 0 q 1 a,, /,,a,l,s,r b,, /,,b,l,s,r,, /,,, L, S, S q 2,,a/,,a,S,S,L,,b/,,b,S,S,L a,, /a,,,r,s,s b,, /b,,,r,s,s Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 14 / 1