T /1002 Tietojenkäsittelyteorian perusteet T/Y

Koko: px
Aloita esitys sivulta:

Download "T /1002 Tietojenkäsittelyteorian perusteet T/Y"

Transkriptio

1 T /1002 Tietojenkäsittelyteorin perusteet T/Y Hrri Hnpää Tietojenkäsittelyteorin lortorio, TKK Syksy 2007 Hrri Hnpää 1 T /1002 Tietojenkäsittelyteorin perusteet T/Y Introduction to Theoreticl Computer Science T/Y Wht cn one do with computer? This course divides roughly into three prts We exmine three models of computer, their power nd limittions, ie, the clsses of lnguges tht they cn decide It turns out tht ech clss of utomt corresponds to clss of grmmrs The clsses of utomt nd grmmrs re: 1 Finite stte utomt & regulr expressions 2 Pushdown utomt & context-free grmmrs 3 Turing mchines & unrestricted grmmrs The first teching period of the course (=Y version) covers finite stte utomt, regulr expressions nd context-free grmmrs The second period covers the rest Hrri Hnpää 3 Luento 0: Aiheen esittely j kurssin käytännöt Luento 1: temttisi peruskäsitteitä; merkkijonot j kielet Luento 2: Äärelliset utomtit Luento 3: ÄA:n minimointi; epädeterministiset ÄA:t Luento 4: Säännölliset lusekkeet j äärelliset utomtit Luento 5: Yhteydettömät kieliopit; säännölliset kieliopit Luento 6: Jäsennyspuut; LL(1)-kielioppien jäsennys Luento 7: Säännöllisten kielten pumppuslemm; Chomskyn normlimuoto; CYK-lgoritmi Luento 8: Pinoutomtit, yhteydettömien kielten pumppuslemm; Turingin kone Luento 9: Turingin koneen ljennuksi; joukkojen numeroituvuus Luento 10: Kieliluokt R j RE; universlinen Turingin kone Luento 11: Pysähtymisongelm; rtkemttomuus; Ricen luse Luento 12: Rjoittmttomt j yhteysherkät kieliopit; Chomskyn hierrki Hrri Hnpää 2 Course versions There re two versions of the course for different kinds of students If you re unsure, check the study guide or sk your study dvisor T Introduction to TCS T, periods I-II, 4 cr compulsory in the computer science cndidte progrm; replces T-79148, compulsory in mny specilistions of the pre-2005 telecommunictions engineering curriculum; in B1 module for studying Theoreticl Computer Science s minor; in the Discrete themtics B1 module T Intro to TCS Y, period I, 2 cr compulsory in the 2005 dt nd communictions cndidte progrm; prt of ridge studies for polytechnic grdutes to enter computer science progrm Hrri Hnpää 4

2 Prcticl rrngements Registrtion: oligtory, y TOPI Lectures: Tue T1, in Finnish y Hrri Hnpää Tutorils: once week, register y TOPI Thu (in English) on on on (period I only) on (period I only) Tue Computer exercises: oligtory, using WWW system STRATU Course home pge: Course newsgroup: opinnottiktkt on newstkyhutfi Plese sk (nd nswer!) your questions there! To pss the course 1 Pss the computer exercises efore tking the exm 2 After pssing the computer exercises tke the exm (exms typiclly in y, Aug, Oct, Dec, r) ximum score in exm is 60 for T course, 40 for Y course 3 There re 3 homework prolems week; you gin onus points for exm ccording to tle: # solved: T T N/A 4 By completing the computer ssignments y 18 Oct 13:00, one cn ern onus of 2 points for the exm 5 inimum score for vrious grdes my vry However, with 30 points (T) or 20 points (Y) pssing is gurnteed Hrri Hnpää 5 Hrri Hnpää 6 Honour code Solve your computer ssignments yourself Solve tutoril prolems yourself or in smll groups ut do not tolerte free riders An honest try is etter thn copied model solution If someone sks for your help, do not give wy the prolem give little hint to point him/her in the right direction teril Lecture notes (in Finnish) nd solutions of demonstrtion exercises (in Finnish) re distriuted through Edit Recommended textook ichel Sipser, Introduction to the Theory of Computtion, PWS Pulishing 1997 (Supplementry for Finnish-speking students; likely necessry for non-finnish-speking students) Some dditionl mteril on the course WWW pge Hrri Hnpää 7 Hrri Hnpää 8

3 Tietojenkäsittelyteorin os-loj TIETOJENKÄSITTELYTEORIA temttinen oppi siitä, mitä tietokoneell on mhdollist tehdä j kuink tehokksti Trjo mtemttisi käsitteitä j menetelmiä tietojenkäsittelyjärjestelmien mllintmiseen j nlysointiin sekä selkeiden j tehokkiden rtkisujen ltimiseen Lskettvuusteori itä tietokoneell voi tehdä peritteess? Turing, Gödel, Church, Post (1930-luku); Kleene, rkov (1950-luku) Lskennn vtivuusteori itä tietokoneell voi tehdä käytännössä? Hrtmnis, Sterns (1960-luku); Cook, Levin, Krp (1970-luku); Ppdimitriou, Sipser, Håstd, Rzorov ym (1980-) Automtti- j kielioppiteori Tietojenkäsittelyjärjestelmien perustyyppien ominisuudet j kuvusformlismit Chomsky (1950-luku); Ginsurg, Greich, Rin, Slom, Schützenerger ym (1960-luku) Hrri Hnpää 9 Tietojenkäsittelyteorin os-loj Ohjelmien oikeellisuus Tietojenkäsittelyjärjestelmien mtemttisesti ekskti määrittely j oiken toiminnn verifiointi uut Dijkstr, Hore (1960-luku); nn, Pnueli, Scott ym (1970-) lgoritmien suunnittelu j nlyysi (Knuth, Hopcroft, Trjn ym) kryptologi (Rivest, Shmir, Adlemn ym) rinnkkisten j hjutettujen järjestelmien teori (Lmport, Lynch, ilner, Vlint ym) koneoppimisteori (Vlint ym) jne Tällä kurssill käsitellään lähinnä utomttej j kielioppej sekä hiemn lskettvuusteorin lkeit uit iheit käsitellään Tietojenkäsittelyteorin lortorion muill kursseill Hrri Hnpää 11 Hrri Hnpää 10 1 temttisi peruskäsitteitä 11 Joukot Joukko (engl set) on kokoelm lkioit Alkiot voidn ilmoitt joko luettelemll, esim ti jonkin säännön vull, esim S = {2,3,5,7,11,13,17,19} S = {p p on lkuluku, 2 p 20} Jos lkio kuuluu joukkoon A, merkitään A, päinvstisess tpuksess / A (Esim 3 S, 8 / S) Tärkeä erikoistpus on tyhjä joukko (engl empty set) /0, johon ei kuulu yhtään lkiot Hrri Hnpää 12

4 Jos joukon A kikki lkiot kuuluvt myös joukkoon B, snotn että A on B:n osjoukko (engl suset) j merkitään A B [Kirjllisuudess esiintyy myös merkintä A B] Jos A ei ole B:n osjoukko merkitään A B Siis esim {2,3} S, {1,2,3} S Trivilisti on voimss /0 A kikill A Joukot A j B ovt smt, jos niissä on smt lkiot, so jos on A B j B A Jos on A B, mutt A B, snotn että A on B:n ito osjoukko (engl proper suset) j merkitään A B Edellä olisi siis voitu myös kirjoitt {2,3} S j /0 A jos A /0 Joukon lkioin voi oll myös toisi joukkoj (tällöin puhutn usein joukkoperheestä ), esim X = {/0,{1},{2},{1,2}} Jonkin perusjoukon A kikkien osjoukkojen muodostm joukkoperhettä snotn A:n potenssijoukoksi (engl powerset) j merkitään P (A):ll; esim edellä on X = P ({1,2}) [Kosk n-lkioisen perusjoukon A potenssijoukoss on 2 n lkiot (HT), käytetään kirjllisuudess potenssijoukolle myös merkintää 2 A ] Huom, että A B jos j vin jos A P (B) Hrri Hnpää 13 Joukkoj voidn kominoid joukko-opertioill, joist tärkeimmät ovt: yhdiste (engl union) A B = {x x A ti x B}, esim {1,2,3} {1,4} = {1,2,3,4} leikkus (engl intersection) A B = {x x A j x B}, esim {1,2,3} {1,4} = {1} erotus (engl difference) A B = {x x A j x / B}, Hrri Hnpää 14 Joukko-opertioit koskevt tietyt lskulit, joist tärkeimmät ovt yhdisteen j leikkuksen liitännäisyys: A (B C) = (A B) C, j vihdnnisuus: sekä näiden osittelulit: A B = B A, A (B C) = (A B) C A B = B A A (B C) = (A B) (A C), A (B C) = (A B) (A C) esim {1,2,3} {1,4} = {2,3} [Erotukselle käytetään myös merkintää A \ B] Hrri Hnpää 15 Hrri Hnpää 16

