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

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

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

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

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, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

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

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

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

2.2 Automaattien minimointi

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

Olkoon. M = (Q, Σ, δ, q 0, F)

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 5 Demonstraatiotehtävien ratkaisut. ja kaikki a Σ ovat säännöllisiä lausekkeita.

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

Olkoon. äärellinen automaatti. Laajennetaan M:n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

Automaatin tunnistama kieli on sen hyväksymien merkkijonojen joukko. Täsmällinen muotoilu: δ,q 0,{q 2,q 3,q 6 }), missä

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

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

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

Q = {q 1, q 2, q 3, q 4 } Σ = {a, b} F = {q 4 },

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

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

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Kertausta 1. kurssikokeeseen

Pinoautomaatit. Pois kontekstittomuudesta

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

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

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

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

Q on automaatin tilojen äärellinen joukko; Σ on automaatin syöteaakkosto; δ : Q Σ Q on automaatin siirtymäfunktio; q 0 Q on automaatin alkutila;

Kieli, merkitys ja logiikka, kevät 2011 HY, Kognitiotiede. Vastaukset 2.

Säännöllisten kielten sulkeumaominaisuudet

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko

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

Kuvausta f sanotaan tällöin isomorfismiksi.

TAMPEREEN YLIOPISTO Valinnaisten opintojen syventäviin opintoihin kuuluva tutkielma. Lauri Kumpulainen. Büchin automaateista

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

Yhteydettömän kieliopin jäsennysongelma

2.5 Säännöllisten kielten rajoituksista

Laskennan perusmallit 2013: Kertausta

Laskennan perusmallit (LAP)

2. Laadi regexp, jonka avulla egrep-ohjelma löytää tekstitiedostosta kaikki

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

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

Havaitaan: muuttujan NykyisetTilat arvot kuuluvat potenssijoukkoon P(Q).

Neliömatriisin A determinantti on luku, jota merkitään det(a) tai A. Se lasketaan seuraavasti: determinantti on

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Aiheet. ICS-C2000 Tietojenkäsittelyteoria M := Äärelliset automaatit vs. säännölliset lausekkeet. Äärelliset automaatit

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

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

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Chomskyn hierarkia ja yhteysherkät kieliopit

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Mutta esimerkiksi 0-kertaisesti pumpattaessa: Siten L ei voi olla säännöllinen.

Turingin koneen laajennuksia

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

Kertausta: kielet ja automaatit. ICS-C2000 Tietojenkäsittelyteoria. Alue ja aiheet. Äärelliset automaatit

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

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

1. Universaaleja laskennan malleja

Automaatit. Muodolliset kielet

Täydentäviä muistiinpanoja laskennan rajoista

Riemannin integraalista

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Rajoittamattomat kieliopit

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

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

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

Riemannin integraali

4 DETERMINANTTI JA KÄÄNTEISMATRIISI

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

T /2 Tietojenkäsittelyteorian perusteet T/Y

AUTOMAATTIEN SYNKRONISAATIOSTA

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

1.3 Toispuoleiset ja epäoleelliset raja-arvot

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

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

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

OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA

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

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

T /1002 Tietojenkäsittelyteorian perusteet T/Y

TIEA241 Automaatit ja kieliopit

Matematiikan tukikurssi

Arvostelu OHJ Johdatus tietojenkäsittelyteoriaan syksy op. Viikkoharjoitukset. Materiaali. Kurssista voi selvitä parhaalla mahdollisella

Tietojenkäsittelyteorian alkeet, osa 2

Kognitiivinen mallintaminen I, kevät Harjoitus 1. Joukko-oppia. MMIL, luvut 1-3 Ratkaisuehdotuksia, MP

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

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

Transkriptio:

lusekkeet, lusekkeet, TIEA241 Automtit j kieliopit, syksy 2016 Antti-Juhni Kijnho lusekkeet j smuus TIETOTEKNIIKAN LAITOS 22. syyskuut 2016

Sisällys lusekkeet, lusekkeet lusekkeet j smuus j smuus

