ICS-C2000 Tietojenkäsittelyteoria

Samankaltaiset tiedostot
Sisältö. ICS-C2000 Tietojenkäsittelyteoria. Kertausta edellisistä kerroista...

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Rajoittamattomat kieliopit

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

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

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

Säännöllisen kielen tunnistavat Turingin koneet

Rajoittamattomat kieliopit (Unrestricted Grammars)

ICS-C2000 Tietojenkäsittelyteoria

Chomskyn hierarkia ja yhteysherkät kieliopit

5.3 Ratkeavia ongelmia

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

Rekursiiviset palautukset [HMU 9.3.1]

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

ICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M :=

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

ICS-C2000 Tietojenkäsittelyteoria

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

Täydentäviä muistiinpanoja laskennan rajoista

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

Muita universaaleja laskennan malleja

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

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

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

ICS-C2000 Tietojenkäsittelyteoria

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

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

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

Pinoautomaatit. Pois kontekstittomuudesta

Lisää pysähtymisaiheisia ongelmia

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

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

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

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

1. Universaaleja laskennan malleja

Yhteydettömän kieliopin jäsennysongelma

The CCR Model and Production Correspondence

Algoritmin määritelmä [Sipser luku 3.3]

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

2. Laskettavuusteoriaa

Bounds on non-surjective cellular automata

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

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

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

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

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

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

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

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

The Viking Battle - Part Version: Finnish

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

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

Turingin koneen laajennuksia

16. Allocation Models

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Capacity Utilization

Kierros 10: Laskennallisesti vaativampia ongelmia

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

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

jäsennyksestä TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 29. syyskuuta 2016 TIETOTEKNIIKAN LAITOS Kontekstittomien kielioppien

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

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

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

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Alternative DEA Models

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Yhteydettömät kieliopit [Sipser luku 2.1]

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

S BAB ABA A aas bba B bbs c

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

2. Laskettavuusteoriaa

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

Automaatit. Muodolliset kielet

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

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

Efficiency change over time

Information on preparing Presentation

Kertausta 1. kurssikokeeseen

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

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

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

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:

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

Muita vaativuusluokkia

ICS-C2000 Tietojenkäsittelyteoria

1. Universaaleja laskennan malleja

Topologies on pseudoinnite paths

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

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

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

Gap-filling methods for CH 4 data

Transkriptio:

ICS-C2000 Tietojenkäsittelyteoria Luento 11: Ricen lause ja rajoittamattomat kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016

Sisältö Aiheet: Ricen lause Yleiset eli rajoittamattomat kieliopit... ja niiden yhteys Turingin koneisiin Yhteysherkät kieliopit Materiaali: Orposen prujun luvut 6.7 ja 5 2/56

Kertausta edellisistä kerroista... Esimerkki: Kielen {a k b k c k k 0} tunnistava Turingin kone /, L /, L B/B, R C/C, R a/a, R B/B, R a/a, R b/b, R q 0 q 1 q 2 q 5 q 4 a/a, R B/B, R A/A, R q 3 b/b, R C/C, R c/c, L C/C, L b/b, L B/B, L a/a, L Koneen laskenta syötteellä aabbcc: (q 0,aabbcc) (q 1,Aabbcc) (q 1,Aabbcc) (q 2,AaBbcc) (q 2,AaBbcc) (q 3,AaBbCc) (q 3,AaBbCc) (q 3,AaBbCc) (q 3,AaBbCc) (q 4,AaBbCc) (q 1,AABbCc) (q 1,AABbCc) (q 2,AABBCc) (q 2,AABBCc) (q 3,AABBCC) (q 3,AABBCC) (q 3,AABBCC) (q 3,AABBCC) (q 4,AABBCC) (q 5,AABBCC) (q 5,AABBCC) (q 5,AABBCC) (q 5,AABBCC ) (q acc,aabbcc ). 3/56

