T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College...
-
Upload
annelies-kuiper -
Category
Documents
-
view
212 -
download
0
Transcript of T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College...
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Fundamentele InformaticaFundamentele InformaticaIN3 005 Deel 2IN3 005 Deel 2
College 5
Cees [email protected]
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
OnderwerpenOnderwerpen
• zoekproblemen en Turing reducties
• zelfreduceerbaarheid: als zoeken niet moeilijker is dan beslissen
• ondoenlijkondoenlijk: de polynomiale hierarchie (PH)
• benaderingsalgoritmen: inleiding en twee voorbeelden
• bestaan er polynomiale analoge algoritmen voor NP?
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
O
Zoeken en optimaliseren Zoeken en optimaliseren
Zoekproblemen:
gegeven een verzameling O van objecten, vind een (willekeurig) object x met eigenschap E(x) (een oplossing)
Ex
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
O
Zoeken en optimaliserenZoeken en optimaliseren
Optimaliseringsproblemen:
gegeven een kostenfunctie c, zoek in O naar object x met eigenschap E(x) waarvoor c(x) minimaal of maximaal is.
E
x
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS Zoek- en optimaliserings Zoek- en optimaliserings problemen: complexiteitproblemen: complexiteit
• Als C een complexiteitsklasse is, dan is FC de klasse van alle functies berekenbaar met de tijd/ruimte begrenzing geassocieerd met C.
• Vb:- FP klasse van alle functies berekenbaar in
polynomiale tijd.
- FNP klasse van alle functies berekenbaar in niet-deterministische polynomiale tijd.
• probleem:
hoe FNP en NP aan elkaar te relateren?
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Turing reductiesTuring reducties
• polynomiale turing reducties
Een probleem A is polynomiaal turing reduceerbaar tot een probleem B (A T B) als er een algoritme XA voor A bestaat dat
- een (hypothetisch) algoritme XB
voor B als subroutine gebruikten
- een polynomiaal algoritme voor A zou zijn als alle XB-aanroepen
O(1)-tijd zouden kosten.
begin ... ... .... : = XB( ); .... ....
.... : = XB( ); ...
.... : = XB( ); ...
end
algoritme XA
algoritme XB voor Bals subroutine aanroep
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Turing reducties: vbTuring reducties: vbMINCOVERGegeven : graaf G = (V, E)Gevraagd: bepaal de omvang van een minimale cover van G
begin
n := |V|;
low := 0; high := n;
while low < high do
mid := (high - low) div 2;
if XVC(V,E,mid) =“yes”
then high := mid
else low := mid;
return mid;
end
MINCOVER ≤T VC
pas binary search toe om de minimale omvang te vinden
XVC is het algoritme voor het beslissingsprobleem Vertex Cover
O(log n) aanroepen van XVC => poly-time turing reductie
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Turingreducties (ii)Turingreducties (ii)
• voor beslissingsproblemen:
- als A B dan ook A T B:many-one reducties (Karp-reducties) zijn te beschouwen als eenmalige aanroepen van een B-algoritme
- voor iedere A: A T Ac
Stel A B met Karp reductie R.
algoritme XA:begin IB := R(IA); return XB(IB);end
dus A T B
XA is polynomiaal als
XB O(1)-tijd kost
een (zoek)probleem A is
NP-hard ( onder T ) als voor iedere B NP, B T A
NP-easy als A T B voor een B NP
NP-equivalent als A NP-hard NP-easy
een (zoek)probleem A is
NP-hard ( onder T ) als voor iedere B NP, B T A
NP-easy als A T B voor een B NP
NP-equivalent als A NP-hard NP-easy
Definities
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
NP-easy en (co)-NPNP-easy en (co)-NP
NP-easy omvat NP en co-NP:
Laat A NP.• omdat A T A, geldt A NP-easy NP NP-easy
• omdat Ac T A, geldt Ac NP-easy co-NP NP-easy
Observatie 2
Observatie 1
NP-easy is (naar beneden) gesloten onder T :
als A NP-easy en B T A dan B NP-easy
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
NP-easy
P, NP, Co-NP en NP-easyP, NP, Co-NP en NP-easy
Co-NPC NPC
NPCo-NP
PNP-easy = { A | B NP, A T B }
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS Relatie beslissings-en Relatie beslissings-en zoekproblemenzoekproblemen
• beslissingsvariant A
Gegeven x1, ... xn, is er een y waarvoor E(y) geldt ?
• zoekvariant FA•
Gegeven x1, ... xn, geef een y waarvoor E(y) geldt.
• er geldt altijd: A T FA
(gebruik eerst algoritme voor FA om antwoord te bepalen; als er een oplossing y gevonden wordt, geef “ja” als antwoord, anders “nee” ( zie vb SAT )
dwz. als A NPC dan FA NP-Hard!
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
OnderwerpenOnderwerpen
• zoekproblemen en Turing reducties
• zelfreduceerbaarheid
• de polynomiale hierarchie (PH)
• benaderingsalgoritmen: inleiding
• bestaan er polynomiale analoge algoritmen voor NP?
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
ZelfreduceerbaarheidZelfreduceerbaarheid
• Stelling:
Als A een NPC-probleem is dan geldt FA T A. ( alle NPC-problemen zijn zelfreduceerbaar )
• Vb: FSAT T SAT (zie volgende slide):m.a.w. FSAT is in polynomiale tijd oplosbaar als we een orakel voor SAT-problemen kunnen raadplegen.
• Gevolg:
Voor alle FNPC problemen A geldt: A is NP-equivalent (onder T )
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
FSAT FSAT TT SAT: constructie SAT: constructieNotatie• (x1,x2 , ,xn) propositie formule in CNF met variabelen xi
• i,b(xi+1,xi+2, , xn) = i(1, , b, xi+1,xi+2, , xn) de formule waarbij voor x1, , xi-1 de waarheidswaarden 1, , zijn gekozen en voor xi de waarheidswaarde b
begin ans := XSAT( (x1,x2 , ,xn) ); % XSAT beslissingsalgoritme voor SAT
if ans = “no” then return nil % is niet vervulbaar
else % is vervulbaar for i = 1 to n do if XSAT (i,1(xi+1,xi+2, , xn)) = “yes”
then i := 1 else i := 0 % breid de partiele toekenning uit
return (1, , n) % retourneer de gehele toekenning
end
FSAT T SAT
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
OnderwerpenOnderwerpen
• zoekproblemen en Turing reducties
• zelfreduceerbaarheid
• de polynomiale hierarchie (PH)
• benaderingsalgoritmen: inleiding
• bestaan er polynomiale analoge algoritmen voor NP?
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS Hoe moeilijk zijn Hoe moeilijk zijn deze deze problemen?problemen?
Instantie:verzameling U van propositie atomen en C van clauses over U;
Vraag:Is er precies één waarheidstoekenning U -> {0,1} die C waarmaakt
Unique SAT
MinBoolEquivalent
Instantie:een boolese formule F;
Vraag: is F een kortste formule onder alle formules equivalent aan F?
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
??
?
Voorbij NP-easy?Voorbij NP-easy?
Co-NPC NPC
P
NP-easy
Co-NP NP
PSPACE
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Polynomiale hierarchie (1)Polynomiale hierarchie (1)
• Turing reducties kunnen ook beschouwd worden alsaanroepen van een orakel mbv een deterministisch poly-tijd algoritme.
• NP-easy is dan te definiëren als de klasse van beslissings-problemen oplosbaar in polynomiale tijd met deterministisch poly-tijd algoritme dat gebruik maakt van orakel in NP.
notatie: PNP
• NPNP: klasse van beslissingsproblemen oplosbaar in polynomiale tijd met een niet-deterministisch poly-tijd algoritme dat gebruik maakt van orakel in NP.
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Polynomiale hierarchie (2)Polynomiale hierarchie (2)
P = PP PNP NPNP NP = NPP PNP
bedenk dat NP, co-NP PNP
0pΔ = 0
pΣ = 0pΠ =P
kpΣ
k+1pΔ = Pk+1pΣ = k
pΣNP
k+1pΠ = k
pΣco-Σ
Generalisatie
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Polynomiale Hierarchie (3)Polynomiale Hierarchie (3)
P 1
pΔ 1
pΠ 1pΣ
kpΣ k
pΠ k
pΔ
k+1pΔ
(NPco-NP)
NP-easyPH
2pΔ
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS Vb: Minimale Boolese Vb: Minimale Boolese Expressie (MBE) in Expressie (MBE) in 22
• MBE: Gegeven: een boolese formule F, Vraag: is F een kortste formule onder alle formules
die equivalent zijn met F?
• MBE 2 = co-NPNP . gegeven een instantie F van MBE:
1. gok een kortere boolese formule E. % we verifieren no-instanties 2. verifieer of F equivalent is aan E, door met een SAT-orakel na te gaan of ( (E F) (F E) ) vervulbaar is. % output “no” betekent
% dat E equivalent is aan F
3. retourneer “no” als SAT-orakel “no” retourneert.
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Vb: Unieke oplossingenVb: Unieke oplossingen
Unique SAT NPNP: neem volgende programma input : (U,C)begin
1. gok waarheidstoekenning voor C; 2. if =C then
z := SAT(C { { ¬x1, … , ¬xn } | (xi) = 1 , xi U ¬ U };if z = “no” then return “yes”
end
Instantie:verzameling U van propositie atomen, verzameling C van clauses over U
Vraag:Is er precies één waarheidstoekenning die C waarmaakt
Unique SAT
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Relevantie PHRelevantie PH
• NP-problemen: oplosbaar met backtracking algoritmen.
• NPNP - problemen: oplosbaar met double-backtracking algoritmen.
• Voorbeeld: Minimale Boolese ExpressieGegeven een formule F, is F een kortste formule onder alle formules equivalent met F?
dit probleem was een 2 - probleem.
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
OnderwerpenOnderwerpen
• zoekproblemen en Turing reducties
• zelfreduceerbaarheid
• de polynomiale hierarchie (PH)
• benaderingsalgoritmen: inleiding
• bestaan er polynomiale analoge algoritmen voor NP?
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Benaderingsalgoritmen: vbBenaderingsalgoritmen: vb
• MINCOVER: gegeven G = (V,E), geef een minimale vertex cover voor G.
• input : G = (V, E)output: vertex cover C voor G
beginC := ;while E do kies een { u ,v } E; C := C { u, v }; E : = E { { x, y } E : { u, v } { x, y } }
end
verwijder alle kanten uit E die incident zijn met u of v
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS Prestatie MinCover Prestatie MinCover benaderingsalgoritmebenaderingsalgoritme
beginC := ;while E do
kies een {u,v} E;C := C {u,v};E : = E { {x,y} E : {u,v} {x,y} }
end
• C is cover van G• C bevat kanten {u,v}. Zij CE verzameling geselecteerde
kanten => |CE| = 0.5 x |C|• als e,e’ CE dan e e’ = | CE | | Mincover | !• dus | C | = | CE | 2 x | Mincover |
Conclusie: benaderingsalgoritmegarandeert dat gevondenvertexcover C nooit meer dan 2maal zo groot is als optimale
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS Benaderingsalgoritmen Benaderingsalgoritmen voor MinCovervoor MinCover
• Er bestaat een polynomiaal approximatie-algoritme dat een cover C vindt met:
| C | / | Mincover | 2 - (log log V )/ (2 log V )(Monien & Speckenmeyer
1985)
• Er bestaat geen polynomiaal approximatie-algoritme (tenzij P = NP) dat een cover C vindt waarvoor geldt:
| C | / | Mincover | 1.1666 (Hästad 1997)
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS ETSP: een benadering ETSP: een benadering van een optimale tourvan een optimale tour
MST-tour < OPT-toura
b
c
ef
h
ig
d
def dde+ddf
2 x MST-tour < 2 OPT-tour
MST-TSP < 2 OPT-tour
MST-TSP < 2. MST-tour
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
OnderwerpenOnderwerpen
• zoekproblemen en Turing reducties
• zelfreduceerbaarheid
• de polynomiale hierarchie (PH)
• benaderingsalgoritmen: inleiding
• bestaan er polynomiale analoge algoritmen voor NP ?
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Demonstratie Langste PadDemonstratie Langste Pad
• Gegeven het volgende probleem:
Naam: Langste Pad (LPd)Instantie: graaf G = (V,E), integer KVraag: Heeft G een simpel pad ter lengte
van K of meer?
• LPd is een NPC probleem
Demo : Langste Pad in O(1) oplosbaar ?
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
Een tentamenvraagEen tentamenvraag
• Iemand beweert het volgende:
“Het probleem VERTEXCOVER is een exponentieel probleem . Immers, om na te gaan of een instantie I = (G = (V,E), K) een yes-instantie is, moeten er 2K deelverzamelingen V' van V worden onderzocht om na te gaan of V' een nodecover is van V. De totale tijdkosten zijn derhalve minstens 2K en dit is niet polynomiaal in |I|. Derhalve is VERTEXCOVER een exponentieel probleem. Dus is P ongelijk aan NP.”
Deze bewering is
a. onjuist, want 2K is wel degelijk polynomiaal in |I|.b. onjuist; het bestaan van een exponentieel algoritme voor een probleem bewijst niets over de complexiteit van het probleem.c. juist; als er een exponentieel algoritme voor een NP probleem zou bestaan, moet NP wel ongelijk zijn aan P.d. juist; bovenstaande analyse toont aan, dat de worst-case complexiteit van NODECOVER exponentieel is.
TU
Del
ft
Pa
ralle
l an
d D
istr
ibu
ted
Sys
tem
s g
rou
p
PGS
unimodaal transportunimodaal transport
• Gegeven n locaties cij, i =1, ..., n p orders (cij , ci’j’)
positieve integer K.
• Gevraagdis er een sequentie van K of minder transporten zodanig dat alle orders uitgevoerd kunnen worden; dwz. is er een rij T = ci1j1c12j2 . . . cikjk van locaties met k K + 1, zodat voor iedere order (cij , ci’j’) geldt, dat T op te splitsen is in 3 stukken T1, T2 en T3 met T = T1 cij T2 ci’j’ T3 ?
Bewijs dat unimodaal transport NP-compleet is;Geef een 2-approximatie algoritme voor dit probleem