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

Koko: px
Aloita esitys sivulta:

Download "3SAT-ongelman NP-täydellisyys [HMU ]"

Transkriptio

1 3SAT-ongelman NP-täydellisyys [HMU ] erotukseksi yleisestä CNF-esityksestä, kaikilla kaavoilla ei ole 3-CNF-esitystä; esim. x 1 x 2 x 3 x 4 esitämme muunnoksen, jolla polynomisessa ajassa mielivaltaisesta CNF-kaavasta φ tuotetaan 3-CNF-kaava ψ joka on toteutuva joss φ on Tämän muunnoksen olemassaolosta seuraa siis Lause 3.13: CSAT p m 3SAT. Koska CSAT on NP-täydellinen ja 3SAT NP, saadaan Korollaari 3.14: [HMU Thm 10.15] 3SAT on NP-täydellinen. Huom. SAT-ongelma rajoitettuna 2-CNF-kaavoihin ratkeaa polynomisessa ajassa. 238

2 Todistus sille että CSAT p m 3SAT Olkoon F (x 1,..., x n ) klausuuli (siis literaalien disjunktio). Muodostamme 3-CNF-kaavan F (x 1,..., x n, y 1,..., y m ) missä y i :t ovat uusia muuttujia ja F (v 1,..., v n ) = 1 jos ja vain jos F (v 1,..., v n, v 1,..., v m ) = 1 joillain (v 1,..., v m ) { 0, 1 }m. Tästä seuraa yleisemmin, että kun φ on CNF-kaava φ = niin voidaan muodostaa 3-CNF-kaavojen konjunktio, eli edelleen 3-CNF-kaava, k ψ = F j missä φ(v 1,..., v n ) = 1 joss ψ(v 1,..., v n, v 1,..., v l ) = 1 jollain (v 1,..., v l ) { 0, 1 }l, joten erityisesti φ on toteutuva joss ψ on toteutuva. Huom. eri kaavoihin F j lisättävien muuttujien pitää olla erillisiä. k j=1 j=1 F j 239

3 Olkoon F klausuuli. Neljä tapausta sen mukaan, kuinka monta literaalia z i klausuuli F sisältää: 1. F = z 1 missä z 1 = x i tai z 1 = x i jollain i. Uudet muuttujat u ja v; F = (z u v) (z u v) (z u v) (z u v). Koska uudet muuttujat u ja v on otettu kaikilla merkkikombinaatioilla, ainoa tapa saada F = 1 on valita z 1 = 1 jolloin F = F = z 1 z 2. Uusi muuttuja w; F = (z 1 z 2 w) (z 1 z 2 w). Kuten edellisessä kohdassa F voidaan toteuttaa vain tekemällä F todeksi. 3. F = z 1 z 2 z 3 : valmiiksi 3-CNF; F = F. 240

4 4. F = z 1 z 2... z m missä m 4. Uudet muuttujat y 1,..., y m 3 ; F = (z 1 z 2 y 1 ) (z 3 y 1 y 2 ) (z 4 y 2 y 3 )... (z m 2 y m 4 y m 3 ) (z m 1 z m y m 3 ). Jos F = 1, niin z i = 1 jollain 1, joten F = 1 kun valitaan y j = 1 kun j < i 1 ja y j = 0 muuten. Jos F = 0 ja siis z i = 0 kaikilla i, niin F = 0 miten tahansa y j :t valitaankin. Jos nimittäin yritetään saada F = 1, pitää 1. klausuulin ja ehdon z 1 = z 2 = 0 takia valita y 1 = 1. Kun y 1 = 1 ja z 3 = 0, toisen klausuulin takia pitää ottaa y 2 = 1. Näin päädytään lopulta valitsemaan y m 3 = 1, mutta tällöin viimeinen klausuuli jää toteutumatta. Siis φ CSAT jos ja vain jos ψ 3SAT. Selvästi muunnos φ ψ voidaan laskea polynomisessa ajassa. 241

5 NP-täydellisyys tähän mennessä: jos jollakin NP-täydellisellä ongelmalla on polynominen ratkaisualgoritmi, niin P = NP tätä ei pidetä luultavana, koska se tarkoittaisi että eksponentiaalisen suuria hakuavaruuksia voitaisiin etsiä polynomisessa ajassa suoraan määritelmästä todistettiin, että SAT on NP-täydellinen suoraviivaisilla palautuksilla osoitettiin, että jo SAT-ongelman rajoitetut erikoistapaukset CSAT ja 3SAT ovat NP-täydellisiä Jatko: [HMU 10.4] osoitetaan 3SAT p m IS ja 3SAT p m HC siis IS ja HC NP-täydellisiä aiemmin osoitettu IS p m VC ja HC p m TSP joten myös VC ja TSP NP-täydellisiä 242

6 Lause 3.15: [HMU Thm 10.18] Riippumaton joukko -ongelma on NP-täydellinen Todistus: Tarkastellaan siis joukkoa IS = { G, k G sisältää k-solmuisen riippumattoman joukon }. Harjoitustehtävänä osoitetaan IS NP. Muodostetaan palautus f: 3SAT p m IS. Koska 3SAT on NP-täydellinen, väite seuraa. Siis muodostetaan f(φ) = G, k, missä G, k IS jos ja vain jos φ on toteutuva 3-CNF-kaava. Erityisesti jos x ylipäänsä ei ole 3-CNF-kaava, pitää olla f(x) IS. Tällaisissa tapauksissa valitaan esim. f(x) = (V, E), n + 1 missä V = n. Keskitytään jatkossa tapaukseen jossa x todella on 3-CNF-kaava. 243

