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

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

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

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

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

Algoritmuselmélet 12. 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

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

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

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

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

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

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

Automaták mint elfogadók (akceptorok)

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

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

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

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:

Véges automaták, reguláris nyelvek

Formális nyelvek - 9.

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

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

NP-teljesség röviden

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

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

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

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

Algoritmusok bonyolultsága

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

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

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

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

ZH feladatok megoldásai

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

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


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!

A Számítástudomány alapjai

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

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.

Bonyolultságelmélet feladatok

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

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.

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

Bevezetés az informatikába

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

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

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

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

Bonyolultságelmélet. SZTE Informatikai Tanszékcsoport

Diszkrét matematika 2.C szakirány

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

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

Nyelvek és automaták augusztus

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

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Iván Szabolcs október 6.

Automaták és formális nyelvek

Nagyordó, Omega, Theta, Kisordó

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

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39

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

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 9. Előadás. Előadó: Hajnal Péter Jegyzetelő: Hajnal Péter április 12.

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

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

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

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

Diszkrét matematika 2.

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

KOVÁCS BÉLA, MATEMATIKA I.

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

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

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

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

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

Formális nyelvek I/2.

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

Időzített átmeneti rendszerek

Leképezések. Leképezések tulajdonságai. Számosságok.

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

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

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

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 30.

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

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

Diszkrét matematika 2. estis képzé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

Chomsky-féle hierarchia

Matematika A2 vizsga mgeoldása június 4.

Diszkrét matematika 2.

Alap fatranszformátorok II

Kiterjesztések sek szemantikája

AZ INFORMATIKA LOGIKAI ALAPJAI

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

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

x, x R, x rögzített esetén esemény. : ( ) x Valószínűségi Változó: Feltételes valószínűség: Teljes valószínűség Tétele: Bayes Tétel:

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

Számsorok. 1. Definíció. Legyen adott valós számoknak egy (a n ) n=1 = (a 1, a 2,..., a n,...) végtelen sorozata. Az. a n

Gyakorló feladatok I.

Átírás:

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

Többszalagos Turing-gép Turing-gép k (konstans) számú szalaggal A szalagok mindegyike rendelkezik egy független író / olvasó fejjel A bemenet az első szalagra kerül, a többi szalag üres Az átmeneti függvény: δ: Q q i, q n Γ k Q Γ k L, R k A további komponensek mint az egyszalagos esetben Megjegyzés: az egyszalagosra tanult definíciók kiterjeszthetők a többszalagos esetre (konfiguráció-átmenet, felismert nyelv, időigény, stb.)

Feladat: adjunk kétszalagos Turing-gépet, ami a korábban látott L = {uu 1 u a, b } nyelvet dönti el Egy L nyelv f(n) időben eldönthető, ha van olyan f n időigényű, akár többszalagos Turing-gép, ami eldönti L-t Feladat: milyen időben dönti el a megadott kétszalagos Turing-gép a fenti L nyelvet? Két Turing-gép ekvivalens, ha ugyanazt a nyelvet ismerik fel

Tétel: Minden k-szalagos M Turing-géphez van vele ekvivalens egyszalagos M Turing-gép Bizonyítás: M egy szalagon tárolja az M összes konfigurációját: a a c b b a a c # a a c b # b a a c # 0 0 1 1 # 0 0 1 1 M M

Tétel: Minden k-szalagos M Turing-géphez van vele ekvivalens egyszalagos M Turing-gép Bizonyítás: M egy szalagon tárolja az M összes konfigurációját: a a c b b a a c # a a c b # b a a c # 0 0 1 1 # 0 0 1 1 M M

A szimuláció menete egy a 1 a 2 a n bemeneten: 1. M előállítja M kezdőkonfigurációját: # a 1 a 2 a n # # # 2. M végigmegy a szalagon (számolja a #-okat) és eltárolja a -pal megjelölt szimbólumokat az állapotában 3. M az M átmenetfüggvénye alapján aktualizálja a szalagját (ha M valamelyik szalagján nő a szó hozza, akkor M -nek az adott ponttól mozgatnia kell a szalagja tartalmát jobbra) 4. Ha M elfogadó vagy elutasító állapotba lép, akkor M is belép a saját elfogadó vagy elutasító állapotába 5. Egyébként M folytatja a szimulációt a 2-ik ponttal Megjegyzés: M időigény-romlása négyzetes

