Ei-yhteydettömät kielet [Sipser luku 2.3]

Samankaltaiset tiedostot
Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Säännöllisten kielten sulkeumaominaisuudet

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Osoitamme, että jotkut kielet eivät ole säännöllisiä eli niitä ei voi tunnistaa äärellisellä automaatilla.

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut

Yhteydettömät kieliopit [Sipser luku 2.1]

Yhteydettömän kieliopin jäsennysongelma

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

uv n, v 1, ja uv i w A kaikilla

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

Chomskyn hierarkia ja yhteysherkät kieliopit

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

2. Yhteydettömät kielet

Pinoautomaatit. Pois kontekstittomuudesta

Kaikki mitä olet aina halunnut tietää pumppauslemmoista, mutta mitä et ole kehdannut kysyä

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

Rajoittamattomat kieliopit (Unrestricted Grammars)

Kertausta 1. kurssikokeeseen

Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää

ongelma A voidaan ratkaista ongelman B avulla, joten jossain mielessä

ICS-C2000 Tietojenkäsittelyteoria

Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja

Miten osoitetaan joukot samoiksi?

Rajoittamattomat kieliopit

Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).

ICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M :=

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

S BAB ABA A aas bba B bbs c

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

1 sup- ja inf-esimerkkejä

jäsentäminen TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 26. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Täydentäviä muistiinpanoja jäsennysalgoritmeista

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Muodolliset kieliopit

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016

Datatähti 2019 loppu

4.3. Matemaattinen induktio

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Lisää pysähtymisaiheisia ongelmia

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

8. Kieliopit ja kielet

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

S uay uvaxy uv 2 Ax 2 y... uv i Ax i y uv i wx i y.

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Diskreetit rakenteet

Täydentäviä muistiinpanoja laskennan rajoista

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Tehtävä 8 : 1. Tehtävä 8 : 2

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

1 sup- ja inf-esimerkkejä

isomeerejä yhteensä yhdeksän kappaletta.

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

Johdatus matemaattiseen päättelyyn

DFA:n käyttäytyminen ja säännölliset kielet

Algoritmin määritelmä [Sipser luku 3.3]

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. lokakuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

Luonnollisen päättelyn luotettavuus

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. joulukuuta 2015

11.4. Context-free kielet 1 / 17

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Jäsennysaiheesta lisää Täydentäviä muistiinpanoja TIEA241 Automaatit ja kieliopit, syksy 2016

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

Tietojenkäsittelyteorian alkeet, osa 2

JOHDATUS TEKOÄLYYN TEEMU ROOS

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 10. kesäkuuta 2013

KOMPLEKSIANALYYSI I KURSSI SYKSY 2012

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!

Täydentäviä muistiinpanoja kontekstittomien kielioppien jäsentämisestä

Äärellisten automaattien ja säännöllisten lausekkeiden minimointi

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.

Taulumenetelmä modaalilogiikalle K

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.

jäsennyksestä TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 29. syyskuuta 2016 TIETOTEKNIIKAN LAITOS Kontekstittomien kielioppien

Yllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen

Laskennan mallit

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Algoritmi on periaatteellisella tasolla seuraava:

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012

Transkriptio:

Ei-yhteydettömät kielet [Sipser luku 2.3] Yhteydettömille kielille pätee samantapainen pumppauslemma kuin säännöllisille kielille. Siinä kuitenkin pumpataan kahta osamerkkijonoa samaan tahtiin. Lause 2.25 (Yhteydettömien kielten pumppauslemma): [Sipser Thm. 2.34] Jos A on yhteydetön kieli, niin sille on olemassa pumppauspituus p N, jolle seuraava pätee: jos s A ja s p niin voidaan kirjoitaa s = uvxyz, missä 1. uv i xy i z A kaikilla i N, 2. vy > 0 ja 3. vxy p. 138

Toisin kuin säännöllisten kielten tapauksessa, pumppauslemma on helpoin ymmärtää kieliopin ja jäsennyspuiden avulla, ei automaattien. Idea on seuraava: Jos s kielen A merkkijono, sillä on jäsennyspuu sopivassa kielen A kieliopissa. Jos lisäksi s on kovin pitkä, jäsennyspuussa on oltava ainakin yksi pitkä haara. Kun jäsennyspuun haara on riittävän pitkä, ainakin yhden muuttujan on pakko esiintyä ainakin kaksi kertaa (kyyhkyslakkaperiaate). Jos asiaa ajatellaan johtojen kannalta, niin S uz uvyz uvxyz, missä sekä vy että x, ja u, v, x, y, z Σ. Näitä uudelleen yhdistelemällä saadaan johdot S uz uxz S uz uvyz uvvyyz uvvxyyz. 139

Sama kuvana: S S S u v x y z x u z u v y z v x y 140

Lauseen 2.25 todistus: Edellä esitetystä ideasta täsmennetään ensin, mitä on pitkä. Olkoon G = (V, Σ,, S) yhteydetön kielioppi, jolla A = L(G). Olkoon b suurin minkään säännön oikealla puolella olevien symbolien määrä. Siis jäsennyspuun millään solmulla ei ole yli b lasta. Jos jäsennyspuun syvyys on h, siinä on korkeintaan b h lehteä. (Syvyys on kaarten lukumäärä pisimmällä polulla juuresta lehteen.) Valitaan nyt p = b V +1 ja oletetaan s A ja s p. Olkoon τ merkkijonon s jäsennyspuu; jos niitä on useita, valitaan vähiten solmuja sisältävä. Valitaan puusta τ pisin polku juuresta lehteen. Edellisen perusteella polulla on enemmän kuin V kaarta ja siis ainakin V + 2 symbolia. Näistä tasan yksi on päätesymboli, joten viimeisten V + 2 symbolin joukossa ainakin yksi muuttuja esiintyy ainakin kaksi kertaa. Olkoon tällainen. 141

