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

Slides:



Advertisements
Verwante presentaties
Les 2 klassediagrammen II
Advertisements

Algoritmische problemen Onbeslisbaar / niet-berekenbaar Geen algoritme mogelijk Tegel- of domino-problemen Woordcorrespondentie-probleem Syntactisch equivalentie.
Datastructuren Quicksort
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen
1 Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen.
BiO-M Wiskundig Modelleren
Datastructuren Analyse van Algoritmen en O
Datastructuren Analyse van Algoritmen en O
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3005 deel 2 College 2 Cees Witteveen
Graph Begrippen: knoop, vertices kant, zijde, edge
Computationele complexiteit: NP-volledigheid
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Fibonacci & Friends Met dank aan Gerard Tel.
1 Datastructuren Zoekbomen II Invoegen en weglaten.
NP-volledigheid Algoritmiek © Hans Bodlaender, Oktober 2002.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 1 Opdracht 2: Clustering.
8C120 Inleiding Meten en Modelleren 8C120 Prof.dr.ir. Bart ter Haar Romeny Faculteit Biomedische Technologie Biomedische Beeld Analyse
Prof.dr.ir. Bart ter Haar Romeny
Probleem P 1 is reduceerbaar tot P 2 als  afbeelding  :P 1  P 2 zo dat: I yes-instantie van P 1   (I) yes-instantie van P 2 als ook:  polytime-algoritme,
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.
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.
Lokale zoekmethoden Goed in de praktijk:
Praktische opdracht informatica door : Xandor Spijkers klas: v4c.
College Projectmanagement 2 februari Schatten Robert de Hoog College 2 februari 2001.
Datastructuren Sorteren, zoeken en tijdsanalyse
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Cooperative Transport Planning
T U Delft Groep Parallelle en Gedistribueerde Systemen PGS College in345 Deel 2 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie.
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 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,
Shortest path with negative arc-costs allowed. Dijkstra?
Algoritme Inhoud: Definitie algoritme Recursieve algoritmes Opgaven
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen
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.
Recursie…. De Mandelbrot Fractal De werking… De verzameling natuurlijke getallen… 0 ∞-∞
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.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Heuristieken en benaderingsalgoritmen Algoritmiek.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Gerandomiseerde algoritmes
Netwerkstroming Algoritmiek.
NP-volledigheid Algoritmiek.
All-Pairs Shortest paths
Minimum Opspannende Bomen
Benaderingsalgoritmen
Recursie in de wiskunde
Modelleren en Programmeren voor KI Practicumopdracht 4: SAT Solver
Modderdorp UNPLUGGED Bron: csunplugged.org.
Modderdorp UNPLUGGED Bron: csunplugged.org.
Transcript van de presentatie:

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

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

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

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.

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?

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

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

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)

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

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.

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.

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

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

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.

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

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

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

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

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

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

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.