Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdThijs Martens Laatst gewijzigd meer dan 10 jaar geleden
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
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.