T 79.148 Tietojenkäsittelyteorin perusteet 2.4 Äärellisten utomttien minimointi Voidn osoitt, että jokisell äärellisellä utomtill on yksikäsitteinen ekvivlentti (so. smn kielen tunnistv) tilmäärältään minimlinen utomtti. Annetun äärellisen utomtin knss minimointi (ekvivlentin minimiutomtin määrittäminen) on sekä käytännössä että teoreettiselt knnlt tärkeä tehtävä: siten voidn esimerkiksi selvittää, tunnistvtko kksi nnettu utomtti smn kielen. Tehtävä voidn rtkist seurvss esitettävällä tehokkll menetelmällä. enetelmän perusiden on pyrkiä smistmn keskenään selliset syötteenä nnetun utomtin tilt, joist lähtien utomtti toimii täsmälleen smoin kikill merkkijonoill. Timo Ltvl kevät 2005 T 79.148 Tietojenkäsittelyteorin perusteet Olkoon äärellinen utomtti. = (Q, Σ, δ, q 0, F) Ljennetn :n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään δ (q, x) = se q Q, joll (q, x) (q, ). :n tilt q j q ovt ekvivlentit, merkitään jos kikill x Σ on q q, δ (q, x) F jos j vin jos δ (q, x) F; toisin snoen, jos utomtti q:st j q :st lähtien hyväksyy täsmälleen smt merkkijonot. Timo Ltvl kevät 2005 T 79.148 Tietojenkäsittelyteorin perusteet Lievempi ekvivlenssiehto: tilt q j q ovt k-ekvivlentit, merkitään q k q, jos kikill x Σ, x k, on δ (q, x) F jos j vin jos δ (q, x) F; toisin snoen, jos mikään enintään k:n pituinen merkkijono ei pysty erottmn tiloj toisistn. Ilmeisesti on: (i) q 0 q joss sekä q että q ovt lopputiloj ti kumpikn ei ole; j (ii) q q joss q k q kikill k = 0, 1, 2,... (1) T 79.148 Tietojenkäsittelyteorin perusteet Algoritmi IN-FA [Äärellisen utomtin minimointi] Syöte: Äärellinen utomtti = (Q, Σ, δ, q 0, F). Tulos: :n knss ekvivlentti äärellinen utomtti, joss on minimimäärä tiloj. enetelmä: 1. [Turhien tilojen poisto.] Poist :stä kikki tilt, joit ei void svutt tilst q 0 millään syötemerkkijonoll. 2. [0-ekvivlenssi.] Osit :n jäljelle jääneet tilt khteen luokkn: ei-lopputiloihin j lopputiloihin. Esitettävä minimointilgoritmi perustuu syötteenä nnetun utomtin tilojen k-ekvivlenssiluokkien hienontmiseen (k + 1)-ekvivlenssiluokiksi kunnes svutetn täysi ekvivlenssi. Timo Ltvl kevät 2005 Timo Ltvl kevät 2005
T 79.148 Tietojenkäsittelyteorin perusteet T 79.148 Tietojenkäsittelyteorin perusteet 3. [k-ekvivlenssi (k + 1)-ekvivlenssi.] Trkst, siirrytäänkö smn ekvivlenssiluokkn kuuluvist tiloist smoill merkeillä in smnluokkisiin tiloihin. Jos kyllä, lgoritmi päättyy j minimiutomtin tilt vstvt :n tilojen luokki. uuss tpuksess hienonn ositust jkmll kunkin äskeistä ehto rikkovn ekvivlenssiluokn tilt uusiin, pienempiin ekvivlenssiluokkiin sen mukn, mihin luokkn kustkin tilst siirrytään milläkin kkosell, j toist koht 3 uudell osituksell. On helppo osoitt, että skelen 3 (k + 1):nnen suorituskerrn (k = 0, 1,...) luss kksi til kuuluu smn muodostetun osituksen luokkn, jos j vin jos ne ovt k-ekvivlenttej. Tästä seur, että lgoritmin suorituksen päättyessä, kun ositus ei enää hienone, muodostuneet tilluokt ovt täsmälleen :n tilojen -ekvivlenssiluokt (vrt. ominisuus (1.ii)). Algoritmin suoritus päättyy välttämättä in, sillä kullkin skelen 3 suorituskerrll, viimeistä lukuunottmtt, vähintään yksi tilluokk ositetn pienemmäksi. Luse 2.1 Algoritmi IN-FA muodost nnetun äärellisen utomtin knss ekvivlentin äärellisen utomtin, joss on minimimäärä tiloj. Tämä utomtti on tilojen nimeämistä pitsi yksikäsitteinen. Timo Ltvl kevät 2005 Timo Ltvl kevät 2005 T 79.148 Tietojenkäsittelyteorin perusteet T 79.148 Tietojenkäsittelyteorin perusteet Esimerkki. Trkstelln seurvn utomtin minimointi: Viheess 1 utomtist poistetn til 6, johon ei päästä millään merkkijonoll. Viheess 2 ositetn utomtin tilt 1 5 ei-lopputiloihin (luokk I) j lopputiloihin (luokk II), j trkstetn siirtymien käyttäytyminen osituksen suhteen: : 1 2, 2 4, 3 2, : 4 5 1, 2, 5, 4, Luokss I on nyt khdentyyppisiä tiloj ({1,3} j {2}), joten ositust täytyy hienont j trkst siirtymät uuden osituksen suhteen: : 1 2, 3 2, : 2 4, : 4 5 1, Nyt kunkin luokn sisältämät tilt ovt keskenään smnlisi, joten minimointilgoritmi päättyy. 2, 5, 4, Timo Ltvl kevät 2005 Timo Ltvl kevät 2005
T 79.148 Tietojenkäsittelyteorin perusteet T 79.148 Tietojenkäsittelyteorin perusteet Sdun minimiutomtin tilkvio on seurv: 2.5 Epädeterministiset äärelliset utomtit Epädeterministiset utomtit ovt muuten smnlisi kuin deterministiset, mutt niiden siirtymäfunktio δ ei liitä utomtin vnhn tiln j syötemerkin muodostmiin preihin yksikäsitteistä uutt til, vn joukon mhdollisi seurvi tiloj. Epädeterministinen utomtti hyväksyy syötteensä, jos jokin mhdollisten tilojen jono joht hyväksyvään lopputiln. Vikk epädeterministisiä utomttej ei voi sellisinn toteutt tietokoneohjelmin, ne ovt tärkeä päätösongelmien kuvusformlismi. Timo Ltvl kevät 2005 Timo Ltvl kevät 2005 T 79.148 Tietojenkäsittelyteorin perusteet Esimerkki. Epädeterministinen utomtti, jok tutkii sisältääkö syötejono osjono : q 0 q 1 q 2 q 3 Automtti hyväksyy esim. syötejonon, kosk sen on mhdollist edetä seurvsti: (q 0, ) (q 0, ) (q 1, ) (q 2, ) (q 3, ). Automtti voisi päätyä myös hylkäävään tiln: (q 0, ) (q 0, ) (q 0, ) (q 0, ) (q 0, ), mutt tällä ei ole merkitystä voidn jtell, että utomtti os ennust j vlit in prhn mhdollisen vihtoehdon. Timo Ltvl kevät 2005 T 79.148 Tietojenkäsittelyteorin perusteet ääritelmä 2.2 Epädeterministinen äärellinen utomtti on viisikko = (Q, Σ, δ, q 0, F), missä Q on äärellinen tilojen joukko; Σ on syötekkosto; δ : Q Σ P(Q) on utomtin joukkorvoinen siirtymäfunktio; q 0 Q on lkutil; F Q on (hyväksyvien) lopputilojen joukko. Timo Ltvl kevät 2005
T 79.148 Tietojenkäsittelyteorin perusteet T 79.148 Tietojenkäsittelyteorin perusteet q 0 q 1 q 2 q 3 Esimerkiksi -utomtin siirtymäfunktio: q 0 {q 0, q 1 } {q 0 } q 1 {q 2 } q 2 {q 3 } q 3 {q 3 } {q 3 } Tulukost nähdään, että esimerkiksi δ(q 0, ) = {q 0, q 1 } j δ(q 1, ) =. Epädeterministisen utomtin tilnne (q, w) voi joht suorn tilnteeseen (q, w ), merkitään (q, w) (q, w ), jos on w = w ( Σ) j q δ(q, ). Snotn myös, että tilnne (q, w ) on tilnteen (q, w) mhdollinen välitön seurj. Usemmn skelen mittiset tilnnejohdot, merkkijonojen hyväksyminen j hylkääminen ym. käsitteet määritellään smoin snoin kuin deterministisillä utomteill. Kosk yhden skelen johdon määritelmä kuitenkin nyt on toinen, niiden sisältö muovutuu hiemn eriliseksi. Timo Ltvl kevät 2005 Timo Ltvl kevät 2005 T 79.148 Tietojenkäsittelyteorin perusteet Luse 2.2 Olkoon A = L() jonkin epädeterministisen äärellisen utomtin tunnistm kieli. Tällöin on olemss myös deterministinen äärellinen utomtti, joll A = L( ). Todistus. Olkoon A = L(), = (Q, Σ, δ, q 0, F). Todistuksen iden on lti deterministinen äärellinen utomtti, jok simuloi :n toimint kikiss sen kullkin hetkellä mhdollisiss tiloiss rinnkkin. Formlisti: utomtin tilt vstvt :n tilojen joukkoj: = (ˆQ, Σ, ˆδ, ˆq 0, F), missä ˆQ = P(Q) = {S S Q}, ˆq 0 = {q 0 }, F = {S Q S sisältää jonkin q f F }, ˆδ(S, ) = q S δ(q, ). T 79.148 Tietojenkäsittelyteorin perusteet Esim. -utomtin siirtymäfunktiost sdn rivi riviltä q 0 {q 0, q 1 } {q 0 } q 1 {q 2 } q 2 {q 3 } q 3 {q 3 } {q 3 } {q 0 } {q 0, q 1 } {q 0 } {q 0, q 1 } {q 0, q 1 } {q 0, q 2 } {q 0, q 2 } {q 0, q 1, q 3 } {q 0 } {q 0, q 1, q 3 } {q 0, q 1, q 3 } {q 0, q 2, q 3 } {q 0, q 2, q 3 } {q 0, q 1, q 3 } {q 0, q 3 } {q 0, q 3 } {q 0, q 1, q 3 } {q 0, q 3 } Timo Ltvl kevät 2005 Timo Ltvl kevät 2005
T 79.148 Tietojenkäsittelyteorin perusteet T 79.148 Tietojenkäsittelyteorin perusteet q 0 q 1 q 2 q 3 q 0 q 0, q 1 q 0, q 2 q 0, q 1, q 3 q 0, q 2, q 3 q 0, q 3 Esimerkiksi -utomttiin sovellettun em. konstruktio tuott seurvn deterministisen utomtin (vin lkutilst svutettvt tilt esitetty): q 0 q 0, q 1 q 0, q 2 q 0, q 1, q 3 q 0, q 2, q 3 inimoimll j nimeämällä tilt uudelleen tämä yksinkertistuu muotoon: s 0 s 1 s 2 s 3, q 0, q 3 Timo Ltvl kevät 2005 Timo Ltvl kevät 2005 T 79.148 Tietojenkäsittelyteorin perusteet T 79.148 Tietojenkäsittelyteorin perusteet [Todistus jtkuu.] Trkstetn, että utomtti todell on ekvivlentti :n knss, so. että L( ) = L(). ääritelmien mukn on: j x L() joss (q 0, x) (q f, ) jollkin q f F x L( ) joss ({q 0 }, x) (S, ) Osoitetn siis, että kikill x Σ j q Q on: j S sis. jonkin q f F. Väite (2): (q 0, x) (q, ) joss ({q 0 }, x) (S, ) j q S. Väitteen (2) todistus tehdään induktioll merkkijonon x pituuden suhteen. (i) Tpus x = 0: (q 0, ) (q, ) joss q = q 0 ; smoin ({q 0 }, ) (S, ) joss S = {q 0 }. (q 0, x) (q, ) joss ({q 0 }, x) (S, ) j q S. (2) Timo Ltvl kevät 2005 Timo Ltvl kevät 2005
T 79.148 Tietojenkäsittelyteorin perusteet Väite (2): (q 0, x) (q, ) joss ({q 0 }, x) (S, ) j q S. (ii) Induktioskel: Olkoon x = y; oletetn, että väite (2) pätee y:lle. Tällöin: (q 0, x) = (q 0, y) (q, ) joss q Q s.e. (q 0, y) (q, ) j (q, ) (q, ) joss q Q s.e. (q 0, y) (q, ) j (q, ) (q, ) joss (ind.ol.) q Q s.e. ({q 0 }, y) (S, ) j q S j q δ(q, ) joss ({q 0 }, y) (S, ) j q S s.e. q δ(q, ) joss ({q 0 }, y) (S, ) j q q S δ(q, ) = ˆδ(S, ) joss ({q 0 }, y) (S, ) j q ˆδ(S, ) = S joss ({q 0 }, y) (S, ) j (S, ) (S, ) j q S joss ({q 0 }, x) = ({q 0 }, y) (S, ) j q S. T 79.148 Tietojenkäsittelyteorin perusteet -utomtit Jtkoss trvitn vielä yksi äärellisten utomttien mllin ljennus: epädeterministinen äärellinen utomtti, joss sllitn -siirtymät. Tällisell siirtymällä utomtti tekee epädeterministisen vlinnn eri jtkovihtoehtojen välillä lukemtt yhtään syötemerkkiä. Esimerkiksi kieli {, } voitisiin tunnist seurvll -utomtill: Timo Ltvl kevät 2005 Timo Ltvl kevät 2005 T 79.148 Tietojenkäsittelyteorin perusteet T 79.148 Tietojenkäsittelyteorin perusteet Formlisti: -utomtti on viisikko = (Q, Σ, δ, q 0, F), missä siirtymäfunktio δ on kuvus δ : Q (Σ {}) P(Q). uut määritelmät ovt kuten tvllisill epädeterministisillä äärellisillä utomteill, pitsi suorn tilnnejohdon määritelmä: -utomttien tpuksess reltio (q, w) (q, w ) Lemm 2.4 Olkoon A = L() jollkin -utomtill. Tällöin on olemss myös -siirtymätön epädeterministinen utomtti, joll A = L( ). Todistus. Olkoon = (Q, Σ, δ, q 0, F) jokin -utomtti. Automtti toimii muuten ivn smoin kuin, mutt se hrpp -siirtymien yli suorittmll kustkin tilst lähtien vin ne idot siirtymät, jotk ovt siitä käsin jotkin -siirtymäjono pitkin svutettviss. on voimss, jos on (i) w = w ( Σ) j q δ(q, ); ti (ii) w = w j q δ(q, ). Timo Ltvl kevät 2005 Timo Ltvl kevät 2005
T 79.148 Tietojenkäsittelyteorin perusteet T 79.148 Tietojenkäsittelyteorin perusteet Formlisti määritellään nnetun tiln q Q -sulkeum (q) utomtiss kvll (q) = {q Q (q, ) (q, )}, Poistmll edellisen konstruktion mukisesti -siirtymät -utomtist sdn tvllinen epädeterministinen utomtti, esim.: so. joukkoon (q) kuuluvt kikki ne utomtin tilt, jotk ovt svutettviss tilst q pelkillä -siirtymillä. Automtin siirtymäsäännöt voidn nyt kuvt seurvsti: missä = (Q, Σ, ˆδ, q 0, F), ˆδ(q, ) = δ(q, ); q (q) F = {q Q (q) F }. Timo Ltvl kevät 2005 Timo Ltvl kevät 2005