TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011
|
|
- Hilkka Hyttinen
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011
2 Sisällys
3 Sisällys
4 Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti lueteltava automaatti äärellinen pino lineaarirajoitettu Turingin kone
5 Suunnitelma Tiedämme jo: ε on säännöllinen kieli. S Σ on säännöllinen kieli. Jos A on säännöllinen kieli, niin A on säännöllinen kieli. Jos A ja B ova säännöllisiä kieliä, niin AB on säännöllinen kieli. Jos A ja B ova säännöllisiä kieliä, niin A B on säännöllinen kieli. Voidaanko kaikki säännölliset kielet ilmaista näiden yhdistelyn avulla? Ratkaisuun tarvitaan: Tarkka määritelmä yhdistelemiselle. Todistus sille, että DFA:sta voidaan rakentaa yhdistelmä.
6 Sisällys
7 Määritelmä Olkoon M = {,,, (, )} ja olkoon Σ merkistö, jolle pätee Σ M =. (engl. regular expressions) ovat seuraavat merkistön Σ M merkkijonot ε, c, jos c Σ, r, jos r on säännöllinen lauseke (r 1 r 2 ), jos r 1 ja r 2 ovat säännöllisiä lausekkeita, (r 1 r 2 ), jos r 1 ja r 2 ovat säännöllisiä lausekkeita, ja vain ne. 1 Säännöllisten lausekkeiden joukkoa merkitään R Σ. 1 Käytännössä sulkeita ei läheskään aina kirjoiteta näkyviin. Operaattoreiden presedenssijärjestys on yllä korkeammalla mainittu lasketaan ensin.
8 Säännöllisten lausekkeiden tulkinta Määritelmä Olkoon Σ merkistö ja R Σ säännöllisten lausekkeiden joukko. Määritellään tulkintafunktio : R Σ P(Σ ) seuraavasti: = ε = {ε} 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 Σ )
9 käytännössä Yleisin käytännön sovellus on Unixin regexit, joita käytetään esim. egrep-ohjelmassa. Kääntäjien etupäässä voidaan käyttää säännöllisiä lausekkeita kuvaamaan kielen sanaset (flex ym.). Useimpien ohjelmointikielten kirjastoissa on toteutus Unixin regexien kaltaisille säännöllisille lausekkeille. Paaaaaaaaaaaaaljon sovelluksia!
10 Unixin regexien operaattorit r* tarkoittaa samaa kuin r edellä (Kleenen tähti) r+ tarkoittaa samaa kuin rr* (Kleenen plus) r 1 r 2 tarkoittaa samaa kuin edellä (valitaan joko r 1 tai r 2 ) r? tarkoittaa samaa kuin (() r) r{n} tarkoittaa r:n toistoa täsmälleen n kertaa. r{n, m} tarkoittaa r:n toistoa vähintään n ja enintään m kertaa. sulkeita () voidaan käyttää ryhmittelyyn ^ tarkoittaa syötteen tai rivin alkua (riippuu käyttöyhteydestä) $ tarkoittaa syötteen tai rivin loppua (riippuu käyttöyhteydestä) ilman näitä regex etsii osamerkkijonoa, johon regex täsmää
11 Unixin regexien merkkiluokat Seuraavat ovat tapoja ilmaista yhden merkin mittaisia kieliä:. tarkoittaa kieltä Σ [c 1 c 2 c n ] tarkoittaa kieltä {c 1,..., c n }. [^c 1 c 2 c n ] tarkoittaa kieltä Σ {c 1,..., c n }. hakasulkeissa (hatulla tai ilman) on mahdollista käyttää myös merkkiväliä, esim. a-z nimettyä merkkijoukkoa, esim. [:alpha:], [:digit:], [:alnum:] \., \* jne: erikoismerkki sellaisenaan
12 Esimerkkejä 1. [[:alpha:]][[:alnum:]]* 2. [+-]?([[:digit:]]+\.[[:digit:]]* [[:digit:]]*\.[[:digit:]]+) 3. [[:digit:]]{5} +[[:alpha:]]+( +[[:digit:]]{2})?
13 Sisällys
14 Lause Olkoon Σ merkistö. Jokaiselle kielelle K Σ seuraavat ovat yhtäpitävät: 1. On olemassa säännöllinen lauseke r R Σ, jolle r = K pätee. 2. On olemassa DFA M, jolle L(M) = K pätee. Todistus 1 2: Harjoitustehtävä. 2 1: Seuraavat kalvot. (ideatasolla).
15 Todistuksen strategia 1. Määritellään äärellisen automaatin variantti (lausekeautomaatti), jossa siirtymät tapahtuvat säännöllisillä lausekkeilla. 2. Todetaan, että jokainen DFA on myös lausekeautomaatti (joka tunnistaa saaman kielen). 3. Määritellään joukko lausekeautomaatin muunnoksia, joilla on seuraavat ominaisuudet: ne kaikki säilyttävät automaatin tunnistaman kielen kukin niistä pienentää automaatin kokoa (siirtymien määrää) 4. Lisätään tilpehöörit.
16 Lausekeautomaatti Määritelmä Viisikko (Q, Σ, δ, q 0, F) on lausekeautomaatti, jos Q on äärellinen (tilojen) joukko, Σ on äärellinen, epätyhjä joukko, joka ei sisällä tyhjän merkkijonon merkkinä käytettyä merkkiä ε (merkistö), δ : Q R Σ P(Q) pätee (siirtymäfunktio), { (q, r) Q R Σ δ(q, r) = } on äärellinen, q 0 Q pätee (alkutila) ja F Q pätee (hyväksyvät tilat).
17 Muunnosinvariantit Jokaisen muunnoksen tulee säilyttää seuraavien väitteiden totuus: Automaatin alkutilaan ei tule yhtään siirtymää. Automaatissa on täsmälleen yksi hyväksyvä tila, ja se ei ole alkutila eikä siitä lähde siirtymiä. Automaatissa ei ole tiloja, joihin ei pääse alkutilasta siirtymiä seuraamalla. 2 2 Siirtymät -lausekkeella sallitaan.
18 Alustus Aloitetaan DFA:sta (tai NFA:sta) tulkittuna lausekeautomaatiksi. Jos automaatin alkutilaan tulee siirtymiä tai jos alkutila on hyväksyvä, lisätään uusi alkutila, josta on ε-siirtymä vanhaan alkutilaan. Jos automaatissa ei ole hyväksyviä tiloja, lisätään siihen sellainen, ja lisäksi siirtymä alkutilasta siihen lausekkeella. Jos automaatissa on useampi kuin yksi hyväksyvä tila, tai jos ainoasta hyväksyvästä tilasta lähtee siirtymiä, muutetaan ne kaikki ei-hyväksyviksi ja luodaan uusi hyväksyvä tila, johon tulee ε-siirtymät entisistä hyväksyvistä tiloista. Poistetaan kaikki turhat tilat (sellaiset, joihin ei pääse alkutilasta seuraamalla siirtymiä).
19 Muunnos I Valitaan tilat q ja q ja säännölliset r i ja r j, joille on siirtymät q r i q ja q r j q. 3 Poistetaan siirtymät q r i q ja q r j q. Lisätään siirtymä q (r i r j ) q. 3 Merkintä q r q tarkoittaa siirtymää q δ(q, r).
20 Muunnos II 4 Valitaan tila q, joka ei ole alkutila eikä hyväksyvä tila Määritellään säännöllinen lauseke r seuraavasti: Jos siirtymiä q :sta q :hun ei ole, niin r = ε. on yksi, niin r on sen säännöllinen lauseke. on useampia, säännöllisin lausekkein s 1,..., s n, niin r = (s 1 s n ). r i r Lisätään tilasiirtymä q r j i q j jokaiselle sellaiselle tilaparille (q i, q j ), joille on siirtymät Poistetaan q i r i q r j q j. kaikki siirtymät, jotka lähtevät tai tulevat q :sta. tila q. 4 Tämä kalvo on kokonaan uudelleen kirjoitettu luennon jälkeen.
21 Muunnos III Valitaan tila q, joka ei ole alkutila eikä hyväksyvä tila ja josta ei lähde yhtään siirtymää. Poistetaan kaikki siirtymät tilaan q. tila q.
22 Esimerkki taululla a 0 b 1 a b a,b
23 Todistettava Oletus Automaatti täyttää aiemmalla kalvolla luetellut invarianttiehdot. Väitteet 1. Jos automaatissa on enemmän kuin yksi siirtymä, siihen voidaan soveltaa jotain muunnosta. 2. Jos automaattiin sovelletaan jotain muunnosta, 2.1 se täyttää tämän jälkeen invarianttiehdot. 2.2 sen tunnistama kieli ei muutu. 2.3 siinä on tämän jälkeen vähemmän siirtymiä. 3. Jos automaatissa on täsmälleen yksi siirtymä, se on alkutilasta hyväksyvvään tilaan.
24 Yhteenveto esta Reitti säännöllisestä lausekkeesta DFA:han kulkee viime luennon kautta. Reitti DFA:sta säännölliseen lausekkeeseen kulkee lausekeautomaatin kautta. Tuloslauseke voidaan lukea muunnosten soveltamisen jälkeen automaatin ainoasta siirtymästä.
Kaikki mitä olet aina halunnut tietää pumppauslemmoista, mutta mitä et ole kehdannut kysyä
Kaikki mitä olet aina halunnut tietää pumppauslemmoista, mutta mitä et ole kehdannut kysyä Tommi Syrjänen 1 Yleistä pumppauslemmoista Pumppauslemmalla voidaan todistaa, että kieli ei kuulu johonkin kieliluokkaan.
LisätiedotLaskennanteoria: Mitä voimmelaskea tietokoneella ja kuinkatehokkaasti?
Laskennanteoria: Mitä voimmelaskea tietokoneella ja kuinkatehokkaasti? Wilhelmiina Hämäläinen Johdatus tietojenkäsittelytieteeseen 1.-2.12. 2003 Tietojenkäsittelytieteen laitos Joensuun yliopisto 1 Johdanto
LisätiedotJohdatus matemaattiseen päättelyyn
Johdatus matemaattiseen päättelyyn Oulun yliopisto Matemaattisten tieteiden laitos 2011 Maarit Järvenpää 1 Todistamisesta Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta.
Lisätiedot6/20: Tietorakenteita
Ohjelmointi 1 / syksy 2007 6/20: Tietorakenteita Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/20 Opelta lähti
LisätiedotDISKREETTI MATEMATIIKKA
DISKREETTI MATEMATIIKKA 1 2 DISKREETTI MATEMATIIKKA Sisällysluettelo 1. Relaatio ja funktio 3 1.1. Karteesinen tulo 3 1.2. Relaatio ja funktio 3 2. Kombinatoriikkaa 8 2.1. Tulo- ja summaperiaate 9 2.2.
LisätiedotPohjoismaisten matematiikkakilpailujen tehtävät ja ratkaisut 1995 2015
Pohjoismaisten matematiikkakilpailujen tehtävät ja ratkaisut 995 05 Tehtävät 9. Pohjoismainen matematiikkakilpailu, 5.3.995 995.. Olkoon AB O-keskisen ympyrän halkaisija. Valitaan ympyrän kehältä pistec
LisätiedotKäsikirja Mathcad 15.0 Lokakuu 2010
Käsikirja Käsikirja Mathcad 15.0 Lokakuu 2010 Copyright 2010 Parametric Technology Corporation. Parametric Technology Corporation omistaa sekä tämän ohjelman että siihen kuuluvan dokumentaation tekijänoikeudet.
LisätiedotJarkko Peltomäki. Järjestetyt joukot ja hilat
Jarkko Peltomäki Järjestetyt joukot ja hilat Luonnontieteiden kandidaatin tutkielma Turun yliopisto Syyskuu 2010 Sisältö 1 Johdanto 2 2 Järjestetty joukko 3 2.1 Määritelmiä ja perusominaisuuksia...............
LisätiedotPalloja voi pyörittää kevyellä liikkeellä normaaliasennosta (harmaa) vaakatasossa niin, että numerot tulevat
PELIOHJE 1 (14) Pelaajat: 2-4 pelaajaa Ikäsuositus: 6+ SISÄLTÖ / PELIVÄLINEET 1 kääntyvä satataulu 100 lukukorttia (sis. luvut 1-100) 6 jokerikorttia 2 noppaa (sis.luvut 1-10) 30 pelimerkkiä PELI OPETTAA
LisätiedotItseindeksit Kun tiivistetty teksti ja sen indeksi ovatkin sama asia
Tietojenkäsittelytiede 25 Joulukuu 2006 sivut 28 37 Toimittaja: Jorma Tarhio c kirjoittaja(t) Itseindeksit Kun tiivistetty teksti ja sen indeksi ovatkin sama asia Veli Mäkinen Helsingin yliopisto Tietojenkäsittelytieteen
LisätiedotAlkusanat ja sisällysluettelo
Alkusanat ja sisällysluettelo Tässä ohjeessa käsitellään pintapuolisesti ohjelman sujuvan käytön aloittamiseksi tarvittavien pohjatietojen lisääminen. Useimmat ohjeessa käsitellyistä toimenpiteistä onnistuvat
Lisätiedot2. Polynomien jakamisesta tekijöihin
Imaginaariluvut mielikuvitustako Koska yhtälön x 2 x 1=0 diskriminantti on negatiivinen, ei yhtälöllä ole reaalilukuratkaisua Tästä taas seuraa, että yhtälöä vastaava paraabeli y=x 2 x 1 ei leikkaa y-akselia
Lisätiedot1.1 Tavallinen binäärihakupuu
TIE-20100 Tietorakenteet ja algoritmit 1 1 Puurakenteet http://imgur.com/l77fy5x Tässä luvussa käsitellään erilaisia yleisiä puurakenteita. ensin käsitellään tavallinen binäärihakupuu sitten tutustutaan
LisätiedotKreikkalainen historioitsija Herodotos kertoo, että Niilin tulvien hävittämät peltojen rajat loivat maanmittareiden
MAB2: Geometrian lähtökohdat 2 Aluksi Aloitetaan lyhyellä katsauksella geometrian historiaan. Jatketaan sen jälkeen kuvailemalla geometrian atomeja, jotka ovat piste ja kulma. Johdetaan näistä lähtien
LisätiedotSOPIMUS ELOKUVIEN VAPAAEHTOISESTA TALLETTAMISESTA ELOKUVA- ARKISTOIHIN
SOPIMUS ELOKUVIEN VAPAAEHTOISESTA TALLETTAMISESTA ELOKUVA- ARKISTOIHIN Sopimuspuolet ja 1. X (tuottaja tai tuottajan laillisesti valtuutettu edustaja, esimerkiksi levittäjä [tarkka nimike määritellään
LisätiedotTiedon tuonti. Sisältö
Tiedon tuonti Sisältö Yleistä... 2 Vaihe 1 Tietojen valmistelu... 2 Vaihe 2 Testaaminen... 4 Vaihe 3 Oikeellisuuden tarkistus... 5 Vaihe 4 Kenttien liittäminen... 7 Vaihe 5 Luontitapa... 10 1 Tiedon tuonti
LisätiedotKarttojen värittäminen
Karttojen värittäminen Neliväriongelman värityskombinaatioiden lukumäärän etsiminen graafien avulla Eero Räty & Samuli Thomasson Valkeakosken Tietotien lukio / Päivölän Kansanopisto Tieteenala: Matematiikka
Lisätiedot1.1 Yhtälön sieventäminen
1.1 Yhtälön sieventäminen Lausekkeeksi voidaan kutsua jokaista merkittyä laskutoimitusta. Sellaisia matema-tiikan tehtäviä on vähän, joita suorittaessaan ei joutuisi sieventämään lausekkeita, millä tarkoitetaan
LisätiedotEXCEL - TAULUKKOLASKENTA...2 ALOITUS...2 PERUSTAULUKKO...3 TYÖKIRJA...3
EXCEL - TAULUKKOLASKENTA...2 ALOITUS...2 PERUSTAULUKKO...3 TYÖKIRJA...3 SOLUJEN TÄYTTÄMINEN JA MUOKKAAMINEN...4 SOLUUN KIRJOITTAMINEN...4 TEKSTIEN JA LUKUJEN KORJAUS...5 TEKSTIEN JA LUKUJEN MUOKKAUS...5
LisätiedotTD käyttöohje Kisakone versio 2.0
TD käyttöohje Kisakone versio 2.0 SFL Suomen frisbeeliitto Kisakone 1.0 TD Käyttöohje 2009-2010 SISÄLLYSLUETTELO 1. JOHDANTO... 4 1.1 KÄYTTÖTARKOITUS... 4 1.2 KÄYTTÄJÄT... 4 1.3 YHTEENSOPIVUUS... 5 1.4
LisätiedotKirjallisuuden vaihto hankintatapana
Tieteellisen kirjallisuuden vaihtokeskus - Georg Strien Kirjallisuuden vaihto hankintatapana Tieteellisen kirjallisuuden vaihdolla on pitkä perinne, vanhimmat viitteet löytyvät vuodesta 1694 Ranskasta.
LisätiedotNAVIGON 20 EASY NAVIGON 20 PLUS
NAVIGON 20 EASY NAVIGON 20 PLUS Käyttöohjekirja Suomi Kesäkuu 2010 Kuvake yliviivatusta roskatynnyristä pyörillä, tarkoittaa että tuote Euroopan yhteisössä täytyy hävittää erillisessä jätehuoltopisteessä.
Lisätiedot4 Merkintätavat. 4.1 Lainaukset ja niihin viittaaminen
Tampereen ammattikorkeakoulu 50 (65) 4 Merkintätavat 4.1 Lainaukset ja niihin viittaaminen Korkeakouluissa opinnäytetyön kirjoittamisessa yleinen periaate on se, että opiskelija aiempia töitä selostamalla
LisätiedotICS-C2000 Tietojenkäsittelyteoria Kevät 2015
ICS-C2 Tietojenkäsittelyteori Kevät 25 Kierros 3, 26. 3. tmmikuut Demonstrtiotehtävien rtkisut D: Ldi epädeterministinen äärellinen utomtti, jok test onko nnetun inäärijonon kolmnneksi viimeinen merkki,
LisätiedotBIOTIE THERAPIES OYJ. OSAKEPALKKIOJÄRJESTELMÄ (Osakepalkkiojärjestelmä 2014)
BIOTIE THERAPIES OYJ OSAKEPALKKIOJÄRJESTELMÄ (Osakepalkkiojärjestelmä 2014) Biotie Therapies Oyj:n (Yhtiö, tai yhdessä tytäryhtiöidensä kanssa Konserni) 4.4.2013 pidetty varsinainen yhtiökokous valtuutti
LisätiedotSisältö 1 Tekijänoikeudet...8 2 Johdatus M-Filesiin...9 3 Ohjelmiston asennus ja käyttöönotto...10 4 M-Filesin päivittäinen käyttö...
M-Files 10 Sisältö 1 Tekijänoikeudet...8 2 Johdatus M-Filesiin...9 3 Ohjelmiston asennus ja käyttöönotto...10 3.1 Järjestelmävaatimukset...10 3.2 Automatisoitu asennus ja jakelu...11 3.3 Asennuksen läpivienti...11
LisätiedotY100 kurssimateriaali
Y kurssimateriaali Syksy Jokke Häsä ja Jaakko Kortesharju Sisältö Johdanto 4 Reaaliarvoiset funktiot 5. Funktio.................................... 5. Yhdistetty funktio.............................. 7.3
LisätiedotTodennäköisyyslaskenta 1/7 Sisältö ESITIEDOT: joukko-oppi, lukumäärän laskeminen, funktiokäsite Hakemisto
Todennäköisyyslaskenta /7 Sisältö ESITIEDOT: joukko-oppi, n laskeminen, käsite Hakemisto Todennäköisyyslaskennan peruskäsitteet Todennäköisyyslaskennassa tarkastelun kohteena ovat satunnaisilmiöt.esimerkkejä
LisätiedotEero Ojanen. Hyvä päätös? polemia KAKS KUNNALLISALAN KEHITTÄMISSÄÄTIÖ
polemia Eero Ojanen Hyvä päätös? KAKS KUNNALLISALAN KEHITTÄMISSÄÄTIÖ Hyvä päätös? Eero Ojanen Hyvä päätös? Filosofisia näkökulmia päätöksentekoon kaks kunnallisalan kehittämissäätiö HYVÄ PÄÄTÖS? Kieliasun
LisätiedotTieto tietojenkäsittelytieteessä
Tieto tietojenkäsittelytieteessä Jesse Hauninen 14.4.2008 Joensuun yliopisto Tietojenkäsittelytieteen ja tilastotieteen laitos Pro gradu -tutkielma Tiivistelmä Tiedosta kuulee puhuttavan jatkuvasti. Yhteiskunnan
Lisätiedot