2.2 Automaattien minimointi

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

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

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

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

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

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

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

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

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

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

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

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

Laskennan perusmallit 2013: Kertausta

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

Kuvausta f sanotaan tällöin isomorfismiksi.

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

2.5 Säännöllisten kielten rajoituksista

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

Laskennan perusmallit (LAP)

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

II.1. Suppeneminen., kun x > 0. Tavallinen lasku

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

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

Automaatit. Muodolliset kielet

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

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

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

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

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

T /2 Tietojenkäsittelyteorian perusteet T/Y

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

5.3 Ratkeavia ongelmia

Numeeriset menetelmät TIEA381. Luento 9. Kirsi Valjus. Jyväskylän yliopisto. Luento 9 () Numeeriset menetelmät / 29

Turingin koneen laajennuksia

T /1002 Tietojenkäsittelyteorian perusteet T/Y

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

AUTOMAATTIEN SYNKRONISAATIOSTA

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Määritelmä Olkoon C R m yksinkertainen kaari ja γ : [a, b] R m sen yksinkertainen parametriesitys, joka on paloittain C 1 -polku.

SARJAT JA DIFFERENTIAALIYHTÄLÖT Funktiojonot 1

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

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

Matematiikan tukikurssi

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

5 Epäoleellinen integraali

Diskreetin matematiikan perusteet Laskuharjoitus 6 / vko 13

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

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

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Reaalinen lukualue. Millainen on luku, jossa on päättymätön ja jaksoton desimaalikehitelmä?

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

Riemannin integraali

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

T /1002 Tietojenkäsittelyteorian perusteet T/Y

Säännöllisestä lausekkeesta deterministiseksi tilakoneeksi: esimerkki

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

a = x 0 < x 1 < x 2 < < x n = b f(x) dx = I. lim f(x k ) x k=1

Matematiikan johdantokurssi, syksy 2017 Harjoitus 6, ratkaisuista. 1. Onko jokin demojen 5 tehtävän 3 relaatioista

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

Säännöllisten kielten sulkeumaominaisuudet

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

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

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

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

Käydään läpi: ääriarvo tarkastelua, L Hospital, integraalia ja sarjoja.

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (Predikaattilogiikka )

TEHTÄVÄ 1. Olkoon (f n ) jono jatkuvia funktioita f n : [a, b] R, joka suppenee välillä [a, b] tasaisesti kohti funktiota f : [a, b] R.

Laskennan perusmallit (LAP)

Riemannin integraalista

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Matematiikan tukikurssi

