Muita universaaleja laskennan malleja
|
|
- Miina Tuominen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Muita universaaleja laskennan malleja Tällä kurssilla Turingin kone on valittu algoritmikäsitteen formalisoinniksi. Toisin sanoen tulkitsemme, että laskentaongelmalle on olemassa algoritmi, jos ja vain jos se voidaan ratkaista Turingin koneella. Jotta tämä valinta ei tuntuisi aivan mielivaltaiselta, käymme lyhyesti läpi edustavan kokoelman muita algoritmikäsitteelle ehdotettuja formalismeja: Random Access Machine: idealisoitu moderni tietokone Rajoittamattomat kieliopit: mahdollisimman yleinen produktiosääntöhin perustuva malli Rekursiiviset funktiot: algoritmisesti ratkeavien ongelmien joukko määritellään sellaisten sulkeumaominaisuuksien kautta, joita sillä tulisi olla ( jos ongelmalla A on ratkaisualgoritmi, niin silloin myös siitä muodostetulla ongelmalla B pitäisi olla ratkaisualgoritmi ) Osoittautuu, että kaikki nämä lähestymistavat johtavat oleellisesti samaan algoritmin käsitteeseen kuin Turingin koneet. 49
2 Edellä on yksinkertaisuuden vuoksi rajoituttu päätösongelmiin. Seuraavaksi esiteltävistä formalismeista Random Access Machine ja rekursiiviset funktiot ovat luontevampia ajatella osittaisten funktioden kautta. Olkoon M deterministinen Turingin kone, jonka syöteaakkosto on Σ. Oletetaan lisäksi, että M pysähtyy vain muotoa vqw olevissa tilanteissa, missä v, w Σ. Koneen M laskema osittainen funktio f: Σ Σ määritellään nyt seuraavasti: jos M syötteellä x pysähtyy tilanteeseen vqw, niin f(x) = vw Σ jos M syötteellä x ei pysähdy, niin f(x) ei ole määritelty. (Jos M jollain syötteellä pysähtyy siten, että nauhalla on ylimääräisiä syöteaakkostoon kuulumattomia merkkejä, se ei siis ylipäänsä laske mitään osittaista funktiota. Funktion laskemisessa ei kiinnitetä huomiota siihen, pysähtyykö kone hyväksyvään vai ei-hyväksyvään tilaan.) Yleisessä tapauksessa f ei ole oikea funktio, koska se ei ole määritelty kaikilla argumentin arvoilla x. Niinpä laskettavuuden teoriassa esiintyy paljon osittaisia funktioita. Jos M pysähtyy kaikilla syötteillä, asiaa usein korostetaan sanomalla että se laskee totaalisen funktion. 50
3 Random Access Machine (RAM) ( ) abstraktin tietokoneen konekieliohjelma koneessa rajoittamaton määrä rekistereitä jotka voivat sisältää mielivaltaisen suuren kokonaisluvun merkitään rekisterin j sisältöä r j, j = 0, 1, 2,... rekisteri 0 akku; lisäksi käskyosoitin κ syötteenä luvut i 1, i 2, i 3,... tuloste on rekisterin 0 sisältö laskennan pysähtymishetkellä; jos laskenta ei pysähdy, tuloste ei ole määritelty 51
4 RAMin käskykanta käsky merkitys READ j r 0 := i j READ *j r 0 := i rj STORE j r j := r 0 STORE *j r rj := r 0 LOAD x r 0 := val(x) ADD x r 0 := r 0 + val(x) SUB x r 0 := r 0 val(x) käsky merkitys HALF r 0 := r 0 /2 JUMP j κ := j JPOS j jos r 0 > 0 niin κ := j JZERO j jos r 0 = 0 niin κ := j JNEG j jos r 0 < 0 niin κ := j HALT laskenta pysähtyy r j on rekisterin numero j sisältämä kokonaisluku x voi olla jokin vaihtoehdoista %j, j tai j missä j N. val(%j) = j, val(j) = r j ja val( j) = r rj 52
5 Turingin koneiden ja RAMin vertaamiseksi samastetaan luonnolliset luvut ja niiden binääriesitykset. Toisin sanoen olkoon b(n) { 0, 1 } luvun n binääriesitys, kun n N. Sanomme, että Turingin kone M laskee osittaisen funktion f: N N, jos M laskee osittaisen funktion ˆf: { 0, 1 } { 0, 1 }, missä jos x = b(n) jollain n ja f(n) = m N, niin ˆf(x) = b(m) muuten ˆf(x) ei ole määritelty. Lause: Osittainen funktio f: N N voidaan laskea Turingin koneella, jos ja vain jos se voidaan laskea RAMilla. Todistushahmotelma: Vain jos -suunta on helppo: RAMilla pitää ensin muuntaa syöteluku binääriesityksekseen ja sen jälkeen simuloida Turingin konetta. Tämä on suoraviivainen ohjelmointiharjoitus. Jos -suuntaa varten kontruoidaan annetulle RAMille sitä simuloiva 7-nauhainen Turingin kone. Seuraavassa esitetään vain nauhojen sisältö, yksityiskohdat sivuutetaan. 53
6 Nauha 1: syöteluvut sopivasti koodattuna Nauha 2: rekisterien sisältö koodattuna jonoiksi b(j) : b(r j ) missä siis b( ) tarkoittaa binääriesitystä; näiden jonojen välillä voi olla mielivaltainen määrä tyhjämerkkejä Nauha 3: käskyosoitin κ Nauha 4: se indeksi j jota vastaavaa r j ollaan etsimässä nauhalta 2 Nauhat 5 7: työnauhoja aritmetiikkaan jne. 54
7 Turingin kone vs. tietokone [HMU 8.6] Edellä esitetyn perusteella Turingin kone on sopiva malli modernille tietokoneelle, jolla on käytettävissään rajoittamaton määrä muistia. Reaalisissa tietokoneissa on aina jokin kiinteä yläraja käytettävissä olevan muistin määrälle. Periaatteessa oikea malli tietokoneelle, jossa on B bittiä muistia, olisi äärellinen 2 B -tilainen automaatti. Näin monitilaisen systeemin ajatteleminen äärellisenä automaattina ei kuitenkaan ole kovin intuitiivista. Kun systeemiä ajatellaan Turingin koneena, saavutetaan se etu, että kontrolliosa on pieni, hallittavissa oleva ja sama kaiken kokoisille syötteille. Tämän takia siedetään mallissa se epärealistinen piirre, että Turingin koneen simulaatio voi joillain syötteillä vaatia enemmän muistia kuin fyysisesti on käytettävissä. Millä tahansa yksittäisellä päättyvällä laskennalla tosin tarvitaan vain jokin äärellinen määrä muistia, mutta tätä määrää ei voi tietää ennakolta. 55
8 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 äärelliset automaatit kontekstittomat kieliopit pinoautomaatit Nyt saadaan yksi vastaava pari lisää: rajoittamattomat kieliopit Turingin koneet 56
9 Rajoittamaton kielioppi on nelikko G = (V, Σ, P, S) missä V aakkosto Σ päätemerkit; N = V Σ välikemerkit P (V { ε }) V produktiot S N lähtösymboli Produktiota (α, β) merkitään yleensä α β. Erona kontekstittomiin kielioppeihin, että produktion vasemmalla puolella voi olla mikä tahansa epätyhjä merkkijono. 57
10 Merkkijono γ V johtaa suoraan merkkijonon γ V jos voidaan kirjoittaa γ = αωβ ja γ = αω β missä ω ω P. Tällöin merkitään γ G γ. Merkkijono γ V johtaa merkkijonon γ V jos on olemassa γ 0 = γ, γ 1, γ 2,..., γ n = γ joille γ i 1 G γ i. Tällöin merkitään γ G γ. Kieliopin G tuottama kieli on L(G) = { } x Σ S x. G 58
11 Esimerkki: muodostetaan G = (V, Σ, P, S) jolle L(G) = { a k b k c k k 0 }. (Huom. kieli { a k b k c k k 0 } ei ole kontekstiton.) Siis Σ = { a, b, c }. Valitaan N = { S, X, T, A, B, C } ja otetaan produktiot S XT S ε T ABCT T ABC BA AB CA AC CB BC XA a aa aa ab ab bb bb bc bc cc cc 59
12 Siis merkkijonon a k b k c k tuottamiseksi tuotetaan X(ABC) k järjestetään A-, B- ja C-merkit aakkosjärjestykseen; tuloksena XA k B k C k korvataan isot kirjaimet pienillä vasemmalta alkaen. Tämä osoittaa että rajoittamattomilla kieliopeilla voidaan tuottaa muitakin kuin kontekstisia kieliä. Seuraavaksi käydään periaatetasolla läpi konstruktiot, jotka osoittavat että itse asiassa rajoittamattomilla kieliopeilla voidaan tuottaa tasan ne kielet, jotka voidaan tunnistaa Turingin koneella. 60
13 Lause: Jos kieli voidaan tuottaa rajoittamattomalla kieliopilla, niin se voidaan tunnistaa Turingin koneella. Todistus (periaate): Olkoon G rajoittamaton kielioppi. Aiemmin esitetyn perusteella riittää muodostaa kaksinauhainen epädeterministinen Turingin kone M jolle L(M) = L(G). Nauha 1 sisältää vain kopion syötejonosta. Nauhalle 2 tuotetaan (epädeterministisesti) lähtösymbolista tuotettavissa olevia merkkijonoja. Laskennan aluksi nauhalle 2 kirjoitetaan pelkkä lähtösymboli. Jos jossain vaiheessa nauhojen sisällöt ovat samat, hyväksytään. 61
14 Laskenta koostuu vaiheista joissa kussakin viedään epädeterministisesti nauhan 2 nauhapää mielivaltaiseen paikkaan valitaan epädeterministisesti mielivaltainen kieliopin G produktio jos nauhapään kohdalta löytyy produktion vasen puoli, kirjoitetaan sen paikalle produktion oikea puoli verrataan nauhojen 1 ja 2 sisältöjä Koska produktioita on äärellinen määrä, ne voidaan koodata Turingin koneen tiloihin. Tarkemmat yksityiskohdat sivuutetaan. 62
15 Lause: Jos kieli voidaan tunnistaa Turingin koneella, niin se voidaan tuottaa rajoittamattomalla kieliopilla. Todistus: Olkoon M = (Q, Σ, Γ, δ, q 0, #, F ) annettu. Idea on muodostaa kielioppi G = (V, Σ, P, S) joka tuottaa koneen M tilanteita. Välikkeiksi otetaan siis ainakin koneen M tilojen symbolit. Produktiot suunnitellaan siten että [vqw] G [v q w ] jos ja vain jos vqw M v q w missä [ ja ] ovat uusia välikesymboleja. Tämä on mahdollista koska vqw M v q w edellyttää että vqw ja v q w eroavat toisistaan vain merkin q lähiympäristössä. 63
16 Merkkijonon x L(M) tuottaminen tapahtuu kolmessa vaiheessa: 1. tuotetaan lähtösymbolista S merkkijono x[q 0 x]. 2. muunnetaan x[q 0 x] G x[vq f w] missä q f F 3. siistitään x[vq f w] G x Varsinainen työ tapahtuu vaiheessa 2 jossa G simuloi konetta M. Jos x L(M), niin G ei pysty tuottamaan muotoa x[vq f w] olevia merkkijonoja. 64
17 Esitetään vielä konstruktion yksityiskohdat. Aakkostona on (huom. Σ Γ). V = Γ Q { S, T, [, ], X, Y } { A a a Σ } Produktiot jakautuvat edelläesitettyjen vaiheiden mukaisesti kolmeen osakokonaisuuteen: Vaihe 1: alkutilanteen tuottaminen S T [q 0 ] T ε T at A a A a [q 0 [q 0 A a A a b ba a A a ] a] (kaikilla a, b Σ) 65
18 Vaihe 2: siirtymien simulointi (nämä niille a, b, c Γ jotka ilmenevät siirtymäfunktiosta) Siirtymä δ(q, a) = (q, b, R) δ(q, a) = (q, b, L) δ(q, #) = (q, b, R) δ(q, #) = (q, b, L) δ(q, a) = (q, b, L) Vastaava produktio qa bq cqa q cb q] bq ] cq] q cb] [qa [q #b Vaihe 3: lopputilanteen siistiminen (kaikille a Γ, q f F ) q f XY ax X [X ε Y a Y Y ] ε 66
19 Chomskyn hierarkia Noam Chomskyn vuonna 1956 esittämä luokittelu kieliopeille niiden ilmaisuvoiman mukaan tyyppi kieli kielioppi tunnistaminen 0 rekurs. lueteltava rajoittamaton Turingin kone 1 kontekstinen kontekstinen lin. rajoitettu TM 2 kontekstiton kontekstiton pinoautomaatti 3 säännöllinen oikealle lin. äärellinen autom. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit kuvan täydentämiseksi käydään tässä lyhyesti läpi taso 1 67
20 Kontekstinen kielioppi: kuten rajoittamaton kielioppi mutta produktioiden muotoa rajoitetaan sallitaan produktiot α β missä β α lisäksi sallitaan produktio S ε olettaen että S ei esiinny minkään produktion oikealla puolella Nimi kontekstinen tulee siitä, että tällaiset kielet voidaan muuntaa muotoon jossa produktiot (pl. mahd. S ε) ovat tyyppiä αaβ αωβ missä A on välike ja ω ε. Siis intuitiivisesti produktiota A ω saadaan käyttää vain kontekstissa α β. 68
21 Lineaarisesti rajoitettu Turingin kone on epädeterministinen yksinauhainen Turingin kone joka ei koskaan kirjoita mitään muuta niiden tyhjämerkkien päälle jotka nauhalla on alkutilanteessa. Siis kone käyttää ainoastaan syötteen pituuden verran nauhatilaa. Lause Kieli voidaan tuottaa kontekstisella kieliopilla jos ja vain jos se voidaan tunnistaa lineaarisesti rajoitetulla Turingin koneella. (Todistus sivuutetaan.) Tämä on siis esimerkki laskennan mallista, jossa pelkästään syötteen koon perusteella saadaan yläraja sen vaatiman laskennan määrälle. Universaaleilla laskennan malleilla näin ei ole, vaan lyhytkin syöte voi johtaa pitkään laskentaan. 69
22 Rekursiiviset funktiot (Gödel ja Kleene 1936) ( ) Palautetaan mieliin: kieli A on rekursiivisesti lueteltava jos A = L(M) jollain Turingin koneella M A on rekursiivinen jos lisäksi M pysähtyy kaikilla syötteillä Käytetään taas luvun n binääriesitykselle merkintää b(n), ja oletetaan että A { 0, 1 } n on joukko tällaisia binääriesityksiä (jos x A niin x = b(n) jollain n N). Seuraavassa määritellään rekursiiviset funktiot f: N N joille osoittautuu pätevän A on rekursiivinen kieli jos ja vain jos π A on rekursiivinen funktio, missä π A (n) = 1 jos b(n) A ja π A (n) = 0 muuten. A on rekursiivisesti lueteltava jos ja vain jos jollain rekursiivisella f pätee A = { b(f(x)) x N } 70
23 Rekursiivisten funktioiden määritelmän idea on seuraava: tietyt alkeisfunktiot pitäisi ilman muuta osata laskea jos on annettu joitain perusfunktioita jotka osataan laskea, niin niistä tietyillä yksinkertaisilla operaatioilla muodostetut funktiot pitäisi myös osata laskea Rekursiivisia funktioita ovat tasan ne jotka tämän logiikan mukaan pitäisi osata laskea. Tässä on siis tavallaan deklaratiivinen määritelmä laskettavuudella, itse laskentaprosessista ei puhuta mitään. Tietysti intuitio laskentaprosesseista on vahvasti taustalla kun valitaan sopivat alkeisfunktiot ja operaatiot. 71
24 Määritellään ensin yleisemmin osittaisrekursiiviset funktiot N k N. Alkeisfunktiot nollafunktio Z: N N, Z(x) = 0 kaikilla x seuraajafunktio S: N N, S(x) = x + 1 kaikilla x kaikilla n N ja 1 i n projektiofunktio U n i : Nn N, U n i (x 1,..., x n ) = x i kaikilla x 1,..., x n N Nämä ovat kaikki totaalisia funktioita eli määritelty kaikilla argumenttien arvoilla 72
25 Määritellään nyt operaatioita uusien funktioiden muodostamiseksi. Sijoitus: kun on annettu f: N k N ja g 1,..., g k jotka ovat funktioita N m N, sijoitus tuottaa funktion h: N m N, h(x) = f(g i (x),..., g k (x)) Rekursio: kun on annettu funktiot f: N k N ja g: N k+2 N, rekursio tuottaa sen funktion h: N k+1 N jolle h(x, 0) = f(x) h(x, y + 1) = g(x, y, h(x, y)) Jos jollain argumentilla x esim. jokin g i (x) ei ole määritelty, niin myöskään sijoittamalla saatu h(x) ei ole määritelty tällä x jne. Jos annetut funktiot ovat totaalisia, myös sijoittamalla ja rekursiolla syntyvät funktiot ovat. 73
26 Primitiivirekursiivisten funktioiden joukko PR on pienin joukko joka sisältää funktiot Z, S ja U n i kaikilla i, n ja on suljettu sijoittamisen ja rekursion suhteen (ts. jos funktiot f ja g i ovat joukossa PR, myös niistä sijoituksella tai rekursiolla saadut funktiot ovat) Siis PR koostuu tasan niistä funktioista, jotka voidaan muodostaa alkeisfunktioista Z, S ja Ui n sijoitusta ja rekursiota käyttäen. Tästä seuraa että kaikki primitiivirekursiiviset funktiot ovat totaalisia. 74
27 Esimerkkejä Identiteettifunktio f(x) = x on sama kuin projektio U 1 1. Muodostetaan g yhdistämällä S ja U3 3, siis g(x, y, z) = z + 1. Yhteenlaskufunktio p(x, y) = x + y toteuttaa p(x, 0) = x p(x, y + 1) = p(x, y) + 1 joten se saadaan rekursiolla ylläolevista f ja g. Kertolaskufunktio m(x, y) = xy puolestaan toteuttaa m(x, 0) = 0 m(x, y + 1) = m(x, y) + x joten se saadaan edelleen rekursiolla yhteenlaskufunktion avulla. 75
28 Kaikki tavalliset aritmeettiset perusfunktiot nähdään helposti primitiivirekursiivisiksi. Yleisemmin primitiivirekursiivisia ovat täsmälleen ne funktiot, jotka voidaan laskea käyttäen vain for-silmukoita joissa iteraatioiden määrä pitää kiinnittää ennen silmukan suorituksen alkua. On kuitenkin funktioita joiden laskemiseen tarvitaan yleisempää while-silmukkaa. Esim. voidaan osoittaa että Ackermannin funktio ψ(0, y) = y + 1 ψ(x + 1, 0) = ψ(x, 1) ψ(x + 1, y + 1) = ψ(x, ψ(x + 1, y)) kasvaa nopeammin kuin mikään primitiivirekursiivinen funktio Siis universaaliin laskennan malliin tarvitaan jokin primitiivirekursiota voimakkaampi mekanismi 76
29 Minimointi: kun on annettu funktio f: N k+1 N, minimointi tuottaa funktion g: N N jolle 1. jos jollain y kaikki arvot f(x, 0),..., f(x, y) ovat määriteltyjä ja f(x, y) = 0, niin g(x) on pienin tällainen y 2. muuten g(x) ei ole määritelty Arvoa y = g(x) voi tietysti etsiä laskemalla järjestyksessä f(x, 0), f(x, 1), f(x, 2), f(x, 3),... ja pysähtymällä kun tulee nolla. Etukäteen ei kuitenkaan ole mitään arviota, kuinka pitkälle joudutaan laskemaan. 77
30 Osittaisrekursiivisten funktioiden joukko PR on pienin joukko joka sisältää funktiot Z, S ja U n i kaikilla i, n ja on suljettu sijoittamisen, rekursion ja minimoinnin suhteen Rekursiivisia ovat ne osittaisrekursiiviset funktiot jotka ovat totaalisia. Esim. Ackermannin funktio ja kaikki primitiivirekursiiviset funktiot ovat rekursiivisia. Kuten alussa todettiin, voidaan osoittaa (kun A on joukko binäärikoodeja) että A on rekursiivinen kieli jos ja vain jos π A on rekursiivinen funktio A on rekursiivisesti lueteltava jos ja vain jos jollain rekursiiviselle f pätee A = { b(f(x)) x N } lisäksi A on rekursiivisesti lueteltava jos ja vain jos π A on osittaisrekursiivinen, missä π A (x) = 1 jos b(x) A ja π A (x) ei ole määritelty muuten 78
31 Churchin-Turingin teesi [HMU 8.2.1] Turing esitti oman määritelmänsä matemaattisen logiikan tarpeisiin malliksi siitä, mitä ihminen voi laskea sääntöjä mekaanisesti seuraamalla. Samoihin aikoihin samoihin tarpeisiin esitettiin useita muitakin määritelmiä (Gödel & Kleene; Postin produktiojärjestelmät). Nämä kaikki osoittautuivat Turingin määritelmän kanssa yhtäpitäviksi. Myöhemmin Turingin kone osoittautui hyväksi malliksi myös nykyaikaiselle tietokoneelle. Tästä seuraava askel on Churchin-Turingin teesi: Turingin koneet on oikea malli sille, mitä ylipäänsä on mahdollista laskea mekaanisesti sääntöjä seuraamalla. Teesi ei tietenkään ole matemaattinen väittämä. Sitä voidaan pitää empiirisenä väittämänä, koska se on periaatteessa falsifioitavissa esittämällä laskulaite, joka laskee ei-rekursiivisia funktioita. Tämäkin on tosin hieman ongelmallista, koska käytännössä voidaan tarkastella vain rajoitetun kokoisia syötteitä. Nykyään teesi on varsin laajasti hyväksytty, mutta ideoita Turingin konetta voimakkaammista laskulaitteista esitetään toisinaan. 79
Chomskyn hierarkia. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit
Chomskyn hierarkia Noam Chomskyn vuonna 1956 esittämä luokittelu kieliopeille niiden ilmaisuvoiman mukaan tyyppi kieli kielioppi tunnistaminen 0 rekurs. lueteltava rajoittamaton Turingin kone 1 kontekstinen
LisätiedotRajoittamattomat 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ätiedot6.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ätiedotLaskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa
Lisätiedot1. Universaaleja laskennan malleja
1. Universaaleja laskennan malleja Laskenta datan käsittely annettuja sääntöjä täsmällisesti seuraamalla kahden kokonaisluvun kertolasku tietokoneella, tai kynällä ja paperilla: selvästi laskentaa entä
LisätiedotTä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ätiedotTuringin 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ätiedotLaskennan teoria
581336-0 Laskennan teoria luennot kevatlukukaudella 2006 Jyrki Kivinen tietojenkasittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkasittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa
LisätiedotTIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. toukokuuta 2011 Sisällys engl. random-access machines, RAM yksinkertaistettu nykyaikaisen (ei-rinnakkaisen)
LisätiedotLaskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2003 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa esitiedot käytännössä
LisätiedotChomskyn 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ätiedotuv 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ätiedotLaskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja
581336 Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 1. S! axc X! axc X! by c Y! by c Y! " 2. (a) Tehtävänä on konstruoida rajoittamaton kielioppi, joka tuottaa kielen f0 n 1 n jn 1g. Vaihe1: alkutilanteen
LisätiedotM = (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ätiedotMuunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja
sekä muita TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. kesäkuuta 2013 Sisällys Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton
LisätiedotRekursiiviset palautukset [HMU 9.3.1]
Rekursiiviset palautukset [HMU 9.3.1] Yleisesti sanomme, että ongelma P voidaan palauttaa ongelmaan Q, jos mistä tahansa ongelmalle Q annetusta ratkaisualgoritmista voidaan jotenkin muodostaa ongelmalle
LisätiedotLisää pysähtymisaiheisia ongelmia
Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti
LisätiedotPinoautomaatit. Pois kontekstittomuudesta
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015 Sisällys Pinoautomaatti NFA:n yleistys automaatilla on käytössään LIFO-muisti 1 eli pino Pino
LisätiedotTuringin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. kesäkuuta 2013 Sisällys Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton kontekstinen
LisätiedotPinoautomaatit. 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ätiedotTodistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.
Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,
Lisätiedot4. 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ätiedotRajoittamattomat kieliopit (Unrestricted Grammars)
Rajoittamattomat kieliopit (Unrestricted Grammars) Laura Pesola Laskennanteorian opintopiiri 13.2.2013 Formaalit kieliopit Sisältävät aina Säännöt (esim. A -> B C abc) Muuttujat (A, B, C, S) Aloitussymboli
LisätiedotTIEA241 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ätiedot1. Universaaleja laskennan malleja
1. Universaaleja laskennan malleja Esimerkkinä universaalista laskennan mallista tarkastellaan Turingin konetta muunnelmineen. Lyhyesti esitellään myös muita malleja. Tämän luvun jälkeen opiskelija tuntee
LisätiedotTIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013
ja ja TIEA241 Automaatit ja kieliopit, kesä 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. kesäkuuta 2013 Sisällys ja ja on yksi vanhimmista tavoista yrittää mallittaa mekaanista laskentaa. Kurt
LisätiedotAlgoritmin määritelmä [Sipser luku 3.3]
Algoritmin määritelmä [Sipser luku 3.3] Mitä algoritmilla yleensä tarkoitetaan periaatteessa: yksiselitteisesti kuvattu jono (tietojenkäsittely)operaatioita, jotka voidaan toteuttaa mekaanisesti käytännössä:
Lisätiedotvaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 13. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 13.10.2016 klo 9:42 passed waiting redo submitters
Lisätiedoton 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ätiedotICS-C2000 Tietojenkäsittelyteoria Kevät 2016
ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.
Lisätiedot2. Laskettavuusteoriaa
2. Laskettavuusteoriaa Käymme läpi ratkeamattomuuteen liittyviä ja perustuloksia ja -tekniikoita [HMU luku 9]. Tämän luvun jälkeen opiskelija tuntee joukon keskeisiä ratkeamattomuustuloksia osaa esittää
Lisätiedotδ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.
42 Turingin koneiden laajennuksia 1 oniuraiset koneet Sallitaan, että Turingin koneen nauha koostuu k:sta rinnakkaisesta urasta, jotka kaikki kone lukee ja kirjoittaa yhdessä laskenta-askelessa: Koneen
LisätiedotTIEA241 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ätiedotLaskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. joulukuuta 2015 Sisällys TM vs yleiset kieliopit Lause Jokaiselle kielelle A seuraavat ovat yhtäpitävät: 1.
LisätiedotTKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut
TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut Pisteytys on ilmoitettu välikoevaihtoehdon mukaan (joko tehtävät 1, 2 ja 3 välikokeen 1 uusintana tai tehtävät 4, 5 ja 6 välikokeen 2 uusintana).
LisätiedotSäännöllisen kielen tunnistavat Turingin koneet
186 Säännöllisen kielen tunnistavat Turingin koneet Myös säännöllisen kielen hyväksyvien Turingin koneiden tunnistaminen voidaan osoittaa ratkeamattomaksi palauttamalla universaalikielen tunnistaminen
LisätiedotLaskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 17.10.2016 klo 15:07 passed waiting redo submitters
LisätiedotLaskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. maaliskuuta 2012 Sisällys Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on
LisätiedotLaskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. kesäkuuta 2013 Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on muotoa Onko
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016
ja ja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016 Sisällys ja ja Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/
LisätiedotLaskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja
582206 Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja 1. Seuraavissa laskennoissa tilat on numeroitu sarakkeittain ylhäältä alas jättäen kuitenkin hyväksyvä tila välistä. Turingin koneen laskenta
LisätiedotYhteydettö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ätiedotT 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ätiedotICS-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ätiedotICS-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ätiedotTIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 10. kesäkuuta 2013
TIEA241 Automaatit ja kieliopit, kesä 2013 etenevä Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. kesäkuuta 2013 Sisällys etenevä etenevä Chomskyn hierarkia (ja muutakin) kieli säännöllinen LL(k) LR(1)
Lisätiedotformalismeja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 15. joulukuuta 2015 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 15. joulukuuta 2015 Sisällys Loppukurssin aikataulu tiistai 15.12.2015 viimeiset demot keskiviikko 16.12.2015 viimeiset
Lisätiedot5.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ätiedotKielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }
135 4.3 Algoritmeista Churchin ja Turingin formuloinnit laskennalle syntyivät Hilbertin vuonna 1900 esittämän kymmenennen ongelman seurauksena Oleellisesti Hilbert pyysi algoritmia polynomin kokonaislukujuuren
LisätiedotPinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS
.. TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. lokakuuta 2016 Sisällys. Harjoitustehtävätilastoja Tilanne 6.10.2016 klo 8:28 passed potential redo submitters
LisätiedotTestaa: 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Ää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(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ätiedotTuringin koneet. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 7. joulukuuta 2015 Sisällys Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/
Lisätiedot2. Laskettavuusteoriaa
2. Laskettavuusteoriaa Kaymme lapi ratkeamattomuuteen liittyvia ja perustuloksia ja -tekniikoita [HMU luku 9]. Taman luvun jalkeen opiskelija tuntee joukon keskeisia ratkeamattomuustuloksia osaa esittaa
Lisätiedotongelma A voidaan ratkaista ongelman B avulla, joten jossain mielessä
Edellä esitetyt kielten A TM ja HALT TM ratkeamattomuustodistukset ovat esimerkkejä palautuksesta (reduction). Intuitiivisesti ongelman A palauttaminen ongelmaan B tarkoittaa, että Oletetaan, että meillä
LisätiedotSäännöllisten kielten sulkeumaominaisuudet
Säännöllisten kielten sulkeumaominaisuudet Osoitamme nyt, että säännöllisten kielten joukko on suljettu yhdisteen, konkatenaation ja tähtioperaation suhteen. Toisin sanoen jos A ja B ovat säännöllisiä,
LisätiedotTIEA241 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ätiedotOlkoon 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ätiedotTäydentäviä muistiinpanoja laskennan rajoista
Täydentäviä muistiinpanoja laskennan rajoista Antti-Juhani Kaijanaho 10. joulukuuta 2015 1 Diagonaalikieli Diagonaalikieli on D = { k {0, 1} k L(M k ) }. Lause 1. Päätösongelma Onko k {0, 1} sellaisen
Lisätiedotjäsentäminen TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 26. marraskuuta 2015 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. marraskuuta 2015 Sisällys Tunnistamis- ja jäsennysongelma Olkoon G = (N, Σ, P, S) kontekstiton kielioppi ja
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 20. lokakuuta 2016
.. TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. lokakuuta 2016 Sisällys. Turingin koneiden pysähtymisongelma. Lause Päätösongelma Pysähtyykö standardimallinen
LisätiedotRekursiivinen 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ätiedotS 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ätiedotPysähtymisongelman ratkeavuus [Sipser luku 4.2]
Pysähtymisongelman ratkeavuus [Sipser luku 4.2] Osoitamme nyt vihdoin, että jotkin Turing-tunnistettavat kielet ovat ratkeamattomia ja jotkin kielet eivät ole edes Turing-tunnistettavia. Lisäksi toteamme,
Lisätiedot1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1
Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 11 Ratkaisut 1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen kahta yhdistämissääntöä. Perusfunktioita
LisätiedotTIEA241 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ätiedotICS-C2000 Tietojenkäsittelyteoria
ICS-C2000 Tietojenkäsittelyteoria Luento 10: Lisää ratkeamattomuudesta Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Aiheet: Pysähtymisongelma Epätyhjyysongelma Rekursiiviset
LisätiedotVasen 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ätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. marraskuuta 2015 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 a 5 00 k 11 i
LisätiedotHahmon etsiminen syotteesta (johdatteleva esimerkki)
Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux
LisätiedotLaskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja
582206 Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja 1. Esitä tilakaaviona NFA N = (Q, Σ, δ, q 0, F ), missä Q = { q 0, q 1, q 2, q 3, q 4, q 5, q 6, q 7 }, Σ = { a, b, c }, F = { q 4 } ja δ on
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016 Sisällys Harjoitustehtävät loppukurssilla luentojen 14 18 harjoitustehtävistä on tehtävä yksi
LisätiedotKertausta 1. kurssikokeeseen
Kertausta. kurssikokeeseen. kurssikoe on to 22.0. klo 9 2 salissa A (tai CK2). Koealueena johdanto ja säännölliset kielet luentokalvot 3 ja nämä kertauskalvot harjoitukset 6 Sipser, luvut 0 ja Edellisvuosien.
LisätiedotEpädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna
Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna. q 0 x solmuina laskennan mahdolliset tilanteet juurena alkutilanne lehtinä tilanteet joista ei siirtymää,
LisätiedotM =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)
Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 7 Demonstraatiotehtävien ratkaisut 1. Pinoautomaatti M = K Σ Γ s F missä K Σ s ja F on määritelty samalla tavalla kuin tilakoneellekin.
LisätiedotTIEA241 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ätiedotTIEA241 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ätiedot9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko
9.5. Turingin kone Turingin kone on järjestetty seitsikko TM = (S, I, Γ, O, B, s 0, H), missä S on tilojen joukko, I on syöttöaakkosto, Γ on nauha-aakkosto, I Γ, O on äärellinen ohjeiden joukko, O S Γ
Lisätiedot3. Laskennan vaativuusteoriaa
3. Laskennan vaativuusteoriaa tähän asti puhuttu siitä, mitä on mahdollista laskea äärellisessä ajassa siirrytään tarkastelemaan laskemista kohtuullisessa ajassa vaihtoehtoisesti voidaan laskenta-ajan
LisätiedotTIEA241 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ätiedotTIEA241 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ätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. tammikuuta 2012 Sisällys Luennon pähkinä Millä tavalla voidaan rakentaa tietokoneohjelma (tai kirjasto), joka
LisätiedotMuita vaativuusluokkia
Muita vaativuusluokkia Käydään lyhyesti läpi tärkeimpiä vaativuusluokkiin liittyviä tuloksia. Monet tunnetuista tuloksista ovat vaikeita todistaa, ja monet kysymykset ovat vielä auki. Lause (Ladner 1975):
LisätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. tammikuuta 2012 Sisällys Sisällys Äärellisiä automaatteja PUSH ON PUSH OFF Q T Q J C C H S C,Q C,Q 0 50s 1e
LisätiedotSäännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 24. toukokuuta 2013 Sisällys Formaalit kielet On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman
Lisätiedotjäsennyksestä TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 29. syyskuuta 2016 TIETOTEKNIIKAN LAITOS Kontekstittomien kielioppien
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. syyskuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 29.9.2016 klo 8:41 (lähes kaikki kommentoitu) passed
LisätiedotLaskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2003 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa esitiedot käytännössä
LisätiedotAutomaatit. 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ätiedot3. Turingin koneet. osaa esittää yksinkertaisia algoritmeja täsmällisesti käyttäen Turingin konetta ja sen muunnelmia
3. Turingin koneet Turingin kone on alkuaan matemaattisen logiikan tarpeisiin kehitelty laskennan malli. Tarkoituksena oli vangita mahdollisimman laajasti, millaisia asioita voidaan (periaatteessa) laskea
LisätiedotRatkeavuus ja efektiivinen numeroituvuus
Luku 6 Ratkeavuus ja efektiivinen numeroituvuus Proseduurit Olkoon A aakkosto. Proseduuri aakkoston A sanoille on mikä hyvänsä prosessi (algoritmi) P, jolle annetaan syötteeksi sana w A, ja joka etenee
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015
TIEA24 Automaatit ja kieliopit, syksy 205 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 5. marraskuuta 205 Sisällys Käsiteanalyysiä Tarkastellaan koodilukkoa äärellisenä automaattina. Deterministinen äärellinen
LisätiedotLaskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa
LisätiedotLaskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja
582206 Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja 1. Tarkastellaan yhteydetöntä kielioppia S SAB ε A aa a B bb ε Esitä merkkijonolle aa kaksi erilaista jäsennyspuuta ja kummallekin siitä vastaava
LisätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. maaliskuuta 2012 Sisällys Ongelma-analyysiä Sisällys Ongelma-analyysiä Hypoteettinen ongelma The Elite Bugbusters
LisätiedotEsimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:
Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $: a, ε d b, d ε ε, ε $ b, d ε 1 2 3 6 c, ε e c, ε e c,
Lisätiedot!""# $%&'( ' )' (*' " '' '( "! ' *'&' "! ' '( "!! )& "! # "! & "! ' "! $''!! &'&' $' '! $ & "!!" #!$ %! & '()%%'!! '!! # '&' &'!! &'&' *('(' &'!*! +& &*%!! $ & #" !!" "!!!" $ " # ' '&& % & #! # ' '&&
LisätiedotOutput. 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ätiedotYhteydettömät kieliopit [Sipser luku 2.1]
Yhteydettömät kieliopit [ipser luku 2.1] Johdantoesimerkkinä tarkastelemme kieltä L = { a n b m a n n > 0, m > 0 }, joka on yhteydetön (mutta ei säännöllinen). Vastaavan kieliopin ytimenä on säännöt eli
LisätiedotFormalisoimme nyt edellä kuvatun laskennan.
Formalisoimme nyt edellä kuvatun laskennan. Jos M = (Q, Σ, δ, q, F ) on äärellinen automaatti ja w = w... w n on n merkkiä pitkä aakkoston Σ merkkijono, niin automaatti M hyväksyy merkkijonon w, jos on
Lisätiedot