Voorbeeld uitwerking reductie bewijs
description
Transcript of Voorbeeld uitwerking reductie bewijs
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
Voorbeeld Voorbeeld
uitwerking reductie bewijsuitwerking reductie bewijsin3120
Cees Witteveen
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
Twee beslissingsproblemenTwee beslissingsproblemen• Vertex Cover (VC)
- instantie: een graaf G = (V,E) en K Z+
- vraag: heeft G een vertex cover ter grootte van K?
dwz. bestaat er een V’ V, |V’| K, zodanig dat voor elke {v,w} E geldt: v V’ of w V’?
• Clique- instantie: een graaf G = (V,E) en K Z+
- vraag: bestaat er een clique ter grootte van K in G?dwz: bestaat er een V’ V, |V’| K, zodanig dat voor elke v,w V’ geldt {v,w} E ?
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
Poly-tijd reductiePoly-tijd reductie• Constructie reductie van VERTEX COVER naar
CLIQUE:
Construuer f zodanig dat geldt:
Als I = (G = ( V, E ), K) met K Z+ een instantie van VC is,dan is
f(I ) = (G’ = ( V’, E’ ), K’) met V’ = V E’ = { { v,w } | v w V, {v,w} E }K’ = | V | - K ;
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
Hoe correctheid te bewijzenHoe correctheid te bewijzen
• ga na dat transformatie polynomiaal is.
• ga na dat iedere yes-instantie van VC wordt getransformeerd naar een yes-instantie van CLIQUE;
• ga na dat een getransformeerde yes-instantie in CLIQUE altijd afkomstig is van een oorspronkelijke yes-instantie van VC.
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
1. polynomialiteit transf’tie 1. polynomialiteit transf’tie
• Laat I = (G =(V,E),K) een VC-instantie zijn. We tonen aan dat de geconstrueerde CLIQUE-instantie I’ = f(I) = (G’ = (V’, E’), K’) in een tijd polynomiaal in |I| (de lengte van I) kan worden geconstrueerd.
• V’ wordt verkregen door V te copieren: kost O(|V|) O(|I|)-tijd.
• E’ wordt verkregen door voor alle paren v,w uit V na te gaan of (i) v w en (ii) {v,w} E; als aan beide condities voldaan is, wordt {v,w} opgenomen in E’; dit kost per paar v,w uit V, O(|E|)-tijd; dus totaal: O(|E|x|V|2) O(|I|3)-tijd
• Tenslotte moeten om K’ te berekenen |V| en K’ = |V| - K worden
berekend: kost O(|V|) + O(max(log K, log |V |)) O(|I|)-tijd
Totale tijd kosten transformatie:O(|I|) + O(|I|3)+O(|I|) = O(|I|3)
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
2. Correctheid transformatie2. Correctheid transformatie
• a. yes-instanties I van VC worden afgebeeld op yes-instanties van f(I) van CLIQUE
• Stel I = (G =(V,E),K) yes-instantie van VC; dan is er een VCW ter grootte van K in G. We tonen aan dat W’ = V - W een clique is in f(I) = (G’ = (V’,E’), K’) en derhalve dat f(I) een yes-instantie van CLIQUE is.
• Neem twee willekeurige knopen uv in W’; stel {u,v} E’; dan moet volgens de constructie gelden: {u,v} E. Maar omdat W een vertex cover is, zou dan u W of v W. Er geldt echter:u en v beide niet in W!. Dus kan de veronderstelling {u,v} E’ niet waar zijn, dwz. {u,v} E’.Maar dan geldt W’ is een clique ter grootte van |V| - K = K’
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
2. Correctheid (vervolg)2. Correctheid (vervolg)
• b. als I’ een yes-instantie is van CLIQUE dan is iedere I waarvoor f(I) = I’ een yes-instantie van VC.
Stel I’ = (G’ =(V’,E’),K’) is een yes-instantie van CLIQUE en voor I = (G =(V ,E),K ) geldt: I’ = f(I). We tonen aan, dat I een yes-instantie is van VC.
Omdat I’ = (G’ =(V’,E’),K’) een yes-instantie is van CLIQUE , bestaat er een clique W’ met |W’| = K’ in G’.We laten nu zien dat W = V - W een vertex cover is van G. dwz I is een yes-instantie van VC. Neem een kant {u,v} E. Dan geldt:{u,v} E’ en derhalve u W’ of v W’. En dit betekent:u V- W’ = W of v V-W’ = W. M.a.w. W is een vertex cover ter grootte van |V| - K’ = K in G.
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
2. Correctheid (anders)2. Correctheid (anders)• Met behulp van een beetje logica kunnen we het bewijs veel korter opschrijven:
I = (G =(V ,E),K ) is een yes-instantie van VC G heeft een vertex cover W ter grootte van K
W V [ |W| = K u,v V [ {u,v} E (u W v W )]
W V [ |W| = K u,v V [ (u W v W ) ({u,v} E) ] W V [ |W| = K u,v V [( u W v W ) {u,v} E’ ] W V [ |W| = K u,v V [( u V - W v V - W ) {u,v} E’ ] W V [ W’ = V - W |W’| = |V| - K
u,v V [( u W’ v W’ ) {u,v} E’ ] G’ = (V, E’) heeft een clique W’ ter grootte van K’ = |V| - K R(I) = (G’ =(V ,E’), K’ ) is een yes-instantie van CLIQUE
TU
Delft
Gro
ep P
ara
llelle
en G
edis
trib
ueerd
e S
yst
em
en
Een opgave om zelf te doenEen opgave om zelf te doen
• W V is een Dominating Set van G = (V,E) ter grootte van K als - |W| = K en - voor geen enkel tweetal knopen u,v in W geldt:
{u,v} E.
• Opgave:Geef een reductie van het vertex cover probleem naar het Dominating Set probleem:
Gegeven graaf G= (V,E) en pos. integer K, heeft G een dominating set ter grootte van K?