MS-A010{2,3,4,5} (SCI,ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

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

Kertymäfunktio. Kertymäfunktio. Kertymäfunktio: Mitä opimme? 2/2. Kertymäfunktio: Mitä opimme? 1/2. Kertymäfunktio: Esitiedot

Riemannin integraalista

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

Säännöllisen kielen tunnistavat Turingin koneet

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

PRO GRADU -TUTKIELMA. Eeva Mäkelä. Hiloista ja Boolen algebroista

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

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

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

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

ANALYYSI I, kevät 2009

12. Merkkijonot Merkkijonojen abstrakti tietotyyppi

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause

Kertausta 1. kurssikokeeseen

Yhteydettömän kieliopin jäsennysongelma

1.3 Toispuoleiset ja epäoleelliset raja-arvot

6.2 Algoritmin määritelmä

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

Transkriptio:

24 2.2 Automttien minimointi Kksi utomtti, jotk tunnistvt täsmälleen smn kielen ovt keskenään ekvivlenttej Äärellinen utomtti on minimlinen jos se on tilmäärältään pienin ekvivlenttien utomttien joukoss Automtti, joss on enemmän tiloj kuin ekvivlentiss minimlisess utomtiss on redundntti Automttej muodostvt lgoritmit eivät in tuot minimlist utomtti Minimlisen utomtin käsittely on tehokkmp kuin redundntin 25 Algoritmi minimoi Syöte: äärellinen utomtti M = (Q,,, q, F).. Poist M:n turht tilt ne joihin ei void päästä lkutilst. 2. Muodost suuntmton verkko G, jonk solmuj ovt M:n tilt. 3. Lisää G:hen kri kustkin ei-lopputilst kuhunkin lopputiln. 4. Toist niin kun kuin G:hen tulee uusi kri:. Jokiselle prille q, r Q, q r, j jokiselle : lisää kri (q, r) verkkoon G, jos ((q, ), (r, )) on kri G:ssä. 2. Kullkin tilll q Q olkoon [q] = { q } { r Q q:n j r:n välillä ei ole krt G:ssä }. 5. Muodost äärellinen utomtti M = (Q,,, q, F ), missä Q' = { [q] q Q }, (tuplt poisten) '([q], ) = [(q, )], kikill q Q j, q = [q ] j F' = { [q] q F }. 6. Plut M.

26 2 4 6 3 5 27 [2] 2 4 [4, 5] [, 3] 3 [, 3] 5 [4, 5] 2 3 4 5 2

28 Lopputulos Syöteutomtin M knss ekvivlentti äärellinen utomtti M', joss on minimimäärä tiloj Automtti M' on tilojen nimeämistä ville yksikäsitteinen., 3 2 4, 5 29 2.3 Epädeterministiset äärelliset utomtit Epädeterministisessä utomtiss sllitn tilst olevn mont vihtoehtoist siirtymää smll syötekkoston merkillä Lisäksi sllitn -siirtymät Epädeterminismin toteuttminen ei ole suorviivist (joskin se on mhdollist), mutt kuvuksen pun se on kätevää Epädeterminististen utomttien vull luodn yhteys determinististen äärellisten utomttien j säännöllisten lusekkeiden välille 3

3,,, q q q 2 q 3 3 Automtin määritelmä vtii siirtymäfunktion olevn funktio Epädeterministisellä utomtill siirtymäfunktion on kuvuduttv joukolle mhdollisi rvoj Epädeterministinen utomtti hyväksyy merkkijonon jos jokin mhdollisten tilojen jono joht lopputiln. Vin jos yhtään tällist jono ei ole, niin utomtti hylkää syötemerkkijonon Esim. ed. utomtti hyväksyy syötejonon, kosk se voidn käsitellä mm. seurvsti (q, ) (q, ) (q, ) (q 2, ) (q 3,) (q 3, ) (q 3, ) 4

32,,, q q q 2 q 3 Toislt voidn myös päätyä hylkäävään tiln: (q, ) (q, ) (q, ) (q, ) (q, ) (q, ) (q 2, ) 33 Merk. P(A) = { B B A } on joukon A potenssijoukko j kkostolle : = { } Epädeterministinen äärellinen utomtti on viisikko N = (Q,,, q, F) Q on äärellinen tilojen joukko, on syötekkosto, : Q P(Q) on (joukkorvoinen) siirtymäfunktio, joss myös -siirtymät ovt sllittuj q Q on lkutil j F Q lopputilojen joukko 5

34 Edellisen utomtin siirtymäfunktio on q {q } {q q } Ø q {q 2 } Ø {q 2 } q 2 Ø {q 3 } Ø q 3 {q 3 } {q 3 } Ø Nyt virhetilnne on helposti ilmistviss tyhjän seurjtiljoukon vull 35 Epädeterministinen äärellinen utomtti N = (Q,,,q, F) hyväksyy merkkijonon w, jos se voidn kirjoitt muotoon w = y y 2 y n m j jos Q:ss on tilojen jono r, r,, r m s.e. r = q, r i+ (r i, y i+ ), i =,, m-, r m F. Deterministiset utomtit ovt epädeterminististen erikoistpus kikki edellisillä tunnistettvt kielet ovt tunnistettviss myös jälkimmäisillä Mutt myös kääntäen: deterministiset j epädeterministiset äärelliset utomtit ovt yhtä vhvoj 6

36 Luse.39 Olk. A = L(N) jonkin epädeterministisen äärellisen utomtin N tunnistm kieli. Tällöin on olemss deterministinen utomtti M, joll L(M) = A Todistus. Olk. N = (Q,,,q, F). Lditn deterministinen utomtti M =(Q,,,q, F ), jok simuloi N:n toimint kikiss sen kullkin hetkellä mhdollisiss tiloiss rinnkkin. Trkstelln ensin tilnnett ilmn -siirtymiä Automtin M tilt vstvt N:n tilojen joukkoj Q' = P(Q), q ' = { q } F' ={RQ R sisältää jonkin r F } '(R, ) = r R (r, ) 37 Ilmn epsiloni,,, q q q 2 q 3 {q } {q, q } {q,q 2 } {q, q, q 3 } {q, q 2, q 3 } {q, q 3 } 7

38 Minimoitun R R R 2 R 3, 39 Trkstetn, että L(M) = L(N). Kielten ekvivlenssi seur, kun todistetn kikill x * j r Q: (q, x) N (r, ) ({q }, x) M (R, ) j r R, missä merkintä (q, x) N (r, ) trkoitt, että utomtiss N voidn merkkijono x käsitellä tilst q lähtien s.e. päädytään tiln r j käsiteltävänä ei enää ole merkkejä (). Todistus induktioll merkkijonon x pituuden suhteen:. x = : (q, ) N (r, ) r = q. Smoin ({q }, ) M (R, ) R = {q } 8

4 2. Induktio-oletus: väite pätee kun x k 3. x = k+: tällöin x = y jollkin y, y = k, jolle väite pätee induktiooletuksen perusteell. Nyt (q, x) = (q, y) N (r, ) r' Q s.e. (q, y) N (r', ) j(r', ) N (r, ) = yhdellä siirtymällä r' Q s.e. (q, y) N (r', ) j(r', ) N (r, ) induktio-oletuksen perusteell sdn r Q s.e. ({q }, y) M (R', ) j r' R j r (r', ) uudelleenjärjestäen ({q }, y) M (R', ) j r' R' s.e. r (r', ) siirtymäfuntion ' määritelmän perusteell 4 ({q }, y) M (R', ) j r r' R' (r', ) = '(R', ) plutetn j nimetään '(R', ) ({q }, y) M (R', ) j r '(R', ) = R ({q }, y) M (R', ) j(r', ) M (R, ) j r R yhteenvetäen ({q }, x) = ({q }, y) M (R, ) j r R jok päättää väitteen todistuksen 9

42 -siirtymien huomioimiseksi kullekin M:n tillle R Q lsketn niiden tilojen joukko, joihin voidn päästä R:stä pelkin siirtymin: E(R)={q q voidn svutt R:stä nollll ti usemmll -siirtymällä } Riittää muutt M:n siirtymäfunktio j lkutil huomioimn mhdolliset -siirtymät '(R, ) = rr E((r, )) q ' = E({q }) 43 Epsilonin ker,,, q q q 2 q 3 {q } {q, q,q 2 } {q -q 3 } {q,q 2, q 3 } {q,q 2 } {q, q 3 }

44 Minimoitun R R R 2 R 3, 45 Luse.45 Säännöllisten kielten luokk on suljettu yhdisteen suhteen. Todistus. Olk. kielet A j A 2 säännöllisiä. Tällöin on olemss (epädeterministiset) äärelliset utomtit N = (Q,,,q, F ) j N 2 = (Q 2,, 2,q 2, F 2 ), jotk tunnistvt ko. kielet. Lditn utomtti N = (Q,,,q, F) kielen A A 2 tunnistmiseksi. Q = { q } Q Q 2, N:n lkutil on q, F = F F 2 j ( q, ), 2( q, ), ( q,) { q, q2}, Ø, q Q q Q 2 q q j q q j

46 q N q q 2 N 2 47 Luse.47 Säännöllisten kielten luokk on suljettu ktention suhteen. Todistus. Olk. kielet A j A 2 säännöllisiä. Tällöin on olemss (epädeterministiset) äärelliset utomtit N = (Q,,,q,F )j N 2 = (Q 2,, 2,q 2,F 2 ),jotk tunnistvt ko. kielet. Lditn utomtti N = (Q,,,q,F 2 )kielen A A 2 tunnistmiseksi. Q = Q Q 2, N:n lkutil on q, N:n lopputiloj ovt F 2 j ( q, ), ( q, ), ( q, ) ( q, ) { q2}, 2( q, ), q Q q F j q F j q Q 2 j q F 2

48 q q 2 N N 2 49 Luse.4. Säännöllisten kielten luokk on suljettu sulkeum-opertion suhteen. Todistus. Olk. kieli A säännöllinen. Tällöin on olemss (epädeterministinen) äärellinen utomtti N = (Q,,, q, F ), jok tunnist ko. kielen. Lditn utomtti N = (Q,,, q, F) kielen A* tunnistmiseksi. Q = { q } Q, N:n uusi lkutil on q, F = { q } F j ( q, ), ( q, ), ( q, ) ( q, ) { q}, { } Ø, q qq j q F q F j q F j q q j q q j 3

5 q q N 5 2.4 Säännölliset lusekkeet Merkittävässä semss tekstiin kohdistuvien hkujen toteuttmisess hhmojen kuvuskielenä (esim. wk, grep, Perl,...) :n kikki säännölliset lusekkeet ovt.øj ovt säännöllisiä lusekkeit, 2.on :n säännöllinen luseke kikill, 3. jos R j R 2 ovt säännöllisiä lusekkeit, niin silloin myös (R R 2 ), (R R 2 ) j R * ovt säännöllisiä lusekkeit 4

52 Kukin :n säännöllinen luseke R kuv kielen L(R). L(Ø) = Ø, 2. L() = {}, 3. L() = {}, 4. L((R R 2 )) = L(R ) L(R 2 ), 5. L((R R 2 )) = L(R )L(R 2 ) j 6. L(R *) = (L(R ))* Aito sulkeum: R + on lyhennysmerkintä RR*:lle Huom.: R + =R* Merkitään R k, kun k kpplett lusekett R on ktenoitu keskenään 53 Esimerkkejä ** = { w w sisältää vin yhden -merkin } ** = { w w sisältää lijonon } *( + )* = { w jokist w:n : seur inkin yksi } ()* = { w w on pituudeltn prillinen } = {, } * * = { w w lk j loppuu smll merkillä } ( )* = * * ( )( ) = {,,, } *Ø = Ø Ø* = { } 5

54 Kikill säännöllisillä lusekkeill R R Ø=Rj R=R Sen sijn voi oll R Rj RØ R Esimerkiksi eo. utomtill tunnistettvt etumerkittömät reliluvut voidn kuvt säännöllisellä lusekkeell missä d = ( 9 ) d + (.d + )( E (+ ) d + ), 55 Luse.54 Kieli on säännöllinen jos j vin jos se voidn kuvt säännöllisell lusekkeell. Todistetn ekvivlenssin molemmt impliktiot erikseen. Lemm.55 Säännöllisen lusekkeen kuvm kieli on säännöllinen. Todistus. Jokinen säännöllinen luseke voidn muunt äärelliseksi utomtiksi, jonk tunnistm kieli on sm kuin lusekkeen kuvm. On vin 6 sääntöä, joill säännöllisiä lusekkeit voidn muodost. Seurvt kuvt ntvt epädeterministisen utomtin kutkin sääntöä vstten. 6

56 r = Ø r = r = 57 r = s t N s N t 7

58 r = st N s N t 59 r = s* N s 8

6 r = (( ))* 6 Lemm.6 Jos kieli on säännöllinen, niin on olemss sen kuvv säännöllinen luseke. Todistus. Määritelmän mukn säännöllinen kieli on tunnistettviss (epädeterministisellä) äärellisellä utomtill, jok voidn muunt lusekeutomtiksi, jok puolestn lopult nt lkuperäisen utomtin knss ekvivlentin säännöllisen lusekkeen. Merk. RE on :n säännöllisten lusekkeiden joukko Lusekeutomtiss siirtymäfunktio on äärellinen kuvus : Q RE P(Q) (q,w)(q', w') jos q (q, r) jollkin r RE s.e. w = zw', z L(r) 9

62 Lusekeutomtti M voidn redusoid säännölliseksi lusekkeeksi, jok kuv M:n tunnistmn kielen. Tiivistetään M lusekeutomtiksi, joss on vin kksi til (tunnistettv kieli säilyy).m:n lopputilt korvtn yhdellä (-siirtymät) 2. Poistetn kikki muut tilt q pitsi lku- j lopputil. Olkoon q i j q j q:n edeltäjä- j seurjtil jollin q:n kutt kulkevll reitillä. Nyt q voidn poist j nimetä q i :n j q j :n välinen kri uudell lusekkeell. 2. Lopult utomtiss on jäljellä korkeintn kksi til. Automtin tunnistm kieli on helppo muodost. 63 2

64 q i r q s q j q i rs q j t q i r q s q j q i rt*s q j 65 r q i s q j q i r s q j r r* r s t u r*s(t* ur*s)* 2

66 67 ( )()*( ) ( ( )()*( ))* 22