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

Slides:



Advertisements
Verwante presentaties
Applied Grouptheory in Condensed Matter Physics Dave de Jonge.
Advertisements

Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen
Heuristieken – kennisbits 1
PM zijn de Principia Mathematica. Deze vormen een formeel systeem voor de wiskunde. Ze zijn beschreven door A.N. Whitehead and B. Russell. Gödel bepaalt.
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
Heuristieken – kennisbits 2
Computationele complexiteit: NP-volledigheid
Project D2: Kempenland Sander Verkerk Jeffrey van de Glind
Automatische Redeneer-systemen
Automatisch Redeneren in de praktijk
AR: clausale logica De stap naar: resolutie. 2 Clausale vorm  Veralgemeende vorm van de formules:  x1 …  xk A1  A2 …  Am  B1  B2 …  Bn  Horn.
Jan Talmon Medische Informatica Universiteit Maastricht
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Grammatica’s en Ontleden
NP-volledigheid Algoritmiek © Hans Bodlaender, Oktober 2002.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Dijkstra Kortste pad algoritme.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Gebruiken.
1. Parsing (epsilon’s, tabellen) 2. Unificatie grammatica Natuurlijke taalverwerking week 7.
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
Analytische Meetkunde of Meetkunde met Coördinaten
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 Heapsort (2e deel) College 5. 2 Vandaag  Heaps en Heapsort  (eind)  Nog sneller sorteren:  Ondergrenzen  Linair sorteren.
Lokale zoekmethoden Goed in de praktijk:
WIS21.
Datastructuren Sorteren, zoeken en tijdsanalyse
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 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,
AI101  Historisch Perspectief Weak Methods Logic Theorist General Problem Solver  Resolution Theorem Proving Leeswijzer: Hoofdstuk 13.0, 13.1, 13.2 AI.
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.
Ladies at Science – wiskunde 29 april 2015
Introductie Systems Engineering
Rekenen en Redeneren met Oneindig Jeroen Spandaw NWD, 5 februari 2016.
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Heuristieken en benaderingsalgoritmen Algoritmiek.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Gerandomiseerde algoritmes
Netwerkstroming Algoritmiek.
NP-volledigheid Algoritmiek.
Minimum Opspannende Bomen
Benaderingsalgoritmen
Recursie in de wiskunde
Minimodules voor de 3e klas
Is testen een project op zich?
De stap naar: resolutie
Transcript van de presentatie:

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 Onderwerpen P en NP: - waarom, equivalente definities NP-complete problemen - definitie en eigenschappen - bewijs NP-compleetheid, voorbeelden co-NP - definities - eigenschappen van co-NP versus NP

T U Delft Parallel and Distributed Systems group PGS Waarom P versus NP (1) Er zijn problemen waarvoor geldt: geen polynomiale constructie oplossing er zijn geen algoritmen voorhanden om een oplossing in poly-tijd te construeren. (d.w.z. geen polynomiale DTM voorhanden) wel polynomiale verificatie er kan in polynomiale tijd geverifieerd worden of een voorgestelde oplossing voldoet of niet. (d.w.z. wel polynomiale NDTM voorhanden)

T U Delft Parallel and Distributed Systems group PGS Waarom P versus NP (2) Van NP-problemen weten we dat ze behoren tot de klasse EXP: iedere polynomiale NDTM is in exponentiele tijd te simuleren met een DTM. voor alle deze problemen zijn (exponentiele) backtracking algoritmen bekend we weten niet of ze behoren tot EXP - P of tot P.

T U Delft Parallel and Distributed Systems group PGS Twee definities van NP - standaard definitie: [niet-deterministisch gokken] Een beslissingsprobleem A behoort tot NP (A  NP) als er een NDTM bestaat die iedere yes-instantie x van A oplost in polynomiale tijd, dwz. polynomiaal in |x | - alternatieve definitie: [deterministisch verifieren] A  NP als er een DTM M bestaat en een polynoom p(.) zodat x  Y A desda er bestaat een string c(x) (certificaat) met |c(x)| ≤ p(|x|) en M antwoordt ‘yes’ voor input (x, c(x)) in hoogstens p(|x|) stappen.

T U Delft Parallel and Distributed Systems group PGS NDTM: een berekening succesvolle berekeningfalende berekening certificaat c(x): invoer x instructie keuze

T U Delft Parallel and Distributed Systems group PGS NDTM: input en certificaten succesvolle berekeningfalende berekening deterministische berekening! invoer x + certificaat

T U Delft Parallel and Distributed Systems group PGS gokmodule NDTM anders bekeken We kunnen ons derhalve een NDTM ook voorstellen als een GOKMODULE + DTM: DTM input x gokstring (mogelijk certificaat) yes no

T U Delft Parallel and Distributed Systems group PGS NDTM: simulatie met DTM p(|x|)

T U Delft Parallel and Distributed Systems group PGS Simulatie NDTM met DTM maximaal k>1 keuzes Deterministische simulatie van poly NDTM kost O(k p(|x |) )-tijd Conclusie: P  NP  EXP ! k0k0 k1k1 k2k2 k p(|x|)-1  i=1..p(|x|) k i

