1. Universaaleja laskennan malleja

Samankaltaiset tiedostot
1. Universaaleja laskennan malleja

Turingin koneen laajennuksia

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

Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi

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

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

Lisää pysähtymisaiheisia ongelmia

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Rajoittamattomat kieliopit

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Rekursiiviset palautukset [HMU 9.3.1]

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

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

Yhteydettömän kieliopin jäsennysongelma

Täydentäviä muistiinpanoja laskennan rajoista

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

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

Turingin koneet. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

Säännöllisen kielen tunnistavat Turingin koneet

2. Laskettavuusteoriaa

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

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

Laskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.

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

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

Pinoautomaatit. Pois kontekstittomuudesta

3. Turingin koneet. osaa esittää yksinkertaisia algoritmeja täsmällisesti käyttäen Turingin konetta ja sen muunnelmia

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

Algoritmin määritelmä [Sipser luku 3.3]

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Chomskyn hierarkia ja yhteysherkät kieliopit

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.

Laskennan teoria

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

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

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

Chomskyn hierarkia. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit

Laskennan teoria

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

Muita universaaleja laskennan malleja

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

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

Automaatit. Muodolliset kielet

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

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

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

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

5.3 Ratkeavia ongelmia

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012

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

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

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

2. Laskettavuusteoriaa

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

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

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

Laskennan teoria

Säännöllisten kielten sulkeumaominaisuudet

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

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

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

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

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

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

ICS-C2000 Tietojenkäsittelyteoria

Kertausta 1. kurssikokeeseen

3. Laskennan vaativuusteoriaa

Formalisoimme nyt edellä kuvatun laskennan.

ICS-C2000 Tietojenkäsittelyteoria

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

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

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

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

Laskennan mallit

Muita vaativuusluokkia

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

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

ICS-C2000 Tietojenkäsittelyteoria


S BAB ABA A aas bba B bbs c

9. Matemaattisista koneista.

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

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

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

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

Tietotekniikan valintakoe

Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja

Laskennan teoria

Transkriptio:

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ä matemaattisten teoreemojen todistaminen aksioomista lähtien? Pitää myös voida todeta että jotain ei ole mahdollista laskea, joten tarvitaan täsmällisempi määritelmä. määritelmän pitäisi olla riittävän yleinen että esim. tuleva tekninen edistys ei mitätöi tuloksia mallin pitää kuitenkin olla periaatteessa fyysisesti toteutettavissa universaalit laskennan mallit 16

Turingin kone (Alan Turing, 1936) q 3 q 0 q 3 q 2 q 1 Ohjausyksikkö: kone tilassa q 1 Nauhapää osoittaa merkkiä B Työnauha sis. merkkijonon ABAAB Koneen siirtymäfunktio määrää mikä merkki kirjoitetaan nauhapään kohdalle, mihin suuntaan nauhapää liikkuu ja mikä on seuraava tila kun on annettu nykyinen tila ja nauhapään alla oleva merkki. 17

Motivaatio: yritetään tehdä abstrakti malli siitä, millaista laskentaa matemaatikko (tms.) voi tehdä mekaanisesti : käytettävissä kynä, kumi ja rajattomasti paperia kerralla nähdään vain vakiokokoinen osa muistiinpanoista matemaatikon muisti on äärellinen Vaikuttaa vähän erilaiselta kuin tietokoneet, mutta vuonna 1936 ei ollut tietokoneita malli osoittautuu yhtä voimakkaaksi kuin suoremmin moderneja tietokoneita esittävät mallit (lisää tuonnempana) 18

Muodollisemmin Turingin kone (Turing machine, TM) on seitsikko missä M = (Q, Σ, Γ, δ, q 0, B, F ) Q on tilajoukko jonka on oltava äärellinen Γ on nauha-aakkosto ja Σ Γ syöteaakkosto (kumpikin äärellinen) δ on siirtymäfunktio q 0 Q on alkutila B Γ Σ on tyhjämerkki (blank) F Q on hyväksyvien tilojen joukko 19

δ on osittainen funktio joukolta Q Γ joukkoon Q Γ { L, R }. Siirtymäfunktion arvo δ(q, X) = (q, Y, D) tarkoittaa että jos M on tilassa q ja nauhapään alla on merkki X niin seuraavalla laskenta-askelella M siirtyy tilaan q, kirjoittaa nauhalle merkin Y (merkin X tilalle) ja siirtää nauhapäätä yhden askelen suuntaan D (L: vasen, R: oikea). Jos δ(q, X) on määrittelemätön niin M pysähtyy. 20

Intuitiivisesti jos M pysähtyy hyväksyvään tilaan se hyväksyy syötemerkkijonon jos M pysähtyy muunlaiseen tilaan se hylkää syötemerkkijonon. Turingin koneen M hyväksymä (tai tunnistama) kieli L(M) Σ on niiden merkkijonojen joukko jotka M hyväksyy. Jatkossa oletetaan että hyväksyvistä tiloista ei ole siirtymiä. Huom. kieleen L M eivät kuulu ne syötteet joilla M jää ikuiseen silmukkaan. Kieltä L Σ sanotaan rekursiivisesti lueteltavaksi jos L = L(M) jollain Turingin koneella M, ja rekursiiviseksi jos lisäksi M pysähtyy kaikilla syötteillä. (Tästä lisää myöhemmin.) 21

