A Turinggp Ki az a Turing Alan Mathison

  • Slides: 10
Download presentation
A Turing-gép

A Turing-gép

Ki az a Turing? Alan Mathison Turing (1912 -1954) 1912. június 23 -án Paddingtonban

Ki az a Turing? Alan Mathison Turing (1912 -1954) 1912. június 23 -án Paddingtonban (London) született, 14 éves koráig szülei Indiában laknak, ő pedig különböző rokonoknál él 1931 -38. : Egyetemi tanulmányok és Ph. D (Cambridge, Princeton Egyetem USA) – első elméleti munkái (pl. Turing-gép) 1939 -1945: a második világháború alatt a brit hadsereg német titkos kódok elemzésére szakosodott csoportjában dolgozoik. 1945 -1947: Nemzeti Fizikai Laboratórium (London), Cambridge – számítógépeket tervez. Atletizál, fut – az 1948 -as londoni olimpián sérülés miatt nem idnulhat. 1948 -1954: főleg a számítógépes intelligenciák tesztelésével foglalkozik, fizikai és biológiai kutatásokat is végez. 1952. : Nyíltan vállalt homoszexualitása miatt letartóztatják, pert indítanak ellene, majd a libidót semlegesítő orvosi beavatkozásnak vetik alá. 1954. június 7 -én, ciánmérgezésben hal meg. A halottkém jelentése szerint öngyilkosság történt.

Turing koncepciója • Külsõ adat és tárolóterület: végtelen szalag, amelynek egymás után cellái vannak,

Turing koncepciója • Külsõ adat és tárolóterület: végtelen szalag, amelynek egymás után cellái vannak, amelyek vagy üresek, vagy jelöltek. • A gép egyszere egy cellával foglalkozik (Az író/olvasó feje egy cellán áll) • A szalagon tud jobbra-balra lépni, tud jelet olvasni, törölni és írni. Az „üres" szalagon nincs jel. A jelet a továbbiakban 1 -gyel, az üres cellát 0 -val jelöljük. • A bevitel, a számítás és a kivitel minden konkrét esetben véges marad, ezen túl a szalag üres. (0) • A gép belsõ állapotait jelöljük valamivel (pl. az ABC betűivel, számokkal, stb. ) • A gép mûködését megadja egy explicit helyettesítési táblázat. Állapot, bemenet --> Állapot, kimenet, fejmozgás

Turing-gép képi modellje

Turing-gép képi modellje

A Turing-gép alapprogramja I. • A Turing-gép alapprogramja (az un. átmenetfüggvény) legegyszerûbben egy táblázattal

A Turing-gép alapprogramja I. • A Turing-gép alapprogramja (az un. átmenetfüggvény) legegyszerûbben egy táblázattal adható meg, amelynek sorai a Turing-gép lehetséges állapotainak, oszlopai pedig a Turing-gép ábécéjének (a lehetséges beírható karakterek, bináris Turing-gép esetén ezek 0 és 1) felelnek meg. A táblázat cellái azokat az utasításokat tartalmazzák, amelyek a Turing-gép egyes állapotainak és a Turing-gép ábécéjében levõ karaktereknek felelnek meg. • Például egy bináris Turing-gép esetén, amely a szalagon levõ bináris karaktersorozat komplementálását végzi el (0 helyett 1, 1 helyett 0 beírását a szalagra) : a Turing-gép lehetséges állapotai {s, p} ahol – s az un. kezdõállapot – p a "mûködési" állapot (most több állapotra nincs szükség) a Turing-gép ábécéje {> , 0, 1 , _ } ahol – > a start szimbólum – _ az üres karakter – 0 és 1 pedig bináris számjegyek

A Turing-gép alapprogramja II. s p > (start) 0 p, >, jobbra A nem

A Turing-gép alapprogramja II. s p > (start) 0 p, >, jobbra A nem kitöltött cellákba, mint pl. ez, bármilyen utasítás írható, ilyen állapotba ez a Turing gép úgysem kerül. p, 1, jobbra 1 _ (üres) p, 0, jobbra h (stop), _, marad

A Turing-gép alapprogramja III. A Turing-gép utasításai három részbõl állnak, amelyek az utasítás végrehajtása

A Turing-gép alapprogramja III. A Turing-gép utasításai három részbõl állnak, amelyek az utasítás végrehajtása után meghatározzák • a Turing-gép új állapotát; ez lehet – a lehetséges állapotok közül valamelyik – a „h” megállási állapot (halt vagy stop állapot), amely a Turing-gép leállását eredményezi • a szalag aktuális cellájába beírándó új karaktert • az író-olvasó fej mozgatását; ez lehet – léptetés egy cellával balra – léptetés egy cellával jobbra – helyben maradás; ilyenkor a gép nem lépteti a fejet

Church - Turing tétel • Ha egy algoritmus elég mechanikus és világos, akkor bizonyára

Church - Turing tétel • Ha egy algoritmus elég mechanikus és világos, akkor bizonyára található olyan Turing-gép, amely azt végrehajtja. • A Turing gép korlátozottsága (egy jel, bináris, egy darab egydimenziós szalag) csak rossz hatásfokot eredményez, de mégis minden elérhetõ, amit elvileg el lehet érni. • A Turing gép definiálja mindazt, amit matematikailag algoritmikus eljárás alatt értünk. Minden más algoritmikus eljárást végrehajtó rendszer ekvivalens valamely Turing-géppel.

Problémák a Turing-gépekkel • A legtöbb számhoz tartozó Turing-gép semmi értelmeset nem csinál. (Nem

Problémák a Turing-gépekkel • A legtöbb számhoz tartozó Turing-gép semmi értelmeset nem csinál. (Nem meglepõ: a kódolt természetes nyelvi szövegeket tekintsük) • Van olyan, amelynek a leírása nem helyes, mert kerülhet olyan belsõ állapotba, amire nincs utasítása. • Vannak amelyek ugyanazt csinálják mint egy másik. • Vannak, amelyek soha nem állnak meg. • Lehetne javítani a kódoláson, hogy az átfedéseket és értelmetlenségeket csökkentsük. Ezt megtenni csak akkor érdemes, ha tényleg mindet ki tudjuk küszöbölni. (Ez viszont nem lehetséges. )

Konklúzió Az algoritmusok önmagukban nem döntik el a (matematikai) igazságot. Az algoritmusok érvényességét mindig

Konklúzió Az algoritmusok önmagukban nem döntik el a (matematikai) igazságot. Az algoritmusok érvényességét mindig külsõ eszközökkel kell megállapítani.