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

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

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

Algoritmuselmélet 12. előadás

Automaták mint elfogadók (akceptorok)

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.

NP-teljesség röviden

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

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

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

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 Számítástudomány alapjai

Formális nyelvek - 9.

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

Atomataelmélet: A Rabin Scott-automata

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

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

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

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

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

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

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

A Számítógépek felépítése, mőködési módjai. A Számítógépek hardverelemei

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

Algoritmusok bonyolultsága


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.

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

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

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

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

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

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

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

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

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

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Bonyolultságelmélet. SZTE Informatikai Tanszékcsoport

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

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

Nyelvek és automaták augusztus

Algoritmusok Bonyolultsága. Lovász László

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait.

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

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

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

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

Algoritmuselmélet 18. előadás

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

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!

Kiterjesztések sek szemantikája

A félév során előkerülő témakörök

Programok értelmezése

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

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

ZH feladatok megoldásai

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

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

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

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

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

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

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

Gprs Input Output modul

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

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

Jármőtervezés és vizsgálat I. VALÓSZÍNŐSÉGSZÁMÍTÁSI ALAPFOGALMAK Dr. Márialigeti János

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

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

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

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

FUNKCIONÁLIS PROGRAMOZÁS

Optimalitáselmélet és analógia: tényleg kiengesztelhetetlen ellentét?

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

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

Bonyolultságelmélet feladatok

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

Chomsky-féle hierarchia

Rekurzió. Dr. Iványi Péter

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

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

Teljes eseményrendszer. Valószínőségszámítás. Példák. Teljes valószínőség tétele. Példa. Bayes tétele

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

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

KOVÁCS BÉLA, MATEMATIKA I.

Matematika A1a Analízis

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

ASZTALI DIGITÁLIS VIDEÓRÖGZÍTİ EVD-04/025A1MJU FELHASZNÁLÓI KÉZIKÖNYV

Dr. Vincze Szilvia;

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

Matematikai alapok és valószínőségszámítás. Valószínőségszámítási alapok

2018, Diszkrét matematika

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

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

4.2. Tétel: Legyen gyenge rendezés az X halmazon. Legyen továbbá B X, amelyre

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Halmazelméleti alapfogalmak

Átírás:

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

Témavázlat Turing-gép Determinisztikus, 1-szalagos Turing-gép A gép leírása, példák k-szalagos Turing-gép Univerzális Turing-gép Egyéb Turing-gépek Nemdeterminisztikus Turing-gép Randomizált Turing-gép Turing-géppel ekvivalens gépek Ram gép Church-tézis Nyelvek Rekurzíve felsorolható nyelv, rekurzív nyelv Algoritmikusan megoldhatatlan problémák Algoritmusok hatékonysága Gyakorlati kiszámíthatóság Irodalomjegyzék 2007. május 31. Turing-gép 1. 2

A Turing-gép nem valóságos gép, hanem absztrakt automata. Alan Turing alkotta meg 1936-ban azzal a céllal, hogy algoritmusok bonyolultságát vizsgálja, valamint azt, hogy melyek azok a feladatok, amelyek megoldására létezik algoritmus, s melyekre nem létezik. A Turing-gép segítségével megmutatható többek között az is, hogy van algoritmikusan megoldhatatlan probléma. A Turing-gépnek számos változata lelhetı fel az irodalomban, ezekrıl azonban be lehet látni, hogy egymással ekvivalensek. 2007. május 31. Turing-gép 1. 3

Determinisztikus, 1-szalagos Turing-gép 2007. május 31. Turing-gép 1. 4

A determinisztikus, 1- szalagos Turing-gép leírása Az 1-szalagos Turing gépet a következı részek alkotják: Egy véges szalag, ami mindkét irányban tetszılegesen meghosszabbítható és mezıkre van felosztva. Szalag-ábécé. Ennek a jelei fordulhatnak elı a szalagon, egy mezıben az ábécé egyik jele áll, vagy üres a mezı. Író-olvasó fej, amelyik adott pillanatban pontosan egy mezın áll. Vezérlımő, ami véges sok állapot valamelyikében lehet. Egy adott pillanatban a fej elolvassa azon a mezın lévı jelet, ahol áll, és a jeltıl, valamint a vezérlımő pillanatnyi állapotától függıen ír a mezıre (esetleg ugyanazt, ami ott volt), ezután vagy jobbra lép, vagy balra lép, vagy helyben marad, a vezérlımő pedig új állapotba kerül. 2007. május 31. Turing-gép 1. 5

