Algoritmusok bonyolultsága

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.

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

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.

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.

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

Algoritmuselmélet 12. előadás

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

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

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

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

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

Algoritmuselmélet 18. előadás

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

Diszkrét matematika 2.C szakirány

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

Diszkrét matematika 2.

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

Diszkrét matematika 2.C szakirány

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

NP-teljesség röviden

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

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

Diszkrét matematika 2.

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

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

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

Turing-gép május 31. Turing-gép 1. 1

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

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

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

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

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

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

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

Formális nyelvek - 9.

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

Véges automaták, reguláris nyelvek

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

Funkcionálanalízis. n=1. n=1. x n y n. n=1

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

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

Kiterjesztések sek szemantikája

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

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

Algoritmusok bonyolultsága

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

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

Diszkrét matematika I.

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

Automaták mint elfogadók (akceptorok)

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 9. Előadás. Előadó: Hajnal Péter Jegyzetelő: Hajnal Péter április 12.

13. Előadás. 1. Összeszámolási problémák bonyolultsága

A Turing-gép. Formális nyelvek III.

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

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

Chomsky-féle hierarchia

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

Iván Szabolcs október 6.

1. Az ábrán látható táblázat minden kis négyzete 1 cm oldalhosszúságú. A kis négyzetek határvonalait akarjuk lefedni. Meg lehet-e ezt tenni

A logikai következmény

Diszkrét matematika II., 8. előadás. Vektorterek

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

Logika és informatikai alkalmazásai

Chomsky-féle hierarchia

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

6. előadás A reguláris nyelvek jellemzése 2.

Ramsey-féle problémák

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

1. tétel - Gráfok alapfogalmai

Algoritmuselmélet 7. előadás

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

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

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

ZH feladatok megoldásai

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

Gráfok csúcsszínezései

Diszkrét matematika 1. középszint

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

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

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

Az optimális megoldást adó algoritmusok

Bonyolultságelmélet feladatok

1/50. Teljes indukció 1. Back Close

Mohó algoritmusok. Példa:

Dicsőségtabló Beadós programozási feladatok

Diszkrét matematika 1.

Javító és majdnem javító utak

Diszkrét matematika 2.C szakirány

9. előadás Veremautomaták 1.

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Diszkrét matematika I.

A zsebrádiótól Turán tételéig

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

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Diszkrét Matematika MSc hallgatók számára. 11. Előadás. Előadó: Hajnal Péter Jegyzetelő: Szarvák Gábor november 29.

Eötvös Loránd Tudományegyetem. Természettudományi Kar. Gráfok barátságos partíciói. Paulovics Zoltán. Témavezet :

Átírás:

Algoritmusok bonyolultsága 11. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm () 1 / 1

NP-telesség Egy L nyelv NP-teles, ha L NP és minden L NP-re L L. Egy Π döntési feladat NP-teles, ha Π NP és minden Π NP-re Π Π. Ahhoz, hogy bebizonyítsuk, hogy egy Π döntési feladat NP-teles a következőket kell bizonyítani: 1. Π NP, és 2. létezik egy NP-teles Π feladat úgy, hogy Π Π. () 2 / 1

SATISFIABILITY (KIELÉGÍTHETŐSÉG) SAT: az első NP-teles feladat U = u 1, u 2,..., u m Boole-változók halmaza t : U T, F (értékadás) literál: u és u T igaz, F hamis (vagy: 1 igaz, 0 hamis) (u az u tagadása) klóz: literálok halmaza, pl: u 1, u 2, u 3 Egy klóz akkor igaz, ha valamelyik literála igaza. (A klóz tuladonképpen a literálok diszunkcióa.) Pl. a fenti klóz csak akkor hamis, ha u 1 = F, u 2 = T, u 1 = F, minden más esetben igaz, azaz minden más értékadás kielégíti a klózt. A változók akkor elégítenek ki egy klózhalmazt, ha minden elemét (minden egyes klózt) kielégítenek (tuladonképpen klózok konunkcióáról van szó). () 3 / 1

