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 2 Cees Witteveen.

Verwante presentaties


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

1

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

3 T U Delft Parallel and Distributed Systems group PGS Onderwerpen Reducties: - definitie en correctheid Complexiteitsklassen - machine modellen: DTM, NDTM - P, NP, E, EXP, PSPACE P, NP en polynomiale reducties - complete en harde problemen: NPC, NP-Hard - eigenschappen van NPC

4 T U Delft Parallel and Distributed Systems group PGS Reducties - notatie: A  B - betekenis: als de tijd/ruimte benodigd voor de reductie niet essentieel is, is A niet essentieel moeilijker dan B (en evt. gemakkelijker) - we concentreren ons op many-one reducties (Karp-reducties) voor beslissingsproblemen. - we geven aan hoe de correctheid van reducties bewezen wordt

5 T U Delft Parallel and Distributed Systems group PGS Algoritme voor A YBYB Karp-reducties  m YAYA A  m B: voor alle I A  D A : I A  Y A  R(I A )  Y B algoritme B yes iff R(I)  Y B no iff R(I)  Y B A I B R yes iff I  Y A no iff I  Y A

6 T U Delft Parallel and Distributed Systems group PGS Correctheid reducties Neem een willekeurige instantie I A  Y A en toon aan dat R( I A )  Y B. Neem een willekeurige instantie I B  R(Y A ) en toon aan dat voor alle instanties I A met R(I A ) = I B geldt: I A  Y A.

7 T U Delft Parallel and Distributed Systems group PGS Reductie: vb Hamiltoons Circuit (HAMC) instantie: G =(V,E) vraag: is er een simpel circuit in G dat alle knopen uit V bevat? Traveling Sales Person (TSP) instantie: verzameling S van n steden; afstandenmatrix D = [d ij ] met d ij  Z + ; een integer B  Z +. vraag: bestaat er een tour langs alle steden in S met totale afstand  B?

8 T U Delft Parallel and Distributed Systems group PGS Voorbeeld: HAMC  TSP input: HAMC-instantie G = (V,E) output: yes alss G in Y HAMC begin C := V ; D := [ d ij ] |V| x |V| where d ij = 1 if { v i, v j }  E and d ij = 2 else; B := |V|; return TSP(C,D,B) end algoritme voor het TSP probleem

9 T U Delft Parallel and Distributed Systems group PGS Voorbeeld: reductie idee HAMC instantie G = (V, E) TSP instantie (V, D, |V| )

10 T U Delft Parallel and Distributed Systems group PGS Correctheid reductie Stel I = (G = (V,E))  Y HAMC ; we bewijzen dat R(I) = (V, D, |V|)  Y TSP ; Stel R(I) = (V,D, |V|)  Y TSP ; we bewijzen dat I = ( G = (V,E) )  Y HAMC (bewijs op college)

11 T U Delft Parallel and Distributed Systems group PGS Complexiteitsklassen Definitie van complexiteitsklassen Machinemodellen Onderscheid tussen klassen: hierarchiestellingen Onderscheid binnen complexiteitsklassen: geschikte reducties, complete problemen Eigenschappen polynomiale reducties

12 T U Delft Parallel and Distributed Systems group PGS Complexiteitsklassen Complexiteitsklasse Een complexiteitsklasse C gegeven een - machine model M - tijd/ruimte begrenzing B is de verzameling problemen oplosbaar met M in tijd/ruimte begrenzing B. Voorbeelden: - P: de klase problemen oplosbaar met DTM in polynomiale tijd; - NP : de klasse problemen oplosbaar met NDTM in polynomiale tijd.

13 T U Delft Parallel and Distributed Systems group PGS Machine modellen Deterministiche Turingmachine: - voor iedere input is er precies 1 (succesvol / falend / oneindig) berekeningspad. Niet-deterministiche Turingmachine: - voor gegeven input is meer dan 1 berekeningspad mogelijk; berekening is succesvol als er tenminste een succesvol (eindig) berekeningspad is.

