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

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

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

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

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

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

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

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

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

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

Pinoautomaatit. Pois kontekstittomuudesta

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

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

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

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

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

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

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

1. Universaaleja laskennan malleja

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

Automaatit. Muodolliset kielet

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Rajoittamattomat kieliopit

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

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

Täydentäviä muistiinpanoja laskennan rajoista

Kertausta 1. kurssikokeeseen

Säännöllisten kielten sulkeumaominaisuudet

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

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

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

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

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

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.

Turingin koneen laajennuksia

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

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

Chomskyn hierarkia ja yhteysherkät kieliopit

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

Yhteydettömän kieliopin jäsennysongelma

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

Rekursiiviset palautukset [HMU 9.3.1]

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

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

Tietojenkäsittelyteorian alkeet, osa 2

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Algoritmin määritelmä [Sipser luku 3.3]

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

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

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

5.3 Ratkeavia ongelmia

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

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

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

1. Universaaleja laskennan malleja

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

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

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

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

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:

Lisää pysähtymisaiheisia ongelmia

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

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

ICS-C2000 Tietojenkäsittelyteoria

Säännöllisen kielen tunnistavat Turingin koneet

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

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

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

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

2. Laskettavuusteoriaa

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

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

S BAB ABA A aas bba B bbs c

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

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

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

Attribuuttikieliopit

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Formalisoimme nyt edellä kuvatun laskennan.

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut

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

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

Miten osoitetaan joukot samoiksi?

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

3. Turingin koneet. osaa esittää yksinkertaisia algoritmeja täsmällisesti käyttäen Turingin konetta ja sen muunnelmia

Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Muita universaaleja laskennan malleja

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

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

Täydentäviä muistiinpanoja epädeterministisistä äärellisistä automaateista

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

Output. Input Automaton

Transkriptio:

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 lueteltava automaatti äärellinen pino lineaarirajoitettu Turingin kone

Minkälaisia ovat säännölliset kielet? 1 Säännöllinen kieli on määritelmän mukaan kieli, jonka jokin DFA tunnistaa. Merkitään jatkossa L(M):llä kieltä, jonka automaatti M tunnistaa. Jos A Σ on säännöllinen kieli, onko Σ A säännöllinen kieli? Jos A ja B ovat säännöllisiä kieliä, ovatko seuraavat kielet säännöllisiä? A B AB = { vw v A w B } ((kielten) yhdistäminen) A 0 = {ε} A n+1 = A n A A + = n=1 A n (Kleenen plus) A = n=0 A n (Kleenen tähti) 1 Tätä kalvoa on jälkikäteen korjattu. Korjaukset on merkitty näin.

Todistustekniikka Kaikille edellisen kalvon kysymyksille on yhteistä muoto jos jotkin kielet ovat säännöllisiä, niin eräs kieli on säännöllinen. Määritelmällisesti tämä on sama kuin jos joillekin kielille on kunkin tunnistava äärellinen automaatti, niin eräälle kielellä on sen tunnistava äärellinen automaatti. Todistusstrategia on luonnollisimmin: esitetään menetelmä, jolla annetuista automaateista voidaan rakentaa halutunlainen koostettu automaatti.

Sisällys

Todistettava lause Oletukset 1. Σ on aakkosto 2. A, B Σ ovat säännöllisiä kieliä. Väite Σ on säännöllinen kieli.

Todistuksen idea On olemassa DFA:t M A ja M B, joille pätee L(M A ) = A ja L(M B ) = B. Rakennetaan DFA M, jolle pätee L(M) = käyttäen hyväksi koneita M A ja M B. M simuloi M A :ta ja M B :tä rinnakkain. M hyväksyy, jos jompi kumpi hyväksyy. Pohdittavaksi: miksi rinnakkain, miksi ei peräkkäin? M:llä on tila kutakin paria (a, b) kohti, missä a on M A :n tila ja b on M B :n tila.

Matemaatikon tarkkuudella? Annetaan tarkka konstruktio M:lle. Tarkkaan todistukseen kuuluu myös Osoitetaan, että M:n konstruktio täyttää deterministisen äärellisen automaatin vaatimukset. Osoitetaan, että L(M) =. mutta nämä ovat tässä tapauksessa selkeitä, joten matemaatikon tarkkuudella ne jätetään lukijalle harjoitustehtäväksi. Tehdään taululla.

