T-79.48 Syksy 22 Tietojenkäsittelyteorin perusteet Hrjoitus 4 Demonstrtiotehtävien rtkisut 4. Tehtävä: Ldi epädeterministinen äärellinen utomtti, jok test onko nnetun inäärijonon kolmnneksi viimeinen merkki, j determinisoi se. Vstus: 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 llolevss 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 = P(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 E F C H
5. Tehtävä: 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. Vstus: 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 L(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 Ā :, 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: M A B = (Q, Σ, δ, s, F ), missä 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 A on välttämättä olemss, sillä mitä thns epädeterminististä utomtti kohden voidn muodost smn kielen tunnistv deterministinen utomtti.
M B :, Kielen A B hyväksyvä utomtti on seurvnlinen: M A B :,, 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ä):
M Ā B : {q, q 5 } {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: 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 } Khden utomtin leikkus voidn määritellä myös suorn käyttäen smntpist menetelmää kuin seurvss tehtävässä. 6. Tehtävä: (soveltv) Monet tiedonsiirtoprotokollien nlysointiin käytettävät menetelmät muodostvt järjestelmän til-vruuden, jot tutkimll etsitään ongelmi, esimerkiksi lukkiumi. Yksi tp muodost til-vruus on mllint kutkin protokolln ospuolt erikseen tilkoneell j yhdistää nämä yhdeksi isoksi tilkoneeksi. Olkoon M = (K, Σ,, s, ) j M 2 = (K 2, Σ 2, 2, s 2, ) epädeterministisiä tilkoneit. Yhdistetty tilkone M = (K, Σ,, s, ) muodostetn seurvsti: K = K K 2 Σ = Σ Σ 2 s = (s, s 2 ) Siirtymä (p, p 2 ) (q, q 2 ) kuuluu reltioon mikäli jokin seurvist ehdoist toteutuu:. Σ Σ 2, (p,, q ) j (p 2,, q 2 ) 2. 2. Σ, / Σ 2, (p,, q ) j p 2 = q 2. 3. / Σ, Σ 2, (p 2,, q 2 ) 2 j p = q. Olkoot M j M 2 kuten ll. Muodost yhdistetty tilkone M j osoit, että järjestelmässä on lukkium (eli til, jost ei lähde yhtään siirtymää).
M q scmd rns rns2 q q2 int q3 p p4 rns2 scmd p rns p2 M2 p5 rns rns2 p3 p6 Vstus: Yhdistetyn tilkoneen tiloiksi otetn kikki mhdolliset prit, jotk voidn muodost lkuperäisten tilkoneiden tiloist. Esim, mikäli K = {q, q 2, q 3 } j K 2 = {p, p 2 }, niin yhdistetyn koneen tilt ovt: K = {(q, p ), (q 2, p ), (q 3, p ), (q, p 2 ), (q 2, p 2 ), (q 3, p 2 )}. Konseptulisesti koneiden siirtymät jetn khteen luokkn, sisäisiin j ulkoisiin. Siirtymä on sisäinen, mikäli siihen liittyvä symoli ei kuulu toisen tilkoneen kkostoon. int Tehtävännnoss ino M :n sisäinen siirtymä on q 3 q. Tilkoneell M 2 on neljä sisäistä siirtymää, ne jotk tehdään symolill int 2. Mikäli siirtymän symoli esiintyy molemmiss tilkoneiss, on siirtymä ulkoinen. Yhdistetyn tilkoneen siirtymäreltion muodostmissäännöt trkoittvt käytännössä sitä, että tilkoneet synkronoivt toimintns ulkoisten siirtymien kutt. Tilkone voi tehdä sisäisiä siirtymiä milloin vin, mutt ulkoinen siirtymä voidn tehdä vin, kun molemmt koneet tekevät smn siirtymän smn ikn. Tehtävän tilkoneiden tiljoukot ovt K = {q, q, q 2, q 3 } K 2 = {p, p, p 2, p 3, p 4, p 5, p 6, p 7 },
joten yhdistetyssä tilkoneess on 4 8 = 32 til. Huomttvn moni näistä tiloist ei kuitenkn void koskn svutt, joten til-vruus supistuu muotoon: K = {(q, p ), (q, p ), (q, p 2 ), (q, p 4 ), (q 2, p 3 ), (q 3, p 7 ), (q, p 7 ), (q 3, p )} Tilkoneen siirtymät on esitetty ll olevss kuvss. (q, p2) (q, p) scmd (q, p) int (q, p4) rns (q2, p3) rns2 (q3, p7) int (q, p7) (q3, p) Kuvst huomtn, että tilst (q, p 2 ) ei johd yhtään krt eteenpäin. Kyseiseen tiln on mhdolist päästä lkutilst suorituksell (q, p ) scmd (q, p ) (q, p 2 ), joten systemissä on svutettviss olev lukkium. Tehtävässä ei ole määritelty lopputiloj tilkoneille, kosk tiedonsiirtoprotokolli nlysoitess ei yleensä oll kiinnostuneist yksittäisistä suorituksit vn käsitellään äärettömän mittisi viestijonoj. Tvlliset tilkoneet sllivt inostn äärellisen (tosin mielivltisen pitkän) syötteen, j äärettömiä snoj tunnistmn käytetäänkin vhvempi utomttiluokki, yleensä Büchi-utomttej. Nämä utomtit eivät kuitenkn kuulu tämän kurssin sioihin, j niihin pääsee tutustumn kurssill T-79.79 Rinnkkiset j hjutetut järjestelmät. Liite: tilkoneen minimointi Tilkoneen determinisointilgoritmill sdn tehtävän 5. tilkone M Ā Ā muutettu seurvn muotoon: A C E G B D 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: F
-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) 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 5. 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.