Säännöllisten operttoreiden täydentäviä muistiinpnoj Antti-Juhni Kijnho 1. huhtikuut 2011 Vnht määritelmät Määritelmä 1. Äärellinen epätyhjä joukko on merkistö, j sen lkioit kutsutn merkeiksi. Määritelmä 2. Merkkijono on kuvus {0,..., n 1} Σ, missä n on merkkijonon pituus. Merkistön Σ merkkijonojen joukko merkitään Σ. Määritelmä 3. Viisikko (Q, Σ, δ, q 0, F ) on deterministinen äärellinen utomtti (DFA), jos Q on äärellinen (tilojen) joukko, Σ on äärellinen, epätyhjä joukko (merkistö), δ : Q Σ Q pätee (siirtymäfunktio), q 0 Q pätee (lkutil) j F Q pätee (hyväksyvät tilt). Seurvss määritelmässä oli luentoklvoss pieni virhe (jok rikkoi määritelmän tpuksess w = ε). Se on tässä korjttu. Korjus on sittemmin tehty myös klvoihin. Määritelmä 4. Olkoon M = (Q, Σ, δ, q 0, F ) DFA. Se hyväksyy merkkijonon c 0 c n 1 Σ, jos on olemss tilt q 1,..., q n 1 Q j q n Q, joille pätee δ(q i, c i ) = q i+1 kikill i = 0,..., n 1 j TIEA241 Automtit j kieliopit, kevät 2011 1
q n F. Muuten se hylkää kyseisen merkkijonon. Niiden merkkijonojen, jotk M hyväksyy, joukko snotn sen (tunnistmksi) kieleksi, L(M). 1 Säännöllisen kielen komplementti Lemm 5. Olkoon M = (Q, Σ, δ, q 0, F ) DFA. Tällöin jokiselle merkkijonolle w Σ on olemss yksikäsitteinen til q w Q (w:n päätöstil), joll on seurv ominisuus: On olemss tilt q 1,..., q w 1 Q j q w Q, joille pätee δ(q i, w(i)) = q i+1 (kikill i = 0,..., w 1) j q w = q w. Todistus. Induktioll w:n pituuden mukn; hrjoitustehtävä. Intuitiivisesti merkkijonon päätöstil on se til, johon utomtti jää luettun koko merkkijonon; merkkijonon hyväksyntä j hylkäys luetn siitä, onko päätöstil hyväksyvä vi hylkäävä: Lemm 6. Olkoon M = (Q, Σ, δ, q 0, F ) DFA j olkoon w Σ. Merkitään w:n päätöstil q w :llä. Nyt pätee w L(M) q w F. Todistus. Seur suorn päätöstiln konstruktiost j DFA:n toiminnn määritelmästä. Luse 7. Olkoon Σ merkistö j olkoon A Σ säännöllinen kieli. Tällöin myös A = Σ A on säännöllinen kieli. Todistus. Kosk A on säännöllinen, on olemss DFA M = (Q, Σ, δ, q 0, F ) jolle L(M) = A pätee. Olkoon nyt M = (Q, Σ, δ, q 0, Q F ). Riittää osoitt, että L(M ) = A. Mtemtikon trkkuudell tehtäessä todistus loppuisi tähän. Teen tässä mlliksi todistuksen hiemn trkemmin. Tämän todistmiseksi riittää osoitt, että jokisell merkkijonoill w Σ on sm päätöstil q w utomteiss M j M, kosk tällöin lemmn 6 nojll w L(M) q w F j w L(M ) q w Q F pätevät. Todistus etenee induktioll merkkijonon pituuden suhteen. Olkoon w = ε. Sen päätöstil molemmiss utomteiss on q 0, joten perustpus on OK. Tehdään nyt induktio-oletus, että merkkijonon v Σ päätöstil on molemmiss utomteiss sm (merkitään sitä q v ). Olkoot c Σ j w = vc. Kosk molemmill utomteill on sm siirtymäfunktio δ, on w:n päätöstil molemmiss utomteiss q w = δ(q v, c). Induktioskelkin on siis OK. 2
2 NFA Määritelmä 8. Viisikko (Q, Σ, δ, q 0, F ) on epädeterministinen äärellinen utomtti (NFA), jos Q on äärellinen (tilojen) joukko, Σ on äärellinen, epätyhjä joukko, jok ei sisällä tyhjän merkkijonon merkkinä käytettyä merkkiä ε (merkistö), δ : Q (Σ {ε}) P(Q) pätee (siirtymäfunktio), q 0 Q pätee (lkutil) j F Q pätee (hyväksyvät tilt). Huom! Määritelmä 10 oli luentoklvoiss virheellinen. Korjus on sittemmin tehty myös klvoihin. Korjtun määritelmän tueksi trvitn seurv määritelmä: Määritelmä 9. Olkoon M = (Q, Σ, δ, q 0, F ) NFA. Määritellään kikille n N funktiot E n : Q P(Q) seurvsti: E 0 : q {q} E n+1 : q q E n (q) δ(q, ε) Määritellään nyt M:n ε-sulkeumfunktio E : Q P(Q) seurvsti: E : q i N E i. Näin määritelty ε-sulkeumfunktio selvittää kullekin tillle, mihin tiloihin siitä pääsee seurmll ε-siirtymiä (muknlukien erikoistpus noll ε-siirtymää). Määritelmä 10. Olkoon M = (Q, Σ, δ, q 0, F ) NFA j olkoon E sen ε-sulkeumfunktio. M hyväksyy merkkijonon c 0 c n 1 Σ, jos on olemss tilt q 1,..., q n 1 Q j q n Q, joille pätee i {0,..., n 1}: q E(q i ): q i+1 δ(q, c i ) j q n F. 3
Muuten se hylkää kyseisen merkkijonon. Niiden merkkijonojen, jotk M hyväksyy, joukko snotn sen (tunnistmksi) kieleksi, L(M). Myös NFA:lle voidn määritellä päätöstiln kltinen vekotin, mutt kosk NFA on epädeterministinen, on määriteltävä päätöstilojen joukko. Trkstelln esimerkin vuoksi seurv NFA:t: 0 1 2 3 Sen käyttäytyminen merkkijonoll voidn esittää kuvss 1 näkyvänä päätöspuun. Luse 11. Jokiselle NFA:lle M on DFA M, jolle pätee L(M) = L( M). Todistus. Olkoot M = (Q, Σ, δ, q 0, F ), E utomtti M:n ε-sulkeumfunktio, Q = P(Q), ˆq 0 = {q 0 }, F = { S Q S F }, ˆδ : Q Σ Q, M = ( Q, Σ, ˆδ, ˆq 0, F ). ˆδ : (ˆq, c) q ˆq q E(q) δ(q, c) j Nyt L(M) = L( M) seur suorviivisell induktioll merkkijonon pituuden suhteen. Kielten smuuden induktiotodistus jää mtemtikon trkkuudell tehtynä lukijn hrjoitustehtäväksi, kosk M:n konstruktion oikeellisuus on helpompi nähdä itse konstruktiost kuin lukemll tikkuist induktiotodistust (j trvittess se induktio ei ole liin hnkl lukijn itse tehtäväksi). 4
0 0 1 0 1 0 0 2 1 3 0 2 3 0 1 3 3 Kuv 1: Erään NFA:n päätöspuu syötteell. Yhtenäiset nuolet merkitsevät tilsiirtymiä, ktkoniset nuolet syötteen etenemistä. Rksi trkoitt, että siirtymää ei ole, j ympyröinnit trkoittvt viimeisen tiln tulkint hyväksyväksi ti hylkääväksi. Kunkin syötemerkin tsoll olevt tilt ovt ne tilt, joiss NFA voi kyseisessä tilnteess oll. 5
3 Säännöllisten kielten yhdiste Luse 12. Jos A, B Σ ovt säännöllisiä kieliä, niin A B Σ on myös säännöllinen kieli. Todistus NFA:n kutt. Olennisin eli M:n konstruktio oli jo klvoiss. Se, että L(M) = A B pätee, seur suorviivisell induktioll. Se, että L(M) on säännöllinen kieli, seur luseest 11. Todistus suorn DFA:ll. Olkoot j M A = (Q A, Σ A, δ A, q A0, F A ) M B = (Q B, Σ B, δ B, q B0, F B ) DFA:t, joille pätevät L(M A ) = A j L(M B ) = B. Konstruoidn nyt DFA M = (Q, Σ, δ, q 0, F ), joss Q = Q A Q B, Σ = Σ A Σ B δ : Q Σ Q, δ : ((q, q ), c) (δ A (q, c), δ B (q, c)) q 0 = (q A0, q B0 ) F = { (q, q ) Q q F A q F B }. Nyt L(M) = A B seur suorviivisell induktioll. 6