7 Olkoon siis φ 3-CNF-kaava, jossa m klausuulia: φ = m i=1 (z i,1 z i,2 z i,3 ) missä kukin z i,r on muotoa x j tai x j. Nyt f(φ) = (V, E), k missä k = m V = 3m ja V = { v i,r i { 1,..., m }, r { 1, 2, 3 } } (v i,r, v i,s ) E kaikilla i { 1,..., m }, r, s { 1, 2, 3 }, r s kun i j, niin (v i,r, v j,s ) E jos z i,r = z j,s tai z i,r = z j,s Selvästi f laskettavissa polynomisessa ajassa. 244

8 Esimerkki 3.16: Muodostetaan G, k = f(φ) kun φ = (x 1 x 3 x 4 ) ( x 2 x 4 x 5 ) ( x 1 x 5 x 6 ) (x 1 x 6 x 5 ). Rengastetuista solmuista muodostuu kokoa m = 4 oleva riippumaton joukko. Tämä vastaa kaavan toteuttavia arvoja x 1 = 1, x 5 = 0, x 6 = 0, muut muuttujat mielivaltaisia x 1 x 2 x 1 x 1 x 3 x 4 x 5 x 6 x 4 x 5 x 6 x 5 245

9 Nähdään että φ toteutuva verkossa G on m solmun riippumaton joukko U: : Ol. φ toteutuva. Valitaan muuttujien x i arvot siten, että jokaisessa kaavan φ klausuulissa i ainakin yksi literaali z i,r saa arvon 1. Valitaan joukkoon U vastaavat v i,r. Nyt U sisältää tasan yhden solmun jokaisesta kolmiosta. Lisäksi valitut solmut vastaavat tosia literaaleja, joten minkään kahden eri kolmiosta valitun solmun välillä ei ole kaarta. Siis U on riippumaton ja U = m. : Ol. m solmun joukko U riippumaton. Nyt U sisältää tasan yhden solmun joka kolmiosta. Koska minkään eri kolmioista valittujen solmujen välillä ei ole kaarta, voidaan ilman ristiriitaa asettaa todeksi valittuja solmuja vastaavat literaalit. Jokaiseen klausuuliin tulee ainakin yksi tosi literaali; φ toteutuva. 246

10 Tarkastellaan seuraavaksi suunnattu Hamiltonin kehä -ongelmaa (Directed Hamiltonian Circuit, DHC): Annettu: suunnattu verkko G Kysymys: onko verkossa G suunnattu polku joka käy jokaisessa solmussa tasan kerran ja palaa lähtösolmuunsa Siis eroksi alkuperäiseen Hamiltonin kehä -ongelmaan (HC) verkon kaarilla on suunta, ja kehän pitää näitä suuntia noudattaa. Lause 3.17: [HMU Thm 10.21] DHC on NP-täydellinen. Koska HC NP ja harjoitustehtävänä osoitetaan DHC p m HC, pätee Korollaari 3.18: [HMU Thm 10.23] HC on NP-täydellinen. 247

11 Todistus: Kuten suuntaamattomassa tapauksessa nähdään helposti että DHC NP. Muodostetaan palautus f: 3SAT p m DHC, mistä väite nyt seuraa. Olkoon annettu n-muutujainen 3-CNF-kaava φ jossa m klausuulia m φ = (z j,1 z j,2 z j,3 ). j=1 Suunnattu verkko f(φ) = G = (V, E) muodostuu kahdenlaisista osaverkoista eli laitteista (gadget): jokaista muuttujaa x i kohti laite A i, i = 1,..., n laite A i voidaan käydä läpi kahdella eri tavalla jotka koodaavat valintaa x i = 0 tai x i = 1 jokaista klausuulia β j = z j,1 z j,2 z j,3 kohti laite B j, j = 1,..., m laitteen B j läpikäynti voidaan lomittaa laitteen A i läpikäyntiin joss muuttuja x i tekee todeksi klausuulin β j 248

12 Laite A i : laitteessa on 2m + 4 solmua a i, d i sekä b i,j ja c i,j, j = 0,..., m. Laitteen sisäiset kaaret: solmusta a i kaari solmuihin b i,0 ja c i,0 solmuista b i,m ja c i,m kaari solmuun d i solmusta b i,j kaari solmuun c i,j ja solmusta c i,j kaari solmuun b i,j, j = 0,..., m solmusta b i,j 1 kaari solmuun c i,j ja solmusta c i,j 1 kaari solmuun b i,j, j = 1,..., m Havaitaan että laitteen A i solmut voidaan käydä läpi kahdessa järjestyksessä: järjestys a i c i,0 b i,0 c i,1 b i,1... c i,m b i,m d i vastaa valintaa x i = 0 järjestys a i b i,0 c i,0 b i,1 c i,1... b i,m c i,m d i vastaa valintaa x i = 1 Eri laitteita yhdistävät kaaret esitellään pian. 249

13 b i,0... b i,1 b i,2 b i,m A i 1 a i d i A i+1 c i,0 c i,1 c i,2... c i,m A i Laite A i. Kuvasta puuttuu kaaret laitteisiin B j. 250

