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