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

Samankaltaiset tiedostot
Pinoautomaatit. Pois kontekstittomuudesta

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

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

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

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 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

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

Rajoittamattomat kieliopit

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

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

Yhteydettömän kieliopin jäsennysongelma

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

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

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

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

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

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.

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

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

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

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

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

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

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

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

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

Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A. NULL := {A V Σ A ε on G:n produktio};

Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää

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

Automaatit. Muodolliset kielet

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

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

Chomskyn hierarkia ja yhteysherkät kieliopit

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

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

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

S BAB ABA A aas bba B bbs c

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

1. Universaaleja laskennan malleja

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

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

2. Yhteydettömät kielet

Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:

Turingin koneen laajennuksia

Säännöllisten kielten sulkeumaominaisuudet

Kertausta 1. kurssikokeeseen

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

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

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

Attribuuttikieliopit

Täydentäviä muistiinpanoja laskennan rajoista

Algoritmin määritelmä [Sipser luku 3.3]

ICS-C2000 Tietojenkäsittelyteoria

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

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

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

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

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

Tietojenkäsittelyteorian alkeet, osa 2

Yhteydettömät kieliopit [Sipser luku 2.1]

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

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

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

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

Kieli merkitys ja logiikka

Osoitamme, että jotkut kielet eivät ole säännöllisiä eli niitä ei voi tunnistaa äärellisellä automaatilla.

5 Kontekstittomat kielet ja pinoautomaatit

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


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

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

(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, syksy Antti-Juhani Kaijanaho. 3. joulukuuta 2015

Muita universaaleja laskennan malleja

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

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

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

Kieli merkitys ja logiikka

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Täydentäviä muistiinpanoja jäsennysalgoritmeista

Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria)

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

Entscheidungsproblem

Tietotekniikan valintakoe

Muodolliset kieliopit

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

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Entscheidungsproblem

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Transkriptio:

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

Sisällys.

Harjoitustehtävätilastoja Tilanne 6.10.2016 klo 8:28 passed potential redo submitters h1 331 332 32 100 h2 168 168 28 67 h3 123 127 25 57 h4 168 171 15 54 h5 54 57 5 23 h6 39 40 2 18 h7 35 35 1 19 h8 14 14 2 9 h9 4 6 1 4 h10 11 14 1 7 h11 5 5 2 3 h12 2 2 0 1.

Harjoitustehtävätilastoja Tilanne 6.10.2016 klo 8:28. Tehty vähintään Opiskelijoita 20 % 48 40 % 10 60 % 4 80 % 2 Viikko Palauttaneita opiskelijoita 2016 2015 1 5. 11.9. 79 59 12. 18.9. 61 53 19. 25.9. 52 48 26.9. 2.10. 48 41 3. 9.10. 2 31 30

. Chomskyn loi lausekerakennekieliopit (mm. CFG) alun perin luonnollisia kieliä (mm. englanti) varten kieliopit tyypillisesti erittäin moniselitteisiä Earley yleistetty LR (GLR) formaali kielioppi ei koskaan voi kuvata todellista luonnollista kieltä aina jonkinlainen approksimaatio colorless green ideas sleep furiously (Chomsky) 3 3 Googlaa tämä!

Keskeisiä välikesymboleita. S sentence, lause (monet kielet) NP noun phrase, substantiivilauseke (monet kielet) VP verb phrase (englannin kieli) AP adjektiivilauseke (suomen kieli) PP prepositional phrase (englannin kieli) AdvP adverbilauseke

Esimerkki Englannin kielen fragmentti 4. S NP VP NP Det N Det N PP I PP P NP VP V NP VP PP Det an my N elephant pajamas V shot P in 3 http: //www.nltk.org/book/ch08.html#ubiquitous-ambiguity

Lisätietoa. http://blogs.helsinki.fi/ language-technology/ http://www.nltk.org/book/ http: //scripta.kotus.fi/visk/etusivu.php

Pinoautomaatti NFA:n yleistys automaatilla on käytössään LIFO-muisti 5 eli pino Pino alustetaan ennen ensimmäistä siirtymää erityisellä alustusmerkillä, usein merkitään aloitustilan osoittavaan nuoleen siirtymässä q 1 c,d γ q 2. q 1 on tila, josta lähdetään c on syötemerkki, jonka tulee olla kohdalla, jotta siirtymä saadaan tehdä, taikka ε d on pinomerkki, jonka tulee olla pinon päällimmäisenä, jotta siirtymä saadan tehdä, ja joka otetaan pinosta pois siirtymää tehtäessä γ on pinomerkkijono, joka laitetaan pinoon päällimmäiseksi q 2 on tila, johon siirrytään 5 LIFO = last in, first out

Esimerkki. A (, 1 B (,1 11 D ε, ε C ),1 ε ),1 ε