14 T U Delft Parallel and Distributed Systems group PGS Complexiteitsklassen Tijdklassen - P O( n O(1) ) - NP - EO(2 O(n) ) - NE - EXPO(2 n^O(1) ) - NEXP Ruimteklassen - L : O(log n) - NL: - PolyL:O(log O(1) n) NPolyL - PSPACE O(n O(1) ) NPSPACE - EXPSPACE O(2 n^O(1) ) NEXPSPACE

15 T U Delft Parallel and Distributed Systems group PGS Onderscheid tussen klassen We onderscheiden P, E, EXP etc. Er geldt in ieder geval: P  E  EXP Maar geldt ook P  E en E  EXP? Hiervoor gebruiken we hierarchiestellingen

16 T U Delft Parallel and Distributed Systems group PGS Hierarchie stellingen lineaire speed-up: vooruitgang in technologie doet niet ter zake: - als f(n) =  (g(n)) en A een probleem is oplosbaar in f(n) [g(n)]- tijd, dan is A ook oplosbaar in g(n) [f(n)] -tijd. voorbeeld: - als A oplosbaar is in 100 x n 2 -tijd, dan is A ook oplosbaar in n 2 -tijd.

17 T U Delft Parallel and Distributed Systems group PGS Hierarchie stellingen ruimte-onderscheid: - als f(n) en g(n) ‘nette’ ruimtebegrenzingen zijn en lim n  inf f(n)/g(n) = 0 dan is er een berekenbaar probleem in ruimte begrensd door g(n), maar niet door f(n). Voorbeeld: - L  L 2 want lim n  inf {log(n) / log 2 (n)}= 0

18 T U Delft Parallel and Distributed Systems group PGS Hierarchie stellingen (2) tijdseparatie: - als f(n) en g(n) ‘nette’ tijdbegrenzingen zijn en lim n  inf {f(n) / g(n)} = 0 dan is er een probleem dat oplosbaar is in g(n)  log(g(n))  - tijd, maar niet in f(n)-tijd. voorbeeld - P  E : lim n  inf n k / 2 n = 0 en 2 n x n  O(2 O(n) ) - E  EXP: lim n  inf 2 cn / 2 n^k = 0 en 2 n ^k x n k  O(2 n^O(1) )

19 T U Delft Parallel and Distributed Systems group PGS Complexiteitsklassen: relaties L NL P NP EXP (N)PolyL (N)PSPACE (N)EXPSPACE LkLk NL k

20 T U Delft Parallel and Distributed Systems group PGS Geschikte reducties en complexiteitsklassen Als C een complexiteitsklasse is en  een reductie, dan is  geschikt voor C als geldt dat C “naar beneden gesloten” is onder  dwz: voor alle X, Y: als X  Y en Y  C dan ook X  C intuitie “  geschikt voor C”: tijd of ruimte benodigd voor uitvoering reductie valt binnen de begrenzingen van C

21 T U Delft Parallel and Distributed Systems group PGS Complete problemen Stel C een complexiteitsklasse en ≤ een (geschikte) reductie. Een probleem A is - C -hard onder  als voor iedere X in C geldt X  A - C -compleet onder  als A is C -hard onder  en A  C - C -een voudig onder  als voor een X  C geldt A  X

22 T U Delft Parallel and Distributed Systems group PGS Geschikte reducties reducties geschikt voor complexiteitsklassen die P omvatten: - polynomiale reducties: reducties uit te voeren in O(n O(1) ) - tijd - logspace reducties: reducties uit te voeren in O(log n) - ruimte

23 T U Delft Parallel and Distributed Systems group PGS Vb: (polynomiale) reducties Stel - A  m B - reductie is tijdbegrensd door functie T  (.) - X B is algoritme voor B tijdbegrensd door T B (.), dan - is er ook een algoritme X A voor A, begrensd door T A (n)= T  (n) + T B (n + T  (n) ) conclusie: - als T  en T B polynomiaal begrensd zijn dan is T A ook polynomiaal begrensd.


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

Verwante presentaties


Ads door Google