ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Samankaltaiset tiedostot
ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 5 Demonstraatiotehtävien ratkaisut. ja kaikki a Σ ovat säännöllisiä lausekkeita.

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

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

Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Olkoon. M = (Q, Σ, δ, q 0, F)

Q = {q 1, q 2, q 3, q 4 } Σ = {a, b} F = {q 4 },

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Kuvausta f sanotaan tällöin isomorfismiksi.

Olkoon. äärellinen automaatti. Laajennetaan M:n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään

OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko

Säännöllisten operaattoreiden täydentäviä muistiinpanoja

Mutta esimerkiksi 0-kertaisesti pumpattaessa: Siten L ei voi olla säännöllinen.

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

Kieli, merkitys ja logiikka, kevät 2011 HY, Kognitiotiede. Vastaukset 2.

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

S if b then S else S S s. (b) Muodosta (a)-kohdan kieliopin kanssa ekvivalentti, so. saman kielen tuottava yksiselitteinen.

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

2.5 Säännöllisten kielten rajoituksista

Automaatin tunnistama kieli on sen hyväksymien merkkijonojen joukko. Täsmällinen muotoilu: δ,q 0,{q 2,q 3,q 6 }), missä

Matematiikan tukikurssi

2.4 Pienimmän neliösumman menetelmä

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

II.1. Suppeneminen., kun x > 0. Tavallinen lasku

Laskennan perusmallit 2013: Kertausta

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

2.2 Automaattien minimointi

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (Predikaattilogiikka )

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Esimerkki 8.1 Määritellään operaattori A = x + d/dx. Laske Af, kun f = asin(bx). Tässä a ja b ovat vakioita.

Neliömatriisin A determinantti on luku, jota merkitään det(a) tai A. Se lasketaan seuraavasti: determinantti on

Riemannin integraalista

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

Numeeriset menetelmät TIEA381. Luento 9. Kirsi Valjus. Jyväskylän yliopisto. Luento 9 () Numeeriset menetelmät / 29

763333A KIINTEÄN AINEEN FYSIIKKA Ratkaisut 1 Kevät 2014

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause

Digitaalinen videonkäsittely Harjoitus 5, vastaukset tehtäviin 25-30

Riemannin integraali

4 DETERMINANTTI JA KÄÄNTEISMATRIISI

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

1.3 Toispuoleiset ja epäoleelliset raja-arvot

TEHTÄVÄ 1. Olkoon (f n ) jono jatkuvia funktioita f n : [a, b] R, joka suppenee välillä [a, b] tasaisesti kohti funktiota f : [a, b] R.

Reaalinen lukualue. Millainen on luku, jossa on päättymätön ja jaksoton desimaalikehitelmä?

Ristitulo ja skalaarikolmitulo

Yhteydettömän kieliopin jäsennysongelma

Täydentäviä muistiinpanoja epädeterministisistä äärellisistä automaateista

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

Sarjaratkaisun etsiminen Maplella

Määritelmä Olkoon C R m yksinkertainen kaari ja γ : [a, b] R m sen yksinkertainen parametriesitys, joka on paloittain C 1 -polku.

Suorakaidekanavat. lindab suorakaidekanavat

6.2 Algoritmin määritelmä

Yhteydettömät kieliopit [Sipser luku 2.1]

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

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

Syksyn 2015 Pitkän matematiikan YO-kokeen TI-Nspire CAS -ratkaisut

Käydään läpi: ääriarvo tarkastelua, L Hospital, integraalia ja sarjoja.

TAMPEREEN YLIOPISTO Valinnaisten opintojen syventäviin opintoihin kuuluva tutkielma. Lauri Kumpulainen. Büchin automaateista

Vastaa tehtäviin 1-4 ja valitse toinen tehtävistä 5 ja 6. Vastaat siis enintään viiteen tehtävään.

LINSSI- JA PEILITYÖ TEORIAA. I Geometrisen optiikan perusaksioomat

AUTOMAATTIEN SYNKRONISAATIOSTA

Chomskyn hierarkia ja yhteysherkät kieliopit

Riemannin integraalista

Kognitiivinen mallintaminen I, kevät Harjoitus 1. Joukko-oppia. MMIL, luvut 1-3 Ratkaisuehdotuksia, MP

T /1002 Tietojenkäsittelyteorian perusteet T/Y

