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

Samankaltaiset tiedostot
Rekursiiviset palautukset [HMU 9.3.1]

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Säännöllisen kielen tunnistavat Turingin koneet

Lisää pysähtymisaiheisia ongelmia

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

2. Laskettavuusteoriaa

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

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

Täydentäviä muistiinpanoja laskennan rajoista

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

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

2. Laskettavuusteoriaa

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

5.3 Ratkeavia ongelmia

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

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

1. Universaaleja laskennan malleja

Muita vaativuusluokkia

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

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

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

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

Algoritmin määritelmä [Sipser luku 3.3]

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

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

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

Rajoittamattomat kieliopit

Ratkeavuus ja efektiivinen numeroituvuus

Chomskyn hierarkia ja yhteysherkät kieliopit

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

3SAT-ongelman NP-täydellisyys [HMU ]

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

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

ICS-C2000 Tietojenkäsittelyteoria

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

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

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

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

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

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

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

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

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

Turingin koneen laajennuksia

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

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

Laskennan teoria

Laskennan teoria

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

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

1. Universaaleja laskennan malleja

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Predikaattilogiikan malli-teoreettinen semantiikka

Muita universaaleja laskennan malleja

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

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

Säännöllisten kielten sulkeumaominaisuudet

Entscheidungsproblem

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

1. Esitä rekursiivinen määritelmä lukujonolle

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

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

Laskennan teoria

Johdatus matemaattiseen päättelyyn

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

Yhteydettömän kieliopin jäsennysongelma

6.1 Rekursiiviset palautukset

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

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

Luonnollisten lukujen ja kokonaislukujen määritteleminen

5.1 Semanttisten puiden muodostaminen

Pinoautomaatit. Pois kontekstittomuudesta

Miten osoitetaan joukot samoiksi?

Luku 7. Ratkeamattomuus ja epätäydellisyys. Predikaattilogiikan ratkeamattomuus

Luonnollisen päättelyn luotettavuus

Entscheidungsproblem

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

SAT-ongelman rajoitetut muodot

2 Sanoja järjestävän funktion ohjelmoiminen

Laskennan teoria

Kertausta 1. kurssikokeeseen

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

= k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko

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.

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Heidi Luukkonen. Sahlqvistin kaavat

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

Automaatit. Muodolliset kielet

Transkriptio:

Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen. Koska L e = L ne ja L ne juuri todistettiin ei-rekursiiviseksi mutta rekursiivisesti lueteltavaksi, L e ei voi olla rekursiivisesti lueteltava. Esimerkkinä yksinkertaisesta palautuksesta tarkastellaan kysymystä, onko kahden rekursiivisesti lueteltavan kielen leikkaus tyhjä. Lause: Kieli L ep = { v111w v, w { 0, 1 }, L(M v ) L(M w ) = } ei ole rekursiivisesti lueteltava. 113

Todistus: Palautus kielestä L e. Siis muodostetaan rekursiivinen funktio f: { 0, 1 } { 0, 1 }, jolle pätee f(v) L ep v L e. Olkoon w all jokin sellainen koodi, että L(M wall ) = { 0, 1 }. Palautusfunktio f määritellään f(v) = v111w all. Nyt jos v on validi koodi, pätee L(M v ) = L(M v ) { 0, 1 } = L(M v ) L(M wall ) ja siis v L e L(M v ) = L(M v ) L(M wall ) = f(v) L ep. Jos v ei ole validi koodi, sopimuksen mukaan L(M v ) =, ja koska tällöin ei voi olla mitään valideja koodeja v, w joille v111w all = v 111w, myös f(v) L ep. 114

Funktio f voidaan helposti laskea Turingin koneella: 1. Siirrä nauhapää syötemerkkijonon loppuun. 2. Kirjoita nauhalle merkkijono 111w all. 3. Palauta nauhapää syötteen alkuun. Siis on muodostettu rekursiivinen palautus f: L e m L ep. Jos L ep olisi rekursiivisesti lueteltava, myös L e olisi; ristiriita. 115

Semanttisten ongelmien ratkeamattomuus Intuitiivisesti semanttinen ongelma on Turingin konetta koskeva kysymys, jonka vastaus riippuu vain koneen hyväksymästä kielestä. Siis jos L(M) = L(M ), vastauksen on oltava sama koneille M ja M. Muodollisemmin semanttinen ominaisuus S on kokoelma rekursiivisesti lueteltavia aakkoston { 0, 1 } kieliä. Toisin sanoen S RE, missä siis RE = { L(M) { 0, 1 } M Turingin kone syöteaakkostolla { 0, 1 } } Ominaisuus S on ratkeava jos joukko on rekursiivinen. L S = { w { 0, 1 } n L(M w ) S } Esimerkki: Valitaan S = { }, siis pelkän tyhjän kielen sisältävä luokka. Nyt L S = L e, edellä esitetty tyhjyysongelma, joten S ei ole ratkeava. 116

