SAT-ongelman rajoitetut muodot

Samankaltaiset tiedostot
Polynomiset palautukset ja NP-täydellisyys

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

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

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

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

Johdatus logiikkaan I Harjoitus 4 Vihjeet

Ratkaisu: Yksi tapa nähdä, että kaavat A (B C) ja (A B) (A C) ovat loogisesti ekvivalentit, on tehdä totuustaulu lauseelle

Tehtävä 1. Päättele resoluutiolla seuraavista klausuulijoukoista. a. 1 {p 3 } oletus. 4 {p 1, p 2, p 3 } oletus. 5 { p 1 } (1, 2) 7 (4, 6)

Kirjoita käyttäen propositiosymboleita, konnektiiveja ja sulkeita propositiologiikan lauseiksi:

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

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:

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

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan

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

1.4 Funktioiden kertaluokat

-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi

Luonnollisen päättelyn luotettavuus

Algoritmit 2. Luento 13 Ti Timo Männikkö

1 Tensoriavaruuksista..

Totuusjakaumat. Totuusjakauma eli valuaatio v on kuvaus v : {p 0, p 1, p 2,...} {0, 1}. Käytämme jatkossa joukolle {0, 1} merkintää B.

T Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut

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

Insinöörimatematiikka A

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (Predikaattilogiikka )

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

Johdatus logiikkaan 1

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

Insinöörimatematiikka A

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

Induktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa. väite P(n) on totta kaikille n = 0,1,2,...

T Kevät 2006 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi

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

Tietorakenteet, laskuharjoitus 1,

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

Rekursiiviset palautukset [HMU 9.3.1]

Loogiset konnektiivit

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut

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

MATP153 Approbatur 1B Harjoitus 3, ratkaisut Maanantai

TIEA341 Funktio-ohjelmointi 1, kevät 2008

5.1 Semanttisten puiden muodostaminen

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

Konvergenssilauseita

Joukot. Georg Cantor ( )

Seuraus 4.2 Kaavajoukko Φ on ristiriidaton jos ja vain jos on olemassa kaava ϕ, jolla Φ ϕ.

Ensimmäinen induktioperiaate

Ensimmäinen induktioperiaate

1. Logiikan ja joukko-opin alkeet

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

Propositiot: Propositiot ovat väitelauseita. Totuusfunktiot antavat niille totuusarvon T tai E.

6. Approksimointialgoritmit

Konnektiivit. On myös huomattava, että vain joillakin luonnollisen kielen konnektiiveilla on vastineensa lauselogiikassa.

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

2.2.1 Ratkaiseminen arvausta sovittamalla

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

= 3 = 1. Induktioaskel. Induktio-oletus: Tehtävän summakaava pätee jollakin luonnollisella luvulla n 1. Induktioväite: n+1

8. Avoimen kuvauksen lause

4 Matemaattinen induktio

Lisää pysähtymisaiheisia ongelmia

1.1. Määritelmä. a) Termit ovat merkkijonoja, jotka muodostuvat induktiivisesti. k 1

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

1 sup- ja inf-esimerkkejä

µ-kalkyyli - monadisen toisen kertaluvun predikaattilogiikan bisimilaarisesti invariantti fragmentti

Esimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}.

LUKU 4. Pinnat. (u 1, u 2 ) ja E ϕ 2 (u 1, u 2 ) := ϕ u 2

Johdatus matematiikkaan

DIFFERENTIAALI- JA INTEGRAALILASKENTA I.1. Ritva Hurri-Syrjänen/Syksy 1999/Luennot 6. FUNKTION JATKUVUUS

Säännöllisten kielten sulkeumaominaisuudet

Todista raja-arvon määritelmään perustuen seuraava lause: Jos lukujonolle a n pätee lima n = a ja lima n = b, niin a = b.

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )

1 Ratkaisuja 2. laskuharjoituksiin

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

Tehtävä 8 : 1. Tehtävä 8 : 2

Tietojenkäsittelyteorian alkeet, osa 2

Ideaalit ja tekijärenkaat Ryhmähomomorfismin φ : G G ydin on ryhmän G normaali aliryhmä. Esko Turunen Luku 7. Ideaalit ja tekijärenkaat