Churchin Turingin teesi: Mielivaltainen (riittävän vahva) laskulaite Turingin kone. Laskettavuusteoria: Tarkastellaan mitä Turingin koneilla voi ja erityisesti mitä ei voi laskea. Tärkeä erottelu: Pysähtyvät ja ei-pysähtyvät Turingin koneet. Määritelmä 6.1 Orposen prujussa Turingin kone M = (Q,Σ,Γ,δ,q 0,q acc,q rej ) on totaalinen, jos se pysähtyy kaikilla syötteillä. Formaali kieli A on rekursiivisesti numeroituva, jos se voidaan tunnistaa jollakin Turingin koneella, ja rekursiivinen, jos se voidaan tunnistaa jollakin totaalisella Turingin koneella. 4/56

Aakkoston {0, 1} universaalikieli U määritellään: U = {c M w Turingin kone M hyväksyy syötteen w} Vastaava päätösongelma: Annettuna (binääriaakkoston) Turingin kone M ja merkkijono w. Hyväksyykö M merkkijonon w? Kieli U on rekursiivisesti numeroituva (eli osittain ratkeava). Kielen U tunnistavia Turingin koneita sanotaan universaaleiksi Turingin koneiksi. Mutta kieli U ei ole rekursiivinen eli ratkeava... eli ei ole mitään Turingin konetta (tietokoneohjelmaa), joka pystyisi aina päättelemään sille annetusta Turing koneesta ja tämän syötteestä, pysähtyykö kone syötteellä 5/56

Jokainen Turingin kone M voidaan koodata {0, 1}-merkkijonoksi c M Jos c ei kuvaa mitään Turingin konetta, M c = M triv s.e. L(M c ) = /0 Universaalikieli ( hyväksymiskieli ) U = {c M w w L(M)} on rekursiivisesti numeroituva muttei rekursiivinen Universaalikieltä vastaava päätösongelma: Annettuna (binäärikoodattu) Turingin kone M ja merkkijono w, hyväksyykö M x:n? Universaalikieli voidaan tunnistaa (ei-totaalisella) Turingin koneella M U, joka simuloi annettua konetta M syötteellä w 6/56

Turingin koneiden tunnistamien kielten epätyhjyysongelma Annettuna (binäärikoodattu) Turingin kone M. Hyväksyykö kone yhtään syötemerkkijonoa? Ongelman esitys formaalina kielenä on NE = {c {0,1} L(M c ) /0}. Lause 6.11 Kieli NE on rekursiivisesti numeroituva, mutta ei rekursiivinen. 7/56

Ricen lause 8/56

Ricen lause Ricen lauseen mukaan kaikki Turingin koneiden tunnistamia kieliä, t. niiden laskemia I/O-kuvauksia koskevat epätriviaalit kysymykset ovat ratkeamattomia. Turingin koneiden semanttinen ominaisuus S on mikä tahansa kokoelma rekursiivisesti numeroituvia aakkoston {0, 1} kieliä. Koneella M on ominaisuus S, jos L(M) S. Triviaalit ominaisuudet ovat S = /0 (ominaisuus, jota ei ole millään koneella) ja S = RE (ominaisuus, joka on kaikilla koneilla). Ominaisuus S on ratkeava, jos joukko on rekursiivinen. codes(s) = {c L(M c ) S} Toisin sanoen: ominaisuus on ratkeava, jos annetusta Turingin koneen koodista voidaan algoritmisesti päätellä, onko koneella kysytty semanttinen ominaisuus. 9/56

Esimerkki: Tarkastellaan taas Turingin koneiden epätyhjyysongelmaa Annettuna Turingin kone M. Hyväksyykö kone yhtään syötemerkkijonoa? eli kielenä NE = {c {0,1} L(M c ) /0}. Otetaan semanttinen ominaisuus S NE = {L RE L /0} Ominaisuus ei ole triviaali koska /0 RE (Turingin kone, joka hylkää kaiken tunnistaa tyhjän kielen /0) ja RE sisältää muitakin kieliä kuin /0, joten S NE RE, S NE RE ja S NE /0 Kieli NE on nyt itse asiassa ekvivalentti joukon codes(s NE ) = {c L(M c ) S NE } kanssa ja siten ei-rekursiivinen Ricen lauseen perusteella 10/56

