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.

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. 12.

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

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

Algoritmusok bonyolultsága

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

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.

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

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

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

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

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

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

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

Algoritmuselmélet 18. előadás

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

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

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

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

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

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

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

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

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

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

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

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

Sali Attila Budapest Műszaki és Gazdaságtudományi Egyetem. I. B. 137/b március 16.

Ramsey-féle problémák

A számítástudomány alapjai

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

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

Diszkrét matematika 2.C szakirány

Gráfalgoritmusok ismétlés ősz

Diszkrét matematika 2.C szakirány

Totális Unimodularitás és LP dualitás. Tapolcai János

Közösségek keresése nagy gráfokban

Gráfok csúcsszínezései

Diszkrét matematika 2.C szakirány

Csima Judit október 24.

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

Algoritmuselmélet 11. előadás

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

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

Algoritmusok bonyolultsága

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

Általános algoritmustervezési módszerek

Diszkrét matematika 2.

Algoritmuselmélet zárthelyi (BSc képzés) április 24.

Véges automaták, reguláris nyelvek

Adatbázisok elmélete 12. előadás

Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3

1. Tétel - Az ítéletkalkulus alapfogalmai

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

Számítógép és programozás 2

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

Approximációs algoritmusok

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

HAMILTON ÚT: minden csúcson PONTOSAN egyszer áthaladó út

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

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Szemidenit optimalizálás és az S-lemma

Logika és informatikai alkalmazásai

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

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

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

1. tétel - Gráfok alapfogalmai

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

Logika és informatikai alkalmazásai

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 3. Előadás

Algoritmuselmélet vizsga zárthelyi dolgozat április 8.

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.C szakirány

3. Lineáris differenciálegyenletek

Algoritmuselmélet 7. előadás

Megoldások 7. gyakorlat Síkgráfok, dualitás, gyenge izomorfia, Whitney-tételei

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

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

SzA II. gyakorlat, szeptember 18.

Hasonlósági keresés molekulagráfokon: legnagyobb közös részgráf keresése

KÖZELÍTŐ ALGORITMUSOK

Gráfelméleti alapfogalmak

NP-teljesség röviden

Algoritmusok bonyolultsága

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

Gráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa:

Bevezetés a számításelméletbe (MS1 BS)

ELTE IK Esti képzés tavaszi félév. Tartalom

Az optimális megoldást adó algoritmusok

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

Algoritmuselmélet 12. előadás

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

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

Diszkrét matematika 2.

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.

KOVÁCS BÉLA, MATEMATIKA I.

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Átírás:

Algoritmuselmélet NP-teljes problémák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 13. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 1 / 27 Karp-redukció Mikor nem lényegesen nehezebb egy X probléma egy Y problémánál? Ha Y felhasználásával meg lehet oldani X-et is. = X visszavezethető a Y problémára. Definíció Legyen X és Y két eldöntési probléma. Az X Karp-redukciója (polinomiális visszavezetése) az Y problémára egy olyan polinom időben számolható f függvény, amely X minden lehetséges bemenetéhez hozzárendeli Y egy lehetséges bemenetét úgy, hogy x X f (x) Y. Jelölés: X Y, ha X-nek van Karp-redukciója Y -re. Ha tehát van algoritmusunk Y eldöntésére = x X-re kiszámítjuk f (x)-et, eldöntjük f (x) Y? = tudjuk, hogy x X igaz-e. Ha tudnánk, hogy X nehéz, és tudjuk, hogy X Y = Y is nehéz lenne. Ha Y könnyű, és X nem lényegesen nehezebb nála, akkor X is könnyű. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 2 / 27