Sisällys

Eikö olisi helpompi...... yhdistää M A ja M B luomalla uusi alkutila, josta automaatti siirtyisi maagisesti oikeaan osa-automaattiin? Tällainen M ei ole DFA...... mutta se on eli epädeterministinen äärellinen automaatti. on kuin DFA kolmella erolla: samasta tilasta saa olla useampi kuin yksi siirtymä samalla merkillä tilasta ei tarvitse olla siirtymää kaikilla merkeillä tilasta voi olla ns. ε-siirtymä toiseen tilaan

matemaattisesti Määritelmä Viisikko (Q, Σ, δ, q 0, F) on epädeterministinen äärellinen automaatti (), jos Q on äärellinen (tilojen) joukko, Σ on äärellinen, epätyhjä joukko, joka ei sisällä tyhjän merkkijonon merkkinä käytettyä merkkiä ε (merkistö), δ : Q (Σ {ε}) P(Q) pätee (siirtymäfunktio), q 0 Q pätee (alkutila) ja F Q pätee (hyväksyvät tilat).

:n ε-sulkeuma 2 Määritelmä Olkoon M = (Q, Σ, δ, q 0, F). Määritellään kaikille n N funktiot E n : Q P(Q) seuraavasti: E 0 : q {q} E n+1 : q q E n (q) δ(q, ε) Määritellään nyt M:n ε-sulkeumafunktio E : Q P(Q) seuraavasti: E : q E i. i N E(q) sisältää q:n sekä kaikki tilat, joihin q:sta pääsee ε-siirtymiä seuraamalla. 2 Tämä kalvo on jälkikäteen lisätty.

:n toiminta formaalisti 3 Olkoon M = (Q, Σ, δ, q 0, F) epädeterministinen äärellinen automaatti. Se hyväksyy merkkijonon c 0 c n 1 Σ, jos on olemassa tilat q 1,..., q n 1 Q ja q n Q, joille pätee i {0,..., n 1} : q E(qi ) : q i+1 δ(q, c i ) ja q n F. Muuten se hylkää kyseisen merkkijonon. Niiden merkkijonojen, jotka hyväksyy, joukkoa sanotaan sen (tunnistamaksi) kieleksi, L(M). 3 Tätä kalvoa on jälkikäteen korjattu. Korjauksia ei ole merkitty.

Epädeterminismi Epädeterminismi tarkoittaa laskentaa, jossa mahdollisia etenemistapoja on useita, joista valitaan joku. :n epädeterminismi on hyväntahtoista, koska valitsee aina hyväksyntään johtavan tavan, jos sellainen on olemassa. Epädeterministinen laskenta voidaan kuvata päätöspuuna. Tarkastellaan taululla seuraavaa automaattia: a a 0 a 1 b 2 a 3 b b ja merkkijonoa aababa.

ja Olkoot M A = (Q A, Σ A, δ A, q A, F A ) M B = (Q B, Σ B, δ B, q B, F B ) :t, joille pätee L(M A ) = A ja L(M B ) = B. WLOG 4 oletetaan, että Q A Q B = ja 0 Q A Q B. Konstruoidaan M = (Q A Q B {0}, Σ A Σ B, δ, 0, F A F B ) δ : (Q A Q B ) (Σ A Σ B {ε}) P(Q A Q B ) {q A, q B } jos q = 0 ja c = ε δ A (q, c) jos q Q A ja c Σ A {ε} δ : (q, c) δ B (q, c) jos q Q B ja c Σ B {ε} muuten 4 Without Loss of Generality

Riittääkö? Edellisen kalvon konstruktiosta on helppo nähdä, että L(M) =. Todistaako tämä, että on säännöllinen kieli? Säännöllisen kielen määritelmässä puhutaan DFA:sta, ei :sta. Tarvitaan... Lause Jokaiselle :lle M on olemassa DFA M, jolle pätee L(M) = L( M). Todistus Taululla.

Sisällys

Tehdään taululla AB A +