Turingin koneen tilannetta (configuration) merkitään merkkijonolla vqw missä q Q on koneen tila, v Γ on nauhan sisältö vasemmanpuolimmaisesta ei-tyhjästä merkistä nauhapään vasemmalla puolella olevaan merkkiin ja w Γ on nauhan sisältö nauhapään kohdalla olevasta merkistä oikeanpuolimmaiseen tyhjään merkkiin. Siis alussa ollut esimerkkitilanne merkitään Aq 1 BAAB. Jos nauhapään vasemmalla puolella on vain tyhjää, niin v = ε ja merkkijonon w alussa voi olla tyhjää; vastaavasti oikealla. Koneen alkutilanne syötteellä w Σ on q 0 w. Siis aluksi kone on alkutilassa, syöte on nauhalla tyhjien ympäröimänä ja nauhapää syötteen alussa. 22

Jos siirtymäfunktion mukaan tilannetta vqw seuraa tilanne v q w, merkitään Siis vqw M v q w. jos δ(q, a) = (q, b, R) niin vqaw vbq w kaikilla v, w Γ jos δ(q, a) = (q, b, L) niin vcqaw vq cbw kaikilla c Γ, v, w Γ Jos on olemassa tilannejono v 1 q 1 w 1 = vqw, v 2 q 2 w 2, v 3 q 3 w 3,..., v n q n w n = v q w missä v i q i w i v i+1 q i+1 w i+1, merkitään Siis vqw M v q w. L(M) = { x Σ q 0 x M vqw joillain q F, v, w Γ }. 23

Esimerkki Konstruoidaan Turingin kone joka hyväksyy kielen A = { 0 n 1 n n 1 }. Perusidea: Apumerkkeinä X ja Y. Toistetaan seuraavaa: vaihdetaan 0:n tilalle X siirrytään nauhalla oikealle kunnes tulee 1 vaihdetaan 1:n tilalle Y palataan vasemmalle kunnes löytyy X aloitetaan seuraava iteraatio tämän X:n oikealta puolelta 24

Muodollisemmin A = L(M) missä M = ({ q 0, q 1, q 2, q 3, q 4 }, { 0, 1 }, { 0, 1, X, Y, B }, δ, q 0, B, { q 4 }) ja δ on oheisen taulukon mukainen. merkki tila 0 1 X Y B q 0 (q 1, X, R) (q 3, Y, R) q 1 (q 1, 0, R) (q 2, Y, L) (q 1, Y, R) q 2 (q 2, 0, L) (q 0, X, R) (q 2, Y, L) q 3 (q 3, Y, R) (q 4, B, R) q 4 Havainnollisemmin asian voi esittää siirtymäkaaviona. 25

.. Y/Y, R Y/Y, L 0/0, R 0/0, L 0/X, R 1/Y, L q 0 q 1 q 2 Y/Y, R X/X, R B/B, R q 3 q 4 Y/Y, R.. Kielen { 0 n 1 n n 1 } tunnistaminen; siirtymäkaavio 26

Esimerkki 2 Tunnistetaan kieli { a k b k c k k 0 } Perusajatus: korvataan yksitellen jotkin a, b ja c merkeillä A, B ja C samalla tulee tarkastetuksi että a:t on ennen b:itä jne. kun a:t loppuvat, tarkastetaan ettei b- tai c-merkkejä jäänyt yli Huom. kieli ei ole kontekstiton. 27

. a/a, R a/a, R B/B, R b/b, R C/C, R. q 0 q 1 q 2 b/b, R B/B, L a/a, R c/c, L A/A, R q 6 q 4 q 3 B/B, L B/B, R C/C, L b/b, L B/B, L a/a, L q 5 B/B, R C/C, R.. Kielen { a n b n c n n 0 } tunnistaminen 28

Huom. Turingin koneen laskentavoima (se mitkä kielet ovat tunnistettavissa) on sama vaikka mallia muunneltaisiin paljonkin erillinen hylkäävä lopputila nauha vain toiseen suuntaan ääretön nauhalla useita uria useita nauhoja... Vielä oleellisempaa on, että Turingin kone on laskentavoimaltaan sama kuin aivan muista lähtökohdista johdetut formalismit (Kleenen rekursiiviset funktiot, yleiset kieliopit, RAM-koneet,... ). 29

monimutkaisia turinginkonekonstruktioita ei tietenkään voi käytännössä esittää siirtymäkaavion tarkkuudella myös Turingin koneista puhuttaessa voidaan käyttää aliohjelmia ja muita vastaavia ajattelumalleja perusteiden ymmärtämiseksi kurssilla käytetään jonkin verran aikaa yksinkertaisten Turingin koneiden tarkkaan käsittelyyn samalla Turingin koneen varianttien asema selvenee. 30