Irányított Hamilton-kör probléma (IH) IH H. G = (V, E) egy irányított gráf G = (V, E ) irányítatlan gráf hogy G gyorsan megépíthető és G-ben irányított Hamilton-kör G -ben irányítatlan Hamilton-kör. V = {v be, v, v ki v V }, E = {(v be, v ), (v, v ki ) v V } {(u ki, v be ) u v E}. u v u be u v be v u ki v ki v(g) = n, e(g) = e = v(g ) = 3n, e(g ) = 2n + e = O(n + e) lépésben megkapható. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 3 / 27 G-beli F irányított Hamilton-körének megfelel G egy F Hamilton-köre. u v u be u v be v u ki v ki Az F egy u v éle az F -ben az u u ki v be v út. Ezért G IH = G H Ha G -ben van egy F E Hamilton-kör = egy u -ból indulva egy u ki felé lépjünk először = csak u u ki v be v alakú lehet utána = ez az út megfelel G-ben egy u -> v élnek. Ezt tovább folytatva Hamilton-kört kapunk G-ben. Ezért G H = G IH. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 4 / 27

A Karp-redukció tulajdonságai 1. Ha X Y és Y P, akkor X P. 2. Ha X Y és Y NP akkor X NP. 3. Ha X Y, akkor X Y 4. Ha X Y és Y conp, akkor X conp. 5. Ha X Y és Y NP conp, akkor X NP conp. 6. Ha X Y és Y Z, akkor X Z. Legyen f az X Karp-redukciója Y -re, ahol f c 1 n k időben számolható. x egy bemenet, melyről szeretnénk eldönteni, hogy x X teljesül-e, n az x hossza. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 5 / 27 1.: Kiszámítjuk f (x)-et időigénye c 1 n k = f (x) c 1 n k. Y felismerő algoritmusával c 2 f (x) l időben eldöntjük, hogy f (x) Y igaz-e. időigénye c 2 (c 1 n k ) l x X f (x) Y = összidő O(n kl ) 2.: Az f (x) Y tény egy t tanúja jó x X tanújának is, és az Y -hoz tartozó T tanúsító algoritmus egy kis módosítással jó lesz az X tanúsító algoritmusának is. T az (x, t) bemenetre először kiszámítja f (x)-et, majd az (f (x), t) párra alkalmazza T -t. Ha az eredmény IGEN, akkor legyen T eredménye is IGEN, különben pedig NEM. t = O( f (x) c ) = t = O(n kc ) T lépésszáma, ha T lépésszáma O(( y + t ) l ): O(n k ) + O(( f (x) + t ) l ) = O(n k ) + O( f (x) cl ) = O(n kcl ). Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 6 / 27

3.: X-nek egy Karp-redukciója Y -ra egyben egy Karp-redukció X-ről Y -re, hiszen x X f (x) Y ugyanaz, mint x / X f (x) / Y 4.: = 2.,3. 5.: = 2.,4. 6.: Legyen f az X Y függvénye, ami O(n k ) időben számolható és g az Y Z függvénye, ami O(n l ) időben számolható. Az X Z függvénye g(f (x)) lesz, ami O((n k ) l ) = O(n kl ) időben számolható. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 7 / 27 NP-teljes problémák Definíció Az X eldöntési probléma NP-nehéz, ha tetszőleges (azaz minden) X NP probléma esetén létezik X X Karp-redukció. Az X eldöntési probléma NP-teljes, ha X NP és X NP-nehéz. Egy NP-teljes probléma tehát legalább olyan nehéz, mint bármely más NP-beli probléma. Ha egy ilyen problémáról kiderülne, hogy P-beli (conp-beli), akkor ugyanez igaz lenne minden NP-beli problémára. Van-e NP-teljes probléma? Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 8 / 27

Boole-formulák Definíció Az f : {0, 1} n {0, 1} függvényeket n-változós Boole-függvényeknek vagy Boole-formuláknak hívjuk. Minden Boole-függvény felírható az x 1,..., x n Boole-változók, az,, logikai műveletek és zárójelek segítségével. Pl. Boole-formula: Φ = (x 1 x 2 x 5 ) (( x 3 x 2 (x 6 x 1 )) (x 5 x 6 )) Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 9 / 27 Boole-formulák Definíció Egy Boole-formula kielégíthető, ha lehet úgy értékeket adni a változóinak, hogy a függvény értéke 1 legyen. Pl. Φ(x 1, x 2 ) = (x 1 x 2 ) ( x 1 x 2 ) kielégíthető, mert ha x 1 = 1 és x 2 = 0, akkor Φ(x 1, x 2 ) = 1 De pl. (x 1 x 1 ) nyilván nem kielégíthető. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 10 / 27

