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

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

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

Täydentäviä muistiinpanoja laskennan rajoista

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

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

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.

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

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

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

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

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

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

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

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

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

Rajoittamattomat kieliopit

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

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

Chomskyn hierarkia ja yhteysherkät kieliopit

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

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

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

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

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. 19. tammikuuta 2012

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

(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

5.3 Ratkeavia ongelmia

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

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

Attribuuttikieliopit


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

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

Kertausta 1. kurssikokeeseen

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

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

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Lisää pysähtymisaiheisia ongelmia

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

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

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

Säännöllisen kielen tunnistavat Turingin koneet

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

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

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

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

Täydentäviä muistiinpanoja kontekstittomien kielioppien jäsentämisestä

Rekursiiviset palautukset [HMU 9.3.1]

Automaatit. Muodolliset kielet

1. Universaaleja laskennan malleja

Muita vaativuusluokkia

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

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

Muita universaaleja laskennan malleja

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

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria

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

Täydentäviä muistiinpanoja jäsennysalgoritmeista

Entscheidungsproblem

Yhteydettömät kieliopit [Sipser luku 2.1]

ICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M :=

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

Entscheidungsproblem

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

Yhteydettömän kieliopin jäsennysongelma

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

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

Kontekstittomien kielten jäsentäminen Täydentäviä muistiinpanoja TIEA241 Automaatit ja kieliopit, syksy 2016

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

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

2. Laskettavuusteoriaa

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

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

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

Jäsennys. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Yllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen

2. Laskettavuusteoriaa

Tietojenkäsittelyteorian alkeet, osa 2

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut

Rekursiiviset tyypit

FORMAALI SYSTEEMI (in Nutshell): aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus

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

Ratkeavuus ja efektiivinen numeroituvuus

Aloitus. TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 14. maaliskuuta 2011 TIETOTEKNIIKAN LAITOS. Aloitus.

11.4. Context-free kielet 1 / 17

Transkriptio:

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

Sisällys.

Turingin koneiden pysähtymisongelma. Lause Päätösongelma Pysähtyykö standardimallinen TM M syötteellä w? on puoliratkeava mutta ei ratkeava.

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 ohjelmointikielille. Tulosta sanotaankin usein kääntäjänkirjoittajien täystyöllisyyslauseeksi (engl. the full employment theorem for compiler writers)

Entscheidungsproblem. Lause (Turing) Sellaista Turingin konetta ei ole, joka ratkaisisi loogisesti tosien ensimmäisen kertaluokan logiikan kaavojen kielen. Huomaa Alkuperäinen ongelma oli Hilbertiltä ja kysyi, mikä mekaaninen menetelmä ratkaisee sen, onko jokin ensimmäisen kertaluokan logiikan kaava teoreema. Turing osoitti, että sellaista ei ole, samassa artikkelissa, jossa esitteli Turingin koneena myöhemmin tunnetuksi tulleen formalismin. Tarkemmin lisäprujussa.

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

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

Huomioita. Laskettavasti 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 laskettavasti 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 laskettavasti 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 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 esta.

koostuu neljästä eri kielioppiperheestä eli kielioppityypistä, numeroituna 0 3 merkitään 1 tässä G 0,..., G 3 kukin G i sisältää siis kielioppeja jos G G i pätee, niin sanotaan, että G on tyypin i kielioppi (engl. type i grammar). Jokaiselle kielioppiperheelle G i on olemassa kieliperhe L i := { L(G) G G i } Seuraavat väitteet pätevät kaikille i {0,..., 2}:. G i+1 G i L i+1 L i Tarkastellaan kutakin an kuuluvaa kielioppityyppiä seuraavilla kalvoilla. 1 Tällä kalvolla käytetyt merkinnät eivät ole vakiintuneita.

Tyypin 0 kieliopit. rajoittamattomat kieliopit. produktiot muotoa ω 1 ω 2, missä ω 1 ei saa olla tyhjä kuvaavat laskettavasti lueteltavat kielet vastaava automaatti on Turingin kone (tai RAM)

Tyypin 1 kieliopit. kontekstiset kieliopit produktiot muotoa ω 1 Aω 3 ω 1 ω 2 ω 3, missä ω 2 ei saa olla tyhjä, tai S ε kuvaavat kontekstiset kielet vastaava automaatti on (epädeterministinen) lineaarirajoitettu Turingin kone

Tyypin 2 kieliopit. kontekstittomat kieliopit produktiot muotoa A ω kuvaavat kontekstittomat kielet vastaava automaatti on (epädeterministinen) pinokone monia käytössä olevia esitystapoja, mm. Backus Naur form (BNF) Augmented BNF Extended BNF (useita) jäsennysalgoritmeja, mm. Earley

Tyypin 3 kieliopit. vasen- tai oikealineaariset kieliopit produktiot joko muotoa A cb (oikealineaarinen) tai muotoa A Bc (vasenlineaarinen), lisäksi sallitaan A ε vastaava automaatti on äärellinen automaatti yleisemmin käytetään säännöllisiä lausekkeita

Hierarkiaan kuulumattomat kielet. laskettavat kielet kuuluvat tyyppien 0 ja 1 väliin LR-kielioppien tuottamat kielet kuuluvat tyyppien 2 ja 3 väliin LR-jäsennyksellä jäsentyvät kielet kutsutaan myös deterministisiksi kontekstittomiksi kieliksi, koska LR-kielet ovat ne kielet, jotka voidaan tunnistaa deterministisellä pinokoneella LL(*)-kielioppien tuottamat kielet kuuluvat LR-kielien ja tyypin 3 väliin

. kielioppi kieli automaatti tyyppi 3 säännöllinen äärellinen LL LR deterministinen pino tyyppi 2 kontekstiton pino tyyppi 1 kontekstinen lineaarirajoitettu laskettava aina pysähtyvä TM tyyppi 0 laskettavasti lueteltava Turingin kone HUOM! Vain tyyppi-merkityt rivit kuuluvat varsinaiseen an.

Harjoitustehtävätilastoa Tilanne 20.10.2016 klo 8:50 passed waiting redo submitters vk1 h1 345 1 33 103 h2 178 0 30 72 h3 130 1 31 60 h4 186 2 12 58 h5 74 1 6 32 h6 50 0 4 22 h7 49 0 3 27 h8 16 0 3 12 vk2 h9 39 0 4 27 h10 66 3 5 28 h11 24 1 5 17 h12 12 1 1 12 h13 46 1 3 20 pt h14 21 8 4 26 h15 19 5 2 18 h16 15 3 2 13 h17 2 4 0 5.

Harjoitustehtävätilastoa Tilanne 20.10.2016 klo 8:50 Hyväksytty vähintään Opiskelijoita 20 % 41 40 % 10 60 % 4 80 % 1. Viikko Palauttaneita opiskelijoita 2 2016 2015 2013 2012 2011 5. 11.9. 78 59 37 16 24 12. 18.9. 60 53 31 14 17 19. 25.9. 51 48 24 10 11 26.9. 2.10. 47 41 20 11 11 3. 9.10. 35 30 19 5 11 10. 16.10. 37 24 9 9 9 24. 30.10. 34 8 8 2 Aiempien vuosien data on demorukseja ruksineiden opiskelijoiden lukumäärä vastaavalla kurssiviikolla.

Harjoitustehtävät. tänään tulee viimeiset tehtävät ensimmäinen yritys tallennettava järjestelmään viimeistään 31.10.2016 deadlinen jälkeen korjatun version saa palauttaa viikon sisällä palautteen tallentumisesta järjestelmään yksi korjauskerta joka tapauksessa, lisäkertoja vain opettajan luvalla deadlinea voidaan siirtää pyynnöstä pyydä sähköpostilla luennoijalta pyyntö esitettävä ennen deadlinen päättymistä pyyntö perusteltava pyynnössä ehdotettava uutta deadlinea deadlinen päätyttyä lisäaikaa myönnetään vain erittäin hyvin perustelluissa poikkeustapauksissa

Ohjaukset loppukurssista. ensi viikolla ma pe joka päivä sekä ma 31.10. maanantaiohjaukset klo 16 18 mikroluokassa ti pe kuten aiemmin (tilat ja mikroluokka/taululuokkajako vaihtuu)

Suoritus välikokeilla. toisen välikokeen tulokset julistettaneen tänään pakolliset tehtävät tehtävä hyväksytysti kirjaan suorituksen kun kaikki pakolliset on hyväksytty ja arvosana on vähintään 1 jos arvosana korottuu myöhemmin, kirjataan uusi suoritus suorituspäivä on myöhäisin seuraavista: päivä, jolloin vähintään kirjattavaan arvosanaan oikeuttava määrä (hyväksyttäviä) vastauksia on palautettu päivä, jolloin pakollisiin on palautettu hyväksyttävät vastaukset

Suoritus loppukokeella. e-tenttiin ilmoittautuminen on jo nyt mahdollista paperitentti? ei pakollisia harjoitustehtäviä harjoitustehtävillä ansaittu arvosanakorotus huomioidaan suorituspäivä tenttipäivä jos arvosanakorotus paranee tenttipäivän jälkeen, kirjataan uusi suoritus ja suorituspäivä on se päivä, jolloin kirjattavaan arvosanaan oikeuttava määrä hyväksyttäviä vastauksia on palautettu

Suoritus harjoitustyöllä. suosittelen sopimaan aiheesta kanssani kirjoita sähköpostiin: ryhmän jäsenet (cc kaikille) aiheen yleiskuvaus miten ajattelitte käyttää säännöllisten ja kontekstittomien kielten tekniikoita esim. hahmotelma syötekieleksi (esimerkkikomentoja) pakolliset harjoitustehtävät on tehtävä suorituspäivä on myöhäisin seuraavista: päivä, jolloin hyväksyttävä harjoitustyö on palautettu päivä, jolloin vähintään kirjattavaan arvosanaan oikeuttava määrä (hyväksyttäviä) vastauksia on palautettu päivä, jolloin pakollisiin on palautettu hyväksyttävät vastaukset

. Sana on vapaa.