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

Slides:



Advertisements
Verwante presentaties
Algoritmische problemen Onbeslisbaar / niet-berekenbaar Geen algoritme mogelijk Tegel- of domino-problemen Woordcorrespondentie-probleem Syntactisch equivalentie.
Advertisements

T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen
Datastructuren Analyse van Algoritmen en O
Datastructuren Analyse van Algoritmen en O
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3005 deel 2 College 2 Cees Witteveen
Conditionele expressie
Computationele complexiteit: NP-volledigheid
Project D2: Kempenland Sander Verkerk Jeffrey van de Glind
Hoofdstuk 6: Controle structuren
Fibonacci & Friends Met dank aan Gerard Tel.
Datastructuren Zoekbomen
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.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
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
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
Divide and Conquer in Multi-agent Planning Multi-Agent Planning as the Process of Merging Distributed Sub-plans Eithan Ephrati and Jeffrey S. Rosenschein.
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
Het verbeteren van een modulaire verificatie techniek voor aspect georiënteerd programmeren Alfons Laarman.
1 Datastructuren Skiplists. 2 Skiplists  Vrij eenvoudige datastructuur  “Makkelijker” dan gebalanceerde bomen  Kunnen hetzelfde als gebalanceerde bomen.
Optuigen van datastructuren
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:
PHP functies.
Optuigen van datastructuren Datastructuren Onderwerp 11.
Datastructuren Sorteren, zoeken en tijdsanalyse
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 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,
Russische roulette Live or die. 7 delen Startmenu Inzet Aantal kogels Het schot While - functie Opnieuw ja/nee High score.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen
Intermezzo: Queries op zoekbomen Datastructuren. Queries: hoe op te lossen We hebben: – Een zoekboom (gewoon, rood-zwart, AVL,…) – Een vraag / querie.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
MBR AtT1 College 7 : covering theorie (Deel 2) model MAB-diagnose: College 6: Covering theorie College 7: Algoritme voor covering theorie werkelijk.
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Recursie…. De Mandelbrot Fractal De werking… De verzameling natuurlijke getallen… 0 ∞-∞
De O-notatie Algemene lijn: Broncode analyseren Herhalingsfrequentie bepalen O-notatie afleiden.
De O-notatie Algemene lijn: Broncode analyseren Herhalingsfrequentie bepalen O-notatie afleiden.
De O notatie… Limiet van Bachmann-Landau: Paul Gustav Heidrich Bachmann Edmund Landau
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
Heuristieken en benaderingsalgoritmen Algoritmiek.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Datastructuren voor grafen Algoritmiek. 2 Grafen Model van o.a.: –Wegennetwerk –Elektrische schakeling –Structuur van een programma –Computernetwerk –…
Gerandomiseerde algoritmes
Netwerkstroming Algoritmiek.
NP-volledigheid Algoritmiek.
Minimum Opspannende Bomen
Benaderingsalgoritmen
Recursie in de wiskunde
Modelleren en Programmeren voor KI Practicumopdracht 4: SAT Solver
Modderdorp UNPLUGGED Bron: csunplugged.org.
Doolhof. doolhof doolhof Maak een routine die de ‘hekken’ tussen de cellen weghaalt Maak een 2-dimensionale array met kolommen en rijen aangeklikt.
Transcript van de presentatie:

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

T U Delft Parallel and Distributed Systems group PGS Uitwerking opgave Naam: Half Clique Gegeven: Graaf G =(V,E). Vraag : Heeft G een clique met |V|/2 knopen ? Te bewijzen: Half Clique is in NPC (aanname: bekend is dat CLIQUE in NPC) G=(V,E), K |V| = n Clique instantieHalf Clique instantie G + G 1 + G 2 G2G2 |V 2 |=n G=(V,E), K G |V| = n G1G1 |V 1 | = 2n-2k G 1 is volledig

T U Delft Parallel and Distributed Systems group PGS Overzicht Optimaliseringsproblemen - Turingreducties - FP en FNP - Zelf-reduceerbaarheid De polynomiale hierarchie - Turing machines met een orakel - De klassen PH en PSPACE Wat komt er volgende week?

T U Delft Parallel and Distributed Systems group PGS O E Zoeken, optimaliseren, opsommen en tellen zoekproblemen: gegeven een verzameling O van objecten vind een (willekeurig) object x met eigenschap E(x) (een oplossing) x

T U Delft Parallel and Distributed Systems group PGS O E Zoeken, optimaliseren, opsommen en tellen optimaliseringsproblemen: gegeven een kostenfunctie c zoek in O naar object x met eigenschap E(x) waarvoor c(x) minimaal of maximaal is. x

T U Delft Parallel and Distributed Systems group PGS O E Zoeken, optimaliseren, opsommen en tellen opsommingsproblemen: zoek in O naar alle objecten x met eigenschap E(x).

T U Delft Parallel and Distributed Systems group PGS O E Zoeken, optimaliseren, opsommen en tellen telproblemen: zoek in O naar het aantal objecten x met eigenschap E(x). 7

T U Delft Parallel and Distributed Systems group PGS Zoek- en optimaliserings problemen: complexiteit Als C een complexiteitsklasse is, dan is FC de klasse van alle functies berekenbaar met de tijd/ruimte begrenzing geassocieerd met C. Vb: - FP: klasse van alle functies berekenbaar in polynomiale tijd. - FNP: klasse van alle functies berekenbaar in niet-deterministische polynomiale tijd. probleem: hoe beslissings en zoekproblemen aan elkaar te relateren?

