LR-jäsennys. Antti-Juhani Kaijanaho. 3. lokakuuta 2016
|
|
- Mikael Hakala
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 LR-jäsennys Antti-Juhani Kaijanaho 3. lokakuuta 2016 Tämä lisämoniste esittelee Yaccin, CUPin ja muiden vastaavien ohjelmien käyttämän LR-jäsennysmenetelmäperheen. Se ei kuulu kurssin koealueeseen. Tehtävänä on rakentaa annetusta kontekstittomasta kieliopista vekotin, joka deterministisesti kykenee hyväksymään tai hylkäämään mielivaltaisen päätemerkkijonon. Kaikilla kieliopeilla se ei valitettavasti onnistu. Jatkossa oletetaan, että tarkasteltavissa kieliopeissa aloitussymboli ei esiinny minkään produktion oikealla puolella ja että aloitussymbolilla S on täsmälleen yksi produktio S A (jollakin muulla välikesymbolilla A). 1 Shift/reduce-jäsentäminen Tarkastellaan kielioppia S E E T E E + T T F T T F F c F (E) TIEA241 Automaatit ja kieliopit, syksy Tämän esityksen pääasiallinen lähde on Alfred V. Aho & Monica S. Lam & Ravi Sethi & Jeffrey D. Ullman: Compilers: Principles, Techniques & Tools, 2nd ed. Boston: Addison-Wesley, 2007; sivut
2 sekä merkkijonoa w = c + c c. Sen eräs johto etenee seuraavasti: S E T E + T E + T F E + T c E + F c E + c c T + c c F + c c c + c c Johdossa valitaan systemaattisesti oikeanpuolimmaisin välikesymboli käsittelyyn. Jos johdon lukee lopusta alkuun c + c c F + c c T + c c E + c c E + F c E + T c E + T F E + T T E S huomaa, että päätemerkit syödään johdonmukaisesti vasemmalta oikealle ilman peruutusta. Tämä on alhaalta ylös ja vasemmalta oikealle etenevä jäsennys, jossa rakennetaan oikeanpuolimmainen johto. Englanniksi sama sanotaan sanoilla bottom-up left-to-right parse with rightmost derivation. Tämä lyhennetään LR: Left-to-right parse, Rightmost derivation. Kukin käännetyn johdon askel voidaan tulkita koostuvan kahdesta vaiheesta: shift n siirtää lukupäätä n merkkiä oikealle ja reduce p soveltaa lukukohdan vasemmalla puolella olevaan pääte- ja välikemerkkien jonoon produktiota p. Sitä osaa lukukohdan vasemmalla puolella olevasta symbolijonosta, johon produktiota sovelletaan, sanotaan kahvaksi (engl. handle). 2
3 Merkitään nyt käännetyn johdon askeliin lukukohta pisteellä sekä askeleessa sovellettu operaatio: c + c c shift 1, reduce F c F +c c T +c c E +c c E + F c E + T c E + T F E + T T shift 0, reduce T F shift 0, reduce E T shift 2, reduce F c shift 0, reduce T F shift 2, reduce F c shift 0, reduce T T F shift 0, reduce E E + T shift 0, reduce E T E shift 0, reduce S E S Varsinainen shift/reduce-jäsennys saadaan aikaan, kun pisteen vasen puoli erotetaan pinoksi, oikea puoli syötemerkkijonoksi ja shift-toiminnot eriytetään omiksi askeleikseen (ja vain yksi merkki kerrallaan): pino syöte toiminto c + c c shift c +c c reduce F c F +c c reduce T F T +c c reduce E T E +c c shift E+ c c shift E + c c reduce F c E + F c reduce T F E + T c shift E + T c shift E + T c reduce F c E + T F reduce T T F E + T reduce E E + T E reduce S E S accept Huomaa, että tässä on edelleen kyse samasta johdosta, esitystapa on vain muuttunut. 3
4 2 LR-jäsentimet LR-jäsennin koostuu pinosta, syötemerkkijonosta sekä tilakoneesta, joka päättää, mitä toimintoa sovelletaan. Pinossa on merkkien sijasta tilojen symboleita, ja tilakoneen nykyinen tila on se tila, joka on pinossa päällimmäisenä. Tilakoneen siirtymät määräytyvät kahden taulukon perusteella. Ensimmäinen tilakoneen taulukko on toimintotaulkko (engl. action table), jossa on rivi kullekin tilalle ja sarake kullekin kieliopin päätesymbolille sekä yksi lisäsarake syötteen lopulle (merkitään jatkossa ). Taulukon kussakin solussa on enintään yksi seuraavista toiminnoista: shift q, reduce A ω tai accept. Merkitään toimintotaulukon rivillä q sarakkeella c olevaa toimintoa action(q, c). Toinen taulukko on hyppytaulukko (engl. goto table). Siin on rivi kullekin tilalle ja sarake kullekin kieliopin välikesymbolille (aloitussymbolia lukuunottamatta). Kukin solu on joko tyhjä tai se sisältää tilan; merkitään hyppytaulukon rivillä q ja sarakkeella A olevaa tilaa goto(q, A). LR-jäsennin toimii seuraavasti: 1. Alusta pino sellaiseksi, että siinä on vain alkutila. 2. Toista seuraavaa: (a) Olkoon pino q 1 q n ja syöte joko cw tai ε (jolloin c = ). (b) Valitse: Jos action(q 1, c) = 3 Konfliktit shift q: muuta pino muotoon qq 1 q n ja muuta syöte muotoon c 2 c m. reduce A ω: muuta pino muotoon goto(q ω, A)q ω q n. accept: Lopeta hyväksyen. puuttuu: Lopeta hyläten. LR-jäsennyksessä voi tulla vastaan kahdenlaisia konfliktitilanteita: shift/reduce Toimintotaulukon samaan soluun kuuluisi sekä shift että reduce. (Vastaavasti shift/accept.) reduce/reduce Toimintotaulukon samaan soluun kuuluisi useampi kuin yksi reduce. (Vastaavasti reduce/accept.) 4
5 Konflikti tarkoittaa, että käytetty kontrolliyksikön rakennusmenetelmä ei sovellu tarkasteltavan kieliopin jäsennykseen. Usein (mutta ei aina) shift/reducekonfliktit voidaan ratkaista raa asti valitsemalla shift-toiminto ilman, että käytännössä siitä tulee isompaa ongelmaa, mutta reduce/reduce-konflikti pakottaa aina joko kieliopin taikka menetelmän vaihtamiseen. 4 SLR SLR on yksinkertaisin käyttökelpoinen LR-jäsennysmenetelmä. Siinä kieliopista rakennetaan ensiksi deterministinen äärellinen automaatti, ns. kanoninen LR(0)-automaatti, seuraavasti: 1. Jokaisesta kieliopin produktiosta muodostetaan (LR(0)-)asetelmat (engl. (LR(0)) items) varustamalla produktio indeksillä, joka osoittaa jotain produktion oikean puolen merkkiä (taikka produktion loppua). Idea on tuttu Earleyn algoritmista, ja samaan tapaan indeksi esitetään pisteenä. Näin esimerkiksi produktiosta E E + T saadaan asetelmat E E + T, E E +T, E E + T ja E E + T. 2. Kukin LR(0)-asetelma on yksi automaatin tila. 3. Alkutila on asetelma S A, missä S on aloitussymboli ja S A on sen ainoa produktio. 4. Ainoa hyväksyvä tila on asetelma S A. 5. Automaatissa on kaikki seuraavanlaiset siirtymät (α on yksi pääte- tai välikemerkki): (A ω 1 αω 2 ) α (A ω 1 α ω 2 ) (A ω 1 Bω 2 ) ε (B ω) 6. Näin saatu automaatti determinisoidaan osajoukkokonstruktiolla. Kanonisen LR(0)-automaatin tilat (siis asetelmajoukot), jotka eivät ole turhia, lukuunottamatta hylkäystilaa, muodostavat kanonisen LR(0)-asetelmajoukkokokoelman (engl. canonical collection of sets of LR(0) items). 5
6 Prujun alussa annetusta kieliopista syntyy seuraavanlainen LR(0)-automaatti (hylkäystilan ja siirtymät siihen olen jättänyt merkitsemättä): tilaan kuuluvat asetelmat c + ( ) E T F 0 S E, E T, E E + T, T F, T T F, F c, F (E) 1 F c 2 F ( E), E T, E E + T, T F, T T F, F c, F (E) S E, E E +T 7 4 E T, T T F 8 5 T F 6 F (E ), E E +T E E+ T, T F, T T F, F c, F (E) 8 T T F, F c, F (E) F (E) 10 E E + T, T T F 8 11 T T F SLR-jäsentimessä on tila kutakin kanonisen LR(0)-automaatin tarpeellista tilaa kohti, hylkäävää -tilaa lukuunottamatta. Toiminto- ja hyppytaulukot konstruoidaan automaatin perusteella seuraavasti: Jos q c q on siirtymä LR(0)-automaatissa ja c on päätemerkki, aseta action(q, c) := shift q. Jos q A q on siirtymä LR(0)-automaatissa ja A on välikesymboli, aseta goto(q, A) = q. Jos tilassa q on asetelma A ω (missä A ei ole aloitussymboli), aseta action(q, c) := reduce A ω kaikilla c FOLLOW(A). 1 Jos tila q on hyväksyvä, aseta action(c, ) = accept. Jos samaan action-soluun olisi tulossa useampia toimintoja, kyse on konfliktista ja SLR-jäsentimen luonti epäonnistuu. 1 Jos tämä tehtäisiin kaikilla päätesymboleilla c, mukaanlukien, tuloksena olisi SLRjäsentimen asemesta LR(0)-jäsennin. 6
7 Edellä annetusta esimerkkiautomaatista syntyy seuraavanlainen SLR-jäsennin (merkitään toimintoja alkukirjaimellaan ja viitataan kuhunkin produktioon järjestysnumerollaan): action goto c + ( ) E T F 0 s1 s r5 r5 r5 r5 2 s1 s s7 a 4 r1 s8 r1 r1 5 r3 r3 r3 r3 6 s7 s9 7 s1 s s1 s r6 r6 r6 r6 10 r2 s8 r2 r2 11 r4 r4 r4 r4 Produktioiden järjestysnumerot ovat S E 0 E T 1 E E + T 2 T F 3 T T F 4 F c 5 F (E) 6 Merkkijonon c + c c jäsennys tällä SLR-jäsentimellä etenee seuraavasti (pino kasvaa tässä esityksessä oikealle toisin päin kuin algoritmikuvauksessa joten nykyinen tila on pinon oikeanpuolimmaisin): 7
8 pino syöte toiminto 0 c + c c shift c c reduce F c 0 5 +c c reduce T F 0 4 +c c reduce E T 0 3 +c c shift c c shift c reduce F c c reduce T F c shift c shift reduce F c reduce T T F reduce E E + F 0 3 accept 5 LR(1) ja LALR SLR:ää yleiskäyttöisempi menetelmä on LR(1). Menetelmän perusrakenne on sama: rakennetaan automaatti, josta sitten johdetaan jäsennystaulukko. Olennainen ero menetelmissä on asetelmien muodossa: LR(1)-asetelma on pari, johon sisältyy LR(0)-asetelma ja päätemerkki (taikka päätemerkin asemesta syötteen päättymisen merkki ). Kyseinen päätemerkki on ns. ennakointimerkki (engl. lookahead symbol), joka deaktivoi asetelman sellaisissa tilanteissa, joissa ennakointimerkki ei voi esiintyä tarkasteltavan produktion tuottaman merkkijonon jälkeen. Kanoninen LR(1)-automaatti rakennetaan samaan tapaan kuin kanoninen LR(0)-automaatti determinisoimalla seuraavasti rakentuva NFA: Kukin LR(1)-asetelma on tila. Alkutila on asetelma S A, (missä S A on aloitussymbolin ainoa produktio). Ainoa hyväksyvä tila on asetelma S A,. Automaatissa on kaikki seuraavanlaiset siirtymät (α on yksi pääte- tai välikemerkki ja c FIRST(ω 2 c)): (A ω 1 αω 2, c) α (A ω 1 α ω 2, c) (A ω 1 Bω 2, c) ε (B ω, c ) 8
9 9: F -> '(' E ')'. { ')' '*' '+' $end } ')' '+' 6: E -> E. '+' T F -> '(' E. ')' E 2: E ->. T E ->. E '+' T T ->. F T ->. T '*' F F ->. c F ->. '(' E ')' F -> '('. E ')' '(' '(' T 7: E -> E '+'. T T ->. F T ->. T '*' F F ->. c F ->. '(' E ')' 4: E -> T. { ')' '+' $end } T -> T. '*' F '(' '*' '+' F 3: $accept -> E. $end E -> E. '+' T F '(' T c 8: T -> T '*'. F F ->. c F ->. '(' E ')' F 11: T -> T '*' F. { ')' '*' '+' $end } T c '*' 5: T -> F. { ')' '*' '+' $end } E c 10: E -> E '+' T. { ')' '+' $end } T -> T. '*' F F 0: $accept ->. E $end E ->. T E ->. E '+' T T ->. F T ->. T '*' F F ->. c F ->. '(' E ')' c 1: F -> c. { ')' '*' '+' $end } Kuva 1: Berkeley Yaccin tuottama kaavio LR(1)-jäsennin konstruoidaan kanonisesta LR(1)-automaatista samaan tapaan kuin SLR-jäsennin LR(0)-automaatista. Ainoa ero on reduce-toimintojen muodostamisessa: kun SLR-jäsentimessä reduce lisätään kaikille merkeille joukossa FIRST(A), niin LR(1)-jäsentimessä se laitetaan vain kyseessä olevan asetelman ennakointimerkille. Koska LR(1)-jäsennin on usein varsin iso, käytetään käytännön työssä LALR-menetelmää (Look-Ahead LR). Ideana tässä on liittää kuhunkin asetelmaan yhden ennakointimerkin asemesta ennakointimerkkien joukko. Tämä pienentää jäsentimen kokoa merkittävästi, mutta luo joskus reduce/reducekonflikteja. Esimerkiksi LR(1)-tilat {(A c, d), (B c, e)} ja {(A c, e), (B c, d)} eivät konfliktoi, mutta LALR-muunnos synnyttää konfliktisen tilan{(a c, {d, e}), (B c, {d, e})}. Berkeley Yacc (löytyy halava- ja jalava-koneista nimellä byacc) on siitä 9
10 mukava jäsenningeneraattori, että se generoi haluttaessa kuvallisen esityksen jäsentimen taustalla olevasta kanonisesta automaatista. Kuva 1 on generoitu Yacc-lähdetiedostosta %token c %% E : T E + T ; T : F T F ; F : c ( E ) ; komennoilla 2 byacc g e. y c i r c o Tpdf y. dot > y. pdf Kaikki jäsenningeneraattorit tuottavat pyynnöstä tekstuaalisen esityksen tuotetusta jäsentimestä. Esimerkiksi komennolla byacc v e. y syntyy tiedostoon y.output seuraavanlainen kuvaus: 0 $accept : E $end 1 E : T 2 E + T 3 T : F 4 T F 5 F : c 6 ( E ) s t a t e 0 $accept :. E $end ( 0 ) c s h i f t 1 ( s h i f t 2. e r r o r E goto 3 T goto 4 F goto 5 2 Komento circo kuuluu Graphviz-pakettiin, joka ei valitettavasti ole halavalle eikä jalavalle asennettu. 10
11 s t a t e 1 F : c. ( 5 ). reduce 5 s t a t e 2 F : (. E ) ( 6 ) c s h i f t 1 ( s h i f t 2. e r r o r E goto 6 T goto 4 F goto 5 s t a t e 3 $accept : E. $end ( 0 ) E : E. + T ( 2 ) $end accept + s h i f t 7. e r r o r s t a t e 4 E : T. ( 1 ) T : T. F ( 4 ) s h i f t 8 $end reduce 1 + reduce 1 ) reduce 1 s t a t e 5 T : F. ( 3 ). reduce 3 s t a t e 6 E : E. + T ( 2 ) F : ( E. ) ( 6 ) + s h i f t 7 ) s h i f t 9 11
12 . e r r o r s t a t e 7 E : E +. T ( 2 ) c s h i f t 1 ( s h i f t 2. e r r o r T goto 10 F goto 5 s t a t e 8 T : T. F ( 4 ) c s h i f t 1 ( s h i f t 2. e r r o r F goto 11 s t a t e 9 F : ( E ). ( 6 ). reduce 6 s t a t e 10 E : E + T. ( 2 ) T : T. F ( 4 ) s h i f t 8 $end reduce 2 + reduce 2 ) reduce 2 s t a t e 11 T : T F. ( 4 ). reduce 4 7 terminals, 4 nonterminals 7 grammar r u l e s, 12 s t a t e s 12
jäsentämisestä TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 27. marraskuuta 2015 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 27. marraskuuta 2015 Sisällys Rekursiivisesti etenevä engl. recursive descent parsing Tehdään kustakin välikesymbolista
LisätiedotTIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 10. kesäkuuta 2013
TIEA241 Automaatit ja kieliopit, kesä 2013 etenevä Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. kesäkuuta 2013 Sisällys etenevä etenevä Chomskyn hierarkia (ja muutakin) kieli säännöllinen LL(k) LR(1)
LisätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. kesäkuuta 2013
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. kesäkuuta 2013 Sisällys t Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton
LisätiedotJäsennysalgoritmeja. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 29. syyskuuta 2009 TIETOTEKNIIKAN LAITOS. Jäsennysalgoritmeja
TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. syyskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe B tiistai 6.10. klo 10 selaaja ja jäsentäjä toimivat Kääntäjän
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia
Lisätiedotjäsennyksestä TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 29. syyskuuta 2016 TIETOTEKNIIKAN LAITOS Kontekstittomien kielioppien
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. syyskuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 29.9.2016 klo 8:41 (lähes kaikki kommentoitu) passed
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. lokakuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. lokakuuta 2016 Sisällys n tunnistin Jay : An Efficient Context-Free Parsing Algorithm. Communications of the
LisätiedotAttribuuttikieliopit
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. toukokuuta 2011 Sisällys t Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
LisätiedotPinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. kesäkuuta 2013 Sisällys Aikataulumuutos Tämänpäiväinen demotilaisuus on siirretty maanantaille klo 14:15 (Ag Delta).
LisätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 16. helmikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. helmikuuta 2012 Sisällys t Sisällys t Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
Lisätiedotjäsentäminen TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 26. marraskuuta 2015 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. marraskuuta 2015 Sisällys Tunnistamis- ja jäsennysongelma Olkoon G = (N, Σ, P, S) kontekstiton kielioppi ja
LisätiedotTIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 29. huhtikuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. huhtikuuta 2011 Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
LisätiedotTIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 29. syyskuuta 2009
TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. syyskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe B tiistai 6.10. klo 10 selaaja ja jäsentäjä toimivat Sisällys
LisätiedotTäydentäviä muistiinpanoja jäsennysalgoritmeista
äydentäviä muistiinpanoja jäsennysalgoritmeista Antti-Juhani Kaijanaho 7. helmikuuta 2012 1 simerkki arleyn algoritmin soveltamisesta arkastellaan kielioppia G : + () c ja sovelletaan arleyn algoritmia
LisätiedotTäydentäviä muistiinpanoja kontekstittomien kielioppien jäsentämisestä
Täydentäviä muistiinpanoja kontekstittomien kielioppien jäsentämisestä Antti-Juhani Kaijanaho 30. marraskuuta 2015 1 Yksiselitteiset operaattorikieliopit 1.1 Aritmeettiset lausekkeet Tällä kurssilla on
LisätiedotPinoautomaatit. Pois kontekstittomuudesta
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015 Sisällys Pinoautomaatti NFA:n yleistys automaatilla on käytössään LIFO-muisti 1 eli pino Pino
LisätiedotTIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. toukokuuta 2013 Sisällys Chomskyn hierarkia (ja muutakin) kieli LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti
LisätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012
TIEA241 Automaatit ja, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 2. helmikuuta 2012 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti lueteltava
LisätiedotTäydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista
Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista Antti-Juhani Kaijanaho 15. maaliskuuta 2012 1 Apumääritelmä Määritelmä 1. Olkoon Σ merkistö, jolla on olemassa täydellinen järjestys ( ) Σ 2.
LisätiedotRajoittamattomat kieliopit
Rajoittamattomat kieliopit Ohjelmoinnin ja laskennan perusmalleista muistetaan, että kieli voidaan kuvata (esim.) kieliopilla joka tuottaa sen, tai automaatilla joka tunnistaa sen. säännölliset lausekkeet
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015
TIEA24 Automaatit ja kieliopit, syksy 205 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 5. marraskuuta 205 Sisällys Käsiteanalyysiä Tarkastellaan koodilukkoa äärellisenä automaattina. Deterministinen äärellinen
LisätiedotKontekstittomien kielten jäsentäminen Täydentäviä muistiinpanoja TIEA241 Automaatit ja kieliopit, syksy 2016
Kontekstittomien kielten jäsentäminen äydentäviä muistiinpanoja IA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 19. lokakuuta 2016 1 Yksiselitteiset operaattorikieliopit 1.1 Aritmeettiset
LisätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. tammikuuta 2012 Sisällys Sisällys Äärellisiä automaatteja PUSH ON PUSH OFF Q T Q J C C H S C,Q C,Q 0 50s 1e
LisätiedotPinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS
.. 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
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015
ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. marraskuuta 2015 Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4 a 5 00 k 11 i
LisätiedotTIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013
TIEA24 Automaatit ja kieliopit, kesä 3 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 22. toukokuuta 3 Sisällys Äärellisiä automaatteja ON PUSH PUSH OFF Q T J Q C C H S C,Q C,Q 0 40 60 80 00, 70 90 Deterministinen
LisätiedotJäsennysaiheesta lisää Täydentäviä muistiinpanoja TIEA241 Automaatit ja kieliopit, syksy 2016
Jäsennysaiheesta lisää Täydentäviä muistiinpanoja TIA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 4. lokakuuta 2016 1 simerkki arleyn algoritmin soveltamisesta Tämä esimerkki on laadittu
Lisätiedotuv n, v 1, ja uv i w A kaikilla
2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko
LisätiedotTIEA241 Automaatit ja kieliopit, syksy 2015. Antti-Juhani Kaijanaho. 3. joulukuuta 2015
TIEA241 Automaatit ja, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015 Sisällys Formaalisti Määritelmä Nelikko G = (V, Σ, P, S) on kontekstiton kielioppi (engl. context-free
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016 Sisällys Harjoitustehtävät loppukurssilla luentojen 14 18 harjoitustehtävistä on tehtävä yksi
Lisätiedotδ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.
42 Turingin koneiden laajennuksia 1 oniuraiset koneet Sallitaan, että Turingin koneen nauha koostuu k:sta rinnakkaisesta urasta, jotka kaikki kone lukee ja kirjoittaa yhdessä laskenta-askelessa: Koneen
LisätiedotTIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. toukokuuta 2011 Sisällys engl. random-access machines, RAM yksinkertaistettu nykyaikaisen (ei-rinnakkaisen)
LisätiedotYhteydettömän kieliopin jäsennysongelma
Yhteydettömän kieliopin jäsennysongelma Yhteydettömän kieliopin jäsennysongelmalla tarkoitetaan laskentaongelmaa Annettu: yhteydetön kielioppi G, merkkijono w Kysymys: päteekö w L(G). Ongelma voidaan periaatteessa
LisätiedotM =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)
Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 7 Demonstraatiotehtävien ratkaisut 1. Pinoautomaatti M = K Σ Γ s F missä K Σ s ja F on määritelty samalla tavalla kuin tilakoneellekin.
LisätiedotChomskyn hierarkia ja yhteysherkät kieliopit
Chomskyn hierarkia ja yhteysherkät kieliopit Laskennan teorian opintopiiri Tuomas Hakoniemi 21. helmikuuta 2014 Käsittelen tässä laskennan teorian opintopiirin harjoitustyössäni muodollisten kielioppien
LisätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. tammikuuta 2012 Sisällys Luennon pähkinä Millä tavalla voidaan rakentaa tietokoneohjelma (tai kirjasto), joka
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. syyskuuta 2016 Sisällys Neuvoja opintoihin tee joka päivä ainakin vähän uskalla mennä epämukavuusalueelle en
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016
TIEA241 Automaatit ja, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. lokakuuta 2016 Sisällys Kontekstiton kielioppi Kontekstiton kielioppi koostuu joukosta päätemerkkejä (engl. terminal symbols),
LisätiedotTuringin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. kesäkuuta 2013 Sisällys Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton kontekstinen
LisätiedotS BAB ABA A aas bba B bbs c
T-79.148 Kevät 2003 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S) tuottama
LisätiedotLaskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 17.10.2016 klo 15:07 passed waiting redo submitters
LisätiedotJäsennys. TIEA341 Funktio ohjelmointi 1 Syksy 2005
Jäsennys TIEA341 Funktio ohjelmointi 1 Syksy 2005 Muistutus: Laskutehtävä ja tulos data Laskutehtava = Luku Double Yhteen Laskutehtava Laskutehtava Vahennys Laskutehtava Laskutehtava Tulo Laskutehtava
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016
TIEA24 Automaatit ja kieliopit, syksy 206 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. lokakuuta 206 Sisällys Kolme laskennan mallia kuvitteellisia (abstrakteja) koneita eli automaatteja lukevat syötteen
LisätiedotRajoittamattomat kieliopit (Unrestricted Grammars)
Rajoittamattomat kieliopit (Unrestricted Grammars) Laura Pesola Laskennanteorian opintopiiri 13.2.2013 Formaalit kieliopit Sisältävät aina Säännöt (esim. A -> B C abc) Muuttujat (A, B, C, S) Aloitussymboli
LisätiedotYhteydettömät kieliopit [Sipser luku 2.1]
Yhteydettömät kieliopit [ipser luku 2.1] Johdantoesimerkkinä tarkastelemme kieltä L = { a n b m a n n > 0, m > 0 }, joka on yhteydetön (mutta ei säännöllinen). Vastaavan kieliopin ytimenä on säännöt eli
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 20. lokakuuta 2016
.. 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
LisätiedotOlkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A. NULL := {A V Σ A ε on G:n produktio};
3.6 Cocke-Younger-Kasami -jäsennysalgoritmi Osittava jäsentäminen on selkeä ja tehokas jäsennysmenetelmä LL(1)-kieliopeille: n merkin mittaisen syötemerkkijonon käsittely sujuu ajassa O(n). LL(1)-kieliopit
LisätiedotVasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:
Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen
Lisätiedot1. Universaaleja laskennan malleja
1. Universaaleja laskennan malleja Laskenta datan käsittely annettuja sääntöjä täsmällisesti seuraamalla kahden kokonaisluvun kertolasku tietokoneella, tai kynällä ja paperilla: selvästi laskentaa entä
LisätiedotLaskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja
582206 Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja 1. Tarkastellaan yhteydetöntä kielioppia S SAB ε A aa a B bb ε Esitä merkkijonolle aa kaksi erilaista jäsennyspuuta ja kummallekin siitä vastaava
Lisätiedotfollow(a) first(α j ) x
Tästä ensimmäisestä LL(1)-ehdosta (14) seuraa erityisesti, että korkeintaan yksi välikkeen A säännöistä voi tuottaa tyhjän merkkijonon ε eli tehdä välikkeestä A tyhjentyvän (eli nollautuvan). Toinen osa
LisätiedotTestaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin
Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.
LisätiedotOngelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?
Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? 2013-2014 Lasse Lensu 2 Algoritmit ovat deterministisiä toimintaohjeita
LisätiedotT Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut
T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama
LisätiedotMuunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja
sekä muita TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. kesäkuuta 2013 Sisällys Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton
LisätiedotLaskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. kesäkuuta 2013 Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on muotoa Onko
Lisätiedot4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:
T-79.148 Kevät 2004 Tietojenkäsittelyteorian perusteet Harjoitus 12 Demonstraatiotehtävien ratkaisut 4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi: Hyväksyykö annettu Turingin kone
LisätiedotTIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
LisätiedotHahmon etsiminen syotteesta (johdatteleva esimerkki)
Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux
Lisätiedotvaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 13. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 13.10.2016 klo 9:42 passed waiting redo submitters
LisätiedotTIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009
TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe D tiistai 10.11. klo 10 välikielen generointi Vaihe E tiistai
LisätiedotLaskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. maaliskuuta 2012 Sisällys Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on
LisätiedotÄärellisten automaattien ja säännöllisten kielten ekvivalenssi
Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Osoitamme seuraavan keskeisen tuloksen: Lause 1.8: [Sipser Thm. 1.54] Kieli on säännöllinen, jos ja vain jos jokin säännöllinen lauseke esittää
LisätiedotTäydentäviä muistiinpanoja laskennan rajoista
Täydentäviä muistiinpanoja laskennan rajoista Antti-Juhani Kaijanaho 10. joulukuuta 2015 1 Diagonaalikieli Diagonaalikieli on D = { k {0, 1} k L(M k ) }. Lause 1. Päätösongelma Onko k {0, 1} sellaisen
LisätiedotTIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4
LisätiedotLaskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. joulukuuta 2015 Sisällys TM vs yleiset kieliopit Lause Jokaiselle kielelle A seuraavat ovat yhtäpitävät: 1.
LisätiedotTIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
LisätiedotSäännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 24. toukokuuta 2013 Sisällys Formaalit kielet On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman
LisätiedotICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M :=
ICS-C2000 Tietojenkäsittelyteoria Luento 5: Säännöllisten kielten pumppauslemma; yhteydettömät kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Alue ja aiheet: Orposen prujun
Lisätiedot9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko
9.5. Turingin kone Turingin kone on järjestetty seitsikko TM = (S, I, Γ, O, B, s 0, H), missä S on tilojen joukko, I on syöttöaakkosto, Γ on nauha-aakkosto, I Γ, O on äärellinen ohjeiden joukko, O S Γ
LisätiedotSäännöllisten kielten sulkeumaominaisuudet
Säännöllisten kielten sulkeumaominaisuudet Osoitamme nyt, että säännöllisten kielten joukko on suljettu yhdisteen, konkatenaation ja tähtioperaation suhteen. Toisin sanoen jos A ja B ovat säännöllisiä,
LisätiedotICS-C2000 Tietojenkäsittelyteoria
ICS-C2000 Tietojenkäsittelyteoria Luento 5: Säännöllisten kielten pumppauslemma; yhteydettömät kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Alue ja aiheet: Orposen
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016
ja ja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016 Sisällys ja ja Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/
LisätiedotTietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
LisätiedotRekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää
Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää S AB CA... A CB...... ja kutsua Derives(S, abcde), niin kutsu Derives(B,
LisätiedotJOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS LUONNOLLISEN KIELEN KÄSITTELY (NATURAL LANGUAGE PROCESSING, NLP) TEKOÄLYSOVELLUKSET, JOTKA LIITTYVÄT IHMISTEN KANSSA (TAI IHMISTEN VÄLISEEN) KOMMUNIKAATIOON, OVAT TEKEMISISSÄ
LisätiedotAloitus. TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 14. maaliskuuta 2011 TIETOTEKNIIKAN LAITOS. Aloitus.
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/
LisätiedotTIEA341 Funktio-ohjelmointi 1, kevät 2008
TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 9 Kombinaattoreista Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 21. tammikuuta 2008 Currying Haskell-funktio ottaa aina vain yhden
LisätiedotLaskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja
581336 Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 1. S! axc X! axc X! by c Y! by c Y! " 2. (a) Tehtävänä on konstruoida rajoittamaton kielioppi, joka tuottaa kielen f0 n 1 n jn 1g. Vaihe1: alkutilanteen
LisätiedotKertausta 1. kurssikokeeseen
Kertausta. kurssikokeeseen. kurssikoe on to 22.0. klo 9 2 salissa A (tai CK2). Koealueena johdanto ja säännölliset kielet luentokalvot 3 ja nämä kertauskalvot harjoitukset 6 Sipser, luvut 0 ja Edellisvuosien.
LisätiedotT Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut
T-79.1001 Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut Lemma (Säännöllisten kielten pumppauslemma). Olkoon A säännöllinen kieli. Tällöin on olemassa n 1
LisätiedotSe mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
LisätiedotICS-C2000 Tietojenkäsittelyteoria
ICS-C2000 Tietojenkäsittelyteoria Luento 6: Jäsennyspuut, LL(1)-kielioppien jäsennys Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Alue ja aiheet: Orposen prujun luvut 3.3 3.5 Kielioppien
LisätiedotICS-C2000 Tietojenkäsittelyteoria Kevät 2016
ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.
LisätiedotICS-C2000 Tietojenkäsittelyteoria Kevät 2016
ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 Kierros 7, 29. helmikuuta 4. maaliskuuta Demonstraatiotehtävien ratkaisut D1: Osoita, yhteydettömien kielten pumppauslemmaa käyttäen, että kieli {ww w {a,b}
LisätiedotEi-yhteydettömät kielet [Sipser luku 2.3]
Ei-yhteydettömät kielet [Sipser luku 2.3] Yhteydettömille kielille pätee samantapainen pumppauslemma kuin säännöllisille kielille. Siinä kuitenkin pumpataan kahta osamerkkijonoa samaan tahtiin. Lause 2.25
LisätiedotLisää pysähtymisaiheisia ongelmia
Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti
LisätiedotYllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen
Yllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen suhteen, eli jos kielet A ja B ovat säännöllisiä, niin myös A B on. Tätä voi havainnollistaa seuraavalla kuvalla: P(Σ ) Säännölliset
LisätiedotM = (Q, Σ, Γ, δ, q 0, q acc, q rej )
6. LASKETTAVUUSTEORIAA Churchin Turingin teesi: Mielivaltainen (riittävän vahva) laskulaite Turingin kone. Laskettavuusteoria: Tarkastellaan mitä Turingin koneilla voi ja erityisesti mitä ei voi laskea.
LisätiedotTuringin koneet. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 7. joulukuuta 2015 Sisällys Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/
LisätiedotTuringin koneen laajennuksia
Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k
LisätiedotEsimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:
Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $: a, ε d b, d ε ε, ε $ b, d ε 1 2 3 6 c, ε e c, ε e c,
LisätiedotYhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.
2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2
Lisätiedot2. Yhteydettömät kielet
2. Yhteydettömät kielet Yhteydettömät eli kontekstittomat kielet (context-free language, CFL) ovat säännöllisiä kieliä laajempi luokka formaaleja kieliä. Ne voidaan esittää yhteydettömillä kieliopeilla
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. syyskuuta 2016 Sisällys a https://tim.jyu.fi/view/kurssit/tie/ tiea241/2016/videoiden%20hakemisto Matemaattisen
LisätiedotÄärellisten automaattien ja säännöllisten lausekkeiden minimointi
Äärellisten automaattien ja säännöllisten lausekkeiden minimointi Timi Suominen, Riia Ohtamaa ja Pessi Moilanen Helsinki..01 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Äärellisten automaattien
LisätiedotKontekstittomat jäsennysmenetelmät
Kontekstittomat jäsennysmenetelmät Yleistä, kontekstittomat kieliopit, kokoava ja osittava jäsentäminen Lili Aunimo lili.aunimo@helsinki.fi Helsingin yliopisto Kieliteknologia Lili Aunimo Kontekstittomat
Lisätiedot6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w}
6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = {c w pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti
Lisätiedot