Kielégíthetőség ÁLTALÁNOS ESET: Adott a változók U halmaza, és az U elemeiből képzett C klózhalmaz. KÉRDÉS: Létezik-e a változóknak olyan értékadása, amely kielégíti C-t? Példa: 1. U = u 1, u 2, C = u 1, u 2, u 1, u 2 t(u 1 ) = t(u 2 ) = T kielégíti C-t. 2. U = u 1, u 2, C = u 1, u 2, u 1, u 2, u 1 Egyetlen értékadás sem elégíti ki. u 1 u 2 u 1, u 2 u 1, u 2 u 1 C T T T T F F T F T T F F F T T F T F F F F T T F () 4 / 1

Cook tétele (1971) Tétel A KIELÉGÍTHETŐSÉG probléma NP-teles. Bizonyítás: Könnyű belátni, hogy a feladat NP osztálybeli. L SAT = L[SAT, e] egy megfelelő kódolással. Be kell bizonyítani, hogy minden L NP nyelvre, L L SAT. Minden nyelv NP-ből megadható egy polinomiális ideű NDTM programmal, amely felismeri. A bizonyításhoz meg kell aduk egy tetszőleges polinomiális ideű NDTM programot és annak polinomiális ideű transzformációát L SAT -ra. Ekkor ez a transzformáció átalakít egy tetszőleges M polinomiális ideű NDTM program által felismert L M nyelvet az L SAT -ra. Így egyszerre bizonyítuk, hogy minden L NP nyelvre, L L SAT. () 5 / 1

Cook tétele folytatás Legyen M az L nyelvet felismerő polinomiális ideű NDTM program (L = L M ). Ennek adatai: Q, Σ, Γ, δ, q 0, q Y, q N, B. Legyen p egy polinom, amelyre T M (n) p(n). (Feltehetük, hogy T M (n) n). Az általános átalakító f L függvényt a fentiek függvényében aduk meg. Legyen f L olyan függvény, amely Σ elemeit alakíta a SAT egy esetévé (és nem a SAT egy kódolt esetévé, mivel ez a kódolás könnyen megoldható). Tehát az f L azzal a tuladonsággal rendelkezik, hogy x L Σ f L (x) kielégíthető. () 6 / 1

Cook tétele folytatás Az f L változóinak halmaza legyen U. Legyenek ) Q elemei: q 0, q 1 = q Y, q 2 = q N, q 3,..., q r (r = Q 1, ) Γ elemei: s 0 = B, s 1, s 2...., s ν (ν = Γ 1. Az f L változói és azok elentése: változó hatáskör elentés Q[i, k] H[i, ] S[i,, k] 0 i p(n) 0 k r 0 i p(n) p(n) p(n) + 1 0 i p(n) p(n) p(n) + 1 0 k ν Az i időpontban M a q k állapotban van. Az i időpontban az író/olvasófe a szalag -edik elemét viszgála. Az i időpontban a szalag -edik eleme s k -t tartalmazza. A 0-dik pillanatban a szalagon az 1..n elemek tartalmazzák az x bemenetet (n = x ), a 1.. w elemek pedig a w tanút. () 7 / 1

Cook tétele folytatás Az M egy számítása megfelel egy, az U változókkal képzett igaz értékű logikai formulának Fordítva nem igaz). Ha a számítás hamarabb megáll, mint p(n), akkor úgy tekintük, hogy az automata abban a végállapotban marad, ugyazon az elemen, és megmarad a szalag tartalma. Az f L függvény ezekkel változókkal egy olyan klózhalmazt hoz létre, amely csak akkor és csakis akkor kielégíthtő, ha a megfelelő számítási folyamat felismeri x-et. Tehát: x L Létezik M-nek egy x-et elfogadó számítási folyamata. Létezik M-nek egy x-et elfogadó számítási folyamata, amely legfelebb p(n) lépésben végzi az ellenőrző fázist, ha a tanú pontosan p(n) hosszúságú. Az f L (x) klózhalmaz kielégíthető. () 8 / 1

Cook tétele folytatás Az f L (x) klózai 6 csoportba oszthatók: klózcsoport G 1 G 2 G 3 G 4 G 5 G 6 megszorítások Minden i-edik időpontban M egyetlen egy állapotban van. Minden i-edik időpontban az író/olvasófe egy elemet vizsgál. Minden i-edik időpontban a szalag minden eleme egy betűt tartalmaz. A 0-dik időpontban az automata kezdő konfigurációban van. A p(n) időpontban az automata q Y állapotban van. ( ) Minden i-edik időpontban 0 i < p(n) egyetlen átmenet van a következő időpontba. () 9 / 1

