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

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

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

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

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

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.

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

Turingin koneen laajennuksia

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

1. Universaaleja laskennan malleja

Pinoautomaatit. Pois kontekstittomuudesta

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

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

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

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

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

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

Täydentäviä muistiinpanoja laskennan rajoista

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

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

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

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

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

Lisää pysähtymisaiheisia ongelmia

1. Universaaleja laskennan malleja

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

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

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

Rajoittamattomat kieliopit

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Rekursiiviset palautukset [HMU 9.3.1]

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

Automaatit. Muodolliset kielet

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

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

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

Yhteydettömän kieliopin jäsennysongelma

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

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

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

Algoritmin määritelmä [Sipser luku 3.3]

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

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}

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

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

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

Säännöllisen kielen tunnistavat Turingin koneet

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

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

Entscheidungsproblem

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

Chomskyn hierarkia ja yhteysherkät kieliopit

Tietojenkäsittelyteorian alkeet, osa 2

5.3 Ratkeavia ongelmia

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

ICS-C2000 Tietojenkäsittelyteoria

2. Laskettavuusteoriaa

Rajoittamattomat kieliopit (Unrestricted Grammars)

Entscheidungsproblem

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012

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

Ratkeavuus ja efektiivinen numeroituvuus

Säännöllisten kielten sulkeumaominaisuudet

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

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

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

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

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

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

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

Kertausta 1. kurssikokeeseen

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

Kyselytutkimus opiskelijoiden ajankäytöstä tietojenkäsittelyteorian peruskurssilla

S BAB ABA A aas bba B bbs c

Muita universaaleja laskennan malleja

2. Laskettavuusteoriaa

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

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

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

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

Tietotekniikan valintakoe

ICS-C2000 Tietojenkäsittelyteoria

ongelma A voidaan ratkaista ongelman B avulla, joten jossain mielessä

jäsentämisestä TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 27. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

Muita vaativuusluokkia

3. Laskennan vaativuusteoriaa

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:

ICS-C2000 Tietojenkäsittelyteoria

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

Transkriptio:

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/ multimedia/imagegallery/places/e49-54. html Alan Turing pyrki muodostamaan täsmällisen määritelmän mekaaniselle laskennalle. taustalla Hilbertin Entscheidungsproblem A. M. Turing: On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, Series 2, 42 (1), 1937. http://plms.oxfordjournals.org/ content/s2-42/1/230.extract

Standardimuotoisessa Turingin koneessa on Nauha (engl. tape), joka matkii ihmisen laskennassa käyttämää suttupaperia yksiulotteinen jaettu ruutuihin, kuhunkin mahtuu yksi merkki tilaa rajattomasti, mutta vain äärellinen määrä ruutuja voi olla kerralla käytössä merkitään nauhapaikan puuttuvaa merkkiä Nauhan lukupää, joka matkii ihmisen kykyä keskittyä vain rajalliseen määrään asioita kerrallaan ilmaisee, mitä nauhan ruutua tarkastellaan Äärellinen tilojen joukko, joka matkii ihmisen rajallista muistia alkutila kaksi lopputilaa: hyväksyvä ja hylkäävä Tilasiirtymätaulukko, joka matkii ihmisen käyttämää laskentakaavaa.

Käyttäytyminen Standardimuotoinen Turingin kone käynnistetään seuraavanlaisessa lähtötilanteessa: kone on alkutilassaan nauhalle on kirjoitettu syöte eikä mitään muuta. lukupää osoittaa nauhan alkuun Turingin koneen siirtymä määräytyy koneen tilan sekä lukupään kohdalla olevan merkin mukaan kirjoittaa jonkin merkin lukupään kohdalla olevaan ruutuun ja siirtää lukupäätä yhden askeleen vasemmalle tai oikealle Turingin kone pysähtyy (engl. halt), jos se päätyy lopputilaan. Hyväksynnän tai hylkäyksen voi lukea lopputilan valinnasta. Mahdollinen tuloste on nauhalla.

Esimerkki 0 a/a,r /,L a/a,r B/B,R /,L B/B,R C/C,R 1 6 b/b,r C/C,R c/c,r 2 b/b,r c/c,r /,L a/a,r A/A,R 5 4 c/c,l B/B,R C/C,L 3 B/B,L b/b,l a/a,l