Lisää kvanttoreista ja päättelyä sekä predikaattilogiikan totuustaulukot 1. Negaation siirto kvanttorin ohi

7 Vapaus. 7.1 Vapauden määritelmä

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

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

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

Logiikka I. Kaarlo Reipas 17. huhtikuuta 2012 Ψ. Tämä materiaali on vielä keskeneräinen. 1 Johdanto Mitä logiikka on?... 3

Muita vaativuusluokkia

Kompleksilukujen kunnan konstruointi

1 Lineaariavaruus eli Vektoriavaruus

Toispuoleiset raja-arvot

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

ALGORITMI- MATEMATIIKKA. Keijo Ruohonen

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

Algoritmit 2. Luento 14 To Timo Männikkö

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

4.0.2 Kuinka hyvä ennuste on?

14. Juurikunnat Määritelmä ja olemassaolo.

802320A LINEAARIALGEBRA OSA I

a) z 1 + z 2, b) z 1 z 2, c) z 1 z 2, d) z 1 z 2 = 4+10i 4 = 10i 5 = 2i. 4 ( 1)

Algoritmit 2. Luento 13 Ti Timo Männikkö

Pro Gradu. relaatioiden yli

Transkriptio:

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ä tässä A = IS, VC, HC, TSP,... tekninen ongelma: hankalaa käsitellä mielivaltaisia propositiologiikan kaavoja ratkaisu: määritellään luokka syntaktisesti yksinkertaisia kaavoja, jotka kuitenkin ovat riittävän vaikeita että SAT on NP-täydellinen myös näihin yksinkertaisiin kaavoihin rajoitettuna tarkemmin: määritellään SAT-ongelman erikoistapaus CSAT, ja edelleen tämän erikoistapaus 3SAT, joille SAT p m CSAT p m 3SAT p m SAT ja siis SAT p m A jos ja vain jos 3SAT p m A 208

Propositiologiikan kaavojen luokittelua (Jatkossa kaava tarkoittaa propositiologiikan kaavaa.) Literaali on muuttuja tai muuttujan negaatio; esim. x 7 tai x 3 Klausuuli (engl. clause) on literaalien disjunktio; esim. x 3 x 2 x 4 tai x 1 kaava on konjunktiivisessa normaalimuodossa (conjunctive normal form, CNF) jos se on klausuulien konjunktio; esim. (x 3 x 2 x 4 ) (x 7 x 3 ) x 1 CNF-kaava on k-konjunktiivisessa normaalimuodossa (k-cnf) jos jokaisessa klausuulissa on tasan k literaalia; esim. (x 3 x 2 ) (x 7 x 3 ) (x 1 x 4 ) on 2-CNF-kaava Määritellään nyt SAT-ongelman erikoistapaukset CSAT ja ksat, k = 1, 2, 3,...: CSAT = { φ φ on toteutuva CNF-kaava } ksat = { φ φ on toteutuva k-cnf-kaava } 209

Kuten pian nähdään, jokaiselle kaavalle φ(x 1,..., x n ) on olemassa CNF-kaava ψ(x 1,..., x n ) jolle φ(v 1,..., v n ) = ψ(v 1,..., v n ) kaikilla (v 1,..., v n ) { 0, 1 } n. Todetaan ensin että mikä tahansa kaava voidaan muuntaa muotoon, jossa negaatiot kohdistuvat suoraan muuttujiin, ts. ei esiinny muotoa (A B) tai (A B) olevia osakaavoja. Tämä perustuu de Morganin lakeihin ja kaksinkertaisen negaation lakiin (A B) (A) (B) (A B) (A) (B) A A. 210

Esimerkki negaatioiden painamisesta literaaleihin Lähtökohtana kaava Saadaan (x 2 ( (x 1 x 3 ) (x 3 x 4 ))). (x 2 ( (x 1 x 3 ) (x 3 x 4 ))) x 2 ( (x 1 x 3 ) (x 3 x 4 )) x 2 (x 1 x 3 ) (x 3 x 4 ) x 2 (x 1 x 3 ) ( x 3 x 4 ). 211