Cook tétele folytatás A G 1 csoport klózai: Q[i, 0], Q[i, 1],..., Q[i, r], 0 i p(n) Q[i, ], Q[i, ], 0 i p(n), 0 < r Az első p(n) + 1 klóz egyideűleg igaz, ha M minden i időpontban legalább egy állapotban van. A következő ( p(n) + 1 )( r(r + 1)/2 ) klóz egyideűleg igaz, ha nincs olyan i időpont, hogy M egynél több állapotban van. () 10 / 1

Cook tétele folytatás A G 2 csoport klózai: H[i, p(n)], H[i, p(n) + 1],..., H[i, p(n) + 1], 0 i p(n) H[i, ], H[i, ], 0 i p(n), p(n) < p(n) + 1 Az első p(n) + 1 klóz egyideűleg igaz, ha M minden i időpontban legalább egy szalagelemet vizsgál. A következő klózok egyideűleg igazak, ha nincs olyan i időpont, hogy M egynél több szalagelemet vizsgál. () 11 / 1

Cook tétele folytatás A G 3 csoport klózai: S[i,, 0], S[i,, 1],..., S[i,, ν], 0 i p(n), p(n) p(n) + 1 S[i,, k], S[i,, k ], 0 i p(n), p(n) p(n) + 1, 0 k < k ν Az első sorbeli klózok egyideűleg igazak, ha minden i időpontban minden szalagcella legalább egy betűt tartalmaz Γ -ból. A következő klózok egyideűleg igazak, ha nincs olyan i időpont és szalagcella, hogy egynél több betű legyen abban a cellában. () 12 / 1

Cook tétele folytatás A G 4 csoport klózai: Q[0, 0], H[0, 1], S[0, 0, 0] S[0, 1, k 1 ], S[0, 2, k 2 ],..., S[0, n, k n ], S[0, n + 1, 0], S[0, n + 2, 0],..., S[0, p(n) + 1, 0], ahol x = s k1 s k2... s kn () 13 / 1

Cook tétele folytatás A G 5 csoport klózai: Q[p(n), 1] A p(n) időpontban az automata végállapotban van (q 1 = q Y ). () 14 / 1

Cook tétele folytatás A G 6 csoport klózai esetében azt kell leírni, hogy a számítási folyamat mindegyik konfigurációából egyetlen lépéssel utunk a következő konfigutrációba. A klózok két alcsoportba oszthatók. Az első alcsoport klózai azt biztosíták, hogy ha az automata az i-edik időpontban nem vizsgála a -edik cellát, akkor a -edik cella tartalma nem változik, amikor áttérünk i-ről (i + 1)-re: S[i,, l], H[i, ], S[i + 1,, l], 0 i < p(n), p(n) p(n) + 1, 0 l ν () 15 / 1

Cook tétele folytatás Az következő alcsoport klózai azt biztosíták, hogy az átmenet egyik konfigurációból a másikba a δ átmenetfüggvény szerint történik. Ha 0 i < p(n), p(n) p(n) + 1, 0 k r és 0 l ν, akkor H[i, ], Q[i, k], S[i,, l], H[i + 1, + ] H[i, ], Q[i, k], S[i,, l], Q[i + 1, k ] H[i, ], Q[i, k], S[i,, l], S[i + 1,, l ] ahol ha q Q \ q y, q N, akkor, k, l értékei olyanok, hogy δ(q k, s l ) = (q k, s l, ), ha pedig q k q Y, q N, akkor δ(q k, s l ) = (q k, s l, 0) () 16 / 1

Cook tétele folytatás C = G 1 G 2 G 3 G 4 G 5 G 6 Ha x L, akkor létezik egy legfelebb p(n) hosszúságú elfogadó számítási folyamat, amelyre a C klózhalmaz kielégíthet? (C igaz), és fordítva minden olyan értékekre, amelyekre C igaz, a számítási folyamat elfogadó. Még bizonyítani kell, hogy f L (x) polinomiális időben előállítható. Bebizonyítható, hogy f L )(x) = O(p(n) 4 ). qu.e.d. () 17 / 1

