Täydentäviä muistiinpanoja laskennan rajoista

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

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

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.

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

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

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

5.3 Ratkeavia ongelmia

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

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

Lisää pysähtymisaiheisia ongelmia

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

Säännöllisen kielen tunnistavat Turingin koneet

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

Rekursiiviset palautukset [HMU 9.3.1]

1. Universaaleja laskennan malleja

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

2. Laskettavuusteoriaa

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

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

2. Laskettavuusteoriaa

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

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

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

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

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

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

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

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

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

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

DFA:n käyttäytyminen ja 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

Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

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

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

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

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

Tietojenkäsittelyteorian alkeet, osa 2

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

Entscheidungsproblem

Output. Input Automaton

Pinoautomaatit. Pois kontekstittomuudesta

Entscheidungsproblem

Muita vaativuusluokkia

Chomskyn hierarkia ja yhteysherkät kieliopit

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

Algoritmin määritelmä [Sipser luku 3.3]

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

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

Turingin koneen laajennuksia

Rajoittamattomat kieliopit

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

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

Ensimmäinen induktioperiaate

Ensimmäinen induktioperiaate

Miten osoitetaan joukot samoiksi?

Matemaattisten työvälineiden täydentäviä muistiinpanoja

Kertausta 1. kurssikokeeseen

Yhteydettömän kieliopin jäsennysongelma

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

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

Lineaarikuvauksen R n R m matriisi

Automaatit. Muodolliset kielet

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. ( ) Jeremias Berg

Ratkeavuus ja efektiivinen numeroituvuus

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

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

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

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan

ICS-C2000 Tietojenkäsittelyteoria

Todistusmenetelmiä Miksi pitää todistaa?

Säännöllisten kielten sulkeumaominaisuudet

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

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

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

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

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

1. Universaaleja laskennan malleja

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

Surjektion käsitteen avulla kuvauksia voidaan luokitella sen mukaan, kuvautuuko kaikille maalin alkioille jokin alkio vai ei.

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Laskennan teoria

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja

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

7 Vapaus. 7.1 Vapauden määritelmä

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Laskennan teoria

Transkriptio:

Täydentäviä muistiinpanoja laskennan rajoista Antti-Juhani Kaijanaho 10. joulukuuta 2015 1 Diagonaalikieli Diagonaalikieli on D = { k {0, 1} k L(M k ) }. Lause 1. Päätösongelma Onko k {0, 1} sellaisen TM:n M binäärikoodaus, joka ei hyväksy omaa koodaustaan? ei ole (puoli)ratkeava. Todistus. Lause voidaan esittää myös muodossa: D ei ole laskettavasti lueteltava. Oletetaan, että D on lasketttavasti lueteltava. Tällöin on olemassa standardimuotoinen TM M, jolle pätee D = L(M). Olkoon d = w M, eli M d = M. Nyt pätee d D d L(M d ) koska D = { k {0, 1} k L(M k ) } joka on ristiriita. d D koska D = L(M d ) Kieltä D kutsutaan diagonaalikieleksi, koska edellisen lauseen todistus muistuttaa Cantorin kuuluisaa diagonaaliargumenttia. Luetellaanpa kaikki mahdolliset Turingin koneet vaaka-akselilla (ei ole väliä, toistuuko sama kone useaan kertaan) ja kaikki mahdolliset binäärimerkkijonot pystyakselilla, ja TIEA241 Automaatit ja kieliopit, syksy 2015 1

