TAMPEREEN YLIOPISTO Vlinnisten opintojen syventäviin opintoihin kuuluv tutkielm Luri Kumpulinen Büchin utomteist Luonnontieteiden tiedekunt Tietojenkäsittelytieteiden tutkinto-ohjelm Huhtikuu 2017
Tmpereen yliopisto Luonnontieteiden tiedekunt KUMPULAINEN, LAURI: Büchin utomteist Vlinnisten opintojen syventäviin opintoihin kuuluv tutkielm, 41 s. Tietojenkäsittelytieteiden tutkinto-ohjelm Huhtikuu 2017 Tiivistelmä Tutkielm käsittelee Büchin utomttej. Ensiksi esitetään kkostot, merkkijonot j kielet, jonk jälkeen edetään deterministiseen j epädeterministiseen äärelliseen utomttin. Osoitetn, että näiden ilmisuvoim on sm, j todistetn Kleenen luse äärelliselle utomtille. Sen jälkeen esitetään äärettömät merkkijonot, ω-säännölliset kielet, deterministien Büchin utomtti j epädeterministinen Büchin utomtti. Lopuksi osoitetn Kleenen luse Büchin utomtille j että deterministisen Büchin utomtin ilmisuvoim on idosti heikompi kuin epädeterministisen Büchin utomtin. 2
1 Johdnto 4 2 Äärelliset utomtit 6 2.1 Akkostot j merkkijonot...................... 6 2.2 Kielet................................ 10 2.3 Deterministinen äärellinen utomtti.............. 12 2.4 Epädeterministinen äärellinen utomtti............. 20 2.5 Säännölliset kielet.......................... 23 2.6 Kleenen luse äärelliselle utomtille............... 25 3 Büchin utomtit 28 3.1 Äärettömät merkkijonot...................... 28 3.2 ω-säännölliset kielet......................... 30 3.3 Büchin utomtti......................... 32 3.4 Kleenen luse ω-säännöllisille kielille............... 36 Lähteet 41 3
1 Johdnto Automtion ide juont juurens in tieteellisen vllnkumouksen ikn 1600-luvulle, jolloin lti ksvnut tietämys universumist synnytti jtuksen, että universumi olisi vin vltv kone. Myös R. Descrtes (1596-1650) pohti mhdollisuutt, että kiken elävän käyttäytyminen voitisiin kuvill mtemtiikn keinoin. Ihmisen käyttäytymisen suhteen väittely determinismin j vpn thdon suhteen rivosi vuosistoj j jtkunee vielä tulevisuudesskin. Ihmiskunnn teollistuess j mekniikn kehittyessä myös mtemtikot lkoivt pohtimn, voisiko mtemttisi väitteitä todist meknisesti jollin tvll. Toisin snoen etsittiin lgoritmi, joll todist mtemttiset ongelmt. Mutt 1900-luvun lust lkoi näyttämään, ettei se välttämättä ole mhdollist. Lopult vuonn 1931 K. Gödel (1906-1978) todisti kuuluist epätäydellisyysluseens, jotk osoittvt lukuteorin sisältävän ksiomttisen järjestelmän olevn epätäydellinen. Tämä ei kuitenkn ollut vhingollist mtemtiikn j tietojenkäsittelytieteen suhteen, sillä näiden tphtumien myötä syntyi täsmällinen määritelmä lgoritmille. Syntyi kksi uutt tieteenl, jotk ovt lskettvuuden teori j formlien kielten j utomttien teori. Näistä jälkimmäisessä yksinkertisimmt lgoritmit ovt niitä, joit voidn sovelt äärellisillä utomteill. Lopult 1950-luvull Stephen Kleene (1909-1994) tutki ensimmäisenä äärellisiä utomttej j löysi niille moni tärkeitä sovelluksi tietojenkäsittelytieteessä. Seurvin vuosikymmeninä mtemtikot S. Eilenerg (1913-1998), M.-P. Schützenerger (1920-1996) j J. Rhodes (1937-) kehittivät äärellisten utomttien mtemtiikk. Aivn viime ikoin äärellisiä utomttej on sovellettu esimerkiksi komintorisess ryhmäteoriss j symolisess dynmiikss. Smoihin ikoihin 1960-luvull sveitsiläinen loogikko j mtemtikko J. Büchi (1924-1984) kehitti äärellisen utomtin muunnoksen, jok kykenee tunnistmn äärettömiä merkkijonoj. Tätä utomtti kutsutn Büchin utomtiksi. Tutkielmn toisess luvuss esitetään kkostot j merkkijonot, jost siir- 4
rytään kieliin, jonk jälkeen esitellään ensin deterministinen utomtti j sitten epädeterministinen utomtti. Lisäksi osoitetn, että näiden ilmisuvoim on sm. Lopuksi esitetään säännölliset lusekkeet j todistetn Kleenen luse äärellisille utomteille. Tutkielmn kolmnness luvuss esitetään vstvsti äärettömät merkkijonot j ω-säännölliset kielet. Epädeterministinen Büchin utomtti esitellään ennen determinististä Büchin utomtti. Lopuksi osoitetn Kleenen luse Büchin utomteille j että deterministinen Büchin utomtti on ilmisuvoimltn idosti heikompi kuin epädeterministinen Büchin utomtti. Eräs mielenkiintoinen äärellisten merkkijonojen j Büchin utomttien sovellus on LTL-logiikn kielellä määriteltyjen väitteiden formli verifiointi Büchin utomttien vull. Rozier kirjoitt [5] LTL-logiikn symolisest mllintrkstuksest Büchin utomttien vull. Hän käyttää esimerkkisovelluksen eräänlist utomttist ilmtiln vlvont lennonjohdoss. Tutkittvst ongelmst muodostetn mlli, jonk jälkeen muodostetn LTL-logiikn kv, jok ilmisee mllilt vdittv vtimust. Tämän jälkeen trkistetn, että onko tämä LTL-logiikn kv toteutuv tässä mlliss. Trkistus onnistuu siten, että muodostetn edellä minitun LTL-logiikn kvn negtiost Büchin utomtti. Ääretön merkkijono muodostetn tällöin kkostost, jok on muodostettu LTL-logiikn propositiosymoleiden potenssijoukost. Sen jälkeen tutkitn, onko olemss polku, jonk tämä LTLlogiikn kvn negtiost muodostettu Büchin utomtti hyväksyy. Jos sellinen polku löytyy, niin se toimii vstesimerkkinä. Jos ts sellist ei löydy, niin tällöin mlli toteutt LTL-logiikn kvn vull ilmistun vtimuksen. Käytännön sovelluksien knnlt on lohdullist, että on olemss eri lgoritmeihin pohjutuvi utomttisi mllintrkstustyökluj. Nimittäin ongelmksi käytännön sovelluksiss muodostuu yleisesti tilräjähdys, joss siis tilojen lukumäärä ksv eksponentilisesti. 5
2 Äärelliset utomtit Tässä luvuss esitellään määritelmiä j tuloksi äärellisistä utomteist pääsiss lähteen [3] mukn, joskin vertillen lähteisiin [2] j [1]. Tämän luvun tuloksien todistuksi on sivuutettu, j luku toimiikin lustuksen j vertilukohtn seurvlle luvulle, jok käsittelee äärettömiä utomttej. 2.1 Akkostot j merkkijonot Määritelmä 2.1. Akkosto A on äärellinen joukko, jonk lkiot ovt mitä thns symolej. Akkoston A symoleit kutsutn kirjimiksi ti merkeiksi. Akkoston A merkeistä muodostettu äärellistä jono ( 1, 2,..., n ) kutsutn merkkijonoksi. Merkkijonolle käytetään kuitenkin lyhyempää merkintää 1 2 n. Akkoston A merkkien lukumäärää merkitään A. Sovitn, että tyhjää merkkijono merkitään kreikklisell kirjimell ε. Määritellään, että A on kkoston A kikkien merkkijonojen joukko, j että A + on kkoston A kikkien merkkijonojen joukko lukuun ottmtt tyhjää merkkijono ε. Jos x on merkkijono, niin x on merkkijonon x pituus. Jos on kkoston A merkki, niin x ilmisee merkin esiintymien lukumäärän merkkijonoss x. Akkoston A merkkijonojen x j y snotn olevn yhtäsuuret, mikäli ne sisältävät smt merkit smss järjestyksessä. Esimerkki 2.1. Suomen kielen kkosto lienee tämän tutkielmn lukijoille tutuin, j se voidn ilmist muodoss {,,..., å, ä, ö}. Tietokoneet tulevt toimeen inäärikkostoll {0, 1}. Jos ääretön kkosto sllittisiin, niin predikttilogiikn loogisen kkoston ts voisi ilmist muodoss {v i i N} {,,,,,,, =, (, )}. Määritelmä 2.2. Olkoot x, y A. Merkkijonoist x j y voidn muodost uusi merkkijono x y, jot kutsutn merkkijonojen x j y konktentioksi, liittämällä merkkijonot peräkkäin. Yleisesti merkitään vin xy. Olkoot edelleen x, y A. Konktention pituus määritellään settmll xy = x + y. Tyhjälle merkkijonolle ε pätee εx = x = xε jokisell x A. 6
Tyhjä merkkijono on tällöin konktention suhteen neutrlilkio. Osoitetn, että konktentio on liitännäinen. Olkoot x, y, z A, missä x = 1 2 n, y = 1 2 n j z = c 1 c 2 c n. Nyt (xy)z = ( 1 2 n 1 2 n )c 1 c 2 c n = 1 2 n 1 2 n c 1 c 2 c n = 1 2 n ( 1 2 n c 1 c 2 c n ) = x(yz). Konktentio on siis kkoston A kikkien merkkijonojen joukoss A määritelty inääriopertio, jok osoitettiin edellä liitännäiseksi, jolloin trksteltv rkenne on puoliryhmä. Kosk konktentioll on myös neutrlilkio, kuten niin ikään yllä osoitettiin, niin rkenne on monoidi. Konktentioll vrustettu joukko A + kutsutn myös vpksi puoliryhmäksi j joukko A vpksi monoidiksi, kosk kikki niiden merkkijonot voidn esittää yksikäsitteisesti kkoston A merkkejä konktenoimll. Esimerkki 2.2. Olkoot A = {, } j x, y A. Asetetn x = j y =, jolloin xy = j yx =, joten xy yx. Konktentio ei siis ole vihdnninen opertio. Määritelmä 2.3. Olkoot x A. Määritellään, että merkkijonon x potenssi on konktentio itsensä knss n-kert settmll x n = x x, missä n N. n kpl Lisäksi määritellään x 0 = ε. Olkoot x A j m, n N 0. Edellisen määritelmän nojll pätee selvästi, että x m x n = x m+n. Määritelmä 2.4. Olkoot x, y, z A j u = xyz. Tällöin y on merkkijonon u tekijä, x on etuos j z on jälkios. Mikäli inkin toinen merkkijonoist x j y on epätyhjä, on y merkkijonon u ito tekijä. Mikäli x u, niin x on merkkijonon u ito etuos j edelleen, mikäli z u, niin x on merkkijonon u ito jälkios. Merkkijono u on merkkijonon v limerkkijono, jos u = 1... n, missä i A j on olemss selliset merkkijonot x 0,..., x n, että v = x 0 1 x 1 x n 1 n x n. Olkoon x A. Tällöin merkkijono x = u 1... u n, missä u i A, kutsutn merkkijonon x tekijöihin joksi. Tekijöihin joss käytetään yleisesti merkkiä korostmn tekijöihin jko. 7
Esimerkki 2.3. Trkstelln kkosto {, } j sen merkkijono x =. Tällöin merkkijonon x etuost ovt ε,,,,, jälkiost ovt ε,,,, j tekijät ovt ε,,,,,,,. Merkkijonot j ovt merkkijonon x limerkkijonoj. Merkkijonon x eräs tekijöihin jko on. Määritelmä 2.5. Verkko on pri G = (V, E), jok koostuu äärellisestä joukost V, jonk lkiot ovt solmuj, j joukost E, jonk lkiot ovt solmupreist muodostettuj särmiä. Verkon polku on sellinen solmujen muodostm jono v 1, v 2,..., v k, k 1, että on olemss särmä (v k, v k+1 ) jokisell i, 1 i < k. Polun v 1, v 2,..., v k pituus on k 1 j, jos v 1 = v k, on kyseessä sykli. Määritelmä 2.6. Suunnttu verkko on niin ikään pri G = (V, E), jok koostuu äärellisestä joukost V, jonk lkiot ovt solmuj j joukost E, jonk lkiot ovt järjestetyistä solmupreist muodostettuj nuoli. Merkintä v w trkoitt nuolt solmust v solmuun w. Suunntun verkon polku on sellinen solmujen muodostm jono v 1, v 2,..., v k, k 1, että on olemss nuoli v i v i+1 jokisell i, 1 i < k. Snotn, että v 1, v 2,..., v k on polku solmust v 1 solmuun v k. Jos v w on nuoli, niin snotn, että v on solmun w edeltäjä j w on solmun v seurj. Määritelmä 2.7. Puu on suunnttu verkko, joll on seurvt ominisuudet: i) On olemss yksi yksikäsitteinen solmu, jot kutsutn juureksi, joll ei ole linkn edeltäjää. ii) Jokisell solmull, pitsi juurell, on inostn yksi edeltäjä. iii) Jokisen solmun seurjt järjestetään vsemmlt oikelle. Solmu, joll ei ole seurj, kutsutn lehdeksi. Määritelmä 2.8. Olkoon A mielivltinen kkosto j olkoot x, y sen merkkijonoj. Määritellään, että puu yli joukon A on sellinen puu, että sen juuri on tyhjä merkkijono ε, j jonk solmut nimetään joukon A lkioiden mukn. Mikäli w on puun mielivltinen solmu, niin siitä ksvvt solmut ovt w 1,..., w n. Puujärjestys yli joukon A määritellään settmll x y, jos j vin jos x < y, ti x = y j merkkijono x on merkkijonon y vsemmll puolen joukon A puuss. 8
Esimerkki 2.4. Olkoot A = {, } j <. Tällöin joukon A puujärjestys lk merkkijonoill ε,,,,,,,.... ε Kuv 2.1: Esimerkin 2.4 ensimmäiset kksi tso. Osoitetn, että supistminen on voimss joukoss A j todistetn Levin lemm merkkijonoille, jot hyödynnetään tutkittess merkkijonojen vihdnnisuutt. Luse 2.1. Jos x, y, z A, niin tällöin xz = yz implikoi x = y j vstvsti zx = zy implikoi x = y. Todistus. Oletetn, että x, y, z A j olkoot x = 1 2... l, y = 1 2... m j z = c 1 c 2... c n. Jos nyt xz = yz, niin merkkijonot 1 2... l c 1 c 2... c n j 1 2... m c 1 c 2... c n ovt smt. Kosk merkkijono c on molempien merkkijonojen jälkios, niin merkkijonot 1 2... l j 1 2... m ovt myös smoj, joten x = y. Luse 2.2 (Levin lemm). Olkoot x, y, u, v A. Oletetn, että xy = uv. Jos x u, niin on olemss sellinen merkkijono w A, että x = uw j v = wy. Jos x u, niin on olemss sellinen merkkijono w A, että u = xw j y = wv. Todistus. Oletetn, että xy = uv = 1 2... l. Tällöin merkkijonot x j z ovt merkkijonon 1 2... l etuosi eli x = 1 2... i j u = 1 2... j, missä 0 i l j 0 j l. Jos i j, niin x = uw, missä w = j+1... i, j v = j+1... i i+1... l = wy. Jos ts i j, niin u = xw, missä w = i+1... j, j y = i+1... l = i+1... j j+1... l = wv. Seurus 2.1. Olkoot x, y, u, v A j xy = uv. Jos x = u, niin x = u j y = v. 9
On selvää, että jos vähintään toinen merkkijonoist u ti v on tyhjä, niin uv = vu j trkstelln sen vuoksi rjoitettu tpust, joss u, v A +. Luse 2.3. Olkoot u, v A +. Tällöin uv = vu, jos j vin jos on olemss sellinen z A +, että u = z p j v = z q joillkin p, q > 0. Todistus. Suunt oikelt vsemmlle pätee selvästi. Oletetn sitten, että uv = vu. Jos u = v, niin seuruksen 2.1 nojll u = v j väite pätee. Oletetn symmetrin vuoksi, että u > v, jolloin u v. Luseen 2.2 perusteell on olemss sellinen z A +, että u = vz = zv j edelleen u, v z, joten väite pätee. 2.2 Kielet Määritelmä 2.9. Olkoon A mikä thns kkosto. Tällöin mitä thns kkoston A kikkien merkkijonojen joukon A osjoukko kutsutn kieleksi. Esimerkki 2.5. Koulumtemtiikss pärjätään kkostoll A = {0,..., 9} {+,,, /, =} {(, )}, jost voidn muodost kieli L vikkp kikkien tosien kertolskujen suhteen. Esimerkiksi 2 2 = 4 kuuluu tällöin kieleen L, mutt 0 1 = 1 ei kuulu kieleen L. Määritelmä 2.10. Olkoon A kkosto. Kieli on mikä thns joukon A osjoukko, joten P(A ) on kikkien kkostost A muodostettujen kielten joukko. Jos L j M ovt kkoston A kieliä, niin ovt myös L M, L M j L\M. Jos L on kkoston A kieli, niin on myös L = A \ L. Merkitään yleisesti L + M merkinnän L M sijn. Näin ollen, jos L i on kieliperhe, missä 1 i n, niin niiden yhdistettä merkitään summn n i=1 L i. Määritelmä 2.11. Olkoon A kkosto. Jos L j M ovt sen kieliä, niin näiden tulo on L M = {xy x L, y M}. Yleisesti merkitään LM merkinnän L M sijn. Esimerkki 2.6. Huomtn luksi, että L = = L j {ε}l = L = L{ε} pätevät millä thns kielellä L. Olkoot L = {, } j M = {,,, }. Nyt LM = {,,,,,,, } 10
j ML = {,,,,,,, }, joten LM ML. Kielien tulo ei siis ole yleisesti vihdnninen. Määritelmä 2.12. Olkoon A kkosto. Kielelle L määritellään L 0 = {ε} j L n+1 = L n L. Jokisell n > 0 kieli L n muodostuu kikist muoto u = x 1 x 2... x n olevist merkkijonoist, missä x i L. Määritelmä 2.13. Olkoon A kkosto. Kielen L Kleenen tähti on operttori, jok määritellään settmll L = L 0 + L 1 + L 2 + + L n. Lisäksi määritellään operttori + settmll L + = L 1 + L 2 + + L n. Esimerkki 2.7. Sovitn, että = {ε} j {ε} = {ε}. Olkoon A 1 = {} kkosto j L 1 = {} kieli. Tällöin L 1 = {ε,, 2, 3,... }. Voidn myös merkitä. Olkoon sitten A 2 = {, } kkosto j L 2 = {, } kieli. Nyt L 2 = {ε,,,,,... }, joten esimerkiksi ei kuulu kieleen L 2. Kikki kielen L 2 merkkijonot lukuunottmtt tyhjää merkkijono ε voidn jk tekijöihin j. Määritelmä 2.14. Olkoon A = {, }. Yksinkertistetn kielien merkintää jättämällä hksulkeet pois j käytetään krisulkeit vin trvittess. Tällöin pätee A = {, } = ({} + {}) = ( + ). Esimerkki 2.8. Olkoon A = {, } kkosto. Kieli L 1 = ( + ) 2 koostuu kikist neljästä khden mittisest merkkijonost. Kieli L 2 = ( + ) koostuu kikist merkkijonoist, jotk lkvt merkkijonoll. Kieli L 3 = ( + ) ( + ) ( + ) ( + ) ( + ) koostuu niistä merkkijonoist, jotk sisältävät osmerkkijonon merkkijonon. Kieli L 4 = ( + ) ( + ) koostuu kikist niistä merkkijonoist, jotk sisältävät tekijänä merkkijonon. Kieli L 5 = ( + + + ) koostuu kikist niistä merkkijonoist, joiden pituus on prillinen. Luse 2.4. Olkoon L mikä thns kieli. Jos x, y L, niin xy L. Todistus. Oletetn, että xy L. Kosk L on yhdiste, niin xy L i jokisell i N 0. Siis x L i ti y L i jokisell i N 0, joten x, y L. 11
Luse 2.5. Olkoot L, M, N A. Tällöin seurvt ominisuudet pätevät kielillä L, M j N: i) L(MN) = (LM)N ii) L(M + N) = LM + LN j (M + N)L = ML + NL iii) Jos L M, niin NL NM j LN MN. Todistus. Tpuksien todistuksiss sovelletn lähes pelkästään määritelmää 2.11 j yhdisteen määritelmää, joten ne sivuutetn ilmeisinä. 2.3 Deterministinen äärellinen utomtti Määritelmä 2.15. Deterministinen äärellinen utomtti on viisikko A = (S, A, i, δ, T ), missä S on äärellinen tilojen joukko, A on kkosto, i S on lkutil, δ on siirtymäkuvus δ : S A S j T S on lopputilojen joukko. Siirtymä on tphtum, joss utomtti viht jollkin joukon A syötteellä tiln jostkin tilst s johonkin tiln t eli δ(s, ) = t. Kutsutn determinististä utomtti lyhyemmin utomtiksi j merkitään A det. Lisäksi merkinnän δ(s, ) sijn käytetään yleisesti merkintää s. Määritelmä 2.16. Olkoon A det utomtti. Määritellään seurvksi ljennettu siirtymäkuvus δ, jonk vull A det voi käsitellä myös merkkijonoj. δ : S A S on yksikäsitteinen kuvus, jok toteutt seurvt ehdot, kun A, x A j s S: i) δ (s, ε) = s ii) δ (s, ) = δ(s, ) iii) δ (s, x) = δ (δ(s, ), x). Automtti A det on deterministinen, kosk nykyinen til j merkki yksikäsitteisesti määräävät uuden tiln. Lisäksi utomtti A det kutsutn täydelliseksi, kosk jokisest tilst on siirtymä johonkin tiln. 12
Luse 2.6. Olkoon S äärellinen joukko j A äärellinen kkosto. Olkoon δ : S A S kuvus. Tällöin on olemss yksikäsitteinen kuvus : S A S, jok toteutt seurvt kolme ehto: i) (s, ε) = s, kun s S ii) (s, ) = δ(s, ), kun s S j A iii) (s, x) = (δ(s, ), x), kun s S, A j x A. Todistus. Kts. [3, ss. 17-18]. Luse 2.7. Olkoon A det utomtti. Tällöin s(xy) = (sx)y jokisell x, y A j s S. Todistus. Kts. [3, s. 18]. Määritelmä 2.17. Olkoon A det utomtti j olkoot A, s, t S. Siirtymäverkko on suunnttu verkko, jonk solmut nimetään utomtin A det tilojen mukn j nuolell s t on nimike inostn silloin, kun δ(s, ) = t. Lisäksi lkutiln merkitään sisäänpäin osoittv nimikkeetön nuoli j lopputilss on kksinkertinen ympyrä. Sovitn, että mikäli merkit 1, 2,..., n nimittävät n siirtymää tilst s tiln t, niin riittää piirtää vin yksi nuoli s t, jonk nimike on 1, 2,..., n. Määritelmä 2.18. Olkoon A det utomtti. Siirtymätulukko on tulukko, joss kuvuksen δ kuvt esitetään siten, että riveillä ovt tilt j srkkeiss ovt merkit. Alkutil merkitään nuolell vsemmlt oikelle j lopputil nuolell oikelt vsemmlle. Esimerkki 2.9. A det = ({s, t, r}, {, }, s, δ, {t}) on utomtti, jonk siirtymät ovt s = t, s = r, r = t, r = r, t = t j t = t. Automtin A det siirtymäverkko on kuvss 2.2 j siirtymätulukko tulukoss 2.1. 13
, t s r Kuv 2.2: Esimerkin 2.9 siirtymäverkko. s t r t t t r t r Tulukko 2.1: Esimerkin 2.9 siirtymätulukko. Määritelmä 2.19. Automtti A det on hyvin muodostettu, mikäli sillä on äärellinen määrä tiloj j se toteutt seurvt ehdot: i) Automtill on vin yksi lkutil. ii) Jokisell tilll s j jokisell syötteellä A on olemss vin yksi nuoli tilst s tiln s j jonk nimike on. Määritelmä 2.20. Olkoon A det = (S, A, i, δ, T ) utomtti. Määritellään utomtin A det tunnistm kieli L(A det ) settmll L(A det ) = {x A ix T }. Kielen snotn olevn tunnistettviss, mikäli on olemss utomtti, jok tunnist sen. Automtin A det tunnistm kieli muodostuu siis kikist niistä merkkijonoist, joiden merkeillä voidn merkitä polku lkutilst lopputiln. Tällöin snotn, että utomtti A det hyväksyy merkkijonon. Tyhjän merkkijonon tpuksess trvitn ehto, jok käy ilmi seurvst tuloksest. 14
Luse 2.8. Olkoon A det = (S, A, i, δ, T ) utomtti j L(A det ) sen tunnistm kieli. Tällöin utomtti A det hyväksyy tyhjän merkkijonon, jos j vin jos i T. Todistus. Oletetn, että i T. Kosk määritelmän 2.16 nojll i = iε, niin määritelmän 2.20 nojll ε L(A det ). Oletetn sitten, että ε L(A det ). Täten määritelmän 2.20 nojll iε T, joten i T. Esimerkki 2.10. Moness tpuksess utomtin hyväksymän kielen näkee helposti siirtymäverkost, mutt sen osoittminen formlisti on työlästä. Osoitetn, että esimerkin 2.9 utomtti hyväksyy kielen ( + )( + ). Aluksi hvitn, että mikä thns merkkijono x A, jok lk merkillä, hyväksytään tilss t. Huomtn myös, että jotkut merkkijonot y A, jotk lkvt merkillä, hyväksytään tilss t. Olkoon x A sellinen merkkijono, että x = x. Jos olln tilss s, niin syötteellä päädytään tiln t, joss myös pysytään oli merkkijonon loppuos mitä thns. Olkoon sitten y A sellinen merkkijono, että y = y. Jos olln tilss s, niin syötteellä päädytään tiln r. Mikäli merkkijonon y ensimmäinen merkki on, niin päädytään tiln t j pysytään siellä oli merkkijonon loppuos mitä thns. Mikäli merkkijonon y ensimmäinen merkki on, niin pysytään tilss r. Tilss r pysytään, kunnes luetn j päädytään tiln t, joss pysytään oli merkkijonon loppuos mitä thns. Lopuksi luseen 2.8 nojll tyhjää merkkijono ei hyväksytä, kosk lkutil s ei kuulu lopputilojen joukkoon. Näin on osoitettu, että L(A det ) = ( + )( + ). Kun snotn, että utomtti A det tunnist kielen L, niin tällöin L = L(A det ). Lwson [3, luku 2] esittelee lukuisi esimerkkejä erilisist tunnistettvist kielistä. Toislt voidn osoitt, että kieli L = { n n n N} ei ole tunnistettviss [3, s. 35]. Seurv tulost voidn käyttää tutkittess, onko jokin kieli L tunnistmton. 15
Luse 2.9 (Pumppuslemm). Olkoon L A tunnistettv kieli. Tällöin on olemss sellinen n N, että jokisell sellisell w L, että w n, on olemss selliset merkkijonot x, y, z L, että seurvt ehdot pätevät: i) w = xyz ii) xy n iii) y 1 iv) Jokisell i 0 pätee xy i z L. Todistus. Kts. [3, s. 46]. Esimerkki 2.11. Osoitetn pumppuslemmn 2.9 vull, että kieli L = { n 2n n 0} ei ole tunnistettviss. Tehdään vstoletus, että L on tunnistettviss. Tällöin on olemss sellinen n N, että jokisell sellisell w L, että w n, on olemss selliset merkkijonot x, y, z L, että pumppuslemmn ehdot pätevät: (i) n 2n = xyz, (ii) xy n, (iii) y 1 j (iv) xy i z L jokisell i 0. Kohdn (ii) nojll merkkijono xy koostuu pelkistä merkeistä j koht (iii) kertoo, että merkkijonoss y on inkin yksi merkki. Siispä merkkijonoss z on kikki -merkit j mhdollisesti -merkkejä. Trkstelln merkkijono xz = xy 0 z, jok kuuluu kieleen L pumppuslemmn nojll. Huomtn, että xz = 2n, mutt xz = n y < n, joten xz L. Päädyttiin ristiriitn, joten vstoletus on väärin, eikä L ole tunnistettviss. Määritelmä 2.21. Olkoon A det = (S, A, i, δ, T ) utomtti. Snotn, että til s S on svutettv, mikäli on olemss sellinen merkkijono x A, että ix = s. Til, jok ei ole svutettviss, kutsutn svuttmttomksi. Automtti A det on svutettv, mikäli kikki sen tilt ovt svutettvi utomtin lkutilst. Alkutil on in svutettviss, kosk iε = i. Huomtn myös, että svuttmttomill tiloill ei ole merkitystä utomtin toiminnn knnlt. 16
Määritelmä 2.22. Olkoon A det = (S, A, i, δ, T ) utomtti. Määritellään sen vull svutettv utomtti A = (S, A, i, δ, T ), missä S = S on tilojen joukko, i = i on lkutil, T = T S on lopputilojen joukko j δ : S A S on siirtymäkuvus, jok käyttäytyy kuten δ. Usein puhutn lyhyemmin utomtist A. Luse 2.10. Olkoon A det = (S, A, i, δ, T ) utomtti. Tällöin A on svutettv utomtti j L(A det ) = L(A ). Todistus. Kts. [3, s. 54]. Svutettv utomtti A snotn utomtin A det svutettvksi osksi. On yksinkertist muodost svutettv utomtti, kun tilojen lukumäärä on pieni. Tilojen lukumäärän ksvess suureksi tilnne muuttuu hnklmmksi. Luse 2.11. Olkoon A det = (S, A, s 0, δ, T ) utomtti. Jos s S on hyväksyttävä til, niin on olemss sellinen merkkijono x A, että x < S j s 0 x = s. Todistus. Kts. [3, ss. 55-56]. Luseen 2.11 nojll svutettvn utomtin A tilojen joukko S voidn selvittää seurvll tvll. Olkoon S = n j s 0 lkutil. Olkoot lisäksi X S j L A j määritellään XL = {x x X, L}. Kikkien merkkijonojen x A joukko, joille pätee x n 1, merkitään n 1 i=0 A i. Luseen 2.11 tulos voidn siis ilmist muodoss ( n 1 S = s 0 i=0 A i ) = n 1 i=0 s 0 A i. Joukkojen S i = s 0 A i vull voidn muodost yllä olev yhdiste. Tätä voidn trkstell puist koostuvn jonon vull. Khden solmun välisellä etäisyydellä trkoitetn lyhintä polku näiden khden solmun välillä. Puun korkeus on pisimmän sellisen merkkijonon pituus juurest lehteen, jok ei käy smss solmuss usemmin kuin kerrn. Puun juuri on lkutil s 0. Jokisell A muodostetn nuoli s 0 s 0. Jos s on solmu, niin piirretään nuoli s s, joiden nimike on, jokisell A. Solmut, jotk ovt etäisyyden i päässä juurest, ovt joukon s 0 A i 17
lkioit. Lopetetn, kun puun korkeudeksi on stu n 1. Puun solmut ovt nyt ne utomtin tilt, jotk ovt svutettvi. Esimerkki 2.12. Olkoon A det = ({s 0, s 1, s 2, s 3 }, {, }, s 0, δ, {s 1 }) utomtti, jonk siirtymät ovt tulukoss 2.2. Kosk {s 0, s 1, s 2, s 3 } = 4, muodostetn puu, jonk korkeus on kolme j esitetään se kuvss 2.3. s 0 s 1 s 2 s 1 s 2 s 2 s 2 s 2 s 2 s 3 s 1 s 1 Tulukko 2.2: Esimerkin 2.12 siirtymätulukko. s 2 s 2 s 2 s 2 s 2 s 2 s 1 s 2 s 0 Kuv 2.3: Esimerkin 2.12 siirtymäpuu. Automtti A voidn nyt muodost utomtist A det poistmll kikki svuttmttomt solmut j nuolet, jotk menevät niihin ti lähtevät niistä. Jos utomtiss on n til, niin täytyy piirtää puu, jonk korkeus on n 1. Tämä on työlästä j kosk solmu voi esiintyä puuss usemmin kuin kerrn, niin puuss voi oll toisto, jok ei tuot uutt informtiot. Seurv lgoritmi hylkää joukon sa, jos s toistuu. Määritelmä 2.23. Olkoon A det = (S, A, i, δ, T ) utomtti. Muodostetn utomtin A det siirtymäpuu induktiivisesti seurvll tvll. Jos s on minkä thns solmun toisto, niin snotn, että solmu on suljettu j merkitään. Lisäksi tässä lgoritmiss j seurvss luseess siirtymäpuut merkitään T i, missä i 0. Oletetn, että kkostoss A pätee linerijärjestys. Algoritmi voidn esittää seurvsti: 18
i) Puun juuri on s 0, j setetn T 0 = {s 0 }. ii) Oletetn, että T i on muodostettu eli kikki sen solmut on merkitty joko suljetuiksi ti ei-suljetuiksi. iii) Jokisell ei-suljetull solmull s T i j jokisell A lisätään nuoli s s, jonk merkki on. Sovitn, että jos s = s = p, niin riittää yksi nuoli s p, jonk nimike on,. iv) Algoritmi loppuu, kun kikki lehdet ovt suljettuj. Seurv luse osoitt, että määritelmän 2.23 lgoritmi toimii oikein. Luse 2.12. Olkoon S = n. Tällöin on olemss sellinen m n, että jokinen puun T m solmuist on suljettu j S on vin puun T m solmujen joukko. Todistus. Kts. [3, s. 57]. Olkoot s S j x A pienin sellinen merkkijono puujärjestyksessä, että s 0 x = s. Tällöin s esiintyy ensimmäisenä puun T x solmun. Luseen 2.11 nojll svutettv til voi esiintyä ensimmäisen kerrn viimeistään puuss T n 1. Siten kikki T n solmut ovt suljettuj. Siirtymäpuun vull voidn selvittää, mitkä ovt utomtin A det svutettvt tilt, mutt sen vull voidn myös muodost svutettv utomtti A. Tämä onnistuu poistmll kikki merkit j liimmll lehdet edeltäviin solmuihin, joill on sm merkki. Esimerkki 2.13. Olkoon A det = (S, A, s 0, δ, T ) utomtti, missä S = {s 0, s 1, s 2 }, A = {, }, T = {s 1 }, j siirtymät ovt s 0 = s 1, s 0 = s 1, s 1 = s 0, s 1 = s 1, s 2 = s 1 j s 2 = s 1. Automtin A det siirtymäverkko on esitetty kuvss 2.4. Sivuutetn siirtymäpuut T 0 j T 1, j piirretään vin T 2, jok on esitetty kuvss 2.5. Lopuksi sdn utomtti A = (S, A, i, δ, T ), jok on muodostettu määritelmän 2.22 vtimll tvll j esitetty kuvss 2.6. 19
, s 0 s 1, s 2 Kuv 2.4: Esimerkin 2.13 siirtymäverkko. s 0, s 1, s 1 s 0, Kuv 2.5: Esimerkin 2.13 siirtymäpuu T 2., s 0 s 1 Kuv 2.6: Esimerkin 2.13 siirtymäverkko. 2.4 Epädeterministinen äärellinen utomtti Trkstelln seurvksi utomtti, jonk siirtymät ovt epädeterministisiä. Epädeterministisyys viitt siihen, että siirtymät eivät ole deterministisiä eli smll merkillä voi päästä siirtyä tilst usen tiln. Lisäksi on muutkin, jok ero deterministisen äärellisen utomtin määritelmästä: lkutiloj voi oll enemmän kuin yksi. Määritelmä 2.24. Epädeterministinen utomtti on A edet = (S, A, I, δ, T ), missä S on äärellinen tilojen joukko, A on kkosto, I on lkutilojen joukko, 20
δ : S A P(S) on siirtymäkuvus, j T on lopputilojen joukko. Usein puhutn lyhyemmin utomtist A edet. Epädeterministisen utomtin A edet siirtymäverkko- j tulukko muodostetn kuten utomtin A det tpuksess. Esitetään määritelmästä 2.16 uusi versio vstmn epädeterministisen utomtin A edet siirtymäkuvust δ. Määritelmä 2.25. Olkoon A edet epädeterministinen utomtti. Epädeterministisen utomtin ljennettu siirtymäkuvus on yksikäsitteinen kuvus δ : S A P(S), jok toteutt seurvt ehdot, kun A, x A j s S: i) δ (s, ε) = {s} ii) δ (s, ) = δ(s, ) iii) δ (s, x) = q δ(s,) δ (q, x). Huomutus. Merkitään sx merkinnän δ (s, x) sijn, mutt täytyy muist, että sx on joukko, kun on kyse epädeterministisestä utomtist. Lisäksi käytetään merkitää {s} merkinnän s sijst. Luse 2.13. Olkoon x = 1 2 n A. Tällöin t sx, jos j vin jos on olemss selliset tilt q 1,..., q n = t, että q 1 s 1, j q i q i 1 i, jokisell 2 i n. Todistus. Kts. [3, s. 62]. Määritelmä 2.26. Automtin A edet tunnistm kieli L(A edet ) on ( ) L(A edet ) = {x A qx T }. q I Esimerkki 2.14. A edet = ({s, r, t}, {, }, {s, t}, δ, r) on epädeterministinen utomtti, jonk siirtymät ovt s = {s, r}, s = r, t = s, t = t j r = t. Sen siirtymätulukko on esitetty tulukoss 2.3 j siirtymäverkko kuvss 2.7. Epädeterminismin voisi luull tuovn lisää ilmisuvoim, mutt äärellisten utomttien tpuksess näin ei ole. Olkoon A edet = (S, A, I, δ, T ) epädeterministinen utomtti. Muodostetn deterministinen utomtti A d = 21
s, r t Kuv 2.7: Esimerkin 2.14 siirtymäverkko. s {s, r} r t s t r t Tulukko 2.3: Esimerkin 2.14 siirtymätulukko. (S d, A d, i d,, T d ), missä S d = P(S), lkutil i d = I on epädeterministisen utomtin lkutilojen osjoukko I P(S), T d = {Q P(S) Q T }. Lisäksi jokisell A j Q P(S) setetn (Q, ) = q Q q. Joukko (Q, ) koostuu kikist niistä tiloist s S, jotk voidn svutt joukon Q tiloist merkillä. Näin ollen A d on täydellinen deterministinen utomtti A d. Luse 2.14. Olkoon A edet epädeterministinen utomtti. Tällöin on olemss sellinen deterministinen utomtti A det, että L(A d ) = L(A edet ). Todistus. Kts. [3, ss. 63-64]. Todistuksess osoitetn induktioll x suhteen, että jokisell Q S j x A pätee (Q, x) = q Q δ (q, x). Lisäksi L(A d ) = L(A edet ) seur suorn määritelmistä j induktioll osoitetust indentiteetistä. Automtti A d kutsutn utomtin A edet determinoiduksi utomtiksi. Automtin A d muodostmist kutsutn determinisoinniksi. Myös tässä tpuksess tilojen lukumäärän ksvu joht hyvin nopesti vikeuksiin. Jos 22
utomtiss A edet on n til, niin utomtiss A d on 2 n til. Lwson [3, s. 65] nt lgoritmin, jonk vull determinisointi onnistuu helposti. Esimerkki 2.15. Esitetään esimerkin 2.14 utomtist determinisoitu versio kuvss 2.8., t s r [t, r] [s, t] [s, t, r] [s, r] Kuv 2.8: Esimerkin 2.14 utomtin A edet determinisoidun utomtin A d siirtymäverkko. Lwson [3, ss. 67-70] esittelee useit epädeterministisellä äärellisellä utomtill tunnistettvi kieliä. 2.5 Säännölliset kielet Määritelmä 2.27. Olkoon A = { 1, 2,..., n } kkosto. Määritellään, että säännöllinen luseke kkostoss A on merkkijono, jok muodostetn sovel- 23
tmll äärellinen määrä kertoj seurvi sääntöjä: i) on säännöllinen luseke ii) ε on säännöllinen luseke iii) 1, 2,..., n ovt kikki säännöllisiä lusekkeit iv) Jos s j t ovt säännöllisiä lusekkeit, niin on myös (s + t) v) Jos s j t ovt säännöllisiä lusekkeit, niin on myös (s t) vi) Jos s on säännöllinen luseke, niin on myös (s ) vii) Jokinen säännöllinen luseke voidn muodost äärellisellä lukumäärällä sääntöjä (i)-(vi). Operttoreit +, j kutsutn säännöllisiksi operttoreiksi. Yleensä jätetään merkitsemättä. Sovitn, että säännöllisten lusekkeiden sulkeit voidn jättää pois kuten lgerllisten lusekkeiden tpuksess siten, että vst potenssi, vst kertolsku j + vst yhteenlsku. Toisin snoen esimerkiksi ((0 (1 )) + 0) voidn lyhentää muotoon 01 + 0. Tällöin siis esimerkiksi 01 vst merkintää 0(1 ), eikä merkintää (01). Määritelmä 2.28. Säännölliset lusekkeet s j t ovt smt, merkitään s = t, jos j vin jos L(s) = L(t). Määritelmä 2.29. Kieli L on säännöllinen, mikäli on olemss sellinen säännöllinen luseke s, että L = L(s). Seurvien kolmen luseen todistukset sivuutetn, kosk ne ovt suorviivisi relevnttien määritelmien soveltmisi. Luse 2.15. Jos L, M, N ovt kieliä, niin seurvt identiteetit pätevät: L( ) =, L(ε) = {ε}, L( i ) = { i }, L(s + t) = L(s) + L(t), L(st) = L(s)L(t) j L(s ) = L(s). Luse 2.16. Mikäli r, s, t ovt säännöllisiä lusekkeit, niin pätee r +(s+t) = (r+s)+t, r(st) = (rs)t, r(s+t) = rs+rt, r = (rr) +r(rr), (r+s) = (r s ) j (rs) r = r(sr). 24
Luse 2.17. Olkoon A kkosto j olkoot L, M, N P(A ). Tällöin seurvt ominisuudet pätevät kielillä L, M j N: i) L + (M + N) = (L + M) + N ii) + L = L = L + iii) L + L = L iv) L (M N) = (L M) N v) ε L = L = L ε vi) L = = L vii) L (M + N) = L M + L N j (M + N) L = M L + N L. Luseen 2.17 ominisuudet pätevät myös säännöllisille lusekkeille määritelmän 2.28 nojll. Esimerkki 2.16. Olkoon L 1 = {x ( + ) x < 4}. Tällöin merkkijono x L, jos sen pituus on 0,1,2 ti 3, jolloin L voidn ilmist säännöllisellä lusekkeell ε + ( + ) + ( + ) 2 + ( + ) 3. Toislt ts säännöllisellä lusekkeell ( + ) 4 ( + ) voidn ilmist kieli L 2 = {x ( + ) x 4}. 2.6 Kleenen luse äärelliselle utomtille Kleenen luse on merkittävä tulos äärellisten utomttien teoriss j todistetn se tässä lluvuss. Ensiksi kuitenkin esitellään todistuksess trvittvi tuloksi, joiden todistuksiss sovelletn määritelmää 2.24. Näiden tuloksien todistukset löytyvät mm. Lwsonilt [3, s. 43, ss. 68-69 j ss. 70-71]. Luse 2.18. Jos L j M ovt tunnistettvi kieliä, niin on myös L + M. Luse 2.19. Jos L j M ovt tunnistettvi kieliä, niin on myös LM. Luse 2.20. Jos L on tunnistettv kieli, niin on myös L. Luse 2.21 (Kleenen luse). Kieli on tunnistettviss, jos j vin jos se on säännöllinen. 25
Todistus. Vrt. [3, ss. 103-104] j [2, ss. 58-63]. Näistä erityisesti jälkimmäinen on trkempi, kun todistetn väitettä vsemmlt oikelle. Olkoon A kkosto j L siitä muodostettu säännöllinen kieli. Osoitetn, että L on tunnistettviss. Osoitetn tämä induktioll säännöllisessä lusekkeess olevien säännöllisten operttorien lukumäärän suhteen. Säännölliset lusekkeet, joiss ei ole säännöllisiä operttoreit, voivt kuvt vin kielet ε, j {}, missä A. Jokinen näistä kielistä on tunnistettviss määritelmän 2.20 nojll, kosk voidn helposti muodost utomtti, jok tunnist nämä kielet. Tämä on induktion perusskel. Induktio-oletus on, että jos r on säännöllinen luseke, joss on korkeintn n 1 säännöllistä operttori, niin L(r) on tunnistettviss. Olkoon sitten r säännöllinen luseke, joss on n säännöllistä operttori. Tällöin on kolme vihtoehto: r = s + t, r = st j r = s, missä s, t ovt säännöllisiä lusekkeit, joiss on korkeintn n 1 säännöllistä operttori. Induktio-oletuksen nojll L(s) j L(t) ovt molemmt tunnistettviss. Joten voidn sovelt luseit 2.18, 2.19 j 2.20, jolloin voidn päätellä, että L(r) on tunnistettviss. Siis L on tunnistettviss. Oletetn sitten, että L on tunnistettv kieli j osoitetn, että se on säännöllinen kieli. Käytetään epädeterminististä utomtti A edet, jonk siirtymäverkon nuolien kokonismäärää kutsutn utomtin A edet siirtymäluvuksi. Osoitetn väite induktioll tämän luvun suhteen. Jos utomtin A edet siirtymäluku on noll, niin tällöin L(A edet ) on joko ti ε, joist jälkimmäinen toteutuu, jos jokin utomtin lkutiloist on myös lopputil. Tämä on induktion perusskel. Induktio-oletus on, että jos A edet on epädeterministinen utomtti, jonk siirtymäluku on korkeintn n 1, niin L(A edet ) on säännöllinen. Olkoon A edet = (S, A, I, δ, T ) epädeterministinen utomtti, jonk siirtymäluku on n. Osoitetn, että L(A edet ) on säännöllinen. Oletuksen nojll utomtin A edet siirtymäverkoss on vähintään yksi siirtymä. Vlitn yksi mielivltinen siirtymä p q. Muodostetn neljä epädeterminististä utomtti, jotk ovt A edet 1, A edet 2, A edet 3 j A edet 4. Näillä utomteill on muuten sm siirtymäkuvus kuin utomtill A edet pitsi, että poistetn jokisest iemmin vlittu siirtymä p q, mutt säilytetään kikki utomtin A edet 26
tilt. Näin ollen utomtit erovt vin lku- j lopputilojen oslt: Automtill A edet 1 on lkutilt I j lopputilt T Automtill A edet 2 on lkutilt I j lopputil {p} Automtill A edet 3 on lkutil {q} j lopputil {p} Automtill A edet 4 on lkutil {q} j lopputilt T. Kikkien näiden utomttien siirtymäluku on n 1, joten induktio-oletuksen nojll kikki kielet L(A edet 1 ), L(A edet 2 ), L(A edet 3 ) j L(A edet 4 ) ovt säännöllisiä. Osoitetn, että L = L 1 + (L 2 )(L 3 ) L 4. On helppo osoitt, että L 1 L j (L 2 )(L 3 ) L 4 L, joten keskitytään inkluusioon L L 1 + (L 2 )(L 3 ) L 4. Olkoon x L. Tällöin x on polku utomtiss A edet, jok lk jostkin lkutilst j päättyy johonkin lopputiln. Tämä polku joko sisältää iemmin vlitun siirtymän p q ti sitten se ei sisällä sitä. Jos se ei sisällä sitä, niin tällöin x L(A edet 1 ). Voidn siis olett, että se kuuluu iemmin minittuun polkuun. Nyt täytyy etsiä merkin ne esiintymät merkkijonoss x, jotk vstvt siirtymään p q. Tällöin merkkijono x voidn jk tekijöihin seurvsti: x = (u)(v 1 ) (v n )w, missä u on nimike polulle lkutilst tiln p, jokinen merkkijono v i nimeää polun tilst q tiln p j w on nimike polulle tilst q lopputiln. Siten x (L 2 )(L 3 ) L 4, jolloin x L 1 + (L 2 )(L 3 ) L 4 j L = L 1 + (L 2 )(L 3 ) L 4. Siis L on säännöllinen. 27
3 Büchin utomtit Edellisessä luvuss trksteltiin äärellisiä merkkijonoj. Ljennetn nyt näkökulm äärettömiin merkkijonoihin. Tässä luvuss seurtn teost [4]. 3.1 Äärettömät merkkijonot Määritelmä 3.1. Ääretöntä jono ( 1, 2,..., n,...) kkoston A merkkejä snotn äärettömäksi merkkijonoksi. Käytetään merkkijonolle lyhyempää merkintää 1 2 n. A ω on kkoston A kikkien äärettömien merkkijonojen joukko. A = A A ω on kkoston A kikkien äärellisten ti äärettömien merkkijonojen joukko. Kuvus u : N A, u(n) n tuott äärettömän merkkijonon. Merkintä u[r, s] trkoitt merkkijono u(r)u(r + 1) u(s). Merkintää voidn sovelt myös äärellisille merkkijonoille. Huomutus. Merkintä A ω vst merkintää A N, jok ts on kikkien kuvuksien joukko luonnollisilt luvuilt kkostoon A. Määritelmä 3.2. Olkoon A kkosto j olkoot x A j y A ω. Tällöin äärettömän merkkijonon konktentio on x y. Täytyy huomioid, että x y on ääretön merkkijono. Merkitään xy merkinnän x y sijst. Esimerkki 3.1. Olkoon A = {, } kkosto j olkoot x = A j y = A ω. Tällöin xy = j xy A ω. Määritelmä 3.3. Olkoot A kkosto, x A j u A ω. Tällöin merkkijono x on äärettömän merkkijonon u tekijä, jos on olemss sellinen merkkijono v j sellinen ääretön merkkijono w, että u = vxw. Merkkijono x on äärettömän merkkijonon u etuos, jos on olemss sellinen ääretön merkkijono w että u = xw. Esimerkki 3.2. Olkoon A = {, } kkosto j olkoon A ω. Tällöin äärettömän merkkijonon etuosi ovt {ε,,,,,,,...}. 28
Määritelmä 3.4. Olkoot u, v A. Ljennetn määritelmää 2.8, koskemn myös joukon A lkioit. Tällöin puujärjestys yli joukon A määritellään settmll u v, jos u = v ti merkkijono u on äärettömän merkkijonon v etuos. Määritelmä 3.5. Kokonisluku p > 0 on äärellisen merkkijonon u = 1 2 n jkso, mikäli jokisell sellisell kokonisluvull k, että k + p n, pätee k = k+p. Pienintä merkkijonon u jkso kutsutn merkkijonon u perusjksoksi. Myös äärettömän merkkijonon jkso j perusjkso määritellään smll tvll. Esimerkki 3.3. Olkoon A = {, } kkosto j A. Tällöin merkkijonon perusjkso on 4, kosk () 2 =. Määritelmä 3.6. Olkoon A kkosto. Ääretön merkkijono u on jksollinen, mikäli sen jksojen joukko on epätyhjä. Määritelmä 3.7. Kokonisluku p > 0 on äärettömän merkkijonon u = 1 2 n eräs ultimttinen jkso, mikäli on olemss sellinen kokonisluku k 0 0, että jokisell k k 0 pätee k = k+p. Jos p j q ovt merkkijonon u kksi ultimttist jkso, niin näiden suurin yhteinen tekijä on edelleen äärettömän merkkijonon u ultimttinen jkso. Pienintä äärettömän merkkijonon u ultimttist jkso kutsutn äärettömän merkkijonon u ultimttiseksi jksoksi. Ääretöntä merkkijono, joll on ultimttinen jkso, kutsutn ultimttisesti jksolliseksi. Määritelmä 3.8. Olkoon A kkosto. Kikkien äärettömien merkkijonojen joukoss on määritelty vihto settmll kuvus σ : A ω A ω siten, että jokisell äärettömällä merkkijonoll u A ω on sellinen kuv σ(u), että jokisell n N pätee σ(u)(n) = u(n + 1). Esimerkki 3.4. Olkoon A = {, } kkosto j olkoon u = ääretön merkkijono. Tällöin σ(u) =. 29
Määritelmä 3.9. Olkoon L äärettömien merkkijonojen joukko. Tällöin σ(l) = {σ(u) u X}, missä σ on kuten määritelmässä 3.8. Snotn, että L on vk, mikäli σ(l) L. 3.2 ω-säännölliset kielet Ljennetn määritelmää 2.11, joss määriteltiin kielten L, M A tulo. Määritelmä 3.10. Olkoon A kkosto, L A j M A. Tällöin kielien L j M tulo on L M = {xy x L, y M}. Käytetään yleisesti merkintää LM merkinnän L M sijn. Huomutus. Tästä lken sovelletn kielien tulon suhteen määritelmää 3.10. Luse 3.1. Olkoot L, M A j olkoon N A. Tällöin (LM)N = L(MN). Todistus. Seur suorn määritelmästä 3.10, joten se sivuutetn. Määritelmä 3.11. Olkoon L A kieli. Tällöin ω on operttori, jok määritellään settmll L ω = {x 0 x 1 i 0, x i L \ {ε}}. Määritelmän 3.11 nojll kieli L ω koostuu äärettömistä merkkijonoist, jotk on muodostettu konktenoimll äärettömän mont kert kielen L epätyhjiä merkkijonoj. Ljennetn määritelmää 2.27 siten, että jos (s) on säännöllinen luseke, niin on myös (s ω ). Jtkoss säännöllisiä lusekkeit kutsutn ω-säännöllisiksi lusekkeiksi. Esimerkki 3.5. Olkoot u = 1 2... n j L = {u}. Tällöin L ω = {u ω }, missä u ω on ääretön merkkijono u ω = 1 2 n 1 2 n 1 2 n 1 2. Luse 3.2. Olkoot L, M A kieliä. Tällöin seurvt ominisuudet pätevät: i) (L + M) ω = (L M) ω + (L + M) L ω ii) (LM) ω = L(ML) ω iii) Jokisell n > 0, (L n ) ω = (L + ) ω = L ω 30
iv) LL ω = L + L ω. Todistus. Todistuksiss sovelletn vin määritelmiä 3.10 j 3.11, joten ne sivuutetn. Määritelmä 3.12. Olkoon A kkosto. Tällöin joukon A ω ω-säännöllisten kielien luokk on pienin sellinen joukon A ω kielien joukko S, että seurvt ehdot pätevät: i) S j jokisell A, {} S ii) S on suljettu äärellisen yhdisteen suhteen iii) S on suljettu tulon suhteen iv) S on suljettu opertion suhteen v) S on suljettu opertion ω suhteen. Määritelmän 3.12 nojll joukon A ω-säännöllisten kielien luokk S on pienin joukon A luokk, jok sisältää kikki joukost A muodostetut äärelliset kielet j on suljettu äärellisen yhdisteen, äärellisen tulon, j opertioiden j ω suhteen. Luse 3.3. Olkoot M, N A säännöllisiä kieliä. Kieli L A ω on ω-säännöllinen kieli, jos j vin jos kieli L on muoto MN ω olevien säännöllisten kielten äärellinen yhdiste. Todistus. Kts. [4, s. 15]. Käytetään väitteessä minittujen kielten L luokst merkintää S(A ). Suunt oikelt vsemmlle seur suorn määritelmästä 3.12. Osoitetn suunt vsemmlt oikelle todistmll yleisempi tulos. Väitetään, että jos L A ω on säännöllinen kieli, niin tällöin pätee: i) L A on säännöllinen kieli ii) L A ω S(A ω ). Riittää osoitt, että L S(A ω ), kun L A ω. Olkoon L kikkien niiden kielien L A luokk, jotk toteuttvt ehdot (i) j (ii). Tällöin pätee: 31
1) L j {} L jokisell A 2) L on suljettu äärellisen yhdisteen suhteen 3) L on suljettu tulon suhteen Lisäksi, jos L A j M A, niin (LM A ) = L(M A ), jok on säännöllinen, kosk M toteutt ehdon (i). Edelleen, jos (LM A ω ) = L(M A ω ), jok kuuluu luokkn S(A ω ), kosk ehdon (ii) nojll M A ω S(A ω ). 4) L on suljettu opertion suhteen 5) L on suljettu opertion ω suhteen. Siispä luokk L sisältää säännöllisten kielien L A luokn, jost väite seur. Esimerkki 3.6. Olkoon A = {, } kkosto. Akkostost A muodostettujen äärettömien merkkijonojen kieli L, joss on vin äärellinen määrä merkkejä, voidn ilmist ω-säännöllisillä lusekkeill L = ( + ) ω. 3.3 Büchin utomtti Määritelmä 3.13. Büchin utomtti on A = (S, A, I, E, T ), missä S on äärellinen tilojen joukko, A on kkosto, I on lkutilojen joukko, E S A S on siirtymäkuvus, jok vst epädeterministisen äärellisen utomtin A edet siirtymäkuvust, j T on lopputilojen joukko. Yleensä Büchin utomtist käytetään merkintää A. Huomutus. Myös äärellisen utomtin tpuksess voitisiin trkstell siirtymäkuvust vin reltion S A S osjoukkon. Esimerkiksi mielivltisen utomtin siirtymän merkintä s 0 = s 1 trkoitt sm kuin merkintä e = (s 0,, s 1 ). Määritelmä 3.14. Ääretöntä lukumäärää peräkkäisiä siirtymiä e 0 = (s 0,, s 1 ), e 1 = (s 1,, s 2 ),... missä e 1, e 2 E, s 0, s 1, s 2 S j, A, kutsutn äärettömäksi poluksi. Merkinnän e 0 = (s 0,, s 1 ), e 1 = (s 1,, s 2 ),... sijn merkitään lyhyemmin e 0 e 1. 32
Büchin utomtin A siirtymätulukko j -verkko ovt smnlisi kuin epädeterministisen äärellisen utomtin A edet vstvt. Määritelmä 3.15. Olkoon A = (S, A, I, E, T ) Büchin utomtti. Ääretöntä polku kutsutn lkuperäiseksi, mikäli se lähtee jostkin lkutilst i I, j lopulliseksi, mikäli se käy lopputilojen joukoss T äärettömän mont kert. Ääretöntä polku kutsutn toteutuvksi, mikäli se on lkuperäinen j lopullinen. Määritelmä 3.16. Automtin A = (S, A, I, E, T ) tunnistm kieli on L ω (A ) = {x A ω Inf(x) T }, missä Inf(x) on niiden tilojen joukko, jotk esiintyvät lkuperäisessä äärettömässä poluss äärettömän mont kert. Automtti A siis hyväksyy äärettömän merkkijonon x A ω, jos j vin jos Inf(x) T. Määritelmä 3.17. Kieli L A ω on tunnistettviss, jos on olemss sellinen utomtti A, että L = L ω (A ). Määritelmä 3.18. Büchin utomtti A = (S, A, I, E, T ) on deterministinen, mikäli siirtymäkuvus E on sm kuin utomtin A det siirtymäkuvus j I on yksiö eli lkutiloj on vin yksi. Merkitään determinististä Büchin utomtti A det. Määritelmä 3.19. Automtti A on numeroituv, jos sen tilojen kkosto on numeroituv. Esimerkki 3.7. A = ({s, t}, {, }, s, E, r) on Büchin utomtti, jonk siirtymät ovt tulukoss 3.1, j jonk siirtymäverkko on kuvss 3.1. Automtti A tunnist kielen ( ) ω. s {s, t} t {s, t} Tulukko 3.1: Esimerkin 3.7 siirtymätulukko. 33
s t Kuv 3.1: Esimerkin 3.7 siirtymäverkko. Esimerkki 3.8. A = ({s, t}, {, }, {s, t}, E, t) on Büchin utomtti, jonk siirtymät ovt tulukoss 3.2, j jonk siirtymäverkko on kuvss 3.2., s t Kuv 3.2: Esimerkin 3.8 siirtymäverkko. s s {s, t} t t Tulukko 3.2: Esimerkin 3.8 siirtymätulukko. Luse 3.4. Jokinen epätyhjä j tunnistettv kieli L A ω sisältää ultimttisesti jksollisen merkkijonon. Todistus. Kts. [4, s. 27]. Olkoon L A ω epätyhjä j tunnistettv utomtill A = (S, A, I, E, T ). Kosk kieli L on epätyhjä, niin on olemss polku p = p 0 p 1 p 2, missä p 0 lk lkutilojen joukon I tilst j loppuu tiln t T, j missä p 1 p 2 ovt polkuj tilst t tiln t. Polku p 0 p 1 p 1 p 1 on siten toteutuv polku j sen nimike on ultimttisesti jksollinen merkkijono. Määritelmä 3.20. Olkoon A = (S, A, I, E, T ) utomtti. Til s S on svutettv, mikäli utomtiss A on olemss mhdollisesti tyhjä äärellinen lkuperäinen polku, jok loppuu tiln s S. Til s S on kosvutettv, 34
mikäli utomtiss A on olemss ääretön lopullinen polku, jok lk tilst s S. Automtti A on krsittu, jos kikki sen tilt svutettvi j kosvutettvi. Luse 3.5. Mihin thns utomttiin A voidn liittää sellinen krsittu utomtti A, että seurvt ehdot pätevät: i) Automtit A j A tunnistvt smn kielen L A ω ii) Jos A on deterministinen, niin on myös A iii) Jos A on äärellinen, niin on myös A. Todistus. Kts. [4, ss. 27-28]. Trkstelln luksi tpust (i). Olkoon A = (S, A, I, E, T ) utomtti j olkoon P S utomtin A = (S, A, I, E, T ) svutettvien j kosvutettvien tilojen joukko. Olkoon A = (P, A, I P, E, T P ) utomtti, missä E = E (P A P ). Selvästi L ω (A ) L ω (A ). Oletetn, että u = 0 1 L ω (A ). On olemss lopullinen polku jonk nimike on u j s 0 p = s 0 0 1 s1 s2, I. Tilt s 0, s 1,... ovt svutettvi j kosvutettvi. Näin ollen s on polku utomtiss A L ω (A ) = L ω (A ). j u L ω (A ). Siispä Trkstelln sitten tpust (ii), jok on vrsin suorviivinen. Jos A on deterministinen, niin E on deterministinen. Jos utomtin A tunnistm kieli on epätyhjä, niin on olemss lopullinen polku yksikäsitteisestä lkutilst, joten lkutil on kosvutettv j I P on yksiö. Siispä A on deterministinen. Tpus (iii) on ilmeinen. Büchin utomtin täydellisyys määritellään smoin kuin äärellisen utomtin. Luse 3.6. Büchin utomtin A tunnistm kieli L A ω voidn tunnist sellisell täydellisellä Büchin utomtill L ω (A ), joll pätee: jos A äärellinen, niin myös A on äärellinen, j jos A on deterministinen, niin myös A on deterministinen. on 35
Todistus. Kts. [4, s. 28]. Olkoon A = (S, A, I, E, T ) utomtti, jok tunnist kielen L A ω. Jos A ei ole täydellinen, niin olkoon A = (S {p}, A, I, E, T ), missä p on uusi til j E = E E 1 E 2, missä E 1 = {(p,, p A} E 2 = {(s,, p) s S, A j ({s} {} S) E = }. Automtti A tunnist edelleen kielen L j on täydellinen. Lisäksi sen on deterministinen (vstvsti äärellinen), jos A on deterministinen (vstvsti äärellinen). 3.4 Kleenen luse ω-säännöllisille kielille Luse 3.7 (Kleenen luse ω-säännöllisille kielille). Kieli L A ω on tunnistettv, jos j vin jos se on ω-säännöllinen. Todistus. Kts. [4, ss. 28-29]. Oletetn, että X A ω on tunnistettv j olkoon A = (S, A, I, E, T ) äärellinen Büchin utomtti, jok tunnist kielen X. Tällöin X = L ω (A ) ω = L (S, A, i, E, f)(l + (S, A, f, E, f)) ω, i I t T jok osoitt, että kieli X on ω-säännöllinen, kosk Kleenen luseen 2.21 nojll L (S, A, i, E, f) A j L + (S, A, f, E, f) A ovt säännöllisiä kieliä. Oletetn sitten, että Y A ω on ω-säännöllinen kieli X(X ) ω, missä X, X A ovt säännöllisiä kieliä. Olkoot A = (S, A, i, E, t) j A = (S, A, i, E, t ) sellisi normlisoituj [3, s. 109] utomttej, että X = L + (A) j X = L + (A ). Nyt A B = ((S S ) \ {i, t }, i, E #, t), missä E # = E E 0 E 1 E 2, kun E 0 = {(t,, t) (i,, t ) E } E 1 = {(t,, s) s S \ {i, t } j (i,, s) E } E 2 = {(s,, t) s S \ {i, t } j (s,, t ) E }. Näin ollen kieli X(X ) ω on tunnistettviss. Osoitetn vielä, että tunnistettvien kielien L A ω luokk on suljettu äärellisen yhdisteen suhteen. 36
Olkoot Y, Y A ω tunnistettvi kieliä, jotk ovt tunnistettviss äärellisillä Büchin utomteill A = (S, A, I, E, T ) j A = (S, A, I, E, T ). Voidn olett, että S j S ovt erilliset j siten voidn todet, että siirtymäkuvukset E j E ovt reltion (S S ) A (S S ) osjoukkoj. Täten seurv identiteetti pätee Y Y = L ω (A ) L ω (A ) = L ω (S S, A, I I, E E, T T ) j siten Y Y on tunnistettviss äärellisellä utomtill (S S, A, I I, E E, T T ). Määritellään kielille uusi operttori j trkstelln sen toimint esimerkin kutt. Määritelmä 3.21. Olkoon L A kieli. Tällöin L = {u A ω merkkijonoll u on äärettömästi etuosi kielessä L}, on myös kieli. Esimerkki 3.9. Jos L 1 =, niin L 1 =. Jos L 2 = () +, niin L 2 = () ω. Jos L 3 = ( ) + = ( + ), niin L 3 = ( ) ω. Esimerkki 3.10. Kieltä X = (+) ω, joss merkkejä on äärellinen määrä, ei sd mistään kielestä L opertioll L. Jos se stisiin, niin tällöin merkkijonoll ω olisi etuos u 1 = n 1 L, merkkijonoll n 1 n 2 olisi etuos u 2 = n 1 n 2 L,..., j äärettömällä merkkijonoll u = n 1 n 2 n3 olisi äärettömästi etuosi kielessä L. Tällöin u L, mutt tämä on mhdotont, kosk u sisältää äärettömästi merkkejä. Luse 3.8. Olkoon A det utomtti. Tällöin L ω (A det ) = L + (A det ). Todistus. Kts. [4, s. 32]. Olkoon A det = (S, A, i, E, T ). Jos u L ω (A det ), niin tällöin ääretön merkkijono u on polun p = (s 0, 0, s 1 )(s 1, 1 s 2 ) sellinen nimike, että s 0 = i j on olemss sellinen lukujono n 0 < n 1 <, että s n0, s n1,... T. Merkkijonot u k = 0 1 nk 1 L + (A det ) j ovt äärettömän merkkijonon u etuosi. Siispä L ω (A det ) L + (A det ). 37
Jos u L + (A det ), niin merkkijonoll u on äärettömästi etuosi kielessä L + (A det ). Kosk A det on deterministinen, niin u on lkuperäisen polun nimike, jok käy äärettömästi joukon T tiloiss. Siten u L ω (A det ). Näin on osoitettu, että L ω (A det ) = L + (A det ). Luse 3.9. Olkoon X A ω ovt ekvivlenttej: = (S, A, I, E, T ) kieli. Tällöin seurvt ehdot i) Kieli X voidn tunnist utomtill A det. ii) On olemss sellinen kieli L A +, että X = L. Lisäksi, jos kkosto A on numeroituv, niin ehdot (i) j (ii) ovt ekvivlenttej ehdon (iii) knss. iii) X voidn tunnist numeroituvll utomtill A det. Todistus. Kts. [4, ss. 32-33]. Jos A det on utomtti, jok tunnist kielen X, niin X = L ω (A det ) = L + (A det ) luseen 3.8 nojll. Näin ollen (i) implikoi (ii). Olkoon sitten L A + sellinen, että X = L. Tällöin L on tunnistettviss deterministisellä utomtill A det = (A, A, ε,, L), missä on deterministinen siirtymäkuvus, jok on määritelty jokisell u A j jokisell A settmll u = u. Luseen 3.8 perusteell L ω (A det ) = L + (A det ) = L = X. Siten (ii) implikoi (i). Jos kkosto A numeroituv, niin A det on numeroituv j tällöin ehdost (ii) seur ehto (iii). Kosk ehdost (iii) seur selvästikin ehto (i), niin kikkien kolmen ehdon välille muodostuu ekvivlenssi. Luse 3.10. Olkoon X A ω. Tällöin seurvt ehdot ovt ekvivlenttej: i) Kieli X voidn tunnist äärellisellä Büchin utomtill A det. ii) On olemss sellinen tunnistettv kieli L A +, että X = L. Todistus. Kts. [4, s. 33]. Luseen 3.9 todistust voidn sovelt äärelliseen tpukseen. Jos A det on äärellinen, niin tällöin L + (A det ) on tunnistettviss. Siis ehdost (i) seur ehto (ii). Toiseen suuntn riittää vlit sellinen äärellinen A det, jok tunnist kielen L. 38