NP-telesség bizonyítása Egy Π feladat NP-telességének bizonyítása: 1 bizonyítani kell, hogy Π NP, 2 keresni kell egy ismert Π NP-teles feladatot, 3 meg kell adni egy f : Π Π függvényt, 4 bizonyítani kell, hogy f polinomiális ideű átalakítás. SATISFIABILITY = KIELÉGÍTHETŐSÉG 3SAT = 3-változós KIELÉGÍTHETŐSÉG 3DM = 3-dimenziós PÁROSÍTÁS VC = CSÚCSLEFEDÉS CLIQUE = TELJES RÉSZGRÁF (KLIKK) HC = HAMILTON-KÖR PARTITION = FELBONTÁS (PARTÍCIÓ) () 18 / 1

3SAT ÁLTALÁNOS ESET: Adott a C = c 1, c 2,..., c m klózhalmaz egy véges U változóhalmazon, ahol c i = 3, 1 i m. KÉRDÉS: Kielégíthető-e C? 3-DIMENSIONAL MATCHING (3DM) ÁLTALÁNOS ESET: Adott M W X Y, ahol W, X, Y mindegyike q-elemű halmaz, és diszunktak. KÉRDÉS: Létezik-e M-ben teles párosítás, azaz olyan M M, hogy M = q, és M elemei minden koordinátában különböznek? VERTEX COVER (VC) ÁLTALÁNOS ESET: Adott a G = (V, E) gráf és egy pozitív K V. KÉRDÉS: Létezik-e egy legfelebb K elemű csúcslefedés? Azaz V V úgy, hogy V K és a gráf minden u, v éle esetében vagy u V vagy v V? () 19 / 1

CLIQUE ÁLTALÁNOS ESET: Adott a G = (V, E) gráf és egy pozitív J V. KÉRDÉS: Létezik-e G-ben egy legalább J csúcsú teles részgráf? Azaz, V V úgy, hogy V J és V bármely két csúcsát az E egy éle köti össze? HAMILTONIAN CIRCUIT (HC) ÁLTALÁNOS ESET: Adott a G = (V, E) gráf. KÉRDÉS: Van-e G-ben Hamilton-kör? Azaz, < v 1, v 2,..., v n >, v i V, 1 i n, n = V úgy, hogy v n, v 1 E és v i, v i+1 E, 1 i < n? PARTITION ÁLTALÁNOS ESET: Adott egy A véges halmaz, és egy súlyfüggvény s : A Z +. KÉRDÉS: Létezik-e A A úgy, hogy s(a) = a A a A\A s(a)? () 20 / 1

3SAT Tétel A 3SAT feladat NP-teles. Bizonyítás: Legyen U = u 1, u 2,..., u n a változók, C = c 1, c 2,..., c m a klózok halmaza. C megfelel egy elfogadó számítási folyamatnak. Értelmezünk egy C 3-literálos klózhalmazt, amelynek változói U -ből m m vannak: U = U U, C = C. =1 Meg kell mutatnunk, hogyan készül C és U a c klózokból. Legyen c = z 1, z 2,..., z k, ahol minden z i az U változóiból képzett literál. =1 A C és U előállítása függ k értékétől: () 21 / 1

1. eset k = 1: U = y 1, y 2 C = z 1, y 1, y 2, z 1, y 1, y 2, z 1, y 1, y 2, z 1, y 1, y 2 2. eset k = 2: U = y 1, C = z 1, z 2, y 1, z 1, z 2, y 1 3. eset k = 3: U =, C = c 4. eset k > 3: U = y i 1 i k 3 C = z 1, z 2, y 1 y i, z i+2, y i+1 1 i k 4 y k 3, z k 1, z k Be kell bizonyítani, hogy C akkor és csakis akkor kielégíthető, ha C kielégíthető. () 22 / 1

Legyen t : U T, F egy olyan értékadás, amely kielégíti C-t. Értelmezzük a t : U T, F (t-t kiteresztő) értékadást, amely kielégíti C -t. Elég, ha a t függvényt U -n értelmezzük. Az 1. és 2. esetben: C -t már t kielégíti, ezért a kiteresztés tetszőleges lehet, pl. t (y) = T, y U. A 3. esetben U üres, ezért t kielégíti C -et. 4. eset: Mivel t kielégíti C-t, kell léteznie olyan l egésznek, amelyre t(z l ) = T. Ha l = 1 vagy 2, legyen t (y i ) = F, ha 1 i k 3. Ha l = k 1 vagy k, legyen t (y i ) = T, ha 1 i k 3. Különben legyen t (y i) = T, ha 1 i l 2 és t (y i ) = F, ha l 1 i k 3. Könnyű belátni, hogy ez az értékadás kielégíti C -et. Fordítva: Ha t kielégíti C -et, akkor t leszűkítése U-ra kielégíti C-t. Az átalakítás polinomiális időben elvégezhető. () 23 / 1

