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



Samankaltaiset tiedostot
Aloitus. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. toukokuuta 2013 TIETOTEKNIIKAN LAITOS. Aloitus. Meta.

Aloitus. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 2. marraskuuta 2015 TIETOTEKNIIKAN LAITOS. Aloitus. Meta.

Aloitus. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016 TIETOTEKNIIKAN LAITOS. Aloitus. Meta.

Laskennan teoria

Laskennan teoria

GÖDELIN LAUSE. kaikkein kaunein tosi ajatus syyskuuta 12

Laskennan teoriasta. Antti-Juhani Kaijanaho. 11. helmikuuta 2016

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

Chomskyn hierarkia ja yhteysherkät kieliopit

Täydentäviä muistiinpanoja laskennan rajoista

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

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ä

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

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

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

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

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

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

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

1 Kurssin asema opetuksessa

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

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.

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2009

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

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

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

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

Laskennan mallit

LR-jäsennys. Antti-Juhani Kaijanaho. 3. lokakuuta 2016

Algoritmin määritelmä [Sipser luku 3.3]

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

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

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

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

Johdatus matematiikkaan

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

formalismeja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 15. joulukuuta 2015 TIETOTEKNIIKAN LAITOS

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

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

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

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

17/20: Keittokirja IV

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

5.3 Ratkeavia ongelmia

Entscheidungsproblem

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

Lisää pysähtymisaiheisia ongelmia

Gödel ja aritmetiikan epätäydellisyys

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

Logiikka ja ajattelun rajat

Entscheidungsproblem

Reaaliarvoisen yhden muuttujan funktion raja arvo LaMa 1U syksyllä 2011

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

Tietojenkäsittelyteorian alkeet, osa 2

Johdatus matematiikkaan

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

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

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

Alityypitys. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos

Muita vaativuusluokkia


ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

Attribuuttikieliopit

811120P Diskreetit rakenteet

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

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

Rekursiiviset tyypit

Kontekstittomat jäsennysmenetelmät

TIEA341 Funktio-ohjelmointi 1, kevät 2008

Talousmatematiikan perusteet ORMS.1030

Pinoautomaatit. Pois kontekstittomuudesta

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

Opetusperiodi:I, suunnattu hakukohteille: Teknillinen fysiikka ja matematiikka

Opetusperiodi:I, suunnattu hakukohteille:

Tutkimusmenetelmät-kurssi, s-2004

811120P Diskreetit rakenteet

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

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

Talousmatematiikan perusteet ORMS.1030

LUKU II HOMOLOGIA-ALGEBRAA. 1. Joukko-oppia

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

ÄÄRELLISTEN AUTOMAATTIEN MINIMOINTI. 1. Äärelliset automaatit Äärellinen automaatti (DFA = deterministic finite automaton) on

Talousmatematiikan perusteet ORMS.1030

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

Tarvitseeko informaatioteknologia matematiikkaa?

Tietojenkäsittelyteorian perusteet T/Y T /1002

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Ohjelmointikielten syntaksista ja semantiikasta

Transkriptio:

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

Sisällys

Sisällys

Kurssin käytännöt Kurssin sivuilla http://users.jyu.fi/~antkaij/opetus/auki/2011/

Kirjallisuutta Luentojen pohjana: Michael Sipser: Introduction to the Theory of Computation. Second Edition, International Edition. Thompson 2006. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman: Introduction to Automata Theory, Languages, and Computation. Third Edition, Pearson International Edition. Addison Wesley, 2007. Täydentävää lukemista Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman: Compilers Principles, Techniques, & Tools. Second Edition. Addison Wesley, 2007. Pekka Orponen: Laskennan teoria. Luentomoniste. http://users.ics.tkk.fi/orponen/ lectures/lte.pdf

Huomio opetustauosta Olen Englannissa 9. 14.4.2011, jolloin luentoja ja demoja ei pidetä. Rehtorin määräämä pääsiäistauko opetuksessa on 18. 25.4., jolloin luentoja ja demoja ei pidetä. Tarkoitus on, että annan tuplademot torstaina 7.4. demotilaisuutta 27.4. varten.

Tapahtui Facebookissa viikonloppuna Kun olin kertonut aloittavani tämän kurssin maanantaina... Vesa Kaihlavirta Yksi tärkeimmistä kursseista. Pistä ne punnertamaan :P Antti-Juhani Kaijanaho Vesa, saako tuon kommentin näyttää opiskelijoille? Ja jos saa, niin kerkeäisitkö vielä vähän avaamaan miksi pidät tuota yhtenä tärkeimmistä kursseista. Vesa Kaihlavirta No jos luulet, että siitä on jotain hyötyä, niin siitä vain :) Vesa Kaihlavirta Se antaa hyvää ja Ihan Oikeasti sovellettavaa pohjaa ohjelmistosuunnitelussa tapahtuvalle formalisoinnille. (Meinasin tähän lisätä, että "Ei siis mitään oliosuunnittelun, UML:n ja muun sellaisen sonnan kaltaista vaan jotain Oikeaa." mutta ehkä se meni liian pitkälle) Lisäksi regexpien osaaminen on käytännöllisesti katsoen taikuutta tietämättömien näkökulmasta.

