• Nem Talált Eredményt

Algoritmuselmélet NP

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Algoritmuselmélet NP"

Copied!
141
0
0

Teljes szövegt

(1)

Algoritmuselmélet

NP-teljes problémák

Katona Gyula Y.

Számítástudományi és Információelméleti Tanszék Budapesti M ˝uszaki és Gazdaságtudományi Egyetem

13. el ˝oadás

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 1 / 27

(2)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(3)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(4)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(5)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(6)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒

x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(7)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et,

eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(8)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y?

=⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(9)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √

Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(10)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(11)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(12)

Karp-redukció

Mikor nem lényegesen nehezebb egyX probléma egyY problémánál?

HaY felhasználásával meg lehet oldaniX-et is.

=⇒X visszavezethet ˝o aY 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 ˝oben 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 algoritmusunkY eldöntésére =⇒x ∈X-re kiszámítjuk f(x)-et, eldöntjükf(x)∈Y? =⇒tudjuk, hogyx ∈X igaz-e. √ Ha tudnánk, hogyX nehéz, és tudjuk, hogyX ≺Y

=⇒Y is nehéz lenne.

HaY könny ˝u, ésX nem lényegesen nehezebb nála, akkorX is könny ˝u.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 2 / 27

(13)

Irányított Hamilton-kör probléma (IH)

Tétel IH≺H.

Bizonyítás.

G= (V,E)egy irányított gráf→G0 = (V0,E0)irányítatlan gráf

hogy G0 gyorsan megépíthet ˝o és

G-ben∃irányított Hamilton-kör↔G0-ben∃irányítatlan Hamilton-kör. V0 = {vbe,v,vki |v ∈V},

E0 = {(vbe,v),(v,vki)|v ∈V} ∪ {(uki,vbe)|u→v ∈E}.

u v ube u uki vbe v vki

v(G) =n,e(G) =e =⇒v(G0) =3n,e(G0) =2n+e =⇒O(n+e) lépésben megkapható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 3 / 27

(14)

Irányított Hamilton-kör probléma (IH)

Tétel IH≺H.

Bizonyítás.

G= (V,E)egy irányított gráf→G0 = (V0,E0)irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben∃irányított Hamilton-kör↔G0-ben∃irányítatlan Hamilton-kör. V0 = {vbe,v,vki |v ∈V},

E0 = {(vbe,v),(v,vki)|v ∈V} ∪ {(uki,vbe)|u→v ∈E}.

u v ube u uki vbe v vki

v(G) =n,e(G) =e =⇒v(G0) =3n,e(G0) =2n+e =⇒O(n+e) lépésben megkapható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 3 / 27

(15)

Irányított Hamilton-kör probléma (IH)

Tétel IH≺H.

Bizonyítás.

G= (V,E)egy irányított gráf→G0 = (V0,E0)irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben∃irányított Hamilton-kör↔G0-ben∃irányítatlan Hamilton-kör.

V0 = {vbe,v,vki |v ∈V},

E0 = {(vbe,v),(v,vki)|v ∈V} ∪ {(uki,vbe)|u→v ∈E}.

u v ube u uki vbe v vki

v(G) =n,e(G) =e =⇒v(G0) =3n,e(G0) =2n+e =⇒O(n+e) lépésben megkapható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 3 / 27

(16)

Irányított Hamilton-kör probléma (IH)

Tétel IH≺H.

Bizonyítás.

G= (V,E)egy irányított gráf→G0 = (V0,E0)irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben∃irányított Hamilton-kör↔G0-ben∃irányítatlan Hamilton-kör.

V0 = {vbe,v,vki |v ∈V},

E0 = {(vbe,v),(v,vki)|v ∈V} ∪ {(uki,vbe)|u→v ∈E}.

u v ube u uki vbe v vki

v(G) =n,e(G) =e =⇒v(G0) =3n,e(G0) =2n+e =⇒O(n+e) lépésben megkapható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 3 / 27

(17)

Irányított Hamilton-kör probléma (IH)

Tétel IH≺H.

Bizonyítás.

G= (V,E)egy irányított gráf→G0 = (V0,E0)irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben∃irányított Hamilton-kör↔G0-ben∃irányítatlan Hamilton-kör.

V0 = {vbe,v,vki |v ∈V},

E0 = {(vbe,v),(v,vki)|v ∈V} ∪ {(uki,vbe)|u→v ∈E}.

