T 79.1001/1002 Tietojenkäsittelyteorin perusteet 2.3 Äärellisen utomtin käsitteen formlisointi eknistinen mlli: syötenuh: nuhpää: ohjusyksikkö: i n p δ u q 1 q 2 Äärellinen utomtti koostuu äärellistilisest ohjusyksiköstä, jonk toimint säätelee utomtin siirtymäfunktio δ, sekä merkkipikkoihin jetust syötenuhst j nämä yhdistävästä nuhpäästä, jok kullkin hetkellä osoitt yhtä syötenuhn merkkiä. Pekk Orponen syksy 2005 q 0 t T 79.1001/1002 Tietojenkäsittelyteorin perusteet Automtin toimint : Automtti käynnistetään erityisessä lkutilss q 0, siten että trksteltv syöte on kirjoitettun syötenuhlle j nuhpää osoitt sen ensimmäistä merkkiä. Yhdessä toimint-skeless utomtti lukee nuhpään kohdll olevn syötemerkin, päättää ohjusyksikön tiln j luetun merkin perusteell siirtymäfunktion mukisesti ohjusyksikön uudest tilst, j siirtää nuhpäätä yhden merkin eteenpäin. Automtti pysähtyy, kun viimeinen syötemerkki on käsitelty. Jos ohjusyksikön til tällöin kuuluu erityiseen (hyväksyvien) lopputilojen joukkoon, utomtti hyväksyy syötteen, muuten hylkää sen. Automtin tunnistm kieli on sen hyväksymien merkkijonojen joukko. Pekk Orponen syksy 2005 T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 Tietojenkäsittelyteorin perusteet Täsmällinen muotoilu: Äärellinen utomtti on viisikko = (Q,Σ,δ,q 0,F), missä Q on utomtin tilojen äärellinen joukko; Σ on utomtin syötekkosto; δ : Q Σ Q on utomtin siirtymäfunktio; q 0 Q on utomtin lkutil; F Q on utomtin (hyväksyvien) lopputilojen joukko. Esimerkki. Relilukuutomtin formli esitys: = ({q 0,...,q 7,error},{0,1,...,9,.,E,e,+,-}, δ,q 0,{q 2,q 3,q 6 }), missä δ on kuten iemmin tulukoss; esim. δ(q 0,0) = δ(q 0,1) = = δ(q 0,9) = q 1, δ(q 0,.) = q 7, δ(q 0,E) = δ(q 0,e) = error, δ(q 1,.) = q 2, δ(q 1,E) = δ(q 1,e) = q 4, jne. Pekk Orponen syksy 2005 Pekk Orponen syksy 2005
T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 Tietojenkäsittelyteorin perusteet Tilnne (q,w) joht suorn tilnteeseen (q,w ), merkitään (q,w) (q,w ), Automtin tilnne on pri (q,w) Q Σ ; erityisesti utomtin lkutilnne syötteellä x on pri (q 0,x). Intuitio: q on utomtin til j w on syötemerkkijonon jäljellä olev, so. nuhpäästä oikelle sijitsev os. jos on w = w ( Σ) j q = δ(q,). Tällöin snotn myös, että tilnne (q,w ) on tilnteen (q,w) välitön seurj. Intuitio: utomtti ollessn tilss q j lukiessn nuhll olevn merkkijonon w = w ensimmäisen merkin siirtyy tiln q j siirtää nuhpäätä yhden skelen eteenpäin, jolloin nuhlle jää merkkijono w. Jos utomtti on yhteydestä selvä, reltiot voidn merkitä yksinkertisesti (q,w) (q,w ). Pekk Orponen syksy 2005 Pekk Orponen syksy 2005 T 79.1001/1002 Tietojenkäsittelyteorin perusteet Tilnne (q,w) joht tilnteeseen (q,w ) t. tilnne (q,w ) on tilnteen (q, w) seurj, merkitään (q,w) (q,w ), jos on olemss välitilnnejono (q 0,w 0 ), (q 1,w 1 ),..., (q n,w n ), n 0, siten että (q,w) = (q 0,w 0 ) (q 1,w 1 ) (q n,w n ) = (q,w ) Erikoistpuksen n = 0 sdn (q,w) (q,w) millä thns tilnteell (q, w). Jälleen, jos utomtti on yhteydestä selvä, merkitään yksinkertisesti T 79.1001/1002 Tietojenkäsittelyteorin perusteet Automtti hyväksyy merkkijonon x Σ, jos on voimss muuten hylkää x:n. (q 0,x) (q f,) jollkin q f F; Toisin snoen: utomtti hyväksyy x:n, jos sen lkutilnne syötteellä x joht, syötteen loppuess, johonkin hyväksyvään lopputilnteeseen. Automtin tunnistm kieli määritellään: L() = {x Σ (q 0,x) (q f,) jollkin q f F}. (q,w) (q,w ). Pekk Orponen syksy 2005 Pekk Orponen syksy 2005
T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 Tietojenkäsittelyteorin perusteet Esimerkki: merkkijonon 0.25E2 käsittely relilukuutomtill: (q 0,0.25E2) (q 1,.25E2) (q 2,25E2) (q 3,5E2) (q 3,E2) (q 4,2) (q 6,). Kosk q 6 F = {q 2,q 3,q 6 }, on siis 0.25E2 L(). 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. Pekk Orponen syksy 2005 Pekk Orponen syksy 2005 T 79.1001/1002 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 syksy 2005 T 79.1001/1002 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,1,2,... Esitettävä minimointilgoritmi perustuu syötteenä nnetun utomtin tilojen k-ekvivlenssiluokkien hienontmiseen (k + 1)-ekvivlenssiluokiksi kunnes svutetn täysi ekvivlenssi. Pekk Orponen syksy 2005 (1)
T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 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. 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. Pekk Orponen syksy 2005 Pekk Orponen syksy 2005 T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 Tietojenkäsittelyteorin perusteet 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. 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 3 4 5 6 I : 1 2,I 3,I 2 4,II 2,I 3 2,I 3,I II : 4 3,I 5,II 5 1,I 4,II Pekk Orponen syksy 2005 Pekk Orponen syksy 2005
T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 Tietojenkäsittelyteorin perusteet 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 4 5 6 I : 1 2,II 3,I 3 2,II 3,I II : 2 4,III 2,II III : 4 3,I 5,III 5 1,I 4,III Nyt kunkin luokn sisältämät tilt ovt keskenään smnlisi, joten minimointilgoritmi päättyy. Sdun minimiutomtin tilkvio on seurv: I II III Pekk Orponen syksy 2005 Pekk Orponen syksy 2005 T 79.1001/1002 Tietojenkäsittelyteorin perusteet 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 syksy 2005 T 79.1001/1002 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. Pekk Orponen syksy 2005
T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 Tietojenkäsittelyteorin perusteet ääritelmä 2.2 Epädeterministinen äärellinen utomtti on viisikko missä = (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. q 0 q 1 q 2 q 3 Esimerkiksi -utomtin siirtymäfunktio: q 0 {q 0,q 1 } {q 0 } q 1 /0 {q 2 } q 2 {q 3 } /0 q 3 {q 3 } {q 3 } Tulukost nähdään, että esimerkiksi δ(q 0,) = {q 0,q 1 } j δ(q 1,) = /0. Pekk Orponen syksy 2005 Pekk Orponen syksy 2005 T 79.1001/1002 Tietojenkäsittelyteorin perusteet 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. T 79.1001/1002 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 Pekk Orponen syksy 2005 Pekk Orponen syksy 2005
T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 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 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: q 0,q 3 s 0 s 1 s 2 s 3, q 0,q 3 Pekk Orponen syksy 2005 Pekk Orponen syksy 2005 T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 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 ({q0 },x) (S,), missä S sis. jonkin q f F. Osoitetn siis, että kikill x Σ j q Q on: (q 0,x) (q,) joss ({q 0 },x) (S,) j q S. (2) 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 }. Pekk Orponen syksy 2005 Pekk Orponen syksy 2005
T 79.1001/1002 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. T 79.1001/1002 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: Pekk Orponen syksy 2005 Pekk Orponen syksy 2005 T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 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,). Pekk Orponen syksy 2005 Pekk Orponen syksy 2005
T 79.1001/1002 Tietojenkäsittelyteorin perusteet T 79.1001/1002 Tietojenkäsittelyteorin perusteet Formlisti määritellään nnetun tiln q Q -sulkeum (q) utomtiss kvll (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,); Poistmll edellisen konstruktion mukisesti -siirtymät -utomtist sdn tvllinen epädeterministinen utomtti, esim.: 1 2 3 4 5 6 7 8 9 1 4 6 8 F = {q Q (q) F /0}. Pekk Orponen syksy 2005 Pekk Orponen syksy 2005