TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

Samankaltaiset tiedostot
Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi

Turingin koneet. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

Laskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.

1. Universaaleja laskennan malleja

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015

Pinoautomaatit. Pois kontekstittomuudesta

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Täydentäviä muistiinpanoja laskennan rajoista

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

Lisää pysähtymisaiheisia ongelmia

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011

Turingin koneen laajennuksia

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

Rajoittamattomat kieliopit

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012

Algoritmin määritelmä [Sipser luku 3.3]

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Yhteydettömän kieliopin jäsennysongelma

DFA:n käyttäytyminen ja säännölliset kielet

Rekursiiviset palautukset [HMU 9.3.1]

Chomskyn hierarkia ja yhteysherkät kieliopit

Tietojenkäsittelyteorian alkeet, osa 2

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

1. Universaaleja laskennan malleja

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Chomskyn hierarkia. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w}

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:

Rajoittamattomat kieliopit (Unrestricted Grammars)

Säännöllisen kielen tunnistavat Turingin koneet

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Entscheidungsproblem

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016

Automaatit. Muodolliset kielet

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

Säännöllisten operaattoreiden täydentäviä muistiinpanoja

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

2. Laskettavuusteoriaa

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

Ratkeavuus ja efektiivinen numeroituvuus

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 20. lokakuuta 2016

Entscheidungsproblem

Yksinkertaiset tyypit

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Kyselytutkimus opiskelijoiden ajankäytöstä tietojenkäsittelyteorian peruskurssilla

Kertausta 1. kurssikokeeseen

Säännöllisten kielten sulkeumaominaisuudet

formalismeja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 15. joulukuuta 2015 TIETOTEKNIIKAN LAITOS

3. Turingin koneet. osaa esittää yksinkertaisia algoritmeja täsmällisesti käyttäen Turingin konetta ja sen muunnelmia

ICS-C2000 Tietojenkäsittelyteoria

jäsentämisestä TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 27. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

Rekursiiviset tyypit

Laskennan teoriasta. Antti-Juhani Kaijanaho. 11. helmikuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

uv n, v 1, ja uv i w A kaikilla

5.3 Ratkeavia ongelmia

Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää

TIEA341 Funktio-ohjelmointi 1, kevät 2008

ICS-C2000 Tietojenkäsittelyteoria

Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

S uay uvaxy uv 2 Ax 2 y... uv i Ax i y uv i wx i y.

Muita universaaleja laskennan malleja

Reaaliarvoisen yhden muuttujan funktion raja arvo LaMa 1U syksyllä 2011

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A. NULL := {A V Σ A ε on G:n produktio};

Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).

Muita vaativuusluokkia

2. Laskettavuusteoriaa

Transkriptio:

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!