Turing-gép egy irányban végtelen szalaggal A Turing-gép egy, a bal oldalán zárt szalaggal rendelkezik A fej nem tud leesni a bal oldalon, még ha az állapot-átmeneti függvény balra lépést ír is elő Tétel: Minden egyszalagos M Turing-géphez van vele ekvivalens egy irányban végtelen szalagos Turing-gép Bizonyítás (vázlat): Először szimuláljuk M-et egy olyan M Turing-géppel, ami két darab egy irányban végtelen szalaggal rendelkezik Az első szalagján szimulálja M-et akkor, amikor az a fej kezdőpozícióján vagy attól jobbra dolgozik, A második szalagján pedig akkor, amikor az M a fej kezdőpozíciótól balra dolgozik (ezen a szalagon az ettől a pozíciótól balra lévő szó tükörképe van) Ezután szimuláljuk M -t egy egy irányban végtelen szalagos Turing-géppel (az előző tételben látott bizonyításhoz hasonlóan)

Nemdeterminisztikus Turing-gép A két irányban végtelen szalaggal rendelkező Turing-gép általánosítása Az átmeneti függvény: δ: Q q i, q n Γ P(Q Γ L, R ) A további komponensek mint az egyszalagos esetben Konfiguráció átmenet: C M C M Legyen C 1, C 2 C M, C 1 C 2 ha az alábbiak egyike teljesül C 1 = uqav, C 2 = ubpv és p, b, R δ q, a, ahol a, b Γ, u, v Γ, v = v, ha v ε és v = egyébként C 1 = ucqav, C 2 = upcbv és p, b, L δ q, a, ahol a, b, c Γ, u, v Γ

A többlépéses konfiguráció átmenet és a felismert nyelv a determinisztikus esethez hasonlóan definiálható Megjegyzés: egy M nemdet. Turing-gép számítása egy u szón egy ún. számítási fával szemléltethető: M elfogadja az u-t ha a számítási fa legalább egy levele elfogadó konfiguráció C 11 C 21 elfogadó konf. q 0 u C 12 C 22 C 13 elutasító konf. Pl. q 0 u C 12 C 21 vq i w

M eldönti az L Σ nyelvet, ha felismeri és minden u Σ szóra az M számítási fája véges és minden levele elfogadó vagy elutasító konfiguráció M f(n) időigényű, ha minden u Σ n hosszú szóra a számítási fa legfeljebb f(n) magas Megjegyzés: a k-szalagos Turing-gép definíciója értelemszerűen kiterjeszthető nemdeterminisztikus Turing-gépre is Feladat: adjunk nemdeterminisztikus Turing-gépet, ami az L = uu 1 u a, b nyelvet dönti el

Tétel: Minden M = (Q, Σ, Γ, δ, q 0, q i, q n ) f(n) idejű nemdeterminisztikus Turing-géphez megadható egy ekvivalens, 2 O(f n ) idejű M (det.) Turing-gép Bizonyítás: M egy adott u Σ bemeneten szimulálja az M számítási fájában szereplő összes számítást a következőképpen Legyen d az M átmenetfüggvényének jobb oldalán szereplő halmazok számosságának a maximuma, azaz d = { δ(q, a) } max q,a Q Γ Legyen T = {1, 2,, d} (azaz T egy ábécé) Tegyük fel, hogy minden q, a Q Γ esetén a δ(q, a) elemeinek van egy rögzített sorrendje

Bizonyítás: Tekintsük az M számítási fáját az u-n A fa minden szögpontjához egyértelműen hozzárendelhető egy T -beli szó: C 11 C 21 elfogadó konf. q 0 u C 12 C 22 C 13 elutasító konf. ε 3 12

Bizonyítás: M egy konfigurációja: a a c b M bemenete (u) x x a b Szimulációs szalag 1 1 2 1 Szimulálandó számítás (egy szó T -ból) M

Bizonyítás: M működése: M kezdőkonfigurációja: az 1-es szalag tartalmazza a bemenetet, a 2-es és 3-as szalagok üresek Amíg nincs elfogadás M rámásolja az 1-es szalag tartalmát a 2-esre Amíg a 3-ik szalagon a fej nem -ra mutat Legyen k a 3-ik szalagon a fej pozíciójában lévő betű Legyen a 2-ik szalagon a fej pozíciójában lévő betű a és a szimulált M aktuális állapota q Ha δ(q, a)-nak van k-ik eleme, akkor M szimulálja M egy lépését ezen elem szerint Ha ez lépés q i -be vezet, akkor M is elfogadó állapotba lép és leáll Ha ez lépés q n -be vezet, akkor M kilép ebből a ciklusból M a 3-ik szalagon eggyel jobbra lép M lexikografikusan növeli eggyel a harmadik szalagon lévő szót