Semanttinen ominaisuus S on triviaali jos joko S = tai S = RE. Siis ominaisuus on ei-triviaali jos on olemassa kaksi kieltä L, L RE joille L S ja L S. Ricen lause: Kaikki ei-triviaalit semanttiset ominaisuudet ovat ratkeamattomia. Siis esim. seuraavat ongelmat ovat ratkeamattomia: hyväksyykö M tasan k merkkijonoa (millä tahansa k) hyväksyykö M äärettömän monta merkkijonoa onko koneen M hyväksymä kieli säännöllinen onko koneen M hyväksymä kieli kontekstiton (kaikissa ongelmissa siis syötteenä koneen M koodi) 117

Ricen lauseen todistus: Olkoon S ei-triviaali. Jatkossa esitetään todistus tapaukselle S. Jos S, voidaan samaa todistusta soveltaa ominaisuuteen S = RE S joka on ei-triviaali eikä sisällä kieltä. Todistus perustuu palautukseen universaalikielestä L u. Siis muodostetaan rekursiivinen f: { 0, 1 } { 0, 1 } jolle f(v) L S jos ja vain jos v L u. Toisin sanoen on oltava L(M f(v) ) S jos ja vain jos v = w111x missä x L(M w ). Kun v ei ole muotoa v = w111x millekään koodille w, määritellään f(v) = w 0 missä w 0 on jokin kiinteä koodi jolle L(M w0 ) S. Tarkastellaan nyt miten f(v) määritellään kun v = w111x missä w on validi koodi jollekin koneelle M. 118

Nyt on siis annettuna M = M w ja x, ja pitää konstruoida M = M v jolle L(M ) S jos ja vain jos x L(M). (Ja sitten asetetaan f(w111x) = v.) Olkoon M L jokin kiinteä kone jolle L(M L ) S. Kone M konstruoidaan parin (M, x) perusteella siten, että jos x L(M) niin L(M ) = L(M L ) jos x L(M) niin L(M ) = mikä toteuttaa vaatimukset. 119

Kone M on kaksinauhainen ja toimii syötteellä z seuraavasti: 1. Kopio merkkijono x kakkosnauhalle. 2. Kakkosnauhaa käyttäen simuloi koneen M laskenta syötteellä x 3. Jos simulointi johti hylkäämiseen, hylkää z. (Tässä vaiheessa syötettä z ei ole vilkaistukaan!) 4. Jos simulointi johti hyväksymiseen, simuloi koneen M L laskentaa varsinaisella syötteellä z; hyväksy jos M L hyväksyy. Nyt L(M ) = L(M L ) jos x L(M); muuten L(M ) =. Selvästi merkkijonosta v = w111x missä w on koneen M indeksi voidaan laskea f(v) joka on kuvatun koneen M indeksi. Huomaa että x tulee koodatuksi koneen M sisään eikä ole sen syöte. 120

z M L x M Koneen M konstruktio Ricen lauseessa 121

Muita ratkeamattomuustuloksia Ricen lause voidaan ilmeisellä tavalla siirtää Turingin koneista koskemaan esim. C-kielisiä ohjelmia. Turingin koneiden semanttiset ominaisuudet vastaavat C-ohjelmien syöte-tuloste-relaation ominaisuuksia. On siis esim. ratkeamatonta pysähtyykö ohjelma millään syötteellä pysähtyykö ohjelma kaikilla syötteillä tulostaako ohjelma 1 millään syötteellä jne. Turingin koneille on ratkeamatonta, käykö kone annetussa tilassa q Q millään syötteellä. Vastaavasti on ohjelmille on ratkeamatonta suoritetaanko ohjelman riviä numero k millään syötteellä 122

Matematiikan ratkeamattomuustuloksia Klassinen tulos (Church, Gödel 1930-luvulla) sanoo että seuraava ongelma on ratkeamaton: Annettu: luonnollisten lukujen aritmetiikkaa koskeva 1. kertaluvun logiikan kaava φ Kysymys: onko φ tosi Tässä ei mennä tarkemmin siihen, miten kaavat ja niiden totuus muodollisesti määritellään. Huomataan kuitenkin, että jos rajoitutaan kaavoihin ilman kertolaskua, ongelma on ratkeava. 123

Yllättäen Matijasevitsh 1970 osoitti paljon vahvemmin, että jo seuraava paljon rajoitetumpi ongelma on ratkeamaton: Annettu: kokonaislukukertoiminen n muuttujan polynomi p(x 1,..., x n ) Kysymys: onko olemassa (y 1,..., y n ) Z n joilla p(y 1,..., y n ) = 0 Itse asiassa Matijasevitsh osoitti vielä vahvemmin että mille tahansa osittain ratkeavalle luonnollisten lukujen ongelmalle π on olemassa kokonaislukukertoiminen polynomi p π jolle π(x) = 1 jos ja vain jos y 1,..., y n : p π (x, y 1,..., y n ) = 0. 124