Turingin koneen laajennuksia

Samankaltaiset tiedostot
1. Universaaleja laskennan malleja

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

1. Universaaleja laskennan malleja

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

Rajoittamattomat kieliopit

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

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

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

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

Lisää pysähtymisaiheisia ongelmia

Yhteydettömän kieliopin jäsennysongelma

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

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

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

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Automaatit. Muodolliset kielet

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Laskennan teoria

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

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

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

Rekursiiviset palautukset [HMU 9.3.1]

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

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

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

2. Laskettavuusteoriaa

3. Laskennan vaativuusteoriaa

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

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

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

Säännöllisen kielen tunnistavat Turingin koneet

Algoritmin määritelmä [Sipser luku 3.3]

Laskennan teoria

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

Laskennan teoria

ICS-C2000 Tietojenkäsittelyteoria

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

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

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

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

Täydentäviä muistiinpanoja laskennan rajoista

Kertausta 1. kurssikokeeseen

Säännöllisten kielten sulkeumaominaisuudet

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

5.3 Ratkeavia ongelmia

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:

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

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.

Muita universaaleja laskennan malleja

Chomskyn hierarkia ja yhteysherkät kieliopit

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

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

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

Pinoautomaatit. Pois kontekstittomuudesta

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

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

3. Laskennan vaativuusteoriaa

2. Laskettavuusteoriaa

6.1 Rekursiiviset palautukset

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

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

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

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

S BAB ABA A aas bba B bbs c

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

ICS-C2000 Tietojenkäsittelyteoria

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

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

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

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

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

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

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

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

Laskennanteoria: Mitä voimmelaskea tietokoneella ja kuinkatehokkaasti?

Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen.

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

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

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

Datatähti 2019 loppu

Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:

Formalisoimme nyt edellä kuvatun laskennan.

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

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

Muita vaativuusluokkia

9. Matemaattisista koneista.

= k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko

ICS-C2000 Tietojenkäsittelyteoria

Transkriptio:

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 uraan (track) joilla kuitenkin on yhteinen nauhapää. kontrolliyksikkö # K O L M E U R A I N E N # # # # T U R I N G I N # # # # # # # # # K O N E # # # # # # # 31

