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

Samankaltaiset tiedostot
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.

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

Täydentäviä muistiinpanoja laskennan rajoista

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

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

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

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

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

Pinoautomaatit. Pois kontekstittomuudesta

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

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

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

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

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

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

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

5.3 Ratkeavia ongelmia

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

Rekursiiviset palautukset [HMU 9.3.1]

Lisää pysähtymisaiheisia ongelmia

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

2. Laskettavuusteoriaa

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. 31. maaliskuuta 2011

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

1. Universaaleja laskennan malleja

Rajoittamattomat kieliopit

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

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

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

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

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

Turingin koneen laajennuksia

Säännöllisen kielen tunnistavat Turingin koneet

Algoritmin määritelmä [Sipser luku 3.3]

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

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

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

jäsennyksestä TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 29. syyskuuta 2016 TIETOTEKNIIKAN LAITOS Kontekstittomien kielioppien

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

2. Laskettavuusteoriaa

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

Chomskyn hierarkia ja yhteysherkät kieliopit

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

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

(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. 2. helmikuuta 2012

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

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

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

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

ICS-C2000 Tietojenkäsittelyteoria

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

Yhteydettömän kieliopin jäsennysongelma

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

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

Ratkeavuus ja efektiivinen numeroituvuus

1. Universaaleja laskennan malleja

Kertausta 1. kurssikokeeseen

Säännöllisten kielten sulkeumaominaisuudet

Entscheidungsproblem

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

Entscheidungsproblem

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

Tietojenkäsittelyteorian alkeet, osa 2

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

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

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

ICS-C2000 Tietojenkäsittelyteoria

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

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. joulukuuta 2015

Muita universaaleja laskennan malleja

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Vaihtoehtoinen tapa määritellä funktioita f : N R on

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

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


Tietotekniikan valintakoe

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

ongelma A voidaan ratkaista ongelman B avulla, joten jossain mielessä

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

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

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2009

Laskennan teoria

Toispuoleiset raja-arvot

S BAB ABA A aas bba B bbs c

Transkriptio:

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

Sisällys

Harjoitustehtävätilastoa Tilanne 17.10.2016 klo 15:07 passed waiting redo submitters vk1 h1 344 0 34 103 h2 176 0 29 71 h3 128 0 34 60 h4 184 0 16 58 h5 74 0 7 32 h6 48 4 2 22 h7 41 9 1 26 h8 16 2 2 13 vk2 h9 29 2 3 23 h10 41 11 6 22 h11 13 6 6 14 h12 7 3 0 8 h13 30 7 2 15 pt h14 17 0 4 17 h15 9 6 4 13 h16 3 3 2 6

Harjoitustehtävätilastoa Tilanne 17.10.2016 klo 15:07 Hyväksytty vähintään Opiskelijoita 10 % 57 20 % 37 40 % 9 60 % 4 80 % 1 Viikko Palauttaneita opiskelijoita 2016 2015 1 5. 11.9. 79 59 12. 18.9. 61 53 19. 25.9. 52 48 26.9. 2.10. 48 41 3. 9.10. 35 30 10. 16.10. 38 24 1 Vuoden 2015 data on demorukseja vastaavalla kurssiviikolla.

Simuloivan koneen toiminta 1. Kopioi ensimmäinen nauha toiselle nauhalle. 2. Siirrä kaikkien nauhojen lukupää nauhan alkuun. 3. Siirry simuloitavan automaatin alkutilaan. 4. Olkoon q automaatin nykyinen tila, c toisen nauhan lukupään kohdalla oleva merkki ja i kolmannen nauhan lukupään kohdalla oleva merkki. Jos i =, niin tee tilasiirtymä δ i (q, c) ja siirrä kolmannen nauhan lukupäätä yksi askel oikealle; jos siirtymä onnistui, suorita tämä askel uudestaan. 5. Jos ollaan simuloitavan koneen hyväksyvässä tilassa, siirry simuloivan koneen hyväksyvään tilaan. 6. Olkoon w kolmannen nauhan sisältö blankomerkit pois lukien. Kirjoita kolmannelle nauhalle sanakirjajärjestyksessä w:tä seuraava merkistön {0,..., n 1} merkkijono. 7. Tyhjennä toinen nauha ja hyppää askeleeseen 1.

TM vs yleiset kieliopit Lause Jokaiselle kielelle A seuraavat ovat yhtäpitävät: 1. On olemassa yleinen kielioppi G, jolle A = L(G). 2. On olemassa Turingin kone M, jolle A = L(M). Seuraus Kieli on laskettavasti lueteltava, jos on olemassa Turingin kone, joka tunnistaa sen. Huomautus Aiemmin jo määriteltiin, että kieli on laskettava, jos on olemassa Turingin kone, joka ratkaisee sen.

Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on muotoa Onko x:llä ominaisuus P(x)? Rajoitutaan tarkastelemaan ongelmia, joissa kaikilla relevanteilla x:illä on olemassa äärellinen esitys (merkkijonona), josta tuon x:n voi lukea. Määritellään ominaisuutta vastaava kieli L(P) = { x Σ P(x) }. Päätösongelma onko x:llä ominaisuus P(x) voidaan siten muotoilla muotoon: Kuuluuko merkkijono x kieleen L(P)?

Esimerkkejä päätösongelmista Sopiiko merkkijono w säännölliseen lausekkeeseen s? Onko jono (w 1,..., w n ) aakkosjärjestyksessä? Onko lauselogiikan kaava ϕ tautologia? Onko predikaattilogiikan kaava ϕ tautologia? Onko laskettavasti lueteltava kieli A tyhjä? Pysähtyykö Turingin kone M syötteellä w?

Päätösongelman ratkeavuus Päätösongelma on puoliratkeava (engl. semidecidable), jos on olemassa Turingin kone M, joka tunnistaa sitä vastaavan kielen. toisin sanoen: jos sitä vastaava kieli on laskettavasti lueteltava Päätösongelma on ratkeava (engl. decidable), jos on olemassa Turingin kone M, joka ratkaisee sitä vastaavan kielen. toisin sanoen: jos sitä vastaava kieli on laskettava

Ratkeavia päätösongelmia Kuuluuko annettu merkkijono tiettyyn kontekstittomaan kieleen? Kuuluuko annettu merkkijono kieleen { a i b i c i i N }?

Turingin koneen tutkiminen Turingin koneella Joissakin tilanteissa voi olla hyvä pystyä antamaan Turingin koneelle syötteenä Turingin kone. Kone pitää kuitenkin ensiksi muuttaa Turingin koneen luettavaan muotoon eli merkkijonoksi. Yksinkertaisuuden vuoksi rajoitutaan TM:iin, joiden syötemerkistö on {0, 1}.

Turingin koneen binäärikoodaus 3 Olkoon M = ({q 0, q 1,..., q nq 1}, {0, 1}, {0, 1, 2,..., n Γ 1}, 2, δ, q 0, {q 1 }) standardimuotoinen Turingin kone, 2 jolla Numeroidaan suunnat: 0 = S, 1 = L, 2 = R. Koodataan tilasiirtymä δ(q i, j) = (q k, l, m ) binäärijonona w i,j = 0 i+1 10 j+1 10 k+1 10 l+1 10 m+1. M voidaan koodata binäärijonoksi w M = 111w 0,0 11 11w 0,nΓ 111 11w nq 1,n Γ 1111 (jättäen pois ne w i,j :t, joita ei ole määritelty). 2 Huomaa, että jokainen standardimuotoinen TM voidaan muuttaa tällaiseksi, kunhan tilat ja nauhamerkit numeroidaan sopivasti ja syöte muutetaan binäärikoodatuksi. 3 Korjattu luennon jälkeen. Korjaukset merkitty.

Merkintöjä Kaikilla k {0, 1} joille on olemassa M, jolle pätee k = w M, merkitään M k = M. Kaikilla k {0, 1} joille ei ole olemassa M, jolle pätisi k = w M, merkitään M k :lla TM:ää, joka hylkää kaikki syötteet.

Diagonaalikieli Lause Päätösongelma Onko k {0, 1} sellaisen TM:n M binäärikoodaus, joka ei hyväksy omaa koodaustaan? ei ole (puoli)ratkeava. Todistus...

Universaalikieli Lause Päätösongelma Onko merkkijono w tulkittavissa w = w M v, missä M on binäärikoodattu TM, joka hyväksyy syötteen v? on puoliratkeava mutta ei ratkeava. Huomautuksia Kyseistä ongelmaa vastaa ns. universaalikieli U = { kv v L(M k ) }. Turingin kone M, jolle pätee L(U) = M, on universaalikone. Universaalikone on Turingin koneen binääriesityksen (metasirkulaarinen) tulkki.

Universaalikone Tähän mennessä aina kun halutaan ratkaista uusi ongelma, on pitänyt luoda uusi Turingin kone Olisiko mahdollista luoda Turingin kone, joka saa tehtävänkuvauksen syötteenään? Sellaista sanotaan universaalikoneeksi. Universaalikoneen syöte on w M v, missä M on ongelmakuvauksena toimiva Turingin kone ja v on sille tarkoitettu syöte. Universaalikone sitten käyttäytyy kuten M syötteellä v. Se hylkää syötteet, jotka eivät ole tulkittavissa tuohon tapaan. Merkitään mielivaltaista universaalikonetta M U.

Eräs kolminauhainen universaalikone 1. Pysähdy ja hylkää syöte, jos sen alussa ei ole minkään Turingin koneen binäärikoodausta. 2. Kopioi syötteen loppuosa kakkosnauhalle käyttäen koodausta c j 0 j+1 1. 3. Kirjoita kolmosnauhalle merkki 0 ja siirrä kaikki lukupäät kunkin nauhan alkuun. 4. Olkoon 0 i+1 kolmosnauhan sisältö ja olkoon 0 j+1 1 kakkosnauhan lukupään kohdalla. 5. Etsi 1. nauhalta 110 i+1 10 j+1 10 k+1 10 l+1 10 m+1. 6. Jos ei löydy, pysähdy. Hyväksy joss i = 1. 7. Kirjoita kolmosnauhan alkuun 0 k+1. 8. Korvaa 0 j+1 1 nauhan 2 lukupään kohdalla 0 l+1 1:llä. 9. Jos m = 0, siirrä kakkosnauhan lukupää yksi koodattu merkki vasemmalle (m = 1) tai oikealle (m = 2). 10. Hyppää askeleeseen 4.

Mikään universaalikone ei pysähdy aina Taululla.