Turingin koneen rakenne Määritelmä Kahdeksikko M = (Q, Σ, Γ,, δ, q 0, q yes, q no ) on (standarimuotoinen) Turingin kone (TM) (engl. Turing machine), jos seuraavat pätevät: Q on äärellinen joukko (tilat) Γ on äärellinen joukko (nauhamerkistö) Σ Γ on epätyhjä joukko (syötemerkistö) Γ \ Σ (blanko, tyhjämerkki) Q Γ = q 0 Q (alkutila) q yes Q (hyväksyvä lopputila) q no Q (hylkäävä lopputila) δ : Q Γ Q Γ {L, R} (siirtymäfunktio) jossa Q = Q \ {q yes, q no }

Tilanteet Merkintä wqv, jossa w, v Γ ja q Q, on tilanne (engl. configuration, instantaneous description). w on nauhan sisältö lukupään vasemmalla puolella v kuvaa nauhan sisällön lukupään kohdalta alkaen oikealle ääretön blankojen jono poislukien nauhan sisällön ajatellaan olevan wv q on koneen tämänhetkinen tila. Alkutilanne (engl. initial configuration) on q 0 w, jossa w Σ on koneelle annettu syöte.

Siirtymät Olkoot w, v, w, v, w, v Γ, q, q, q Q ja c, c, d Γ. Määritellään tilanteiden välinen relaatio seuraavasti: wqcv wc q v jos δ(q, c) = (q, c, R) wdqcv wq dc v jos δ(q, c) = (q, c, L) qcw q c w jos δ(q, c) = (q, c, L) wq wcq jos δ(q, ) = (q, c, R) wdq wq dc jos δ(q, ) = (q, c, L) q q c jos δ(q, ) = (q, c, L) Määritellään tilojen välinen relaatio kuten pinoautomaattien tapauksessa.

Lopputulokset Olkoon M = (Q, Σ, Γ,, δ, q 0, q yes, q no ) standardimuotoinen Turingin kone. M hyväksyy syötteen u Σ, jos pätee w, v Γ : q 0 u wq yes v M hylkää syötteen u Σ, jos pätee w, v Γ : q 0 u wq no v M pysähtyy syötteellä u Σ, jos se joko hyväksyy tai hylkää sen.

Turingin koneen kieli Olkoon M = (Q, Σ, Γ,, δ, q 0, q yes, q no ) standardimuotoinen Turingin kone. M tunnistaa (engl. recognizes) kielen { u Σ w, v Γ : q 0 u wq yes v } M ratkaisee (engl. decides) kielen A Σ, jos se tunnistaa A:n ja pysähtyy kaikilla syötteillä. Tällaista kieltä kutsutaan usein laskettavaksi tai rekursiiviseksi.

Esimerkki a/a,r B/B,R 0 a/a,r /,L /,L B/B,R C/C,R 1 6 b/b,r C/C,R c/c,r b/b,r a/a,r 2 c/c,r 5 4 B/B,R A/A,R 3 /,L c/c,l C/C,L B/B,L b/b,l a/a,l Tarkastellaan konetta syötteellä aabbcc.

Huomioita Graafiesityksessä siirtymä q 1 c 1 /c 2, q 2 tarkoittaa siirtymää δ(q 1, c 1 ) = (q 2, c 2, ). Kaksoisympyröity, nimeämätön tila on q yes ; huomaa, että näitä on aina tasan yksi! Merkitsemättä jätetyt siirtymät tilasta q merkillä c ovat siirtymiä hylkäävään tilaan: δ(q, c) = (q no, c, R). Tarvittaessa siirtymä hylkäävään tilaan voidaan piirtää käyttämällä symbolia hylkäävän tilan q no merkkinä:

Ratkaisin vs laskin vs luetteloin Edellä asetettu Turingin koneiden määritelmä mahdollistaa vain niiden käyttämisen ratkaisimena (engl. decider): kone vastaa kyllä tai ei. Voidaan haluttaessa määritellä, että koneen nauhan sisältö lukupäästä vasemmalle, kun kone on pysähtynyt hyväkyvään tilaan, on koneen tuloste. Tällöin kone on laskin. Laskinta voidaan käyttää niinkin, että se käynnistetään uudestaan (alkutilasta mutta nauhaan tai nauhapäähän koskematta) kun se on pysähtynyt hyväksyvään tilaan. Kukin vastaus on luettavissa lukupäästä vasemmalle, kun kone on hyväksyvässä tilassa. Tällöin kone on luetteloin (engl. enumerator).

