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 tehtävä hyväksytysti per luento saat valita vapaasti minkä tehtävän miltäkin luennolta ei koske lopputentillä tai kirjatentillä suorittavia harjoitustehtävien ratkaisut palautettava 31.10.2016 mennessä määräaikaa voidaan siirtää perustellusta syystä pyyntö perusteluineen esitettävä luennoijalle ennen määräajan päättymistä määräaikaan mennessä palautetun tehtävän saa korjata määräajan päätyttyä viikon sisällä palautteen vastaanottamisesta ja enintään kerran, ellei erikseen ole muuta sovittu
Toisesta välikokeesta keskiviikkona 19.10.2016 klo 12 14 Ag Auditorio 3 (luennon paikalla) ei tarvitse ilmoittautua pyydän valitsemaan suoritustavaksi välikokeet Korpissa jos ja vain jos aiot tulla kokeeseen järjestelyt samanlaiset kuin ensimmäisessä välikokeessa opiskelijat, joille järjestettiin ensimmäinen välikoe erillisessä koetilaisuudessa lääketieteellisistä syistä: sama paikka ja samat järjestelyt kuin viimeksi ei tarvitse sopia erikseen
Harjoitustyöstä lue http://users.jyu.fi/~antkaij/opetus/ auki/2016/harjoitustyo.html tarkoin! Ohjelmointityön tulee olla tietokoneohjelma, jossa keskeistä roolia näyttelevät sekä säännöllisten että kontekstittomien kielten tekniikat (esim. äärelliset automaatit, säännölliset lausekkeet, kontekstittomat kieliopit, jäsennystekniikat tai pinoautomaatit). aiheesta on syytä sopia minun kanssani työ palautettava 7.12.2016 klo 16:00 määräaikaa voidaan siirtää perustellusta syystä pyyntö perusteluineen esitettävä luennoijalle ennen määräajan päättymistä määräaikaan mennessä palautetut työt arvioidaan 22.12.2016 mennessä
lemma (kontekstittomat kielet) Lause Olkoon A Σ kontekstiton kieli. Tällöin on olemassa luku p (pumppauspituus), jolle kaikilla s A, s p, on olemassa u, v, w, x, y Σ, joille s = uvwxy ja 1. vx = ε 2. vwx p 3. uv i wx i y A kaikilla i N pätevät. Todistus Jälkiprujussa.
Esimerkki A = { a i b i c i i N }
Kontekstiset kieliopit Kontekstinen (engl. context-sensitive) kielioppi on kontekstittomien kielioppien yleistys Produktiot ovat muotoa ω ω tai S ε ω, ω (V Σ) +, ω ω S on aloitussymboli Jos kieliopissa on S ε, niin S ei saa esiintyä minkään produktion oikealla puolella. Nimi kontekstinen tulee normaalimuodosta, jossa produktiot ovat muotoa ω 1 Aω 2 ω 1 ωω 2 tai S ε ω 1, ω 2 (V Σ), ω (V Σ) + ω 1 ja ω 2 muodostavat produktion kontekstin Kontekstisen kieliopin tuottama kieli määritellään johtojen käsitteen avulla kuten kontekstittomissa kieliopeissa. Kieli, joka voidaan tuottaa jollakin kontekstisella kieliopilla on kontekstinen kieli.
Esimerkki S abc aabc ε Ab ba Ac Bbcc bb Bb ab aa aaa
Yleinen eli rajoittamaton kielioppi on kontekstittomien kielioppien yleistys. Kuten kontekstittomissa kieliopeissa: välikesymbolien joukko V, päätesymbolien joukko Σ ja aloitussymboli S. Produktiot ovat muotoa ω 1 ω 2 ω 1 (V Σ) + nuolen vasemmallakin puolella saa siis olla mitä vain (paitsi ei tyhjää)! ω 2 (V Σ) Kieliopin tuottama kieli määritellään johtojen käsitteen avulla tavanomaiseen tapaan. Kieli, joka voidaan tuottaa jollakin yleisellä kieliopilla on laskettavasti lueteltava (engl. computably enumerable). 1 1 Historiallisista syistä myös termiä rekursiivisesti lueteltava (engl. recursively enumerable) käytetään.
Esimerkki taululla Laaditaan kielioppi, joka tuottaa kielen { a 2n n N }.