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

Samankaltaiset tiedostot
9. Matemaattisista koneista.

Automaatit. Muodolliset kielet

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

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

Turingin koneen laajennuksia

1. Universaaleja laskennan malleja

Rajoittamattomat kieliopit

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

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

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

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

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Lisää pysähtymisaiheisia ongelmia

Täydentäviä muistiinpanoja laskennan rajoista

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

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

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

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

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

5.3 Ratkeavia ongelmia

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

Pinoautomaatit. Pois kontekstittomuudesta

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

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

Yhteydettömän kieliopin jäsennysongelma

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

Säännöllisten kielten sulkeumaominaisuudet

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

8. Kieliopit ja kielet

11.4. Context-free kielet 1 / 17

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

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

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

Chomskyn hierarkia ja yhteysherkät kieliopit

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

1. Universaaleja laskennan malleja

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

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

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

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

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

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

Rekursiiviset palautukset [HMU 9.3.1]

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

Säännöllisen kielen tunnistavat Turingin koneet

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

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

Algoritmin määritelmä [Sipser luku 3.3]

Tietotekniikan valintakoe

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

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

3. Laskennan vaativuusteoriaa

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

ICS-C2000 Tietojenkäsittelyteoria

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

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

8. Kieliopit ja kielet 1 / 22

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

S BAB ABA A aas bba B bbs c

ICS-C2000 Tietojenkäsittelyteoria

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

811120P Diskreetit rakenteet

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

7. Aikavaativuus. Ohjelmistotekniikan laitos OHJ-2300 Johdatus tietojenkäsittelyteoriaan, syksy

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

Kertausta 1. kurssikokeeseen

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

8.5. Jäsennyspuu 1 / 23

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

Toinen muotoilu. {A 1,A 2,...,A n,b } 0, Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun 1 / 13

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

Muodolliset kieliopit

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

kaikki kielet tunnistettavat A TM HALT TM { a n } { a n b n } { a n b n c n } TOTAL TM EQ TM

Tietojenkäsittelyteorian alkeet, osa 2

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

2. Laskettavuusteoriaa

6.1 Rekursiiviset palautukset

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

DI matematiikan opettajaksi: Täydennyskurssi, kevät 2010 Luentorunkoa ja harjoituksia viikolle 13: ti klo 13:00-15:30 ja to 1.4.

C 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:

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

FORMAALI SYSTEEMI (in Nutshell): aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus

Transkriptio:

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 Γ {λ} Γ {λ} {0, 1, 1} S, B Γ vapaan muistipaikan merkki (blanko), s 0 S alkutila ja H S ainoa lopputila. Turingin koneen ohjeet Joukon O ohjeet: (s, a, b, l, t), missä s ja t ovat tiloja, a, b ovat nauha-aakkoston kirjaimia, l { 1, 0, 1}. Ohjeen soveltaminen: Tilassa s, jos nauhan lukupää on symbolin a kohdalla, kirjoitetaan a:n paikalle b, siirrytään tilaan t ja siirretään lukupäätä yksi muistipaikka oikealle (l = 1), vasemmalle (l = 1) tai pidetään paikallaan (l = 0).

Ajanhetken kuvaus Turingin koneen Ajanhetken kuvaus AHK:Järjestetty kaksikko (s, a 1 a 2 a i a n ), missä s on tila, a 1 a n on nauhalla oleva sana ja lukupää on nuolen osoittaman symbolin kohdalla. Kuvaavat Turingin koneen toimintaa. Turingin koneen lasku: Jono ajanhetken kuvauksia, joissa kukin AHK saadaan edellisestä soveltamalla jotain sääntöä. Esimerkki: Jos (s, a 2, b, 1, t) on Turingin koneen ohje, niin TM:n lasku on muotoa (s, a 1 a2 a 3 a n ) (t, a 1 ba 3 a n ). Sanan/kielen hyväksyminen Alussa syöttö on kirjoitettu nauhalle yhtenäiseksi osaksi nauhaa. Kaikki muut nauhan solut sisältävät symbolin B. Nauhan lukupää on alussa syötön vasemmanpuoleisimman merkin kohdalla (ellei muuta ilmoiteta). Turingin kone hyväksyy sanan w, jos se siirtyy tilaan H. Huom. Turingin koneella on kaksi eri tapaa hylätä sana: (1) Kone pysähtyy johonkin muuhun tilaan kuin hyväksyvään tilaan. (2) Kone jatkaa toimintaansa pysähtymättä. Turingin koneen TM tunnistama (=hyväksymä) kieli L(TM) = {w I TM hyväksyy sanan w}. Kieli L on tunnistettavissa Turingin koneella (=hyväksyttävissä), jos L = L(TM) jollakin Turingin koneella TM.

