T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College...

32
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica Fundamentele Informatica IN3 005 Deel 2 IN3 005 Deel 2 College 5 Cees Witteveen [email protected]

Transcript of T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College...

Page 1: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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]

Page 2: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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?

Page 3: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 4: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 5: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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?

Page 6: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 7: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 8: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 9: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 10: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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 }

Page 11: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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!

Page 12: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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?

Page 13: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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 )

Page 14: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 15: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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?

Page 16: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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?

Page 17: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 18: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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.

Page 19: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 20: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

k+1pΔ

(NPco-NP)

NP-easyPH

2pΔ

Page 21: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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.

Page 22: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 23: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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.

Page 24: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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?

Page 25: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 26: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 27: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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)

Page 28: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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

Page 29: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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 ?

Page 30: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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 ?

Page 31: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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.

Page 32: T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen witt@cs.tudelft.nl.

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