jotta saataisiin CNF-kaavoja pitää lisäksi painaa disjunktiot konjunktioiden sisäpuolelle tämä onnistuu osittelulakien avulla: A (B C) (A B) (A C) A (B C) (A B) (A C) Ongelma: kaavan koko voi kasvaa eksponentiaalisesti; esim. kaavan (x 1 x 2 ) (x 3 x 4 ) (x 5 x 6 ) CNF-esitys on (x 1 x 3 x 5 ) (x 1 x 3 x 6 ) (x 1 x 4 x 5 ) (x 1 x 4 x 6 ) (x 2 x 3 x 5 ) (x 2 x 3 x 6 ) (x 2 x 4 x 5 ) (x 2 x 4 x 6 ). Ratkaisu: muodostetaan ei-cnf-kaavasta φ(x 1,..., x n ) CNF-kaava ψ(x 1,..., x n, y 1,..., y m ) missä y 1,..., y m ovat uusia muuttujia ja φ(v 1,..., v n ) = 1 jos ja vain jos ψ(v 1,..., v n, v 1,..., v m ) jollain (v 1,..., v m) { 0, 1 } m 212

Seuraava rekursiivinen funktio CNF(φ) palauttaa CNF-kaavan ψ joka on toteutuva joss φ on, olettaen että kaavassa φ negaatiot kohdistuvat suoraan muuttujiin. CNF(φ): kolme tapausta kaavan φ muodon mukaan. 1. φ on literaali: palauta φ sellaisenaan. 2. φ = φ 1 φ 2 : laske ψ 1 = CNF(φ 1 ) ja ψ 2 = CNF(φ 2 ); palauta ψ = ψ 1 ψ 2. 3. φ = φ 1 φ 2 : laske ψ 1 = CNF(φ 1 ) ja ψ 2 = CNF(φ 2 ); olkoon ψ 1 = g 1 g 2... g p ψ 2 = h 1 h 2... h q missä g i ja h j ovat klausuuleja. Ota käyttöön uusi muuttujasymboli y ja palauta kaava (y g 1 )... (y g p ) ( y h 1 )... ( y h q ). 213

Esimerkki Lasketaan CNF(φ) kun φ(x 1, x 2, x 3, x 4, x 5, x 6 ) = ((x 1 x 2 ) (x 3 x 4 )) (x 5 x 6 ). Yksinkertaisyyden vuoksi tehdään laskenta alhaalta ylöspäin. Selvästi CNF(x 1 x 2 ) = x 1 x 2 ja CNF(x 3 x 4 ) = x 3 x 4. Siis CNF((x 1 x 2 ) (x 3 x 4 )) = (y x 1 ) (y x 2 ) ( y x 3 ) ( y x 4 ) missä y on uusi muuttuja. Edelleen CNF(x 5 x 6 ) = x 5 x 6 joten ottamalla käyttöön taas uusi muuttuja z saadaan CNF(φ) = ψ missä ψ(x 1, x 2, x 3, x 4, x 5, x 6, y, z) = (z y x 1 ) (z y x 2 ) (z y x 3 ) (z y x 4 ) ( z x 5 ) ( z x 6 ). Nyt esim. φ(0, 0, 1, 1, 0, 0) = 1, mitä vastaten ψ(0, 0, 1, 1, 0, 0, y, z) = 1 kun valitaan y = 1 ja z = 0. 214

Lause: Olkoon φ(x 1,..., x n ) kaava jossa negaatiot kohdistuvat suoraan muuttujiin, ja CNF(φ(x 1,..., x n )) = ψ(x 1,..., x n, y 1,..., y m ). Nyt ψ on CNF-kaava, ja φ(v 1,..., v n ) = 1 jos ja vain jos ψ(x 1,..., x n, v 1,..., v m ) = 1 joillain v i. Todistus: Induktio kaavan φ sisältämien disjunktioiden ja konjunktioiden lukumäärän suhteen. Perustapaus: ei konjunktioita eikä disjunktioita. Siis φ on literaali x i tai x j jotka sellaisenaan ovat CNF-kaavoja. Väite selvästi pätee. Induktioaskel: Oletetaan, että väite pätee kun konjunktioita ja disjunktioita on kork. n; olkoon niitä nyt n + 1. On ilmeistä että palautettavat kaavat ovat CNF-kaavoja; mielenkiintoinen puoli on niiden toteutuvuus. 215

