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



Samankaltaiset tiedostot
1. Universaaleja laskennan malleja

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

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

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

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?

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

Turingin koneen laajennuksia

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

Algoritmin määritelmä [Sipser luku 3.3]

Automaatit. Muodolliset kielet

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

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Säännöllisen kielen tunnistavat Turingin koneet

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

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

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

Chomskyn hierarkia ja yhteysherkät kieliopit

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

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

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

Lisää pysähtymisaiheisia ongelmia

Ratkeavuus ja efektiivinen numeroituvuus

1. Universaaleja laskennan malleja

811120P Diskreetit rakenteet

9. Matemaattisista koneista.

Täydentäviä muistiinpanoja laskennan rajoista

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

Yhteydettömän kieliopin jäsennysongelma

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

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

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

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

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

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

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

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

811120P Diskreetit rakenteet

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

Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa?

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

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

Tietorakenteet ja algoritmit - syksy

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat

2. Laskettavuusteoriaa

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

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Laskennan mallit

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Rajoittamattomat kieliopit

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Muita vaativuusluokkia

811312A Tietorakenteet ja algoritmit I Johdanto

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

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

3. Laskennan vaativuusteoriaa

2. Laskettavuusteoriaa

Algoritmit 1. Luento 2 Ke Timo Männikkö

Tietotekniikan valintakoe

ICS-C2000 Tietojenkäsittelyteoria

5.3 Ratkeavia ongelmia

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

P? = NP Kysymys ratkaisun keksimisestä ja sen tarkistamisesta

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

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

Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria)

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

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

LR-jäsennys. Antti-Juhani Kaijanaho. 3. lokakuuta 2016

Kertausta 1. kurssikokeeseen

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

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

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

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kieli merkitys ja logiikka

Markov-kustannusmallit ja kulkuajat

Gaussin ja Jordanin eliminointimenetelmä

Äärellisten automaattien ja säännöllisten lausekkeiden minimointi

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

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

Aloitus. TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 14. maaliskuuta 2011 TIETOTEKNIIKAN LAITOS. Aloitus.

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

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

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

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

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

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

Rekursiiviset palautukset [HMU 9.3.1]

S BAB ABA A aas bba B bbs c


Transkriptio:

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 jonkin tehtävän ratkaisemiseen. Algoritmi on määritelty sen ominaisuuksien perusteella: yleisyys, deterministisyys, tuloksellisuus (oikeellisuus, terminoituvuus), syöte ja tehokkuus. 2013-2014 Lasse Lensu 3

Tietojenkäsittelytieteen perusteet Turingin kone ja muut automaatit 2013-2014 Lasse Lensu 4

Taustaa: funktiot S. Alaoutinen, 2008 Funktio: mahdollisten syöte- ja tulostearvojen välinen suhde siten, että kuhunkin syötearvoon on liitetty tulostearvo. Funktion laskeminen: tulostusarvon määrittäminen siihen liitetyn syötejoukon avulla. Ei-laskettavissa oleva funktio: funktio, jota ei voi laskea millään algoritmilla. 2013-2014 Lasse Lensu 5

Taustaa: funktion laskeminen Pituuden muunnos: Syöte Tulos Jaardit Metrit 1 0.9144 2 1.8286 3 2.7432 4 3.6576 5 4.5720 Lämpötilamuunnos: F= (C*9/5)+32 2013-2014 Lasse Lensu 6

Turingin kone S. Alaoutinen, 2008 J. Boberg Johdatus tietojenkäsittelytieteeseen, Turun yliopisto, 2010 Brookshear, J.G. Computer Science - An overview, 7 th ed. Addison Wesley, 2003 Tausta algoritmin määritelmään: Stephen Kleene: rekursiivisten funktioiden teoria eli säännöt uusien matemaattisten funktioiden muodostamiseen olemassa olevista funktioista. Alonzo Church: λ-kalkyyli symbolien käsittelyyn. Alan Turing: Turingin kone ja sen käskyjoukko. Andrey Markov: Markovin algoritmit. Turingin kone: Työkalu funktioiden laskettavuuden tutkimiseen. Abstrakti malli tietokoneille. 2013-2014 Lasse Lensu 7

Teesit Church-Turingin -teesit: 1. Kaikki olemassa olevat, järkevät algoritmin määritelmät ovat keskenään ekvivalentteja (osoitettu). 2. Myös tulevat, järkevät algoritmin määritelmät ovat ekvivalentteja olemassa olevien määritelmien kanssa (ei voidakaan osoittaa). Teesien mukaan: jokainen funktio (algoritmi), joka voidaan laskea (suorittaa) jollakin olemassa olevalla tai tulevalla digitaalisella tietokoneella, voidaan laskea (suorittaa) Turingin koneella. Seuraukset: 1. Turingin kone on digitaalisen tietokoneen abstrakti malli (ja sen avulla voidaan suorittaa kaikki laskettavissa olevat tehtävät). 2. Algoritmi on Turingin kone, joka syötteen saatuaan pysähtyy äärellisen ajan kuluessa. 2013-2014 Lasse Lensu 8