14 Laite B j : laitteessa 6 solmua r j,1, r j,2, r j,3, s j,1, s j,2, s j,3. Laitteen sisäiset kaaret: solmut r j,k sisältävä sykli: kaaret (r j,1, r j,2 ), (r j,2, r j,3 ) ja (r j,3, r j,1 ) solmut s j,k sisältävä sykli: kaaret (s j,1, s j,3 ), (s j,3, s j,2 ) ja (s j,2, s j,1 ) (huom. suunta) syklejä kytkevät kaaret (r j,1, s j,1 ), (r j,2, s j,2 ) ja (r j,3, s j,3 ) Havaitaan että jos Hamiltonin kehä tulee laitteeseen B j solmun r j,k kautta niin sen pitää vastaavasti poistua solmun s j,k kautta. (Kehä voi vierailla laitteessa B j useita kertoja, mutta jokaisen vierailun on noudatettava tätä sääntöä.) Muuten osa solmuista jäisi eristyksiin eikä enää pääsisi mukaan kehään. 251

15 A i r j,3 s j,3 A i r j,2 s j,2 A i r j,1 s j,1 Laite B j. Tässä literaalin β j muuttujat ovat x i, x i ja x i. 252

16 Laitteet A i yhdistetään yhdeksi isoksi sykliksi: solmusta d i kaari solmuun a i+1, i = 1,..., n 1 solmusta d n kaari solmuun a 1 Laite A i yhdistetään niihin laitteisiin B j joilla klausuuli β j sisältää literaalin x i tai x i : jos z j,k = x i niin lisätään kaaret (c i,j 1, r j,k ) ja (s j,k, b i,j ) jos z j,k = x i niin lisätään kaaret (b i,j 1, r j,k ) ja (s j,k, c i,j ) Havainto: Jos klausuuli β j sisältää literaalin x i (vast. x i ) ja laitteen A i läpikäyntijärjestys vastaa valintaa x i = 1 (vast. x i = 0) niin laitteen B j läpikäynti voidaan sijoittaa laitteen A i läpikäynnin lomaan. 253

17 Verkkoon G = f(φ) ei tule muita kaaria kuin edellä luetellut. Selvästi f voidaan laskea polynomisessa ajassa. Seuraavasta väitteestä seuraa että f: 3SAT p m DHC. Väite: φ on toteutuva verkossa G on Hamiltonin kehä : Olkoon φ = 1 kun (x 1,..., x n ) = (v i,..., v n ) { 0, 1 } n. Siis jokaisella klausuulilla β j = z j,1 z j,2 z j,3 ainakin yksi literaali z j,k on tosi kun (x 1,..., x n ) = (v i,..., v n ). Valitaan jokin indeksi k(j) { 1, 2, 3 } s.e. jollain i joko z j,k(j) = x i ja v i = 1, tai z j,k(j) = x i ja v i = 0, Siis klausuulin numero j toteutuminen on siinä olevan literaalin numero k(j) vastuulla. 254

18 Verkkoon G voidaan muodostaa Hamiltonin kehä seuraavasti: 1. käy laite A i läpi järjestyksessä a i c i,0 b i,0... c i,m b i,m d i jos v i = 0 a i b i,0 c i,0... b i,m c i,m d i jos v i = 1 2. yhdistä laitteiden A i läpikäynnit järjestyksessä A 1 A 2... A n A 1 3. kaikilla j = 1,..., m: jos z j,k(j) = x i (jolloin v i = 0), korvaa laitteen A i läpikäynnin kaari (b i,j 1, c i,j ) polulla (b i,j 1, r j,k(j),..., s j,k(j), c i,j ) missä r j,k(j),..., s j,k(j) on laitteen B j läpikäynti jos z j,k(j) = x i (jolloin v i = 1), korvaa laitteen A i läpikäynnin kaari (c i,j 1, b i,j ) polulla (c i,j 1, r j,k(j),..., s j,k(j), b i,j ) missä r j,k(j),..., s j,k(j) on laitteen B j läpikäynti 255

19 : Olkoon verkossa G Hamiltonin kehä. Jos kehä sisältää kaaren (a i, b i,0 ) valitaan v i = 1. Jos kehä sisältää kaaren (a i, c i,0 ) valitaan v i = 0. Selvästi tasan yksi näistä pätee. Väitetään että φ = 1 jos x i = v i kaikilla i. Jos kehä tulee laitteeseen B j solmun r j,k kautta, se poistuu solmun s j,k kautta; muuten osa laitteen solmuista leikkautuisi pois kehältä. Siis laitteen B j kautta voidaan siirtyä solmusta c i,j 1 solmuun b i,j jos β j sisältää literaalin x i ja solmusta b i,j 1 solmuun c i,j jos β j sisältää literaalin x i. 256

20 Siis jos v i = 1, laite A i käydään läpi järjestyksessä a i b i,0 c i,0 b i,1 c i,1... b i,m c i,m d i missä c i,j 1 b i,j tarkoittaa siirtymistä solmusta c i,j 1 solmuun b i,j joko suoraan tai laitteen B j kautta. Jos v i = 0, saadaan vastaavasti a i c i,0 b i,0 c i,1 b i,1... c i,m b i,m d i. Jos laitteessa B j käydään laitteen A i läpikäynnin välissä ja v i = 1, niin laitteeseen B j mennään kaarta (c i,j 1, r j,k ) jolloin z j,k = x i. Vastaavasti jos v i = 0 niin z j,k = x i. Siis z j,k = 1 kun valitaan x i = v i. Jokaisessa laitteessa B j käydään ainakin kerran, joten jokaisessa klausuulissa β j on ainakin yksi literaali z j,k joka saa arvon 1 kun x i = v i kaikilla i. 257