Eräs laskin-tm 1/1,R 1/1,R A 0/0,R B 0/0,R C 1/1,L F 1/,L E 1/,L D /,L 0/,R I,,L J 0/1,L G 0/,L 1/0,R H /,L 0/0,R 1/1,R Tarkastellaan syötettä 0111011.

Eräs luetteloin-tm A /1,R B

Mikä tahansa matemaattinen funktio, joka on ylipäätään mekaanisesti laskettavissa, on laskettavissa (standardimuotoisella) Turingin koneella.

Huomioita stä Väite ei ole matemaattisesti todistettavissa eikä kumottavissa. Käsitteellis-filosofinen kumoaminen lienee periaatteessa mahdollista osoittamalla jokin mekaaninen laskentamenetelmä, joka kykenee laskemaan sellaisia matemaattisia funktioita, joita TM ei kykene laskemaan. Väite rajoittuu vain matemaattisten funktioiden laskemiseen! Esimerkiksi interaktiiviseen toimintaan standardimuotoinen Turingin kone ei kykene.

Churchin Alonzo Church julkaisi oman määritelmänsä (λ-laskento) mekaaniselle laskettavuudelle muutama kuukausi ennen Turingia. Church ehdotti myös Gödelin rekursioteoriaa hieman laajennettuna mekaanisen laskettavuuden määritelmäksi. Turing todisti, että hänen ja Churchin määritelmät ovat yhtä vahvat. Turingin kone on intuitiivisesti vakuuttavin. 1 Mutta usein puhutaan Churchin stä: Jokainen mekaanisesti laskettavissa oleva matemaattinen funktio on laskettavissa yhtä lailla Turingin koneella, Churchin λ-laskennolla ja yleisrekursiivisilla funktioilla. 1 Intuitiivinen vakuuttavuus on varsin oleellista, kun täsmällinen todistus tai kumoaminen ei ole mahdollista!

Moniraitainen TM k-raitainen Turingin kone (k 1) on Turingin kone, jonka nauhan lokeroissa on k nauhamerkkiä (järjestettynä jonona) kussakin ja joka lukee tai kirjoittaa kaikki k merkkiä samanaikaisesti. Käynnistettäessä syöte on ensimmäisellä raidalla, muut raidat ovat tyhjiä. Erikoistapaus k = 1 on standardimuotoinen TM. Simulointi standardimuotoisella TM:llä on lähes triviaalia: jos Γ 1,..., Γ k on k-raitaisen TM:n raitakohtaiset nauhamerkistöt, simuloivan koneen nauhamerkistö on (Γ 1 Γ k ) Γ 1. Syöte pitää toki kopioida nauhalta ensimmäiseen raitaan ennen simuloinnin alkua. Moniraitainen TM on siis yhtä vahva kuin standardimuotoinen TM.

Moninauhainen TM k-nauhainen Turingin kone (k 1) on Turingin kone, jossa on k toisistaan riippumatonta nauhaa. Lukupäitä ei ole pakko liikuttaa siirtymässä. Erikoistapaus k = 1, jossa lukupäätä liikutetaan aina, on standardimuotoinen TM. Voidaan simuloida esimerkiksi 2k-raitaisella Turingin koneella, jossa raita 2i sisältää nauhan i sisällön ja jossa raita 2i + 1 sisältää merkin, joka kertoo, missä kohtaa nauhan i lukupää on. Moninauhainen TM on siis yhtä vahva kuin moniraitainen TM ja siis kuin standardimuotoinen TM.

Epädeterministinen TM Epädeterministinen Turingin kone on yksinauhainen ja yksiraitainen Turingin kone, jossa sallitaan useampi kuin yksi siirtymä samasta tilasta samalla nauhamerkillä. Jos on mahdollista valita siirtymät siten, että laskenta päättyy hyväksyvään tilaan, epädeterministinen Turingin kone hyväksyy syötteen. Standardimuotoinen TM on epädeterministisen TM:n erikoistapaus. Mitä luulet? Voidaanko epädeterminististä TM:ää simuloida standardimuotoisella TM:llä?