u v ube u uki vbe v vki

v(G) =n,e(G) =e =⇒v(G0) =3n,e(G0) =2n+e =⇒O(n+e) lépésben megkapható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 3 / 27

(18)

Irányított Hamilton-kör probléma (IH)

Tétel IH≺H.

Bizonyítás.

G= (V,E)egy irányított gráf→G0 = (V0,E0)irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben∃irányított Hamilton-kör↔G0-ben∃irányítatlan Hamilton-kör.

V0 = {vbe,v,vki |v ∈V},

E0 = {(vbe,v),(v,vki)|v ∈V} ∪ {(uki,vbe)|u→v ∈E}.

u v ube u uki vbe v vki

v(G) =n,e(G) =e =⇒v(G0) =3n,e(G0) =2n+e =⇒O(n+e) lépésben megkapható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 3 / 27

(19)

Bizonyítás.

G-beliF irányított Hamilton-körének megfelelG0 egyF0 Hamilton-köre.

u v ube u uki vbe v vki

AzF egyu →v éle−→azF0-ben azu−uki−vbe−v út.

EzértG∈IH =⇒G0 ∈H

HaG0-ben van egyF0 ⊆E0 Hamilton-kör =⇒egyu-ból indulva egy uki felé lépjünk el ˝oször

=⇒csaku−uki−vbe−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értG0 ∈H =⇒G∈IH.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 4 / 27

(20)

Bizonyítás.

G-beliF irányított Hamilton-körének megfelelG0 egyF0 Hamilton-köre.

u v ube u uki vbe v vki

AzF egyu →v éle−→azF0-ben azu−uki−vbe−v út.

EzértG∈IH =⇒G0 ∈H

HaG0-ben van egyF0 ⊆E0 Hamilton-kör =⇒egyu-ból indulva egy uki felé lépjünk el ˝oször

=⇒csaku−uki−vbe−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értG0 ∈H =⇒G∈IH.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 4 / 27

(21)

Bizonyítás.

G-beliF irányított Hamilton-körének megfelelG0 egyF0 Hamilton-köre.

u v ube u uki vbe v vki

AzF egyu →v éle−→azF0-ben azu−uki−vbe−v út.

EzértG∈IH =⇒G0 ∈H

HaG0-ben van egyF0 ⊆E0 Hamilton-kör =⇒egyu-ból indulva egy uki felé lépjünk el ˝oször

=⇒csaku−uki−vbe−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értG0 ∈H =⇒G∈IH.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 4 / 27

(22)

Bizonyítás.

G-beliF irányított Hamilton-körének megfelelG0 egyF0 Hamilton-köre.

u v ube u uki vbe v vki

AzF egyu →v éle−→azF0-ben azu−uki−vbe−v út.

EzértG∈IH =⇒G0 ∈H

HaG0-ben van egyF0 ⊆E0 Hamilton-kör =⇒egyu-ból indulva egy uki felé lépjünk el ˝oször

=⇒csaku−uki−vbe−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értG0 ∈H =⇒G∈IH.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 4 / 27

(23)

Bizonyítás.

G-beliF irányított Hamilton-körének megfelelG0 egyF0 Hamilton-köre.

u v ube u uki vbe v vki

AzF egyu →v éle−→azF0-ben azu−uki−vbe−v út.

EzértG∈IH =⇒G0 ∈H

HaG0-ben van egyF0 ⊆E0 Hamilton-kör =⇒egyu-ból indulva egy uki felé lépjünk el ˝oször

=⇒csaku−uki−vbe−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értG0 ∈H =⇒G∈IH.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 4 / 27

(24)

Bizonyítás.

G-beliF irányított Hamilton-körének megfelelG0 egyF0 Hamilton-köre.

u v ube u uki vbe v vki

AzF egyu →v éle−→azF0-ben azu−uki−vbe−v út.

EzértG∈IH =⇒G0 ∈H

HaG0-ben van egyF0 ⊆E0 Hamilton-kör =⇒egyu-ból indulva egy uki felé lépjünk el ˝oször

=⇒csaku−uki−vbe−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értG0∈H =⇒G∈IH.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 4 / 27

(25)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható. x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(26)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható. x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(27)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható. x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(28)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható. x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(29)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható. x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(30)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható. x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(31)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható.

x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(32)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható.

x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(33)

A Karp-redukció tulajdonságai

Tétel

