De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

T U Delft Groep Parallelle en Gedistribueerde Systemen PGS College in345 Deel 2 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie.

Verwante presentaties


Presentatie over: "T U Delft Groep Parallelle en Gedistribueerde Systemen PGS College in345 Deel 2 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie."— Transcript van de presentatie:

1 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS College in345 Deel 2 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen

2 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Overzicht Deel 2 Inhoud ondoenlijke en doenlijke problemen: praktische aspecten complexiteitstheorie Literatuur Moret, The Theory of Computation Hfst 6 + 7 + 8 + 9 Praktikum 2 opgaven: bewijs correctheid gegeven een reductie ontwerpen van een reductie + correctheidsbewijs

3 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Organisatie praktikumopgaven - groepsindeling zoals voor deel 1 - afronden voor einde kwartaal 3 - opgave 2 verstrekt na voltooiing opgave 1 - correctie: assistenten Zutt en Broekens aanvullende informatie zie pds.twi.tudelft/vakken/in345 tentamen meerkeuzevragen (5/6) + open vragen (1/2)

4 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Onderwerpen (1) Inleiding Complexiteitstheorie: - doenlijke, ondoenlijke en onoplosbare problemen - reductietechnieken - complexiteitsklassen - complete problemen, hierarchie-stellingen

5 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Onderwerpen (2) Doenlijk vss ondoenlijk: P versus NP - polynomiale reducties en polynomiale problemen - deterministiche vss niet-deterministische algoritmen - (N)P-volledige problemen - technieken voor constructie van reducties

6 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Onderwerpen (3) Praktische behandeling van NP problemen - complexiteit en grote getallen: getalproblemen, pseudo-polynomiale algoritmen en sterke NP-volledigheid - de waarde van heuristieken: voor welke problemen zijn er polynomiale approximatietechnieken

7 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Onderwerpen (4) Bijzondere onderwerpen - parallellisme: een oplossing voor ondoenlijkheid? - zero-knowledge proof systems waarom ondoenlijkheid ook een deugd kan zijn - speciale computationele modellen dna computing : de belofte van massief parallellisme quantum computing: natuurlijk indetermisme

8 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Complexiteitstheorie (1) Alle problemen Berekenbare problemen Doenlijke problemen doenlijk in tijd doenlijk in ruimte

9 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Ondoenlijk probleem? Diagnose: Gegeven: - een systeembeschrijving S, - een verzameling observaties O, - een verzameling mogelijke fouten (afwijkingen) F, - een positieve integer K Vraag: - is er een deelverzameling F’ van F met |F’| ≤ K zodanig dat S  O  F’ consistent is.

10 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Diagnose is moeilijk Tijdkritisch proces: fouten moeten snel gevonden worden ! Rekenintensief proces: fouten opsporen kost veel tijd !

11 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Ook moeilijk met snellere computers? 500 mogelijke fouten. diagnose: 1 uur 1000 mogelijke fouten. diagnose: 0.5 jr 5000 mogelijke fouten. diagnose: 10 19 jr met huidig systeem

12 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Ook moeilijk met snellere computers? 500 mogelijke fouten. diagnose: 1 uur 1000 mogelijke fouten. diagnose: 0.5 jr 5000 onderdelen. diagnose: 10 19 jr 10 x sneller: 503 onderdelen per uur. 10.000 x sneller: 513 onderdelen per uur. met huidig systeemmet sneller systeem

13 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Complexiteitstheorie (2) Complexiteitstheorie: klassificatie van problemen naar - maximale hoeveelheid tijd of - maximale hoeveelheid benodigde ruimte die het beste algoritme voor oplossing van het probleem in het slechtste geval nodig heeft. Voorbeeld: vinden van het maximum in rij : O(n)

14 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Complexiteitstheorie (vb) er zijn diverse algoritmen voor het sorteerprobleem: - bubble sort, insertion sort :O(n 2 ) - quicksort: O(n 2 ) - heapsort, mergesort:O( n log n) we kunnen bewijzen dat ieder sorteer algoritme  (n log n) - tijd nodig heeft. complexiteit van het sorteerprobleem is dus O(n log n).

15 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Problemen exacte ondergrenzen complexiteit voor weinig problemen bekend. - we kiezen daarom liever voor relatieve moeilijkheidsgraad: probleem A is niet essentieel moeilijker dan B. O(n), O(n 2 )... karakterizeringen niet robuust: afhankelijk eigenaardigheden comp. model. - we kiezen daarom hoofdzakelijk voor onderscheid polynomiale complexiteit vss exponentiële complexiteit

16 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Oplossingen Voor relatieve complexiteit gebruiken we reducties: - A  B : A is niet essentieel moeilijker dan B of B is op z’n minst zo moeilijk als A (onder  reducties) - nut: stel we weten dat A een moeilijk probleem is en A  B dan is B minstens zo moeilijk als A Voor robuustheid maken we geen onderscheid meer tussen O(n k ) voor k = 0,1,2... => complexiteitsklasse P : alle problemen oplosbaar in O(n O(1) ) Deze problemen vormen de doenlijke problemen.

17 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Reducties Algemeen: reductie van A naar B : manier om een algoritme voor A te verkrijgen door een algoritme voor B te gebruiken: algoritme voor B algoritme voor A

18 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Reducties: nut kosten(reductie) niet essentieel meer dan kosten(algoritme B) => A niet essentieel moeilijker dan B ( A  B) (vb: polyn. reducties en polyn. algoritmen) algoritme voor B algoritme voor A

19 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Typen reducties Turing reducties: het (veronderstelde) algoritme voor B wordt als subroutine binnen het algoritme voor A gebruikt. Notatie: A  T B Voorbeeld: MINVC (minimale vertex cover)  T VC - idee: ga na met binary search wat de kleinste waarde van 1  K  |V| is, waarvoor de graaf G een vertex cover ter grootte van K heeft.

20 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Beslissingsproblemen (1) Definitie: A is een beslissingsprobleem als alle instanties van A met “ja”(“yes”) of “nee”(“no”) beantwoord kunnen worden. Voorbeelden: Satisfiability, Connectivity, TravelingSalesPerson

21 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Beslissingsproblemen: voorbeelden Vertex Cover (VC) - instantie: een graaf G = (V,E) en K  Z + - vraag: heeft G een vertex cover V’  V ter grootte van K of minder ? Traveling Sales Person (TSP) - instantie: een verzameling S van n steden, een intercity afstanden matrix D nxn met d ij  Z + en een integer B  Z + - vraag: bestaat er een tour langs alle steden met totale afstand  B ?

22 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Beslissingsproblemen (2) Notaties Yes A No A domein van A D A instantie van A I A instantie van A I A

23 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS YBYB Karp-reducties  m B R A YAYA A  m B: voor alle I A  D A : I A  Y A  R(I A )  Y B algoritme voor B yesno R(N A ) R(Y A )

24 T U Delft Groep Parallelle en Gedistribueerde Systemen PGS Karp-reductie: vb reductie van VERTEX COVER naar CLIQUE: input: G = ( V,E ), K  Z + ; output: yes alss VC ter grootte van K bestaat begin Laat G’ = ( V’, E’ ) met V’ = V en E’ = { { v,w } | v ≠ w  V, {v,w}  E } K’ = | V | - K output CLIQUE(G’, K’) end


Download ppt "T U Delft Groep Parallelle en Gedistribueerde Systemen PGS College in345 Deel 2 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie."

Verwante presentaties


Ads door Google