T 79.00/002 Tietojenkäsittelyteorin perusteet 2. Ää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. Pekk Orponen kevät 200 T 79.00/002 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. Pekk Orponen kevät 200 T 79.00/002 Tietojenkäsittelyteorin perusteet Lievempi ekvivlenssiehto: tilt q j q ovt k-ekvivlentit, merkitään jos kikill x Σ, x k, on q k q, δ (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,,2,... () T 79.00/002 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ä:. [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 + )-ekvivlenssiluokiksi kunnes svutetn täysi ekvivlenssi. Pekk Orponen kevät 200 Pekk Orponen kevät 200
T 79.00/002 Tietojenkäsittelyteorin perusteet T 79.00/002 Tietojenkäsittelyteorin perusteet. [k-ekvivlenssi (k + )-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 uudell osituksell. On helppo osoitt, että skelen (k + ):nnen suorituskerrn (k = 0,,...) 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 (.ii)). Algoritmin suoritus päättyy välttämättä in, sillä kullkin skelen suorituskerrll, viimeistä lukuunottmtt, vähintään yksi tilluokk ositetn pienemmäksi. Luse 2. 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. Pekk Orponen kevät 200 Pekk Orponen kevät 200 T 79.00/002 Tietojenkäsittelyteorin perusteet T 79.00/002 Tietojenkäsittelyteorin perusteet Esimerkki. Trkstelln seurvn utomtin minimointi: Viheess utomtist poistetn til, johon ei päästä millään merkkijonoll. Viheess 2 ositetn utomtin tilt 5 ei-lopputiloihin (luokk I) j lopputiloihin (luokk II), j trkstetn siirtymien käyttäytyminen osituksen suhteen: 2 5 I : 2,I,I 2,II 2,I 2,I,I II :,I 5,II 5,I,II Luokss I on nyt khdentyyppisiä tiloj ({,} j {2}), joten ositust täytyy hienont j trkst siirtymät uuden osituksen suhteen: 2 5 I : 2,II,I 2,II,I II : 2,III 2,II III :,I 5,III 5,I,III Nyt kunkin luokn sisältämät tilt ovt keskenään smnlisi, joten minimointilgoritmi päättyy. Pekk Orponen kevät 200 Pekk Orponen kevät 200
T 79.00/002 Tietojenkäsittelyteorin perusteet T 79.00/002 Tietojenkäsittelyteorin perusteet Sdun minimiutomtin tilkvio on seurv: I II III 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. Pekk Orponen kevät 200 Pekk Orponen kevät 200 T 79.00/002 Tietojenkäsittelyteorin perusteet Esimerkki. Epädeterministinen utomtti, jok tutkii sisältääkö syötejono osjono : q 0 q q 2 q Automtti hyväksyy esim. syötejonon, kosk sen on mhdollist edetä seurvsti: (q 0,) (q 0,) (q,) (q 2,) (q,). 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. Pekk Orponen kevät 200 T 79.00/002 Tietojenkäsittelyteorin perusteet ääritelmä 2.2 Epädeterministinen äärellinen utomtti on viisikko missä Pekk Orponen kevät 200 = (Q,Σ,δ,q 0,F), 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.
T 79.00/002 Tietojenkäsittelyteorin perusteet T 79.00/002 Tietojenkäsittelyteorin perusteet q 0 q q 2 q Esimerkiksi -utomtin siirtymäfunktio: q 0 {q 0,q } {q 0 } q /0 {q 2 } q 2 {q } /0 q {q } {q } Tulukost nähdään, että esimerkiksi δ(q 0,) = {q 0,q } j δ(q,) = /0. 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. Pekk Orponen kevät 200 Pekk Orponen kevät 200 T 79.00/002 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: missä ˆQ = (ˆQ,Σ,ˆδ,ˆq0, F), = P (Q) = {S S Q}, ˆq 0 = {q 0 }, F = {S Q S sisältää jonkin q f F}, [ ˆδ(S,) = δ(q,). q S T 79.00/002 Tietojenkäsittelyteorin perusteet q 0 q q 2 q Esimerkiksi -utomttiin sovellettun em. konstruktio tuott seurvn deterministisen utomtin (vin lkutilst svutettvt tilt esitetty): q 0 q 0,q q 0,q 2 q 0,q,q q 0,q q 0,q 2,q Pekk Orponen kevät 200 Pekk Orponen kevät 200
T 79.00/002 Tietojenkäsittelyteorin perusteet T 79.00/002 Tietojenkäsittelyteorin perusteet q 0 q 0,q q 0,q 2 q 0,q,q q 0,q q 0,q 2,q [Todistus jtkuu.] Trkstetn, että utomtti todell on ekvivlentti :n knss, so. että L( ) = L(). ääritelmien mukn on: x L() joss (q 0,x) (q f,) jollkin q f F j inimoimll j nimeämällä tilt uudelleen tämä yksinkertistuu muotoon: x L( ) joss ({q0 },x) (S,), missä S sis. jonkin q f F. Osoitetn siis, että kikill x Σ j q Q on: s 0 s s 2 s, (q 0,x) (q,) joss ({q 0 },x) (S,) j q S. (2) Pekk Orponen kevät 200 Pekk Orponen kevät 200 T 79.00/002 Tietojenkäsittelyteorin perusteet 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 }. T 79.00/002 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 Q s.e. ({q 0 },y) ({q 0 },y) ({q 0 },y) ({q 0 },y) ({q 0 },y) (q,) j (q,) (q, ) joss (ind.ol.) (S,) j q S j q δ(q,) joss (S,) j q S s.e. q δ(q,) joss (S,) j q S q S δ(q,) = ˆδ(S,) joss (S,) j q ˆδ(S,) = S joss (S,) j (S,) (S,) j q S joss ({q 0 },x) = ({q 0 },y) (S,) j q S. Pekk Orponen kevät 200 Pekk Orponen kevät 200
T 79.00/002 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: T 79.00/002 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 ) on voimss, jos on (i) w = w ( Σ) j q δ(q,); ti (ii) w = w j q δ(q,). Pekk Orponen kevät 200 Pekk Orponen kevät 200 T 79.00/002 Tietojenkäsittelyteorin perusteet T 79.00/002 Tietojenkäsittelyteorin perusteet Formlisti määritellään nnetun tiln q Q -sulkeum (q) utomtiss kvll Lemm 2. 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. (q) = {q Q (q,) (q,)}, 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 /0}. Pekk Orponen kevät 200 Pekk Orponen kevät 200
T 79.00/002 Tietojenkäsittelyteorin perusteet Poistmll edellisen konstruktion mukisesti -siirtymät -utomtist sdn tvllinen epädeterministinen utomtti, esim.: 2 5 7 8 9 8 Pekk Orponen kevät 200