Professional Documents
Culture Documents
III.
(a RonyaiIvanyosSzabo: Algoritmusok konyv melle)
Friedl Katalin
BME SZIT
friedl@cs.bme.hu
2008. j
unius 9.
A bonyolults
agelm
elet alapjai: a P
es az NP oszt
aly
Egy algoritmust (elmeleti szempontbol) hatekonynak mondunk, ha lepesszama
felulr
ol becsulhet
o a bemenet hosszanak egy polinomjaval, azaz ha f (n) jeloli
az algoritmus maxim alis kepesszamat az n hossz u bemeneteken, akkor f (n) =
O(nk ) teljes ul valamilyen k pozitv konstansra. Termeszetesen, ha a kime-
net mondjuk exponenci alis hossz u, akkor az algoritmus nem lehet polinom
lepessz
amu. Ez a helyzet peldaul ha az x pozitv egesz bementbol a 2x szamot
akarjuk kisz amolni, hiszen a bemenet hossza, azaz, az x lerasahoz sz ukseges
bitek sz ama dlog(x + 1)e, mg a kimenet hossza x + 1 bit. Azonban elofordulhat,
hogy b ar a kimenet r ovid (1 bit), megsem ismert a feladatra hatekony algorit-
mus. (S ot olyan is el
ofordul, hogy egyaltalan nincs is algoritmus, de most ezzel
az ut obbi esettel nem foglalkozunk majd az MSc kepzesben.)
Mostantol csak olyan tpus u feladatokkal fogunk foglalkozni, amelyekre a
v alasz 1 bit, ezek az u
gynevezett eld ontesi problemak. Ilyenek peldaul, hogy
egy pozitv egesz sz
am prmszam-e,
egy gr
afban van-e Hamilton-kor,
egy gr
af ket adott s es t pontja kozott vezet-e u
t.
1. Definci
o. Egy eld
ontesi problem
ahoz tartoz
o nyelv azoknak a bemeneteknek
a halmaza, amelyekre a valasz igen. A lehetseges bemeneteket (amik teh
at vagy
beletartoznak L-be vagy nem), szavaknak hvjuk.
Az el
oz
o peld
akb
ol az al
abbi nyelveket kapjuk
prm nyelv, ami a prmszamokbol all,
prm= {m > 0 : m prmszam}
(Itt a szavak a bitsorozatok, amikre, mint kettes szamrendszerben felrt
sz
amokra tekintunk.)
1
H a Hamilton-k ort tartalmazo grafokbol allo nyelv,
H= {G : G ir anytatlan graf, van benne Hamilton-kor}
(Itt a szavak bitsorozatok, ha a szo hossza n2 , akkor ezt mint egy n n
matrixot tekintj
uk, a graf pedig az a graf, aminek ez a szomszedossagi
matrixa.)
u
t az olyan grafok nyelve, amiben van s es t kozott u t,
t = {(G, s, t) : G ir
u anytatlan graf , s, t a G cs
ucsai, G-ben vezet s-bol t-be u
t}
2. Defincio. Jel
olje P azoknak a nyelveknek a halmaz at, amelyekhez van olyan
algoritmus, ami minden x bemenetre eld onti, hogy x a nyelvbe tartozik vagy
ama O(|x|k ) valamely k pozitv sz
sem, es az algoritmus lepessz amra. (Itt |x| az
x bemenet hossz at jel
oli, k f
uggetlen x-t
ol.)
Ezt ugy is mondjuk, hogy van a nyelvet polinom idoben felismero (eldonto)
algoritmus.
Az eloz
o peld
akat vizsg
alva konnyen latszik, hogy u t P, mert egy szelessegi
bejar
assal a nyelvbe tartozas eldontheto es ez egy polinom ideju algoritmus. Az
is igaz, hogy prm P, de ez nem t ul egyszer u, sokaig megoldatlan kerdes volt.
A H nyelvr ol nem ismert, hogy P-ben van-e, azaz, hogy van-e ra polinom idoben
mukodo algoritmus (bizonyos specialis grafosztalyok eseten van ilyen).
3. Definci
o. Jel
olje NP azoknak az L nyelveknek a halmaz
at, amelyekre tel-
jes
ul a k
ovetkez gy, hogy Lp P
o: van olyan k > 0 konstans es Lp nyelv u
valamint
x L y, |y| = O(|x|k ) es (x, y) Lp .
Ez azt jelenti, hogy ha x L, akkor van egy polinom hossz u bizonytek (ez az
y), amire az (x, y) p utt polinom idoben igazolja, hogy x L. Az y-t az x
ar egy
tanuj
anak vagy sugasnak is szoktak hvni. Ha viszont x 6 L, akkor nem lehet
ilyen ,,polinom id
oben meggyozo bizonytek.
1. Megjegyz es. Az NP a nemdeterminisztikus polinom ido r ovidtese, es azt
fejezi ki, hogy a definci
oban szereplo y-t nem feltetlen
ul tudjuk hatekonyan meg-
tal
alni. Az NP-be tartoz ashoz azonban elegend o, hogy a tanu letezik amennyiben
x L es ha megkapjuk y-t, akkor gyorsan tudjuk ellen orizni, hogy ez val oban j o
tanu. Ezert is szok
as sugasnak hvni, mert eleg, ha valaki s
ug nek unk egy y sz ot
(ut
ana a helyesseget m ar magunk is tudjuk polinom id oben ellen orizni).
P
eld
ak
H NP, mert egy G H grafhoz jo tan u a graf cs
ucsainak egy, a
Hamilton-k or menten valo felsorolasa. Mivel ez a tan u a graf cs
ucsait
sorolja fel, ezert val oban polinom hossz u lesz. Az Lp nyelv az olyan
(G, v1 , . . . , vn ) bemenetekbol all, ahol G egy iranytatlan graf, v1 , . . . , vn
pedig a G cs ucsainak egy olyan permutacioja, amire fennall, hogy {v1 , v2 },
{v2 , v3 }, . . ., {vn1 , vn }, {vn , v1 } mindegyike ele a grafnak. Vilagos, hogy
ha adott a G gr af es a v1 , . . . , vn sorrend, akkor valoban polinom idoben
ellenorizhet o, hogy a (G, v1 , . . . , vn ) bemenet benne van Lp nyelvben.
2
Legyen o
sszetett= {m > 0 : m egesz, de nem prmszam}.
K
onnyu l sszetett NP, mert legyen
atni, hogy o
Lp = {(m, d) : 1 < d < m, d osztoja m-nek}.
ul, hogy Lp P, egy m osszetett szamhoz jo tan
Erre teljes u az m-nek
egy val
odi d oszt
oja. Ennek hossza legfeljebb annyi, mint m hossza, azaz
k = 1.
Legyen 3szn = {G : G egy iranytatlan egyszer u graf, aminek csucsai
ok 3 sznnel }.
kisznezhet
Itt j
o tan
u lesz a graf cs
ucsainak egy 3 sznnel sznezese, ami, ha n cs
ucsa
van a grafnak, akkor lerhato n darab 1 es 3 kozotti szammal,
Lp = {(G, c1 , . . . , cn ) : 1 ci 3 egy jo sznezese G cs
ucsainak}.
Ekkor Lp P.
o. Egy L nyelv L komplementere azokb
4. Definci ol a szavakb
ol
all, amik nin-
csenek L-ben, azaz L = {x : x 6 L}.
Altal
aban azt tetelezz
uk fel, hogy a szavak a veges hossz
u bitsorozatok, ilyenkor
L pontosan azokb ol a bitsorozatokbol all, amelyek nincsenek L-ben.
5. Definci
o. Jel
olje co NP az NP-beli nyelvek komplementereibol
all
o halmazt,
azaz co NP = {L : L NP}.
A definci
o miatt, mg az NP nyelvek eseteben a defincio szerint a nyelvbe
tartoz
asra van polinom hossz u, polinom idoben ellenorizheto bizonytek, a co NP
nyelveknel arra van r
ovid bizonytek, ha valami nem tartozik a nyelvbe.
t
1. All as. P NP es P co NP.
Bizonytas: Ha L P, akkor valaszthatjuk az Lp nyelvet L-nek es y legyen
az u
res sz o (azaz ilyenkor nincs szukseg
unk arra, hogy megsejts unk egy bi-
zonytekot, polinom id
oben el fel tudjuk ismerni magat az L nyelvet is).
A szamt
astudom any talan legfontosabb (es legnepszer
ubb) nyitott kerdese,
hogy vajon P es NP megegyezik vagy nem. Ha P NP valodi tartalmazas, akkor
ez azt jelentene, hogy vannak olyan kerdesek, amikre van rovid (polinom hossz u)
bizonytek, de ezt a bizonytekot nem lehet polinom idoben megtalalni, azaz
egy jo valasz ellenorzese algoritmikusan lehet lenyegesen egyszer ubb, mint egy
j
o valasz megtal al
asa (ami koznapi logikaval eleg hihetonek tunik). Mint latni
fogjuk, sok nevezetes problema bonyolultsaga m ulik ezen a kerdesen. Ennek
is kosz
onhet o, hogy az ezredfordulon a Clay Mathematics Institute 6 masik
?
matematikai problem aval egyutt a P = co NP problemara is 1 millio dollaros
djat t
uzott ki (l
asd www.claymath.org/millennium/ ).
Ahhoz, hogy jobban megerthess uk ezt a problemat, tovabbi fogalmakra lesz
szukseg. Nyelvek bonyolultsaganak osszehasonltasara szolgal a polinomialis
visszavezetes, vagy m as neven Karp-redukcio.
3
6. Defincio. Legyen L1 es L2 ket nyelv. Az L1 nyelv Karp-redukcioja (poli-
nomialis visszavezetese) az L2 nyelvre egy olyan polinom id oben sz
amolhat
o f
f
uggveny, ami minden sz ohoz egy sz
ot rendel, es teljes
ul r
a, hogy
x L1 f (x) L2 .
olese: L1 L2 .
A jel
A jel
oles arra utal, hogy, mint majd mindjart latni fogjuk, az L2 nyelv
algoritmikusan legal
abb olyan nehez, mint az L1 .
t
2. All as. Ha L2 P es L1 L2 , akkor L1 P.
Bizonytas: Jel olje L2p P azt a polinom idoben felismerheto nyelvet, amit
az NP definci ojabol L2 -re kapunk es legyen f a Karp-redukcio. Ekkor L1p =
{(x, y) : (f (x), y) L2p } jo lesz L1 -hez, hiszen egyreszt
t
4. All as. Ha L1 L2 , akkor L1 L2 .
Bizonyt
as: Vegyuk eszre, hogy ha f egy L1 L2 Karp-redukcio, akkor ugyanez
uggveny egyben egy L1 L2 Karp-redukcio is, hiszen x L1 f (x) L2
a f
ugyanazt jelenti, mint x 6 L1 f (x) 6 L2 .
t
5. All as. Ha L2 co NP es L1 L2 , akkor L1 co NP.
4
as: Mivel L1 L2 , ezert az elozo alltas szerint L1 L2 is teljes
Bizonyt ul.
o szerint Li co NP pontosan akkor, ha Li NP. A feltetel szerint
A definci
L2 NP, teh at a 3. as miatt L1 NP, azaz L1 co NP
allt
t
6. All as. Ha L1 L2 es L2 L3 , akkor L1 L3 , azaz a rel
aci
o tranzitv.
Bizonyt
as: Legyen f az els o es g a masodik Karp-redukcio f
uggvenye. Ekkor
g(f (x)) egy L1 L3 Karp-redukcio. Ehhez azt kell csak meggondolni, hogy
ha |f (x)| = O(|x|k ) es |g(z)| = O(|z|` ), akkor |g(f (x))| = O(|x|k` ), ami |x|-nek
polinomja es x L1 f (x) L2 g(f (x)) L3 .
Szemleletesen egy NP-nehez nyelv legalabb olyan nehez mint barmelyik NP-
beli nyelv (de lehet sokkal nehezebb is), mg az NP-teljes nyelvek az NP osztaly
legnehezebb nyelvei, hisz maguk is NP-ben vannak, es legalabb olyan nehezek,
mint b armely NP-beli nyelv.
?
A P = NP kerdes eld ontesehez elegendo lenne egy NP-teljes nyelvrol meg-
mutatni, hogy P-ben van, hiszen ha az L nyelv NP-teljes, akkor minden L0 NP
ul, hogy L0 L, es ha ugyanekkor L P is igaz, akkor a 2. alltas
nyelvre teljes
ertelmeben L0 P minden L0 NP nyelvre.
Ezert a h
atralev
o reszben NP-teljes nyelvekkel foglalkozunk. Tortenetileg az
els
o NP-teljessegi bizonytast Stephen Cook es Leonid Levin egymastol f ugget-
len
ul, nagyjabol egy idoben, a 70-es evek elejen adta. Az ebben szereplo nyelv
bizonyos fajta logikai fomul akrol szol. A kesobbiekben azutan az NP-teljes nyel-
vek szama gyorsan n ott, m ar a 70-es evek vegen megtoltottek egy egesz konyvet.
Ha m ar van legalabb egy NP-teljes nyelv unk, akkor a tovabbi NP-teljessegi
bizonyt
asok a kovetket o sema szerint keszthetoek:
atjuk, hogy L NP
1. Bel
oleges NP-teljes L0 nyelvre megmutatjuk, hogy L0 L.
2. Egy tetsz
Ez a sema a Karp-redukci o tranzitivitasa (6. alltas) miatt m
ukodik, hiszen az
oja szerint minden L00 NP nyelvre L00 L0 es gy L0 L-
NP-teljesseg definci
b ovetkezik, hogy L00 L is teljes
ol k ul minden L00 NP nyelvre.
Kiindulasi nyelvkent bizonytas nelkul fogadjuk el, hogy a mar korabban
l
atott 3szn NP-teljes. (Mint mar emltett uk, nem ez volt az elso bizonytottan
NP-teljes nyelv, de nek unk jo kezdopont lesz.)
1. T
etel. A 3szn nyelv NP-teljes.
2. Megjegyz es. A hasonl oan definialt 2szn nyelvre 2szn P, hiszen az, hogy
egy graf sznezhet
o-e 2 sznnel egyszeruen ellen orizhet
o (pl. szelessegi bej
ar
assal
kisznezhetok a csucsok ket sznnel, ha egy
altalan van ilyen sznezes).
5
A 3szn nyelv nehezsegenek felhasznalasal mar be tudjuk bizonyjtani mas
nyelvekr ol, hogy NP-teljesek. Eloszor azt szeretnenk megmutatni, hogy grafban
a legnagyobb f uggetlen ponthalmaz meretenek meghatarozasa is algoritmikusan
nehez feladat. Ehhez elobb ezt at kell fordtani egy eldontesi problemava. Tech-
nikai okok miatt ezt u gy celszer
u csinalni, hogy az eldontesi problemaban nem
a maximum ertekere kerdezunk ra, hanem arra, hogy van-e eleg nagy f uggetlen
ponthalmaz. Legyen
6
pontok megfelel oit, a ci -k k
ozul pedig a harmadik sznosztaly megfeleloit. Ek-
kor minden i-re az ai , bi , ci cs ucsok koz ul pontosan egyet valasztottunk, tehat
osszesen n darabot. Ezek a kivalasztott cs
ucsok f
uggetlenek H-ban, mert a
kivalasztott ai -k G-ben f uggetlenek (hiszen azonos szn ure voltak sznezve G-
ben) es ugyanez igaz a bi -kre illetve a ci -kre is. Tovabba, mivel egy G-beli
pontnak csak egy peld anya van benne, ezert a kivalasztott a, b es c pontok
kozott sincsenek elek. Igy tehat (H, n) maxftl.
Meg azt kell megmutatni, hogy ha (H, n) maxftl, akkor G 3szn.
A H gr af egy F f uggetlen ponthalmaza minden i-re az ai , bi , ci pontok koz ul
csak egyet tartalmazhat. Mivel n pont van F -ben, ezert minden i-re az ai , bi , ci
pontok egyiket tartalmaznia is kell. Az F pontjaibol az a tpus uak az eredeti
G-nek egy f uggetlen ponthalmazat adjak, es ugyanez igaz a b, illetve a c tpus u
pontokra is. Egy H-beli n meret u f
uggetlen ponthalmazbol az alabbi modon
lehet a G gr af egy 3 sznnel valo sznezeset megkapni: A f uggetlen ponthalmazba
eso a tpusu pontok G-beli megfeleloit sznezz uk az elso sznnel, a b tpus
u pontok
megfelel oit a masodik sznnel, a c tpus u pontok megfeleloit a harmadik sznnel.
Ezzel G pontjainak megadtuk egy 3 sznnel valo sznezeset, tehat G 3szn.
4. Megjegyz es. Ha a nyelvet u gy definialtuk volna, hogy olyan (G, k) parokbol
all, melyekre a G-beli maxim
alis f
uggetlen ponthalmaz merete pontosan k, ak-
kor azzal a nehezseggel nezt
unk volna szembe, hogy nem vil agos mi lenne egy jo
tanu a nyelvbe tartoz
asra. Ebben az esetben k pont megad asa nem eleg, mert bar
azt tudjuk polinom id oben ellen orizni, hogy az adott k pont val oban egy fugget-
len halmazt alkot, de mi garant alja azt, hogy ennel t
obb pontbol
all
o f
uggetlen
ponthalmaz nincs a gr afban?
A maxftl nyelvhez hasonloan definialhatjuk a legnagyobb teljes reszgrafhoz
tartoz
o nyelvet,
maxklikk = {(G, k) : G egy graf, amiben van k pont
u teljes reszgraf}.
Erre is hasonl
oak igazak, mint a maxftl nyelvre.
4. Tetel. Ha lenne egy A polinom idej u algoritmus, ami felismeri a maxklikk
nyelvet, akkor polinom id oben meg is lehetne hatarozni egy adott grafban egy
maxim alis meret
u teljes reszgr
af pontjainak szam
at.
Bizonyt
as: A bizonyt as itt is hasonloan megy, a legnagyobb klikk merete az A
algoritmus segtsegevel binaris keresessel meghatarozhato.
5. T
etel. A maxklikk nyelv NP-teljes.
Bizonytas: Az vil agos, hogy maxklikk NP, mert az a k pont, amik altal
fesztett reszgraf egy teljes k pont u graf, polinom meret
u es polinom idoben
ellenorizhet o tanu.
Az NP-teljesseg bizonyt asahoz mutatunk egy maxftl maxklikk Karp-
redukci ot. Legyen f (G, k) = (G, k), ahol G a G graf komplementeret jeloli. Ez
egy, a gr af mereteben polinom idoben szamolhato fuggveny es nyilvan
(G, k) maxftl (G, k) maxklikk.
7
Tov
abbi NP-teljes nyelvek (bizonytas nelk
ul)
H = {G : G ir
anytatlan grafban van Hamilton-kor}
Hu
t = {G : G ir
anytatlan grafban van Hamilton-
ut}
s-tHu
t = {(G, s, t) : G iranytatlan grafban van olyan Hamilton-ut,
aminek vegpontjai s es t}
6. T
etel. A re fizo nyelv NP-teljes, ahol
szgra
(azaz a G2 gr
afnak van a G1 gr
affal izomorf reszgr
afja).
5. Megjegyz
es. A hasonl
onak t
un
o
nyelvre igaz, hogy NP-ben van, de nem ismert, hogy NP-teljes-e, vagy hogy
esetleg van-e r
a polinom idej
u algoritmus.
8
A nyelv form
alis ler
asa:
partcio : A d
ontesi feladatban adottak s1 , s2 , . . . , sn pozitv egesz szamok.
A kerdes, hogy ket reszre oszthatoak-e u
gy, hogy a ket resz osszege azonos
legyen, azaz van-e olyan I {1, 2, . . . , n}, melyre
X X
sj = sj ,
jI j6I
teh
at
9
la
dapakola s: Adott n targy, az i-edik merete 0 < si 1 racionalis
sz
am. Kerdes, hogy belepakolhato-e az osszes targy k darab ladaba akkor,
ha minden l ad
aba legfeljebb 1 osszmeretnyi targyat tehet unk.
Pn
EP (azaz egesz ertek
u programozas): Tekints uk a j=1 aij xj bi , xj 0
egyenl
otlensegrendszert, ahol aij , bi adott egesz szamok. Kerdes, hogy ha
adottak meg a cj (1 j n) egesz szamok is, akkor mennyi lesz a
P n
j=1 cj xj maxim alis erteke, ha minden xj egesz szam kell legyen. Az EP
ennek a maximaliz al
asi feladatnak az eldontesi valtozata.
6. Megjegyz es. A hasonl
oan defini
alhat
o 2DH nyelv eseteben 2 elem u halma-
zok szerepelnek. Ezek felfoghatok egy paros gr
af eleinek, es ilyen szemlelettel
a nyelv pontosan azokat a p aros gr
afokat tartalmazza, melyekben van teljes
p
arost at 2DH P (magyar m
as, teh odszer).
7. Megjegyz es. Az eloz
oh
oz hasonl o gondolatmenettel lathat
o, hogy X2C azok-
bol a grafokbol
all, amikben van teljes parost
as. Ismert, hogy a teljes p
arost
as
letezese eld
ontheto polinom id at X2C P.
oben, gy teh
8. Megjegyz es. Ha az utols o (EP) problem anal nem kotj
uk ki, hogy minden
xj egesz sz
am kell legyen, akkor kapjuk a linearis programozas (r oviden LP)
feladatot. Az ehhez tartoz o eldontesi feladat a Posztalyban van (es van r
a t
obb,
a gyakorlatban is hatekonyan m ukodo programcsomag). Viszont, ha megk ove-
telj
uk, hogy a megold as egesz legyen, akkor m ar a feladat NP-teljes lesz. Ez
ut
obbi teny nem meglep o, mivel a kor abban felsorolt nyelvek mindegyike megfo-
galmazhat o egesz programoz as feladatkent is.
Feladatok
1. Jelolje L1 az ir
anytatlan osszefuggo grafokbol allo nyelvet es L2 a Hamil-
ton-k ort tartalmaz o grafokbol allo nyelvet. Lehetseges-e, hogy L1 L2 ,
illetve hogy L2 L1 ?
Megold as: Az, hogy egy graf osszef uggo-e, polinom idoben eldontheto
(pl. egy szelessegi vagy melysegi bejarassal), tehat L1 P. Tudjuk, hogy
az L2 nyelv NP-teljes (L2 =H). Mivel P NP, ezert az NP-teljesseg
oja miatt L1 L2 .
definci
Masreszt viszont, ha letezik az L2 L1 Karp-redukcio, akkor a 2. alltas
miatt L2 P, es gy P = NP. Nem kizart, hogy ez igaz legyen, de a
?
tudom any mai all
asa szerint nem ismert, hogy P = NP.
2. Igazolja, hogy ha a 3szn nyelv benne van co NP-ben, akkor NP = co NP.
10
3. Ismert, hogy a skgr
afokbol allo nyelv P-ben van. Legyen
Mutassa meg, hogy ez a nyelv NP-teljes, vagy mutassa meg, hogy a nyelv
P-ben van.
Megold as: Tudjuk, hogy egy skgrafban nem lehet 4-nel tobb pontu teljes
reszgr
af, hiszen K5 nem rajzolhato skba. Ekkor viszont a nyelvbe tartozas
az alabbi m odon eld
ontheto:
Ellen
orizz
uk, hogy az adott graf skgraf-e, ha nem, akkor keszen va-
gyunk (ezt a feladat szovege szerint meg tudjuk tenni polinom idoben);
Ha k > 4, akkor a valasz ,,nem, es keszen vagyunk;
Ha k 4, akkor ellenorizz uk a graf pontjainak az osszes k elem u
reszhalmaz at. Amennyiben talalunk kozott uk olyat, amin a graf teljes,
akkor a v alasz ,,igen, egyebkent pedig ,,nem. Mivel egy n pont u grafbol
kevesebb mint nk n4 felekeppen tudunk k 4 pontot kivalasztani, es
egy v alaszt
as ellenorzese O(k 2 ) = O(42 ) = O(1) lepes, az algoritmusnak
ez a resze is polinomi alis.
4. P-beli vagy NP-teljes az alabbi nyelv?
Megold as: Bel atjuk, hogy NP-teljes. Az NP-belisegre tan u egy ilyen
kor, melyr
ol ellenorizn
unk kell, hogy tenyleg kor-e G-ben es hogy tenyleg
legalabb k ele van. Mindketto megteheto polinom idoben.
Ezut an megadunk egy H L visszavezetest. Egy tetszoleges G grafhoz
rendeljuk hozz a az f (G) = (G, n) part, ahol n a G pontjainak szama.
Ekkor G H f (G) = (G, n) L. Mivel f polinom idoben szamolhato,
ezert ez egy j
o Karp-redukcio.
5. P-beli vagy NP-teljes az alabbi nyelv?
L = {G : G graf cs
ucsai kisznezhetoek 4 sznnel}
11
egyetlen masik pont sznezesere sem hasznalhato, hiszen x minden mas
ponttal otve. Ez azt jelenti, hogy a G0 graf tobbi resze (ami az
ossze van k
eredeti G-vel izomorf) 3 sznnel van kisznezve, tehat G 3szn.
Megold as: Megmutatjuk, hogy ez a nyelv P-ben van. Egy graf akkor es
csak akkor rendelkezik a kvant tulajdonsaggal, ha van egy olyan pontja,
amit elhagyva p aros grafot kapunk. Ezt viszont tudjuk polinom idoben
ellen
orizni, mert annak eldontesere, hogy egy graf paros graf-e, van poli-
nom idej u algoritmus (egy szelessegi bejaras menten osztjuk a pontokat
ket oszt
alya, ha ellentmondasra jutunk, akkor a graf nem paros), es ezt
kell minden egyes pont elhagyasa utan a maradek grafra vegrehajtani.
7. Egy hivatal u j ep
uletbe fog koltozni. Az epulet minden emeleten ugyan-
akkora ter ulet hasznalhato fel irodak kialaktasara. Minden reszleg meg-
mondta, hogy osszesen mekkora irodater uletre tart igenyt. Azt akarjuk
eldonteni, hogy meg lehet-e oldani a koltozest u gy, hogy egyetlen reszleg
se legyen kettevagva, azaz egy reszleg teljes egeszeben egy emeleten legyen
(de egy emeletre ker ulhet tobb reszleg is). Igazolja, hogy a problemahoz
kapcsolodo nyelv P-ben van, vagy azt, hogy a nyelv NP-teljes.
Megold
as: Jel
olje a kerdeses nyelvet L.
Itt ai jel
oli az i-edik reszleg igenyet, k az ep
ulet szintjeinek szamat b pedig
az egy szinten haszn alhato ter ulet nagysagat.
Ez a nyelv nyilv an NP-ben van, hiszen egy beosztas lehet a tan u, ami-
nek helyesseget polinom idoben ellenorizni tudjuk (es persze a hossza is
polinomi
alis).
L Karp-redukcio.
Megmutatjuk, hogy van partcio
Legyen (s1 , s2 , . . . , sn ) a partcio feladat egy lehetseges bemenete. Ennek
feleltess
P u k meg azt a feladatot, amikor a hivatal ep uleteben 2 szint van,
b = ( si )/2 es az i-edik reszleg helyigenye ai = si . Ezzel a megfeleltetessel
(s1 , s2 , . . . , sn ) partcio a koltozes megoldhato. Tehat az L nyelvre
visszavezethet o egy NP-teljes nyelv, es L NP, ezert L maga is NP-teljes.
12