A gép állapotai között van egy kitüntetett állapot, a kezdıállapot. Megállapodunk abban, hogy induláskor a szalagon véges sok egymásmelletti mezın vannak jelek, és az íróolvasó fej a bal szélsı jel fölött áll. Definíció. Determinisztikus, 1-szalagos Turing-gép a következı rendezett hetes: M=<Q, V, W, δ,, S, F> Q a gép belsı állapotainak halmaza V a szalag bemenı ábécéje W a szalag-ábécé. V W. δ az átmenetfüggvény. δ : Q x W Q x W x {B, H, J} (B esetén az író-olvasó fej balra lép, J esetén jobbra, H esetén helyben marad.) Q kezdıállapot S az üres mezı jele F Q a felismerı (elfogadó) állapotok halmaza. 2007. május 31. Turing-gép 1. 6

A gép akkor áll le, ha az aktuális állapot és az éppen beolvasott jel esetén a δ átmenetfüggvény nincs értelmezve. Ha leállás esetén az állapot eleme F-nek, akkor azt mondjuk, hogy a gép elfogadta (felismerte) a bemeneti szót, egyébként nem fogadta el (nem ismerte fel). Lehetséges, hogy a gép nem áll le véges sok lépésben valamilyen bemenet esetén. Teljes számítási folyamatról beszélünk, ha adott bemenet esetén sorban leírjuk a gép lépéseit, vagyis azt, hogy milyen állapotba kerül, milyen jelek vannak a szalagon, és melyik jel fölött áll az író-olvasó fej. 2007. május 31. Turing-gép 1. 7

Régi állapot Olvasott jel Új állapot Írt jel Fejmozgás 1. példa M=<{,,,q 3, q 4,q 5,q 6 }, {0,1}, {0,1,X,S}, δ,, { } > 0 X J 1 X J 0 0 J 1 1 J q 3 q 0/S,B S/S,B 0 S q 3 S B q 0/0,B 2 0 0 J q 5 1 1 J 1/1,B X/X,J 0/X,J S q 4 S B X/X,J /X,J 3 0 q 5 S B S/S,B q S B q 6 4 6 1/1,B q 5 0 q 5 0 B 1/S,B S/S,B q 4 q 5 1 q 5 1 B q 5 X X J q 6 0 q 6 0 B q 6 1 q 6 1 B 2007. q május 31. 6 X X JTuring-gép 1. 8 0/0,J 1/1,J S/S,J 1/1,J

1. példa folytatás A teljes számítási folyamat: 0/0,B 1/1,B S/S,B 1/1,B 0/S,B q 5 X/X,J X/X,J q 6 1/S,B q 3 q 4 S/S,B 0/X,J 1/X,J S/S,B 0/0,J 1/1,J S/S,J 1/1,J Lépés Állapot Szalag állapota Lépés 1 2 3 4 5 6 7 8 Állapot q 4 q 6 q 6 Szalag állapota 1001 X001 X001 X001 X001S X001 X00 X00 1 001 9 q 6 X00 2 3 X01 X01 10 11 12 X00 XX0 XX0S 4 5 q 3 X01S X01 13 14 15 q 3 q 5 XX0 XXS XX 2007. május 31. Turing-gép 1. 9 Nem ismeri fel Felismeri

2. példa M=<{,,,q 3, q 4 },{0,1}, {0,1,X,Y,S},δ,,{q 4 } > Régi állapot Olvasott jel 0 Y 0 1 Y 0 X Y Új állapot q 3 Írt jel X Y 0 Y Y 0 X Y Fejmozgás J J J B J B J B Adjuk meg ennek a Turinggépnek az átmenetdiagramját. Írjuk le, hogy az alábbi bemenetek esetén mi a teljes számítási folyamat: 000111 00111 0101 Felismeri-e ezeket a szavakat a gép? q 3 Y q 3 Y J q 3 S q 4 S J 2007. május 31. Turing-gép 1. 10

Definíció: A T Turing-gép elıállítja az f függvényt, ha minden x bemenet esetén az f(x) kimenetet állítja elı, és leáll, ha x eleme az értelmezési tartománynak. 2007. május 31. Turing-gép 1. 11