T /1002 Tietojenkäsittelyteorian perusteet T/Y

Polynomien laskutoimitukset

θ 1 θ 2 γ γ = β ( n 2 α + n 2 β = l R α l s γ l s 22 LINSSIT JA LINSSIJÄRJESTELMÄT 22.1 Linssien kuvausyhtälö

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

10. MÄÄRÄTYN INTEGRAALIN KÄYTTÖ ERÄIDEN PINTA-ALOJEN LASKEMISESSA

ICS-C2000 Tietojenkäsittelyteoria

Paraabelikin on sellainen pistejoukko, joka määritellään urakäsitteen avulla. Paraabelin jokainen piste toteuttaa erään etäisyysehdon.

Integraalilaskentaa. 1. Mihin integraalilaskentaa tarvitaan? MÄNTÄN LUKIO

T /2 Tietojenkäsittelyteorian perusteet T/Y

Mikrotalousteoria 2, 2008, osa III

2.1 Vaillinaiset yhtälöt

// Tulostetaan liukulukutyyppinen muuttuja riviä vaihtamatta // yhden desimaalin tarkkuudella. System.out.printf("%.

Johdatus L A TEXiin. 6. Omat komennot ja lauseympäristöt Markus Harju. Matemaattiset tieteet

a = x 0 < x 1 < x 2 < < x n = b f(x) dx = I. lim f(x k ) x k=1

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

S BAB ABA A aas bba B bbs c

sin θ θ θ r 2 sin 2 θ φ 2 = 0.

Rekursioyhtälön ratkaisutapa #1: iteratiivinen korvaus

ANALYYSI I, kevät 2009

Vuokrahuoneistojen välitystä tukeva tietojärjestelmä.

Analyysi 2. Harjoituksia lukuihin 1 3 / Kevät Anna sellainen välillä ] 2, 2[ jatkuva ja rajoitettu funktio f, että

Sinilause ja kosinilause

SALAINEN KIRJASTO. Harjoitusvihkon. Eija Lehtiniemi OPETTAJAN OHJEET. Erityisopetus

3 Integraali ja derivaatta

MITEN MÄÄRITÄN ASYMPTOOTIT?

Säännöllisten kielten sulkeumaominaisuudet

VEKTOREILLA LASKEMINEN

Laskennan perusmallit (LAP)

VEKTOREILLA LASKEMINEN

Transkriptio:

ICS-C2000 Tietojenkäsittelyteori Kevät 2016 Kierros 5, 8. 12. helmikuut Demonstrtiotehtävien rtkisut D1: Hhmolusekkeet ovt esimerkiksi UN*X-järjestelmien tekstityökluiss käytetty säännöllisten lusekkeiden yleistys, joss sllitn merkkijonorvoisten muuttujien käyttö lusekkeiss. Sovitettess merkkijono nnettuun lusekkeeseen vditn, että tietynnimisen muuttujn rvoksi tulee eri kohdiss sm osmerkkijono. Siten esimerkiksi Xb X j X( b) Y X( b) Y ovt kkoston {,b} hhmolusekkeit, joist ensimmäinen kuv kielen {wb n w w {,b}, n 0}. Osoit, että hhmolusekkeet ovt säännöllisten lusekkeiden ito yleistys, so. että niillä voidn kuvt myös joitkin ei-säännöllisiä kieliä. Rtkisu: Osoittksemme, että tehtävän hhmolusekkeet on säännöllisten lusekkeiden ito yleistys, tulee meidän löytää hhmoluseke, jonk määrittämä kieli ei ole säännöllinen. Trkstelln hhmolusekett XX vstv kieltä L = {zz z {,b} }. Oletetn, että L on säännöllinen. Vlitn x = n b n b L, missä n on pumppuslemmss esiintyvä kielestä L riippuv kokonisluku. Nyt x = 2n + 2 > n. Pumppuslemmn mukn voidn kirjoitt x = uvw, missä uv n j v 1. Siis u = n v k, v = v j w = k b n b, missä 0 k < n. Nyt pumppuslemmn mukn kikille i 0 tulisi päteä uv i w L. Kuitenkin uv 0 w = uw = n v b n b L, sillä se ei ole muoto zz, kosk vdittiin v 1. Päädyttiin siis ristiriitn oletuksen knss. L ei näin ollen voi oll säännöllinen. Löydettiin siis ei-säännöllinen kieli, jok voidn kuvt hhmolusekkeell. Näin ollen hhmolusekkeet ovt säännöllisten lusekkeiden ito yleistys. D2: Osoit, että kieli {w {,b} w:ssä on yhtä mont :t j b:tä} ei ole säännöllinen, j ldi yhteydetön kielioppi sen kuvmiseen. Rtkisu: Kielen L = {w {,b} w:ssä on yhtä mont :t j b:tä} voi todist ei-säännölliseksi suorn pumppuslemmll. Tässä esitetään kuitenkin hiemn monimutkisempi rtkisu esimerkkinä siitä, miten hnkli kieliä voidn käsitellä. Määritellään kieli L = L L( b ). Oletetn, että L on säännöllinen. Kosk L( b ) on säännöllinen j säännöllisten kielten joukko on suljettu leikkuksen suhteen, täytyy myös L :n oll säännöllinen. (Toisinpäin ehto ei päde: L voi oll säännöllinen vikk L ei olisi, sillä esim. A /0 = /0 kikille kielille A). Huomtn, että L = { k b k k 0}. Trkstelln sn w = n b n, missä n on pumppuslemmss esiintyvä prmetri. Yritetään ositt w lemmn ehtojen mukisesti. Kosk 1

xy n, osituksen täytyy oll muoto; x = n i k y = i z = k b n, missä 0 < i n j i + k n. Nyt xz = n i b n, joten xz / L. Näin ollen sn w ei void pumpt, eikä L ole säännöllinen, joten myöskään L ei ole säännöllinen. Kielen L kuv esimerkiksi seurv yhteydetön kielioppi: S SbS bss ε Kieliopin ensimmäinen sääntö esittää ehdon: Jos sn lk :ll, niin jossin koht snss esiintyy myös vstv b. Tätä ennen j jälkeen voi esiintyä mitä thns tspinoisi merkkijonoj. D3: Ldi yhteydetön kielioppi, jok tuott kikki seurvn esimerkin tpiset, yksinkertisist sisäkkäisistä for-silmukoist, begin- j end-sulkeill kootuist luseist j lkeisopertioist rkentuvt ohjelmt : ; for 3 times do begin for 5 times do ; ; end. Silmukklskureiden voit olett olevn kokonislukuj väliltä 0,..., 9. Rtkisu: Ohjelmointikielten kieliopit määritellään useimmiten siten, että kkostoksi otetn kielessä esiintyvät syntktiset elementit (lekseemit). Tässä tpuksess niitä ovt numerot, sekä vrtut snt. Ohjelmn jäsentäminen jetn khteen osn: () Muutetn ohjelmn teksti jonoksi lekseemeitä tilkoneiden vull. (b) Muodostetn lekseemijonon jäsennyspuu. Tehtävän kieliopin voi määritellä monellkin eri tp, tässä on yksi mhdollinen tulkint: G =(V,Σ,P,C) V ={C,S,N,begin,do,end,for,times,0,1,2,3,4,5,6,7,8,9,;,} Σ ={begin,do,end,for,times,0,1,2,3,4,5,6,7,8,9,;,} 2

Tässä välikkeen S tulkintn on luse (sttement), C:n yhdistetty luse (compound sttement) j N:n numero. Kieliopin säännöt määritellään seurvsti: P = {C S S;C S begin C end for N times do S N 0 1 2 3 4 5 6 7 8 9} Esimerkki. Tehtävännnoss esiintyneen ohjelmn jäsennyspuu: D4: Moderniss WWW-sivujen kuvmiseen käytetyssä XML-kielessä on sivujen suunnittelijn mhdollist lti omi ns. dokumenttityyppimäärityksiä (engl. Document Type Definition, lyh. DTD), jotk ovt oleellisesti sivull esitettävän tekstin ti muun dtn rkennett kuvvi yhteydettömiä kielioppej. Tutustu tämän XML/DTD-kuvuskielen nottioon (esim. WWW-sivult http://www.rpbourret.com/xml/xmldtd.htm), j ldi seurv XML/DTD-kuvust vstv yhteydetön kielioppi: <!DOCTYPE Book [ <!ELEMENT Book (Title, Chpter+)> <!ATTLIST Book Author CDATA #REQUIRED> <!ELEMENT Title (#PCDATA)> <!ELEMENT Chpter (#PCDATA)> <!ATTLIST Chpter id ID #REQUIRED> ]> 3

Rtkisu: Yllä olev DTD-kuvus määrittelee rkenteen kirjlle. Määrittelyssä esiintyy khdenlisi sioit: osi (element) j ttribuuttej (ttlist). Perusjtuksen on, että kirj itsessään koostuu osist, j ttribuutit puolestn liittävät kirjn osiin ylimääräistä tieto. Yleisesti otten ttribuuttej ei void esittää puhtill kieliopeill, vn niitä vrten trvitn ttribuuttikieliopit (ks. opetusmoniste s. 60 68). Näin ollen DTD-kuvuksest mllinnetn ensin vin ost, eli käytännössä inostn rivit, jotk lkvt merkinnällä!element. Näistä riveistä ensimmäinen: <!ELEMENT Book (Title, Chpter+)> kertoo, että kirj (Book) sisältää otsikon (Title) j listn lukuj (Chpter). Lukuj täytyy oll vähintään yksi. Seurv rivi: <!ELEMENT Title (#PCDATA)> puolestn määrittelee otsikon merkkijoukoksi (#PCDATA). Merkkijoukkoon voi kuulu perittess mitä thns tietokoneen merkkijärjestelmään kuuluvi symboleit. Lopuksi, rivi: <!ELEMENT Chpter (#PCDATA)> kertoo luvun olevn ts joukko merkkejä. Kirjn rkenteen kuv siis kielioppi: 1 Book Title Chpters Title dt Chpters Chpter Chpters Chpter Chpter dt XML-kielessä erotetn dokumentin ost toisistn käyttäen pun <A> j </A> koodej. Kun nämä koodit lisätään yllä olevn kielioppiin, sdn tulokseksi seurvnlinen yhteydetön kielioppi: Book Book Title Chpters /Book Title Title dt /Title Chpters Chpter Chpters Chpter Chpter Chpter dt /Chpter 1 Kursiivill kirjoitetut snt ovt välikkeitä, vhvennetut päätemerkkejä. 4

Vikk ttribuuttej ei voidkn täysin esittää yhteydettömällä kieliopill, niiden syntksi voidn kuitenkin kuvt. XML-kielessä osn ttribuutit kirjoitetn osn loittvn koodin sisään. Lisäämällä nämä ylläolevn kielioppiin sdn tulokseksi: Book Book BookAttributes Title Chpters /Book Title Title dt /Title Chpters Chpter Chpters Chpter Chpter Chpter ChpterAttributes dt /Chpter BookAttributes uthor = dt ChpterAttributes id = dt Tässä on huomttv, että yhteydettömällä kieliopill ei void määritellä ehto, jonk mukn kikill luvuill on eri tunnus. Tällisten ehtojen toteutuminen täytyy trkist jollin erillisellä ohjelmkoodill. Liite: oikelle lineriset kieliopit Yhteydetön kielioppi G on oikelle linerinen, mikäli sen kikki säännöt ovt muoto: A αb, missä α Σ j B V {ε}. Toisin snoen, säännön oikell puolell s esiintyä korkeintn yksi välike, j sen täytyy oll säännön lopuss. Esimerkiksi säännöt A bc j A ε ovt oikelle linerisi, mutt A B j A bcd eivät ole. Vstvsti vsemmlle linerisen kieliopin kikki säännöt ovt muoto A Bα. Oikelle j vsemmlle lineriset kieliopit ovt ilmisuvoimltn smll tsoll kuin äärelliset utomtit, eli niillä voidn ilmist kikki säännölliset kielet. Säännöllisen kielen tuottv oikelle linerinen kielioppi voidn luke suorn kielen tunnistvst utomtist. Kieliopin välikkeiksi otetn utomtin tilt, j kustkin utomtin siirtymästä q i q j sdn sääntö Q i Q j. Lisäksi kielioppiin lisätään säännöt Q f ε kikille hyväksyville lopputiloille q f F. Esimerkiksi utomtti: vstv kielioppi on: q 2 q q 1 0 b b b Q 0 Q 1 bq 2 ε Q 1 Q 2 bq 0 Q 2 Q 0 bq 1. 5