merkitään kuhunkin soluun, kuuluuko kyseinen binäärimerkkijono koneen tunnistamaan kieleen: M ε M 0 M 1 M 01 ε 0 0 0 0 0 0 0 0 0 1 0 0 0 0 01 0 0 0 0........ Edellä olevasa taulukossa kaikki solut ovat nollia, koska jokainen näkyviin kirjoitettu kone hylkää kaikki syötemerkkijonot. Taulukossa on kuitenkin myös (näkyvän alueen ulkopuolella) soluja, joissa on ykkönen. Taulukon diagonaalilta on luettavissa, mitkä (pystyakselille merkityt) merkkijonot kuuluvat diagonaalikielen komplementtiin { w {0, 1} w L(M w ) }. Näin ollen diagonaalikieli saadaan, kun taulukon diagonaalilla vaihdetaan jokainen nolla ykköseksi ja ykkönen nollaksi. 2 Universaalikone On mahdollista rakentaa Turingin kone, joka tarkistaa, että syöte on jonkin Turingin koneen binäärikuvaus. Merkitään sellaista konetta M OK. On myös mahdollista rakentaa Turingin kone, joka kahdentaa nauhan sisällön; merkitään sitä M DUP. Oletetaan, että olisi olemassa universaali Turingin kone, joka pysähtyy joka syötteellä; merkitään tätä hypoteettista konetta MU T. Nyt voidaan rakentaa uusi kone seuraavasti: 1. Uusi kone toimii aluksi kuin M OK. Jos M OK hylkää syötteen, uusi kone hyväksyy sen. 2. Seuraavaksi uusi kone palauttaa nauhan ja nauhapään alkutilanteeseen ja käyttäytyy sitten kuin M DUP. Huomaa, että M DUP ei koskaan hylkää syötettään. 3. Lopuksi kone palauttaa nauhapään nauhan alkuun ja käyttäytyy kuten hypoteettinen MU T. Jos se hyväksyy syötteen, uusi kone hylkää sen, ja päin vastoin. 2

Sama kuvallisesti: w w ww M OK M DUP M T U Kuvassa osakoneiden väliset siirtymät kertovat nauhan tilanteen siirtymässä; nauhapää siirtyy joka osakoneen valmistuttua nauhan alkuun. 3 Pysähtymisongelma Lause 2. Päätösongelma Pysähtyykö standardimallinen TM M syötteellä w? on puoliratkeava mutta ei ratkeava. Todistus. Ongelmaa vastaa kieli H = { w M w M pysähtyy syötteellä w }. Turingin kone M H, jolle L(M H ) = H pätee, on helppo rakentaa samaan tapaan kuin universaalikone. Olkoon MH T aina pysähtyvä TM, jolle pätee L(M H T ) = H. Rakennetaan nyt uusi kone M: jos MH T hylkää syötteen, M hylkää, muuten M käyttäytyy kuten mikä tahansa universaalikone. Tällöin L(M) = U, mikä on ristiriita. 4 Kääntäjäkirjoittajien täystyöllisyys Lause 3. Sellaista Turingin konetta ei ole, joka minimoisi sille binäärikoodattuna annetun Turingin koneen. Todistus. Lienee selvää, että on helppo tunnistaa, onko standardimallinen Turingin kone pienin mahdollinen tyhjän kielen tunnistava kone. Oletetaan, että on olemassa tehtävänannossa tarkoitettu Turingin kone M m. Rakennetaan uusi Turingin kone seuraavasti: 1. Se hylkää syötteen, jos syöte ei ole muotoa w M v. 2. Sitten se kirjoittaa nauhan sisällöksi w Mv, missä M v hyväksyy kaikki merkkijonot jos M pysähtyy syötteellä v ja muutoin ei pysähdy millään syötteellä. 3