T U Delft Parallel and Distributed Systems group PGS Turing reducties polynomiale turingreducties Een probleem A is een polynomiaal turing reduceerbaar tot een probleem B als er een algoritme X A voor A bestaat dat - een (hypothetisch) algoritme X B voor B als subroutine gebruikt en - een polynomiaal algoritme voor A zou zijn als alle X B -aanroepen O(1)-tijd zouden kosten. Notatie: A  T B

T U Delft Parallel and Distributed Systems group PGS Turingreducties (ii) voor beslissingsproblemen: - als A  B dan ook A  T B: many-one reducties zijn te beschouwen als eenmalige aanroepen van een B-algoritme - voor iedere A: A  T A c een probleem B is - NP-hard (onder  T ) als voor iedere A  NP, A  T B; NP-easy als B  T A voor een A  NP; NP-equivalent als A  NP-hard  NP-easy ;

T U Delft Parallel and Distributed Systems group PGS Relatie beslissings-en zoekproblemen beslissingsvariant A: Gegeven x 1,... x n, is er een y waarvoor E(y) geldt ? zoekvariant FA: Gegeven x 1,... x n, geef een y waarvoor E(y) geldt. er geldt altijd: A  T FA (gebruik eerst algoritme voor FA om antwoord te bepalen; als er een y gevonden wordt, geef “ja” als antwoord anders “nee”)

T U Delft Parallel and Distributed Systems group PGS Zelfreduceerbaarheid Voor sommige problemen geldt ook: FA  T A (zelfreduceerbare problemen) vb: FSAT  T SAT. FSAT is in polynomiale tijd oplosbaar als we een orakel voor SAT-problemen kunnen raadplegen. Voor FSAT geldt nu: FSAT is NP-equivalent (onder  T )

T U Delft Parallel and Distributed Systems group PGS FSAT  T SAT: constructie input: U = {u 1,u 2,... u n }, C = {C 1,..., C m } output: t met t(C) = 1 als C vervulbaar; anders nil begin t := nil; sat := true; i := 1 while (i  n and sat) do C’ := C/ { u i := 0 }; if SAT(U,C’) = “yes” then { t := t  {u i  0 }; i := i +1; C := C’ } else { C’ : = C/ { u i := 1 }; if SAT(U,C’) = “yes” then { t := t  {u i  1 }; i := i +1; C := C’ } else t:= nil; sat := false } return t end Dit is een aanroep van het SAT-orakel (U,C) moet wel onvervulbaar zijn

T U Delft Parallel and Distributed Systems group PGS NP-equivalent: vb TSP-optval is NP-equivalent 1. TSP  T TSP-optval raadpleeg TSP-opt orakel voor optimale waarde W van oplossing; als W  K geef “ja” anders “nee” 2. TSP-optval  T TSP gebruik TSP-orakel log (|C| x d max )-maal om met binary search waarde optimale tour vast te stellen TSP-optval : gegeven een TSP-instantie, bepaal de waarde W van een kortste tour

T U Delft Parallel and Distributed Systems group PGS P, NP, Co-NP en NP-easy Co-NPC NPC NPCo-NP P NP-easy

T U Delft Parallel and Distributed Systems group PGS Voorbij NP-easy? Co-NPC NPC P NP-easy Co-NP NP PSPACE ? ?? ? ?

T U Delft Parallel and Distributed Systems group PGS Polynomiale hierarchie (1) NP-easy: klasse van beslissingsproblemen oplosbaar in polynomiale tijd met deterministisch algoritme dat gebruik maakt van orakel in NP. notatie: P NP NP NP : klasse van beslissingsproblemen oplosbaar in polynomiale tijd met niet-deterministisch algoritme dat gebruik maakt van orakel in NP.

T U Delft Parallel and Distributed Systems group PGS Polynomiale hierarchie (2) P = P P  P NP  NP NP NP = NP P  P NP Generalisatie:

T U Delft Parallel and Distributed Systems group PGS Polynomiale hierarchie (3) (P) (NP) (co-NP) (NP-equivalent) PH

T U Delft Parallel and Distributed Systems group PGS Relevantie PH NP-problemen: oplosbaar met backtracking algoritmen. NP NP - problemen: oplosbaar met double-backtracking algoritmen. Voorbeeld: Minimale Boolese Expressie Gegeven een formule F, is F een kortste formule onder alle formules equivalent met F? is in  2.

T U Delft Parallel and Distributed Systems group PGS Vb: Minimale Boolese Expressie (MBE) in  2 MBE: Gegeven een boolese formule F, is F een kortste formule onder alle formules die equivalent zijn met F?  2 = co-NP NP. We moeten derhalve laten zien dat no - instanties van MBE efficient te verifieren zijn met een NP-orakel: Neem nu een instantie F van MBE en gok een kortere boolese formule E. Verifieer nu of F equivalent is aan E, dwz. of E  F. Dit kan door met een SAT-orakel na te gaan of  ((E  F)  (F  E)) vervulbaar is. Als het antwoord “no” is, is E equivalent aan F.

T U Delft Parallel and Distributed Systems group PGS Voor de volgende week: zijn sommige NPC-problemen toch doenlijk? benaderingen: iets is altijd beter dan niets (of toch niet). een O(1)-algoritme voor een langste pad probleem. (met prijs voor de beste verklaring)