1. Ha X ≺Y és Y ∈P, akkor X ∈P.

2. Ha X ≺Y és Y ∈NPakkor 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 .

Bizonyítás.

Legyen f az X Karp-redukciója Y -re, ahol f c1nk id ˝oben számolható.

x egy bemenet, melyr ˝ol szeretnénk eldönteni, hogy x ∈X teljesül-e, n az x hossza.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 5 / 27

(34)

Bizonyítás.

1.: Kiszámítjuk f(x)-et

→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk. Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(35)

Bizonyítás.

1.: Kiszámítjuk f(x)-et→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk.

Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(36)

Bizonyítás.

1.: Kiszámítjuk f(x)-et→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk. Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(37)

Bizonyítás.

1.: Kiszámítjuk f(x)-et→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk. Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(38)

Bizonyítás.

1.: Kiszámítjuk f(x)-et→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk. Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(39)

Bizonyítás.

1.: Kiszámítjuk f(x)-et→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk. Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(40)

Bizonyítás.

1.: Kiszámítjuk f(x)-et→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk. Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(41)

Bizonyítás.

1.: Kiszámítjuk f(x)-et→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk. Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(42)

Bizonyítás.

1.: Kiszámítjuk f(x)-et→id ˝oigénye≤c1nk =⇒ |f(x)| ≤c1nk. Y felismer ˝o algoritmusával c2|f(x)|l id ˝oben eldöntjük, hogy f(x)∈Y igaz-e.

→id ˝oigénye≤c2(c1nk)l

x ∈X ⇔f(x)∈Y =⇒összid ˝o O(nkl) √

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 egykis módosítássaljó lesz az X tanúsító algoritmusának is.

T0 az(x,t)bemenetre el ˝oször kiszámítja f(x)-et, majd az(f(x),t) párra alkalmazzaT-t.

Ha az eredményIGEN, akkor legyenT0eredménye isIGEN, különben pedigNEM.

|t|=O(|f(x)|c) =⇒ |t|=O(nkc)

T0 lépésszáma, haT lépésszáma O((|y|+|t|)l):

O(nk) +O((|f(x)|+|t|)l) =O(nk) +O(|f(x)|cl) =O(nkcl).

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 6 / 27

(43)

Bizonyítás.

3.: X-nek egy Karp-redukciójaY-ra egyben egy Karp-redukcióX-r ˝ol Y-re, hiszenx ∈X ⇐⇒ f(x)∈Y ugyanaz, mintx ∈/ X ⇐⇒ f(x)∈/ Y

4.: ⇐=2.,3. 5.: ⇐=2.,4.

6.: Legyenf azX ≺Y függvénye, amiO(nk)id ˝oben számolható ésg azY ≺Z függvénye, amiO(nl)id ˝oben számolható.

AzX ≺Z függvényeg(f(x))lesz, amiO((nk)l) =O(nkl)id ˝oben számolható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 7 / 27

(44)

Bizonyítás.

3.: X-nek egy Karp-redukciójaY-ra egyben egy Karp-redukcióX-r ˝ol Y-re, hiszenx ∈X ⇐⇒ f(x)∈Y ugyanaz, mintx ∈/ X ⇐⇒ f(x)∈/ Y 4.: ⇐=2.,3.

5.: ⇐=2.,4.

6.: Legyenf azX ≺Y függvénye, amiO(nk)id ˝oben számolható ésg azY ≺Z függvénye, amiO(nl)id ˝oben számolható.

AzX ≺Z függvényeg(f(x))lesz, amiO((nk)l) =O(nkl)id ˝oben számolható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 7 / 27

(45)

Bizonyítás.

3.: X-nek egy Karp-redukciójaY-ra egyben egy Karp-redukcióX-r ˝ol Y-re, hiszenx ∈X ⇐⇒ f(x)∈Y ugyanaz, mintx ∈/ X ⇐⇒ f(x)∈/ Y 4.: ⇐=2.,3.

5.: ⇐=2.,4.

6.: Legyenf azX ≺Y függvénye, amiO(nk)id ˝oben számolható ésg azY ≺Z függvénye, amiO(nl)id ˝oben számolható.

AzX ≺Z függvényeg(f(x))lesz, amiO((nk)l) =O(nkl)id ˝oben számolható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 7 / 27

(46)

Bizonyítás.

