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

Slides:



Advertisements
Verwante presentaties
Consensus Model Jeroen van Beuningen
Advertisements

Dynamische Modellen NLT-module havo / vwo
Datastructuren Quicksort
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen
Entiteit-Relatie Model
Datastructuren Analyse van Algoritmen en O
Datastructuren Analyse van Algoritmen en O
Advanced Algorithms Groep: EII7AAb
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3005 deel 2 College 2 Cees Witteveen
Computationele complexiteit: NP-volledigheid
1 Tentamen 21 januari 2008 uitleg Algemene kennisvragen a)“Wat verstaan we onder de complexiteit van een algoritme?” –Cruciaal: wat gebeurt er met.
vwo C Samenvatting Hoofdstuk 13
Project D2: Kempenland Sander Verkerk Jeffrey van de Glind
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Fibonacci & Friends Met dank aan Gerard Tel.
NP-volledigheid Algoritmiek © Hans Bodlaender, Oktober 2002.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
College Project Management 1 maart 2002
REKENEN, REDENEREN, COMPLEXITEIT
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
TU Delft Groep Parallelle en Gedistribueerde Systemen Voorbeeld uitwerking reductie bewijs in3120 Cees Witteveen.
Fundamentele Informatica IN3120
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Oplossing Langste Pad Probleem Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN 3005 Deel 2 Laatste College ! Cees Witteveen
TU Delft Groep Parallelle en Gedistribueerde Systemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 5 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN 3120 College 7 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3 005 Deel 2 College 4 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3005 Deel 2 College 3 Cees Witteveen
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Practicum I&M College deel 1
Motion planning with complete knowledge using a colored SOM Jules Vleugels, Joost N. Kok, & Mark Overmars Presentatie: Richard Jacobs.
1 Datastructuren Skiplists. 2 Skiplists  Vrij eenvoudige datastructuur  “Makkelijker” dan gebalanceerde bomen  Kunnen hetzelfde als gebalanceerde bomen.
1 Datastructuren Heapsort (2e deel) College 5. 2 Vandaag  Heaps en Heapsort  (eind)  Nog sneller sorteren:  Ondergrenzen  Linair sorteren.
Een Module over Model Checking voor het VWO Frits Vaandrager1, David Jansen1 & Els Koopmans2 1Radboud Universiteit Nijmegen 2Olympus College Arnhem.
Datastructuren Sorteren, zoeken en tijdsanalyse
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Sorteeralgoritmen. Sorteren: aanpak 1 Hoe ga je een rij getallen sorteren met PC? Sorteren door selectie (= selection sort): Zoek de kleinste waarde Sorteer.
Cooperative Transport Planning
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Laatste College ! Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 3 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 2 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 3 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 4 Cees Witteveen
TU Delft Groep Parallelle en Gedistribueerde Systemen Fundamentele Informatica IN3120 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit EWI,
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen
Representatie & Zoeken
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
MBR AtT1 College 9 Diagnose met correctmodellen. Verdieping in de formalisatie. In reader: Characterizing diagnoses and Systems J. de Kleer, A.
MBR AtT1 College 7 : covering theorie (Deel 2) model MAB-diagnose: College 6: Covering theorie College 7: Algoritme voor covering theorie werkelijk.
1 Datastructuren Quicksort College 3. 2 Vorige keren  O-notaties  Sorteren: insertion sort, bubble sort  Kosten (n 2 ) tijd in het slechtste geval.
De SixPack Format en leerlijn onderzoeks- en informatievaardigheden
1 Datastructuren Analyse van algorithmen (vervolg) Heapsort College 4.
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Recursie…. De Mandelbrot Fractal De werking… De verzameling natuurlijke getallen… 0 ∞-∞
1/11 Algoritmen en Complexiteit Programmeerparadigma’s Voorbereiding Visitatie ZAP vergadering woensdag 27/2/2008.
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Netwerkstroming Algoritmiek. 2 Vandaag Netwerkstroming: definitie en toepassing Het rest-netwerk Verbeterende paden Ford-Fulkerson algoritme Minimum Snede.
Heuristieken en benaderingsalgoritmen Algoritmiek.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Gerandomiseerde algoritmes
Netwerkstroming Algoritmiek.
NP-volledigheid Algoritmiek.
Minimum Opspannende Bomen
Benaderingsalgoritmen
Slim tellen.
Slim tellen.
Transcript van de presentatie:

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

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 Praktikum 2 opgaven: bewijs correctheid gegeven een reductie ontwerpen van een reductie + correctheidsbewijs

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)

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

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

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

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

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

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.

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 !

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: jr met huidig systeem

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: jr 10 x sneller: 503 onderdelen per uur x sneller: 513 onderdelen per uur. met huidig systeemmet sneller systeem

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)

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).

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

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.

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

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

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.

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

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 ?

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

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 )

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