Epädeterministisen TM:n rakenne Määritelmä Kahdeksikko M = (Q, Σ, Γ,, δ, q 0, q yes, q no ) on epädeterministinen Turingin kone (TM) (engl. nondeterministic Turing machine), jos siirtymäfunktiolle pätee δ : Q Γ P(Q Γ {L, R}), jossa Q = Q \ {q yes, q no }, ja jos M täyttää muilta osin standardimuotoisen TM:n määritelmän.

Epädeterministisen TM:n käyttäytyminen Tilanteet määritellään kuten standardimuotoiselle TM:lle. Määritellään tilanteiden välinen relaatio seuraavasti: wqcv wc q v jos δ(q, c) (q, c, R) wdqcv wq dc v jos δ(q, c) (q, c, L) qcw q c w jos δ(q, c) (q, c, L) wq wcq jos δ(q, ) (q, c, R) wdq wq dc jos δ(q, ) (q, c, L) q q c jos δ(q, ) (q, c, L) Määritellään lisäksi normaaliin tapaan.

Epädeterministisen TM:n kielet M hyväksyy merkkijonon w Σ, jos on olemassa γ, γ Γ, joille q 0 w γq yes γ pätee. M hylkää merkkijonon w Σ, jos on olemassa γ, γ Γ, joille q 0 w γq no γ pätee. M:n tilanne γ 1 qγ 2 on hyväksyvästi (hylkäävästi) ratkeava, jos joko q = q yes (q = q no ) pätee tai kaikki tilanteet γ 1 q γ 2, joille pätee γ 1qγ 2 γ 1 q γ 2, ovat hyväksyvästi (hylkäävästi) ratkeavia. M ratkaisee merkkijonon w Σ, jos tilanne q 0 w on hyväksyvästi tai hylkäävästi ratkeava. M tunnistaa kielen, joka koostuu sen hyväksymistä merkkijonoista. M on ratkaisija eli ratkaisee tunnistamansa kielen, jos se ratkaisee kaikki merkkijonot.

Epädeterminismin simulointi Olkoon Q simuloitavan koneen tilojen joukko, Γ sen nauhamerkistö ja δ sen siirtymäfunktio. Olkoon n = max δ(q, c). q Q,c Γ Laaditaan kaikille i = 0,..., n 1 funktiot δ i siten, että kaikilla q Q, c Γ pätee δ(q, c) = n 1 i=0 δ i (q, c) ja kaikilla i = 0,..., n 1 pätee δ i (q, c) 1. Simuloiva TM on kolminauhainen. Ensimmäisellä pidetään syötettä. Toisella simuloidaan simuloitavan koneen nauhaa, alussa tyhjä. Kolmannella pidetään kirjaa tehtävistä valinnoista, alussa tyhjä.

Simuloivan koneen tilat Jokaista simuloitavan koneen tilaa vastaa jokin tietty simuloivan koneen tila. Lisäksi simuloivassa koneessa on aputiloja seuraavalla kalvolla esitettävän käyttäytymisen toteuttamiseksi. Simuloitavan koneen alku- ja lopputilat eivät ole simuloivan koneen alku- ja lopputiloja.

Simuloivan koneen toiminta 1. Kopioi ensimmäinen nauha toiselle nauhalle. 2. Siirrä kaikkien nauhojen lukupää nauhan alkuun. 3. Siirry simuloitavan automaatin alkutilaan. 4. Olkoon q automaatin nykyinen tila, c toisen nauhan lukupään kohdalla oleva merkki ja i kolmannen nauhan lukupään kohdalla oleva merkki. Jos i =, niin tee tilasiirtymä δ i (q, c) ja siirrä kolmannen nauhan lukupäätä yksi askel oikealle; jos siirtymä onnistui, suorita tämä askel uudestaan. 5. Jos ollaan simuloitavan koneen hyväksyvässä tilassa, siirry simuloivan koneen hyväksyvään tilaan. 6. Olkoon w kolmannen nauhan sisältö blankomerkit pois lukien. Kirjoita kolmannelle nauhalle sanakirjajärjestyksessä w:tä seuraava merkistön {0,..., n 1} merkkijono. 7. Tyhjennä toinen nauha ja hyppää askeleeseen 1.

Huomioita Epädeterministinen TM on siten yhtä vahva kuin standardimuotoinen TM. Koska TM:n variantit ovat yleensä yhtä vahvoja kuin standardimuotoinen TM, ei ole väliä, mitä TM:n varianttia käytetään.