T U Delft Parallel and Distributed Systems group PGS NP en polynomiale reducties Laat ≤ een polynomiale reductie zijn. Dan geldt: - voor alle A, A ≤ A.(reflexiviteit) - als A ≤ B en B ≤ C, dan A ≤ C(transitiviteit) - voor elke C met P  C geldt (geschiktheid) als B  C en A ≤ B dan A  C In het bijzonder gelden deze eigenschappen voor P en NP

T U Delft Parallel and Distributed Systems group PGS Moeilijkste NP-problemen Moeilijkste NP-problemen - Een probleem A behoort tot de moeilijkste NP problemen als A een NP-probleem is, dwz A  NP Er is geen enkel probleem X in NP, dat moeilijker is dan A, dwz. voor alle problemen X in NP geldt X  A. - Zo’n probleem  A wordt een NP-volledig of NP-compleet probleem genoemd. - Klasse van NP-complete problemen: NPC

T U Delft Parallel and Distributed Systems group PGS Structuur van NP NPC P P moeilijker

T U Delft Parallel and Distributed Systems group PGS Eigenschappen NPC Als A  NPC, B  NP en A  B dan B  NPC. Als A  NPC  P dan P = NP A NPC B

T U Delft Parallel and Distributed Systems group PGS Waarom NPC belangrijk? Als we een polynomiaal algoritme voor een NPC-probleem A kunnen vinden ( A  P) dan geldt P = NP. Als we voor een NPC-probleem A kunnen aantonen dat A  P, dan geldt P  NP.

T U Delft Parallel and Distributed Systems group PGS Hoe A  NPC te bewijzen? Bewijs eerst A  NP: Toon aan dat voor iedere yes-instantie I A  Y A van A een polynomiale verificatie procedure bestaat. Toon aan dat B  A voor een bekend NPC probleem B. Kies een geschikt bekend NPC probleem B; construeer een polynomiale reductie B  A en laat zien dat deze correct is.

T U Delft Parallel and Distributed Systems group PGS Een NPC probleem: SAT SATISFIABILITY (SAT) : Instantie: Een eindige verzameling U van propositie atomen en een eindige verzameling C van clauses over U. Vraag: Is C vervulbaar, dwz. betaat er een  U  {0,1} zodat  iedere clause C j in C waarmaakt.

T U Delft Parallel and Distributed Systems group PGS Belang Satisfiability Theorem proving en checking automatisch bewijzen van stellingen; planning; fout detection; VSLI engineering Constraint satisfaction programming (CSP) programma  definitie van voorwaarden (constraints) waaraan oplossing moet voldoen; SAT  CSP

T U Delft Parallel and Distributed Systems group PGS Speciale SAT-problemen 3-SAT: alle clauses C j  C hebben exact 3 literals. We bewijzen 3-SAT  NPC (college) NAE-3SAT: als 3-SAT; vraag is nu of er een waarheidstoekenning bestaat die alle clauses waarmaakt zonder alle literals in elke clause waar te maken. We bewijzen NAE-3SAT  NPC (college)

T U Delft Parallel and Distributed Systems group PGS Van SAT naar VC (1) Vertex Cover (VC) - instantie: Een ongerichte graaf G = (V, E) en een K  Z + - vraag: is er een subset V’  V met |V’|  K en  { v,w }  E [ v  V’ en/of w  V’ ] VC in NP: - kies een subset V’  V en verifieer (1) |V’ |  K en (2)  { v,w }  E [ {v,w }  V’   ]; verificatie kost in totaal O( log k + |V| x |E|) tijd. Dit is polynomiaal in de lengte van de probleeminstantie

T U Delft Parallel and Distributed Systems group PGS Van 3-SAT naar VC (2) VC is NP-hard: 3-SAT  VC illustratie reductie: U = {x,y,z}, C = {{ x, y, z }, {x, y, z} } x yz  x  y  z 3-SAT instantie (U,C) k = 3+4 VC- instantie (G = (V,E), K)

T U Delft Parallel and Distributed Systems group PGS Van 3-SAT naar VC (3) a. Constructie van reductie: Zij I = (U = {u 1,..., u n }, C = {C 1,..., C m } een 3-SAT instantie. Construeer dan de volgende VC-instantie R(I) = (G = (V,E), K) met V = U   U  {v ij : i = 1, 2, 3; j = 1,..., m } E = { {u,  u} : u  U }  { {v 1j, v 2j },{v 2j, v 3j },{v 3j, v 1j }: j = 1,.., m }  { {x, v ij } : x  U   U  x =c ij  C j, i =1,2,3, j = 1,.., m } K = n + 2m

T U Delft Parallel and Distributed Systems group PGS Van 3-SAT naar VC (4) b. Correctheid van reductie: bewijs dat R(I)  Y VC  I  Y 3-SAT (tijdens college) Totale kosten: O(|I| 2 )-tijd, i.e. polynomiaal in |I | c. Polynomialiteit van reductie: constructie V : kost O(|V|) + O(|E|) = O(|I|)-tijd; E : kost O(|V|) + O(|E|) + O(|V|x|E|)  O((|V| + |E|) 2 ) = O( |I| 2 )-tijd K : kost O(|V| + |E|)-tijd