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

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

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

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

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

Pinoautomaatit. Pois kontekstittomuudesta

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

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

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.

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

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

1. Universaaleja laskennan malleja

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

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

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

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

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

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

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

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

Täydentäviä muistiinpanoja laskennan rajoista

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

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

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

Turingin koneen laajennuksia

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

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

Lisää pysähtymisaiheisia ongelmia

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

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

Rajoittamattomat kieliopit

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, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013

Automaatit. Muodolliset kielet

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

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

Yhteydettömän kieliopin jäsennysongelma

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

Rekursiiviset palautukset [HMU 9.3.1]

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

Algoritmin määritelmä [Sipser luku 3.3]

1. Universaaleja laskennan malleja

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

Chomskyn hierarkia ja yhteysherkät kieliopit

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

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

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

2. Laskettavuusteoriaa

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

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

Tietojenkäsittelyteorian alkeet, osa 2

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Säännöllisten kielten sulkeumaominaisuudet

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. kesäkuuta 2013

Muita universaaleja laskennan malleja

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

ICS-C2000 Tietojenkäsittelyteoria

Attribuuttikieliopit

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

Säännöllisen kielen tunnistavat Turingin koneet

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

Ratkeavuus ja efektiivinen numeroituvuus

Kertausta 1. kurssikokeeseen

Entscheidungsproblem

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

5.3 Ratkeavia ongelmia

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

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


Entscheidungsproblem

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Yksinkertaiset tyypit

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

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

2. Laskettavuusteoriaa

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

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

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

ICS-C2000 Tietojenkäsittelyteoria

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

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

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

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

ICS-C2000 Tietojenkäsittelyteoria

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

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

Laskennan teoria

9. Matemaattisista koneista.

Transkriptio:

TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. kesäkuuta 2013

Sisällys

Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti lueteltava automaatti äärellinen (ennustava jäsennin) deterministinen pino pino lineaarirajoitettu Turingin kone

Turingin koneen rakenne Määritelmä Kahdeksikko M = (Q, Σ, Γ,, δ, q 0, q yes, q no ) 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) q yes Q (hyväksyvä lopputila) q no Q (hylkäävä lopputila) δ : Q Γ Q Γ {L, R} (siirtymäfunktio) jossa Q = Q {q yes, q no }

Tilanteet 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 ääretön blankojen jono poislukien 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 Olkoot w, v, w, v, w, v Γ, q, q, q Q ja c, c, d Γ. Määritellään tilanteiden välinen relaatio seuraavasti: wqcv wc q v jos δ(q, c) = (q, c, R) wdqcv wq dc v jos δ(q, c) = (q, c, L) qcw q c w jos δ(q, c) = (q, c, L) wq wcq jos δ(q, ) = (q, c, R) wdq wq dc jos δ(q, ) = (q, c, L) q q c jos δ(q, ) = (q, c, L) Määritellään tilojen välinen relaatio kuten pinoautomaattien tapauksessa.

Lopputulokset Olkoon M = (Q, Σ, Γ,, δ, q 0, q yes, q no ) standardimuotoinen Turingin kone. M hyväksyy syötteen u Σ, jos pätee w, v Γ : q 0 u wq yes v M hylkää syötteen u Σ, jos pätee w, v Γ : q 0 u wq no v M pysähtyy syötteellä u Σ, jos se joko hyväksyy tai hylkää sen.

Turingin koneen kieli Olkoon M = (Q, Σ, Γ,, δ, q 0, q yes, q no ) standardimuotoinen Turingin kone. M tunnistaa (engl. recognizes) kielen { u Σ w, v Γ : q 0 u wq yes v } M ratkaisee (engl. decides) kielen A Σ, jos se tunnistaa A:n ja pysähtyy kaikilla syötteillä. Tällaista kieltä kutsutaan usein rekursiiviseksi.

Esimerkki 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 Graafiesityksessä siirtymä q 1 c 1 /c 2, q 2 tarkoittaa siirtymää δ(q 1, c 1 ) = (q 2, c 2, ). Kaksoisympyröity, nimeämätön tila on q yes ; huomaa, että näitä on aina tasan yksi! Merkitsemättä jätetyt siirtymät tilasta q merkillä c ovat siirtymiä hylkäävään tilaan: δ(q, c) = (q no, c, R). Tarvittaessa siirtymä hylkäävään tilaan voidaan piirtää käyttämällä symbolia hylkäävän tilan q no merkkinä:

Ratkaisin vs laskin vs luetteloin 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 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 A /1,R B

Mikä tahansa matemaattinen funktio, joka on ylipäätään mekaanisesti laskettavissa, on laskettavissa (standardimuotoisella) Turingin koneella.

Huomioita stä 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 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!