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

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

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

Täydentäviä muistiinpanoja laskennan rajoista

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, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

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

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

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

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

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

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

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

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

Säännöllisen kielen tunnistavat Turingin koneet

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

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

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

Chomskyn hierarkia ja yhteysherkät kieliopit

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

(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

Kertausta 1. kurssikokeeseen

Rekursiiviset palautukset [HMU 9.3.1]

Pinoautomaatit. Pois kontekstittomuudesta

5.3 Ratkeavia ongelmia

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

Lisää pysähtymisaiheisia ongelmia

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

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

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

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, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

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.

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

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

1. Universaaleja laskennan malleja

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

TIEA341 Funktio-ohjelmointi 1, kevät 2008

Rekursiiviset tyypit

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

2. Laskettavuusteoriaa

2. Laskettavuusteoriaa

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

Muita vaativuusluokkia

Tietojenkäsittelyteorian alkeet, osa 2

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

Säännöllisten kielten sulkeumaominaisuudet

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

Miten osoitetaan joukot samoiksi?

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

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

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

Johdatus matemaattiseen päättelyyn

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

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat

Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. ( ) Jeremias Berg

Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja

Automaatit. Muodolliset kielet

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

Algoritmin määritelmä [Sipser luku 3.3]

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

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

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

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

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

Entscheidungsproblem

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

(2n 1) = n 2

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

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 2011 (IV) Antti-Juhani Kaijanaho. 16. maaliskuuta 2011

Output. Input Automaton

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

ICS-C2000 Tietojenkäsittelyteoria

Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

Laskennan teoria

Äärellisten automaattien ja säännöllisten lausekkeiden minimointi

Ensimmäinen induktioperiaate

811120P Diskreetit rakenteet

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

Ratkeavuus ja efektiivinen numeroituvuus

Entscheidungsproblem

Ensimmäinen induktioperiaate

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

Laskennan teoria

Transkriptio:

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

Sisällys Ongelma-analyysiä

Sisällys Ongelma-analyysiä

Hypoteettinen ongelma The Elite Bugbusters Oyj on kansainvälisesti tunnettu debuggausvälineiden toimittaja. Uusi toimitusjohtaja, joka osaa ohjelmoida mutta ei ole opiskellut alaa sen pidemälle, julistaa johtajapalaverissa, että yrityksen pitäisi rakentaa ja lanseerata uusi tuote, joka automaattisesti keskeyttää ohjelman, jos ja vain jos se on jäänyt jumiin 1. Yrityksen teknologiajohtajana vastuu projektista kuuluu luonnollisesti sinulle. Miten reagoit ilmoitukseen ja miksi? 1 Jumiin jääminen tarkoittaa tässä mitä tahansa tilannetta, jossa ohjelma ei enää koskaan tulosta mitään eikä sammu omin voimin.

Sisällys Ongelma-analyysiä

Tyhjyys- ja epätyhjyysongelma Lause Päätösongelma Onko standardimallisen TM:n tunnistama kieli epätyhjä? on puoliratkeava mutta ei ratkeava. Lause Päätösongelma Onko standardimallisen TM:n tunnistama kieli tyhjä? ei ole puoliratkeava.

Kääntäjänkirjoittajien täystyöllisyys Lause Sellaista Turingin konetta ei ole, joka minimoisi sille binäärikoodattuna annetun Turingin koneen. Huomaa Sama pätee myös TM:n optimoinnille. Sama argumentti toimii myös esimerkiksi while-kielelle ja siten yleisesti ohjelmointikielille. Tulosta sanotaankin usein kääntäjänkirjoittajien täystyöllisyyslauseeksi (engl. the full employment theorem for compiler writers)

Sisällys Ongelma-analyysiä

Ominaisuuden triviaalius Määritelmä Joukon S alkioiden ominaisuus P( ) on triviaali, jos pätee x S: P(x) tai x S: P(x).

Lause Kaikki rekursiivisesti lueteltavien kielten epätriviaalit ominaisuudet ovat ratkeamattomia.

Huomioita Rekursiivisesti lueteltavalla kielellä A on ominaisuus P(M), jos ja vain jos kaikilla TM:illä M pätee L(M) = A P(L(M)). Vastaavasti: Turingin koneen M ominaisuus P(M), joka on kaikilla ja vain niillä TM:illä jotka tunnistavat saman kielen kuin M, on rekursiivisesti lueteltavan kielen ominaisuus. Esimerkkejä: Onko annetun TM:n tunnistama kieli tyhjä? Onko annetun TM:n tunnistama kieli äärellinen? Onko annetun TM:n tunnistama kieli säännöllinen? Jotta tta voi soveltaa, ominaisuus täytyy olla jollakin mutta ei kaikilla rekursiivisesti lueteltavilla kielillä. Riittää osoittaa: On olemassa TM, joka tunnistaa kielen, jolla on kyseinen ominaisuus. On olemassa TM, joka tunnistaa kielen, jolla ei ole kyseistä ominaisuutta.

Sovellusesimerkki Lause Päätösongelma Onko standardimallisen TM:n tunnistama kieli epätyhjä? ei ole ratkeava. Todistus Ongelma voidaan esittää myös seuraavassa muodossa: Onko annetulla rekursiivisesti lueteltavalla kielellä A ominaisuus P(A) A =? Ominaisuus P on epätriviaali: P( ) ja P({0}) pätevät, ja molemmat kielet ovat rekursiivisesti lueteltavia. Näin ollen väite seuraa esta.

Todistuksen hahmotelma, osa 1 Kielten ominaisuus on päätösongelma: onko annetulla kielellä tämä ominaisuus? Rekursiivisesti lueteltava kieli voidaan esittää äärellisenä merkkijonona ottamalla jokin sen tunnistava Turingin kone ja laatimalla sen binäärijonokoodaus. väittää siis, että mikään Turingin kone, joka hyväksyy täsmälleen ne merkkijonot, jotka koodaavat ne Turingin koneet, jotka tunnistavat ne kielet, joilla on kyseinen ominaisuus, ei voi pysähtyä joka syötteellä. Voidaan olettaa, että tyhjällä kielellä ei ole kyseistä ominaisuutta. (Jos on, tehdään todistus ominaisuuden komplementille.)

Todistuksen hahmotelma, osa 2 Oletetaan, että ominaisuus P( ) on ratkeava, eli on olemassa aina pysähtyvä Turingin kone M P, jolle kaikilla Turingin koneilla M pätee P(L(M)) w M L(M P ). Koska ominaisuus P( ) on epätriviaali, on olemassa Turingin kone M A, jolle pätee P(L(M A )). Rakennetaan Turingin kone M E, joka muuttaa merkkijonon w M v merkkijonoksi w Mv, missä M v hylkää syötteen jos v L(M) ja muuten käyttäytyy kuten M A ; siis pätee { L(M A ) jos v L(M) L(M v ) = jos v L(M) eli pätee P(L(M v )) v L(M).

Todistuksen hahmotelma, osa 3 Rakennetaan uusi kone M U, joka toimii seuraavasti: ensiksi käyttäydytään kuin M E, ja jos se hyväksyy, käyttäydytään kuten M P syötteenään M E :n tuloste. M U on universaalikone! Koska M P oli oletettu aina pysähtyväksi, myös M U aina pysähtyy. Ristiriita!

Sisällys Ongelma-analyysiä

Kurssin loppuaikataulu Viimeiset luennot 13. ja 15. maaliskuuta Viimeinen luento sisältää kertausta mieti etukäteen, mitä sinulle on jäänyt epäselväksi. Viimeiset demot 14. maaliskuuta Ensimmäinen tenttitilaisuus 16. maaliskuuta, ilmoittautumisaika päättyy ma 12.3. klo 16:00 Muista perua ilmoittautumisesi, jos et ole tulossa paikalle. Ilmoita minulle tai kansliaan, jos perut ilmoittautumisen maanantain jälkeen. Tenttiä ei tarvita, jos teet harjoitustyön. Suosittelen sopimaan mahdollisesta harjoitustyöstä ensi viikon aikana. Harjoitustyön ohjeellinen deadline on 16.4.2012.