3.: X-nek egy Karp-redukciójaY-ra egyben egy Karp-redukcióX-r ˝ol Y-re, hiszenx ∈X ⇐⇒ f(x)∈Y ugyanaz, mintx ∈/ X ⇐⇒ f(x)∈/ Y 4.: ⇐=2.,3.

5.: ⇐=2.,4.

6.: Legyenf azX ≺Y függvénye, amiO(nk)id ˝oben számolható ésg azY ≺Z függvénye, amiO(nl)id ˝oben számolható.

AzX ≺Z függvényeg(f(x))lesz, amiO((nk)l) =O(nkl)id ˝oben számolható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 7 / 27

(47)

Bizonyítás.

3.: X-nek egy Karp-redukciójaY-ra egyben egy Karp-redukcióX-r ˝ol Y-re, hiszenx ∈X ⇐⇒ f(x)∈Y ugyanaz, mintx ∈/ X ⇐⇒ f(x)∈/ Y 4.: ⇐=2.,3.

5.: ⇐=2.,4.

6.: Legyenf azX ≺Y függvénye, amiO(nk)id ˝oben számolható ésg azY ≺Z függvénye, amiO(nl)id ˝oben számolható.

AzX ≺Z függvényeg(f(x))lesz, amiO((nk)l) =O(nkl)id ˝oben számolható.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 7 / 27

(48)

NP-teljes problémák

Definíció

Az X eldöntési problémaNP-nehéz, ha tetsz ˝oleges(azaz minden) X0 ∈NPprobléma esetén létezik X0 ≺X Karp-redukció.

Az X eldöntési problémaNP-teljes, ha X ∈NPés X NP-nehéz.

EgyNP-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, hogyP-beli (coNP-beli), akkor ugyanez igaz lenne mindenNP-beli problémára.

Van-e NP-teljes probléma?

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 8 / 27

(49)

NP-teljes problémák

Definíció

Az X eldöntési problémaNP-nehéz, ha tetsz ˝oleges(azaz minden) X0 ∈NPprobléma esetén létezik X0 ≺X Karp-redukció.

Az X eldöntési problémaNP-teljes, ha X ∈NPés X NP-nehéz.

EgyNP-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, hogyP-beli (coNP-beli), akkor ugyanez igaz lenne mindenNP-beli problémára.

Van-e NP-teljes probléma?

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 8 / 27

(50)

NP-teljes problémák

Definíció

Az X eldöntési problémaNP-nehéz, ha tetsz ˝oleges(azaz minden) X0 ∈NPprobléma esetén létezik X0 ≺X Karp-redukció.

Az X eldöntési problémaNP-teljes, ha X ∈NPés X NP-nehéz.

EgyNP-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, hogyP-beli (coNP-beli), akkor ugyanez igaz lenne mindenNP-beli problémára.

Van-e NP-teljes probléma?

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 8 / 27

(51)

Boole-formulák

Definíció

Az f :{0,1}n→ {0,1}függvényeket n-változósBoole-függvényeknek vagyBoole-formuláknakhívjuk.

Tétel

Minden Boole-függvény felírható az x1, . . . ,xnBoole-változók, az

∧,∨,¬logikai m ˝uveletek és zárójelek segítségével.

Pl. Boole-formula:

Φ = (x1∨ ¬x2∨x5)∧((¬x3∨x2∨(x6∧x1))∧ ¬(x5∨x6))

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 9 / 27

(52)

Boole-formulák

Definíció

Az f :{0,1}n→ {0,1}függvényeket n-változósBoole-függvényeknek vagyBoole-formuláknakhívjuk.

Tétel

Minden Boole-függvény felírható az x1, . . . ,xnBoole-változók, az

∧,∨,¬logikai m ˝uveletek és zárójelek segítségével.

Pl. Boole-formula:

Φ = (x1∨ ¬x2∨x5)∧((¬x3∨x2∨(x6∧x1))∧ ¬(x5∨x6))

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 9 / 27

(53)

Boole-formulák

Definíció

Az f :{0,1}n→ {0,1}függvényeket n-változósBoole-függvényeknek vagyBoole-formuláknakhívjuk.

Tétel

Minden Boole-függvény felírható az x1, . . . ,xnBoole-változók, az

∧,∨,¬logikai m ˝uveletek és zárójelek segítségével.

Pl. Boole-formula:

Φ = (x1∨ ¬x2∨x5)∧((¬x3∨x2∨(x6∧x1))∧ ¬(x5∨x6))

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 9 / 27

(54)