Esimerkki 9.19. Esimrkki 9.19. Olkoon TM = ({s 0, s 1, H}, {a, b}, {a, b, r, s, B}, O, B, s 0, H), missä O = {(s 0, B, B, 0, H), (s 0, a, a, +1, s 0 ), (s 0, b, b, +1, s 1 ), (s 1, b, b, +1, s 1 ), (s 1, B, B, 0, H)}. Määrää L(TM). Turingin koneen graafinen esitys Turingin kone voidaan esittää myös graafisesti seuraavasti: Silloin ohjetta (s, a, b, +1, t) vastaa esitys:...

Esimerkki 9.20. Rakenna Turingin kone, joka testaa ovatko kaksi luonnollista lukua yhtäsuuret. Alussa luvut on kirjoitettu nauhalle esitettynä ykkösien avulla muodossa 11 1 11 1, missä ykkösien lukumäärä kertoo luvun arvon ja symboli erottaa luvut toisistaan. Esimerkiksi luvut 2 ja 3 esitetään muodossa 11 111. Alussa lukupää on syöttösanan vasemmanpuoleisen luvun vasemmanpuoleisimman 1:sen kohdalla. Jos luku on 0, niin lukupää on B:n kohdalla. Esimerkki 9.21. Määrää Turingin kone, joka hyväksyy kielen {a n b n c n n = 0, 1,...}. Ratk. Oletetaan, että lukupää on vasemmanpuoleisimman a:n kohdalla. Ohjeet: (s 0, a, X, +1, s 1 ) a korvataan X :llä, (s 1, a, a, +1, s 1 ) siirrytään oikealle, (s 1, Y, Y, +1, s 1 ) ylitetään Y :t, (s 1, b, Y, +1, s 2 ) b korvataan Y :llä, (s 2, b, b, +1, s 2 ) ylitetään b:t, (s 2, Z, Z, +1, s 2 ) ylitetään Z:t, (s 3, c, Z, 1, s 3 ) c korvataan Z:lla,

Siiirrytään vasemmalle: (s 3, Z, Z, 1, s 3 ), (s 3, Y, Y, 1, s 3 ), (s 3, b, b, 1, s 3 ), (s 3, a, a, 1, s 3 ), (s 3, X, X, +1, s 0 ) a:t loppuivat, joten testataan loppuivatko b:t ja c:t: (s 0, Y, Y, +1, s 0 ), (s 0, Z, Z, +1, s 0 ) Jos päästään tyhjään muistipaikkaan asti, hyväksytään sana. (s 0, B, B, 0, H). Turingin kone tulostuksella Turingin kone voi kirjoittaa nauhalle, joten sitä voidaan käyttää myös tulostuksen mallintamiseen. Yleensä oletetaan, että tulostus alkaa siitä merkistä, jonka kohdalle lukupää pysähtyy. Esimerkki 9.22. Rakenna Turingin kone, joka lisää luvun 1 binäärimuodossa annettuun lukuun. Alussa lukupää on binääriluvun vasemmanpuoleisimman merkin kohdalla. Lopussa koneen lukupää osoittaa lisätyn luvun vasemmanpuoleisimpaan merkkiin.

Esimerkki 9.23. Rakenna Turingin kone, joka laskee yhteen kaksi ykkösillä esitettyä positiivista kokonaislukua. Alussa luvut ovat nauhalla muodossa 11 1B1 1, ja lukupää on vasemmanpuoleisen luvun vasemmanpuoleisimman 1:sen kohdalla. Lopuksi lukupää on summan vasemmanpuoleisimman 1:sen kohdalla. Esimerkki 9.24. Rakenna Turingin kone joka muuntaa sanan w sanaksi w R, kun w {0, 1}. Alussa lukupää on sanan w alussa ja lopussa sanan w R alussa.

Deterministinen Turingin kone Turingin kone on epädeterministinen, jos sillä on kaksi ohjetta (s, a, b, l, t), (s, a, b, l, t ), missä s = s ja a = a. Muulloin Turingin kone on deterministinen. Lause 9.5. Kieli L on tunnistettavissa epädeterministisellä Turingin koneella jos ja vain jos se on tunnistettavissa deterministisellä Turingin koneella. Tod. Sivuutetaan. Myöskään nauhojen lisääminen ei lisää laskentatehoa, sillä voidaan todistaa, että jos kieli on tunnistettavissa moninauhaisella Turingin koneella, niin se on tunnistettavissa deterministisellä yksinauhaisella Turingin koneella.