lusekkeet 1 lusekkeet, Määritelmä Olkoon M = {,,, (, )} j olkoon Σ merkistö. Voidn olett, että Σ M =. lusekkeet (engl. regulr expressions) ovt seurvt merkistön Σ M merkkijonot j vin ne: (), c, jos c Σ, r, jos r on säännöllinen luseke (r 1 r 2 ), jos r 1 j r 2 ovt säännöllisiä lusekkeit, (r 1 r 2 ), jos r 1 j r 2 ovt säännöllisiä lusekkeit, Säännöllisten lusekkeiden joukko merkitään R Σ. lusekkeet j smuus 1 Yksinkertistettu versio regexpeistä.

Huomioit säännöllisistä lusekkeist lusekkeet, lusekkeet j smuus Käytännössä sulkeit ei läheskään in kirjoitet näkyviin. Operttoreiden presedenssijärjestys on edellisen klvon mukinen korkemmll minittu lsketn ensin.

Säännöllisten lusekkeiden tulkint lusekkeet, Määritelmä Olkoon Σ merkistö j R Σ säännöllisten lusekkeiden joukko. Määritellään tulkintfunktio : R Σ P(Σ ) seurvsti: lusekkeet j smuus = () = {ε} c = {c} (c Σ) r = r (r R Σ ) (r 1 r 2 ) = r 1 r 2 (r 1, r 2 R Σ ) (r 1 r 2 ) = r 1 r 2 (r 1, r 2 R Σ )

Regexpit lusekkeet, lusekkeet Työklujen kuten egrep tukemt säännölliset lusekkeet ovt edellä esitetyn teoreettisen käsitteen ljennuksi. Tällä kurssill säännöllinen luseke viitt tänään esitettyyn teoreettiseen käsitteeseen; työklujen ymmärtämiä muunnelmi kutsumme regexpeiksi. Lähes kikki regexpit on kirjoitettviss myös säännöllisiksi lusekkeiksi Poikkeuksen tkisinviittukset j smuus

lusekkeet, Luse Olkoon Σ merkistö. Jokiselle kielelle A Σ seurvt ovt yhtäpitävät: 1. On olemss säännöllinen luseke r R Σ, jolle r = A pätee. 2. A on säännöllinen kieli. lusekkeet j smuus Todistus 1 2: Tehdään hrjoitustehtävinä. 2 1: Seurvill klvoill (idetsoll)

Luseen merkitys lusekkeet, lusekkeet j smuus Luse tk, että regexpit (tkisinviittuksi lukuunottmtt) voidn kääntää NFA:iksi Teoreettisemmin: säännölliset lusekkeet kuvvt säännölliset kielet eikä mitään muut.

Todistuksen strtegi lusekkeet, 1. Määritellään äärellisen utomtin vrintti (äärellinen lusekeutomtti), joss siirtymät tphtuvt säännöllisillä lusekkeill. 2. Todetn, että jokinen DFA on myös lusekeutomtti (jok tunnist smn kielen). 3. Määritellään joukko lusekeutomtin muunnoksi, joill on seurvt ominisuudet: ne kikki säilyttävät utomtin tunnistmn kielen kukin niistä pienentää utomtin koko (siirtymien määrää) 4. Lisätään tilpehöörit. lusekkeet j smuus

Äärellinen lusekeutomtti lusekkeet, lusekkeet Määritelmä Viisikko (Q, Σ, δ, q 0, F) on äärellinen lusekeutomtti, jos Q on äärellinen (tilojen) joukko, Σ on äärellinen, epätyhjä joukko (merkistö), δ : Q R Σ P(Q) pätee (siirtymäfunktio), { (q, r) Q R Σ δ(q, r) = } on äärellinen, q 0 Q pätee (lkutil) j F Q pätee (hyväksyvät tilt). j smuus

Lusekeutomtin toimint lusekkeet, Olkoon M = (Q, Σ, δ, q 0, F) epädeterministinen äärellinen utomtti. Jokiselle merkkijonolle w on mhdollisesti olemss tiljonoj, jotk ovt muoto q 1,..., q n j joille w on jettviss osiin 2 w = w 0,..., w n 1, joille pätee r R Σ : w k r q k+1 δ(q k, r) kikill k = 0,..., n 1. Kunkin tällisen jonon viimeinen til q n on merkkijonon w päätöstil utomtiss M. Tyhjän merkkijonon päätöstilksi utomtiss M lsketn myös q 0. M hyväksyy merkkijonon, jos jokin sen päätöstiloist M:ssä kuuluu F:ään; muuten se hylkää sen. M:n hyväksymien merkkijonojen joukko on sen (tunnistm) kieli. lusekkeet j smuus 2 Huom indeksoinnin ero!