Tapaus 1: φ(x 1,..., x n ) = φ 1 (x 1,..., x n ) φ 2 (x 1,..., x n ). Merk. CNF(φ 1 (x 1,..., x n )) = ψ 1 (x 1,..., x n, y 1,..., y r ) ja CNF(φ 2 (x 1,..., x n )) = ψ 2 (x 1,..., x n, y 1,..., y s ). Siis CNF(φ) = ψ missä ψ(x 1,..., x n, y 1,..., y r, y 1,..., y s ) = ψ 1 (x 1,..., x n, y 1,..., y r ) ψ 2(x 1,..., x n, y 1,..., y s ). Konstruktiosta seuraa että muuttujajoukot { y 1,..., y r erilliset, joten } ja { y 1,..., y s } ovat φ(v 1,..., v n ) = 1 φ 1 (v 1,..., v n ) = 1 ja φ 2 (v 1,..., v n ) = 1 ψ 1 (v 1,..., v n, y 1,..., y r ) = 1 joillain y i ja ψ 2 (v 1,..., v n, y 1,..., y r ) = 1 joillain y i (ind.ol.) ψ(v 1,..., v n, y 1,..., y r, y 1,..., y s ) = 1 joillain y i, y i (koska muuttujajoukot erilliset). 216

Tapaus 2: φ = φ 1 φ 2 (jätetään nyt selvyyden vuoksi muuttujat merkitsemättä; ne voidaan käsitellä kuten tapauksessa 1). Merk. Siis CNF(φ) = ψ missä CNF(φ 1 ) = g 1 g 2... g p CNF(φ 2 ) = h 1 h 2... h q ψ(y) = (y g 1 )... (y g p ) ( y h 1 )... ( y h q ). Jos φ = 1 niin φ 1 = 1 tai φ 2 = 1. Jos φ 1 = 1, niin g i = 1 kaikilla i, joten ψ(0) = 1. Vastaavasti jos φ 2 = 1, niin ψ(1) = 1. Kummassakin tapauksessa ψ(y) on siis toteutuva. Kääntäen jos ψ(y) on toteutuva, niin ψ(0) = 1 tai ψ(1) = 1, jolloin φ 1 = 1 tai φ 2 = 1. 217

Olkoon f seuraava funktio, joka saa argumenttina mielivaltaisen kaavan φ ja palauttaa CNF-kaavan ψ: 1. Muunna de Morganin ja kaksinkertaisen negaation lakeja käyttäen φ yhtäpitäväksi kaavaksi φ jossa negaatiot kohdistuvat suoraan muuttujiin. 2. Palauta ψ = CNF( φ). Vaihe 1 toimii selvästi polynomisessa ajassa. Myös CNF( φ) voidaan laskea polynomisessa ajassa (ks. alla) joten f voidaan laskea polynomisessa ajassa. Olemme myös nähneet että φ on toteutuva jos ja vain jos ψ on, eli φ SAT joss f(φ) CSAT. Siis SAT p m CSAT. Koska SAT on NP-täydellinen ja CSAT NP, seuraa erityisesti Korollaari CSAT on NP-täydellinen. 218

Funktion CNF aikavaativuusanalyysi Olkoon T (n) kutsun CNF( φ) aikavaativuus kun kaavassa φ on n konjunktioja disjunktiosymbolia. Huomaa että kaavan kokonaispituus on Θ(n). Selvästi Tapauksessa n > 1 voidaan kirjoittaa T (n) a jollain vakiolla a. T (n) T (i) + T (n i 1) + bn missä T (i) ja T (n i 1) ovat rekursiivisten kutsujen CNF( φ 1 ) ja CNF( φ 2 ) suoritusajat ja bn kaikkeen muuhun kuluva aika (b vakio). (Huomaa että yhtä lukuunottamatta kaikki kaavan φ symbolit menevät joko kaavoihin φ 1 ja φ 2.) 219