3. Sitten se käyttäytyy kuten M m. 4. Mikäli tulos oli pienin mahdollinen tyhjän kielen tunnistava kone, hylkää; muuten hyväksy. Tämä kone pysähtyy aina ja tunnistaa, pysähtyykö annettu Turingin kone annetulla syötteellä. Koska pysähtymisongelma ei ole ratkeava, on tässä ristiriita. 5 Entscheidungsproblem Entscheidungsproblem kysyy, millä algoritmilla voidaan ratkaista jokaisen tarpeeksi tarkasti kirjoitetun matemaattisen väitteen totuus tai epätotuus. Turing todisti aikoinaan, että tällaista algoritmia ei voi olla. Kirjoitan tästä laajemmin lisäprujussa, mutta perusidea on tässä: kirjoitetaan Turingin koneen määritelmä sopivassa logiikan formalismissa, ja kirjoitetaan sillä myös, miten määritellään merkkijonon hyväksyminen. Tämän jälkeen on helppo kertoa, kuinka annettu Turingin kone kääntyy logiikan kieliseksi väitteeksi, että kone hyväksyy ainakin yhden merkkijonon. Sen jälkeen todistetaan, että tuo väite tosiaan on loogisesti tosi jos ja vain jos kyseinen Turingin kone hyväksyy ainakin yhden merkkijonon. Tämän jälkeen tehdään vastaoletus, että olisi TM, joka ratkaisee kaikki väitteet, ja pultataan sen eteen kone, joka muuntaa TM:n edellä kuvatuksi väitteeksi. Saadaan TM, joka ratkaisee, hyväksyykö annettu TM ainakin yhden merkkijonon; tämä tiedetään mahdottomaksi. Todistuksen tekee teknisesti vaikeaksi se, että formaali logiikka vaatii huomattavasti tavanomaista matemaatikon tarkkuutta hurjempaa täsmällisyyttä. Niinpä TM:n kuvaaminen formaalilla logiikalla vaatii jonkin verran kirjoittamista, ja saadun kuvauksen oikeellisuuden todistaminen on vaaditulla tarkkuudella todella työlästä. Lisäksi tuo todistaminen vaatii aika lailla esitietoja formaalin logiikan toiminnasta. Lisäprujussa en esitä todistusta aivan tarkasti, mutta kuitenkin tarkemmin kuin tässä. 6 Ricen lause Määritelmä 4. Joukon S alkioiden ominaisuus P ( ) on triviaali, jos pätee x S : P (x) tai x S : P (x). Lause 5 (Rice). Kaikki laskettavasti lueteltavien kielten epätriviaalit ominaisuudet ovat ratkeamattomia. 4

Todistus. Tehdään vastaoletus, että on olemassa jokin laskettavasti lueteltavien kielten epätriviaali ominaisuus, joka on ratkeava. Sen komplementti on tällöin myös ratkeava. Merkitään P :llä näistä kahdesta ominaisuudesta sitä, joka ei ole tyhjällä kielellä. Koska P on ratkeava, on olemassa Turingin kone M P, joka ratkaisee sen. Koska kyse on laskettavasti lueteltavien kielten ominaisuudesta, voidaan olettaa, että M p tulkitsee syötteensä Turingin koneen binäärikuvaukseksi. Koska P on epätriviaali, on olemassa laskettavasti lueteltava kieli A P. Tälle kielelle on olemassa Turingin kone M A, jolle pätee A = L(M A ). Rakennetaan Turingin kone M E, joka toimii seuraavasti: 1. Se hylkää syötteen, jos syöte ei ala jonkin Turingin koneen M binäärikuvauksella; merkitään syötteen loppuosaa v:llä. 2. Se muodostaa binäärikuvauksen uudelle koneelle M v, joka ensiksi käyttäytyy sille annetulla syötteellä u kuten M syötteellä v; jos M hyväksyy v:n, se lisäksi käyttäytyy kuten M A syötteellä u. Huomaa, että M v :n kielellä on ominaisuus P jos ja vain jos v L(M). Rakennetaan Turingin kone M, joka käyttäytyy ensiksi kuin M E, ja jos tämä hyväksyy syötteen, se antaa syntyneen tuloksen M P :lle syötteeksi. Tarkastellaan M :n käytöstä mielivaltaisella muotoa w M v (jollakin M) olevalla syötteellä. Ensiksi se käyttäytyy kuin M E eli tarkistaa syötteen muodollisen oikeellisuuden ja sitten rakentaa koneen M v binäärikuvauksen. Sitten se käyttäytyy kuin M P syötteenään M v :n binäärikuvaus. Näin M hyväksyy syötteen, jos M v :llä on ominaisuus P eli jos ja vain jos v L(M). Niinpä M on universaalikone! On helppo havaita, että M pysähtyy kaikilla syötteillä: M v :n rakentaminen pysähtyy aina, ja M P :n oletetaan pysähtyvän aina. Mutta aina pysähtyvää universaalikonetta ei ole. Seuraus 6. Päätösongelma Onko standardimallisen TM:n tunnistama kieli epätyhjä? ei ole ratkeava. Todistus. Ongelma voidaan esittää myös seuraavassa muodossa: Onko annetulla laskettavasti lueteltavalla kielellä A ominaisuus P (A) A? Ominaisuus P on epätriviaali: P ( ) ja P ({0}) pätevät, ja molemmat kielet ovat laskettavasti lueteltavia. Näin ollen väite seuraa Ricen lauseesta. 5