Turingin kone Turingin koneen osat: Ohjausyksikkö voi lukea ja kirjoittaa nauhaa. Nauha on äärettömän pitkä ja se on jaettu soluihin. Nauhan solu voi sisältää minkä tahansa symbolin äärellisestä joukosta. Äärellinen symbolijoukko on koneen aakkosto. 2013-2014 Lasse Lensu 9

Laskenta Turingin koneella Laskenta alkaa alkutilasta ja päättyy lopputilaan. Laskenta koostuu ohjausyksikön suorittamien askelten sarjasta. Askel koostuu solun lukemisesta, soluun kirjoittamisesta, luku-/kirjoituspään siirtämisestä ja tilan vaihtamisesta. Laskennan aikana koneen on aina jossakin äärellisen tilajoukon tilassa. 2013-2014 Lasse Lensu 10

Turingin koneen toiminta Askeleisiin (tilasiirtymiin) liittyvät syötteet: Tila sillä hetkellä Nauhan solusta luettu arvo Askeleisiin (tilasiirtymiin) liittyvät toimenpiteet: Kirjoita arvo soluun Siirrä luku/kirjoituspää Vaihda tila uuteen 2013-2014 Lasse Lensu 11

Turingin koneen määrittely M = (Q, T, I, δ, b, q 0, q f ) Q : kontrolliyksikön mahdollisten tilojen joukko T : nauhasymbolien joukko I : syöttöaakkosten joukko (I T ) δ : tilasiirtymien joukko (Q xt Q xt x{l, S, R}) b : tyhjä symboli q 0 : alkutila q f : lopputila Vaihtoehtoinen määrittely: M = (Q, T, δ, q 0, b) 2013-2014 Lasse Lensu 12

Tilasiirtymien esitys q i, x q j, y, {L, S, R} Jos tilassa q i nauhalla on symboli x, niin: Kirjoitetaan nauhalle symboli y. Siirretään luku-/kirjoituspäätä vasemmalle, pidetään se paikoillaan tai siirretään sitä oikealle. Siirrytään tilaan q j. 2013-2014 Lasse Lensu 13

Esimerkki Tekeekö tämä mitään järkevää? M = (Q, T, I, δ, b, q 0, q f ) Q = {1, 2, 3, H} T = {0, 1, _} I = {0, 1} b = _ q 0 = 1 δ = 1, _ H, _, S 1, 0 2, 0, L 1, 1 2, 1, L 2, _ 3, _, R 2, 0 2, 0, L 2, 1 2, 1, L 3, _ H, _, L 3, 0 3, 0, R 3, 1 3, 1, R q f = H 2013-2014 Lasse Lensu 14

Esimerkki Tekeekö tämä mitään järkevää? M = (Q, T, I, δ, b, q 0, q f ) Q = {1, 2, 3, 4, 5, 6, H} T = {0, 1, _} I = {0, 1} b = _ q 0 = 1 q f = H δ = 1, _ H, _, S 1, 0 2, 0, S 1, 1 2, 0, S 2, _ 5, _, L 2, 0 3, 0, L 2, 1 4, 1, L 3, _ 6, 0, R 3, 0 6, 0, R 3, 1 6, 0, R 4, _ 6, 1, R 4, 0 6, 1, R 4, 1 6, 1, R 5, _ H, _, S 5, 0 H, 0, S 5, 1 H, 0, S 6, _ 2, _, R 6, 0 2, 0, R 6, 1 2, 1, R 2013-2014 Lasse Lensu 15

Binääriluvun arvon kasvattaminen yhdellä 2013-2014 Lasse Lensu 16

Bitit kääntävä Turingin kone Q =? T =? I =? δ =? b =? q 0 =? q f =? 2013-2014 Lasse Lensu 17

Yhteenveto Turingin kone on abstrakti malli tietokoneille ja työkalu laskettavuuden tutkimiseen. Church-Turingin -teesit: Kaikki olemassa olevat, järkevät algoritmin määritelmät ovat keskenään ekvivalentteja. Kaikki tulevat, järkevät algoritmin määritelmät ovat ekvivalentteja olemassa olevien määritelmien kanssa. Teeseillä on merkittäviä seurauksia kaikkien tietokoneiden kyvyille. 2013-2014 Lasse Lensu 18