Muunnosinvrintit lusekkeet, lusekkeet Jokisen muunnoksen tulee säilyttää seurvien väitteiden totuus: Automtin lkutiln ei tule yhtään siirtymää. Automtiss on täsmälleen yksi hyväksyvä til, j se ei ole lkutil eikä siitä lähde siirtymiä. Automtiss ei ole tiloj, joihin ei pääse lkutilst siirtymiä seurmll. 3 Kutsutn tällist lusekeutomtti hyväksi. j smuus 3 Siirtymät -lusekkeell sllitn.

Yksi mhdollinen lustus lusekkeet, Aloitetn DFA:st (ti NFA:st) tulkittun lusekeutomtiksi. Lisätään utomttiin uusi lkutil j uusi hyväksyvä til, j muutetn kikki vnht hyväksyvät tilt ei-hyväksyviksi. Lisätään uudest lkutilst ()-siirtymä vnhn lkutiln. Lisätään jokisest lun perin hyväksyvästä tilst ()-siirtymä uuteen hyväksyvään tiln. Lisätään uudest lkutilst kikkiin muihin tiloihin -siirthmät. lusekkeet j smuus

Muunnos I lusekkeet, lusekkeet Syöte Lusekeutomtti Tulos Lusekeutomtti Vlitn tilt q 1 j q 2 j säännölliset lusekkeet r j r, joille on siirtymät 4 r q r 1 q2 j q 1 q2. Korvtn kyseiset siirtymät yhdistetyllä siirtymällä q 1 (r r ) q 2. j smuus 4 Käytän tässä q 1 r q 2 trkoittmn sm kuin q 2 δ(q 1, r).

Muunnos II Syöte Lusekeutomtti Tulos Lusekeutomtti Vlitn til q, jok ei ole lkutil eikä hyväksyvä til Määritellään säännöllinen luseke r seurvsti: Jos siirtymiä q :st q :hun ei ole, niin r = () on yksi, niin r on sen säännöllinen luseke on usempi, säännöllisin lusekkein s 1,..., s n, niin r = (s 1 s n ) lusekkeet, lusekkeet j smuus r 1 r Lisätään tilsiirtymä q r 2 1 q 2 jos on tilsiirtymät r q 1 r 1 q j q 2 q2 (missä q 1 j q 2 eivät ole q ) Poistetn til q sekä tilsiirtymät q :iin j q :st.

Esimerkki tulull lusekkeet, lusekkeet j smuus 0 1 0 0 1 1 1 1,

Todistettv lusekkeet, Oletus Automtti täyttää iemmll klvoll luetellut invrinttiehdot. Väitteet 1. Jos utomtiss on enemmän kuin yksi siirtymä, siihen voidn sovelt jotin muunnost. 2. Jos utomttiin sovelletn jotin muunnost, 2.1 se täyttää tämän jälkeen invrinttiehdot. 2.2 sen tunnistm kieli ei muutu. 2.3 siinä on tämän jälkeen vähemmän siirtymiä. 3. Jos utomtiss on täsmälleen yksi siirtymä, se on lkutilst hyväksyvvään tiln. lusekkeet j smuus

Lemm (Eteneminen) Jos hyvässä lusekeutomtiss on vähintään kksi siirtymää, niin siihen voidn sovelt joko Muunnost I ti Muunnost II. Lemm (Säilyminen) Jos hyvään lusekeutomttiin sovelletn Muunnost I ti Muunnist II, tuloksen syntyvä lusekeutomtti 1. on hyvä, 2. sisältää vähemmän tilsiirtymiä kuin lkuperäinen utomtti, j 3. tunnist smn kielen kuin lkuperäinen utomtti. lusekkeet, lusekkeet j smuus Todistus Pohditn ääneen, trkemmin jälkiprujuss.

Algoritmin lusekkeet, lusekkeet 1. Muut syötteenä stu DFA ti NFA hyväksi lusekeutomtiksi. 2. Sovell toistuvsti Muunnost I j Muunnost II kunnes utomtiss on enää yksi tilsiirtymä. 3. Lue tulos utomtin inost tilsiirtymästä. j smuus