Sisällys

Kurssin alkupään asiat tekstihakujen toteuttaminen verkkoprotokollien suunnittelu suomen kielen morfologinen analyysi (esim. oikolukua varten) tietokoneohjelmien leksikaalinen analyysi ohjainlaitteiden suunnittelu ohjelmien oikeellisuustarkastelu

Kurssin keskivaiheen asiat suomen kielen syntaktinen analyysi tietokoneohjelmien syntaktinen analyysi kääntäjät!

Kurssin loppupään asiat tietotekniikan rajojen tunnistaminen

Luentotehtävä Pohdi vierustoverisi kanssa Miten selvität, reagoiko annettu ohjelma johonkin annettuun ärsykkeeseen äärellisessä ajassa? Miten ohjeistaisit jonkun toisen tekemään tämän?

Sisällys

?! Kurssin aihepiirin teoria tuli ensin, sovellukset vasta sitten.

Matematiikan kriisi 1874 Cantor todisti, että äärettömyydet eivät ole samanlaisia ja aloitti näin joukko-opin tutkimusohjelman 1897 Burali-Forti esitti joukko-oppiparadoksinsa 1899 Cantor esitti joukko-oppiparadoksinsa 1901 Russell esitti joukko-oppiparadoksinsa

Matematiikka alkaa toipua 1908 Zermelo esitti joukko-oppiaksioomansa 1910 3 Russell ja Whitehead julkaisevat Principia Mathematican, joka oli ensimmäinen yritys rakentaa koko matematiikka pohjalta alkaen 1922 Fraenkel ja Skolem (toisistaan riippumatta) laajentavat Zermelon aksiomatisointia laajennus tunnetaan nimellä Zermelon Fraenkelin (ZF) joukko-oppi

Matematiikka kriisiytyy taas 1900 Hilbert esitti 23 ongelmaansa, joista toinen oli matematiikan ristiriidattomuuden osoittaminen 1931 Kurt Gödel julkaisee kuuluisan epätäydellisyyslauseensa Principia Mathematica (ja muut vastaavat) ei kykene todistamaan omaa ristiriidattomuuttaan tulkitaan usein Hilbertin toisen ongelman (epä)ratkaisuksi ks. MATS150 Logiikan jatkokurssi

Uudesta kriisistä tietojenkäsittelyteoria 1928 Hilbert esitti ongelman, joka tunnetaan nimellä Entscheidungsproblem (ratkeavuusongelma) Onko olemassa algoritmi, joka kykenee sanomaan mistä tahansa hyvin määritellystä matemaattisesta väitteestä, onko se tosi vai ei? 1936 Alonzo Church käyttää luomaansa λ-laskentoa ratkaisemaan Hilbertin ratkeavuusongelman: algoritmia ei ole λ-laskennolle muodostui myöhemmin merkittävä rooli ohjelmointikielten teoriassa (ks. TIES542 Ohjelmointikielten periaatteet) 1936 Alan Turing (Churchista riippumatta) käyttää luomaansa Turingin konetta ratkaisemaan Hilbertin ratkeavuusongelman: algoritmia ei ole teemme olennaisesti saman kurssin loppupuolella

Kehitys kehittyy 1951 Stephen Cole Kleene [kleini:] tutkii neuroverkkoja ja määrittelee äärellisen automaatin ja säännöllisen lausekkeen käsitteet sekä todistaa niiden perusominaisuudet 1956 Noam Chomsky tutkii englannin kielen kieliopin esitysmuotoja ja määrittelee kontekstittomien kielioppien käsitteen 1959 John Backus ja Peter Naur käyttävät kontekstittomia kielioppeja ohjelmointikielten (Fortran, Algol) syntaksin määrittelyyn 1968 Ken Thompson käyttää säännöllisiä lausekkeita tekstieditorin hakutoiminnossa 1 1 Dennis Ritchie: An incomplete history of the QED Text Editor, http://cm.bell-labs.com/cm/cs/who/dmr/qed.html

Historiallista? Kurssin keskeiset teoreettiset ideat ovat siis peräisin vuosilta 1936 1956. Tutkimusalana automaattien ja kielioppien teoria oli vilkas vielä 1980-luvulla mutta kurssin asiat ovat stabiloituneet kauan sitten. Silti tämä kaikki on edelleen hyvin relevanttia 2010-luvun ohjelmistoammattilaisille!... kuten tulemme huomaamaan.

Sisällys

Yksinkertaisia automaatteja on/off-kytkin kioskiautomaatti ydinvoimalan hätäpysäytysjärjestelmä

Yksinkertaisia kielenkuvauksia throws? catch E vakio E + E E E E E E/E (E)

Ratkeamattomia ongelmia Seuraaville tehtäville (muiden muassa) ei ole algoritmia: Täsmällisesti esitetyn matemaattisen väittämän tunnistaminen todeksi tai epätodeksi. (Hilbertin Entschedungsproblem) Tietokoneohjelman ja sille annetun syötteen tunnistaminen sellaiseksi, että ohjelma pysähtyy kyseisellä syötteellä taikka sellaiseksi, että se jää ikuiseen silmukkaan kyseisellä syötteellä. (Pysähtymisongelma)