Logika és számításelmélet. 11. előadás

Hasonló dokumentumok
Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Algoritmusok bonyolultsága

Logika és számításelmélet

Deníciók és tételek a beugró vizsgára

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 12.

Bonyolultságelmélet. Monday 10 th October, 2016, 17:44

Logika és számításelmélet. 10. előadás

Logika és számításelmélet. 12. előadás

Bonyolultságelmélet gyakorlat 06 Gráfos visszavezetések II.

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára

Az informatika elméleti alapjai 2 elővizsga december 19.

Diszkrét matematika 2. estis képzés

10. Előadás P[M E ] = H

Ramsey-féle problémák

Számításelmélet. Második előadás

Gráfok csúcsszínezései

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT augusztus 16.

Diszkrét matematika 2.C szakirány

Gráf csúcsainak színezése. The Four-Color Theorem 4 szín tétel Appel és Haken bebizonyították, hogy minden térkép legfeljebb 4 színnel kiszínezhető.

AZ INFORMATIKA LOGIKAI ALAPJAI

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. Friedl Katalin BME SZIT március 18.

A logikai következmény

KOMBINATORIKA ElŐADÁS Matematika BSc hallgatók számára. Klikkek gráfokban-1. Definíció. Egy G gráfban egy K V(G) csúcshalmazt klikknek nevezünk, ha K

Modern irányzatok a bonyolultságelméletben: éles korlátok és dichotómia tételek

Bevezetés a bonyolultságelméletbe gyakorlatok I. A(0, y) := y + 1 y 0 A(x, 0) := A(x 1, 1) x 1 A(x, y) := A(x 1, A(x, y 1)) x, y 1

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

NP-teljesség röviden

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2. estis képzés

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

Ramsey tétele(i) gráfokra

Nagyordó, Omega, Theta, Kisordó

Algoritmusok bonyolultsága

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 11. Előadás

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Diszkrét matematika 2.C szakirány

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 6. Előadás

Logika es sz am ıt aselm elet I. r esz Logika M asodik el oad as 1/26

Számításelmélet. Will június 13. A kiszámíthatóság fogalma és a Church-Turing tézis

Diszkrét matematika 2.

Diszkrét matematika 1. estis képzés

Diszkrét Matematika MSc hallgatók számára 7. Előadás Párosítási tételek Előadó: Hajnal Péter Jegyzetelő: Kovácsházi Anna

Diszkrét matematika 1. estis képzés

Az állítást nem bizonyítjuk, de a létezést a Paley-féle konstrukció mutatja: legyen H a

Diszkrét matematika 2.

Szabályos gráfok paraméterei

Logika es sz am ıt aselm elet I. r esz Logika Hatodik el oad as 1/33

Gráfelmélet jegyzet 2. előadás

Diszkrét matematika 2.

Diszkrét matematika 2. estis képzés

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

Diszkrét matematika 2.C szakirány

Feladatok, amelyek gráfokkal oldhatók meg 1) A königsbergi hidak problémája (Euler-féle probléma) a

Érdemes egy n*n-es táblázatban (sorok-lányok, oszlopok-fiúk) ábrázolni a két színnel, mely éleket húztuk be (pirossal, kékkel)

Alternáló utak és szeparált párosítások

Gráfok színezése Diszkrét matematika 2009/10 sz, 9. el adás

Diszkrét matematika 2. estis képzés

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

SzA X/XI. gyakorlat, november 14/19.

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

Diszkrét matematika 2.

Logika kiskáté. Mihálydeák Tamás és Aszalós László

LOGIKA ÉS SZÁMÍTÁSELMÉLET KIDOLGOZOTT JEGYZET

Logika kiskáté. Mihálydeák Tamás és Aszalós László

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

SzA II. gyakorlat, szeptember 18.

Algoritmuselmélet 12. előadás

Logika és számításelmélet Készítette: Nagy Krisztián

10. előadás. Konvex halmazok

Logika és számításelmélet. 7. előadás

Diszkrét matematika I. gyakorlat

Logika és számításelmélet. 7. előadás

Bonyolultságelmélet. Monday 26 th September, 2016, 18:27. Bonyolultságelmélet