Boole-formulák

Definíció

Az f :{0,1}n→ {0,1}függvényeket n-változósBoole-függvényeknek vagyBoole-formuláknakhívjuk.

Tétel

Minden Boole-függvény felírható az x1, . . . ,xnBoole-változók, az

∧,∨,¬logikai m ˝uveletek és zárójelek segítségével.

Pl. Boole-formula:

Φ = (x1∨ ¬x2∨x5)∧((¬x3∨x2∨(x6∧x1))∧ ¬(x5∨x6))

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 9 / 27

(55)

Boole-formulák

Definíció

Egy Boole-formula kielégíthet ˝o, ha lehet úgy értékeket adni a változóinak, hogy a függvény értéke 1 legyen.

Pl. Φ(x1,x2) = (x1∨x2)∧(¬x1∨ ¬x2)kielégíthet ˝o, mert hax1=1 és x2=0, akkorΦ(x1,x2) =1

De pl. (x1∧ ¬x1)nyilván nem kielégíthet ˝o.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 10 / 27

(56)

Boole-formulák

Definíció

Egy Boole-formula kielégíthet ˝o, ha lehet úgy értékeket adni a változóinak, hogy a függvény értéke 1 legyen.

Pl. Φ(x1,x2) = (x1∨x2)∧(¬x1∨ ¬x2)kielégíthet ˝o, mert hax1=1 és x2=0, akkorΦ(x1,x2) =1

De pl. (x1∧ ¬x1)nyilván nem kielégíthet ˝o.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 10 / 27

(57)

Boole-formulák

Definíció

Egy Boole-formula kielégíthet ˝o, ha lehet úgy értékeket adni a változóinak, hogy a függvény értéke 1 legyen.

Pl. Φ(x1,x2) = (x1∨x2)∧(¬x1∨ ¬x2)kielégíthet ˝o, mert hax1=1 és x2=0, akkorΦ(x1,x2) =1

De pl. (x1∧ ¬x1)nyilván nem kielégíthet ˝o.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 10 / 27

(58)

Cook–Levin-tétel

Van-e NP-teljes probléma?

Definíció

SATprobléma:

Bemenet: ΦBoole-fomula Kérdés: Kielégíthet ˝o-eΦ?

Tétel (S. A. Cook, L. Levin, 1971) ASAT problémaNP-teljes.

Bizonyítás elég bonyolult.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 11 / 27

(59)

Cook–Levin-tétel

Van-e NP-teljes probléma?

Definíció

SATprobléma:

Bemenet:ΦBoole-fomula Kérdés: Kielégíthet ˝o-eΦ?

Tétel (S. A. Cook, L. Levin, 1971) ASAT problémaNP-teljes.

Bizonyítás elég bonyolult.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 11 / 27

(60)

Cook–Levin-tétel

Van-e NP-teljes probléma?

Definíció

SATprobléma:

Bemenet:ΦBoole-fomula Kérdés: Kielégíthet ˝o-eΦ?

Tétel (S. A. Cook, L. Levin, 1971) ASAT problémaNP-teljes.

Bizonyítás elég bonyolult.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 11 / 27

(61)

Cook–Levin-tétel

Van-e NP-teljes probléma?

Definíció

SATprobléma:

Bemenet:ΦBoole-fomula Kérdés: Kielégíthet ˝o-eΦ?

Tétel (S. A. Cook, L. Levin, 1971) ASAT problémaNP-teljes.

Bizonyítás elég bonyolult.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 11 / 27

(62)

További NP-teljes feladatok

Tétel

Ha az X problémaNP-teljes, Y ∈NPés X ≺Y , akkor Y isNP-teljes.

Bizonyítás.

Láttuk, hogy a Karp-redukció tranzitív.

=⇒HaX ≺Y ésZ ≺X teljesül∀Z ∈NPproblémára.

=⇒Z ≺Y teljesül∀Z ∈NPproblémára.

=⇒Y ∈NP-nehéz.

MivelY ∈NPis =⇒Y ∈NP-teljes.

Nem kell mármindenNP-beli problémát azY-ra redukálni; elég ezt megtenniegyetlenNP-teljesX problémával.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 12 / 27

(63)

További NP-teljes feladatok

Tétel

Ha az X problémaNP-teljes, Y ∈NPés X ≺Y , akkor Y isNP-teljes.

Bizonyítás.

Láttuk, hogy a Karp-redukció tranzitív.