5 Jos kikki trksteltvt joukot ovt jonkin yhteisen universlijoukon U osjoukkoj, snotn erotust U A joukon A komplementiksi (U:n suhteen) j merkitään Ā:ll Yhdiste-, leikkus- j komplementointiopertioit yhdistävät tärkeät ns de orgnin kvt: A B = Ā B, A B = Ā B Lisäksi joukkojen erotus voidn esittää leikkuksen j komplementoinnin vull seurvsti: Jos joukkoperheen A jäsenet on indeksoitu, esim A = {A 1,A 2,A 3,}, niin yhdisteelle j leikkukselle voidn käyttää lyhennemerkintöjä [ A i = A 1 A 2 A 3 i 1 j \ A i = A 1 A 2 A 3 Indeksien ei trvitse oll edes luonnollisi lukuj, vn indeksijoukkon voi oll mikä thns joukko I Tällöin käytetään merkintöjä i 1 A = {A i i I} A B = A B j [ A i, i I \ A i i I Hrri Hnpää 17 Hrri Hnpää Reltiot j funktiot Olkoot A j B joukkoj Alkioiden A j B järjestettyä pri (engl ordered pir) merkitään (, ) Huom, että joukkoin on in {,} = {,}, mutt jos, niin järjestettyinä prein on (,) (,) Joukkojen A j B krteesinen tulo (engl Crtesin product) määritellään A B = {(,) A j B}, esim {1,2,3} {1,4} = {(1,1),(1,4),(2,1),(2,4),(3,1),(3,4)} Reltio R joukolt A joukolle B on krteesisen tulon A B osjoukko: R A B Jos (,) R, niin merkitään myös R j snotn että lkio on reltioss (suhteess) R lkioon Tätä infix-merkintää käytetään vrsinkin silloin, kun reltion nimenä on jokin erikoismerkki, esim,,, Jos reltion R lähtöjoukko (engl domin) A j mlijoukko (engl rnge) B ovt smt, so R A A, snotn että R on reltio joukoss A Hrri Hnpää 19 Hrri Hnpää 20

6 Reltion R A B käänteisreltio (engl inverse reltion) on reltio R 1 B A, R 1 = {(,) (,) R} Jos R A B j S B C ovt reltioit, niin niiden yhdistetty reltio (engl composite reltion) R S A C määritellään: R S = {(,c) B se (,) R,(,c) S} Vrsinkin jos joukot A j B ovt äärellisiä, reltiot R A B voi oll hvinnollist trkstell suunnttun verkkon t grfin, jonk solmuin ovt joukkojen A j B lkiot j solmust A on kri ( nuoli ) solmuun B, jos j vin jos (,) R Olkoon esimerkiksi joukoss A = {,, c, d} määritelty reltio R A A, Reltion R grfiesitys on R = {(,),(,c),(,d),(c,d),(d,d)} Reltion R R grfiesitys puolestn on c d c d Hrri Hnpää 21 Hrri Hnpää 22 Reltio f A B on funktio, jos kukin A on reltioss f täsmälleen yhden B knss Tällöin käytetään yleisten reltiomerkintöjen sijn tvllisesti merkintöjä f : A B j f() = Funktioit koskee kikki mitä edellä yleisesti on todettu reltioist, mutt historillisist syistä funktioiden yhdistäminen merkitään toisin päin kuin yleisten reltioiden: jos f : A B j g : B C ovt funktioit, niin niiden yhdistetty funktio määritellään kvll (g f)() = g(f()), so reltioin g f = {(,c) B se f() =,g() = c} Olkoon f : A B funktio f on surjektio (engl onto mp), jos jokinen B on jonkin A kuv, so jos f(a) = B f on injektio (engl one-to-one mp), jos kikki A kuvutuvt eri lkioille, so jos f() f( ) f on ijektio, jos se on sekä injektio että surjektio, so jos jokinen B on yhden j vin yhden A kuv Hrri Hnpää 23 Hrri Hnpää 24

7 13 Ekvivlenssireltiot Ekvivlenssireltiot ovt mtemttisesti täsmällinen muotoilu sille yleiselle idelle, että oliot ovt keskenään smnkltisi jonkin kiinnostvn ominisuuden X suhteen Ominisuuteen X perustuv ekvivlenssireltio ositt trksteltvien olioiden joukon ekvivlenssiluokkiin, jotk vstvt ominisuuden X eri rvoj (Kääntäen mielivltinen olioiden joukon ositus Π määrää tietyn strktin smnkltisuusominisuuden, nim sen että oliot ovt smnkltisi jos ne sijoittuvt smn osituksen Π luokkn) Osoittutuu, että yleinen smnkltisuusreltion ide voidn kiteyttää seurviin kolmeen ominisuuteen ääritelmä 11 Reltio R A A on 1 refleksiivinen, jos R A; 2 symmetrinen, jos R R, A; 3 trnsitiivinen, jos R,Rc Rc,,c A ääritelmä 12 Reltio R A A, jok toteutt edelliset ehdot 1 3 on ekvivlenssireltio Alkion A ekvivlenssiluokk (reltion R suhteen) on R[] = {x A Rx} Ekvivlenssireltioit merkitään usein R:n sijn lkioiden smnkltisuutt korostvill symoleill,, tms Hrri Hnpää 25 Esim Olkoon A = {kikki 1900-luvull syntyneet ihmiset} j R voimss, jos henkilöillä j on sm syntymävuosi Tällöin R on selvästi ekvivlenssi, jonk ekvivlenssiluokt koostuvt keskenään smn vuonn syntyneistä henkilöistä Luokki on 100 kpplett, j strktisti ne vstvt 1900-luvun vuosi 1900,,1999 Hrri Hnpää 26 Lemm 13 Olkoon R A A ekvivlenssi Tällöin on kikill, A voimss: R[] = R[] joss R Tod Helppo; sivuutetn Lemm 14 Olkoon R A A ekvivlenssi Tällöin R:n ekvivlenssiluokt muodostvt A:n osituksen erillisiin epätyhjiin osjoukkoihin, so: R[] /0 kikill A; A = S A R[]; jos R[] R[], niin R[] R[] = /0, kikill, A Tod Helppo; sivuutetn Kääntäen jokinen perusjoukon A ositus erillisiin epätyhjiin luokkiin A i, i I, määrää vstvn ekvivlenssireltion: j kuuluvt smn luokkn A i Hrri Hnpää 27 Hrri Hnpää 28

8 15 Induktiopäättely Olkoon P(k) jokin luonnollisten lukujen ominisuus Jos on voimss: 1 P(0) j 2 kikill k 0: P(k) P(k + 1), niin P(n) on tosi kikill n N Esimerkki Väite Kikill n N on voimss kv P(n) : ( n) 2 = n 3 Todistus 1 Perustpus: P(0) : 0 2 = 0 (jtkuu) Hrri Hnpää 29 Hrri Hnpää 30 2 Induktioskel: Oletetn, että nnetull k 0 kv P(k) : ( k) 2 = k 3 on voimss Tällöin on myös: ( k + (k + 1)) 2 = (1 + + k) 2 + 2(1 + k)(k + 1) + (k + 1) 2 = k 3 k(k + 1) + 2 (k + 1) + (k + 1) 2 2 = k 3 + k(k + 1) 2 + (k + 1) 2 = k 3 + (k + 1) 3 On siis todettu, että kvn P(k) totuudest seur kvn P(k + 1) totuus, so että P(k) P(k + 1), kikill k 0 Luonnollisten lukujen induktioperitteen 19 nojll voidn nyt päätellä, että kv P(n) on voimss kikill n N 16 Akkostot, merkkijonot j kielet Automttiteori diskreetin signlinkäsittelyn perusmllit j -menetelmät ( diskreettien I/O-kuvusten yleinen teori) 1011 Input Automton Output Automtin käsite on mtemttinen strktio Yleisellä tsoll suunniteltu utomtti voidn toteutt eri tvoin: esim sähköpiirinä, meknisen litteen ti (tvllisimmin) tietokoneohjelmn B Hrri Hnpää 31 Hrri Hnpää 32

9 Peruskäsitteitä j merkintöjä Tällä kurssill keskitytään pääosin utomtteihin, joiden: 1 syötteet ovt äärellisiä, diskreettejä merkkijonoj 2 tulokset ovt muoto hyväksy / hylkää ( syöte OK / syöte ei kelp ) Yleistyksiä: äärettömät syötejonot ( rektiiviset järjestelmät, Büchi-utomtit) funktioutomtit ( oore- j ely-tilkoneet, Turingin funktiokoneet) Akkosto (engl lphet, voculry): äärellinen, epätyhjä joukko lkeismerkkejä t symoleit Esim: inäärikkosto {0, 1}; ltinlinen kkosto {A,B,,Z} erkkijono (engl string): äärellinen järjestetty jono jonkin kkoston merkkejä Esim: 01001, 0000 : inäärikkoston merkkijonoj; TKTP, XYZZY : ltinlisen kkoston merkkijonoj tyhjä merkkijono (engl empty string) Tyhjässä merkkijonoss ei ole yhtään merkkiä; sitä voidn merkitä ε:llä erkkijonon x pituus x on sen merkkien määrä Esim: = 5, TKTP = 4, ε = 0 Hrri Hnpää 33 Hrri Hnpää 34 erkkijonojen välinen perusopertio on ktentio eli jonojen peräkkäin kirjoittminen Ktention opertiomerkkinä käytetään joskus selkeyden lisäämiseksi symoli Esim KALA KUKKO = KALAKUKKO; jos x = 00 j y = 11, niin xy = 0011 j yx = 1100; kikill x on xε = εx = x; kikill x, y, z on (xy)z = x(yz); kikill x, y on xy = x + y Akkoston Σ kikkien merkkijonojen joukko merkitään Σ :ll Esimerkiksi jos Σ = {0,1}, niin Σ = {ε,0,1,00,01,10,} ielivltist merkkijonojoukko A Σ snotn kkoston Σ (formliksi) kieleksi (engl forml lnguge) Hrri Hnpää 35 Hrri Hnpää 36

10 Automtit j formlit kielet Olkoon utomtti, jonk syötteet ovt jonkin kkoston Σ merkkijonoj, j tulos on yksinkertisesti muoto syöte hyväksytään / syöte hylätään (erk lyhyesti 1/0) erkitään :n syötteellä x ntm tulost (x):llä j :n hyväksymien syötteiden joukko A :llä, so A = {x Σ (x) = 1} Snotn, että utomtti tunnist (engl recognises) kielen A Σ Automttiteorin (yksi) ide: utomtin rkenne heijstuu kielen A ominisuuksiss Kääntäen: olkoon nnettun jokin toivottu I/O-kuvus f : Σ {0,1} Trkstelemll kieltä A f = {x Σ f(x) = 1} sdn vihjeitä siitä, millinen utomtti trvitn kuvuksen f toteuttmiseen Hrri Hnpää 37 Vkiintuneit merkintöjä Em mtemttisille käsitteille käytetyt merkinnät ovt peritteess vpsti vlittviss, mutt esityksen ymmärrettävyyden prntmiseksi on tpn pitäytyä tietyissä käytännöissä Seurvt merkintätvt ovt vkiintuneet: Akkostot: Σ, Γ, (isoj kreikklisi kirjimi) Esim inäärikkosto Σ = {0, 1} Akkoston koko (ti yleisemmin joukon mhtvuus): Σ Alkeismerkit:,, c, (pieniä lkupään ltinlisi kirjimi) Esim: Olkoon Σ = { 1,, n } kkosto; tällöin Σ = n erkkijonot: u, v, w, x, y, (pieniä loppupään ltinlisi kirjimi) Hrri Hnpää 38 erkkijonojen ktentio: x y ti vin xy erkkijonon pituus: x Esimerkkejä: Tyhjä merkkijono: ε c = 3; olkoon x = 1 m, y = 1 n ; tällöin xy = m + n erkkijono, joss on n kpplett merkkiä : n Esimerkkejä: n = }{{} ; n kpl i j c k = i + j + k erkkijonon x toisto k kert: x k Esimerkkejä: () 2 = ; x k = k x Akkoston Σ kikkien merkkijonojen joukko: Σ Esim: {,} = {ε,,,,,,,,,} erkkijonoinduktio Automttiteoriss tehdään usein konstruktioit induktioll merkkijonon pituuden suhteen Tämä trkoitt, että määritellään ensin toiminto tyhjän merkkijonon ε (ti joskus yksittäisen kkosmerkin) tpuksess Sitten oletetn, että toiminto on määritelty kikill nnetun pituisill merkkijonoill u j esitetään, miten se tällöin määritellään yhtä merkkiä pitemmillä merkkijonoill w = u Esimerkki Olkoon Σ mielivltinen kkosto erkkijonon w Σ käänteisjono (engl reversl) w R määritellään induktiivisesti säännöillä: 1 ε R = ε; 2 jos w = u, u Σ, Σ, niin w R = u R Hrri Hnpää 39 Hrri Hnpää 40

11 Induktiivist ( rekursiivist ) määritelmää voidn tietenkin käyttää lskujen perustn; esim: (011) R = 1 (01) R = 1 (1 0 R ) = 11 (0 ε R ) = 110 ε R = 110 ε = 110 Tärkeämpää on kuitenkin konstruktioiden ominisuuksien todistminen määritelmää noudttelevll induktioll Esimerkki: Väite Olkoon Σ kkosto Kikill x,y Σ on voimss (xy) R = y R x R Todistus Induktio merkkijonon y pituuden suhteen 1 Perustpus y = ε: (xε) R = x R = ε R x R 2 Induktioskel: Olkoon y muoto y = u, u Σ, Σ Oletetn, että väite on voimss merkkijonoill x, u Tällöin on: (xy) R = (xu) R = (xu) R [R:n määritelmä] = (u R x R ) [induktio-oletus] = ( u R )x R [ :n liitännäisyys] = (u) R x R [R:n määritelmä] = y R x R Hrri Hnpää 41 Hrri Hnpää 42 ÄÄRELLISET AUTOAATIT JA SÄÄNNÖLLISET KIELET Esimerkki 1: Khviutomtti 20 c 20 c 10 c 10 c 10 c 10 c 0,00 0,10 0,20 0,30 0,40 21 Tilkviot j tiltulut Trkstelln luksi tietojenkäsittelyjärjestelmiä, joill on vin äärellisen mont mhdollist til Tällisen järjestelmän toimint voidn kuvt äärellisenä utomttin t äärellisenä tilkoneen (engl finite utomton, finite stte mchine) Äärellisillä utomteill on useit vihtoehtoisi esitystpoj: tilkviot, tiltulut, Hrri Hnpää c c 20 c > 0,4 Em tilkvion esittämä utomtti rtkisee päätösongelmn riittävätkö nnetut rht khvin ostmiseen? c Äärellisiä utomttej voidn yleensäkin käyttää yksinkertisten päätösongelmien rtkisujen mllintmiseen Automttimllist on muitkin kuin inäärivsteisten järjestelmien kuvmiseen trkoitettuj versioit (ns oore- j ely-utomtit), mutt niitä ei käsitellä tällä kurssill Hrri Hnpää 44

12 Tilkvioiden merkinnät: Esimerkki 2: C-kielen etumerkittömät reliluvut q q 0 q f Automtin til nimeltä q Alkutil Lopputil: utomtti hyväksyy syötejonon, joss se jonon loppuess on tällisess tilss digit q 0 digit q 1 q 2 digit q 3 exp exp exp q 7 q 4 digit digit q 6 digit digit q 1 q 2 Syötemerkin iknsm siirtymä tilst q 1 tiln q 2 +,- digit q 5 Käytetyt lyhenteet: digit = {0,1,,9}, exp = {E,e} Hrri Hnpää 45 Hrri Hnpää 46 Äärellisen utomtin esitys tiltulun: utomtin uusi til vnhn tiln j syötemerkin funktion Esim relilukuutomtin tiltulu: digit exp + q 0 q 1 q 7 q 1 q 1 q 2 q 4 q 2 q 3 q 4 q 3 q 3 q 4 q 4 q 6 q 5 q 5 q 5 q 6 q 6 q 6 q 7 q 3 K: itä tiltulun tyhjät pikt trkoittvt? V: Tiltulun tyhjät pikt, ti vstvsti tilkvion puuttuvt kret, kuvvt utomtin virhetilnteit Jos utomtti ohjutuu tälliseen pikkn, syötejono ei kuulu utomtin hyväksymään joukkoon uodollisesti utomtiss jtelln olevn erityinen virhetil, jot ei vin selkeyden vuoksi merkitä näkyviin Hrri Hnpää 47 Hrri Hnpää 48

13 Esim relilukuutomtin täydellinen kvioesitys olisi: j relilukuutomtin täydellinen tuluesitys olisi: digit digit exp + digit q 0 q 1 exp, +,- error +,- digit, exp,,+,- exp q 0 q 1 q 7 error error error q 1 q 1 q 2 q 4 error error q 6 q 6 error error error error error error error error error error Hrri Hnpää 49 Hrri Hnpää 50 from sys import stdin 22 Äärellisiin utomtteihin perustuv ohjelmointi Annetun äärellisen utomtin pohjlt on helppo lti utomtin toimint vstv ohjelm Esim relilukuutomttiin perustuv syötejonon syntksitestus: q=0 for c in stdinredline()strip("\n"): if q==0: if cisdigit(): q=1 elif c=="": q=7 else: q=99 elif q==1: if cisdigit(): q=1 elif c=="": q=2 elif c=="e" or c=="e": q=4 else: q=99 elif q==2 or q==3: if cisdigit(): q=3 elif c=="e" or c=="e": q=4 else: q=99 Hrri Hnpää 51 Hrri Hnpää 52

14 elif q==4: if cisdigit(): q=6 elif c=="+" or c=="-": q=5 else: q=99 elif q==5 or q==6: if cisdigit(): q=6 else: q=99 elif q==7: if cisdigit(): q=3 else: q=99 if q in [2,3,6]: print "On reliluku" else: print "Ei ole reliluku" Semnttisten toimintojen liittäminen äärellisiin utomtteihin Esimerkki Khdeksnjärjestelmän lukuj tunnistv utomtti j siihen perustuv syöteluvun rvonmääritys ( muuttminen kymmenjärjestelmään ) +,- d q 0 q 1 q 2 Lyhennysmerkintä d = {0,1,,7} d d Hrri Hnpää 53 Pelkän syntksitestin toteutus: from sys import stdin q=0 for c in stdinredline()strip("\n"): if q==0: if c=="+" or c=="-": q=1 elif c in " ": q=2 else: q=99 elif q==1: if c in " ": q=2 else: q=99 elif q==2: if c in " ": q=2 else: q=99 if q == 2 print "Oktliluku!" else: print "Virheellinen oktliluku" Hrri Hnpää 54 Täydennys syöteluvun rvon lskevill opertioill ( luvun muuttminen kymmenjärjestelmään ): from sys import stdin q=0 sgn=1 # SE: etumerkki vl=0 # SE: itseisrvo for c in stdinredline()strip("\n"): if q==0: if c=="+": q=1 elif c=="-": sgn=-1 # SE q=1 elif c in " ": vl=int(c) # SE q=2 else: q=99 Hrri Hnpää 55 Hrri Hnpää 56

15 elif q==1: if c in " ": vl=int(c) q=2 else: q=99 elif q==2: if c in " ": vl=8*vl+int(c) q=2 else: q=99 if q == 2: print "Oktliluku", sgn*vl else: print "Virheellinen oktliluku" # SE # SE # SE Hrri Hnpää Äärellisen utomtin käsitteen formlisointi eknistinen mlli: syötenuh: nuhpää: ohjusyksikkö: i n p δ u q 1 q 2 Äärellinen utomtti koostuu äärellistilisest ohjusyksiköstä, jonk toimint säätelee utomtin siirtymäfunktio δ, sekä merkkipikkoihin jetust syötenuhst j nämä yhdistävästä nuhpäästä, jok kullkin hetkellä osoitt yhtä syötenuhn merkkiä Hrri Hnpää 58 q 0 t Automtin toimint : Automtti käynnistetään erityisessä lkutilss q 0, siten että trksteltv syöte on kirjoitettun syötenuhlle j nuhpää osoitt sen ensimmäistä merkkiä Yhdessä toimint-skeless utomtti lukee nuhpään kohdll olevn syötemerkin, päättää ohjusyksikön tiln j luetun merkin perusteell siirtymäfunktion mukisesti ohjusyksikön uudest tilst, j siirtää nuhpäätä yhden merkin eteenpäin Automtti pysähtyy, kun viimeinen syötemerkki on käsitelty Jos ohjusyksikön til tällöin kuuluu erityiseen (hyväksyvien) lopputilojen joukkoon, utomtti hyväksyy syötteen, muuten hylkää sen Automtin tunnistm kieli on sen hyväksymien merkkijonojen joukko Täsmällinen muotoilu: Äärellinen utomtti on viisikko = (Q,Σ,δ,q 0,F), missä Q on utomtin tilojen äärellinen joukko; Σ on utomtin syötekkosto; δ : Q Σ Q on utomtin siirtymäfunktio; q 0 Q on utomtin lkutil; F Q on utomtin (hyväksyvien) lopputilojen joukko Hrri Hnpää 59 Hrri Hnpää 60

16 Esimerkki Relilukuutomtin formli esitys: = ({q 0,,q 7,error},{0,1,,9,,E,e,+,-}, δ,q 0,{q 2,q 3,q 6 }), missä δ on kuten iemmin tulukoss; esim δ(q 0,0) = δ(q 0,1) = = δ(q 0,9) = q 1, δ(q 0,) = q 7, δ(q 0,E) = δ(q 0,e) = error, δ(q 1,) = q 2, δ(q 1,E) = δ(q 1,e) = q 4, Automtin tilnne on pri (q,w) Q Σ ; erityisesti utomtin lkutilnne syötteellä x on pri (q 0,x) Intuitio: q on utomtin til j w on syötemerkkijonon jäljellä olev, so nuhpäästä oikelle sijitsev os jne Hrri Hnpää 61 Hrri Hnpää 62 Tilnne (q,w) joht suorn tilnteeseen (q,w ), merkitään (q,w) (q,w ), jos on w = w ( Σ) j q = δ(q,) Tällöin snotn myös, että tilnne (q,w ) on tilnteen (q,w) välitön seurj Intuitio: utomtti ollessn tilss q j lukiessn nuhll olevn merkkijonon w = w ensimmäisen merkin siirtyy tiln q j siirtää nuhpäätä yhden skelen eteenpäin, jolloin nuhlle jää merkkijono w Jos utomtti on yhteydestä selvä, reltiot voidn merkitä yksinkertisesti (q,w) (q,w ) Tilnne (q,w) joht tilnteeseen (q,w ) t tilnne (q,w ) on tilnteen (q, w) seurj, merkitään (q,w) (q,w ), jos on olemss välitilnnejono (q 0,w 0 ), (q 1,w 1 ),, (q n,w n ), n 0, siten että (q,w) = (q 0,w 0 ) (q 1,w 1 ) (q n,w n ) = (q,w ) Erikoistpuksen n = 0 sdn (q,w) (q,w) millä thns tilnteell (q, w) Jälleen, jos utomtti on yhteydestä selvä, merkitään yksinkertisesti (q,w) (q,w ) Hrri Hnpää 63 Hrri Hnpää 64

17 Automtti hyväksyy merkkijonon x Σ, jos on voimss muuten hylkää x:n (q 0,x) (q f,ε) jollkin q f F; Toisin snoen: utomtti hyväksyy x:n, jos sen lkutilnne syötteellä x joht, syötteen loppuess, johonkin hyväksyvään lopputilnteeseen Automtin tunnistm kieli määritellään: Esimerkki: merkkijonon 025E2 käsittely relilukuutomtill: (q 0,025E2) (q 1,25E2) (q 2,25E2) (q 3,5E2) (q 3,E2) (q 4,2) (q 6,ε) Kosk q 6 F = {q 2,q 3,q 6 }, on siis 025E2 L() L() = {x Σ (q 0,x) (q f,ε) jollkin q f F} Hrri Hnpää Äärellisten utomttien minimointi Voidn osoitt, että jokisell äärellisellä utomtill on yksikäsitteinen ekvivlentti (so smn kielen tunnistv) tilmäärältään minimlinen utomtti Annetun äärellisen utomtin knss minimointi (ekvivlentin minimiutomtin määrittäminen) on sekä käytännössä että teoreettiselt knnlt tärkeä tehtävä: siten voidn esimerkiksi selvittää, tunnistvtko kksi nnettu utomtti smn kielen Tehtävä voidn rtkist seurvss esitettävällä tehokkll menetelmällä enetelmän perusiden on pyrkiä smistmn keskenään selliset syötteenä nnetun utomtin tilt, joist lähtien utomtti toimii täsmälleen smoin kikill merkkijonoill Hrri Hnpää 66 Olkoon äärellinen utomtti = (Q,Σ,δ,q 0,F) Ljennetn :n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään δ (q,x) = se q Q, joll (q,x) (q,ε) :n tilt q j q ovt ekvivlentit, merkitään jos kikill x Σ on q q, δ (q,x) F jos j vin jos δ (q,x) F; toisin snoen, jos utomtti q:st j q :st lähtien hyväksyy täsmälleen smt merkkijonot Hrri Hnpää 67 Hrri Hnpää 68

18 Lievempi ekvivlenssiehto: tilt q j q ovt k-ekvivlentit, merkitään jos kikill x Σ, x k, on q k q, δ (q,x) F jos j vin jos δ (q,x) F; toisin snoen, jos mikään enintään k:n pituinen merkkijono ei pysty erottmn tiloj toisistn Ilmeisesti on: (i) q 0 q joss sekä q että q ovt lopputiloj ti kumpikn ei ole; j (ii) q q joss q k q kikill k = 0,1,2, Esitettävä minimointilgoritmi perustuu syötteenä nnetun utomtin tilojen k-ekvivlenssiluokkien hienontmiseen (k + 1)-ekvivlenssiluokiksi kunnes svutetn täysi ekvivlenssi Hrri Hnpää 69 (1) Algoritmi perustuu seurvn: 1 Kksi (k-ekvivlentti) til q 1 k+1 q 2, jos j vin jos q 1 0 q2 j δ(q 1,) k δ(q 2,) kikill Σ 2 Jos jollkin k:n rvoll pätee, että kikki keskenään k-ekvivlentit tilt ovt myös k + 1-ekvivlenttej, niin keskenään k-ekvivlentit tilt ovt keskenään ekvivlenttej Tod Induktioskel: oletetn, että keskenään k-ekvivlentit tilt ovt p-ekvivlenttej jollkin p Keskenään k-ekvivlentit tilt ovt siis k + 1-ekvivlenttej, eli ym perusteell niistä siirrytään kikill kkosill keskenään k-ekvivlentteihin (p-ekvivlentteihin) tiloihin; k-ekvivlentit tilt ovt siis p + 1-ekvivlenttej (Perustpus esim p = 0) Hrri Hnpää 70 Algoritmi IN-FA [Äärellisen utomtin minimointi] Syöte: Äärellinen utomtti = (Q,Σ,δ,q 0,F) Tulos: :n knss ekvivlentti äärellinen utomtti, joss on minimimäärä tiloj enetelmä: 1 [Turhien tilojen poisto] Poist :stä kikki tilt, joit ei void svutt tilst q 0 millään syötemerkkijonoll 2 [0-ekvivlenssi] Osit :n jäljelle jääneet tilt khteen luokkn: ei-lopputiloihin j lopputiloihin 3 [k-ekvivlenssi (k + 1)-ekvivlenssi] Trkst, siirrytäänkö smn ekvivlenssiluokkn kuuluvist tiloist smoill merkeillä in smnluokkisiin tiloihin Jos kyllä, lgoritmi päättyy j minimiutomtin tilt vstvt :n tilojen luokki uuss tpuksess hienonn ositust jkmll kunkin äskeistä ehto rikkovn k-ekvivlenssiluokn tilt uusiin, pienempiin (k + 1)-ekvivlenssiluokkiin sen mukn, mihin luokkn kustkin tilst siirrytään milläkin kkosell, j toist koht 3 uudell osituksell Hrri Hnpää 71 Hrri Hnpää 72

19 Luse 21 Algoritmi IN-FA muodost nnetun äärellisen utomtin knss ekvivlentin äärellisen utomtin, joss on minimimäärä tiloj Tämä utomtti on tilojen nimeämistä pitsi yksikäsitteinen Algoritmin suoritus päättyy in: kullkin skelen 3 suorituskerrll, viimeistä lukuunottmtt, vähintään yksi luokk ositetn pienemmäksi Askel 3 jk k-ekvivlenssiluokt (k + 1)-ekvivlenssiluokiksi: kksi til ovt (k + 1)-ekvivlentit, jos j vin jos molemmt ti ei kumpikn ovt hyväksyviä lopputiloj j kummstkin siirrytään jokisell kkosell k-ekvivlentteihin tiloihin Kun k-ekvivlenssiluokt ovt myös k + 1-ekvivlenssiluokt, kunkin luokn tilt ovt k-ekvivlenttej kikill k eli ekvivlenttej (1ii) Jokisess ekvivlenssiluokss on inkin yksi lkutilst svutettv til, joten kikki luokt ovt trpeellisi Yksikäsitteisyys todistettu opetusmonisteess Esimerkki Trkstelln seurvn utomtin minimointi: Viheess 1 utomtist poistetn til 6, johon ei päästä millään merkkijonoll Viheess 2 ositetn utomtin tilt 1 5 ei-lopputiloihin (luokk I) j lopputiloihin (luokk II), j trkstetn siirtymien käyttäytyminen osituksen suhteen: I : 1 2,I 3,I 2 4,II 2,I 3 2,I 3,I II : 4 3,I 5,II 5 1,I 4,II Hrri Hnpää 73 Hrri Hnpää 74 Luokss I on nyt khdentyyppisiä tiloj ({1,3} j {2}), joten ositust täytyy hienont j trkst siirtymät uuden osituksen suhteen: I : 1 2,II 3,I 3 2,II 3,I II : 2 4,III 2,II III : 4 3,I 5,III 5 1,I 4,III Nyt kunkin luokn sisältämät tilt ovt keskenään smnlisi, joten minimointilgoritmi päättyy Sdun minimiutomtin tilkvio on seurv: I II III Hrri Hnpää 75 Hrri Hnpää 76

20 25 Epädeterministiset äärelliset utomtit Epädeterministiset utomtit ovt muuten smnlisi kuin deterministiset, mutt niiden siirtymäfunktio δ ei liitä utomtin vnhn tiln j syötemerkin muodostmiin preihin yksikäsitteistä uutt til, vn joukon mhdollisi seurvi tiloj Epädeterministinen utomtti hyväksyy syötteensä, jos jokin mhdollisten tilojen jono joht hyväksyvään lopputiln Vikk epädeterministisiä utomttej ei voi sellisinn toteutt tietokoneohjelmin, ne ovt tärkeä päätösongelmien kuvusformlismi Esimerkki Epädeterministinen utomtti, jok tutkii sisältääkö syötejono osjono : q 0 q 1 q 2 q 3 Automtti hyväksyy esim syötejonon, kosk sen on mhdollist edetä seurvsti: (q 0,) (q 0,) (q 1,) (q 2,) (q 3,ε) Automtti voisi päätyä myös hylkäävään tiln: (q 0,) (q 0,) (q 0,) (q 0,) (q 0,ε), mutt tällä ei ole merkitystä voidn jtell, että utomtti os ennust j vlit in prhn mhdollisen vihtoehdon Hrri Hnpää 77 Hrri Hnpää 78 ääritelmä 22 Epädeterministinen äärellinen utomtti on viisikko = (Q,Σ,δ,q 0,F), missä Q on äärellinen tilojen joukko; Σ on syötekkosto; δ : Q Σ P (Q) on utomtin joukkorvoinen siirtymäfunktio; q 0 Q on lkutil; F Q on (hyväksyvien) lopputilojen joukko q 0 q 1 q 2 q 3 Esimerkiksi -utomtin siirtymäfunktio: q 0 {q 0,q 1 } {q 0 } q 1 /0 {q 2 } q 2 {q 3 } /0 q 3 {q 3 } {q 3 } Tulukost nähdään, että esimerkiksi δ(q 0,) = {q 0,q 1 } j δ(q 1,) = /0 Hrri Hnpää 79 Hrri Hnpää 80

21 Epädeterministisen utomtin tilnne (q, w) voi joht suorn tilnteeseen (q,w ), merkitään (q,w) (q,w ), jos on w = w ( Σ) j q δ(q,) Snotn myös, että tilnne (q,w ) on tilnteen (q,w) mhdollinen välitön seurj Usemmn skelen mittiset tilnnejohdot, merkkijonojen hyväksyminen j hylkääminen ym käsitteet määritellään smoin snoin kuin deterministisillä utomteill Kosk yhden skelen johdon määritelmä kuitenkin nyt on toinen, niiden sisältö muovutuu hiemn eriliseksi Luse 22 Olkoon A = L() jonkin epädeterministisen äärellisen utomtin tunnistm kieli Tällöin on olemss myös deterministinen äärellinen utomtti, joll A = L( ) Todistus Olkoon A = L(), = (Q,Σ,δ,q 0,F) Todistuksen iden on lti deterministinen äärellinen utomtti, jok simuloi :n toimint kikiss sen kullkin hetkellä mhdollisiss tiloiss rinnkkin Formlisti: utomtin tilt vstvt :n tilojen joukkoj: missä = (ˆQ,Σ,ˆδ, ˆq0, F), ˆQ = P (Q) = {S S Q}, ˆq 0 = {q 0 }, F = {S Q S sisältää jonkin q f F}, [ ˆδ(S,) = δ(q,) q S Hrri Hnpää 81 Hrri Hnpää 82 q 0 q 1 q 2 q 3 q 0 q 0,q 1 q 0,q 2 q 0,q 1,q 3 q 0,q 2,q 3 Esimerkiksi -utomttiin sovellettun em konstruktio tuott seurvn deterministisen utomtin (vin lkutilst svutettvt tilt esitetty): q 0 q 0,q 1 q 0,q 2 q 0,q 1,q 3 q 0,q 3 q 0,q 2,q 3 q 0,q 3 inimoimll j nimeämällä tilt uudelleen tämä yksinkertistuu muotoon: s 0 s 1 s 2 s 3, Hrri Hnpää 83 Hrri Hnpää 84

22 [Todistus jtkuu] Trkstetn, että utomtti todell on ekvivlentti :n knss, so että L( ) = L() ääritelmien mukn on: j x L() joss (q 0,x) (q f,ε) jollkin q f F x L( ) joss ({q0 },x) (S,ε), missä S sis jonkin q f F Osoitetn siis, että kikill x Σ j q Q on: (q 0,x) (q,ε) joss ({q 0 },x) (S,ε) j q S (2) Väite (2): (q 0,x) (q,ε) joss ({q 0 },x) (S,ε) j q S Väitteen (2) todistus tehdään induktioll merkkijonon x pituuden suhteen (i) Tpus x = 0: (q 0,ε) (q,ε) joss q = q 0 ; smoin ({q 0 },ε) (S,ε) joss S = {q 0 } Hrri Hnpää 85 Väite (2): (q 0,x) (q,ε) joss ({q 0 },x) (S,ε) j q S (ii) Induktioskel: Olkoon x = y; oletetn, että väite (2) pätee y:lle Tällöin: (q 0,x) = (q 0,y) (q,ε) joss q Q se (q 0,y) (q,) j (q,) (q,ε) joss q Q se (q 0,y) q Q se ({q 0 },y) ({q 0 },y) ({q 0 },y) ({q 0 },y) ({q 0 },y) (q,ε) j (q,) (q,ε) joss (indol) (S,ε) j q S j q δ(q,) joss (S,ε) j q S se q δ(q,) joss (S,ε) j q S q S δ(q,) = ˆδ(S,) joss (S,) j q ˆδ(S,) = S joss (S,) j (S,) (S,ε) j q S joss ({q 0 },x) = ({q 0 },y) (S,ε) j q S Hrri Hnpää 86 ε-utomtit Jtkoss trvitn vielä yksi äärellisten utomttien mllin ljennus: epädeterministinen äärellinen utomtti, joss sllitn ε-siirtymät Tällisell siirtymällä utomtti tekee epädeterministisen vlinnn eri jtkovihtoehtojen välillä lukemtt yhtään syötemerkkiä Esimerkiksi kieli {, } voitisiin tunnist seurvll ε-utomtill: ε ε Hrri Hnpää 87 Hrri Hnpää 88

23 Formlisti: ε-utomtti on viisikko Lemm 24 = (Q,Σ,δ,q 0,F), missä siirtymäfunktio δ on kuvus δ : Q (Σ {ε}) P (Q) uut määritelmät ovt kuten tvllisill epädeterministisillä äärellisillä utomteill, pitsi suorn tilnnejohdon määritelmä: ε-utomttien tpuksess reltio (q,w) (q,w ) on voimss, jos on (i) w = w ( Σ) j q δ(q,); ti (ii) w = w j q δ(q,ε) Olkoon A = L() jollkin ε-utomtill Tällöin on olemss myös ε-siirtymätön epädeterministinen utomtti, joll A = L( ) Todistus Olkoon = (Q,Σ,δ,q 0,F) jokin ε-utomtti Automtti toimii muuten ivn smoin kuin, mutt se hrpp ε-siirtymien yli suorittmll kustkin tilst lähtien vin ne idot siirtymät, jotk ovt siitä käsin jotkin ε-siirtymäjono pitkin svutettviss Hrri Hnpää 89 Hrri Hnpää 90 Formlisti määritellään nnetun tiln q Q ε-sulkeum ε (q) utomtiss kvll ε (q) = {q Q (q,ε) (q,ε)}, Poistmll edellisen konstruktion mukisesti ε-siirtymät ε-utomtist sdn tvllinen epädeterministinen utomtti, esim: so joukkoon ε (q) kuuluvt kikki ne utomtin tilt, jotk ovt svutettviss tilst q pelkillä ε-siirtymillä Automtin siirtymäsäännöt voidn nyt kuvt seurvsti: missä = (Q,Σ,ˆδ,q 0, F), ˆδ(q,) = [ q ε (q) δ(q,); 1 ε ε 2 3 ε ε ε F = {q Q ε (q) F /0} Hrri Hnpää 91 Hrri Hnpää 92

24 26 SÄÄNNÖLLISET LAUSEKKEET Automttimlleist poikkev tp kuvt yksinkertisi kieliä Olkoot A j B kkoston Σ kieliä Perusopertioit: Yhdiste: A B = {x Σ x A ti x B}; Ktentio: AB = {xy Σ x A, y B}; Potenssit: { A 0 = {ε}, A k = AA k 1 = {x 1 x k x i A i = 1,,k} (k 1); Sulkeum t Kleenen tähti : ääritelmä 23 Akkoston Σ säännölliset lusekkeet määritellään induktiivisesti säännöillä: 1 /0 j ε ovt Σ:n säännöllisiä lusekkeit; 2 on Σ:n säännöllinen luseke kikill Σ; 3 jos r j s ovt Σ:n säännöllisiä lusekkeit, niin (r s), (rs) j r ovt Σ:n säännöllisiä lusekkeit; 4 muit Σ:n säännöllisiä lusekkeit ei ole A = [ k 0 = {x 1 x k k 0, x i A i = 1,,k} A k Hrri Hnpää 93 Hrri Hnpää 94 Akkoston {, } säännöllisiä lusekkeit: r 1 = (()), r 2 = (), Kukin Σ:n säännöllinen luseke r kuv kielen L(r), jok määritellään: L(/0) = /0; L(ε) = {ε}; L() = {} kikill Σ; L((r s)) = L(r) L(s); L((rs)) = L(r)L(s); L(r ) = (L(r)) r 3 = ( ), r 4 = (( ())) Lusekkeiden kuvmt kielet: L(r 1 ) = ({}{}){} = {}{} = {}; L(r 2 ) = {} = {ε,,,,} = {() i i 0}; L(r 3 ) = {}({}) = {,,,,} = { i i 0}; L(r 4 ) = ({}{,}) = {,} = {ε,,,,,} = {x {,} kutkin -kirjint x:ssä seur 1 ti 2 -kirjint } Hrri Hnpää 95 Hrri Hnpää 96

25 Sulkumerkkien vähentämissääntöjä: Operttoreiden prioriteetti: Esimerkki: C-kielen etumerkittömät reliluvut numer = (dd d dd )(e(+ ε)dd ε) (dd e(+ ε)dd ), Yhdiste- j tulo-opertioiden ssositiivisuus: L(((r s) t)) = L((r (s t))) L(((rs)t)) = L((r(st))) peräkkäisiä yhdisteitä j tuloj ei trvitse sulutt Käytetään tvllisi kirjsimi, mikäli seknnuksen vr merkkijonoihin ei ole Yksinkertisemmin siis: r 1 =, r 2 = (), r 3 =, r 4 = (( )) missä d on lyhennemerkintä lusekkeelle d = ( ) j e on lyhennemerkintä lusekkeelle e = (E e) Usein merkitään myös lyhyesti rr r + Esim: (d + d d + )(e(+ ε)d + ε) (d + e(+ ε)d + ) Hrri Hnpää 97 ääritelmä 24 Hrri Hnpää 98 Säännöllisten lusekkeiden sieventäminen Säännöllisillä kielillä on yleensä useit vihtoehtoisi kuvuksi, esim: Kieli on säännöllinen, jos se voidn kuvt säännöllisellä lusekkeell Σ = L(( ) ) = L(( ) ) = L( ( ) ( ) ) ääritelmä Säännölliset lusekkeet r j s ovt ekvivlentit, merk r = s, jos L(r) = L(s) Lusekkeen sieventäminen = yksinkertisimmn ekvivlentin lusekkeen määrittäminen Säännöllisten lusekkeiden ekvivlenssitestus on epätrivili, mutt peritteess meknisesti rtkev ongelm Hrri Hnpää 99 Hrri Hnpää 100

26 Sievennyssääntöjä: r (s t) = (r s) t r(st) = (rs)t r s = s r r(s t) = rs rt (r s)t = rt st r r = r r /0 = r εr = r /0r = /0 r = ε r r r = (ε r) ikä thns säännöllisten lusekkeiden tosi ekvivlenssi voidn joht näistä lskuleist, kun lisätään päättelysääntö: jos r = rs t, niin r = ts, edellyttäen että ε / L(s) Khden lusekkeen ekvivlenssin totemiseksi knntt usein päätellä erikseen kummnkin kuvmn kielen sisältyminen toiseen erkitään lyhyesti: r s, jos L(r) L(s) Tällöin siis r = s joss r s j s r Esimerkki: todetn, että ( ) = ( ) 1 Selvästi ( ) ( ), kosk ( ) kuv kikki kkoston {, } merkkijonoj 2 Kosk selvästi ( ), niin myös ( ) ( ) Hrri Hnpää ÄÄRELLISET AUTOAATIT JA SÄÄNNÖLLISET KIELET Luse 23 Jokinen säännöllinen kieli voidn tunnist äärellisellä utomtill Todistus Seurvn klvon induktiivisen konstruktion vull voidn mielivltisen säännöllisen lusekkeen r rkennett seurten muodost ε-utomtti r, joll L( r ) = L(r) Tästä utomtist voidn poist ε-siirtymät Lemmn 24 mukisesti, j trvittess voidn syntyvä epädeterministinen utomtti determinisoid Luseen 22 konstruktioll Esitettävästä konstruktiost on syytä huomt, että muodostettviin ε-utomtteihin tulee in yksikäsitteiset lku- j lopputil, eikä minkään os-utomtin lopputilst lähde eikä lkutiln tule yhtään ko os-utomtin sisäistä siirtymää Hrri Hnpää 102 r = /0 : r = ε : ε r = s t : r = ( Σ) : r = st : s s ε ε t r = s : ε ε t ε ε ε s ε Hrri Hnpää 103 Hrri Hnpää 104

27 Esimerkiksi lusekkeest r = (( )) sdn näiden sääntöjen mukn seurv ε-utomtti: ε ε ε ε ε ε ε ε Esim lusekkeen r = (( )) perusteell on helppo muodost seurv yksinkertinen epädeterministinen tunnistj-utomtti: Automtti on selvästi hyvin redundntti Käsin utomttej suunniteltess ne knnttkin usein muodost suorn Hrri Hnpää 105 Hrri Hnpää 106 Luse 24 Jokinen äärellisellä utomtill tunnistettv kieli on säännöllinen Todistus Trvitn vielä yksi äärellisten utomttien ljennus: lusekeutomtiss voidn siirtymien ehtoin käyttää mielivltisi säännöllisiä lusekkeit Formlisointi: erk RE Σ = kkoston Σ säännöllisten lusekkeiden joukko Lusekeutomtti on viisikko = (Q,Σ,δ,q 0,F), missä siirtymäfunktio δ on äärellinen kuvus Yhden skelen tilnnejohto määritellään: (q,w) (q,w ) jos on q δ(q,r) jollkin sellisell r RE Σ, että w = zw, z L(r) uut määritelmät smt kuin iemmin Todistetn: jokinen lusekeutomtill tunnistettv kieli on säännöllinen δ : Q RE Σ P (Q) (so δ(q,r) /0 vin äärellisen monell prill (q,r) Q RE Σ ) Hrri Hnpää 107 Hrri Hnpää 108

28 Olkoon jokin lusekeutomtti Säännöllinen luseke, jok kuv :n tunnistmn kielen, muodostetn khdess viheess: 1 Tiivistetään ekvivlentiksi enintään 2-tiliseksi lusekeutomtiksi seurvill muunnoksill: (i) Jos :llä on useit lopputiloj, yhdistetään ne seurvsti ε (ii) Poistetn :n muut kuin lku- j lopputil yksi kerrlln seurvsti Olk q jokin :n til, jok ei ole lku- eikä lopputil; trkstelln kikki reittejä, jotk :ssä kulkevt q:n kutt Olk q i j q j q:n välittömät edeltäjä- j seurjtil jollkin tällisell reitillä Poistetn q reitiltä q i q j oheisen kuvn (i) muunnoksell, jos tilst q ei ole siirtymää itseensä, j kuvn (ii) muunnoksell, jos tilst q on siirtymä itseensä: (i): q r i q s q j q i rs q j ε ε (ii): t q r i q s q j q i rt s q j Smll yhdistetään rinnkkiset siirtymät seurvsti: q i r s q j q i r s q j Hrri Hnpää 109 Hrri Hnpää Tiivistyksen päättyessä jäljellä olev 2-tilist utomtti vstv säännöllinen luseke muodostetn seurvn kuvn esittämällä tvll: Esimerkki: (i): r r (ii): r 1 r 2 r 3 r 1 r 2(r 3 r 4 r 1 r 2) ( )() ( ) r 4 ( )() ( ) ( ( )() ( )) Hrri Hnpää 111 Hrri Hnpää 112

29 28 Säännöllisten kielten rjoituksist Krdinliteettisyistä on oltv olemss (pljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituv määrä, säännöllisiä lusekkeit vin numeroituvsti Voidnko löytää konkreettinen, mielenkiintoinen esimerkki kielestä, jok ei olisi säännöllinen? Helposti Säännöllisten kielten perusrjoitus: äärellisillä utomteill on vin rjllinen muisti Siten ne eivät pysty rtkisemn ongelmi, joiss vditn mielivltisen suurten lukujen trkk muistmist Esimerkki: sulkulusekekieli Formlisointi: pumppuslemm L mtch = {( k ) k k 0} Lemm 26 (Pumppuslemm) Olkoon A säännöllinen kieli Tällöin on olemss sellinen n 1, että mikä thns x A, x n, voidn jk osiin x = uvw siten, että uv n, v 1, j uv i w A kikill i = 0,1,2, Todistus Olkoon jokin A:n tunnistv deterministinen äärellinen utomtti, j olkoon n :n tilojen määrä Trkstelln :n läpikäymiä tiloj syötteellä x A, x n Kosk jokisell x:n merkillä siirtyy tilst toiseen, sen täytyy kulke jonkin tiln kutt (inkin) kksi kert itse siss jo x:n n:n ensimmäisen merkin ikn Olkoon q ensimmäinen toistettu til Olkoon u :n käsittelemä x:n lkuos sen tulless ensimmäisen kerrn tiln q, v se os x:stä jonk v käsittelee ennen ensimmäistä pluutn q:hun, u q w j w loput x:stä Tällöin on uv n, v 1, j uv i w A kikill i = 0,1,2, Hrri Hnpää 113 Hrri Hnpää 114 u q v w 3 KIELIOPIT JA ERKKIJONOJEN TUOTTAINEN Esimerkki Trkstelln em sulkulusekekieltä (merk ( =, ) = ): L = L mtch = { k k k 0} Oletetn, että L olisi säännöllinen Tällöin pitäisi pumppuslemmn mukn oll jokin n 1, jot pitempiä L:n merkkijonoj voidn pumpt Vlitn x = n n, jolloin x = 2n > n Lemmn mukn x voidn jk pumpttvksi osiin x = uvw, uv n, v 1; siis on oltv u = i, v = j, w = n (i+j) n, i n 1, j 1 utt esimerkiksi 0-kertisesti pumpttess: Kielioppi = muunnossysteemi merkkijonojen (kielen snojen ) tuottmiseen tietystä lähtöjonost lken, osjonoj toistuvsti nnettujen sääntöjen mukn uudelleenkirjoittmll Kielioppi on yhteydetön, jos kusskin uudelleenkirjoitusskeless korvtn yksi erityinen muuttuj- t välikesymoli jollkin siihen liitetyllä korvusjonoll, j korvus voidn in tehdä symoli ympäröivän merkkijonon rkenteest riippumtt Sovelluksi: rkenteisten tekstien kuvminen (esim ohjelmointikielten BNF-syntksikuvukset, XL:n DTD/Schem-määrittelyt), yleisemmin rkenteisten olioiden kuvminen (esim syntktinen hhmontunnistus) uv 0 w = i n (i+j) n = n j n L Siten L ei voi oll säännöllinen Hrri Hnpää 115 Hrri Hnpää 116

30 Yhteydettömillä kieliopeill voidn kuvt (tuott) myös ei-säännöllisiä kieliä Esimerkki: yhteydetön kielioppi kielelle L mtch (lähtösymoli S): (i) S ε, (ii) S (S) Esimerkiksi merkkijonon ((())) tuottminen: S (S) ((S)) (((S))) (((ε))) = ((())) Toinen esimerkki: kielioppi C-tyyppisen ohjelmointikielen ritmeettisille lusekkeille (yksinkertistettu) E T E + T T F T F F (E) Esimerkiksi lusekkeen ( + ) tuottminen: E T T F F F (E) F (E + T ) F (T + T ) F (F + T ) F ( + T ) F ( + F) F ( + ) F ( + ) Hrri Hnpää 117 ääritelmä 31 Yhteydetön kielioppi on nelikko missä V on kieliopin kkosto; G = (V,Σ,P,S), Σ V on kieliopin päätemerkkien joukko; sen komplementti N = V Σ on kieliopin välikemerkkien t -symolien joukko; P N V on kieliopin sääntöjen t produktioiden joukko; S N on kieliopin lähtösymoli Produktiot (A, ω) P merkitään tvllisesti A ω Hrri Hnpää 118 erkkijono γ V tuott t joht suorn merkkijonon γ V kieliopiss G, merkitään γ G γ jos voidn kirjoitt γ = αaβ, γ = αωβ (α,β,ω V, A N), j kieliopiss G on produktio A ω Jos kielioppi G on yhteydestä selvä, voidn merkitä γ γ erkkijono γ V tuott t joht merkkijonon γ V kieliopiss G, merkitään γ γ G jos on olemss jono V :n merkkijonoj γ 0,γ 1,,γ n (n 0), siten että γ = γ 0 G γ 1 G G γ n = γ Erikoistpuksen n = 0 sdn γ γ millä thns γ V G Jälleen, jos G on yhteydestä selvä, voidn merkitä γ γ Hrri Hnpää 119 Hrri Hnpää 120

31 erkkijono γ V on kieliopin G lusejohdos, jos on S γ G Pelkästään päätemerkeistä koostuv G:n lusejohdos x Σ on G:n luse Kieliopin G tuottm t kuvm kieli koostuu G:n luseist: L(G) = {x Σ S x} G Formli kieli L Σ on yhteydetön, jos se voidn tuott jollkin yhteydettömällä kieliopill Esimerkiksi tspinoisten sulkujonojen muodostmn kielen L mtch = {( k ) k k 0} tuott kielioppi G mtch = ({S,(,)},{(,)},{S ε,s (S)},S) Yksinkertisten ritmeettisten lusekkeiden muodostmn kielen L expr tuott kielioppi G expr = (V,Σ,P,E), missä V = {E,T,F,,+,,(,)}, Σ = {,+,,(,)}, P = {E T, E E + T, T F, T T F, F, F (E)} Hrri Hnpää 121 Hrri Hnpää 122 Vkiintuneit merkintätpoj Toinen kielioppi kielen L expr tuottmiseen on missä V = {E,,+,,(,)}, Σ = {,+,,(,)}, G expr = (V,Σ,P,E), P = {E E + E, E E E, E, E (E)} Huom: Vikk kielioppi G expr näyttää yksinkertisemmlt kuin kielioppi G expr, sen ongelmn on ns rkenteellinen moniselitteisyys, mikä on monesti ei-toivottu ominisuus Välikesymoleit: A,B,C,,S,T Päätemerkkejä: kirjimet,,c,,s,t; numerot 0,1,,9; erikoismerkit; lihvoidut ti lleviivtut vrtut snt (if, for, end, ) ielivltisi merkkejä (kun välikkeitä j päätteitä ei erotell): X,Y,Z Päätemerkkijonoj: u,v,w,x,y,z Sekmerkkijonoj: α,β,γ,,ω Hrri Hnpää 123 Hrri Hnpää 124

32 Produktiot, joill on yhteinen vsen puoli A, voidn kirjoitt yhteen: joukon A ω 1, A ω 2, A ω k sijn kirjoitetn A ω 1 ω 2 ω k Kielioppi esitetään usein pelkkänä sääntöjoukkon: A 1 ω 11 ω 1k1 A 2 ω 21 ω 2k2 A m ω m1 ω mkm Tällöin päätellään välikesymolit edellisten merkintäsopimusten mukn ti siitä, että ne esiintyvät sääntöjen vsempin puolin; muut esiintyvät merkit ovt päätemerkkejä Lähtösymoli on tällöin ensimmäisen säännön vsempn puolen esiintyvä välike; tässä siis A 1 Hrri Hnpää 125 Eräitä konstruktioit Olkoon L(T ) välikkeestä T johdettviss olevien päätejonojen joukko Olkoon nnettu produktiokokoelm P, joss ei esiinny välikettä A, j joll B:stä voidn joht L(B) j vstvsti C:stä L(C) Lisäämällä P:hen jokin seurvist produktioist sdn uusi kieliä: produktio kieli A B C A BC A AB ε (vsen rekursio) ti A BA ε (oike rekursio) yhdiste L(A) = L(B) L(C) ktentio L(A) = L(B)L(C), j Kleenen sulkeum L(A) = L(B) Hrri Hnpää Säännölliset kielet j yhteydettömät kieliopit Välikkeiden keskeisupotus on yhteydettömille kieliopeille omininen konstruktio, jok tekee usein (muttei in) kielestä epäsäännöllisen: lisäämällä produktio A BAC ε sdn L(A) = [ L(B) i L(C) i i=0 Yhteydettömillä kieliopeill voidn siis kuvt joitkin ei-säännöllisiä kieliä (esimerkiksi kielet L mtch j L expr ) Osoitetn, että myös kikki säännölliset kielet voidn kuvt yhteydettömillä kieliopeill Yhteydettömät kielet ovt siten säännollisten kielten ito yliluokk Yhteydetön kielioppi on oikelle linerinen, jos sen kikki produktiot ovt muoto A B ti A ε, j vsemmlle linerinen, jos sen kikki produktiot ovt muoto A B ti A ε Osoittutuu, että sekä vsemmlle että oikelle linerisill kieliopeill voidn tuott täsmälleen säännölliset kielet, minkä tki näitä kielioppej nimitetään myös yhteisesti säännöllisiksi Todistetn tässä väite vin oikelle linerisille kieliopeille Hrri Hnpää 127 Hrri Hnpää 128

33 Luse 31 Esimerkki Jokinen säännöllinen kieli voidn tuott oikelle linerisell kieliopill Todistus Olkoon L kkoston Σ säännöllinen kieli, j olkoon = (Q,Σ,δ,q 0,F) sen tunnistv (deterministinen ti epädeterministinen) äärellinen utomtti uodostetn kielioppi G, joll on L(G ) = L() = L Kieliopin G päätekkosto on sm kuin :n syötekkosto Σ, j sen välikekkostoon otetn yksi välike A q kutkin :n til q kohden Kieliopin lähtösymoli on A q0, j sen produktiot vstvt :n siirtymiä: (i) kutkin :n lopputil q F kohden kielioppiin otetn produktio A q ε; Automtti: Vstv kielioppi:, 1 2 A 1 A 1 A 1 A 2 A 2 ε A 2 (ii) kutkin :n siirtymää q q (so q δ(q,)) kohden kielioppiin otetn produktio A q A q Hrri Hnpää 129 Konstruktion oikeellisuuden trkstmiseksi merkitään välikkeestä A q tuotettvien päätejonojen joukko L(A q ) = {x Σ A q G x} Induktioll merkkijonon x pituuden suhteen voidn osoitt, että kikill q on Erityisesti on siis x L(A q ) joss (q,x) (q f,ε) jollkin q f F L(G ) = L(A q0 ) = {x Σ (q 0,x) (q f,ε) jollkin q f F} = L() = L Hrri Hnpää 130 Luse 32 Jokinen oikelle linerisell kieliopill tuotettv kieli on säännöllinen Todistus Olkoon G = (V, Σ, P, S) oikelle linerinen kielioppi uodostetn kielen L(G) tunnistv epädeterministinen äärellinen utomtti G = (Q,Σ,δ,q S,F) seurvsti: G :n tilt vstvt G:n välikkeitä: Q = {q A A V Σ} G :n lkutil on lähtösymoli S vstv til q S G :n syötekkosto on G:n päätekkosto Σ G :n siirtymäfunktio δ jäljittelee G:n produktioit siten, että kutkin produktiot A B kohden utomtiss on siirtymä q A q B (so q B δ(q A,)) Hrri Hnpää 131 Hrri Hnpää 132

34 33 KIELIOPPIEN JÄSENNYSONGELA G :n lopputiloj ovt ne tilt, joit vstviin välikkeisiin liittyy G:ssä ε-produktio: F = {q A Q A ε P} Konstruktion oikeellisuus voidn jälleen trkst induktioll G:n tuottmien j G :n hyväksymien merkkijonojen pituuden suhteen Rtkistv tehtävä: Annettu yhteydetön kielioppi G j merkkijono x Onko x L(G)? Rtkisumenetelmä = jäsennyslgoritmi Useit vihtoehtoisi menetelmiä, erityisesti kun G on jotin rjoitettu (käytännössä esiintyvää) muoto Hrri Hnpää 133 Johdot j jäsennyspuut Olkoon γ V kieliopin G = (V,Σ,P,S) lusejohdos Lähtösymolist S merkkijonoon γ johtv suorien johtojen jono snotn γ:n johdoksi G:ssä S = γ 0 γ 1 γ n = γ Johdon pituus on siihen kuuluvien suorien johtojen määrä (edellä n) Esimerkki: luseen + johtoj kieliopiss G expr : (i) E E + T T + T F + T + T + F + (ii) E E + T E + F T + F F + F F + + (iii) E E + T E + F E + T + F + + Hrri Hnpää 134 Johto γ γ on vsen johto, merkitään γ γ, lm jos kusskin johtoskeless on produktiot sovellettu merkkijonon vsemmnpuoleisimpn välikkeeseen (edellä johto (i)) Vstvsti määritellään oike johto (edellä (iii)), jot merkitään γ γ rm Suori vsempi j oikeit johtoskeli merkitään γ lm γ j γ γ rm Hrri Hnpää 135 Hrri Hnpää 136

35 Olkoon G = (V,Σ,P,S) yhteydetön kielioppi Kieliopin G mukinen jäsennyspuu on järjestetty puu, joll on seurvt ominisuudet: (i) puun solmut on nimetty joukon V {ε} lkioill siten, että sisäsolmujen nimet ovt välikkeitä (so joukost N = V Σ) j juurisolmun nimenä on lähtösymoli S; (ii) jos A on puun jonkin sisäsolmun nimi, j X 1,,X k ovt sen jälkeläisten nimet järjestyksessä, niin A X 1 X k on G:n produktio Jäsennyspuun τ tuotos on merkkijono, jok sdn liittämällä yhteen sen lehtisolmujen nimet esijärjestyksessä ( vsemmlt oikelle ) Esimerkki Luseen + jäsennyspuu kieliopiss G expr : E E + T T F F Luseen johto: E E + T T + T F + T + T + F + Hrri Hnpää 137 Hrri Hnpää 138 Johto S = γ 0 γ 1 γ n = γ vstvn jäsennyspuun muodostminen: (i) puun juuren nimeksi tulee S; jos n = 0, niin puuss ei ole muit solmuj; muuten (ii) jos ensimmäisessä johtoskeless on sovellettu produktiot S X 1 X 2 X k, niin juurelle tulee k jälkeläissolmu, joiden nimet vsemmlt oikelle ovt X 1,X 2,,X k ; (iii) jos seurvss skeless on sovellettu produktiot X i Y 1 Y 2 Y l, niin juuren i:nnelle jälkeläissolmulle tulee l jälkeläistä, joiden nimet vsemmlt oikelle ovt Y 1,Y 2,,Y l ; j niin edelleen Konstruktiost huomtn, että jos τ on jotkin johto S γ vstv jäsennyspuu, niin τ:n tuotos on γ Olkoon τ kieliopin G mukinen jäsennyspuu, jonk tuotos on päätemerkkijono x Tällöin τ:st sdn vsen johto x:lle käymällä puun solmut läpi esijärjestyksessä ( ylhäältä ls, vsemmlt oikelle ) j lventmll vstn tulevt välikkeet järjestyksessä puun osoittmll tvll Oike johto sdn käymällä puu läpi käänteisessä esijärjestyksessä ( ylhäältä ls, oikelt vsemmlle ) uodostmll nnetust vsemmst johdost S x ensin lm jäsennyspuu edellä esitetyllä tvll, j sitten jäsennyspuust vsen johto, sdn tkisin lkuperäinen johto; vstv tulos pätee myös oikeille johdoille Hrri Hnpää 139 Hrri Hnpää 140

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

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita: 2.6 SÄÄNNÖLLISET LAUSEKKEET Automttimlleist poikkev tp kuvt yksinkertisi kieliä. Olkoot A j B kkoston Σ kieliä. Perusopertioit: Yhdiste: A B = {x Σ x A ti x B}; Ktentio: AB = {xy Σ x A, y B}; Potenssit:

Lisätiedot

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

Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita: 2.6 SÄÄNNÖLLISET LAUSEKKEET Automttimlleist poikkev tp kuvt yksinkertisi kieliä. Olkoot A j B kkoston Σ kieliä. Perusopertioit: Yhdiste: A B = {x Σ x A ti x B}; Ktentio: AB = {xy Σ x A, y B}; Potenssit:

Lisätiedot

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

Olkoon. M = (Q, Σ, δ, q 0, F) T 79.148 Tietojenkäsittelyteorin perusteet 2.4 Äärellisten utomttien minimointi Voidn osoitt, että jokisell äärellisellä utomtill on yksikäsitteinen ekvivlentti (so. smn kielen tunnistv) tilmäärältään

Lisätiedot

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

Olkoon. äärellinen automaatti. Laajennetaan M:n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään T 79.00/002 Tietojenkäsittelyteorin perusteet 2. Äärellisten utomttien minimointi Voidn osoitt, että jokisell äärellisellä utomtill on yksikäsitteinen ekvivlentti (so. smn kielen tunnistv) tilmäärältään

Lisätiedot

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

Automaatin tunnistama kieli on sen hyväksymien merkkijonojen joukko. Täsmällinen muotoilu: δ,q 0,{q 2,q 3,q 6 }), missä T 79.1001/1002 Tietojenkäsittelyteorin perusteet 2.3 Äärellisen utomtin käsitteen formlisointi eknistinen mlli: syötenuh: nuhpää: ohjusyksikkö: i n p δ u q 1 q 2 Äärellinen utomtti koostuu äärellistilisest

Lisätiedot

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

Mutta esimerkiksi 0-kertaisesti pumpattaessa: Siten L ei voi olla säännöllinen. 2.8 Säännöllisten kielten rjoituksist Krdinliteettisyistä on oltv olemss (pljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituv määrä, säännöllisiä lusekkeit vin numeroituvsti. Voidnko löytää konkreettinen,

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2 Tietojenkäsittelyteori Kevät 2 Kierros,. 5. helmikuut Demonstrtiotehtävien rtkisut D: Sievennä seurvi säännöllisiä lusekkeit (so. konstruoi yksinkertisemmt lusekkeet smojen kielten kuvmiseen): ()

Lisätiedot

T /2 Tietojenkäsittelyteorian perusteet T/Y

T /2 Tietojenkäsittelyteorian perusteet T/Y T-791001/2 Tietojenkäsittelyteorin perusteet T/Y Tietojenkäsittelytieteen litos, Alto-yliopisto Alto-yliopisto Perustieteiden korkekoulu Tietojenkäsittelytieteen litos Syksy 2013 T 791001/1002 Tietojenkäsittelyteorin

Lisätiedot

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

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 5 Demonstraatiotehtävien ratkaisut. ja kaikki a Σ ovat säännöllisiä lausekkeita. T-79.8 Syksy 22 Tietojenkäsittelyteorin perusteet Hrjoitus 5 Demonstrtiotehtävien rtkisut Säännölliset lusekkeet määritellään induktiivisesti: j kikki Σ ovt säännöllisiä lusekkeit. Mikäli α j β ovt säännöllisiä

Lisätiedot

2.2 Automaattien minimointi

2.2 Automaattien minimointi 24 2.2 Automttien minimointi Kksi utomtti, jotk tunnistvt täsmälleen smn kielen ovt keskenään ekvivlenttej Äärellinen utomtti on minimlinen jos se on tilmäärältään pienin ekvivlenttien utomttien joukoss

Lisätiedot

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

uv n, v 1, ja uv i w A kaikilla 2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko

Lisätiedot

T /1002 Tietojenkäsittelyteorian perusteet T/Y

T /1002 Tietojenkäsittelyteorian perusteet T/Y T-791001/1002 Tietojenkäsittelyteorin perusteet T/Y Hrri Hnpää Tietojenkäsittelyteorin lortorio, TKK Syksy 2006 Hrri Hnpää 1 Luento 0: Aiheen esittely j kurssin käytännöt Luento 1: temttisi peruskäsitteitä;

Lisätiedot

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

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko 3.3 KILIOPPIN JÄSNNYSONGLMA Rtkistv tehtävä: Annettu yhteydetön kielioppi G j merkkijono x. Onko x L(G)? Rtkisumenetelmä = jäsennyslgoritmi. Useit vihtoehtoisi menetelmiä, erityisesti kun G on jotin rjoitettu

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015 ICS-C2 Tietojenkäsittelyteori Kevät 25 Kierros 3, 26. 3. tmmikuut Demonstrtiotehtävien rtkisut D: Ldi epädeterministinen äärellinen utomtti, jok test onko nnetun inäärijonon kolmnneksi viimeinen merkki,

Lisätiedot

Aiheet. ICS-C2000 Tietojenkäsittelyteoria M := Äärelliset automaatit vs. säännölliset lausekkeet. Äärelliset automaatit

Aiheet. ICS-C2000 Tietojenkäsittelyteoria M := Äärelliset automaatit vs. säännölliset lausekkeet. Äärelliset automaatit Aiheet ICS-C2000 Tietojenkäsittelyteori Luento 4: Säännölliset lusekkeet Alto-yliopisto Perustieteiden korkekoulu Tietotekniikn litos Kevät 2016 Säännöllisten lusekkeiden syntksi Säännöllisten lusekkeiden

Lisätiedot

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

ICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M := ICS-C2000 Tietojenkäsittelyteoria Luento 5: Säännöllisten kielten pumppauslemma; yhteydettömät kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Alue ja aiheet: Orposen prujun

Lisätiedot

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

Säännöllisten operaattoreiden täydentäviä muistiinpanoja 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ä

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria

ICS-C2000 Tietojenkäsittelyteoria ICS-C2000 Tietojenkäsittelyteoria Luento 5: Säännöllisten kielten pumppauslemma; yhteydettömät kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Alue ja aiheet: Orposen

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 22. syyskuuta 2016 lusekkeet, lusekkeet, TIEA241 Automtit j kieliopit, syksy 2016 Antti-Juhni Kijnho lusekkeet j smuus TIETOTEKNIIKAN LAITOS 22. syyskuut 2016 Sisällys lusekkeet, lusekkeet lusekkeet j smuus j smuus lusekkeet

Lisätiedot

Kertausta: kielet ja automaatit. ICS-C2000 Tietojenkäsittelyteoria. Alue ja aiheet. Äärelliset automaatit

Kertausta: kielet ja automaatit. ICS-C2000 Tietojenkäsittelyteoria. Alue ja aiheet. Äärelliset automaatit Kertust: kielet j utomtit Lskennllisen ongelmn rtkisevi tietokoneohjelmi j -litteit voidn trkstell utomttein ICS-C2 Tietojenkäsittelyteori Luento 2: Äärelliset utomtit Alto-yliopisto Perustieteiden korkekoulu

Lisätiedot

2.5 Säännöllisten kielten rajoituksista

2.5 Säännöllisten kielten rajoituksista 68 2.5 Säännöllisten kielten rjoituksist Minkä thns kkoston formlej kieliä (= päätösongelmi, tunnistusongelmi) on ylinumeroituv määrä kun ts säännöllisiä lusekkeit (= merkkijonoj) on numeroituv määrä Näin

Lisätiedot

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

Q = {q 1, q 2, q 3, q 4 } Σ = {a, b} F = {q 4 }, T-79.48 Syksy 22 Tietojenkäsittelyteorin perusteet Hrjoitus 4 Demonstrtiotehtävien rtkisut 4. Tehtävä: Ldi epädeterministinen äärellinen utomtti, jok test onko nnetun inäärijonon kolmnneksi viimeinen merkki,

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2000 Tietojenkäsittelyteori Kevät 2016 Kierros 2, 18. 22. tmmikuut Demonstrtiotehtävien rtkisut D1: Formuloi luennoll (monisteen s. 17) esitetty yksinkertinen khviutomtti täsmällisesti äärellisen

Lisätiedot

Laskennan perusmallit 2013: Kertausta

Laskennan perusmallit 2013: Kertausta Lskennn perusmllit 13: Kertust Pekk Kilpeläinen Tietojenkäsittelytieteen litos, Itä-Suomen yliopisto sähköposti: pekk.t.kilpelinen@uef.fi 8. helmikuut 13 Lähtökoht j trkstelun kohde Lskentongelmt erityisesti

Lisätiedot

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja 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

Lisätiedot

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja 58226 Lskennn mllit (syksy 27) Hrjoitus 5, rtkisuj. Muodostetn NF kielelle : ε ε Muunnetn DF:ksi: {,,} {,} {,} {,} Luennoll (s. 5) stiin kielelle seurv DF: Poistmll tästä svuttmttomt tilt sdn Tulos on

Lisätiedot

Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria)

Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria) 1.6 Aakkostot, merkkijonot ja kielet Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria) 1011 Input Automaton Output Automaatin käsite

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 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

Lisätiedot

Kuvausta f sanotaan tällöin isomorfismiksi.

Kuvausta f sanotaan tällöin isomorfismiksi. Määritelmä..12. Oletetn, että 1 =(V 1,E 1 ) j 2 =(V 2,E 2 ) ovt yksinkertisi verkkoj. Verkot 1 j 2 ovt isomorfiset, jos seurvt ehdot toteutuvt: (1) on olemss bijektio f : V 1 V 2 (2) kikill, b V 1 pätee,

Lisätiedot

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

TAMPEREEN YLIOPISTO Valinnaisten opintojen syventäviin opintoihin kuuluva tutkielma. Lauri Kumpulainen. Büchin automaateista TAMPEREEN YLIOPISTO Vlinnisten opintojen syventäviin opintoihin kuuluv tutkielm Luri Kumpulinen Büchin utomteist Luonnontieteiden tiedekunt Tietojenkäsittelytieteiden tutkinto-ohjelm Huhtikuu 2017 Tmpereen

Lisätiedot

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen) 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

Lisätiedot

Output. Input Automaton

Output. Input Automaton 16 Aakkostot, merkkijonot ja kielet Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria) 1011 Input Automaton Output Automaatin käsite

Lisätiedot

Luento 1: Alue ja tavoitteet. ICS-C2000 Tietojenkäsittelyteoria. Tietojenkäsittelyteoria

Luento 1: Alue ja tavoitteet. ICS-C2000 Tietojenkäsittelyteoria. Tietojenkäsittelyteoria Luento 1: Alue ja tavoitteet ICS-C2000 Tietojenkäsittelyteoria Luento 1: Matemaattiset peruskäsitteet ja formaalit kielet Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Orposen prujun

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria

ICS-C2000 Tietojenkäsittelyteoria ICS-C2000 Tietojenkäsittelyteoria Luento 1: Matemaattiset peruskäsitteet ja formaalit kielet Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Luento 1: Alue ja tavoitteet Orposen

Lisätiedot

Tietojenkäsittelyteorian perusteet T/Y T /1002

Tietojenkäsittelyteorian perusteet T/Y T /1002 Tietojenkäsittelyteorian perusteet T/Y T-79.1001/1002 Pekka Orponen Tietojenkäsittelyteorian laboratorio, TKK Syksy 2005 Luento 0: Aiheen esittely ja kurssin käytännöt Luento 1: Matemaattisia peruskäsitteitä

Lisätiedot

Arvostelu OHJ Johdatus tietojenkäsittelyteoriaan syksy op. Viikkoharjoitukset. Materiaali. Kurssista voi selvitä parhaalla mahdollisella

Arvostelu OHJ Johdatus tietojenkäsittelyteoriaan syksy op. Viikkoharjoitukset. Materiaali. Kurssista voi selvitä parhaalla mahdollisella OHJ-300 Johtus tietojenkäsittelyteorin syksy 006 6 op Luennot: prof Tpio Elom j DI Jussi Kujl m, to 6 T B 8 8 3 - työmtkt 6 9 j 6 309 - perioituko 9 3 0 Viikkohrjoitukset 59 Teknyo Timo Aho ti 0 sli T

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C Tietojenkäsittelyteori Kevät 6 Kierros 8, 7.. mliskuut Demonstrtiotehtävien rtkisut D: Määrittele Turingin koneen stndrdimllin muunnelm, joss koneen työnuh on molempiin suuntiin ääretön, j osoit

Lisätiedot

Matematiikan johdantokurssi, syksy 2017 Harjoitus 6, ratkaisuista. 1. Onko jokin demojen 5 tehtävän 3 relaatioista

Matematiikan johdantokurssi, syksy 2017 Harjoitus 6, ratkaisuista. 1. Onko jokin demojen 5 tehtävän 3 relaatioista Mtemtiikn johntokurssi, syksy 07 Hrjoitus 6, rtkisuist. Onko jokin emojen 5 tehtävän reltioist ) R := {(, ), (, ), (, ), (, ), (, ), (, ), (, ), (, )}, ) S := {(, ), (, ), (, ), (, ), (, ), (, ), (, ),

Lisätiedot

Yhteydettömän kieliopin jäsennysongelma

Yhteydettömän kieliopin jäsennysongelma Yhteydettömän kieliopin jäsennysongelma Yhteydettömän kieliopin jäsennysongelmalla tarkoitetaan laskentaongelmaa Annettu: yhteydetön kielioppi G, merkkijono w Kysymys: päteekö w L(G). Ongelma voidaan periaatteessa

Lisätiedot

T Tietojenkäsittelyteorian perusteet

T Tietojenkäsittelyteorian perusteet Luento 0: Aiheen esittely ja kurssin käytännöt Luento 1: Matemaattisia peruskäsitteitä Luento 2: Merkkijonot ja kielet; numeroituvat ja ylinum. joukot Timo Latvala Tietojenkäsittelyteorian laboratorio,

Lisätiedot

Tietojenkäsittelyteorian perusteet T/Y T /1002

Tietojenkäsittelyteorian perusteet T/Y T /1002 Tietojenkäsittelyteorian perusteet T/Y T-79.1001/1002 Pekka Orponen Tietojenkäsittelyteorian laboratorio, TKK Kevät 2006 Luento 0: Aiheen esittely ja kurssin käytännöt Luento 1: Matemaattisia peruskäsitteitä;

Lisätiedot

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

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3 T-79.48 Tietojenkäsittelyteorian perusteet Tentti 25..23 mallivastaukset. Tehtävä: Kuvaa seuraavat kielet sekä säännölisten lausekkeiden että determinististen äärellisten automaattien avulla: (a) L = {w

Lisätiedot

Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A. NULL := {A V Σ A ε on G:n produktio};

Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A. NULL := {A V Σ A ε on G:n produktio}; 3.6 Cocke-Younger-Kasami -jäsennysalgoritmi Osittava jäsentäminen on selkeä ja tehokas jäsennysmenetelmä LL(1)-kieliopeille: n merkin mittaisen syötemerkkijonon käsittely sujuu ajassa O(n). LL(1)-kieliopit

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013 TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. toukokuuta 2013 Sisällys Chomskyn hierarkia (ja muutakin) kieli LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti

Lisätiedot

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

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.

Lisätiedot

S BAB ABA A aas bba B bbs c

S BAB ABA A aas bba B bbs c T-79.148 Kevät 2003 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S) tuottama

Lisätiedot

Laskennan perusmallit (LAP)

Laskennan perusmallit (LAP) Lskennn perusmllit (LAP) Kimmo Fredrikssonin j Mtti Nykäsen mterileist muoknnut Pekk Kilpeläinen Tietojenkäsittelytieteen litos, Itä-Suomen yliopisto sähköposti: pekk.t.kilpelinen@uef.fi Lukuvuoden 2014

Lisätiedot

Riemannin integraalista

Riemannin integraalista Lebesguen integrliin sl. 2007 Ari Lehtonen Riemnnin integrlist Johdnto Tämän luentomonisteen trkoituksen on tutustutt lukij Lebesgue n integrliin j sen perusominisuuksiin mhdollisimmn yksinkertisess tpuksess:

Lisätiedot

Rajoittamattomat kieliopit

Rajoittamattomat kieliopit Rajoittamattomat kieliopit Ohjelmoinnin ja laskennan perusmalleista muistetaan, että kieli voidaan kuvata (esim.) kieliopilla joka tuottaa sen, tai automaatilla joka tunnistaa sen. säännölliset lausekkeet

Lisätiedot

5 Epäoleellinen integraali

5 Epäoleellinen integraali 5 Epäoleellinen integrli 5. Integrlin suppeneminen Olkoon f sellinen välillä [, b[ (ei siis välttämättä pisteessä b) määritelty funktio, että f on Riemnn-integroituv välillä [, ] kikill ], b[ eli on olemss

Lisätiedot

Q on automaatin tilojen äärellinen joukko; Σ on automaatin syöteaakkosto; δ : Q Σ Q on automaatin siirtymäfunktio; q 0 Q on automaatin alkutila;

Q on automaatin tilojen äärellinen joukko; Σ on automaatin syöteaakkosto; δ : Q Σ Q on automaatin siirtymäfunktio; q 0 Q on automaatin alkutila; Q on utomtin tilojen äärellinen joukko; Σ on utomtin syötekkosto; δ : Q Σ Q on utomtin siirtymäfunktio; q Q on utomtin lkutil; F Q on utomtin hyväksyvien tilojen joukko. Siirtymäfunktio δ on määritelmän

Lisätiedot

Chomskyn hierarkia ja yhteysherkät kieliopit

Chomskyn hierarkia ja yhteysherkät kieliopit Chomskyn hierarkia ja yhteysherkät kieliopit Laskennan teorian opintopiiri Tuomas Hakoniemi 21. helmikuuta 2014 Käsittelen tässä laskennan teorian opintopiirin harjoitustyössäni muodollisten kielioppien

Lisätiedot

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

II.1. Suppeneminen., kun x > 0. Tavallinen lasku II. EPÄOLEELLISET INTEGRAALIT nt II.. Suppeneminen Esim. Olkoon f() =, kun >. Tvllinen lsku = / =. Kuitenkn tätä integrli ei ole ikisemmss mielessä määritelty, kosk f ei ole rjoitettu välillä [, ] (eikä

Lisätiedot

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

Täydentäviä muistiinpanoja epädeterministisistä äärellisistä automaateista Täydentäviä muistiinpnoj epädeterministisistä äärellisistä utomteist Antti-Juhni Kijnho 2. mrrsuut 25 NFA Trstelln seurv NFA:t. 2 3 Sen toimint merijonoll voidn esittää päätöspuun: 3 3 2 2 3 3 TIEA24 Automtit

Lisätiedot

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

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen

Lisätiedot

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

Määritelmä Olkoon C R m yksinkertainen kaari ja γ : [a, b] R m sen yksinkertainen parametriesitys, joka on paloittain C 1 -polku. Muodostetn vektorikentän kri-integrli yksinkertisen kren tpuksess. Plutetn mieleen, että joukko C R m on yksinkertinen kri, jos löytyy sellinen jtkuv bijektio γ : [, b] C, jok on ploittin C 1 -funktio

Lisätiedot

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

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut T-79.1001 Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut Lemma (Säännöllisten kielten pumppauslemma). Olkoon A säännöllinen kieli. Tällöin on olemassa n 1

Lisätiedot

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

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. kesäkuuta 2013 Sisällys Aikataulumuutos Tämänpäiväinen demotilaisuus on siirretty maanantaille klo 14:15 (Ag Delta).

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot

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

Kognitiivinen mallintaminen I, kevät Harjoitus 1. Joukko-oppia. MMIL, luvut 1-3 Ratkaisuehdotuksia, MP Kognitiivinen mllintminen I, kevät 007 Hrjoitus. Joukko-oppi. MMIL, luvut -3 Rtkisuehdotuksi, MP. Määritellään joukot: A = {,,, 3, 4, 5} E = {, {}, } B = {, 4} F = C = {, } G = {{, }, {,, 4}} D = {, }

Lisätiedot

T /2 Tietojenkäsittelyteorian perusteet T/Y

T /2 Tietojenkäsittelyteorian perusteet T/Y T-79.1001/2 Tietojenkäsittelyteorian perusteet T/Y Tietojenkäsittelytieteen laitos, Aalto-yliopisto Aalto-yliopisto Perustieteiden korkeakoulu Tietojenkäsittelytieteen laitos Syksy 2013 T 79.1001/1002

Lisätiedot

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

M = (Q, Σ, Γ, δ, q 0, q acc, q rej ) 6. LASKETTAVUUSTEORIAA Churchin Turingin teesi: Mielivaltainen (riittävän vahva) laskulaite Turingin kone. Laskettavuusteoria: Tarkastellaan mitä Turingin koneilla voi ja erityisesti mitä ei voi laskea.

Lisätiedot

Havaitaan: muuttujan NykyisetTilat arvot kuuluvat potenssijoukkoon P(Q).

Havaitaan: muuttujan NykyisetTilat arvot kuuluvat potenssijoukkoon P(Q). Algoritmi SimulteNFA tulkk epädeterministisen lskennn deterministiseksi. Yksittäinen syötemerkki käsitellään (phimmss tpuksess) jss O( Q ). Tästä tulkkuksest päästään eroon kääntämällä lskent deterministiseksi,

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012 TIEA241 Automaatit ja, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 2. helmikuuta 2012 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti lueteltava

Lisätiedot

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

OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA Tekijät: Ari Heimonen, Hellevi Kupil, Ktj Leinonen, Tuomo Tll, Hnn Tuhknen, Pekk Vrniemi Alkupl Tiedekeskus Tietomn torninvrtij

Lisätiedot

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista Antti-Juhani Kaijanaho 15. maaliskuuta 2012 1 Apumääritelmä Määritelmä 1. Olkoon Σ merkistö, jolla on olemassa täydellinen järjestys ( ) Σ 2.

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4

Lisätiedot

Lyhyt johdatus joukko-oppiin ja relaatioihin

Lyhyt johdatus joukko-oppiin ja relaatioihin Lyhyt johtus joukko-oppiin j reltioihin Tommi Syrjänen 1 Johnto Tämän oppn trkoituksen on esittää lyhyt tiivistelmä joukko-opin j reltioien perusteist. Esitys seur pääpiirteissään kirjn Lewis, Ppimitriou:

Lisätiedot

2.1 Vaillinaiset yhtälöt

2.1 Vaillinaiset yhtälöt .1 Villiniset yhtälöt Yhtälö, jok sievenee muotoon x + bx + c = 0 (*) on yleistä normlimuoto olev toisen steen yhtälö. Tämän rtkiseminen ei olekn enää yhtä meknist kuin normlimuotoisen ensisteen yhtälön

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015 ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria

ICS-C2000 Tietojenkäsittelyteoria ICS-C2000 Tietojenkäsittelyteoria Luento 2: Äärelliset automaatit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Kertausta: kielet ja automaatit Laskennallisen ongelman ratkaisevia

Lisätiedot

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

Kieli, merkitys ja logiikka, kevät 2011 HY, Kognitiotiede. Vastaukset 2. Kieli, merkitys j logiikk, kevät 2011 HY, Kognitiotiede stukset 2. ** Kikiss utomteiss lkutil on. 1.. nn äärelliset utomtit luseille (1-c), jokiselle omns. (1).. c. q3 q4 q3 q4 q5 q6. Muodost äärellinen

Lisätiedot

AUTOMAATTIEN SYNKRONISAATIOSTA

AUTOMAATTIEN SYNKRONISAATIOSTA AUTOMAATTIEN SYNKRONISAATIOSTA John Kopr Pro grdu -tutkielm Huhtikuu 015 MATEMATIIKAN JA TILASTOTIETEEN LAITOS TURUN YLIOPISTO TURUN YLIOPISTO Mtemtiikn j tilstotieteen litos KOPRA, JOHAN: Automttien synkronistiost

Lisätiedot

6.2 Algoritmin määritelmä

6.2 Algoritmin määritelmä 6.2 Algoritmin määritelmä Mitä lgoritmill yleensä trkoitetn? Peritteess: Yksiselitteisesti kuvttu jono (tietojenkäsittely)opertioit, jotk voidn toteutt meknisesti. Käytännössä: luonnollist kieltä, pseudokoodi

Lisätiedot

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

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama

Lisätiedot

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

Reaalinen lukualue. Millainen on luku, jossa on päättymätön ja jaksoton desimaalikehitelmä? Relinen lukulue POLYNOMIFUNKTIOT JA -YHTÄLÖT, MAA Millinen on luku, joss on päättymätön j jksoton desimlikehitelmä? Onko sellisi? Trkstelln Pythgorn luseest stv yksikköneliön lävistäjää, luku + = x x =.

Lisätiedot

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

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (Predikaattilogiikka ) T-79.3001 Kevät 2009 Logiikk tietotekniikss: perusteet Lskuhrjoitus 7 (Predikttilogiikk 9.1 10.2) 19.3. 23.3. 2009 Rtkisuj demotehtäviin Tehtävä 9.1 Rtkisuss on käytetty usen otteeseen rjoitettuj universli-

Lisätiedot

Laskennan perusmallit (LAP)

Laskennan perusmallit (LAP) Lskennn perusmllit (LAP) Kimmo Fredrikssonin j Mtti Nykäsen luentomonisteest krsien muoknnut Pekk Kilpeläinen Tietojenkäsittelytieteen litos, Itä-Suomen yliopisto sähköposti: pekk.t.kilpelinen@uef.fi Lukuvuoden

Lisätiedot

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi: T-79.148 Kevät 2004 Tietojenkäsittelyteorian perusteet Harjoitus 12 Demonstraatiotehtävien ratkaisut 4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi: Hyväksyykö annettu Turingin kone

Lisätiedot

7 Funktiosarjoista. 7.1 Funktiosarjojen suppeneminen

7 Funktiosarjoista. 7.1 Funktiosarjojen suppeneminen 7 Funktiosrjoist 7. Funktiosrjojen suppeneminen Seurvksi trkstelln srjoj, joiden termit ovt (lukujen sijst) jollkin välillä I määriteltyjä funktioit. Täsmällisemmin funktiosrjll (ti lyhyemmin srjll) trkoitetn

Lisätiedot

ANALYYSI I, kevät 2009

ANALYYSI I, kevät 2009 ANALYYSI I, kevät 009 Sisältö Relilukujen peruskäsitteitä Lukujonoist 4. Lukujonon rj-rvo....................... 4. Monotoniset jonot..........................3 Osjonot.............................. 7.4

Lisätiedot

6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w}

6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w} 6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = {c w pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. syyskuuta 2016 Sisällys Neuvoja opintoihin tee joka päivä ainakin vähän uskalla mennä epämukavuusalueelle en

Lisätiedot

5.3 Ratkeavia ongelmia

5.3 Ratkeavia ongelmia 153 5.3 Ratkeavia ongelmia Deterministisen äärellisten automaattien (DFA) hyväksymisongelma: hyväksyykö annettu automaatti B merkkijonon w? Ongelmaa vastaava formaali kieli on A DFA = { B, w B on DFA,

Lisätiedot

Kertymäfunktio. Kertymäfunktio. Kertymäfunktio: Mitä opimme? 2/2. Kertymäfunktio: Mitä opimme? 1/2. Kertymäfunktio: Esitiedot

Kertymäfunktio. Kertymäfunktio. Kertymäfunktio: Mitä opimme? 2/2. Kertymäfunktio: Mitä opimme? 1/2. Kertymäfunktio: Esitiedot TKK (c) Ilkk Mellin (24) 1 Johdtus todennäköisyyslskentn TKK (c) Ilkk Mellin (24) 2 : Mitä opimme? 1/2 Jos stunnisilmiötä hlutn mllint mtemttisesti, on ilmiön tulosvihtoehdot kuvttv numeerisess muodoss.

Lisätiedot

Riemannin integraali

Riemannin integraali LUKU 5 iemnnin integrli Tässä luvuss funktion f iemnnin integrli merkitään - b f = - b f() d. Vstvsti funktion f Lebesgue in integrli merkitään f = f() dm(). [,b] [,b] Luse 5.1. Olkoon f : [, b] rjoitettu

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause Pythgorn luse Pythgors Smoslinen Pythgors on legendrinen kreikklinen mtemtiikko j filosofi. Tiedot hänen elämästään ovt epävrmoj j ristiriitisi. Tärkein Pythgorst j pythgorlisi koskev lähde on Lmlihosin

Lisätiedot

Turingin koneen laajennuksia

Turingin koneen laajennuksia Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k

Lisätiedot

Automaatit. Muodolliset kielet

Automaatit. Muodolliset kielet Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten

Lisätiedot

MS-A010{3,4} (ELEC*) 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 MS-A1{3,4} (ELEC*) Differentili- j integrlilskent 1 Luento 8: Integrlifunktio j epäoleellinen integrli Pekk Alestlo, Jrmo Mlinen Alto-yliopisto, Mtemtiikn j systeeminlyysin litos 5.1.216 Pekk Alestlo,

Lisätiedot

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

Ei-yhteydettömät kielet [Sipser luku 2.3] 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

Lisätiedot

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.

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. Topologi I Hrjoitus 10, rtkisuj AP TEHTÄVÄ 1. Olkoon (f n ) jono jtkuvi funktioit f n : [, b] R, jok suppenee välillä [, b] tsisesti kohti funktiot f : [, b] R. Osoit, että tällöin f n (x) dx f(x) dx.

Lisätiedot

PRO GRADU -TUTKIELMA. Eeva Mäkelä. Hiloista ja Boolen algebroista

PRO GRADU -TUTKIELMA. Eeva Mäkelä. Hiloista ja Boolen algebroista PRO GRADU -TUTKIELMA Eev Mäkelä Hiloist j Boolen lgeroist TAMPEREEN YLIOPISTO Luonnontieteiden tiedekunt Mtemtiikk Mrrskuu 2017 Tmpereen yliopisto Luonnontieteiden tiedekunt MÄKELÄ, EEVA: Hiloist j Boolen

Lisätiedot

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

Syksyn 2015 Pitkän matematiikan YO-kokeen TI-Nspire CAS -ratkaisut Sksn 0 Pitkän mtemtiikn YO-kokeen TI-Nspire CAS -rtkisut Tekijät: Olli Krkkulinen Rtkisut on ldittu TI-Nspire CAS -tietokoneohjelmll kättäen Muistiinpnot -sovellust. Kvt j lskut on kirjoitettu Mth -ruutuihin.

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Mtemtiikn tukikurssi Kurssikert 4 Tilvuuden j vipn ln lskeminen Kuten iemmin käsittelimme, määrätyn integrlin vull voi lske pintloj j tilvuuksi. Tyypillisenä sovelluksen tilvuuden lskemisest on tpus, joss

Lisätiedot

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

Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää S AB CA... A CB...... ja kutsua Derives(S, abcde), niin kutsu Derives(B,

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013 TIEA24 Automaatit ja kieliopit, kesä 3 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 22. toukokuuta 3 Sisällys Äärellisiä automaatteja ON PUSH PUSH OFF Q T J Q C C H S C,Q C,Q 0 40 60 80 00, 70 90 Deterministinen

Lisätiedot

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

on rekursiivisesti numeroituva, mutta ei rekursiivinen. 6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = { M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti

Lisätiedot

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

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Osoitamme seuraavan keskeisen tuloksen: Lause 1.8: [Sipser Thm. 1.54] Kieli on säännöllinen, jos ja vain jos jokin säännöllinen lauseke esittää

Lisätiedot