21 TSP HC DHC VC IS Yhteenveto todistetuista polynomisista palautuksista 3SAT CSAT SAT NP-täyd. Nuoli A B tarkoittaa A p m B Huom. kaikki NP-ongelmat on palautettu ongelmaan SAT (Lause 3.7). NP 258

22 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 3.19 [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 259

23 Luokan NP ongelmien komplementit [HMU 11.1] muodostavat luokan co-np = { A A NP }. Luokalla co-np on omat täydelliset ongelmansa. Lause 3.20: A on co-np-täydellinen jos ja vain jos A on NP-täydellinen. Todistus: Jos f on palautus B p m A, se on samalla palautus B p m A. 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. 260

24 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 3.21: Jos t on aikakonstruoituva, niin on olemassa ongelma A joka voidaan ratkaista ajassa O(t(n)) mutta ei ajassa O(t(n) 1 ɛ ) millään ɛ > 0.. 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 tilakonstruoituvia, esim. log n, n 3/2, n 5, 2 n. Lause 3.22: Jos s on tilakonstruoituva, niin on olemassa ongelma A joka voidaan ratkaista tilassa O(s(n)) mutta ei tilassa O(s(n) 1 ɛ ) millään ɛ >

25 Koska P = NP? ja NP = co-np? ovat klassisia avoimia ongelmia, on hieman yllättävää että vastaavat tilavaativuusluokkia koskevat kysymykset helppoja : Lause 3.23 [Savitch 1970]: Olkoon s(n) n kaikilla n. Kaikki ongelmat, jotka voidaan ratkaista epädeterministisesti tilassa s(n), voidaan ratkaista deterministisesti tilassa O(s(n) 2 ). Korollaari 3.24: PSPACE = NPSPACE = co-npspace Tässä on siis merkitty co-c = { A A C } kuten aiemminkin. Komplementoinnin suhteen on saatu vielä tarkempikin tulos: Lause 3.25 [Immerman 1988, Szelepcsényi 1987]: Olkoon s(n) log n kaikilla n. Jos ongelma A voidaan tunnistaa epädeterministisesti tilassa s(n), niin A voidaan tunnistaa epädeterministisesti tilassa O(s(n)). (Tulos on mielekäs myös tapauksessa s(n) < n, kun tarkastellaan työtilaa eli syötteen säilyttämisestä ei makseta.) 262

26 Seuraava lause suhteuttaa karkeasti deterministiset aika- ja tilavaativuusluokat. Lause 3.26: Jos ongelman aikavaativuus on T (n), niin sen tilavaativuus on O(T (n)). Jos ongelman tilavaativuus on S(n), niin sen aikavaativuus on O(2 cs(n) ) jollain c > 0. 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. Määritellään vielä eksponentiaalinen tilavaativuusluokka ESPACE = { L(M) M deterministinen, space M (n) = O(2 nk ) jollain k }. Korollaari 3.27: P NP PSPACE E ESPACE. Ylläolevien sisältyvyyksien aitoudesta ei tiedetä kuin seuraava Lause 3.28: P E ja PSPACE ESPACE 263

27 4. 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 264

28 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ätyhjyysongelma, tyhjyysongelma; Postin vastaavuusongelma Ricen lause: semanttiset ominaisuudet ratkeamattomia 265

29 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 266

30 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 267

31 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 tärkeitä NP-täydellisiä ongelmia: SAT, 3SAT, HC, TSP, VC, IS,... ongelman A osoittaminen NP-täydelliseksi: 1. osoita A NP (yleensä helppoa) 2. osoita B p m A jollain NP-täydelliseksi tunnetulla B 268

32 LOPPU 269

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

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Väite: T (n) (a + b)n 2 + a. Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Huomaa että funktion x x 2 + (m 1 x) 2 kuvaaja on ylöspäin aukeava paraabeli, joten funktio saavuttaa suurimman

Lisätiedot

Muita vaativuusluokkia

Muita vaativuusluokkia 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):

Lisätiedot

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

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna. q 0 x solmuina laskennan mahdolliset tilanteet juurena alkutilanne lehtinä tilanteet joista ei siirtymää,

Lisätiedot

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:

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: Lause 3SAT p m VC Todistus. Olk. φ = C 1 C C m 3-cnf-kaava, jossa esiintyvät muuttujat x 1,..., x n. Vastaava solmupeiteongelman tapaus G, k muodostetaan seuraavasti. G:ssä on solmu kutakin literaalia

Lisätiedot

SAT-ongelman rajoitetut muodot

SAT-ongelman rajoitetut muodot SAT-ongelman rajoitetut muodot olemme juuri osoittaneet että SAT on NP-täydellinen perusidea on nyt osoittaa joukolle kiinnostavia ongelmia A NP että SAT p m A, jolloin kyseiset A myös ovat NP-täydellisiä

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

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

= k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko 238 7.2 Luokka NP Luokka NP on: NP = { NTIME(t) t on polynomi } = k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko P NP Luokan NP ongelmista

Lisätiedot

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

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen. Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,

Lisätiedot

Rekursiiviset palautukset [HMU 9.3.1]

Rekursiiviset palautukset [HMU 9.3.1] Rekursiiviset palautukset [HMU 9.3.1] Yleisesti sanomme, että ongelma P voidaan palauttaa ongelmaan Q, jos mistä tahansa ongelmalle Q annetusta ratkaisualgoritmista voidaan jotenkin muodostaa ongelmalle

Lisätiedot

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

Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen. 261 Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen. Pitää osoittaa siis, että A mp SAT mielivaltaisella A NP Ainoa, mitä A:sta tiedetään on, että sillä on polynomisessa

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys

Lisätiedot

3. Laskennan vaativuusteoriaa

3. Laskennan vaativuusteoriaa 3. Laskennan vaativuusteoriaa tähän asti puhuttu siitä, mitä on mahdollista laskea äärellisessä ajassa siirrytään tarkastelemaan laskemista kohtuullisessa ajassa vaihtoehtoisesti voidaan laskenta-ajan

Lisätiedot

Lisää pysähtymisaiheisia ongelmia

Lisää pysähtymisaiheisia ongelmia Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti

Lisätiedot

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Pysähtymisongelman ratkeavuus [Sipser luku 4.2] Pysähtymisongelman ratkeavuus [Sipser luku 4.2] Osoitamme nyt vihdoin, että jotkin Turing-tunnistettavat kielet ovat ratkeamattomia ja jotkin kielet eivät ole edes Turing-tunnistettavia. Lisäksi toteamme,

Lisätiedot

Säännöllisen kielen tunnistavat Turingin koneet

Säännöllisen kielen tunnistavat Turingin koneet 186 Säännöllisen kielen tunnistavat Turingin koneet Myös säännöllisen kielen hyväksyvien Turingin koneiden tunnistaminen voidaan osoittaa ratkeamattomaksi palauttamalla universaalikielen tunnistaminen

Lisätiedot

3. Laskennan vaativuusteoriaa

3. Laskennan vaativuusteoriaa 3. Laskennan vaativuusteoriaa Siirrymme tarkastelemaan, mitä laskennallisia ongelmia voidaan ratkaista tehokkaalla algoritmilla [HMU luku 10]. Tämän luvun jälkeen opiskelija tuntee laskennallisen vaativuuden

Lisätiedot

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