jokaisella askelella luetaan ja kirjoitetaan kullekin uralle samalle kohdalle mutta muuten toisista urista riippumatta formaalisti nyt siis siirtymäfunktio on δ: Q Γ k Q Γ k { L, R } alkutilanteessa syöte ensimmäisellä uralla, muilla urilla tyhjämerkkiä helppo simuloida yksiuraisella koneella: vaihdetaan aakkoston Γ tilalle Γ k, tyhjämerkiksi (#,..., #) jne. voidaan käyttää moniuraisia koneita silloin kun se tuntuu helpommalta 32

Moninauhaiset Turingin koneet: nyt meillä on k nauhaa joilla omat nauhapäät (voivat liikkua eri suuntiin). kontrolliyksikkö # K O L M E N A U H A I N E N # # T U R I N G I N # # # # # # # # # K O N E # # # # # # # 33

formaalisti nyt siis siirtymäfunktio on δ: Q Γ k Q Γ k { L, R } k alkutilanteessa syöte ensimmäisellä nauhalla, muilla nauhoilla tyhjämerkkiä Osoitetaan että k-nauhaista konetta voi simuloida 2k-uraisella yksinauhaisella koneella Idea: merkataan ylimääräisille urilla nauhapäiden sijainnit # K O L M E N A U H A I N E N # # T U R I N G I N # # # # # # K O L M E N A U H - - X - - - - - - - # # T U R I N G I N - - - - X - - - - - # # # K O N E # # # - - X - - - - - - - # # # # K O N E # # # # # # # 34

Moninauhaisen koneen yhden askelen simuloimiseksi luetaan koko nauha kerran läpi ja muistetaan (äärellistilaisessä kontrollissa) mitkä merkit ovat nauhapäiden kohdalla valitaan siirtymä ja kirjoitettavat merkit luetaan koko nauha uudestaan läpi ja tehdään asiaankuuluvat muutokset Oletetaan että syötteellä x simuloitava kone tekee t(x) siirtymää käsiteltävän nauhanosan pituus myös kork. t(x) merkkiä simuloiva kone suorittaa O(t(x)) askelta per simuloitava askel simuloiva kone tekee kaikkiaan O(t(x) 2 ) askelta 35

Johtopäätös: kieli voidaan tunnistaa standardimallisella Turinginkoneella jos ja vain jos se voidaan tunnistaa moniuraisella Turingin koneella jos ja vain jos se voidaan tunnistaa moninauhaisella Turingin koneella. Muita samantyyppisiä variaatioita: syöte erillisellä read only -nauhalla nauhoilla alkukohta jonka vasemmalle puolelle ei saa mennä Näissä tapauksissa on myös selvää että tunnistamiseen käytettävien laskenta-askelien määrä ei muutu liikaa. Epädeterministiset koneet, joita seuraavaksi käsitellään, ovat ilmaisuvoimaltaan samoja kuin deterministiset mutta laskenta-aikojen suhteen tilanne on ongelmallisempi. 36

Epädeterministiset Turingin koneet analoginen epädeterministisen äärellisen ja pinoautomaatin kanssa yhdestä tilanteesta voi olla useita vaihtoehtoisia siirtymiä intuitio: ajatellaan että kone osaa arvata vaihtoehdon joka johtaa lopulta hyväksyvään tilaan (jos mahdollista) epädeterminismi on näppärä ohjelmointitekniikka Erityyppinen variantti kuin moninauhaiset jne. koneet ei suoraan sovi algoritmi-käsitteen formalisoinniksi ratkeavien ongelmien luokka ei kuitenkaan muutu vaikka epädeterminismi sallitaan tilanne muuttuu oleellisesti jos puhutaan nopeasta ratkaisemisesta; tähän palataan kurssin loppupuoliskolla 37

Muodollinen määrittely: Epädeterministinen Turingin kone (Nondeterministic Turing machine, NTM) on seitsikko missä M = (Q, Σ, Γ, δ, q 0, B, F ) Q, Σ, Γ, q 0, B ja F kuten deterministisessä tapauksessa siirtymäfunktio on funktio missä δ: Q Γ P(Q Γ { L, R }) P(A) = joukon A potenssijoukko = { B B A } 38

Epädeterministisen koneen hyväksymä kieli määritellään tilanteet vqw kuten deterministisessä tapauksessa samoin seuraajarelaatio M ja sen sulkeuma M, paitsi että ehdot muotoa (q, Y, D) = δ(q, X) korvataan ehdoilla (q, Y, D) δ(q, X) voi päteä vqw M v q w nollalla, yhdellä tai useammalla v q w (kuitenkin kork. 2 Q Γ ) koneen M hyväksymä kieli on L(M) = { x Σ q 0 x M vqw joillain q F, v, w Γ } M hyväksyy jos sopivat seuraajatilanteen valinnat johtaisivat hyväksyvään tilaan 39

Olkoon M epädeterministinen Turingin kone. Osoitetaan nyt miten kieli L(M) voidaan tunnistaa deterministisellä Turingin koneella. Perusidea koneen M simuloimiseksi annetulle syötteellä: tutkitaan (mahdollisesti ääretöntä) verkkoa, jonka solmuina ovat alkutilanteesta saavutettavissa olevat koneen M tilanteet tilanteiden vqw ja v q w välillä on kaari jos vqw M v q w M hyväksyy jos alkutilanteesta on polku hyväksyvään tilanteeseen etsitään tällainen polku leveyssuuntaisesti 40

Tarkemmin: Oletetaan että M on yksinauhainen. Simuloidaan deterministisellä 3-nauhaisella konella M. nauha 1 on työnauha nauha 2 sisältää jonon jolla leveyshakua ohjataan nauhaa 3 käytetään tilanteiden monistamiseen jonon jatkoksi Jos koneen M nauha-aakkosto on Γ, otetaan uudeksi nauha-aakkostoksi Γ = Γ { } Q. Jono jossa tilanteet v 1 q 1 w 1,..., v n q n w n voidaan koodata nauhalle 2 muotoon... ### v 1 q 1 w 1 v 2 q 2 w 2... v n q n w n ###... 41

Simulaatio (eli polunetsintä) etenee vaiheittain. vaiheen 1 aluksi nauhalla 2 on syötettä x vastaava alkutilanne q 0 x jos vaiheen k aluksi nauhalla 2 on (tyhjämerkkien lisäksi) niin vaiheen k lopuksi nauhalla on v 1 q 1 w 1 v 2 q 2 w 2... v n q n w n v 2 q 2 w 2... v n q n w n v 1 q 1 w 1 v 2 q 2 w 2... v p q p w p missä v i q i w i, i = 1,..., p, ovat ne tilanteet joilla v 1q 1 w 1 M v i q i w i. jos joskus tulee kirjoitettavaksi koneen M hyväksyvän tilan koodi, niin M hyväksyy syötteen jos jono tyhjenee, niin M hylkää syötteen 42

Vaiheen k toteutus suunnilleen: tarkista kuinka monta seuraajaa tilanteella v 1 q 1 w 1 on (huom. tällä on vakioyläraja 2 Γ Q ) tee tilanteesta v 1 q 1 w 1 tämän mukainen määrä kopioita nauhalle 3 käy kopiot järjestyksessä läpi ja muuta kukin vastaamaaan oikeannumeroista seuraajaa kopioi nauhalta 3 nauhalle 2 43

Oletetaan että koneella M on jokin hyväksyvä kork. n askelen pituinen laskenta, ja millään tilanteella ei ole yli m seuraajaa. M vie ensin jonoon tilanteet yhden (koneen M) laskenta-askelen päässä alkutilanteesta, sitten kahden askelen jne. k askelen päässä olevan tilanteen löytämiseksi voidaan joutua käymään läpi 1 + m + m 2 +... + m k tilannetta siis riittää tutkia nm n tilannetta yhden koneen M tilanteen kuvaus on O(n) merkkiä selvästi M hyväksyy jossain äärellisessä ajassa 44

Johtopäätös: Jos A = L(M) jollain epädeterministisellä M, niin A = L(M ) eräällä deterministisellä M. Käänteinen suunta tietysti myös pätee. Siis kieli A voidaan tunnistaa epädeterministisellä Turingin koneella jos ja vain jos se voidaan tunnistaa deterministisellä Turingin koneella. Mutta edelläesitetyssä konstruktiossa laskenta-askelia voi tulla eksponentiaalisesti lisää; tätä ongelmapiiriä käsitellään kurssin loppupuoliskolla. 45