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

Koko: px
Aloita esitys sivulta:

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

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ä 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ätiedot

Laskennanteoria: Mitä voimmelaskea tietokoneella ja kuinkatehokkaasti?

Laskennanteoria: 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ätiedot

Johdatus matemaattiseen päättelyyn

Johdatus 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ätiedot

6/20: Tietorakenteita

6/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ätiedot

DISKREETTI MATEMATIIKKA

DISKREETTI 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ätiedot

Pohjoismaisten matematiikkakilpailujen tehtävät ja ratkaisut 1995 2015

Pohjoismaisten 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ätiedot

Käsikirja Mathcad 15.0 Lokakuu 2010

Kä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ätiedot

Jarkko Peltomäki. Järjestetyt joukot ja hilat

Jarkko 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ätiedot

Palloja voi pyörittää kevyellä liikkeellä normaaliasennosta (harmaa) vaakatasossa niin, että numerot tulevat

Palloja 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ätiedot

Itseindeksit Kun tiivistetty teksti ja sen indeksi ovatkin sama asia

Itseindeksit 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ätiedot

Alkusanat ja sisällysluettelo

Alkusanat 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ätiedot

2. Polynomien jakamisesta tekijöihin

2. 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ätiedot

1.1 Tavallinen binäärihakupuu

1.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ätiedot

Kreikkalainen historioitsija Herodotos kertoo, että Niilin tulvien hävittämät peltojen rajat loivat maanmittareiden

Kreikkalainen 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ätiedot

SOPIMUS ELOKUVIEN VAPAAEHTOISESTA TALLETTAMISESTA ELOKUVA- ARKISTOIHIN

SOPIMUS 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ätiedot

Tiedon tuonti. Sisältö

Tiedon 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ätiedot

Karttojen värittäminen

Karttojen 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ätiedot

1.1 Yhtälön sieventäminen

1.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ätiedot

EXCEL - TAULUKKOLASKENTA...2 ALOITUS...2 PERUSTAULUKKO...3 TYÖKIRJA...3

EXCEL - 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ätiedot

TD käyttöohje Kisakone versio 2.0

TD 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ätiedot

Kirjallisuuden vaihto hankintatapana

Kirjallisuuden 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ätiedot

NAVIGON 20 EASY NAVIGON 20 PLUS

NAVIGON 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ätiedot

4 Merkintätavat. 4.1 Lainaukset ja niihin viittaaminen

4 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ätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

ICS-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ätiedot

BIOTIE THERAPIES OYJ. OSAKEPALKKIOJÄRJESTELMÄ (Osakepalkkiojärjestelmä 2014)

BIOTIE 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ätiedot

Sisä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ö...

Sisä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ätiedot

Y100 kurssimateriaali

Y100 kurssimateriaali Y kurssimateriaali Syksy Jokke Häsä ja Jaakko Kortesharju Sisältö Johdanto 4 Reaaliarvoiset funktiot 5. Funktio.................................... 5. Yhdistetty funktio.............................. 7.3

Lisätiedot

Todennäköisyyslaskenta 1/7 Sisältö ESITIEDOT: joukko-oppi, lukumäärän laskeminen, funktiokäsite Hakemisto

Todennä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ätiedot

Eero Ojanen. Hyvä päätös? polemia KAKS KUNNALLISALAN KEHITTÄMISSÄÄTIÖ

Eero 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ätiedot

Tieto tietojenkäsittelytieteessä

Tieto 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