Cook Levin-tétel Van-e NP-teljes probléma? Definíció SAT probléma: Bemenet: Φ Boole-fomula Kérdés: Kielégíthető-e Φ? (S. A. Cook, L. Levin, 1971) A SAT probléma NP-teljes. Bizonyítás elég bonyolult. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 11 / 27 További NP-teljes feladatok Ha az X probléma NP-teljes, Y NP és X Y, akkor Y is NP-teljes. Láttuk, hogy a Karp-redukció tranzitív. = Ha X Y és Z X teljesül Z NP problémára. = Z Y teljesül Z NP problémára. = Y NP-nehéz. Mivel Y NP is = Y NP-teljes. Nem kell már minden NP-beli problémát az Y -ra redukálni; elég ezt megtenni egyetlen NP-teljes X problémával. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 12 / 27

A 3-SZÍN probléma A 3SZÍN probléma NP-teljes. Már láttuk, hogy NP, belátható, hogy SAT 3SZÍN. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 13 / 27 Maximális méretű független pontrendszer gráfokban MAXFTLEN Bemenet: G gráf, k Z +. Kérdés: Van-e G-nek k elemű független csúcshalmaza? A MAXFTLN nyelv NP-teljes. MAXFTLEN NP: tanú egy k-elemű S V (G) független csúcshalmaz. Megadunk egy 3SZÍN MAXFTLEN Karp-redukciót: G (G, k ) G 3SZÍN (G, k ) MAXFTLEN Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 14 / 27

G megadása: Vegyük G három másolatát (G (1), G (2), G (3) ), minden csúcs három példányát összekötjük. V (G ) = 3 V (G) és E(G ) = 3 V (G) + 3 E(G), legyen k = V (G). G (1) G (2) G (3) Ha G színezhető 3 színnel = G is = a piros pontok halmaza G -ben független és V (G) van belőlük. Ha G -ben van V (G) független, akkor legyen S egy ilyen ponthalmaz G -ben. = Minden G-beli x pontnak pontosan 1 példányát tartalmazza S. = Az x pont legyen sárga / piros / zöld, ha ez a példány G (1) -ben / G (2) -ben / G (3) -ban van. = ez jó színezés G-ben. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 15 / 27 Maximális méretű klikk MAXKLIKK Bemenet: G gráf, k Z +. Kérdés: Van-e G-ben k pontú teljes részgráf (k-klikk)? A MAXKLIKK nyelv NP-teljes. MAXKLIKK NP: tanú egy k-elemű S V (G) teljes részgráf. Megadunk egy MAXFTLEN MAXKLIKK Karp-redukciót: f (G, k) = (G, k) (független ponthalmaz a komplementerben teljes gráf). Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 16 / 27

Részgráf izomorfia probléma RÉSZGÁFIZO Bemenet: G, H gráfok. Kérdés: Van-e G-ben H-val izomorf részgráf? A RÉSZGRÁFIZO nyelv NP-teljes. RÉSZGRÁFIZO NP: tanú egy részgráf és annak izomorfiája H-val. Megadunk egy MAXKLIKK RÉSZGRÁFIZO Karp-redukciót: f (G, k) = (G, K k ). Ha X NP-nehéz és Y általánosítása X-nek, akkor Y is NP-nehéz. = RÉSZGRÁFIZO speciális esete a MAXKLIKK-nek = NP-nehéz. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 17 / 27 Gráf izomorfia probléma GRÁFIZO Bemenet: G, H gráfok. Kérdés: Igaz-e, hogy G és H izomorfak? A GRÁFIZO nyelv NP-beli. Tanú egy izomorfia a két gráf között. Nem ismert, hogy a GRÁFIZO NP-nehéz-e és az sem, hogy P-beli-e. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 18 / 27

Hamilton-kör probléma A H nyelv NP-teljes. Már láttuk, hogy H NP. Belátható, hogy SAT H. (bonyolult) Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 19 / 27 Hamilton-út probléma Az H-ÚT nyelv NP-teljes. H-ÚT NP, mert egy Hamilton-út tanú. Belátjuk, hogy H H-ÚT. G f(g) v v v G-ben akkor és csak akkor van Hamilton-kör, ha f (G)-ben van Hamilton-út. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 20 / 27