on rekursiivisesti numeroituva, mutta ei rekursiivinen. 6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = { M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 8.5.2018 Timo Männikkö Luento 13 Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys Kertaus ja tenttivinkit Algoritmit 2 Kevät

Lisätiedot

Laskennan teoria

Laskennan teoria 581336-0 Laskennan teoria luennot syyslukukaudella 2003 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa esitiedot käytännössä

Lisätiedot

Algoritmit 2. Luento 14 To Timo Männikkö

Algoritmit 2. Luento 14 To Timo Männikkö Algoritmit 2 Luento 14 To 2.5.2019 Timo Männikkö Luento 14 Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydelliset ongelmat Kertaus ja tenttivinkit Algoritmit

Lisätiedot

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut Pisteytys on ilmoitettu välikoevaihtoehdon mukaan (joko tehtävät 1, 2 ja 3 välikokeen 1 uusintana tai tehtävät 4, 5 ja 6 välikokeen 2 uusintana).

Lisätiedot

Polynomiset palautukset ja NP-täydellisyys

Polynomiset palautukset ja NP-täydellisyys Polynomiset palautukset ja NP-täydellisyys [HMU 10.1.5, 10.1.6] Polynomisen palautuksen idea on sama kuin rekursiivisen palautuksen, paitsi että liikutaan polynomisen aikavaativuuden maailmassa. Funktio

Lisätiedot

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

1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1 Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 11 Ratkaisut 1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen kahta yhdistämissääntöä. Perusfunktioita

Lisätiedot

5.3 Ratkeavia ongelmia

5.3 Ratkeavia ongelmia 153 5.3 Ratkeavia ongelmia Deterministisen äärellisten automaattien (DFA) hyväksymisongelma: hyväksyykö annettu automaatti B merkkijonon w? Ongelmaa vastaava formaali kieli on A DFA = { B, w B on DFA,

Lisätiedot

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

M = (Q, Σ, Γ, δ, q 0, q acc, q rej ) 6. LASKETTAVUUSTEORIAA Churchin Turingin teesi: Mielivaltainen (riittävän vahva) laskulaite Turingin kone. Laskettavuusteoria: Tarkastellaan mitä Turingin koneilla voi ja erityisesti mitä ei voi laskea.

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

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

kaikki kielet tunnistettavat A TM HALT TM { a n } { a n b n } { a n b n c n } TOTAL TM EQ TM Kurssi tähän asti: säännölliset yhteydettömät ratkeavat { a n } { a n b n } { a n b n c n } tunnistettavat A TM HALT TM kaikki kielet A TM HALT TM TOTAL TM TOTAL TM EQ TM EQ TM 277 5. Laskennan vaativuus

Lisätiedot

10. Satunnaisalgoritmit

10. Satunnaisalgoritmit 316 10. Satunnaisalgoritmit Probabilistic algorithms, randomized algorithms Toinen tapa liiallisen laskennallisen vaativuuden kanssa toimeen tulemiseksi ovat satunnaisalgoritmit Jotkin ongelmat, joissa

Lisätiedot

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

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri } 135 4.3 Algoritmeista Churchin ja Turingin formuloinnit laskennalle syntyivät Hilbertin vuonna 1900 esittämän kymmenennen ongelman seurauksena Oleellisesti Hilbert pyysi algoritmia polynomin kokonaislukujuuren

Lisätiedot

Täydentäviä muistiinpanoja laskennan rajoista

Täydentäviä muistiinpanoja laskennan rajoista Täydentäviä muistiinpanoja laskennan rajoista Antti-Juhani Kaijanaho 10. joulukuuta 2015 1 Diagonaalikieli Diagonaalikieli on D = { k {0, 1} k L(M k ) }. Lause 1. Päätösongelma Onko k {0, 1} sellaisen

Lisätiedot

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

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS. TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. joulukuuta 2015 Sisällys TM vs yleiset kieliopit Lause Jokaiselle kielelle A seuraavat ovat yhtäpitävät: 1.

Lisätiedot

Turingin koneen laajennuksia

Turingin koneen laajennuksia 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

Lisätiedot

Laskennan teoria

Laskennan teoria 581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa

Lisätiedot

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 2. Luento 14 Ke Timo Männikkö Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan

Lisätiedot

2. Laskettavuusteoriaa

2. Laskettavuusteoriaa 2. Laskettavuusteoriaa Käymme läpi ratkeamattomuuteen liittyviä ja perustuloksia ja -tekniikoita [HMU luku 9]. Tämän luvun jälkeen opiskelija tuntee joukon keskeisiä ratkeamattomuustuloksia osaa esittää

Lisätiedot

isomeerejä yhteensä yhdeksän kappaletta.

isomeerejä yhteensä yhdeksän kappaletta. Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua

Lisätiedot

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

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.

Lisätiedot

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

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3 T-79.48 Tietojenkäsittelyteorian perusteet Tentti 25..23 mallivastaukset. Tehtävä: Kuvaa seuraavat kielet sekä säännölisten lausekkeiden että determinististen äärellisten automaattien avulla: (a) L = {w

Lisätiedot

Laskennan vaativuus ja NP-täydelliset ongelmat

Laskennan vaativuus ja NP-täydelliset ongelmat Laskennan vaativuus ja NP-täydelliset ongelmat TRAK-vierailuluento 13.4.2010 Petteri Kaski Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Tietojenkäsittelytiede tutkii 1. mitä tehtäviä voidaan

Lisätiedot

6.1 Rekursiiviset palautukset

6.1 Rekursiiviset palautukset 6.1 Rekursiiviset palautukset Olk. = (Q, Σ, Γ, δ, q 0, q acc, q rej ) mv. standardimallinen Turingin kone ääritellään koneen laskema osittaisfunktio f : Σ Γ seur. u, jos q 0 w u q av, f (w) = q { q acc,

Lisätiedot

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120 Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen

Lisätiedot

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

Chomskyn hierarkia. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit Chomskyn hierarkia Noam Chomskyn vuonna 1956 esittämä luokittelu kieliopeille niiden ilmaisuvoiman mukaan tyyppi kieli kielioppi tunnistaminen 0 rekurs. lueteltava rajoittamaton Turingin kone 1 kontekstinen

Lisätiedot

Ratkeavuus ja efektiivinen numeroituvuus

Ratkeavuus ja efektiivinen numeroituvuus Luku 6 Ratkeavuus ja efektiivinen numeroituvuus Proseduurit Olkoon A aakkosto. Proseduuri aakkoston A sanoille on mikä hyvänsä prosessi (algoritmi) P, jolle annetaan syötteeksi sana w A, ja joka etenee

Lisätiedot

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

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi: T-79.148 Kevät 2004 Tietojenkäsittelyteorian perusteet Harjoitus 12 Demonstraatiotehtävien ratkaisut 4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi: Hyväksyykö annettu Turingin kone

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.

Lisätiedot

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

7. Aikavaativuus. Ohjelmistotekniikan laitos OHJ-2300 Johdatus tietojenkäsittelyteoriaan, syksy 212 7. Aikavaativuus Edellä tarkasteltiin ongelmien ratkeavuutta kiinnittämättä huomiota ongelman ratkaisun vaatimaan aikaan Nyt siirrytään tarkastelemaan ratkeavien ongelmien aikavaativuutta Periaatteessa

Lisätiedot

2. Laskettavuusteoriaa

2. Laskettavuusteoriaa 2. Laskettavuusteoriaa Kaymme lapi ratkeamattomuuteen liittyvia ja perustuloksia ja -tekniikoita [HMU luku 9]. Taman luvun jalkeen opiskelija tuntee joukon keskeisia ratkeamattomuustuloksia osaa esittaa

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli

Lisätiedot

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

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS. TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. maaliskuuta 2012 Sisällys Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on

Lisätiedot

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

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. kesäkuuta 2013 Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on muotoa Onko

Lisätiedot

Algoritmin määritelmä [Sipser luku 3.3]

Algoritmin määritelmä [Sipser luku 3.3] Algoritmin määritelmä [Sipser luku 3.3] Mitä algoritmilla yleensä tarkoitetaan periaatteessa: yksiselitteisesti kuvattu jono (tietojenkäsittely)operaatioita, jotka voidaan toteuttaa mekaanisesti käytännössä:

Lisätiedot

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja 582206 Laskennan mallit (syksy 2008) 2. kurssikoe 11.12., ratkaisuja Tehtävän 1 tarkasti Harri Forsgren, tehtävän 2 Joel Kaasinen ja tehtävän 3 Jyrki Kivinen. Palautetilaisuuden 19.12. jälkeen arvosteluun

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

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

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden

Lisätiedot

Luonnollisen päättelyn luotettavuus

Luonnollisen päättelyn luotettavuus Luonnollisen päättelyn luotettavuus Luotettavuuden todistamiseksi määrittelemme täsmällisesti, milloin merkkijono on deduktio. Tässä ei ole sisällytetty päättelysääntöihin iteraatiosääntöä, koska sitä

Lisätiedot

Chomskyn hierarkia ja yhteysherkät kieliopit

Chomskyn hierarkia ja yhteysherkät kieliopit Chomskyn hierarkia ja yhteysherkät kieliopit Laskennan teorian opintopiiri Tuomas Hakoniemi 21. helmikuuta 2014 Käsittelen tässä laskennan teorian opintopiirin harjoitustyössäni muodollisten kielioppien

Lisätiedot

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I. Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.

Lisätiedot

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

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys. Ei-säännöllisiä kieliä [Sipser luku 1.4] Osoitamme, että joitain kieliä ei voi tunnistaa äärellisellä automaatilla. Tulos ei sinänsä ole erityisen yllättävä, koska äärellinen automaatti on äärimmäisen

Lisätiedot

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä. Tehtävä 6 : 1 Oletetaan ensin joukon X olevan sisältymisen suhteen minimaalinen solmut a ja b toisistaan erotteleva joukon V(G)\{a, b} osajoukko. Olkoon x joukon X alkio. Oletuksen nojalla joukko X\{x}

Lisätiedot

6. Approksimointialgoritmit

6. Approksimointialgoritmit 6. Approksimointialgoritmit Tässä luvussa käsitellään lyhyesti approksimointiin liittyvät peruskäsitteet ja joitain keskeisiä approksimoituvuustuloksia. Tavoitteena on, että opiskelija näkee approksimointialgoritmien

Lisätiedot

Johdatus logiikkaan I Harjoitus 4 Vihjeet

Johdatus logiikkaan I Harjoitus 4 Vihjeet Johdatus logiikkaan I Harjoitus 4 Vihjeet 1. Etsi lauseen ((p 0 p 1 ) (p 0 p 1 )) kanssa loogisesti ekvivalentti lause joka on (a) disjunktiivisessa normaalimuodossa, (b) konjunktiivisessa normaalimuodossa.

Lisätiedot

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

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 581336 Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 1. S! axc X! axc X! by c Y! by c Y! " 2. (a) Tehtävänä on konstruoida rajoittamaton kielioppi, joka tuottaa kielen f0 n 1 n jn 1g. Vaihe1: alkutilanteen

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. maaliskuuta 2012 Sisällys Ongelma-analyysiä Sisällys Ongelma-analyysiä Hypoteettinen ongelma The Elite Bugbusters

Lisätiedot

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

Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. kesäkuuta 2013 Sisällys Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton kontekstinen

Lisätiedot

Yhteydettömän kieliopin jäsennysongelma

Yhteydettömän kieliopin jäsennysongelma Yhteydettömän kieliopin jäsennysongelma Yhteydettömän kieliopin jäsennysongelmalla tarkoitetaan laskentaongelmaa Annettu: yhteydetön kielioppi G, merkkijono w Kysymys: päteekö w L(G). Ongelma voidaan periaatteessa

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, 652013, vastauksia 1 [6 pistettä] Vastaa jokaisesta alla olevasta väittämästä onko se tosi vai epätosi ja anna lyhyt perustelu Jokaisesta kohdasta

Lisätiedot

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

Onko algoritmiselle ongelmalle löydetty ratkaisualgoritmi riittävän hyvä? Ongelman vaativuuden rajat Onko algoritmiselle ongelmalle löydetty ratkaisualgoritmi riittävän hyvä? Olisiko mahdollista löytää asymptoottisesti tehokkaampi ratkaisu, vai onko algoritmi optimaalinen? Kysymyksiin

Lisätiedot

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 4 Ratkaisuehdotukset

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 4 Ratkaisuehdotukset HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 4 Ratkaisuehdotukset 1. Etsi lauseen (p 0 (p 1 p 0 )) p 1 kanssa loogisesti ekvivalentti lause joka on (a) disjunktiivisessa

Lisätiedot

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

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Osoitamme seuraavan keskeisen tuloksen: Lause 1.8: [Sipser Thm. 1.54] Kieli on säännöllinen, jos ja vain jos jokin säännöllinen lauseke esittää

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

Rajoittamattomat kieliopit (Unrestricted Grammars)

Rajoittamattomat kieliopit (Unrestricted Grammars) Rajoittamattomat kieliopit (Unrestricted Grammars) Laura Pesola Laskennanteorian opintopiiri 13.2.2013 Formaalit kieliopit Sisältävät aina Säännöt (esim. A -> B C abc) Muuttujat (A, B, C, S) Aloitussymboli

Lisätiedot

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

ongelma A voidaan ratkaista ongelman B avulla, joten jossain mielessä Edellä esitetyt kielten A TM ja HALT TM ratkeamattomuustodistukset ovat esimerkkejä palautuksesta (reduction). Intuitiivisesti ongelman A palauttaminen ongelmaan B tarkoittaa, että Oletetaan, että meillä

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C. T-79.3001 Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka 6.1 7.2) 27. 29.2.2008 Ratkaisuja demotehtäviin Tehtävä 6.1 a) A (B C) Poistetaan lauseesta ensin implikaatiot.

Lisätiedot

1. Universaaleja laskennan malleja

1. Universaaleja laskennan malleja 1. Universaaleja laskennan malleja Laskenta datan käsittely annettuja sääntöjä täsmällisesti seuraamalla kahden kokonaisluvun kertolasku tietokoneella, tai kynällä ja paperilla: selvästi laskentaa entä

Lisätiedot

1 Tensoriavaruuksista..

1 Tensoriavaruuksista.. 1 Tensoriavaruuksista.. Käydään läpi kirjan (1) sivut 126-133. 19.02.2007 Palautetaaieleen viime kerran tärkeä määritelmä: (kirja, Määr. 5.12). Määritelmä 1.1 Olkoon T vektoriavaruus ja Φ : V 1 V 2 V m

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

Miten osoitetaan joukot samoiksi?

Miten osoitetaan joukot samoiksi? Miten osoitetaan joukot samoiksi? Määritelmä 1 Joukot A ja B ovat samat, jos A B ja B A. Tällöin merkitään A = B. Kun todistetaan, että A = B, on päättelyssä kaksi vaihetta: (i) osoitetaan, että A B, ts.

Lisätiedot

Verkon värittämistä hajautetuilla algoritmeilla

Verkon värittämistä hajautetuilla algoritmeilla Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)

