2.6 SÄÄNNÖLLISET LAUSEKKEET Automttimlleist poikkev tp kuvt yksinkertisi kieliä. Olkoot A j B kkoston Σ kieliä. Perusopertioit: Yhdiste: A B = {x Σ x A ti x B}; Ktentio: AB = {xy Σ x A, y B}; Potenssit: { A 0 = {}, A k = AA k 1 = {x 1... x k x i A i = 1,...,k} (k 1); Sulkeum t. Kleenen tähti : Määritelmä 2.3 Akkoston Σ säännölliset lusekkeet määritellään induktiivisesti säännöillä: 1. j ovt Σ:n säännöllisiä lusekkeit; 2. on Σ:n säännöllinen luseke kikill Σ; 3. jos r j s ovt Σ:n säännöllisiä lusekkeit, niin (r s), (rs) j ovt Σ:n säännöllisiä lusekkeit; 4. muit Σ:n säännöllisiä lusekkeit ei ole. A = k 0 = {x 1... x k k 0, x i A i = 1,...,k}. A k Kukin Σ:n säännöllinen luseke r kuv kielen L(r), jok määritellään: L( ) = ; L() = {}; L() = {} kikill Σ; L((r s)) = L(r) L(s); L((rs)) = L(r)L(s); L( ) = (L(r)). Akkoston {, } säännöllisiä lusekkeit: r 1 = (()), r 2 = (), r 3 = ( ), r 4 = (( ())). Lusekkeiden kuvmt kielet: L(r 1 ) = ({}{}){} = {}{} = {}; L(r 2 ) = {} = {,,,,...} = {() i i 0}; L(r 3 ) = {}({}) = {,,,,...} = { i i 0}; L(r 4 ) = ({}{, }) = {, } = {,,,,,...} = {x {, } kutkin -kirjint x:ssä seur 1 ti 2 -kirjint }.
Sulkumerkkien vähentämissääntöjä: Operttoreiden prioriteetti: Yhdiste- j tulo-opertioiden ssositiivisuus: L(((r s) t)) = L((r (s t))) L(((rs)t)) = L((r(st))) Määritelmä 2.4 Kieli on säännöllinen, jos se voidn kuvt säännöllisellä lusekkeell. peräkkäisiä yhdisteitä j tuloj ei trvitse sulutt. Käytetään tvllisi kirjsimi, mikäli seknnuksen vr merkkijonoihin ei ole. Yksinkertisemmin siis: r 1 =, r 2 = (), r 3 =, r 4 = (( )). Säännöllisten lusekkeiden sieventäminen Säännöllisillä kielillä on yleensä useit vihtoehtoisi kuvuksi, esim.: Σ = L(( ) ) = L(( ) ) = L( ( ) ( ) ). Määritelmä. Säännölliset lusekkeet r j s ovt ekvivlentit, merk. r = s, jos L(r) = L(s). Lusekkeen sieventäminen = yksinkertisimmn ekvivlentin lusekkeen määrittäminen. Säännöllisten lusekkeiden ekvivlenssitestus on epätrivili, mutt peritteess meknisesti rtkev ongelm. Sievennyssääntöjä: r (s t) = (r s) t r(st) = (rs)t r s = s r r(s t) s rt (r s)t t st r r r r r = = r = ( r) Mikä thns säännöllisten lusekkeiden tosi ekvivlenssi voidn joht näistä lskuleist, kun lisätään päättelysääntö: jos r s t, niin r = ts, edellyttäen että / L(s).
2.7 ÄÄRELLISET AUTOMAATIT JA SÄÄNNÖLLISET KIELET Luse 2.3 Jokinen säännöllinen kieli voidn tunnist äärellisellä utomtill. Todistus. Seurvn klvon induktiivisen konstruktion vull voidn mielivltisen säännöllisen lusekkeen r rkennett seurten muodost -utomtti M r, joll L(M r ) = L(r). Tästä utomtist voidn poist -siirtymät Lemmn 2.4 mukisesti, j trvittess voidn syntyvä epädeterministinen utomtti determinisoid Luseen 2.2 konstruktioll. Esitettävästä konstruktiost on syytä huomt, että muodostettviin -utomtteihin tulee in yksikäsitteiset lkuj lopputil, eikä minkään os-utomtin lopputilst lähde eikä lkutiln tule yhtään ko. os-utomtin sisäistä siirtymää. r = : r = s t : M s r = : r = ( Σ) : M t r = s : r = st : M s Ms M t Esimerkiksi lusekkeest r = (( )) sdn näiden sääntöjen mukn seurv -utomtti: Automtti on selvästi hyvin redundntti. Käsin utomttej suunniteltess ne knnttkin usein muodost suorn. Esim. lusekkeen r = (( )) perusteell on helppo muodost seurv yksinkertinen epädeterministinen tunnistj-utomtti:
Luse 2.4 Jokinen äärellisellä utomtill tunnistettv kieli on säännöllinen. Todistus. Trvitn vielä yksi äärellisten utomttien ljennus: lusekeutomtiss voidn siirtymien ehtoin käyttää mielivltisi säännöllisiä lusekkeit. Formlisointi: Merk. RE Σ = kkoston Σ säännöllisten lusekkeiden joukko. Lusekeutomtti on viisikko M = (Q, Σ, δ, q 0, F), missä siirtymäfunktio δ on äärellinen kuvus Yhden skelen tilnnejohto määritellään: (q, w) (q, w ) M jos on q δ(q, r) jollkin sellisell r RE Σ, että w = zw, z L(r). Muut määritelmät smt kuin iemmin. Todistetn: jokinen lusekeutomtill tunnistettv kieli on säännöllinen. δ : Q RE Σ P(Q) (so. δ(q, r) vin äärellisen monell prill (q, r) Q RE Σ ). Olkoon M jokin lusekeutomtti. Säännöllinen luseke, jok kuv M:n tunnistmn kielen, muodostetn khdess viheess: 1. Tiivistetään M ekvivlentiksi enintään 2-tiliseksi lusekeutomtiksi seurvill muunnoksill: (i) Jos M:llä on useit lopputiloj, yhdistetään ne seurvsti. (ii) Poistetn M:n muut kuin lku- j lopputil yksi kerrlln seurvsti. Olk. okin M:n til, jok ei ole lku- eikä lopputil; trkstelln kikki reittejä, jotk M:ssä kulkevt q:n kutt. Olk. j q:n välittömät edeltäjä- j seurjtil jollkin tällisell reitillä. Poistetn q reitiltä oheisen kuvn (i) muunnoksell, jos tilst q ei ole siirtymää itseensä, j kuvn (ii) muunnoksell, jos tilst q on siirtymä itseensä: r q s rs t r q s rt s Smll yhdistetään rinnkkiset siirtymät seurvsti: r s r s
2. Tiivistyksen päättyessä jäljellä olev 2-tilist utomtti vstv säännöllinen luseke muodostetn seurvn kuvn esittämällä tvll: Esimerkki: r r 1 r 2 r 3 1 r 2(r 3 r 4 1 r 2) ( )() ( ) r 4 ( )() ( ) ( ( )() ( ))