A Hátizsák feladat Hátizsák feladat: Adottak tárgyak s 1,..., s m > 0 súlyai, ezek v 1,..., v m > 0 értékei, valamint a b megengedett maximális összsúly. Tegyük fel, hogy az s i, v i, b számok egészek. A feladat az, hogy találjunk egy olyan I {1,.., m} részhalmazt, melyre i I s i b, és ugyanakkor i I v i a lehető legnagyobb. = HÁT Lemma HÁT NP Bemenet: s 1,..., s m ; v 1..., v m ; b; k. Kérdés: Van-e olyan I {1,..., m} melyre i I s i b és i I v i k? Vegyük azt a speciális esetet, amikor s i = v i és b = k. = Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 21 / 27 A Részhalmaz összeg probléma RH Bemenet: (s 1,..., s m ; b). Kérdés: Van-e olyan I {1,..., m} melyre i I s i = b? Az RH nyelv NP-teljes. RH NP. Belátható, hogy SAT RH. Speciális eset: Partíció feladat: ahol b = 1 2 si. PARTÍCIÓ Bemenet: (s 1,..., s m ). Kérdés: Van-e olyan I {1,..., m} melyre i I s i = 1 2 m i=1 s i? Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 22 / 27

A Partíció probléma A PARTÍCIÓ probléma NP-teljes. Partíció NP. Belátjuk, hogy RH Partíció, pedig RH általánosabb! Vegyük az RH egy x = (s 1,..., s m ; b) inputját. = Feltehető, hogy b s = m i=1 s i. f (x) = (s 1,..., s m, s + 1 b, b + 1). A számok összege 2s + 2, az utolsó két szám nem lehet egy partíció ugyanazon osztályában, mert az összegük túl nagy: s + 2 > 1 2 (2s + 2). RH-nak megoldása az R {s 1,..., s m } számhalmaz a megoldáshoz vegyük hozzá (s + 1 b)-t PARTÍCIÓ-nak megoldása az R {s + 1 b} számhalmaz. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 23 / 27 A Lineáris Programozás probléma LP Bemenet: Az x 1, x 2,..., x m változókat tartalmazó lineáris egyenlőtlenségek. Kérdés: Vannak-e olyan x 1, x 2,..., x m számok, amelyek kielégítik az összes egyenlőtlenséget? Optimalizációs változat: Mekkora max(c 1 x 1 +... + c m x m ), ha x 1, x 2,..., x m kielégíti az egyenlőtlenségeket? y y x + 11 y 2x + 3 max(x + 3y) y 1 x 2 x Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 24 / 27

A Lineáris Programozás probléma A Lineáris Programozás probléma P-ben van. Legjobb algoritmus (Karmarkar): v 3,5 e, ahol v a változók száma, e az egyenletek összmérete. Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 25 / 27 Az Egészértékű Lineáris Programozás probléma IP Bemenet: Az x 1, x 2,..., x m változókat tartalmazó lineáris egyenlőtlenségek. Kérdés: Vannak-e olyan x 1, x 2,..., x m egészek, amelyek kielégítik az összes egyenlőtlenséget? Optimalizációs változat: Mekkora max(c 1 x 1 +... + c m x m ), ha x 1, x 2,... x m kielégíti az egyenlőtlenségeket és mindegyik egész? y y x + 11 y 2x + 3 max(x + 3y) y 1 x 2 x Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 26 / 27

Az Egészértékű Lineáris Programozás probléma Az IP probléma NP-teljes. IP NP: tanú egy megoldás, (bár nehéz belátni, hogy a megoldás polinom méretű!) Belátjuk, hogy SAT IP (x 1 x 2 x 5 ) (x 2 x 3 x 6 ) ( x 2 x 3 x 5 x 6 ) = 0 x 1 1; 0 x 2 1;... ; 0 x 6 1 x 1 + (1 x 2 ) + x 5 1 x 2 + (1 x 3 ) + x 6 1 (1 x 2 ) + x 3 + x 5 + (1 x 6 ) 1 Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. előadás 27 / 27