Nyt siis S uz uvyz uvxyz, joten edellä esitetyn päättelyn mukaisesti uv i xy i z A kaikilla i N eli ehto (1) pätee. Jos ehto (2) ei olisi voimassa, niin v = y = ε eli em. johto on muotoa S uz + uz uvxyz. Tässä on turha välivaihe +. Tämä on ristiriita, koska τ oletettiin pienimmäksi mahdolliseksi. Koska muuttujan kaksi esiintymää ovat polun V + 2 alimman solmun joukossa ja polku oli puun pisin, niin ylempään :n esiintymään juurtuva puu sisältää korkeintaan b V +1 lehteä. Siis vxy b V +1 = p eli ehto (3) pätee. 142

Pumppauslemmaa sovelletaan samaan tapaan kuin säännöllisillä kielillä. Esimerkki 2.26: [Sipser Ex. 2.36] Kieli B = {a n b n c n n N } ei ole yhteydetön. Vastaoletus: B on yhteydetön ja sillä on pumppauspituus p. Olkoon s = a p b p c p. Siis s p; olkoon s = uvxyz missä vy > 0 ja uv i xy i z B kaikilla i N. Tarkastellaan kahta vaihtoehtoa: 1. Jos merkkijono vy sisältää kaikkia kolmea merkkiä a, b ja c, niin v tai y sisältää ainakin kahta eri merkkiä. Siis uv 2 xy 2 z sisältää merkkejä väärässä järjestyksessä. 2. Jos merkkijono vy ei sisällä jotakin merkkiä, niin uv 2 xy 2 z sisältää puuttuvaa/puuttuvia merkkiä vähemmän kuin mukana olevia. Kummassakin tapauksessa uv 2 xy 2 z B; ristiriita. 143

Korollaari 2.27: Yhteydettömien kielten luokka ei ole suljettu leikkauksen eikä komplementin suhteen. Todistus: Olkoon B 1 = {a m b m c n m, n N } ja B 2 = {a m b n c n m, n N }. Kielet B 1 ja B 2 ovat yhteydettömiä, mutta niiden leikkaus on edellisen esimerkin ei-yhteydetön kieli B. Siis yhteydettömien kielten luokka ei ole suljettu leikkauksen suhteen. Tehdään nyt vastaoletus, että yhteydettömien kielten luokka on suljettu komplementin suhteen. Koska A B = A B ja yhteydettömien kielten luokka on suljettu yhdisteen suhteen, luokka on suljettu myös leikkauksen suhteen; ristiriita. 144

Esimerkki 2.28: [Sipser Ex. 2.37] Kieli C = { a i b j c k 0 i j k } ei ole yhteydetön. Vastaoletus: C on yhteydetön ja sillä on pumppauspituus p. Valitaan taas s = a p b p c p ja oletetaan s = uvxyz kuten pumppauslemmassa. Koska vxy p, niin vy ei voi sisältää sekä a:ta että c:tä. Kaksi tapausta: 1. Merkkijono vy ei sisällä yhtään a:ta. Nyt uxz sisältää b:tä tai c:tä vähemmän kuin a:ta; ristiriita. 2. Merkkijono vy sisältää ainakin yhden a:n mutta ei yhtään c:tä. Nyt uv 2 xy 2 z sisältää a:ta enemmän kuin c:tä; ristiriita. Samanlainen päättely osoittaa, että kieli ei ole yhteydetön. { w {a,b,c} w sisältää yhtä monta a:ta, b:tä ja c:tä } 145

Esimerkki 2.29: [Sipser Ex. 2.38] Kieli D = { ww w {0,1} n } ei ole yhteydetön. Vastaoletus: D on yhteydetön ja sillä on pumppauspituus p. Valitaan s = 0 p 1 p 0 p 1 p D. Koska s p, voidaan kirjoittaa s = uvxyz kuten pumppauslemmassa. Jos vxy sisältyy kokonaan merkkijonon s alkupuoliskoon, niin uxz = 0 i 1 j 0 p 1 p, missä i + j = 2p vy < 2p. Siis merkkijonon uxz alkupuolisko loppuu 0:aan, joten uxz ei ole muotoa ww; ristiriita. Samoin nähdään, että vxy ei voi kokonaan sisältyä loppupuoliskoon. Jäljelle jää mahdollisuus, että jonon 0 p 1 p 0 p 1 p = uvxyz keskikohta osuu pätkään uxz. Nyt uxz = 0 p 1 i 0 j 1 p, missä i < p tai j < p. Taaskaan uxz ei ole muotoa ww; ristiriita. Tämän esimerkin perusteella voimme päätellä, että yhteydettömällä kieliopilla ei voi esittää sellaisia ohjelmointikielten rajoituksia kuin muuttuja pitää määritellä ennen käyttöä. 146

Kurssi tähän asti: säännölliset ja yhteydettömät kielet säännölliset yhteydettömät kaikki kielet { a n } { a n b n } { a n b n c n } 147