De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.

Verwante presentaties


Presentatie over: "T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen."— Transcript van de presentatie:

1 T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen

2 T U Delft Parallel and Distributed Systems group PGS Uitwerking opgave Naam: Half Clique Gegeven: Graaf G =(V,E). Vraag : Heeft G een clique met |V|/2 knopen ? Te bewijzen: Half Clique is in NPC (aanname: bekend is dat CLIQUE in NPC) G=(V,E), K |V| = n Clique instantieHalf Clique instantie G + G 1 + G 2 G2G2 |V 2 |=n G=(V,E), K G |V| = n G1G1 |V 1 | = 2n-2k G 1 is volledig

3 T U Delft Parallel and Distributed Systems group PGS Overzicht Optimaliseringsproblemen - Turingreducties - FP en FNP - Zelf-reduceerbaarheid De polynomiale hierarchie - Turing machines met een orakel - De klassen PH en PSPACE Wat komt er volgende week?

4 T U Delft Parallel and Distributed Systems group PGS O E Zoeken, optimaliseren, opsommen en tellen zoekproblemen: gegeven een verzameling O van objecten vind een (willekeurig) object x met eigenschap E(x) (een oplossing) x

5 T U Delft Parallel and Distributed Systems group PGS O E Zoeken, optimaliseren, opsommen en tellen optimaliseringsproblemen: gegeven een kostenfunctie c zoek in O naar object x met eigenschap E(x) waarvoor c(x) minimaal of maximaal is. x

6 T U Delft Parallel and Distributed Systems group PGS O E Zoeken, optimaliseren, opsommen en tellen opsommingsproblemen: zoek in O naar alle objecten x met eigenschap E(x).

7 T U Delft Parallel and Distributed Systems group PGS O E Zoeken, optimaliseren, opsommen en tellen telproblemen: zoek in O naar het aantal objecten x met eigenschap E(x). 7

8 T U Delft Parallel and Distributed Systems group PGS Zoek- en optimaliserings problemen: 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 beslissings en zoekproblemen aan elkaar te relateren?

9 T U Delft Parallel and Distributed Systems group PGS Turing reducties polynomiale turingreducties Een probleem A is een polynomiaal turing reduceerbaar tot een probleem B als er een algoritme X A voor A bestaat dat - een (hypothetisch) algoritme X B voor B als subroutine gebruikt en - een polynomiaal algoritme voor A zou zijn als alle X B -aanroepen O(1)-tijd zouden kosten. Notatie: A  T B

10 T U Delft Parallel and Distributed Systems group PGS Turingreducties (ii) voor beslissingsproblemen: - als A  B dan ook A  T B: many-one reducties zijn te beschouwen als eenmalige aanroepen van een B-algoritme - voor iedere A: A  T A c een probleem B is - NP-hard (onder  T ) als voor iedere A  NP, A  T B; NP-easy als B  T A voor een A  NP; NP-equivalent als A  NP-hard  NP-easy ;

11 T U Delft Parallel and Distributed Systems group PGS Relatie beslissings-en zoekproblemen beslissingsvariant A: Gegeven x 1,... x n, is er een y waarvoor E(y) geldt ? zoekvariant FA: Gegeven x 1,... x n, 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 y gevonden wordt, geef “ja” als antwoord anders “nee”)

12 T U Delft Parallel and Distributed Systems group PGS Zelfreduceerbaarheid Voor sommige problemen geldt ook: FA  T A (zelfreduceerbare problemen) vb: FSAT  T SAT. FSAT is in polynomiale tijd oplosbaar als we een orakel voor SAT-problemen kunnen raadplegen. Voor FSAT geldt nu: FSAT is NP-equivalent (onder  T )

13 T U Delft Parallel and Distributed Systems group PGS FSAT  T SAT: constructie input: U = {u 1,u 2,... u n }, C = {C 1,..., C m } output: t met t(C) = 1 als C vervulbaar; anders nil begin t := nil; sat := true; i := 1 while (i  n and sat) do C’ := C/ { u i := 0 }; if SAT(U,C’) = “yes” then { t := t  {u i  0 }; i := i +1; C := C’ } else { C’ : = C/ { u i := 1 }; if SAT(U,C’) = “yes” then { t := t  {u i  1 }; i := i +1; C := C’ } else t:= nil; sat := false } return t end Dit is een aanroep van het SAT-orakel (U,C) moet wel onvervulbaar zijn

14 T U Delft Parallel and Distributed Systems group PGS NP-equivalent: vb TSP-optval is NP-equivalent 1. TSP  T TSP-optval raadpleeg TSP-opt orakel voor optimale waarde W van oplossing; als W  K geef “ja” anders “nee” 2. TSP-optval  T TSP gebruik TSP-orakel log (|C| x d max )-maal om met binary search waarde optimale tour vast te stellen TSP-optval : gegeven een TSP-instantie, bepaal de waarde W van een kortste tour

15 T U Delft Parallel and Distributed Systems group PGS P, NP, Co-NP en NP-easy Co-NPC NPC NPCo-NP P NP-easy

16 T U Delft Parallel and Distributed Systems group PGS Voorbij NP-easy? Co-NPC NPC P NP-easy Co-NP NP PSPACE ? ?? ? ?

17 T U Delft Parallel and Distributed Systems group PGS Polynomiale hierarchie (1) NP-easy: klasse van beslissingsproblemen oplosbaar in polynomiale tijd met deterministisch algoritme dat gebruik maakt van orakel in NP. notatie: P NP NP NP : klasse van beslissingsproblemen oplosbaar in polynomiale tijd met niet-deterministisch algoritme dat gebruik maakt van orakel in NP.

18 T U Delft Parallel and Distributed Systems group PGS Polynomiale hierarchie (2) P = P P  P NP  NP NP NP = NP P  P NP Generalisatie:

19 T U Delft Parallel and Distributed Systems group PGS Polynomiale hierarchie (3) (P) (NP) (co-NP) (NP-equivalent) PH

20 T U Delft Parallel and Distributed Systems group PGS Relevantie PH NP-problemen: oplosbaar met backtracking algoritmen. NP NP - problemen: oplosbaar met double-backtracking algoritmen. Voorbeeld: Minimale Boolese Expressie Gegeven een formule F, is F een kortste formule onder alle formules equivalent met F? is in  2.

21 T U Delft Parallel and Distributed Systems group PGS Vb: Minimale Boolese Expressie (MBE) in  2 MBE: Gegeven een boolese formule F, is F een kortste formule onder alle formules die equivalent zijn met F?  2 = co-NP NP. We moeten derhalve laten zien dat no - instanties van MBE efficient te verifieren zijn met een NP-orakel: Neem nu een instantie F van MBE en gok een kortere boolese formule E. Verifieer nu of F equivalent is aan E, dwz. of E  F. Dit kan door met een SAT-orakel na te gaan of  ((E  F)  (F  E)) vervulbaar is. Als het antwoord “no” is, is E equivalent aan F.

22 T U Delft Parallel and Distributed Systems group PGS Voor de volgende week: zijn sommige NPC-problemen toch doenlijk? benaderingen: iets is altijd beter dan niets (of toch niet). een O(1)-algoritme voor een langste pad probleem. (met prijs voor de beste verklaring)


Download ppt "T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen."

Verwante presentaties


Ads door Google