1. tétel - Gráfok alapfogalmai

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára. Ramsey-gráfok

Diszkrét matematika I.

Logikai szita (tartalmazás és kizárás elve)

Diszkrét matematika 2.

Bonyolultságelmélet feladatok

Formális nyelvek - 9.

Gráfalgoritmusok ismétlés ősz

A digitális számítás elmélete

Halmazrendszerek alapvető extremális problémái. 1. Sperner-rendszerek és Sperner-tétel

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

Waldhauser Tamás december 1.

Fazakas Tünde: Ramsey tételéről

Diszkrét matematika I.

Bevezetés a számításelméletbe II. Zárthelyi feladatok április 23.

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

KOMBINATORIKA ELŐADÁS osztatlan matematikatanár hallgatók számára

Átírás:

Logika és számításelmélet 11. előadás

NP-teljesség Emlékeztetőül: NP-teljes nyelv Egy L probléma NP-teljes (a polinom idejű visszavezetésre nézve), ha L NP L NP-nehéz, azaz minden L NP esetén L p L. Azaz az NP-teljes problémák (ha vannak) az NP-beli problémák legnehezebbjei. Egyikre sem ismeretes polinomiális algoritmus és nem túl valószínű, hogy valaha is lesz ugyanis láttuk, hogy elég egyetlen NP-teljes problémáról bizonyítani, hogy P-beli, ez implikálná, hgy P=NP. Van-e NP-teljes probléma egyáltalán? SAT= { ϕ ϕ kielégíthatő nulladrendű KNF} Tétel (Cook) SAT NP-teljes.

Cook tétel bizonyítás Bizonyítás: SAT NP: Adott egy ϕ input. Egy NTG egy számítási ágán polinom időben előállít egy I interpretációt. Majd szintén polinom időben ellenőrzi, hogy ez kielégíti-e ϕ-t. SAT NP-nehéz: ehhez kell, L p SAT, minden L NP-re. Legyen M = Q, Σ, Γ, δ, q 0, q i, q n egy L-et eldöntő p(n) polinom időkorlátos NTG. (Feltehető, hogy p(n) n.) Legyen továbbá w = a 1 a n Σ egy szó. M segítségével megadunk egy polinom időben előállítható ϕ w nulladrendű KNF formulát, melyre w L ϕ w SAT. M egy számítása w-n leírható egy T táblázattal, melynek első sora # p(n) C 0 p(n) n #, ahol C 0 = q 0 w M kezdőkonfigurációja w-n T egymást követő két sora M egymást követő két konfigurációja (elegendő -el kiegészítve, elején és a végén egy #-el). Minden sor 2p(n) + 3 hosszú.

Cook tétel bizonyítás (folyt.) p(n) + 1 sor van. Ha hamarabb jut elfogadó konfigurációba, akkor onnantól kezve ismételjük meg az elfogadó konfigurációt. kezdőkonf. # q 0 a 1 a n # 1. konf. # # 2. konf. # # # # # #. # # # # # # p(n). konf. # # 2p(n) + 3 oszlop a konfigurációátmenet definíciója miatt bármely két sor közötti különbség belefér egy 2x3-as "ablakba" T magassága akkora, hogy minden, p(n) lépéses átmenetet tartalmazhasson. A -ek számát ( T szélességét) pedig úgy, hogy az ablakok biztosan "ne eshessenek le" egyik oldalon se. p(n) + 1 sor