=⇒HaX ≺Y ésZ ≺X teljesül∀Z ∈NPproblémára.

=⇒Z ≺Y teljesül∀Z ∈NPproblémára.

=⇒Y ∈NP-nehéz.

MivelY ∈NPis =⇒Y ∈NP-teljes.

Nem kell mármindenNP-beli problémát azY-ra redukálni; elég ezt megtenniegyetlenNP-teljesX problémával.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 12 / 27

(64)

További NP-teljes feladatok

Tétel

Ha az X problémaNP-teljes, Y ∈NPés X ≺Y , akkor Y isNP-teljes.

Bizonyítás.

Láttuk, hogy a Karp-redukció tranzitív.

=⇒HaX ≺Y ésZ ≺X teljesül∀Z ∈NPproblémára.

=⇒Z ≺Y teljesül∀Z ∈NPproblémára.

=⇒Y ∈NP-nehéz.

MivelY ∈NPis =⇒Y ∈NP-teljes.

Nem kell mármindenNP-beli problémát azY-ra redukálni; elég ezt megtenniegyetlenNP-teljesX problémával.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 12 / 27

(65)

További NP-teljes feladatok

Tétel

Ha az X problémaNP-teljes, Y ∈NPés X ≺Y , akkor Y isNP-teljes.

Bizonyítás.

Láttuk, hogy a Karp-redukció tranzitív.

=⇒HaX ≺Y ésZ ≺X teljesül∀Z ∈NPproblémára.

=⇒Z ≺Y teljesül∀Z ∈NPproblémára.

=⇒Y ∈NP-nehéz.

MivelY ∈NPis =⇒Y ∈NP-teljes.

Nem kell mármindenNP-beli problémát azY-ra redukálni; elég ezt megtenniegyetlenNP-teljesX problémával.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 12 / 27

(66)

További NP-teljes feladatok

Tétel

Ha az X problémaNP-teljes, Y ∈NPés X ≺Y , akkor Y isNP-teljes.

Bizonyítás.

Láttuk, hogy a Karp-redukció tranzitív.

=⇒HaX ≺Y ésZ ≺X teljesül∀Z ∈NPproblémára.

=⇒Z ≺Y teljesül∀Z ∈NPproblémára.

=⇒Y ∈NP-nehéz.

MivelY ∈NPis =⇒Y ∈NP-teljes.

Nem kell mármindenNP-beli problémát azY-ra redukálni; elég ezt megtenniegyetlenNP-teljesX problémával.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 12 / 27

(67)

További NP-teljes feladatok

Tétel

Ha az X problémaNP-teljes, Y ∈NPés X ≺Y , akkor Y isNP-teljes.

Bizonyítás.

Láttuk, hogy a Karp-redukció tranzitív.

=⇒HaX ≺Y ésZ ≺X teljesül∀Z ∈NPproblémára.

=⇒Z ≺Y teljesül∀Z ∈NPproblémára.

=⇒Y ∈NP-nehéz.

MivelY ∈NPis =⇒Y ∈NP-teljes.

Nem kell mármindenNP-beli problémát azY-ra redukálni; elég ezt megtenniegyetlenNP-teljesX problémával.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 12 / 27

(68)

További NP-teljes feladatok

Tétel

Ha az X problémaNP-teljes, Y ∈NPés X ≺Y , akkor Y isNP-teljes.

Bizonyítás.

Láttuk, hogy a Karp-redukció tranzitív.

=⇒HaX ≺Y ésZ ≺X teljesül∀Z ∈NPproblémára.

=⇒Z ≺Y teljesül∀Z ∈NPproblémára.

=⇒Y ∈NP-nehéz.

MivelY ∈NPis =⇒Y ∈NP-teljes.

Nem kell mármindenNP-beli problémát azY-ra redukálni; elég ezt megtenniegyetlenNP-teljesX problémával.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 12 / 27

(69)

A 3-SZÍN probléma

Tétel

A3SZÍNproblémaNP-teljes.

Bizonyítás.

Már láttuk, hogy∈NP, belátható, hogySAT≺3SZÍN.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 13 / 27

(70)

A 3-SZÍN probléma

Tétel

A3SZÍNproblémaNP-teljes.

Bizonyítás.

Már láttuk, hogy∈NP, belátható, hogySAT≺3SZÍN.

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 13 / 27

(71)

Maximális méret ˝u független pontrendszer gráfokban

