58226 Lskennn mllit Erilliskoe 4.2.2, rtkisuj (Jyrki Kivinen). [6+6+3+3 pistettä] () Kieli A koostuu niistä kkoston {, } merkkijonoist, joiss esiintyy osjono. Esitä kielelle A sekä deterministinen äärellinen utomtti että säännöllinen luseke. tkisu: deterministinen äärellinen utomtti, säännöllinen luseke ( ) ( ). () Kieli B koostuu niistä kkoston {, } merkkijonoist, joiss osjonon esiintymiskertojen lukumäärä on prillinen. (Noll on prillinen luku.) Esitä kielelle B sekä deterministinen äärellinen utomtti että säännöllinen luseke. tkisu: deterministinen äärellinen utomtti säännöllinen luseke ( ). (c) Esitä yhteydetön kielioppi kielelle { i j c i+j i, j N }. tkisu: c c ε. (d) Esitä yhteydetön kielioppi kielelle { i j i < j }. tkisu: UV U U V V ε. Arvostelu: Kukin utomtti, luseke j kielioppi kolme pistettä. Yhden pisteen on snut yrityksestä, joss on hvittviss joitin selviä oikensuuntisi ossi. Kksi pistettä on snut suunnilleen oikest rtkisust, joss on kuitenkin jokin selvä virhe ti useit pikkuvirheitä. Epädeterministisen utomtin esittämisestä on vähennetty yksi piste.
2. [8 pistettä] Muunn epädeterministinen äärellinen utomtti A, ε B C ε D deterministiseksi kurssill esitetyllä menetelmällä. tkisu: AB B, BCD BD ABD Arvostelu: tkisuksi on riittänyt pelkkä lopputulos, mikäli siitä on pystynyt päättelemään, miten siihen on päädytty. elvästä teknisestä virheestä oiken yleisperitteeseen perustuvss rtkisuss on vähennetty yksi piste. Tyypillisimmät virheet liittyivät tiln käsittelyyn. Jos rtkisuss näyttää olevn oike jtust, mutt selityksiä ei ole j virheitä on niin pljon, että perusjtuksen oikeellisuus ei tule ivn selväksi, on snut neljä pistettä. (tkisust huomtn, että utomtti itse siss hyväksyy kikki muut merkkijonot kuin ne, jotk lkvt. Tämän voisi tietysti tehdä pienemmälläkin utomtill, mutt tehtävänä nimenomn ei ollut pienimmän utomtin esittäminen.) 3. [ pistettä] Todist, että kieli F = { m n n m + 3 } ei ole säännöllinen. Voit käyttää hyväksi kikki kurssill esitettyjä tuloksi. tkisu: Tehdään vstoletus, että kieli F on säännöllinen. Tällöin sillä on pumppuslemmn mukn jokin pumppuspituus p. Olkoon s = p p+3. Nyt s F j s p. Pumppuspituuden määritelmän mukn on olemss x, y j z, joill s = xyz j seurvt kolme ehto pätevät: () xy i z F kikill i N () y > 2
(c) xy p. Vlitn tälliset x, y j z. Khden jälkimmäisen ehdon perusteell x = m j y = n, missä n > j m + n p, j z = p m n p+3. iis xy 2 z = p+n p+3, missä n >, joten xy 2 z F. Mutt ensimmäisen ehdon mukn piti oll xy 2 z F ; ristiriit. iis vstoletus on väärä j kieli F ei ole säännöllinen. Arvostelu: Tyypillisin virhe oli se, että ei trksteltu kikki mhdollisi jkoj s = xyz, vn vlittiin vin yksi sopiv. Tällisest rtkisust, jos se oli muuten oikein, si seitsemän pistettä. Kksi pistettä on snut hyvästä intuitiivisest selityksestä ti todistushhmotelmst, joss on ollut hvittviss joitin pumppmisen piirteitä. 4. [2+4+6 pistettä] () Mitä ehtoj yhteydettömän kieliopin tulee täyttää, että se olisi Chomskyn normlimuodoss? Vstus: Kikkien sääntöjen pitää oll jotin seurvist tyypeistä: A BC, missä A, B j C ovt muuttujsymoleit, j symoleist B j C kumpikn ei ole lähtösymoli A, missä A on muuttujsymoli j päätesymoli ε, missä on lähtösymoli. () Muunn kielioppi AB A A A B ε B AB Chomskyn normlimuotoon kurssill esitetyllä menetelmällä. tkisu: Todetn ensin, että nollutuvi ovt j A. Poistmll ε-säännöt sdn Unit-joukoiksi sdn nyt ε Poistmll yksikkösäännöt sdn AB B A A A B B AB AB B B Unit( ) = {,, A, B } Unit() = {, A, B } Unit(A) = { A, B } Unit(B) = { B }. AB AB AB B A ε AB AB AB B A A A AB AB B B AB AB B. 3
Lopult jkmll säännöt sopivn mittisiksi sdn AB AU AB B X A ε AB AU AB B X A A X A AU AB B B AU AB B U B X X. (c) Oletetn, että kielioppi G on Chomskyn normlimuodoss j siinä on muuttujsymoli. Osoit, että jos kieli L(G) sisältää jonkin yli 2 merkkiä pitkän merkkijonon, niin L(G) on ääretön. tkisu: Olkoot G j kuten edellä j w jokin yli 2 merkin jono, jok kuuluu kieleen L(G). Trkstelln merkkijonon w jäsennyspuut, jonk sisäsolmut siis vstvt kieliopin muuttuji j lehdet merkkijonon w päätesymoleit. Kosk kielioppi on Chomskyn normlimuodoss, sisäsolmuj on vin kht lji: selliset, joiden lpsin on tsn kksi sisäsolmu selliset, joiden inon lpsen on yksi lehtisolmu. Jälkimmäistä tyyppiä olevi solmuj on yhtä mont kuin lehtiä eli yli 2. Jos poistetn puust lehtisolmut, sdn siis yli 2 -lehtinen inääripuu. Binääripuiden perusominisuuksien perusteell pisin polku juurest lehteen sisältää tällöin yli krt eli yli + solmu. Kosk eri muuttuji kieliopiss on vin kpplett, jokin muuttuj esiintyy tällä polull khteen kertn. iis w = uvxyz, missä vy > j uv i xy i z kuuluu kieleen kikill i N: u v x y z x u z u v y z v x y (Tilnne on siis sm kuin yhteydettömien kielten pumppuslemmss.) Erityisesti siis kieli on ääretön. 4
5. [6+6 pistettä] () Mitä trkoitt, että lskennllinen ongelm on rtkemton? Määrittele täsmällisesti käyttäen kurssill esitettyjä käsitteitä. Ann esimerkki rtkemttomst lskennllisest ongelmst. Kuv kyseinen ongelm täsmällisesti, nn esimerkki käytännön tilnteest, joss se voisi esiintyä, j selitä lyhyesti, mitä ongelmn rtkemttomuudest tässä tilnteess seur. Vstus: Todetn ensinnäkin, että lskennlliset ongelmn ovt tällä kurssill päätösongelmi j voidn smist formleihin kieliin. Lskennllinen ongelm on rtkemton, jos mikään kikill syötteillä pysähtyvä Turingin kone ei tunnist vstv kieltä. Esimerkki rtkemttomst ongelmst on Turingin koneiden pysähtymisongelm: Annettu: Turingin kone M, merkkijono w Kysymys: Pysähtyykö M syötteellä w? Kosk Turingin kone j normlit yleiskäyttöisen ohjelmointikielet ovt ilmisuvoimltn smnlisi, tämä ongelm voisi esiintyä esim. ldittess jotin työklu ohjelmien testmiseen j virheenetsintään. Kosk ongelm kuitenkin on rtkemton, mikään ohjelm ei os rtkist sitä oikein kikill syötteillä (jos ikuiseen silmukkn jäämistä ei pidetä oiken rtkisun). iis näin yleiskäyttöistä työklu on mhdoton lti. Jos jotin tämäntyyppistä hlutn, pitää esim. rjoittu heikompiin ohjelmointikieliin ti muuten helpompiin erikoistpuksiin ti slli, että toisinn ohjelm ei pysähdy esim. jonkin ikrjn puitteiss j vstus jää selvittämättä. () Mitä trkoitt, että lskennllinen ongelm on NP-täydellinen? Määrittele täsmällisesti käyttäen kurssill esitettyjä käsitteitä. Ann esimerkki NP-täydellisestä lskennllisest ongelmst. Kuv kyseinen ongelm täsmällisesti, nn esimerkki käytännön tilnteest, joss se voisi esiintyä, j selitä lyhyesti, mitä ongelmn NP-täydellisyydestä tässä tilnteess seur. Vstus: Ongelm kuuluu luokkn NP, jos se voidn rtkist polynomisess jss epädeterministisellä Turingin koneell. Ongelm on NP-täydellinen, jos se kuuluu luokkn NP j lisäksi mikä luokn NP ongelm voidn polynomisesti plutt siihen. Erityisesti siis jos jokin NP-täydellinen ongelm kuuluisi luokkn P, seurisi P = NP. Esimerkki NP-täydellisestä ongelmst on kuppmtkustjn ongelm: Annettu: verkko G, verkon krten kustnnusfunktio w, luku k Kysymys: Onko verkoss G polku, jok pl lkusolmuuns kulkemll tsn kerrn kerrn jokisen muun solmun kutt j jonk kokoniskustnnus on korkeintn k? Ongelmll j sen yleistyksillä on sovelluksi esim. logistiikss jkelureittien suunnitteluss. Kosk ongelm on NP-täydellinen, ei käytännössä ole järkevää yrittää löytää in polynomisess jss toimiv lgoritmi. Mhdollisi lähestymistpoj ovt pproksimtiolgoritmit (jotk todistettvsti tuottvt jossin mielessä lähellä optimlist olevn rtkisun), heuristiset lgoritmit (jotk yleensä ovt nopeit mutt joiden tuottmn rtkisun ldust ei ole tkuit) j riittävän pienten ongelmien rtkiseminen eksponentilisen jn vievillä lgoritmeill. Arvostelust: Kummsskin kohdss määritelmä, esimerkki j selitys tilnteen merkityksestä ntoivt kukin kksi pistettä. Tehtävään ei ole mitään kovin yksikäsitteistä oike rtkisu, joten pisteitä on snut erilisist vstuksist, kunhn niistä on ilmennyt ymmärrystä si kohtn. Kuitenkin kielenkäytön j käsitteiden täsmällisyyteen on kiinnitetty rvosteluss melko pljon huomiot. 5