Cook tétel bizonyítás (folyt.) ϕ w ítéletváltozói X i, j,s alakúak, melynek jelentése: T i-ik sorának j-ik cellájában az s szimbólum van, ahol s = Q Γ {#}. ϕ w a w bemenetre M minden lehetséges legfeljebb p(n) lépésű működését leírja. Felépítése: ϕ w = ϕ 0 ϕ start ϕ move ϕ accept. ϕ 0 akkor és csak akkor legyen igaz, ha minden cellában pontosan 1 betű van: ϕ 0 := X i, j,s ( ) Xi, j,s X i, j,t 1 i p(n)+1 1 j 2p(n)+3 s s,t,s t ϕ start akkor és csak akkor legyen igaz, ha T első sora a -okkal és #-ekkel a fent említett módon adott hosszúságúra kiegészített kezdőkonfiguráció. ϕ start := X 1,1,# X 1,2, X 1,2p(n)+2, X 1,2p(n)+3,#

Cook tétel bizonyítás (folyt.) ϕ move akkor és csak akkor legyen igaz, ha minden ablak legális, azaz δ szerinti átmenetet ír le: ahol ψ i, j (b 1,...,b 6 ) legális ablak ϕ move := 1 i p(n) 2 j 2p(n)+2 ψ i, j, X i, j 1,b1 X i, j,b2 X i, j+1,b3 X i+1, j 1,b4 X i+1, j,b5 X i+1, j+1,b6 b 1 b 2 b 3 b 4 b 5 b 6 De: ψ i, j nem elemi diszjunkció!!! Ezért e helyett: ψ i, j := (b 1,...,b 6 ) illegális ablak X i, j 1,b1 X i, j,b2 X i, j+1,b3 X i+1, j 1,b4 X i+1, j,b5 X i+1, j+1,b6

Cook tétel bizonyítás (folyt.) végezetül: ϕ accept akkor és csak akkor legyen igaz, ha az utolsó sorban van q i -t: ϕ accept = 2p(n)+2 j=2 X p(n)+1, j,qi. w L az M NTG-nek van w-t elfogadó számítása T kitölthető úgy, hogy φ w igaz φ w kielégíthető ϕ w SAT, hány literált tartalmaz a ϕ w formula? Legyen k =. φ 0 : (p(n) + 1)(2p(n) + 3)(k + k(k 1)) = O(p 2 (n)), ϕ start : 2p(n) + 3 = O(p(n)), ϕ move : p(n)(2p(n) + 1)k 6 6 = O(p 2 (n)), ϕ accept : 2p(n) + 1 = O(p(n)), azaz ϕ w O(p 2 (n)) méretű, így polinom időben megkonstruálható tehát w ϕ w pol. idejű visszavezetés, így L p SAT. Ez tetszőleges L NP nyelvre elmondható. Így SAT NP-nehéz. Mivel NP-beli, ezért NP-teljes is.

További NP-teljes problémák, ksat Tétel Ha L NP-teljes, L p L és L NP, akkor L NP-teljes. Bizonyítás: Legyen L NP tetszőleges. Mivel L NP-teljes, ezért L p L. Mivel a feltételek szerint L p L, ezért a polinom idejű visszavezetések tranzitívitása miatt (p 1 (p 2 (n)) is polinom!) L NP-nehéz. Ebből és a 3. feltételből kövezkezik az állítás. Tehát polinom idejű visszavezetéssel további nyelvek NP-teljessége bizonyítható. ksat={ ϕ ϕ kielégíthető KNF és minden tagban pontosan k különböző literál van}. Az ilyen formulákat kknf-nek nevezzük a továbbiakban.

3SAT NP-teljessége Tétel 3SAT NP-teljes. 3SAT NP-beli: lásd SAT SAT p 3SAT Kell f : ϕ ϕ, ϕ KNF, ϕ 3KNF, ϕ kielégíthető ϕ kielégíthető, f polinom időben kiszámolható. ϕ ϕ : l l X Y, l X Y, l X Y, l X Y l 1 l 2 l 1 l 2 X, l 1 l 2 X l 1 l 2 l 3 l 1 l 2 l 3 l 1 l 2 l 3 l 4 l 1 l 2 X, X l 3 l 4 l 1 l n (n 5) l 1 l 2 X 1, X 1 l 3 X 2,..., X n 2 l n 1 l n X, Y, X 1,..., X n 2 új ítéletváltozók. ϕ ezek konjunkciója. Megjegyzés: HORNSAT: mint SAT, de klózonként max. 1 pozitív literál lehet. HORNSAT és 2SAT P.

3 színezhetőség Egy gráf k-színezhető, ha csúcsai k színnel színezhetők úgy, hogy a szomszédos csúcsok színei különbözőek. 3Színezés={ G G 3-színezhető} Tétel 3Színezés NP-teljes. 3Színezés NP-beli: egy NTG számítási ágai színezzék ki a gráfot. Egy konkrét színezésről ellenőrizni, hogy helyes-e polinom időben megtehető. 3SAT p 3Színezés Elegendő minden ϕ 3KNF formulához polinom időben elkészíteni egy G ϕ gráfot úgy ϕ kielégíthető G ϕ 3 színezhető.

3 színezhetőség Legyenek X 1,..., X n a ϕ-ben előforduló ítéletváltozók. Továbbá ϕ = C 1... C m, azaz C 1,... C m ϕ pontosan 3 literálból álló klózai. G ϕ konstrukciója: X 1 X 2 X 3 X 4 X 5 X n A B X 1 X 2 X 3 X 4 X 5 X n C 1 i C 2 i C 3 i C 4 i C 1 j C 2 j C 3 j C 4 j Pl. C i = X 1 X 3 X 4 C 5 i Pl. C j = X 4 X 5 X n Minden klózhoz tartozik egy ötszög a fenti módon. C 5 j

3 színezhetőség Lemma: Legyen G 0 az alábbi gráf és tegyük fel, hogy az X, Y, Z, B csúcsokat 2 színnel kiszíneztük. Akkor és csak akkor létezik ehhez a parciális színezéshez az egész G 0 -ra kiterjeszthető 3-színezés, ha X, Y, Z, B nem mind egyszínű. G 0 X Y Z 1 2 3 4 5 B A lemma bizonyítása: Ha X, Y, Z, B egyszínű, akkor a maradék 2 színnel kéne az ötszöget kiszínezni, amit nem lehet. Egyébként megadunk egy színezést. 1. lépés: első körben csak 2 színt használunk, 1,2,3,4,5-öt színezzük az {X, Y, Z, B}-beli szomszédjával ellentétes színűre.

3 színezhetőség Ez persze még nem jó, mert 1,2,3,4,5 között lehetnek azonos színű szomszédok. 2. lépés: bevetjük a 3. színt: ha 1,2,3,4,5 között van ciklikusan, az óramutató járása szerint valahány egymás utáni egyszínű csúcs, akkor minden párosadikat színezzük át a 3. színre. A visszavezetés bizonyítása: Tegyük fel hogy ϕ kielégíthető, ekkor meg kell adnunk G ϕ egy 3-színezését. Legyenek a színek piros, zöld és kék. Ha X i igaz, akkor legyen az X i csúcs zöld, az X i csúcs piros. Ha hamis, akkor épp fordítva. A legyen kék és B legyen piros. Mivel minden klóz ki van elégítve, így minden ötszöghöz van zöld (az igaz literál) és piros szomszéd (B) is, így a lemma miatt a színezés minden ötszögre kiterjeszthető.

3 színezhetőség Tegyük fel most, hogy G ϕ ki van színezve 3 színnel. Ámnfth. A kék. Mivel X 1,..., X n, X 1,..., X n mind A szomszédai, így egyikük se lehet kék. Továbbá az (X i, X 1 ) párok össze vannak kötve, így minden párban pontosan egy piros és pont egy zöld csúcs van. Ámnfth. B piros (a zöld eset analóg). Mivel az ötszögek ki vannak színezve, ezért a lemma miatt minden ötszögnek van zöld szomszédja. Az "X i :=igaz X i csúcs zöld" interpretáció tehát kielégíti ϕ-t. Tehát beláttuk, hogy ϕ G ϕ visszavezetés. Mivel G ϕ ϕ ismeretében az input méretének polinomja időben legyártható, ezért a visszavezetés polinom idejű. Mivel 3SAT NP-teljes korábbi tételünk miatt 3Színezés is az. Megjegyzés: 2Színezés P

3 irányítatlan gráfokkal kapcsolatos probléma Az alábbi nyelvek esetén G egyszerű, irányítatlan gráf k pedig egy nemnegatív egész. G egy teljes részgráfját klikknek, egy üres részgráfját független ponthalmaznak mondjuk. Klikk={ G, k G-nek van k méretű klikkje} Független ponthalmaz= { G, k G-nek van k méretű független ponthalmaza} Legyen S V(G) és E E(G). Ha S E, akkor a csúcshalmaz lefogja E-t. Ha S minden E E(G) élt lefog, akkor S egy lefogó ponthalmaz. [Megjegyzés: Lefogó ponthalmaz a Gazdag jegyzetben csúcslefedés néven szerepel] Lefogó ponthalmaz={ G, k G-nek van k méretű lefogó ponthalmaza} Ha G-nek van k méretű klikkje/független ponthalmaza, akkor bármely kisebb k-ra is van. Ha van k méretű lefogó ponthalmaz, akkor bármely nagyobb k-ra is van (k V(G) ).

Független ponthalmaz Tétel Klikk,Független ponthalmaz,lefogó ponthalmaz NP-teljes. Egy NTG egy számítási ágán vizsgáljon meg egy k elemű ponthalmazt. Mindhárom esetben az ellenőrzés polinomiális. 3SAT p Független csúcshalmaz Kell: f : ϕ (G ϕ, k), ϕ 3KNF, G ϕ -ben van k független akkor és csak akkor ha ϕ kielégíthető. (G ϕ, k) konstrukciója: minden egyes L 1 L 2 L 3 klózhoz vegyünk fel egy a többitől diszjunkt háromszöget, a csúcsokhoz rendeljük hozzá a literálokat. Így m darab klóz esetén 3m csúcsot kapunk. Kössük össze éllel ezen felül a komplemens párokat is. k := m.

Független ponthalmaz Egy példa: X 4 X 2 X 1 X 1 X 2 X 1 X 5 X 2 X 3 X 1 X 2 X 4 X 1 X 2 X 5 X 1 X 2 X 3 * Ha ϕ kielégíthető, akkor minden klózban van kielégített literál, válasszunk klózonként egyet, ezeknek megfelelő csúcsok m elemű független csúcshalmazt alkotnak. * Ha G ϕ -ben van m független csúcs, akkor ez csak úgy lehet, ha háromszögenként 1 van. Vegyünk egy ilyet, ezen csúcsoknak megfelelő literálok között nem lehet komplemens pár, hiszen azok össze vannak kötve. Így a független halmaznak megfelelő, (esetleg csak parciális) interpretáció kielégít minden klózt. Ha nincs minden változó kiértékelve, egészítsük ki tetszőlegesen egy interpretációvá.

Klikk,Lefogó ponthalmaz Független ponthalmaz p Klikk f : (G, k) (Ḡ, k) Ez jó visszavezetés, mert ami G-ben klikk az Ḡ-ban független ponthalmaz és viszont. Független ponthalmaz p Lefogó ponthalmaz f : (G, k) (G, V(G) k) Ha G-ben van k méretű F független ponthalmaz, akkor van V(G) k méretű lefogó ponthalmaz (F komplementere). Ha G-ben van V(G) k méretű L lefogó ponthalmaz, akkor van k méretű független ponthalmaz (L komplementere). Mindkét visszavezetés polinom időben kiszámítható. független lefogó

Lefogó ponthalmaz hipergráfokban S egy hipergráf (vagy halmazrendszer), ha S = {A 1,..., A n }, ahol A i U, (1 i n) valamely U alaphalmazra. H U egy lefogó ponthalmaz, ha 1 i n : H A i. Hipergráf lefogó ponthalmaz={ S, k S egy hipergráf és S-hez van k elemű lefogó ponthalmaz}. Tétel Hipergráf lefogó ponthalmaz NP-teljes. Bizonyítás: Hipergráf lefogó ponthalmaz NP-beli, hiszen polinom időben ellenőrizhető, hogy U egy részhalmaza minden S-beli halmazt metsz-e. Lefogó ponthalmaz a Hipergráf lefogó ponthalmaz speciális esete, hiszen a gráf a hipergráf speciális esete: egy gráf éleire úgy gondolunk, mint 2-elemű halmazokra, így a gráf éleinek halmaza egy hipergráf. (A visszavezetés az identikus leképezés. U := V(G), S := E(G), k ugyanaz). [Megjegyzés: a Gazdag jegyzetben Hitting set]