ICS-C2 Tietojenkäsittelyteori Kevät 25 Kierros 3, 26. 3. tmmikuut Demonstrtiotehtävien rtkisut D: Ldi epädeterministinen äärellinen utomtti, jok test onko nnetun inäärijonon kolmnneksi viimeinen merkki, j determinisoi se. Rtkisu: Kielen L = {w {,} w:n kolmnneksi viimeinen merkki on } tunnist epädeterministinen utomtti M = (Q,Σ,δ,q,F), missä Q = {q,q 2,q 3,q 4 } Σ = {,} F = {q 4 }, j siirtymäfunktio δ on määritelty kuten ll olevss kuvss:,,, q q 2 q 3 q4 Konett M vstv deterministinen utomtti M muodostetn siten, että M :n tiloiksi otetn kikki Q:n osjoukot (Q = (Q)). Tiljoukkoihin koodtn kikki mhdolliset M:n lskennt. Esimerkiksi kun M on lukenut syötteen, voi se oll joko tilss q ti q 3. Niinpä koneen M täytyy smll syötteellä päätyä tiln {q,q 3 }. Muodostetn tilnsiirtofunktio δ : q uusi nimi {q } {q } {q,q 2 } A {q,q 2 } {q,q 3 } {q,q 2,q 3 } B {q,q 3 } {q,q 4 } {q,q 2,q 4 } C {q,q 2,q 3 } {q,q 3,q 4 } {q,q 2,q 3,q 4 } D {q,q 3,q 4 } {q,q 4 } {q,q 2,q 4 } E {q,q 4 } {q } {q,q 2 } F {q,q 2,q 3,q 4 } {q,q 3,q 4 } {q,q 2,q 3,q 4 } G {q,q 2,q 4 } {q,q 3 } {q,q 2,q 3 } H Automtin M lopputiloiksi otetn kikki ne tilt, joiss esiintyy jokin M:n lopputiloist. Ylläolevss tulukoss ne on merkitty rstill.
B D G A F C H E D2: Osoit, että jos kieli L {,} voidn tunnist äärellisellä utomtill, niin smoin voidn tunnnist myös kieli L R = {w R w L}. (Merkintä w R trkoitt merkkijonon w käänteisjono, ts. merkkijono, joss w:n merkit ovt käänteisessä järjestyksessä.) Rtkisu: Olkoon M = (Q,Σ,δ,q,F) äärellinen utomtti, jok tunnist kielen L (eli L = (M)). Muodostetn tämän perusteell utomtti M = (Q {q },Σ,δ,q,{q }) missä δ = {(q i,,q j ) δ(q j,) = q i } {(q,,q i) q i F} j q / Q on uusi lkutil. Suorsnisesti snottun yllä olev määritelmä trkoitt sitä, että kielen L R tunnistv utomtti sdn L:n tunnistvst utomtist siten, että utomtin siirtymät käännetään ympäri, siihen lisätään yksi uusi til uudeksi lkutilksi, setetn uudest tilst -siirtymät kikkiin lkuperäisen utomtin lopputiloihin j inoksi lopputilksi otetn lkuperäisen utomtin lkutil. Automtti M loitt lskennn syötteellä w R siirtymällä epädeterministisesti johonkin lkuperäisen utomtin hyväksyvistä tiloist. Sen jälkeen se suoritt koneen M siirtymiä käännetyssä järjestyksessä. Syöte hyväksytään mikäli se näin tehdessään päätyy lopult lkuperäiseen lkutiln, kosk tässä tpuksess utomtill M on olemss hyväksyvä lskent syötteelle w. 2
D3: Osoit, että jos kkoston Σ = {, } kielet A j B voidn tunnist äärellisillä utomteill, niin smoin voidn tunnist myös kielet Ā = Σ A, A B j A B. Rtkisu: Olkoon A j B kkoston Σ = {, } kieliä, jotk voidn tunnist äärellisillä utomteill. Hlutn osoitt, että myös kielet Ā = Σ A, A B j A B voidn tunnist äärellisillä utomteill. Ā: Olkoon M A = (Q,Σ,δ,q,F) deterministinen tilkone, jok tunnist kielen A. Muodostetn tästä kielen komplementin tunnistv utomtti MĀ: MĀ = (Q,Σ,δ,q,Q F). Kone MĀ toimii muuten täsmälleen smll tp kuin M A, mutt hyväksyvät tilt on muutettu hylkääviksi j päinvstoin. Näin ollen MĀ hyväksyy ne snt, jotk M A hylkää j hylkää ne, jotk M A hyväksyy, joten (MĀ) = Ā. Trkstelln esimerkiksi utomtti, jok tunnist kielen: A = {w Σ w on muoto x, missä x Σ }. Kieleen A kuuluvt kikki snt, jotk lkvt -kirjimell j päättyvät -kirjimeen. All esitetään utomtit M A j MĀ: M A : MĀ:,, M A on välttämättä olemss, sillä mitä thns epädeterminististä utomtti kohden voidn muodost smn kielen tunnistv deterministinen utomtti. 3
Tässä on huomttv, että esitetty konstruktio toimii vin, jos M A on deterministinen. (Yritä etsiä yksinkertinen vstesimerkki epädeterministiselle tpukselle.) A B: Olkoot M A = (Q A,Σ,δ A,s A,F A ) j M B = (Q B,Σ,δ B,s B,F B ) äärelliset utomtit, jotk tunnistvt kielet A j B. Oletetn lisäksi, että tiljoukot ovt erilliset, eli Q A Q B = /. Tämä oletus voidn tehdä, sillä trvittess voidn toisen koneen tilt nimetä uudelleen. Muodostetn epädeterministinen tilkone M A B seurvsti: missä M A B = (Q,Σ,δ,s,F), Q = Q A Q B {s} F = F A F B δ = δ A δ B {(s,,s ),(s,,s )}. Kone M A B muodostetn siis yhdistämällä koneet M A j M B. Til s on uusi lkutil, jost voidn siirtyä tyhjällä siirtymällä joko M A :n ti M B :n lkutiln. Jos sn x kuuluu kieleen A, M A B hyväksyy sen siirtymällä luksi tiln s A j suorittmll sen jälkeen smt siirrot kuin kone M A olisi suorittnut. Mikäli x B, siirrytään tiln s B j toimitn kuten M B. Trkstelln edellisessä kohdss esiteltyä utomtti M A sekä uutt utomtti M B, jok tunnist kielen: B = {w Σ w : ssä esiintyy osjono }. M B :, Kielen A B hyväksyvä utomtti on seurvnlinen: M A B :,, 4
M Ā B : {q, q5} Usein lisätään M A B :hen myös uusi lopputil f, j lisätään sinne tyhjä siirtymä kikist lkuperäisistä lopputiloist q F A F B. Tällöin F = { f }. A B: Väite seur suorn khdest edellisestä kohdst, sillä DeMorgnin sääntöjen perusteell: A B = A B. Trkstelln vielä yllä esiteltyjä koneit M A j M B, j muodostetn kone M A B käyttäen DeMorgnin sääntöä: MĀ: M B:, MĀ B :, q q 2 q 3 q 4,, q 5 q q 7 6 Koneen MĀ B komplementointi vrten se täytyy ensin determinisoid (kone on jo minimoitu, yksityiskohdt liitteenä): {q 2, q 5 } {q 4, q 7 }, {q 3, q x } {q 4, q 6 } {q 2, q 7 } Nyt sdn hluttu kone vihtmll ylläolevn koneen hyväksyvät tilt hylkääviksi j päinvstoin: 5
M A B : {q, q 5 } {q 2, q 5 } {q 4, q 7 }, {q 3, q x } {q 4, q 6 } {q 2, q 7 } muutettu seu- Liite: tilkoneen minimointi Tilkoneen determinisointilgoritmill sdn tehtävän tilkone MĀ B rvn muotoon: A C E G B D F H, Nyt hlutn löytää pienin deterministinen tilkone, jok tunnist smn kielen. Luennoll esitetty lgoritmi toimii siten, että utomtin tilojen välille määritellään ekvivlenssireltio, jot viheittin trkennetn, kunnes hluttu lopputulos svutetn. Algoritmin ensimmäisessä viheess poistetn kikki tilt, joit ei void svutt lkutilss. Tässä utomtiss sellisi ei ole, joten utomtti pysyy vielä ennlln. Seurvksi muodostetn ensimmäinen ekvivlenssiositus siten, että utomtin lopputiloist tehdään yksi luokk j kikist muist tiloist toinen: -ekvivlenssi: Luokk Til I A C (I) B (I) B G (I) H (I) C C (I) D (I) D C (I) E (II) F F (I) E (II) G G (I) B (I) H H (I) H (I) II E F (I) E (II) 6
Kviost huomtn, että I-luokn tiloist D j F siirrytään :llä II-luokn tiln E, kun ts kikist muist tiloist -siirtymä vie johonkin I-luokkn kuuluvn tiln. Erotetn nyt kksi erilist til omksi luokkseen: -ekvivlenssi: Luokk Til I A C (I) B (I) B G (I) H (I) C C (I) D (III) G G (I) B (I) H H (I) H (I) II E F (III) E (II) III D C (I) E (II) F F (III) E (II) Tällä kert tilt C j F eivät sovi luokkiins, j ne täytyy erott omiksi luokikseen. Näin jtketn, kunnes lopult kikki luokt ovt konsistenttej: 2-ekvivlenssi: 3-ekvivlenssi: Luokk Til Luokk Til I A C (IV) B (I) I A C (IV) B (VI) B G (I) H (I) II E F (V) E (II) G G (I) B (I) III D C (IV) E (II) H H (I) H (I) IV C C (IV) D (III) II E F (V) E (II) V F F (V) E (II) III D C (IV) E (II) VI B G (VI) H (VI) IV C C (IV) D (III) G G (VI) B (VI) V F F (V) E (II) H H (VI) H (VI) Kikki luokt ovt nyt konsistentit, j voidn muodost tilkone, jonk tiloin ovt syntyneet ekvivlenssiluokt. Minimoitu kone on esitetty kvion tehtävän vstuksen yhteydessä. Terminä k-ekvivlenssi trkoitt sitä, että kikki smn luokkn kuuluvt tilt käsittelevät smll tp kikki korkeintn k merkkiä pitkiä syötteitä. Jos p k q j tilst p lähtevä k:n pituinen lskent päätyy lopputiln, niin myös q:st lähtevä smll syötteellä tehty lskent päätyy hyväksyvään tiln, j päinvstoin. 7