lusekkeet, lusekkeet j smuus Jos ik jää...

Onko tässä pienin mhdollinen tämän kielen tunnistv utomtti? lusekkeet, lusekkeet 0 1 2 3 j smuus 4 5 6 7

Tilojen smnsisältöisyys lusekkeet, Olkoon meillä DFA M = (Q, Σ, δ, q 0, F). Tilt q 1, q 2 Q ovt smnsisältöiset 5, jos pätee w Σ : δ (q 1, w) F δ (q 2, w) F lusekkeet j smuus On vrsin ilmeistä, että smnsisältöisyys on ekvivlenssireltio. Voidn lti kolmiomtriisi (erisisältöisyysmtriiisi), jok sisältää merkin jokisen sellisen tilprin kohdll, jotk eivät ole smnsisältöiset. 5 engl. equivlent

Erisisältöisyysmtriisin luominen lusekkeet, Mtriisin rivit j srkkeet vstvt utomtin tiloj. Alustetn mtriisi merkitsemällä ne tilprit, joiss toinen til on hyväksyvä j toinen ei. Toistetn seurv kunnes mitään pri ei enää merkitä 6 : 1. Käy läpi kikki toistiseksi merkitsemättömät tilprit q 1, q 2. 2. Kunkin kohdll käy läpi kikki utomtin syötemerkit c. 3. Selvitä, mihin kummstkin prin tilst pääsee tuoll syötemerkillä: q 1 = δ(q 1, c) j q 2 = δ(q 2, c). 4. Jos nyt noiden tilojen muodostm pri q 1, q 2 on merkitty, merkitse myös trksteluss olev pri q 1, q 2. lusekkeet j smuus 6 HUOMAA! Ei välttämättä riitä käydä kikki tilprit kerrn läpi.

Esimerkki tulull lusekkeet, lusekkeet j smuus 0 1 2 3 4 5 6 7

lusekkeet, Luse Olkoon M = (Q, Σ, δ, q 0, F) DFA. Kikki edellä kuvtull tvll ldituss erisisältöisyysmtriisiss merkityt tilprit ovt erisisältöisiä. Luse Olkoon M = (Q, Σ, δ, q 0, F) DFA. Kikki edellä kuvtull tvll ldituss erisisältöisyysmtriisiss merkitsemättä jätetyt tilprit ovt smnsisältöisiä. lusekkeet j smuus Todistus Jälkiprujuss.

1. Poist (jos hlut) luksi kikki tilt, joihin ei pääse lkutilst siirtymiä seurmll. 2. Ldi utomtille erisisältöisyysmtriisi. 3. Selvitä jokiselle tillle niiden tilojen joukko, joiden knss kyseinen til on smnsisältöinen. 4. Minimiutomtti rkentuu seurvsti: Edellä syntyneet tiljoukot ovt minimiutomtin tilt. Alkutil on se tiljoukko, johon lkuperäisen utomtin lkutil kuuluu. Tiljoukost on siirtymä toiseen jollkin merkillä, jos ensiksi minitun tiloist on siirtymä kyseisellä merkillä jälkimmäisen joukon tiloihin. 7 Hyväksyviä tiloj ovt ne tiljoukot, joihin sisältyy lkuperäisen utomtin hyväksyviä tiloj. lusekkeet, lusekkeet j smuus 7 Riittää trkist yksi til joukost, kosk tilt ovt smnsisältöiset.

Esimerkki tulull lusekkeet, lusekkeet j smuus 0 1 2 3 4 5 6 7

Tunnistvtko kksi DFA:t smn kielen? lusekkeet, lusekkeet Olkoon meillä kksi DFA:t M A = (Q A, Σ, δ A, q A, F A ) j M B = (Q B, Σ, δ B, q B, F B ). Voidn olett, että Q A Q B =. Luodn fiktiivinen yhdistetty utomtti M = (Q A Q B, Σ, δ A δ B, q 0, F A F B ), missä q 0 Q A Q B on vpvlintinen. Lditn M:lle erisisältöisyysmtriisi. L(M A ) = L(M B ) jos j vin jos q A, q B jää erisisältöisyysmtriisiss merkitsemättä. j smuus

Tuluesimerkki lusekkeet, lusekkeet M A A B j smuus M B 1 2 3