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