Lause 6.12 [Rice 1953] Kaikki Turingin koneiden epätriviaalit semanttiset ominaisuudet ovat ratkeamattomia. Todistus Olkoon S mielivaltainen epätriviaali semanttinen ominaisuus. Voidaan olettaa, että /0 / S: toisin sanoen, että tyhjän joukon tunnistavilla Turingin koneilla ei ole tarkasteltavaa ominaisuutta. Jos nimittäin /0 S, voidaan ensin osoittaa, että ominaisuus S = RE S on ratkeamaton, ja päätellä edelleen tästä että myös ominaisuus S on ratkeamaton (Koska codes( S) = codes(s)). Koska S on epätriviaali, on olemassa jokin Turingin kone M A, jolla on ominaisuus S jolla siis L(M A ) /0 S. 11/56

Olkoon nyt M ENCODE Turingin kone, joka muodostaa syötteenä annetusta merkkijonosta x c M w seuraavanlaisen Turingin koneen M w koodin. Jos syöte on väärää muotoa, M ENCODE hylkää sen. w Muutoin syötteellä x kone M w toimii ensin kuten M syötteellä w. Jos M hyväksyy w:n, M w toimii kuten kone M A syötteellä x. Jos M hylkää w:n, myös M w hylkää x:n. Kone M w tunnistaa siis kielen { L(M w L(MA ), jos w L(M); ) = /0, jos w / L(M). M start MA Koska oletuksen mukaan L(M A ) S ja /0 / S, on koneella M w ominaisuus S, jos ja vain jos w L(M). 12/56

Oletetaan sitten, että ominaisuus S olisi ratkeava, so. että kielellä codes(s) olisi totaalinen tunnistajakone M T S. Tällöin saataisiin edellisen todistuksen tapaan totaalinen tunnistajakone kielelle U yhdistämällä koneet M ENCODE ja M T S cm w cm w MENCODE M T S seuraavasti: Selvästi kone M T U on totaalinen, jos MT S on, ja c M w L(M T U ) c M w L(MT S ) = codes(s) L(Mw ) S w L(M) Koska kieli U ei ole rekursiivinen, tämä on mahdotonta, mistä päätellään, ettei ominaisuus S voi olla ratkeava. 13/56

Rajoittamattomat kieliopit 14/56

5. Rajoittamattomat kieliopit Määritelmä 5.1 Rajoittamaton kielioppi t. yleinen merkkijonomuunnossysteemi on nelikko G = (V,Σ,P,S), missä V on kieliopin aakkosto; Σ V on kieliopin päätemerkkien joukko; N = V Σ on välikemerkkien t. -symbolien joukko; P V + V on kieliopin sääntöjen t. produktioiden joukko (missä V + = V {ε}); S N on kieliopin lähtösymboli. Produktiota (ω,ω ) P merkitään tavallisesti ω ω. 15/56

Merkkijono γ V tuottaa t. johtaa suoraan merkkijonon γ V kieliopissa G, merkitään γ G γ jos voidaan kirjoittaa γ = αωβ, γ = αω β (α,β,ω V, ω V + ), ja kieliopissa on produktio ω ω. Jos kielioppi G on yhteydestä selvä, merkitään γ γ. Merkkijono γ V tuottaa t. johtaa merkkijonon γ V kieliopissa G, merkitään γ G γ jos on olemassa jono V:n merkkijonoja γ 0,γ 1,...,γ n (n 0), siten että γ = γ 0, γ 0 G γ 1 G... G γ n, γ n = γ. Jälleen, jos G on yhteydestä selvä, merkitään γ γ. 16/56

Merkkijono γ V on kieliopin G lausejohdos, jos on S G γ. Pelkästään päätemerkeistä koostuva G:n lausejohdos x Σ on G:n lause. Kieliopin G tuottama t. kuvaama kieli L(G) koostuu G:n lauseista, s.o.: L(G) = {x Σ S G x}. 17/56

Esimerkki: Rajoittamaton kielioppi ei-yhteydettömälle kielelle {a k b k c k k 0}: S LT ε T ABCT ABC BA AB CB BC CA AC Esimerkiksi lauseen aabbcc johto: LA a aa aa ab ab bb bb bc bc cc cc S LT LABCT LABCABC LABACBC LAABCBC LAABBCC aabbcc aabbcc aabbcc aabbcc aabbcc aabbcc 18/56

Lause 5.1 Jos formaali kieli L voidaan tuottaa rajoittamattomalla kieliopilla, se voidaan tunnistaa Turingin koneella. Todistus Olkoon G = (V, Σ, P, S) kielen L tuottava rajoittamaton kielioppi. Muodostetaan kielen L tunnistava kaksinauhainen epädeterministinen Turingin kone M G seuraavasti: Nauhalla 1 kone säilyttää kopiota a a b b c c syötejonosta. Nauhalla 2 on kullakin hetkellä jokin G:n L A B A C B C lausejohdos, jota kone pyrkii q1 q2 muuntamaan syötejonon muotoiseksi. Toimintansa aluksi q0 δ M G kirjoittaa kakkosnauhalle kieliopin lähtösymbolin S. 19/56

Koneen M G laskenta koostuu vaiheista. Kussakin vaiheessa kone: 1. vie kakkosnauhan nauhapään epädeterministisesti johonkin kohtaan nauhalla; 2. valitsee epädeterministisesti jonkin G:n produktion, jota yrittää soveltaa valittuun nauhankohtaan (produktiot on koodattu M G :n siirtymäfunktioon; 3. jos produktion vasen puoli sopii yhteen nauhalla olevien merkkien kanssa, M G korvaa ao. merkit produktion oikean puolen merkeillä; 4. vaiheen lopuksi M G vertaa ykkös- ja kakkosnauhan merkkijonoja toisiinsa: jos jonot ovat samat, kone siirtyy hyväksyvään lopputilaan ja pysähtyy, muuten aloittaa uuden vaiheen (kohta (i)). 20/56

Lause 5.2 Jos formaali kieli L voidaan tunnistaa Turingin koneella, se voidaan tuottaa rajoittamattomalla kieliopilla. Todistus Olkoon M = (Q,Σ,Γ,δ,q 0,q acc,q rej ) kielen L tunnistava standardimallinen Turingin kone. Muodostetaan kielen L tuottava rajoittamaton kielioppi G M seuraavasti. Idea: Kieliopin G M välikkeiksi otetaan (muiden muassa) kaikkia M:n tiloja q Q edustavat symbolit. Koneen M tilanne (q,uav) esitetään merkkijonona [uqav]. M:n siirtymäfunktion perusteella G M :ään muodostetaan produktiot, joiden ansiosta [uqav] GM [u q a v ] joss (q,uav) M (q,u a v ). Siten M hyväksyy syötteen x, jos ja vain jos [q 0 x] GM [uq acc v] joillakin u,v Σ. 21/56

Kaikkiaan kielioppiin G M tulee kolme ryhmää produktioita: 1. Produktiot, joilla lähtösymbolista S voidaan tuottaa mikä tahansa merkkijono muotoa x[q 0 x], missä x Σ ja [, q 0 ja ] ovat G M :n välikkeitä. 2. Produktiot, joilla merkkijonosta [q 0 x] voidaan tuottaa merkkijono [uq acc v], jos ja vain jos M hyväksyy x:n. 3. Produktiot, joilla muotoa [uq acc v] oleva merkkijono muutetaan tyhjäksi merkkijonoksi. Kieleen L(M) kuuluvan merkkijonon x tuottaminen tapahtuu tällöin seuraavasti: (1) (2) (3) S x[q 0 x] x[uq acc v] x. 22/56

Määritellään siis G = (V,Σ,P,S), missä V = Γ Q {S,T,[,],E L,E R } {A a a Σ}, ja produktiot P muodostuvat seuraavista kolmesta ryhmästä: 1. Alkutilanteen tuottaminen: S T[q 0 ] T ε T ata a (a Σ) A a [q 0 [q 0 A a (a Σ) A a b ba a (a,b Σ) A a ] a] (a Σ) 23/56

2. M:n siirtymien simulointi (a,b Γ, c Γ {[}) : Siirtymät: Produktiot: δ(q,a) = (q,b,r) qa bq δ(q,a) = (q,b,l) cqa q cb δ(q, ) = (q,,r) q[ [q δ(q, ) = (q,b,r) q] bq ] δ(q, ) = (q,b,l) cq] q cb] δ(q, ) = (q,,l) cq] q c] 24/56

