Muita vaativuusluokkia



Samankaltaiset tiedostot
3SAT-ongelman NP-täydellisyys [HMU ]

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:

3. Laskennan vaativuusteoriaa

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

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

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

Lisää pysähtymisaiheisia ongelmia

Algoritmit 1. Luento 2 Ke Timo Männikkö

Rekursiiviset palautukset [HMU 9.3.1]

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

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

Laskennan teoria

5.3 Ratkeavia ongelmia

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Algoritmit 2. Luento 13 Ti Timo Männikkö

Täydentäviä muistiinpanoja laskennan rajoista

Säännöllisen kielen tunnistavat Turingin koneet

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

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

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

10. Satunnaisalgoritmit

Laskennan teoria

Laskennan vaativuus ja NP-täydelliset ongelmat

Laskennanteoria: Mitä voimmelaskea tietokoneella ja kuinkatehokkaasti?

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

3. Laskennan vaativuusteoriaa

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

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

2. Laskettavuusteoriaa

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.

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

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

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

1. Universaaleja laskennan malleja

2. Laskettavuusteoriaa

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

Algoritmin määritelmä [Sipser luku 3.3]

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

ICS-C2000 Tietojenkäsittelyteoria

Chomskyn hierarkia ja yhteysherkät kieliopit

1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1

Algoritmit 2. Luento 14 To Timo Männikkö

Algoritmit 2. Luento 14 Ke Timo Männikkö

Ratkeavuus ja efektiivinen numeroituvuus

6.1 Rekursiiviset palautukset

Turingin koneen laajennuksia

Säännöllisten kielten sulkeumaominaisuudet

Miten osoitetaan joukot samoiksi?

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

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

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

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

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

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

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

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

Algoritmit 2. Luento 1 Ti Timo Männikkö

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmien suunnittelu ja analyysi

811120P Diskreetit rakenteet

1. Universaaleja laskennan malleja

1 Reaaliset lukujonot

1 Kurssin asema opetuksessa

NP-täydellisyys. Joonas Järvenpää ja Topi Talvitie. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

1.4 Funktioiden kertaluokat

MS-A0402 Diskreetin matematiikan perusteet

Laskettavuusteoria: produktiivisuus

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


Johdatus matematiikkaan

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

6. Ratkeamattomat ongelmat

Onko algoritmiselle ongelmalle löydetty ratkaisualgoritmi riittävän hyvä?

SAT-ongelman rajoitetut muodot

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

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Formalisoidaan hieman täsmällisemmin, millaisia suoritustakuita satunnaisalgoritmeilta voidaan vaatia.

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

Derivaatat lasketaan komponenteittain, esimerkiksi E 1 E 2

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2009

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

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

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

P? = NP Kysymys ratkaisun keksimisestä ja sen tarkistamisesta

Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja

Transkriptio:

Muita vaativuusluokkia Käydään lyhyesti läpi tärkeimpiä vaativuusluokkiin liittyviä tuloksia. Monet tunnetuista tuloksista ovat vaikeita todistaa, ja monet kysymykset ovat vielä auki. Lause (Ladner 1975): Jos P NP niin luokassa NP P on muitakin kuin NP-täydellisiä kieliä. Siis ei ole mahdollista, että luokka NP jakaantuisi toisaalta polynomisesti ratkeaviin ja toisaalta NP-täydellisiin ongelmiin: joko nämä ongelmaluokat yhtyvät tai niiden välissäkin on jotain. Eräs ehdokas välissä olevaksi ongelmaksi on verkkoisomorfia: Annettu: verkot G 1 = (V 1, E 1 ) ja G 2 = (V 2, E 2 ) Kysymys: onko olemassa bijektio f: V 1 V 2 jolla (u, v) E 1 joss ((f(u), f(v)) E 2 242

Luokan NP ongelmien komplementit muodostavat luokan co-np = { A A NP }. Luokalla co-np on omat täydelliset ongelmansa. Lause: A on co-np-täydellinen jos ja vain jos A on NP-täydellinen. Todistus: Helppo. Jos P = NP niin tietysti myös P = co-np. Joka tapauksessa selvästi P NP co-np. Nykytietämyksen mukaan seuraavat vaihtoehdot ovat kaikki mahdollisia: P = NP = co-np P NP mutta NP = co-np P = NP co-np mutta P NP ja P co-np P NP co-np ja NP co-np Näistä viimeistä pidetään ehkä luultavimpana. 243

Koska P = NP? ja NP = co-np? ovat klassisia avoimia ongelmia, on hieman yllättävää että vastaavat tilavaativuusluokkien ongelmat ovat helppoja : Lause (Savitch 1970) Jos s on tilakonstruoituva ja s(n) n kaikilla n niin NSPACE(s(n)) DSPACE(s(n) 2 ). (Tilakonstruoituvuus on tekninen ehto jonka kaikki kiinnostavat tilavaativuusfunktiot, erityisesti polynomit, toteuttavat.) Korollaari: PSPACE = NPSPACE = co-npspace Tässä on siis merkitty co-c = { A A C } kuten aiemminkin. Komplementoinnin suhteen on saatu vielä tarkempikin tulos: Lause (Immerman 1988, Szelepcsényi 1987) Jos s(n) log n kaikilla n niin NSPACE(s(n)) = co-nspace(s(n)). 244

Seuraava lause suhteuttaa hyvin karkealla tasolla aika- ja tilavaativuusluokat. Lause: Kaikilla s pätee DTIME(t(n)) DSPACE(t(n)) c 1 DTIME(c t(n) ). Todistushahmotelma: ajassa t(n) ei ehdi kuluttaa yli t(n) paikkaa muistia jos koneen M tilavaativuus on s(n) ja laskenta on kestänyt yli Q Γ s(n) askelta, jokin tilanne on toistunut, joten kone on ikuisessa silmukassa Korollaari: P NP PSPACE E ESPACE. Ylläolevien sisältyvyyksien aitoudesta tiedetään hyvin vähän: Lause: P E ja PSPACE ESPACE 245

Toisistaan poikkeavia aika- ja tilavaativuusluokkia on ääretön määrä. Määritelmä Funktio t on aikakonstruoituva jos syötteellä 1 n luvun t(n) binääriesitys voidaan laskea ajassa O(t(n)). Kaikki järkevät vähintään n log n olevat funktiot ovat aikakonstruoituvia, esim. n log n, n 3/2, n 5, 2 n. Lause: Jos t on aikakonstruoituva niin on olemassa ongelma A joka voidaan ratkaista ajassa O(t(n)) mutta ei ajassa o(t(n)/ log n). Määritelmä Funktio s on tilakonstruoituva jos syötteellä 1 n luvun s(n) binääriesitys voidaan laskea tilassa O(s(n)). Kaikki järkevät vähintään log n olevat funktiot ovat aikakonstruoituvia, esim. log n, n 3/2, n 5, 2 n. Lause: Jos s on tilakonstruoituva niin on olemassa ongelma A joka voidaan ratkaista tilassa O(s(n)) mutta ei tilassa o(s(n)). 246

Yhteenveto Laskennan mallit Turingin kone on universaali laskennan malli: sen on tarkoitus kuvata kaikkia periaatteessa mahdollisia mekaanisia laskentoja alkuperäinen motivaatio logiikasta, ei tietokoneista laskettavuus Turingin koneella ei riipu mallin yksityiskohdista (erityisesti deterministisyydestä) vastaavia malleja on muitakin: rekursiiviset funktiot, yleiset kieliopit, Random Access Machine; ohjelmointikielet kaikki nämä määrittelevät saman käsitteen laskettavuus Churchin-Turingin teesi: Turingin koneet ovat oikea malli mekaaniselle laskennalle 247

Laskettavuusteoria peruskysymys: mitä voidaan laskea äärellisessä ajassa rekursiivisuus (ratkeavuus) ja rekursiivinen lueteltavuus (osittainratkeavuus) tärkeä tekninen yksityiskohta: Turingin koneen esitys merkkijonona, universaali Turingin kone universaalikieli L u : rekursiivisesti lueteltava, ei rekursiivinen muita ei-ratkeavia ongelmia: pysähtymisongelma, epätyyjyysongelma, tyhjyysongelma; Postin vastaavuusongelma Ricen lause: semanttiset ominaisuudet ratkeamattomia 248

rekursiivinen palautus A m B: ongelma A ainakin yhtä ratkeava kuin B tärkeä tekniikka: A todistetaan ratkeamattomaksi osoittamalla B m A missä B on jokin tunnettu ratkeamaton ongelma ongelma A on RE-täydellinen jos A on rekursiivisesti lueteltava ja B m A kaikilla rekursiivisesti lueteltavilla B RE-täydelliset ongelmat ovat maksimaalisen vaikeita osittain ratkeavia ongelmia esim. universaalikieli, pysähtymisongelma, epätyhjyysongelma 249

Vaativuusteoria peruskysymys: mitä voidaan laskea polynomisessa ajassa kertaluokat, aika- ja tilavaativuudet; vaativuusluokat, erityisesti P epädeterministiset vaativuusluokat, erityisesti NP avoin ongelma: onko P = NP, ts. vaikuttaako epädeterminismi siihen mikä on laskettavissa polynomisessa ajassa yleinen uskomus: P NP 250

polynominen palautus A p m B: ongelma A ainakin yhtä helppo kuin ongelma B A on NP-täydellinen jos A NP ja B p m A kaikilla B NP jos A on NP-täydellinen ja A ratkeaa deterministisesti polynomisessa ajassa, niin P = NP jos A on NP-täydellinen, on siis aihetta uskoa että A ei ratkea deterministisesti polynomisessa ajassa ongelman A osoittaminen NP-täydelliseksi: 1. osoita A NP (yleensä helppoa) 2. osoita B p m A jollain NP-täydelliseksi tunnetulla B 251