JFLAP. Valitse pushdown automaton ja multiple character input Pinon alustusmerkki on aina iso Z-kirjain. JFLAP sallii automaatteja, jotka eivät mahdu tämän kurssin määritelmään.

Rakenne formaalisti. Kuusikko M = (Q, Σ, Γ, δ, q 0,, F) on (epädeterministinen) pinoautomaatti () (engl. push-down automaton), jos seuraavat pätevät: Q on äärellinen joukko (tilat) Σ on äärellinen, epätyhjä joukko (syötemerkistö) Γ on äärellinen, epätyhjä joukko (pinomerkistö) δ : Q Σ ε Γ P(Q Γ ) (siirtymäfunktio) { (q, w, γ, q, γ ) (q, γ ) δ(q, w, γ) } on äärellinen q 0 Q (alkutila) Γ (alustussymboli) F Q (hyväksyvät tilat)

Tilanteet. Äärellisen automaatin toiminnan seuraamiseen riittää tietää kulloinenkin tila ja jäljellä oleva syöte. Pinoautomaateilla tarvitaan lisäksi pinon kulloinenkin sisältö. Pinoautomaatin tilanne 6 on kolmikko (q, w, γ), missä q Q on kulloinenkin tila w Σ on jäljellä oleva syöte γ Γ on kulloinenkin pinon sisältö Käytetään tarvittaessa kirjaimia I, J, K viittaamaan mielivaltaisiin tilanteisiin. 6 engl. configuration, instantaneous description

Tilasiirtymät. Olkoon M = (Q, Σ, Γ, δ, q 0,, F). Määritellään kahden tilanteen välinen relaatio M seuraavasti: kaikilla q, q Q, c Σ ε, w Σ, d Γ ja γ, γ Γ, jos (q, γ ) δ(q, c, d) pätee, niin (q, cw, dγ) M (q, w, γ γ) pätee Määritellään lisäksi seuraavasti: I M I I M J J M K I M K kaikilla I, J, K Q Σ Γ

Esimerkki taululla. w = (( v = () A (, 1 B D ε, ε C (,1 11 ),1 ε ),1 ε

:n eri kielet. Olkoon M = (Q, Σ, Γ, δ, q 0,, F). M voi tunnistaa kielen usealla eri tavalla. M tunnistaa hyväksyvällä tilalla kielen L(M) = { w Σ q F F; γ Γ : (q 0, w, ) M (q F, ε, γ) } M tunnistaa tyhjentämällä pinonsa kielen 7 N(M) = { w Σ q Q: (q 0, w, ) M (q, ε, ε) } Jokaiselle :lle M on olemassa M, jolle pätee L(M) = N(M ). Jokaiselle :lle M on olemassa M, jolle pätee N(M) = L(M ). 7 N tulee sanasta null eli tyhjä.

vs CFG. Lause Kaikki kontekstittomat kielet voidaan tunnistaa pinoautomaatilla. Lause Kaikki pinoautomaatilla tunnistettavissa olevat kielet ovat kontekstittomia kieliä.

Kontekstiton kielioppi :ksi. Olkoon annettuna kontekstiton kielioppi G = (V, Σ, P, S). Rakennetaan M = ({q}, Σ, V Σ, δ, q, S, ) seuraavasti: {(q, ε)} jos c = d δ : (q, c, d) { (q, ω) (A ω) P } jos c = ε ja d = A muuten Tällöin L(G) = N(M).

Esimerkki talululla. E c E + E E E (E)

kontekstittomaksi kieliopiksi. Olkoon M = (Q, Σ, Γ, δ, q 0,, F). Rakennetaan kontekstiton kielioppi G = (V, Σ, P, S) seuraavasti: V = {S} { A pdq p, q Q d Γ } P = { (S A q0 q) q Q } (A pdq c) (q, ε) δ(p, c, d) } { } (r 0, d 1... d k ) δ(p, c, d) (A pdrk ca r0 d 1 r 1... A rk 1 d k r k ) r 1,..., r k Q Tällöin L(G) = N(M). 8 8 Huomaa, että A pdq tuottaa ne merkkijonot, jotka lukemalla automaatti päätyy tilasta p tilaan q (netto)poistamalla pinosta merkin d.

Esimerkki taululla. i, e, ε A

pinoautomaatti. Pinoautomaatti, jolle pätevät q Q; c Σ ε ; d Γ : δ(q, c, d) 1 q Q; d Γ : ( c Σ : δ(q, c, d) = ) δ(q, ε, d) = on deterministinen. pinoautomaatti ei kykene tunnistamaan mm. kieltä { ww R w Σ } (todistus on teknisesti hankala joten se sivuutetaan). pinoautomaatti ei kykene tunnistamaan tyhjentämällä pinonsa edes kaikkia säännöllisiä kieliä!