3. példa Állítsunk elı olyan Turing gépet, amelyik az f(n)=n+1 függvényt állítja elı. Az n szám n+1 darab 1-es számmal van reprezentálva. Pl. 0: 1, 1: 11, 2: 111, 0/1,B A 0 jelöli az üres mezıt. Régi állapot Olvasott jel 0 1 0 1 0 Új állapot Írt jel 1 1 0 1 0 Fejmozgás B J J B B M=<{,, },{1}, {0,1},δ,,{ } > 0/0,J 1/1,J 1/1,B A teljes számítási folyamat n=3 esetén: Lépés 1 2 3 4 5 6 7 8 Állapot Szalag állapota 1111 1111 1111 11110 11110 11111 11111 11111 9 10 11 11111 011111 11111 2007. május 31. Turing-gép 1. 12

4. példa Állítsunk elı olyan Turing gépet, amelyik az f(n, m)=n+m függvényt állítja elı. Az n szám n+1 darab 1-es számmal van reprezentálva, az m hasonlóképpen. Pl. 0: 1, 1: 11, 2: 111, A n számnak megfelelı 1-esek után 0 következik, majd az m-nek megfelelı egyesek. Pl. 2+3 esetén a bemenet: 11101111, a kimenet: 111111. Adjuk meg az átmenetfüggvényt táblázatos formában, adjuk meg az átmenet diagramot, és n=2, m=3 esetén írjuk le a teljes számítási folyamatot. 2007. május 31. Turing-gép 1. 13

k-szalagos Turing-gép 2007. május 31. Turing-gép 1. 14

k-szalagos Turing-gép A k-szalagos Turing-géphez k 2 szalag, és k író-olvasó fej tartozik. Definíció. Legyen T k+1 szalagos, M pedig k szalagos Turing-gép Σ szalag-ábécével. Legyen p Σ*- {S}. Azt mondjuk, hogy T a p programmal szimulálja M-et, ha tetszıleges x 1,, x k Σ*- {S} szavakra a T az (x 1,, x k, p) bemeneten akkor és csak akkor áll meg véges számú lépésben, ha M az (x 1,, x k ) bemeneten megáll, és megálláskor T elsı k szalagján rendre ugyanaz áll, mint M szalagjain. 2007. május 31. Turing-gép 1. 15

Tétel. Minden k szalagos M Turing géphez van olyan 1-szalagos T Turing-gép, amely M-et helyettesíti a következı értelemben: minden x Σ*- {S} szóra M akkor és csak akkor áll meg véges sok lépésben az x bemeneten, ha T megáll az x bemeneten, és M elsı szalagjára ugyanaz lesz írva, mint T szalagjára. Bizonyítás. Lásd [3]-ban. 2007. május 31. Turing-gép 1. 16

Univerzális Turing-gép 2007. május 31. Turing-gép 1. 17

Univerzális Turing-gép Definíció. Akkor mondjuk, hogy a k+1 szalagos T Turing-gép univerzális (a k szalagos Turing-gépekre nézve), ha bármely k szalagos Σ szalag-ábécével rendelkezı M Turing-géphez létezik olyan p szó (program), mellyel a T szimulálja M-et. Tétel. Minden k 1 számhoz és minden Σ ábécéhez létezik k+1 szalagú univerzális Turing-gép. Bizonyítás. Lásd [3]-ban. 2007. május 31. Turing-gép 1. 18

Egyéb Turing-gépek 2007. május 31. Turing-gép 1. 19

Nemdeterminisztikus Turing-gép Nemdeterminisztikus Turing-géprıl beszélünk, ha az átmenetfüggvény nem Q x W x {B, H, J} elemeire képez le, hanem részhalmazaira. Belátható, hogy nyelvfelismerés szempontjából ez a gép ekvivalens a determinisztikus Turing-géppel. 2007. május 31. Turing-gép 1. 20

Randomizált Turing-gép A randomizált Turing-gép egy nemdeterminisztikus Turing-gép kibıvítve egy valószínőségi eloszlással, mely alapján a megengedett lépések közül választunk, s így a megengedett számításokhoz is konkrét valószínőségérték rendelhetı. 2007. május 31. Turing-gép 1. 21

Turing-géppel ekvivalens gépek 2007. május 31. Turing-gép 1. 22

Ram gép A Turing-gép egyik hátránya az, hogy egy távoli mezı eléréséhez az összes addigi mezın át kell haladnunk. Ezt a hátrányt kiküszöböli a RAM-gép (Random Access Machine=tetszıleges, vagy közvetlen eléréső gép). A RAM-gép memóriarekeszeit közvetlenül lehet elérni írás vagy olvasás céljából. Tétel. Tetszıleges Turing-gép szimulálható RAM programmal. Minden RAM program szimulálható Turing-géppel. 2007. május 31. Turing-gép 1. 23