MAXFTLEN

Bemenet:Ggráf,k ∈Z+.

Kérdés: Van-eG-nekk elem ˝u független csúcshalmaza?

Tétel

AMAXFTLNnyelvNP-teljes.

Bizonyítás.

MAXFTLEN∈NP: tanú egy k -elem ˝u S ⊆V(G)független csúcshalmaz. √

Megadunk egy 3SZÍNMAXFTLEN Karp-redukciót: G→(G0,k0) G∈3SZÍN⇔(G0,k0)∈MAXFTLEN

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 14 / 27

(72)

Maximális méret ˝u független pontrendszer gráfokban

MAXFTLEN

Bemenet:Ggráf,k ∈Z+.

Kérdés: Van-eG-nekk elem ˝u független csúcshalmaza?

Tétel

AMAXFTLNnyelvNP-teljes.

Bizonyítás.

MAXFTLEN∈NP: tanú egy k -elem ˝u S ⊆V(G)független csúcshalmaz. √

Megadunk egy 3SZÍNMAXFTLEN Karp-redukciót: G→(G0,k0) G∈3SZÍN⇔(G0,k0)∈MAXFTLEN

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 14 / 27

(73)

Bizonyítás.

G0 megadása: VegyükGhárom másolatát (G(1),G(2),G(3)), minden csúcs három példányát összekötjük.

G(1) G(2) G(3)

|V(G0)|=3|V(G)|és

|E(G0)|=3|V(G)|+3|E(G)|, legyenk0=|V(G)|.

HaGszínezhet ˝o 3 színnel =⇒G0is =⇒

a piros pontok halmazaG0-ben független és|V(G)|van bel ˝olük. √ HaG0-ben van|V(G)|független, akkor legyenS egy ilyen ponthalmaz G’-ben.

=⇒MindenG-belix pontnak pontosan 1 példányát tartalmazzaS.

=⇒Azx pont legyensárga/piros/zöld, ha ez a példányG(1)-ben / G(2)-ben /G(3)-ban van. =⇒ez jó színezésG-ben. √

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 15 / 27

(74)

Bizonyítás.

G0 megadása: VegyükGhárom másolatát (G(1),G(2),G(3)), minden csúcs három példányát összekötjük.

G(1) G(2) G(3)

|V(G0)|=3|V(G)|és

|E(G0)|=3|V(G)|+3|E(G)|, legyenk0=|V(G)|.

HaGszínezhet ˝o 3 színnel =⇒G0is =⇒

a piros pontok halmazaG0-ben független és|V(G)|van bel ˝olük. √ HaG0-ben van|V(G)|független, akkor legyenS egy ilyen ponthalmaz G’-ben.

=⇒MindenG-belix pontnak pontosan 1 példányát tartalmazzaS.

=⇒Azx pont legyensárga/piros/zöld, ha ez a példányG(1)-ben / G(2)-ben /G(3)-ban van. =⇒ez jó színezésG-ben. √

Katona Gyula Y. (BME SZIT) Algoritmuselmélet 13. el ˝oadás 15 / 27

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Buttyán Levente, Híradástechnikai Tanszék 5 Budapesti M ű szaki és Gazdaságtudományi Egyetem.. Applications of

Key establishment in sensor networks © Buttyán Levente, Híradástechnikai Tanszék 3 Budapesti Műszaki és Gazdaságtudományi Egyetem.. Wireless sensor

Electronic Payment Systems © Buttyán Levente, Híradástechnikai Tanszék 3.. Budapesti Műszaki és

A Budapesti Műszaki és Gazdaságtudományi Egyetem (anno Budapesti Műszaki Egyetem) Mezőgazdasági Kémiai Technológia Tanszék, „Non-food” kutatócsoportja 1999-ben

RFID privacy © Buttyán Levente, Híradástechnikai Tanszék 3.. Budapesti Műszaki és

Introduction © Buttyán Levente, Híradástechnikai Tanszék 3 Budapesti Műszaki és Gazdaságtudományi Egyetem..

BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM Fizikai Kémia és Anyagtudományi Tanszék.. Felületkémia Csoport (Nagyné Dr. László Krisztina) Kolloidkémia Csoport

• alkalmazásuk olcsó: a pép fehérítéséhez használt xilanáz kezelés becsült ára 2007-ben kevesebb volt, mint 2 USD/ tonna cellulóz.. • ma már rendelkezésre állnak