3. Lopputilanteen siivous: q acc E L E R q acc [ E R ae L E L (a Γ) [E L ε E R a E R (a Γ) E R ] ε 25/56

Yhteysherkät kieliopit Rajoittamaton kielioppi on yhteysherkkä, jos sen kaikki produktiot ovat muotoa ω ω, missä ω ω, tai mahdollisesti S ε, missä S on lähtösymboli. Lisäksi vaaditaan, että jos kieliopissa on produktio S ε, niin lähtösymboli S ei esiinny minkään produktion oikealla puolella. Formaali kieli L on yhteysherkkä, jos se voidaan tuottaa jollakin yhteysherkällä kieliopilla. Normaalimuoto: Jokainen yhteysherkkä kieli voidaan tuottaa kieliopilla, jonka produktiot ovat muotoa S ε ja αaβ αωβ, missä A on välike ja ω ε. (Säännön A ω sovellus kontekstissa α_ β.) 26/56

Lause 5.3 Formaali kieli L on yhteysherkkä, jos ja vain jos se voidaan tunnistaa epädeterministisellä Turingin koneella, joka ei tarvitse enempää työtilaa kuin syötejonon pituuden verran siis koneella, jolla ei ole muotoa δ(q, ) = (q,b, ) olevia siirtymiä, missä b. Lauseen 5.3 koneita sanotaan lineaarisesti rajoitetuiksi automaateiksi. Avoin ongelma ( LBA?= DLBA ): onko epädeterminismi lauseessa 5.3 välttämätöntä? 27/56

A Glimpse Beyond 28/56

So far: only what is recursive (decidable, solvable with computers) and what is not But some problems are more decidable than others For instance, finding a smallest element in an array is/seems much easier than solving sudokus 102 43 2 8763 234 9828 23 43 10 16 12 15 4 5 1 11 14 13 5 10 16 12 11 1 9 4 13 7 11 8 12 10 11 9 3 4 5 14 9 6 1 13 7 4 15 11 16 5 2 15 9 16 3 7 6 2 9 14 13 1 2 16 8 6 16 7 9 8 5 14 1 2 2 6 4 13 3 5 14 8 1 7 4 16 14 1 12 7 11 5 14 7 2 10 6 11 13 9 5 12 2 3 15 10 29/56

In fact, the set of decidable problems can be divided in many smaller complexity classes: P problems that can be solved in polynomial time ( always efficiently) with deterministic Turing machines / algorithms NP problems that can be solved in polynomial time with non-deterministic Turing machines PSPACE problems that can be solved with a polynomial amount of extra space (possibly in exponential time) recursively enumerable recursive EXPTIME PSPACE NP P EXPTIME problems that can be solved in exponential time and many more... 30/56

An example: some efficiently solvable problems Definition (PERFECT MATHING) INSTANCE: Bipartite graph B = (U,V,E), where U = {u 1,...,u n }, V = {v 1,...,v n }, and E U V. QUESTION: Does B have a perfect matching? u 1 v 1 u 2 v 2 u 3 v 3 u 4 v 4 31/56

An example: some efficiently solvable problems Definition (PERFECT MATHING) INSTANCE: Bipartite graph B = (U,V,E), where U = {u 1,...,u n }, V = {v 1,...,v n }, and E U V. QUESTION: Does B have a perfect matching? u 1 v 1 u 1 v 1 u 2 u 3 v 2 v 3 reduce to s u 2 u 3 v 2 v 3 t u 4 v 4 u 4 v 4 We can solve a PERFECT MATHING instance by 1. polynomial-time reducing it to a MAXFLOW instance so that The MAXFLOW instance has a flow of n if and only if the PERFECT MATCHING instance has a perfect matching 32/56

An example: some efficiently solvable problems Definition (PERFECT MATHING) INSTANCE: Bipartite graph B = (U,V,E), where U = {u 1,...,u n }, V = {v 1,...,v n }, and E U V. QUESTION: Does B have a perfect matching? u 1 u 2 u 3 v 1 v 2 v 3 reduce to s u 1 u 2 u 3 v 1 v 2 v 3 t efficient algorithm for MAXFLOW (e.g Edmonds Karp) u 4 v 4 u 4 v 4 We can solve a PERFECT MATHING instance by 1. polynomial-time reducing it to a MAXFLOW instance so that The MAXFLOW instance has a flow of n if and only if the PERFECT MATCHING instance has a perfect matching 2. solving the resulting MAXFLOW instance 3. Reduction is linear-time and Edmonds-Karp works in O(VE 2 ) 33/56

An example: not-so efficiently solvable problems Definition (propositional satisfiability, SAT) INSTANCE: a Boolean formula φ in conjunctive normal form QUESTION: is there a truth assignment that satisfies φ? Example (x) ( x y) ( x z) ( x y z) is satisfiable with {x true,y true,z false} (x) ( x y) ( x z) ( x y z) is unsatisfiable 34/56

An example: not-so efficiently solvable problems Definition (propositional satisfiability, SAT) INSTANCE: a Boolean formula φ in conjunctive normal form QUESTION: is there a truth assignment that satisfies φ? Example (x) ( x y) ( x z) ( x y z) is satisfiable with {x true,y true,z false} (x) ( x y) ( x z) ( x y z) is unsatisfiable Even the best known algorithms with sophisticated pruning techniques can perform very badly on some instances (although they can solve many relevant problems efficiently) No polynomial time algorithm known despite a lot of effort has been spent in trying to find one 35/56

Problems in NP (Non-deterministic Polynomial time) Two alternative ways to characterize problems in NP: 1. Problems that can be solved in polynomial time with non-deterministic Turing machines ( algorithms that can guess perfectly) 2. Problems whose solutions (when they exist) are reasonably small (i.e., of polynomial size), and easy to check (i.e., in polynomial time) but not necessarily easy to find (or prove non-existent)! PERFECT MATCHING u 1 u 2 u 3 v 1 v 2 v 3 u 4 v 4 SAT (x y z) ( x y v) (x w z) (y w z)... 36/56

Problems in NP (Non-deterministic Polynomial time) Two alternative ways to characterize problems in NP: 1. Problems that can be solved in polynomial time with non-deterministic Turing machines ( algorithms that can guess perfectly) 2. Problems whose solutions (when they exist) are reasonably small (i.e., of polynomial size), and easy to check (i.e., in polynomial time) but not necessarily easy to find (or prove non-existent)! PERFECT MATCHING u 1 u 2 u 3 v 1 v 2 v 3 u 4 v 4 SAT (x y z) ( x y v) (x w z) (y w z)... TRAVELING SALESPERSON GENERALIZED SUDOKUS 10 16 12 15 4 5 1 11 14 13 5 10 16 12 11 1 9 7 4 11 8 13 12 5 10 14 11 9 3 4 9 6 1 13 7 4 15 11 16 5 2 15 9 16 3 7 6 2 14 13 1 2 9 16 8 6 16 7 9 8 5 14 1 2 2 6 4 13 3 5 14 8 1 7 4 16 14 1 12 7 11 14 5 7 9 2 10 6 11 13 5 12 2 3 15 10 37/56

NP-Complete Problems A problem A in NP is NP-complete if every other problem B in NP can be reduced to it with a polynomial time computable reduction Instance of problem B in NP x Efficient algorithm for B polynomial time reduction R Instance of NP-complete problem A R(x) efficient algorithm for A solution Property: x has a solution if and only if R(x) has 38/56

NP-Complete Problems A problem A in NP is NP-complete if every other problem B in NP can be reduced to it with a polynomial time computable reduction Instance of problem B in NP x Efficient algorithm for B polynomial time reduction R Instance of NP-complete problem A R(x) efficient algorithm for A solution Property: x has a solution if and only if R(x) has If an NP-complete problem A can be solved in polynomial time, then all the problems in NP can NP-complete problems are the most difficult ones in NP! We do not know(!!!) whether NP-complete problems can be solved efficiently or not 39/56

The Cook Levin Theorem Theorem (Cook 1971, Levin 1973) SAT is NP-complete Stephen Cook (1939 ) ACM Turing Award 1982 Leonid Levin (1948 ) Knuth Award in 2012 40/56

The Cook Levin Theorem Theorem (Cook 1971, Levin 1973) SAT is NP-complete Stephen Cook (1939 ) ACM Turing Award 1982 Leonid Levin (1948 ) Knuth Award in 2012 Richard Karp (1935 ) ACM Turing Award 1982 Karp [1972] then listed the next 21 NP-complete problems 41/56

The Cook Levin Theorem Theorem (Cook 1971, Levin 1973) SAT is NP-complete Stephen Cook (1939 ) ACM Turing Award 1982 Leonid Levin (1948 ) Knuth Award in 2012 Richard Karp (1935 ) ACM Turing Award 1982 Karp [1972] then listed the next 21 NP-complete problems Since then, 1000 s of problems have been shown NP-complete E.g. TRAVELING SALESPERSON, GENERALIZED SUDOKUS etc are NP-complete Garey and Johnson, 1979: Computers and Intractability: A Guide to the Theory of NP-Completeness 42/56

How to prove a new problem NP-complete? Given: a new problem C that you suspect NP-complete To prove that C is NP-complete: 1. show that it is in NP, 2. take any existing NP-complete problem A, and 3. reduce A to your problem C Instance of problem B in NP x Efficient algorithm for B Instance of NP-complete problem A x polynomial time reduction S Instance of your new problem C S(x) solution 43/56

How to prove a new problem NP-complete? Given: a new problem C that you suspect NP-complete To prove that C is NP-complete: 1. show that it is in NP, 2. take any existing NP-complete problem A, and 3. reduce A to your problem C Instance of problem B in NP x Efficient algorithm for B polynomial time reduction R Instance of NP-complete problem A R(x) polynomial time reduction S Instance of your new problem C S(R(x)) solution Polynomial time reductions compose: B reduces to C! your problem C is NP-complete 44/56

How to prove a new problem NP-complete? Given: a new problem C that you suspect NP-complete To prove that C is NP-complete: 1. show that it is in NP, 2. take any existing NP-complete problem A, and 3. reduce A to your problem C Instance of problem B in NP x Efficient algorithm for B polynomial time reduction R Instance of NP-complete problem A R(x) polynomial time reduction S Instance of your new problem C S(R(x)) efficient algorithm for C solution Polynomial time reductions compose: B reduces to C! your problem C is NP-complete if your problem C can be solved in polynomial time, then so can A and all the problems in NP 45/56

Proving NP-completeness: an example Definition (RECRUITING STRANGERS) INSTANCE: A social network of students and a positive integer K, where a social network consist of (i) a finite set of students and (ii) a symmetric, binary knows relation over the students. QUESTION: is it possible to recruit K students so that none of these students knows each other? Inez Mary John Aino with K = 3? Pete Pave Ida 46/56

Proving NP-completeness: an example Definition (RECRUITING STRANGERS) INSTANCE: A social network of students and a positive integer K, where a social network consist of (i) a finite set of students and (ii) a symmetric, binary knows relation over the students. QUESTION: is it possible to recruit K students so that none of these students knows each other? Inez Mary John Aino with K = 3? Pete Pave Ida 47/56

Proving NP-completeness: an example Definition (RECRUITING STRANGERS) INSTANCE: A social network of students and a positive integer K, where a social network consist of (i) a finite set of students and (ii) a symmetric, binary knows relation over the students. QUESTION: is it possible to recruit K students so that none of these students knows each other? Inez Mary John Aino with K = 3? Pete Pave Ida Definition (INDEPENDENT SET) INSTANCE: An undirected graph G = (V,E) and an integer K. QUESTION: Is there an independent set I V with I = K? 48/56

Theorem INDEPENDENT SET is NP-complete. Todistus Reduction from 3SAT. The SAT formula φ: (x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) The corresponding graph G with K = 3: x 1 x 2 x 3 x 2 x 3 x 1 x 1 x 2 x 3 49/56

Theorem INDEPENDENT SET is NP-complete. Todistus Reduction from 3SAT. The SAT formula φ: (x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) The corresponding graph G with K = 3: x 1 x 2 x 1 x 3 x 2 x 3 x 1 x 2 x 3 1. If φ is satisfiable, then G has an independent set of size K 50/56

Theorem INDEPENDENT SET is NP-complete. Todistus Reduction from 3SAT. The SAT formula φ: (x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) The corresponding graph G with K = 3: x 1 x 2 x 1 x 3 x 2 x 3 x 1 x 2 x 3 1. If φ is satisfiable, then G has an independent set of size K 2. If G has an indepent set of size K, then φ is satisfiable 51/56

Theorem INDEPENDENT SET is NP-complete. Todistus Reduction from 3SAT. The SAT formula φ: (x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) The corresponding graph G with K = 3: x 1 x 2 x 1 x 3 x 2 x 3 x 1 x 2 x 3 1. If φ is satisfiable, then G has an independent set of size K 2. If G has an indepent set of size K, then φ is satisfiable φ is satisfiable if and only if G has an indepent set of size K 52/56

Theorem INDEPENDENT SET is NP-complete. Todistus Reduction from 3SAT. The SAT formula φ: (x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) The corresponding graph G with K = 3: x 1 x 2 x 1 x 3 x 2 x 3 x 1 x 2 x 3 1. If φ is satisfiable, then G has an independent set of size K 2. If G has an indepent set of size K, then φ is satisfiable φ is satisfiable if and only if G has an indepent set of size K If we can solve INDEPENDENT SET efficiently, then we can solve SAT and all other problems in NP efficiently as well 53/56

NP-Completeness: Significance Can NP-complete problems be solved in polynomial time? One of the seven 1M$ Clay Mathematics Institute Millenium Prize problems, see http://www.claymath.org/millennium/ There is nothing wrong in trying to prove that an NP-complete problem can be solved in polynomial time. The point is that without an NP-completeness proof one would be trying the same thing without knowing it! (modified from C. Papadimitriou s book) What to do when a problem is NP-complete? Attack special cases occurring in practise Develope backtracking search algorithms with efficient heuristics and pruning techniques Develope approximation algorithms Apply incomplete local search methods... 54/56

Some further courses: T-79.4202 Principles of Algorithmic Techniques T-79.4101 Discrete Models and Search T-79.5103 Computational Complexity Theory ICS-E5010 Computer-Aided Verification and Synthesis T-79.4502 Cryptography and Data Security T-106.4200 Johdatus kääntäjätekniikkaan and so on... 55/56

Kiitos keväästä ja menestystä tenttiin! 56/56