ICS-C2000 Tietojenkäsittelyteoria
|
|
- Arto Mäki
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 ICS-C2000 Tietojenkäsittelyteoria Luento 10: Lisää ratkeamattomuudesta Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016
2 Aiheet: Pysähtymisongelma Epätyhjyysongelma Rekursiiviset palautukset Postin vastaavuusongelma (Sipserin kirjan luku 5.2) Materiaali: Orposen prujun luvut 6.5, 6.7 (alkuosa) sekä (palautukset) 2/55
3 Mieleenpalautusta viime viikolta Esimerkki: Kielen {a k b k c k k 0} tunnistava Turingin kone /, L /, L B/B, R C/C, R a/a, R B/B, R a/a, R b/b, R q 0 q 1 q 2 q 5 q 4 a/a, R B/B, R A/A, R q 3 b/b, R C/C, R c/c, L C/C, L b/b, L B/B, L a/a, L Koneen laskenta syötteellä aabbcc: (q 0,aabbcc) (q 1,Aabbcc) (q 1,Aabbcc) (q 2,AaBbcc) (q 2,AaBbcc) (q 3,AaBbCc) (q 3,AaBbCc) (q 3,AaBbCc) (q 3,AaBbCc) (q 4,AaBbCc) (q 1,AABbCc) (q 1,AABbCc) (q 2,AABBCc) (q 2,AABBCc) (q 3,AABBCC) (q 3,AABBCC) (q 3,AABBCC) (q 3,AABBCC) (q 4,AABBCC) (q 5,AABBCC) (q 5,AABBCC) (q 5,AABBCC) (q 5,AABBCC ) (q acc,aabbcc ). 3/55
4 Churchin Turingin teesi: Mielivaltainen (riittävän vahva) laskulaite Turingin kone. Laskettavuusteoria: Tarkastellaan mitä Turingin koneilla voi ja erityisesti mitä ei voi laskea. Tärkeä erottelu: Pysähtyvät ja ei-pysähtyvät Turingin koneet. Määritelmä 6.1 Orposen prujussa Turingin kone M = (Q,Σ,Γ,δ,q 0,q acc,q rej ) on totaalinen, jos se pysähtyy kaikilla syötteillä. Formaali kieli A on rekursiivisesti numeroituva, jos se voidaan tunnistaa jollakin Turingin koneella, ja rekursiivinen, jos se voidaan tunnistaa jollakin totaalisella Turingin koneella. 4/55
5 Aakkoston {0, 1} universaalikieli U määritellään: U = {c M w Turingin kone M hyväksyy syötteen w} Vastaava päätösongelma: Annettuna (binääriaakkoston) Turingin kone M ja merkkijono w. Hyväksyykö M merkkijonon w? Kieli U on rekursiivisesti numeroituva (eli osittain ratkeava). Kielen U tunnistavia Turingin koneita sanotaan universaaleiksi Turingin koneiksi. Mutta kieli U ei ole rekursiivinen eli ratkeava... eli ei ole mitään Turingin konetta (tietokoneohjelmaa), joka pystyisi aina päättelemään sille annetusta Turing koneesta M ja tämän syötteestä w, hyväksyykö kone M syötteen w 5/55
6 Pysähtymisongelma 6/55
7 6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = {c M w M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus Todetaan ensin, että kieli H on rekursiivisesti numeroituva. Lauseen 6.6 todistuksessa esitetystä universaalikoneesta M U on helppo muokata kone, joka syötteellä c M w simuloi koneen M laskentaa syötteellä w ja pysähtyy hyväksyvään lopputilaan, jos ja vain jos simuloitu laskenta ylipäätään pysähtyy. 7/55
8 Osoitetaan sitten, että kieli H ei ole rekursiivinen. Oletetaan nimittäin, että olisi H = L(M H ) jollakin totaalisella Turingin koneella M H. Oletetaan lisäksi, että kone M H pysähtyessään jättää nauhalle alkuperäisen syötteensä, mahdollisesti tyhjämerkeillä jatkettuna. Olkoon M U lauseen 6.6 todistuksessa konstruoitu universaalikone. Kielelle U voitaisiin nyt muodostaa totaalinen tunnistaja yhdistämällä koneet M H ja M U seuraavasti: cm w MH MU def U(m,w ) : wcopy = w i f not M_H(m,w ) : r e j e c t r e t u r n M_U(m, wcopy ) Lauseen 6.7 mukaan tällaista kielen U tunnistajakonetta ei kuitenkaan voi olla olemassa. Saatu ristiriita osoittaa, että H ei voi olla rekursiivinen. 8/55
9 Seuraus 6.10 Kieli H = {c M w M ei pysähdy syötteellä w} ei ole rekursiivisesti numeroituva. 9/55
10 Turingin koneiden epätyhjyysongelma 10/55
11 Tarkastellaan seuraavaa Turingin koneiden tunnistamien kielten epätyhjyysongelmaa Annettuna Turingin kone M. Hyväksyykö M yhtään syötemerkkijonoa? Ongelman esitys formaalina kielenä on NE = {c {0,1} L(M c ) /0} Lause 6.11 Kieli NE on rekursiivisesti numeroituva, mutta ei rekursiivinen. 11/55
12 Lause Todistetaan kahdessa osassa. Kieli NE on rekursiivisesti numeroituva. Todistus Todistetaan kieli rekursiivisesti numeroituvaksi muodostamalla sille tunnistajakone M NE. Kone M NE on helpointa suunnitella epädeterministisenä. Otetaan käyttöön seuraavat alikoneet: MOK testaa, onko annettu syöte kelvollinen Turingin koneen koodi M G kirjoittaa epädeterministisesti nauhalla jo olevan merkkijonon perään mielivaltaisen binäärijonon w 12/55
13 Muodostetaan M NE yhdistämällä koneet M OK, M G ja universaalikone M U seuraavasti: c MOK MG cw MU Idea epädeterministisenä Python -koodina: def NE(m) : i f not M_ok(m) : r e t u r n False w = choose_ string_ nondeterministically ( ) r e t u r n M_U(m,w) Selvästikin: c L(M NE ) c on kelvollinen Tk-koodi ja w s.e. cw U c on kelvollinen Tk-koodi ja w s.e. w L(M c ) L(M c ) /0. 13/55
14 Lause Kieli NE ei ole rekursiivinen. Todistus Oletetaan, että kielellä NE olisi totaalinen tunnistajakone M T NE ja muodostetaan sitä käyttäen totaalinen tunnistajakone M T U kielelle U (eli saadaan ristiriita) Konstruktio perustuu syötteiden koodaamiseen Turingin koneiden ohjelmavakioiksi Olkoon M jokin Turingin kone, jonka toimintaa syötteellä w = a 1 a 2...a k halutaan tutkia Merkitään M w :llä konetta, joka aina korvaa todellisen syötteensä merkkijonolla w ja toimii sitten kuten M: a/a,l a/a 1,R a/a 2,R a/a k,r a/,l /,R M 14/55
15 a/a,l a/a 1,R a/a 2,R a/a k,r a/,l /,R M Koneen M w toiminta ei siis riipu lainkaan sen todellisesta syötteestä, vaan se joko hyväksyy tai hylkää kaikki merkkijonot, sen mukaan miten M suhtautuu w:hen: { L(M w {0,1} ) = jos w L(M) /0 jos w / L(M) M w :tä vastaava python-ohjelma: def mw( x ) : # w i s a constant w = r e t u r n m(w) 15/55
16 c M w Olkoon sitten M ENCODE Turingin kone, joka saa syötteenään mielivaltaisen Turingin koneen M koodista c M ja binäärijonosta w muodostuvan jonon c M w ja jättää tuloksenaan nauhalle edellä kuvatun koneen M w koodin c M w: Python-domainissa: M ENCODE c M w def encode (m,w ) : i f not isvalidtm (m) : r e t u r n False r e t u r n astm( " " " def mw( x ) : w = " " " +w+ " " " r e t u r n " " " +m+ " " " (w) " " " ) Jos syöte ei ole muotoa cw, missä c on kelvollinen Turingin koneen koodi, kone M ENCODE päätyy hylkäävään lopputilaan. Kone M ENCODE operoi siis Turingin koneiden koodeilla. Annetun koneen M koodiin se lisää siirtymäviisikoita ( konekäskyjä ) ja muuttaa tilojen numerointia siten, että koodi tulee koneen M sijaan esittämään konetta M w. 16/55
17 Universaalikielelle U voitaisiin nyt koneet M ENCODE ja hypoteettinen M T NE seuraavalla tavalla yhdistämällä muodostaa totaalinen tunnistajakone MU T : cm w MENCODE M T NE def MTU(m,w ) : cm w mw = encode (m,w) i f mw == False : r e t u r n False r e t u r n MTNE(mw) Kone MU T on totaalinen, jos MT NE on, ja L(MT U ) = U, koska: c M w L(M T U ) c M w L(MT NE ) = NE L(Mw ) /0 w L(M). Mutta kieli U ei ole rekursiivinen, joten tällainen totaalinen tunnistajakone M T U ei ole mahdollinen. Saadusta ristiriidasta päätellään, että myöskään kielellä NE ei voi olla totaalista tunnistajaa M T NE. 17/55
18 Muita ratkeamattomuustuloksia 18/55
19 6.8 Muita ratkeamattomuustuloksia Lause 6.13 (Predikaattikalkyylin ratkeamattomuus; Church/Turing 1936) Ei ole olemassa algoritmia, joka ratkaisisi, onko annettu ensimmäisen kertaluvun predikaattikalkyylin kaava φ validi ( loogisesti tosi, todistuva predikaattikalkyylin aksioomista). Lause 6.14 ( Hilbertin 10. ongelma ; Matijasevitsh/Davis/Robinson/Putnam ) Ei ole olemassa algoritmia, joka ratkaisisi, onko annetulla kokonaislukukertoimisella polynomilla P(x 1,...,x n ) kokonaislukunollakohtia (so. jonoja (m 1,...,m n ) Z n, joilla P(m 1,...,m n ) = 0). Ongelma on ratkematon jo, kun n = 15 tai deg(p) = 4. 19/55
20 Postin vastaavuusongelma (engl. Post s Correspondence Problem): Voiko annetuista palikoista (joita voidaan kopioida rajattomasti) järjestää jono niin, että ylä- ja alariveillä on sama merkkijono? blocks= blocks= a ab baa aa ab bba aa bb bba. bb def solve(blocks):.... return res true. false bba bb ab aa bba bb a baa 20/55
21 Chomskyn hierarkia Kielioppien, niillä tuotettavien kielten ja vastaavien tunnistusautomaattien ryhmittely: Luokka 0: rajoittamattomat kieliopit / rekursiivisesti numeroituvat kielet / Turingin koneet. Luokka 1: yhteysherkät kieliopit / yhteysherkät kielet / lineaarisesti rajoitetut automaatit. Luokka 2: yhteydettömät kieliopit / yhteydettömät kielet / pinoautomaatit. Luokka 3: oikealle ja vasemmalle lineaariset (säännölliset) kieliopit / säännölliset kielet / äärelliset automaatit Ū U {a k b k c k k 0} {a k b k k 0} {a k k 0} äärelliset kielet 21/55
22 Eräiden kielioppiongelmien ratkeavuus, kun annettuna on kieliopit G ja G Chomskyn hierarkian tietyltä tasolta i ja merkkijono w. Taulukossa R ratkeava, E ei ratkeava, T aina totta. Luokka i: Ongelma: onko w L(G)? R R R E L(G) = /0? R R E E L(G) = Σ? R E E E L(G) = L(G )? R E E E L(G) L(G )? R E E E L(G) L(G ) = /0? R E E E L(G) säännollinen? T E E E L(G) L(G ) tyyppiä i? T E T T L(G) tyyppiä i? T E T E 22/55
23 Rekursiiviset palautukset 23/55
24 Orposen prujun kappaleet 6.9 ja 6.10 joiltain osin Näytetään että Turingin koneilla voidaan laskea funktioiden arvoja (ei vain vastauksia ei/kyllä-kysymyksiin) ja palautuksiin perustuva tapa osoittaa ongelmia ratkeamattomiksi (eli kieliä ei-rekursiivisiksi) 24/55
25 Rekursiiviset funktiot Turingin koneen M = (Q,Σ,Γ,δ,q 0,q acc,q rej ) laskema osittaiskuvaus (t. -funktio) f M : Σ Γ määritellään: { u jos (q0,x) (q,uav) jollakin q {q acc,q rej },av Γ ; M f M (x) = määrittelemätön jos M ei pysähdy syötteellä x. Osittaisfunktio f : Σ A on osittaisrekursiivinen jos se voidaan laskea jollakin Turingin koneella ja (kokonais-)rekursiivinen, jos se voidaan laskea jollakin totaalisella Turingin koneella. Ekvivalentisti voitaisiin määritellä, että osittaisrekursiivifunktio f on rekursiivinen, jos sen arvo f (x) on määritelty kaikilla x. 25/55
26 Esimerkki: Turingin kone, joka laskee n bittisien binääriluvun (eniten merkitsevä bitti ensin) seuraajan (modulo 2 n ): 1/1,R 0/0,R q_0 /,L 1/0,L q_1 /,R 0/1,R 1/1,R 0/0,R q_2 /,L q_3 x/x,r acc Churchin Turingin teesin mukaisesti kaikki tietokoneilla laskettavissa olevat totaaliset funktiot ovat rekursiivisia 26/55
27 Rekursiiviset palautukset Formaali kieli A Σ voidaan palauttaa rekursiivisesti kieleen B Γ, merkitään A m B, jos on olemassa rekursiivinen funktio f : Σ Γ, jolla on ominaisuus: Graafisesti x A f (x) B, kaikilla x Σ. Σ Γ A B 27/55
28 Palautusten avulla voidaan ratkaista toisia kieliä toisten kielten algoritmien avulla Lause 6.16 (iv) Jos A m B ja B on rekursiivinen kieli, niin myös A on rekursiivinen kieli. Todistus Olkoon M B totaalinen Turingin kone, joka ratkaisee kielen B, ja M f totaalinen Turingin kone, joka laskee palautuksen f kielestä A kieleen B. Saamme kielen A ratkaisevan totaalisen Turingin koneen yhdistämällä koneet M f ja M B eli laskemalla ensin syötteelle w arvon f (w) koneella M f ja sitten ajamalla koneen M B syötteellä f (w). Yhdistetty kone on totaalinen ja hyväksyy syötteen w jos ja vain jos f (w) B eli w A. 28/55
29 Graafisesti kielen A tunnistava totaalinen Turingin kone M A voidaan esittää seuraavana lohkokaaviona, missä Mf on rekursiivisen palautuksen f laskeva totaalinen Turingin kone, ja MB on kielen B tunnistava totaalinen Turingin kone. M A x M f f(x) M B 29/55
30 Idea Python-kielellä: def solveb ( y ) : " " " Returns t r u e i f f y \ i n B. " " "... r e t u r n r e s u l t def f ( z ) : " " " Returns a s t r i n g z such t h a t z \ i n A <=> z \ i n B. " " "... r e t u r n r e s u l t def solvea ( x ) : " " " Returns t r u e i f f x \ i n A. " " " inputforb = f ( x ) r e t u r n solveb ( inputforb ) 30/55
31 Esimerkki: Päätösongelma FSM-EQ Annettuna kaksi aakkoston Σ äärellistä automaattia M 1 ja M 2. Ovatko näiden hyväksymät kielet samat? on ratkeava koska voimme minimoida automaatit ja katsoa, ovatko saadut automaatit isomorfiset. Myös päätösongelma Annettuna kaksi aakkoston Σ säännöllistä lauseketta r 1 ja r 2. Onko lausekkeen r 1 tuottama kieli lausekkeen r 2 kielen komplementti (eli L(r 1 ) = L(r 2 ))? on ratkeava, koska voimme palauttaa tämän ongelmaan FSM-EQ: Annettuna säännöllisten lausekkeiden pari (r 1,r 2 ) Palautus antaa parin (M 1,M 2 ), missä M 1 on lauseketta r 1 vastaava deterministinen automaatti ja M2 on lauseketta r 2 vastaavan deterministisen automaatin komplementti (hyväksyvät ja normaalit tilat vaihdettu) 31/55
32 Seuraus Palautusten avulla voidaan myös todistaa kieliä ratkeamattomiksi Jos A m B ja A on ratkeamaton kieli, niin myös B on ratkeamaton kieli. Todistus Annettuna siis: A m B ja A on ratkeamaton kieli. Oletaan, että B olisi ratkeava kieli. Tällöin Lemman 6.16 mukaan A olisi myös ratkeava kieli eli saadaan aikaan ristiriita. Täten B ei voi olla ratkeava kieli kun A m B ja A on ratkeamaton kieli Uuden kielen B näyttäminen ratkeamattomaksi: Valitaan ratkeamaton kieli A Näytetään, että A voidaan rekursiivisesti palauttaa kieleksi B Vedetään johtopäätös, että B on myös ratkeamaton 32/55
33 Esimerkki: Pysähtymisongelman osoittaminen ratkeamattomaksi palautusten avulla Palautetaan universaalikieli U pysähtymiskieleen H Otetaan mikä tahansa syöte c M w, eli Turingin kone M ja merkkijono w, jolle tahdotaan selvittää päteekö c M w U Tehdään nyt rekursiivisella palautusfunktiolla f syöte f (c M w) = c M w, eli Turingin kone M ja merkkijono w, siten että c M w U c M w H eli M hyväksyy syötteen w jos ja vain jos M pysähtyy syötteellä w Jos voisimme ratkaista ongelman Pysähtyykö M syötteellä w, voisimme ratkaista ongelman Hyväksyykö M syötteen w Koska kieli U ei ole rekursiivinen ja se on rekursiivisesti palautettavissa kieleen H, myöskään kieli H ei ole rekursiivinen 33/55
34 Rekursiivinen palautusfunktio f muodostaa M w1w2...wn Nyt koneen M, joka toimii kuten M paitsi, että hylkäävä lopputila on vaihdettu tilaksi, jossa suoritus jatkuu loputtomiin syötteen w kopioimalla syötteen w, eli w = w M hyväksyy syötteen w M pysähtyy syötteellä w M hylkää syötteen w M ei pysähdy syötteellä w M M f x/a, R M ei pysähdy syöttellä w M ei pysähdy syötteellä w M hyväksyy syötteen w jos ja vain jos M pysähtyy syötteellä w w1w2...wn 34/55
35 Esimerkki: Epätyhjyysongelman osoittaminen ratkeamattomaksi palautusten avulla Palautetaan universaalikieli U epätyhjyyskieleen NE Otetaan mikä tahansa syöte c M w, eli Turingin kone M ja merkkijono w, jolle tahdotaan selvittää päteekö c M w U Tehdään nyt rekursiivisella palautusfunktiolla f syöte f (c M w) = c M, eli Turingin kone M, siten että c M w U c M NE eli M hyväksyy syötteen w jos ja vain jos M hyväksyy jonkin syötteen Jos voisimme ratkaista ongelman Hyväksyykö M jonkin syötteen, voisimme ratkaista ongelman Hyväksyykö M syötteen w Koska kieli U ei ole rekursiivinen ja se on rekursiivisesti palautettavissa kieleen NE, myöskään kieli NE ei ole rekursiivinen 35/55
36 Rekursiivinen palautusfunktio f muodostaa koneen M, joka on samankaltainen kuin aiemmassa todistuksessamme: M kirjoittaa alussa merkkijonon w oman syötteensä päälle ja toimii sen jälkeen kuten M. a M w1w2...wn f M x/, R if x x/x, L if x M x/w1, R x/w2, R x/wn, R /, L /, R M hyväksyy syötteen w M hyväksyy kaikki syötteet M ei hyväksy syötettä w M ei hyväksy mitään syötettä M hyväksyy syötteen w jos ja vain jos M hyväksyy jonkin syötteen a Konetta M modattu niin, että se toimii symbolilla samoin kuin symbolilla 36/55
37 Postin vastaavuusongelma 37/55
38 Yksinkertaisesti määriteltävissä oleva ratkeamaton ongelma t Domino on merkkijonopari (t, b), graafisesti b Tässä t on dominon ylärivi ja b alarivi Annettuna äärellinen joukko P dominoja, vastaavuus on äärellinen sekvenssi D 1 D 2...D n dominoja tästä joukosta siten, että sekvenssin ylä- ja alariveille muostuu sama merkkijono HUOM: sama domino voi esiintyä useamman kerran vastaavuudessa! Esimerkki: { } b Dominojoukkolle ca, a ab, ca a, abc on olemassa vastaavuus c a b ca a abc. ab ca a ab c 38/55
39 Määritelmä Postin vastaavuusongelma (engl. Post Correspondence Problem) { } t Annettuna joukko P = 1 t,..., n dominoja. Onko dominoille b 1 b n vastaavuutta? Kielenä: PCP = {P P on joukko dominoja, joille on vastaavuus}. Esimerkki: { } b Dominojoukko ca, a ab, ca a, abc kuuluu kieleen PCP koska joukolle on olemassa vastaavuus. c a b ca a abc ab ca a ab c 39/55
40 Esimerkki: { } ab Dominojoukko aa, bba ei kuuluu kieleen PCP koska joukolle ei bb ole olemassa vastaavuutta. 40/55
41 Teoreema PCP on ratkeamaton kieli. Todistetaan kahdessa osassa: 1. Palautetaan ratkeamaton kieli U muunneltuun Postin vastaavuusongelmaan MPCP (määritellään myöhemmin) MPCP on ratkeamaton kieli. 2. Palautetaan ratkeamattomaksi osoitettu kieli MPCP kieleen PCP. PCP on myös ratkeamaton kieli. 41/55
42 Määritelmä: MPCP t Annettuna joukko P = { 1 t,..., n } dominoja ja aloitusdomino b 1 b n t 1 P. Onko dominoille vastaavuutta, joka alkaa aloitusdominolla? b 1 Lause U m MPCP. Todistus Luonnos, hieman tarkempi käsittely Sipserin kirjan luvussa 5.2 Annettuna siis kielen U instanssi c M w, eli Turingin kone M ja merkkijono w t Tehdään dominojoukko P 1 ja aloitusdomino P siten, että b 1 M hyväksyy merkkijono w jos ja vain jos joukolle P on vastaavuus, joka alkaa aloitusdominolla 42/55
43 Idea: koneen M laskenta (eli sekvenssi tilanteita) syötteellä w voidaan kuvata sekvenssinä merkkijonoja muotoa α 1 qα 2, missä α kuvaa lukupään vasemmalla puolella olevat merkit, q on koneen tila, ja β kuvaa lukupään oikealla puolella olevat merkit. Erotetaan nämä merkkijonot erikoissymbolilla # ja aloitetaan erikoismerkillä Lisäksi jatketaan merkkijonoa tilanteilla, joissa hyväksyvän tilan q acc vierestä voidaan poistaa yksi nauhasymboli kerrallaan ja vaaditaan, että lopussa tilanteena on vain yksittäinen tila q acc. 43/55
44 Esimerkki: Turingin koneen 1/1,R 0/0,R 1/0,L q_0 /,L q_1 0/1,L /,R 1/1,L 0/0,L /,R acc q_2 laskenta syötteellä 10 ylläkuvattuna merkkijonona: # q 0 10 # 1q 0 0 # 10q 0 # 1q 1 0 # q 2 11 #q 2 11 # q acc 11 # q acc 1 # q acc # q acc #q acc ## 44/55
45 Tehdään dominojoukko, jonka vastaavuuksia ovat vain ylläkuvatun kaltaiset merkkijonot Aloitusdomino sisältää koneen M alkutilanteen syötteellä w alarivillä Esimerkki: Edellä olevalle Turingin koneelle ja syötteelle 10 tehdään aloitusdomino # # q 0 10 # 45/55
46 46/55 Jotta voidaan kopioida lukupäästä kauempana olevat merkit alariville seuraajatilanteeseen, tehdään dominot muotoa x x kaikille nauhasymboleille ja välimerkille # Esimerkki: Edellä olevalle Turingin koneelle tehdään dominot # #
47 Tehdään seuraavaksi dominoja, jotka saavat ylärivin vastaamaan alariviä ja samalla muodostavat tilanteen seuraajatilanteen alariville Jokaiselle koneen siirtymälle oikealle δ(q, a) = (r, b, R) tehdään qa qa domino ja siirtymälle δ(q, ) = (r,b,r) domino br br Esimerkki: Edellä olevalle Turingin koneelle tehdään dominot q 2 q 1 q 0 1 q 0 0 q acc q acc 1q 0 0q 0 47/55
48 Samoin siirtymille vasemmalle δ(q, a) = (r, b, L) tehdään cqa dominot, missä c on mikä tahansa merkki (pl., tämä on r cb turha tapaus) Esimerkki: Edellä olevalle Turingin koneelle tehdään dominot 0q 2 1 1q 2 1 q 2 1 0q 2 0 1q 2 0 q 2 0 0q 0 1q 0 q 0 q 2 01 q 2 11 q 2 1 q 2 00 q 2 10 q 2 0 q 1 0 q 1 1 q 1 0q 1 0 1q 1 0 q 1 0 0q 1 1 1q 1 1 q 1 1 q 2 01 q 2 11 q 2 1 q 1 00 q 1 10 q /55
49 Uudet tilanteet merkkijonon lopussa, joissa on jo saavutettu hyväksyvä tila ja poistetaan muut merkit, saadaan aikaan xq acc q acc x dominoilla muotoa ja, missä x on nauhasymboli q acc q acc Esimerkki: Edellä olevalle Turingin koneelle tehdään dominot q acc 0 q acc 1 q acc 0q acc q acc q acc 1q acc q acc q acc q acc q acc q acc 49/55
50 Lopuksi vaaditaan, että vastaavuusmerkkijono päättyy q acc ## hyväksyvän tilan tilanteeseen dominolla # Tämä on ainoa domino, joka voi korjata aloitusdominossa syntyneen epäsuhdan ylä- ja alarivien symbolien # lukumäärässä 50/55
51 Esimerkki: Edellä olevalle Turingin koneelle ja syötteelle 10 tehtiin siis seuraavat dominot: # q 2 q 1 q 0 1 q 0 0 0q 2 1 1q 2 1 q 2 1 # q 0 10 # q acc q acc 1q 0 0q 0 q 2 01 q 2 11 q 2 1 0q 2 0 1q 2 0 q 2 0 0q 0 1q 0 q 0 0q 1 0 1q 1 0 q 1 0 q 2 00 q 2 10 q 2 0 q 1 0 q 1 1 q 1 q 2 01 q 2 11 q 2 1 0q 1 1 1q 1 1 q # 0q acc q acc 0 1q acc q acc 1 q 1 00 q 1 10 q # q acc q acc q acc q acc q acc q acc q acc q acc q acc ## # 51/55
52 52/55 Esimerkki: Eräs vastaavuus: # # q 0 10 # q 0 1 1q # # 1 1 q 0 0 0q 0 # # 1 1 0q 0 q 1 0 # # 1q 1 0 q 2 11 # # q 2 1 q # # q 2 q acc # # q acc 1 q acc 1 1 # # q acc 1 q acc # # q acc q acc # # q acc q acc # # q acc ## # Ylä- ja alaosien merkkijono on: # q 0 10 # 1q 0 0 # 10q 0 # 1q 1 0 # q 2 11 #q 2 11 # q acc 11 # q acc 1 # q acc # q acc #q acc ##
53 Lause Seuraavaksi pitää enää näyttää, kuinka MPCP-ongelman aloitusdominon vaatimuksesta päästään eroon, eli todistaa seuraava: MPCP m PCP. Todistus Olkoon u = u 1...u n ei-tyhjä sana (eli n 1). Määritellään seuraavat apusanat missä on uusi symboli. u = u 1 u 2... u n u = u 1 u 2... u n u = u 1 u 2... u n 53/55
54 { } t Annettuna dominojoukko P = 1 t, 2 t,..., n b 1 b 2 b n t 1 aloitusdominolla, tehdään dominojoukko b 1 { } P t = 1 b 1, t 2 b 1..., t n b n, missä on uusi symboli ja mahdollistaa ylärivin viimeisen -symbolin mukaantuomisen. t 1 Selvästikin on nyt ainoa domino, joka voi aloittaa b 1 vastaavuuden... ja alkuperäistä vastaavuutta (ja vain niitä) vastaa uusi vastaavuus, jossa joka toinen symboli on. 54/55
55 Lisää algoritmeista ja palautuksista kursseilla T Principles of Algorithmic Techniques T Computational Complexity Theory 55/55
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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ätiedotRekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ätiedotICS-C2000 Tietojenkäsittelyteoria
ICS-C2000 Tietojenkäsittelyteoria Luento 8: Turingin koneet Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Alue ja aiheet: Orposen prujun luvut 4.1 4.2, 6.1 Turingin koneiden
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ä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ä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ä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ä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ätiedotChomskyn 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ä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ä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ä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ä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ätiedotJos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).
Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)). Esimerkkejä: Σ koostuu kaikista aakkoston Σ merkkijonoista ja
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ätiedot!""# $%&'( ' )' (*' " '' '( "! ' *'&' "! ' '( "!! )& "! # "! & "! ' "! $''!! &'&' $' '! $ & "!!" #!$ %! & '()%%'!! '!! # '&' &'!! &'&' *('(' &'!*! +& &*%!! $ & #" !!" "!!!" $ " # ' '&& % & #! # ' '&&
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ätiedotMuita universaaleja laskennan malleja
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
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ä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ä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ä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ä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ä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ätiedot3SAT-ongelman NP-täydellisyys [HMU ]
3SAT-ongelman NP-täydellisyys [HMU 10.3.4] erotukseksi yleisestä CNF-esityksestä, kaikilla kaavoilla ei ole 3-CNF-esitystä; esim. x 1 x 2 x 3 x 4 esitämme muunnoksen, jolla polynomisessa ajassa mielivaltaisesta
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ätiedotT 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ä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ätiedotC C. x 2. x 3 x 3. Lause 3SAT p m VC Todistus. Olk. φ = C 1 C 2 C m 3-cnf-kaava, jossa esiintyvät muuttujat. φ toteutuva:
Lause 3SAT p m VC Todistus. Olk. φ = C 1 C C m 3-cnf-kaava, jossa esiintyvät muuttujat x 1,..., x n. Vastaava solmupeiteongelman tapaus G, k muodostetaan seuraavasti. G:ssä on solmu kutakin literaalia
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ä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ätiedotOngelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?
Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? 2013-2014 Lasse Lensu 2 Algoritmit ovat deterministisiä toimintaohjeita
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ätiedotDFA:n käyttäytyminen ja säännölliset kielet
säännölliset kielet TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. marraskuuta 2015 Sisällys toiminta formaalisti Olkoon M = (Q, Σ, δ, q 0, F) deterministinen
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ätiedotVaihtoehtoinen tapa määritellä funktioita f : N R on
Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: 1 (Alkuarvot) Ilmoitetaan funktion arvot
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ätiedotSisältö. ICS-C2000 Tietojenkäsittelyteoria. Kertausta edellisistä kerroista...
Sisältö ICS-C2000 Tietojenkäsittelyteoria Luento 11: Ricen lause ja rajoittamattomat kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Aiheet: Ricen lause Yleiset eli
LisätiedotICS-C2000 Tietojenkäsittelyteoria
ICS-C2000 Tietojenkäsittelyteoria Luento 11: Ricen lause ja rajoittamattomat kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Sisältö Aiheet: Ricen lause Yleiset eli
LisätiedotRekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on
Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: Rekursio Funktio f : N R määritellään yleensä
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ä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ätiedotSe mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
LisätiedotTarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.
Ei-säännöllisiä kieliä [Sipser luku 1.4] Osoitamme, että joitain kieliä ei voi tunnistaa äärellisellä automaatilla. Tulos ei sinänsä ole erityisen yllättävä, koska äärellinen automaatti on äärimmäisen
LisätiedotEi-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ätiedotLaskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa
Lisätiedot6.1 Rekursiiviset palautukset
6.1 Rekursiiviset palautukset Olk. = (Q, Σ, Γ, δ, q 0, q acc, q rej ) mv. standardimallinen Turingin kone ääritellään koneen laskema osittaisfunktio f : Σ Γ seur. u, jos q 0 w u q av, f (w) = q { q acc,
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ätiedot