Lisätiedot

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

6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w} 6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = {c w pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti

Lisätiedot

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen Luento omatoimisen luennan tueksi algoritmiikan tutkimusseminaarissa 23.9.2002. 1 Sisältö Esitellään ongelmat Steiner-puu Kauppamatkustajan

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 20. lokakuuta 2016 .. TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. lokakuuta 2016 Sisällys. Turingin koneiden pysähtymisongelma. Lause Päätösongelma Pysähtyykö standardimallinen

Lisätiedot

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla. HY / Avoin ylioisto Johdatus yliopistomatematiikkaan, kesä 201 Harjoitus 7 Ratkaisut palautettava viimeistään perjantaina 26.6.201 klo 16.00. Huom! Luennot ovat salissa CK112 maanantaista 1.6. lähtien.

Lisätiedot

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0. Vapaus Määritelmä Oletetaan, että v 1, v 2,..., v k R n, missä n {1, 2,... }. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee: jos c 1 v 1 + c 2 v 2 +

Lisätiedot

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2 Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,

Lisätiedot

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on

Lisätiedot

1.4 Funktioiden kertaluokat

1.4 Funktioiden kertaluokat 1.4 Funktioiden kertaluokat f on kertaluokkaa O(g), merk. f = O(g), jos joillain c > 0, m N pätee f(n) cg(n) aina kun n m f on samaa kertaluokkaa kuin g, merk. f = Θ(g), jos joillain a, b > 0, m N pätee

Lisätiedot

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

Laskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus. TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 17.10.2016 klo 15:07 passed waiting redo submitters

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013 TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. toukokuuta 2013 Sisällys Chomskyn hierarkia (ja muutakin) kieli LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti

Lisätiedot

Vaihtoehtoinen tapa määritellä funktioita f : N R on

Vaihtoehtoinen tapa määritellä funktioita f : N R on Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: 1 (Alkuarvot) Ilmoitetaan funktion arvot

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. syyskuuta 2016 Sisällys a https://tim.jyu.fi/view/kurssit/tie/ tiea241/2016/videoiden%20hakemisto Matemaattisen

Lisätiedot

Säännöllisten kielten sulkeumaominaisuudet

Säännöllisten kielten sulkeumaominaisuudet Säännöllisten kielten sulkeumaominaisuudet Osoitamme nyt, että säännöllisten kielten joukko on suljettu yhdisteen, konkatenaation ja tähtioperaation suhteen. Toisin sanoen jos A ja B ovat säännöllisiä,

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria

ICS-C2000 Tietojenkäsittelyteoria ICS-C2000 Tietojenkäsittelyteoria Luento 10: Lisää ratkeamattomuudesta Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Aiheet: Pysähtymisongelma Epätyhjyysongelma Rekursiiviset

Lisätiedot

Kokonaislukuoptimointi

Kokonaislukuoptimointi Kokonaislukuoptimointi Algebrallisen geometrian sovelluksia Sisältö Taustaa algebrallisesta geometriasta Gröbnerin kanta Buchbergerin algoritmi Kokonaislukuoptimointi Käypyysongelma Algoritmi ratkaisun

Lisätiedot

Ratkaisu: (b) A = x 0 (R(x 0 ) x 1 ( Q(x 1 ) (S(x 0, x 1 ) S(x 1, x 1 )))).

Ratkaisu: (b) A = x 0 (R(x 0 ) x 1 ( Q(x 1 ) (S(x 0, x 1 ) S(x 1, x 1 )))). HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 3 Ratkaisuehdotukset 1. Palataan Partakylään. Olkoon P partatietokanta ja M tästä saatu malli kuten Harjoitusten 1

Lisätiedot

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

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 13. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 13.10.2016 klo 9:42 passed waiting redo submitters

Lisätiedot

Johdatus matematiikkaan

Johdatus matematiikkaan Johdatus matematiikkaan Luento 7 Mikko Salo 11.9.2017 Sisältö 1. Funktioista 2. Joukkojen mahtavuus Funktioista Lukiomatematiikassa on käsitelty reaalimuuttujan funktioita (polynomi / trigonometriset /

Lisätiedot

Tietojenkäsittelytieteen ja tilastotieteen matematiikkaa 1/137

Tietojenkäsittelytieteen ja tilastotieteen matematiikkaa 1/137 Tietojenkäsittelytieteen ja tilastotieteen matematiikkaa 1/137 Loogiset konnektiivit Tavallisimmat loogiset konnektiivit ovat negaatio ei konjunktio ja disjunktio tai implikaatio jos..., niin... ekvivalenssi...

Lisätiedot

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: Rekursio Funktio f : N R määritellään yleensä

Lisätiedot

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja 582206 Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja 1. Seuraavissa laskennoissa tilat on numeroitu sarakkeittain ylhäältä alas jättäen kuitenkin hyväksyvä tila välistä. Turingin koneen laskenta

Lisätiedot