Érdekes, hogy a 2SAT probléma polinomiális, azaz P-ben van (ez a rezoluciós módszerrel könnyen belátható). Vertex Cover és Clique Ez a két feladat nagyon hasonlít egymáshoz, és a következőhöz. INDEPENDENT SET (független csúcshalmaz) ÁLTALÁNOS ESET: Adott a G = (V, E) gráf, és J V pozitív szám. KÉRDÉS: Létezik-e V V, V J úgy, hogy ha u, v V, akkor u, v E? Lemma Tetszőleges G = (V, E) gráfra és V V -re a következő kielentések egyenértékűek: V lefedő csúcshalmaz G-ben. V \ V független csúcshalmaz. V \ V teles gráf (klikk) a G gráf komplementerében. () 24 / 1

Vertex Cover (Csúcslefedés) Tétel A VERTEX COVER feladat NP-teles. Bizonyítás. íkönnyű belátni, hogy a feladat NP-ben van, hisz csak azt kell megvizsgálni polinomiális időben, hogy egy adott csúcshalmaz (a tanú) illeszkedik-e minden élhez. A 3SAT feladatot transzformáluk VC feladattá. Legyen a 3SAT egy esete: U = u 1, u 2,..., u n, C = c 1, c 2,..., c m. Meghatározunk egy G = (V, E) gráfot és egy pozitív K V számot úgy, hogy G-ben van egy legfelebb K csúcsú lefedő halmaz, akkor és csakis akkor, ha C kielégíthető. () 25 / 1

A gráfot részenként hozzuk létre. A gráf első része: Minden u i U változóra legyen T i = (V i, E i ), ahol V i = u i, u i, E i = u i, u i. A gráf második része: Minden c C klózra legyen S = (V, E ): V = a 1 [], a 2 [], a 3 [] E = a 1 [], a 2 [], a 1 [], a 3 [], a 2 [], a 3 [] A gráf harmadik része: Minden c C klóz esetében legyen x, y, z a három használt literál. Ekkor S csúcsai között definiáluk a következő éleket: E = a 1 [], x, a 2 [], y, a 3 [], z () 26 / 1

Legyen K = n + 2m és G = (V, E), ahol ( n ) m V = V i i=1 =1 ( n ) m E = E i i=1 V E =1 m =1 E Példa: Könnyű belátni, hogy az átalakítás polinomiális. Elég bizonyítani, hogy C akkor és csakis akkor kielégíthető, ha G-ben létezik legfelebb K csúcsból álló lefedés. () 27 / 1

V lefedő csúcshalmaz C kielégíthető Legyen V, V K egy lefedő csúcshalmaz. Ennek tartalmazni kell legalább egy csúcsot minden T i -ből, és legalább kettőt minden S -ből. Ez legalább n + 2m = K csúcs, ezért V pontosan egy csúcsot tartalmaz minden T i -ből, és pontosan kettőt minden S -ből. Legyen t(u i ) = T, ha u i V és t(u i ) = F, ha u i V. Tekintsük az E éleit (összesen 3 van), ezek közül csak kettőt tudnak lefedni a V V halmazból. Ezért legalább egy élt ezek közül egy V i V halmazból való csúcs fed le. Ez vagy u i vagy u i, de t értelmezése szerint ennek értéke mindig T. Ezért minden c kielégíthető, tehát kielégíthető C is. () 28 / 1

C kielégíthető V lefedő csúcshalmaz Legyen t : U T, F, amely kielégíti C-t. A megfelelő lefedő csúcshalmaz tartalmaz egy csúcsot minden T i -ből, és kettőt minden S -ből. A T i V -beli csúcs u i ha t(u i ) = T, és u i ha t(u i ) = F. Ez biztosíta, hogy E három éle közül legalább egy le van fedve. A másik kettő végpontait bevesszük V -be. A kapott V egy lefedő csúcshalmaz. () 29 / 1