Bizonyítás: M akkor és csak akkor lép elfogadó állapotba, ha a szimulált M elfogadó állapotba lép, azaz a két gép ekvivalens M -nek f n -ben exponenciálisan sok számítást kell megvizsgálnia, azaz M időigénye 2 O(f(n)) Megjegyzés: Abból, hogy a bizonyításban alkalmazott szimuláció exponenciális időigényű még nem következik, hogy nincs hatékonyabb szimuláció Az a sejtés, hogy nem lehet a nemdeterminisztikus Turing-gépet az időigény drasztikus romlása nélkül determinisztikus Turing-géppel szimulálni

Eldönthetetlen problémák Miért nehéz a Turing-gépekkel kapcsolatos kérdések eldöntése? A 2 állapotú szorgos hód Mennyit lép és mennyi 1-est ír a szalagra, amíg megáll: 1/1, L /1, R 1/1, L q 0 q 1 q i Válasz: 4 1-es 6 lépés után /1, L

Eldönthetetlen problémák A 3 állapotú szorgos hód Mennyit lép és mennyi 1-est ír a szalagra, amíg megáll: /1, R 1/1, R q 0 q 1 1/1, R 1/1, L /, R q i q 2 Válasz: 6 1-es 14 lépés után /1, L

Eldönthetetlen problémák A 4 állapotú szorgos hód 13 1-est ír a szalagra 107 lépés után A legjobb 5 állapotú jelölt: 4098 1-est ír a szalagra 47.176.870 lépés után A legjobb 6 állapotú jelölt: 3.5 10 18267 1-est ír a szalagra 7.4 10 36534 lépés után

Eldönthetetlen problémák Emlékeztető: R RE Cél: RE L átló L u = { M, w w L(M)} L u R L átló = { M M L(M)} Megjegyzés: Ebben a részben csak {0,1} bemenő ábécével rendelkező Turinggépeket vizsgálunk

Eldönthetetlen problémák Turing-gépek elkódolása (azaz M, w és M definíciója) Legyen M = (Q, 0,1, Γ, δ, q 0, q i, q n ) és tfh. Q = {p 1,, p k } valamely k 3-ra úgy, hogy p 1 = q 0, p k 1 = q i és p k = q n Γ = {X 1,, X m } valamely m 3-ra úgy, hogy X 1 = 0, X 2 = 1 és X 3 = a fej irányait D 1 -gyel és D 2 -vel jelöljük M egy δ p i, X j = (p r, X s, D t ) átmenete egyértelműen elkódolható az 0 i 10 j 10 r 10 s 10 t szóval M δ 1 11 δ 2 11 11 δ l, ahol δ 1,, δ l az M összes átmenete M, w M 111w

Eldönthetetlen problémák Megjegyzés: A 0,1 elemei felsorolhatóak: 0, 1 = {ε, 0, 1, 00, 01, 10, 11, 000, 111, } 0-hosszú szó 1-hosszú szavak lexikografikusan rendezve 2-hosszú szavak lexikografikusan rendezve Jelölés: Minden i 1-re, w i jelöli a 0,1 halmaz i-ik elemét M i jelöli a w i által kódolt Turing-gépet (ha w i nem kódol Turing-gépet, akkor M i egy olyan tetszőleges Turing-gép, ami nem fogad el semmit)

Eldönthetetlen problémák Tétel:L átló RE Bizonyítás: Tekintsük azt a T táblázatot, mely i-ik sorának j-ik oszlopa (i, j 1), azaz T(i, j), akkor és csak akkor 1, ha w j L M i Legyen d a T átlójában olvasható végtelen hosszú bitsztring, és legyen d a d bitenkénti komplementere Ekkor igazak az alábbi megjegyzések: Minden i 1-re, T i-ik sora az L(M i ) nyelv karakterisztikus függvénye d az L átló karakterisztikus függvénye Minden Turing-géppel felismerhető, azaz RE-beli nyelv karakterisztikus függvénye megegyezik T valamelyik sorával d különbözik T minden sorától Ezek alapján L átló különbözik az összes RE-beli nyelvtől