582206 Lskennn mllit (syksy 2010) 1. kurssikoe, rtkisuj 1. [2+2+2 pistettä] Säännöllisissä lusekkeiss on käytetty tuttu lyhennysmerkintää Σ = ( ). () merkkijonot, joiden kksi ensimmäistä merkkiä ovt joko ti : deterministinen äärellinen utomtti,, säännöllinen luseke ( )Σ () merkkijonot, jotk päättyvät : epädeterministinen äärellinen utomtti, säännöllinen luseke Σ (c) merkkijonot, joiss - j -merkkien lukumäärien erotus on tsn kolmell jollinen. Säännöllinen luseke on ehkä helpoin muodost trkstelemll utomtin polkuj lkutilst tkisin lkutiln käymättä välillä lkutilss. Hyväksyvässä lskennss on peräkkäin noll ti enemmän tällisi polkuj. Jkmll ne neljään eri tpukseen ensimmäisen j viimeisen merkin perusteell s lusekkeen () () () (). Jos ei hlu käyttää utomtti pun, säännöllisen lusekkeen voi muodost esim. seurvsti: Jos w on kieleen kuuluv merkkijono, jetn se osjonoihin w = w 1... w m, missä kikill i merkkijonoss w i -merkkien j -merkkien lukumäärien erotus on kolmell jollinen, mutt millään merkkijonon w i lkuosll näin ei ole. Siis merkkijonoss w i -merkkien j -merkkien lukumäärien erotus on 3, 0 ti 3. Trkstelln tpust, että w i lk merkillä ; merkillä lkv tpus on symmetrinen. Jos seurv merkki on, niin w i päättyy siihen. Jos seurvt kksi merkkiä ovt, niin w i päättyy siihen.
Jos w i lk j - j -merkkien lukumäärien erotus on 3, sen viimeinen merkki on. Siis w i = w. Merkkijonon w on oltv muoto (), kosk muuten lukumäärien erotus menisi nolln ti kolmoseen ennen w i :n loppu. Jos w i lk j - j -merkkien lukumäärien erotus on 0, sen viimeinen merkki on. Siis w i = w. Merkkijonon w on oltv tyhjä ti muoto (), kosk muuten lukumäärien erotus menisi nolln ti kolmoseen ennen w i :n loppu. Yhdistämällä edelliset neljä vihtoehto j toistmll sdn säännöllinen luseke ( () ( ) () ( )) (Tämäkin luseke on ehkä helpompi ymmärtää trkstelemll utomtin polkuj.) Arvostelu: Kustkin virheettömästä utomtist j lusekkest s yhden pisteen. Pikkuvirheestä vähennetään neljännespiste, isommst puoli. Tyypillisiä pikkuvirheitä olivt ()-kohdn lusekkeest unohtuneet sulut j ()-kohdn DFA:n (ei siis mllirtkisun NFA:n) virheelliset pluusiirtymät. (c)-kohdss voi sd neljännespisteen rtkisust, jok on selvästi väärin, mutt sisältää oikeit elementtejä. 2. [1+5 pistettä] () Annettu utomtti: Automtin tunnistm kieli koostuu kikist kkoston {, } merkkijonoist, jotk päättyvät merkkiin. Säännöllinen luseke: ( ). () Lisätään lku- j lopputil: Poistetn yksi til: Poistetn toinen til: 2
( ) Säännöllinen luseke on ( ). Kommentti: Alkuperäisen utomtin kksi til voi poist khdess järjestyksessä. Vihtoehtoinen poistmisjärjestys tuott säännöllisen lusekkeen ( ). Arvostelu: )-kohdss nnettiin puoli pistettä snllisest kuvuksest sekä puoli pistettä säännöllisestä lusekkeest, jos ne vstsivt tunnistettv kieltä. )-kohdss jettiin yksi piste kustkin seurvst kohdst: Muodostettu GNFA, joss on uusi lkutil j uusi lopputil. Tilt poistetn yksi kerrlln. Ensimmäinen poisto oikein. Toinen poisto oikein. (riippumton siitä, oliko ensimmäinen poisto oikein vi ei) Lopullinen säännöllinen luseke vst tunnistettv kieltä. Pisteitä vähennettiin myös seurvin perustein: epäselvä teksti, monitulkintisuus j yleinen sekvuus jtuksenjuoksuss. Joisskin tpuksiss säännölliseen lusekkeeseen oli päädytty käyttämällä jotkin muut kuin kirjss esitettyä menetelmää. Nämä rtkisuyritykset tuottivt lähes poikkeuksett virheellisen lopputuloksen, eikä niistä nnettu yhtään pisteitä. Vikk säännöllinen luseke vstsi tunnistettv kieltä, rvioitiin myös, kävikö näin vin sttumlt. Yleisiä virheitä: menetelmn ino opertion ei ollut hlluss j tuotetut lusekkeet eivät vstnneet tunnistettv kieltä. Monesti myös todettiin, että kieli päättyy merkkiin, mikä on virhe, sillä vin kielen sisältämät merkkijonot päättyvät merkkiin, ei kieli sinänsä. Virheelliset säännölliset lusekkeet kummeksuttvt rvostelij, sillä niiden trkistminen olisi ollut helppo. 3. [6 pistettä] Väite: Akkoston {, } kieli ei ole säännöllinen. A = { m p n q m + n = p + q } Todistus: Tehdään vstoletus, että kieli A on säännöllinen. Säännöllisyydestä seur, että kielellä A on jokin pumppuspituus k N. Muodostetn merkkijono s = k k 1 1, joss k on mielivltinen. Kosk s A j s k, niin pumppuspituuden määritelmän mukn merkkijono s voidn jk sellisiin osiin s = xyz, että () xy i z A kikill i N () y > 0 (c) xy k. Olkoot x, y j z tämän mukiset. Kosk xy k j y > 0, niin kikki mhdolliset jot ovt muoto x = r j y = t, missä r + t k j t > 0. Tällöin z = k r t k. Vlitsemll i = 2 sdn xy i z = xy 2 z = r 2t k r t k = k+t k A, mikä on ristiriit pumppusominisuuden kohdn () knss. Siis vstoletus säännöllisyydestä on virheellinen eli kieli A ei ole säännöllinen. Kommentti: Oletetn, että kielen määrittelyn muuttujille pätee m, p, n, q N. Kosk muuttuj p on jo käytössä kielen A määrittelyssä, mllirtkisu käyttää pumppuspituudelle symoli k seknnusten välttämiseksi. 3
Vlittu merkkijono s ei ole ino toimiv vlint, esimerkiksi k k k k j k k 0 0 toimivt myös. Arvostelu: Seurvist täytetyistä kohdist si yhden pisteen kustkin. Minint vstoletuksest: kieli A on säännöllinen. Tästä seur pumppuspituus k. Merkkijono s vlitn niin, että ehdot s A j s k pätevät. Vlittu merkkijono s kelp onnistuneeseen todistukseen. Merkkijonon s jko osiin s = xyz on tehty ehtojen mukisesti y > 0 j xy k. Jkoon kuuluvn merkkijonon y muotoilu mielivltisille ehdot toteuttville joille s = xyz. Vstesimerkin tuottminen j loppupäätelmä kielen A säännöllisyydestä. Täysiin pisteisiin riitti myös vstus, joss osoitettiin, että mikään äärellinen utomtti ei kykene tunnistmn kieltä A. Tädellinen todistus perustui kielen A tunnistvn äärellisen utomtin rkenteeseen, jost johdettiin ristiriit sille, kuuluvtko tietyt merkkijonot kieleen A. Tämä tuli osoitt mielivltiselle tilojen määrälle l, jolloin kielen A tunnistv äärellist utomtti ei ole olemss. Vstukset, joiss oli todettu vin tämän todistuksen intuitio, olivt yhden pisteen rvoisi. Myös muut pelkkään intuitioon nojvt todistusyritykset sivt yhden pisteen. Lisäksi pisteitä vähennettiin seurvin perustein: epäselvä mtemttinen nottio, snllisen rgumentoinnin puute j jtuksenjuoksun epäjohdonmukisuus. Pumppuslemmn tulkitseminen khden peljn K j E pelinä hyväksyttiin tämän tentin yhteydessä, joskin tehtävän rvostelij suosittelee pumppuslemmn käyttämistä jtkoss sellisenn. Symolin p käyttämisestä pumppuspituudelle ei tällä kert skotettu, vikk symoli p oli jo käytetty toisess merkityksessä kielen A määrittelyssä. Yleisiä virheitä: merkkijono s ei osttu muodost, kielen määrittelyn muuttujt m, p, n, q oli sotkettu mukn merkkijonon s muodostukseen, trksteltiin vin yhtä jko s = xyz kikkien mhdollisten jkojen sijn, sekvuus todistusten esitysmuodoss, ei-formlit käsienheiluttelurgumentit j ennen kikke epäjohdonmukiset jtusketjut ilmn perusteluit. 4. [2+4 pistettä] Määritellään, että kieli A on symmetrinen, jos A R = A. () Kikki symmetriset kielet eivät ole säännöllisiä. Esim. kieli { 0 n 10 n n N } tiedetään eisäännölliseksi, mutt se on selvästi symmetrinen. Kikki säännölliset kielet eivät ole symmetrisiä. Esim. kieli { 01 } on säännöllinen, mutt ei symmetrinen. () Väite: Symmetristen kielten luokk on suljettu yhdisteen suhteen. Todistus: Olkoot A j B symmetrisiä. Nyt w (A B) R w R A B w R A ti w R B w A R ti w B R w A ti w B w A B, missä skel 4 käytti hyväksi kielten A j B symmetrisyyttä. Siis (A B) R = A B eli A B on symmetrinen. Sen sijn symmetristen kielten luokk ei ole suljettu konktention suhteen. Esim. kielet A = { 0 } j B = { 1 } ovt symmetrisiä, mutt niiden konktentio A B = { 01 } ei ole. 4
Arvostelu: Kustkin oikest vstuksest ilmn perusteluj s puoli pistettä. ()-kohdss kustkin pätevästä vstesimerkistä s puoli pistettä lisää. ()-kohdss konktention vstesimerkistä s pisteen j yhdisteen virheettömästä todistuksest kksi pistettä. Pienestä virheestä ti epätrkkuudest vähennetään neljännespiste. Tyypillinen pieni epätrkkuus on esimerkiksi ilmist ()-kohdn ensimmäinen vstesimerkkikieli muodoss 0 n 10 n, jok voitisiin myös tulkit kieleksi, jok sisältää yhden merkkijonon. Tyypillinen isompi virhe on ymmärtää symmetrinen kieli kieleksi, jonk kikki merkkijonot ovt plindromej. Näinhän ei ole. Esimerkiksi kieli A = {, } j tehtävän 1(c) kieli ovt symmetrisiä. Tästä ei ole skotettu, jos nnettu vstesimerkki on pätevä myös oiken tulkinnn mukn, mutt ()-kohdn yhdistetodistuksess tästä on vähennetty piste. 5