ja ja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016
Sisällys ja
ja Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/ multimedia/imagegallery/places/e49-54. html David Alan Grier: When Computers Were Human. Princeton University Press, 2005. Alan Turing pyrki muodostamaan täsmällisen määritelmän mekaaniselle laskennalle. taustalla Hilbertin Entscheidungsproblem A. M. Turing: On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, Series 2, 42 (1), 1937. http://plms.oxfordjournals.org/ content/s2-42/1/230.extract
Standardimuotoisessa Turingin koneessa on Nauha (engl. tape), joka matkii ihmisen laskennassa käyttämää suttupaperia yksiulotteinen jaettu ruutuihin, kuhunkin mahtuu yksi merkki tilaa rajattomasti, mutta vain äärellinen määrä ruutuja voi olla kerralla käytössä merkitään nauhapaikan puuttuvaa merkkiä Nauhan lukupää, joka matkii ihmisen kykyä keskittyä vain rajalliseen määrään asioita kerrallaan ilmaisee, mitä nauhan ruutua tarkastellaan Äärellinen tilojen joukko, joka matkii ihmisen rajallista muistia alkutila mahdollisesti hyväksyviä tiloja Tilasiirtymätaulukko, joka matkii ihmisen käyttämää laskentakaavaa. siirtymä saa puuttua ja
Käyttäytyminen ja Standardimuotoinen Turingin kone käynnistetään seuraavanlaisessa lähtötilanteessa: kone on alkutilassaan nauhalle on kirjoitettu syöte eikä mitään muuta. lukupää on syötteen alussa Turingin koneen siirtymä määräytyy koneen tilan sekä lukupään kohdalla olevan merkin mukaan kirjoittaa jonkin merkin lukupään kohdalla olevaan ruutuun ja mahdollisesti siirtää lukupäätä yhden askeleen vasemmalle tai oikealle Turingin kone pysähtyy (engl. halt), jos siirtymää ei ole. Hyväksyy syötteen jos ollaan hyväksyvässä tilassa, muuten hylkää. Mahdollinen tuloste on nauhalla.
Esimerkki ja 0 a/a,r /,L a/a,r B/B,R /,L B/B,R C/C,R 1 6 b/b,r C/C,R c/c,r 2 b/b,r c/c,r /,L a/a,r A/A,R 5 4 c/c,l B/B,R C/C,L 3 B/B,L b/b,l a/a,l
JFLAP ja voi käyttää JFLAP sallii Turingin koneita, joita tällä kurssilla ei sallita
Turingin koneen rakenne ja Määritelmä Kahdeksikko M = (Q, Σ, Γ,, δ, q 0, F) on (standarimuotoinen) Turingin kone (TM) (engl. Turing machine), jos seuraavat pätevät: Q on äärellinen joukko (tilat) Γ on äärellinen joukko (nauhamerkistö) Σ Γ on epätyhjä joukko (syötemerkistö) Γ \ Σ (blanko, tyhjämerkki) Q Γ = q 0 Q (alkutila) F Q (hyväksyvät tilat) δ : Q Γ Q Γ {L, S, R} (siirtymäfunktio)
Osittaisfunktio ja f : A B on osittaisfunktio A:lta B:lle kuten funktio mutta f (x) ei välttämättä määritelty kaikilla x A jos x A: f (x) sanoo, että f (x) ei ole määritelty f (x) sanoo, että f (x) on määritelty dom f = { x A f (x) } x, y: f (x) = y f (x)
Tilanteet ja Merkintä wqv, jossa w, v Γ ja q Q, on tilanne (engl. configuration, instantaneous description). w on nauhan sisältö lukupään vasemmalla puolella v kuvaa nauhan sisällön lukupään kohdalta alkaen oikealle w ja w eivät sisällä ääretöntä blankojen jonoa nauhan sisällön ajatellaan olevan wv q on koneen tämänhetkinen tila. Alkutilanne (engl. initial configuration) on q 0 w, jossa w Σ on koneelle annettu syöte.
Siirtymät ja Olkoot w, v, w, v Γ, q, q Q ja c, c, d Γ. Määritellään tilanteiden välille yhtäläisyys asettamalla tavanomaiselle merkkijonon yhtäläisyydelle seuraavat lisäehdot: wqv = wqv wqv = wqv Määritellään tilanteiden välinen relaatio seuraavasti: wqcv wq c v jos δ(q, c) = (q, c, S) wqcv wc q v jos δ(q, c) = (q, c, R) wdqcv wq dc v jos δ(q, c) = (q, c, L) Määritellään tilojen välinen relaatio kuten pinoautomaattien tapauksessa.
Lopputulokset ja Olkoon M = (Q, Σ, Γ,, δ, q 0, F) standardimuotoinen Turingin kone. M pysähtyy tilaan q syötteellä u Σ, jos pätee w, v Γ, c Γ : q 0 u wqcv δ(q, c). M hyväksyy syötteen jos se pysähtyy tilaan q kyseisellä syötteellä ja q F M hylkää syötteen jos se pysähtyy tilaan q kyseisellä syötteellä ja q F
Turingin koneen kieli ja Olkoon M = (Q, Σ, Γ,, δ, q 0, F) standardimuotoinen Turingin kone. M tunnistaa (engl. recognizes) kielen { u Σ M hyväksyy u:n } M ratkaisee (engl. decides) kielen A Σ, jos se tunnistaa A:n ja pysähtyy kaikilla syötteillä. Tällaista kieltä kutsutaan usein laskettavaksi tai rekursiiviseksi.
Esimerkki ja a/a,r B/B,R 0 a/a,r /,L /,L B/B,R C/C,R 1 6 b/b,r C/C,R c/c,r b/b,r a/a,r 2 c/c,r 5 4 B/B,R A/A,R 3 /,L c/c,l C/C,L B/B,L b/b,l a/a,l Tarkastellaan konetta syötteellä aabbcc.
Huomioita ja Graafiesityksessä siirtymä q 1 c 1 /c 2, q 2 tarkoittaa siirtymää δ(q 1, c 1 ) = (q 2, c 2, ).
Ratkaisin vs laskin vs luetteloin ja Edellä asetettu Turingin koneiden määritelmä mahdollistaa vain niiden käyttämisen ratkaisimena (engl. decider): kone vastaa kyllä tai ei. Voidaan haluttaessa määritellä, että koneen nauhan sisältö lukupäästä vasemmalle, kun kone on pysähtynyt hyväkyvään tilaan, on koneen tuloste. Tällöin kone on laskin. Laskinta voidaan käyttää niinkin, että se käynnistetään uudestaan (alkutilasta mutta nauhaan tai nauhapäähän koskematta) kun se on pysähtynyt hyväksyvään tilaan. Kukin vastaus on luettavissa lukupäästä vasemmalle, kun kone on hyväksyvässä tilassa. Tällöin kone on luetteloin (engl. enumerator).
Eräs laskin-tm ja 1/1,R 1/1,R A 0/0,R B 0/0,R C 1/1,L F 1/,L E 1/,L D /,L 0/,R I,,L J 0/1,L G 0/,L 1/0,R H /,L 0/0,R 1/1,R Tarkastellaan syötettä 0111011.
Eräs luetteloin-tm ja A /1,R B
ja Mikä tahansa matemaattinen funktio, joka on ylipäätään mekaanisesti laskettavissa, on laskettavissa (standardimuotoisella) Turingin koneella.
Huomioita stä ja Väite ei ole matemaattisesti todistettavissa eikä kumottavissa. Käsitteellis-filosofinen kumoaminen lienee periaatteessa mahdollista osoittamalla jokin mekaaninen laskentamenetelmä, joka kykenee laskemaan sellaisia matemaattisia funktioita, joita TM ei kykene laskemaan. Väite rajoittuu vain matemaattisten funktioiden laskemiseen! Esimerkiksi interaktiiviseen toimintaan standardimuotoinen Turingin kone ei kykene.
Churchin ja Alonzo Church julkaisi oman määritelmänsä (λ-laskento) mekaaniselle laskettavuudelle muutama kuukausi ennen Turingia. Church ehdotti myös Gödelin rekursioteoriaa hieman laajennettuna mekaanisen laskettavuuden määritelmäksi. Turing todisti, että hänen ja Churchin määritelmät ovat yhtä vahvat. Turingin kone on intuitiivisesti vakuuttavin. 1 Mutta usein puhutaan Churchin stä: Jokainen mekaanisesti laskettavissa oleva matemaattinen funktio on laskettavissa yhtä lailla Turingin koneella, Churchin λ-laskennolla ja yleisrekursiivisilla funktioilla. 1 Intuitiivinen vakuuttavuus on varsin oleellista, kun täsmällinen todistus tai kumoaminen ei ole mahdollista!