TW2020 Optimalisering

Vergelijkbare documenten
TW2020 Optimalisering

TW2020 Optimalisering

Elfde college complexiteit. 23 april NP-volledigheid III

TW2020 Optimalisering

TW2020 Optimalisering

NP-volledigheid. Algoritmiek

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi

Fundamentele Informatica

Hoofdstuk 13: Integer Lineair Programmeren

Negende college complexiteit. 9 april NP-volledigheid I: introductie

TW2020 Optimalisering

(On)Doenlijke problemen

Tentamen IN3105. Complexiteitstheorie. 16 april 2012, uur

TW2020 Optimalisering

Samenvatting college 1-12

1 Complexiteit. of benadering en snel

l e x e voor alle e E

TW2020 Optimalisering

2WO12: Optimalisering in Netwerken

TW2020 Optimalisering

Tentamen combinatorische optimalisatie Tijd:

2WO12: Optimalisering in Netwerken

Branch-and-Bound en Cutting Planes

De Resolutiemethode (Logica, hoofdstuk 15) Robinson (1965) TI1300 Redeneren en Logica

Benaderingsalgoritmen

2WO12: Optimalisering in Netwerken

TW2020 Optimalisering

TW2020 Optimalisering

2WO12: Optimalisering in Netwerken

TW2020 Optimalisering

Begrenzing van het aantal iteraties in het max-flow algoritme

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

Hoofdstuk 8: Algoritmen en Complexiteit

Tentamen IN3105 Complexiteitstheorie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

2WO12: Optimalisering in Netwerken

Twaalfde college complexiteit. 7 mei NP-volledigheid IV Cook-Levin Savitch 1

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Stelling. SAT is NP-compleet.

TW2020 Optimalisering

Tentamen TI3300 / IN3105 Complexiteitstheorie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2018

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Credit cards, computationele complexiteit en consistentie uitspraken

Op zoek naar de Hamilton cykel. Mike Hoffmeister

Optimalisering/Besliskunde 1. College 1 3 september, 2014

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde II op donderdag 6 juli 2017, uur.

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search

Optimalisering. Hoorcollege 4. Leo van Iersel. Technische Universiteit Delft. 28 september 2016

Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk.

Optimalisering/Besliskunde 1. College 1 2 september, 2015

Inhoudsopgave. 1 COMPLEXITEITSTHEORIE Inleiding De klassen P en N P Opgaven... 16

l e x e voor alle e E

Oefeningen voor de oefeningenles. Oefening 1

Het Chinese Postbode Probleem. Marene Dimmendaal s

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde op donderdag 13 april 2017, uur.

Optimalisering/Besliskunde 1. College 1 6 september, 2012

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen

Netwerkstroming. Algoritmiek

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur.

Logic for Computer Science

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

Minimum Spanning Tree

Optimalisering. Hoorcollege 4. Leo van Iersel. Technische Universiteit Delft. 23 september 2015

Optimaliseren in Netwerken

Examen Datastructuren en Algoritmen II

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

TU/e 2DD50: Wiskunde 2

Tentamen algebra 1 Woensdag 24 juni 2015, 10:00 13:00 Snelliusgebouw B1 (extra tijd), B2, B3, 312

Puzzels en wiskunde. Inleiding. Algoritme. Sudoku. 22 Puzzels en wiskunde

Optimalisering. Hoorcollege 4. Leo van Iersel. Technische Universiteit Delft. 28 september 2016

Vorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers

Geheeltallige programmering

3. Elke lijn van een graaf draagt twee bij tot de som van alle graden.

Spider Solitaire is NP-Compleet

Heuristieken en benaderingsalgoritmen. Algoritmiek

Examen Datastructuren en Algoritmen II

Modelleren en Programmeren voor KI

Classificatie van Markovbeslissingsketens

Een combinatorische oplossing voor vraag 10 van de LIMO 2010

Radboud Universiteit Nijmegen

Wiskundige beweringen en hun bewijzen

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Stabiele koppelingen (Engelse titel: Stable Matchings)

Toewijzingsprobleem Bachelorscriptie

Tie breaking in de simplex methode

Hebzucht loont niet altijd

Lineaire algebra I (wiskundigen)

Lineaire Algebra voor ST

Netwerkstroming. Algoritmiek

Discrete Wiskunde 2WC15, Lente Jan Draisma

Lege polygonen in een graaf.

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Transcriptie:

TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28

Vandaag Vraag Voor welke problemen bestaat er waarschijnlijk geen polynomiaal algoritme? Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 2 / 28

Snelle en langzame algoritmes Polynomiale-tijd algoritmes: Algoritme van Dijkstra voor Kortste Pad; Algoritmes voor Minimum Opspannende Boom; Interior Point Methods voor LP; Max Flow algoritme met kortste stroom-vermeerderende paden. Exponentiële-tijd algoritmes: Brute Force (alle oplossingen afgaan); Branch & Bound algoritme voor ILP. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 3 / 28

Definitie P is de klasse van beslissingsproblemen die in polynomiale tijd oplosbaar zijn. Definitie NP is de klasse van beslissingsproblemen waarvoor voor elke ja-instantie een certificaat bestaat waarmee in polynomiale tijd geverifiëerd kan worden dat het antwoord ja is. Intuïtief: NP bestaat uit de problemen waarvoor een oplossing in polynomiale tijd geverifiëerd kan worden. NP staat voor niet-deterministisch polynomiaal P NP Één van de zeven millennium problemen: P = NP? Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 4 / 28

Optimaliseringsprobleem bestuderen via geassocieerd beslissingsprobleem Een Hamilton circuit van een graaf is een circuit dat elk punt precies één keer doorloopt. Probleem TSP (Travelling Salesman Problem) Gegeven: volledige graaf G = (V, E) en lengtefunctie l : E Z. Gevraagd: een Hamilton circuit in G van minimale lengte. Probleem TSP-beslis Gegeven: volledige graaf G = (V, E), lengtefunctie l : E Z en bovengrens k Z. Beslis: heeft G een Hamilton circuit van lengte hoogstens k? Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 5 / 28

Voorbeeld Welke van de onderstaande beslissingsproblemen zitten met zekerheid in de klasse NP? 1 Gegeven een graaf G = (V, E), heeft G een Hamilton circuit? 2 Gegeven een graaf G = (V, E) met lengtefunctie l : E Z en k Z, heeft G een Hamilton circuit van lengte hoogstens k? 3 Gegeven een graaf G = (V, E) met lengtefunctie l : E Z en k Z, heeft G geen Hamilton circuit van lengte hoogstens k? 4 Gegeven een graaf G = (V, E) met lengtefunctie l : E Z en k Z, heeft het kortste Hamilton circuit van G lengte k? Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 6 / 28

Definitie Een reductie van een beslissingsprobleem Π 1 naar een beslissingsprobleem Π 2 is een functie die aan elke instantie I van Π 1 een instantie f (I ) van Π 2 toewijst, zodanig dat: 1 er een algoritme bestaat dat f berekent in polynomiale tijd; 2 voor elke instantie van I van Π 1 geldt: I is een ja-instantie van Π 1 f (I ) is een ja-instantie van Π 2. De notatie Π 1 Π 2 betekent: er bestaat een reductie van Π 1 naar Π 2. Dit betekent (intuïtief): probleem Π1 is een speciaal geval (special case) van probleem Π 2 ; probleem Π1 is makkelijker of net zo moeilijk als Π 2. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 7 / 28

Lemma Als Π 1 Π 2 and Π 2 P, dan Π 1 P. Definitie Een beslissingsprobleem Π is NP-moeilijk (NP-hard) als voor elke Π NP geldt dat Π Π. Dus als er een polynomiale-tijd algoritme bestaat voor één NP-moeilijk probleem, dan bestaat er een polynomiale-tijd algoritme voor elk probleem in NP (dus dan is P = NP). Dus als een probleem NP-moeilijk is, dan is het onwaarschijnlijk dat het opgelost kan worden in polynomiale tijd. Intuïtief: een probleem is NP-moeilijk als het minstens zo moeilijk is als elk probleem in NP. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 8 / 28

Definitie Een beslissingsprobleem Π is NP-volledig (NP-complete) als 1 Π is NP-hard is en 2 Π in NP zit. Intuïtief: NP-volledige problemen zijn de moeilijkste problemen in NP. Vraag Bestaan er NP-volledige problemen? Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 9 / 28

Definitie Een boolean expressie is een formule bestaande uit boolean variabelen x 1, x 2,... (variabelen die de waarden TRUE en FALSE kunnen aannemen) en de symbolen,, x die de volgende betekenis hebben: Definitie x 1 is TRUE x 1 is FALSE; x 1 x 2 is TRUE tenminste één van x 1 en x 2 is TRUE; x 1 x 2 is TRUE x 1 en x 2 zijn beiden TRUE. Een literal is een boolean variabele (x i ) of een negatie van een boolean variabele (x i ). Een clause is een disjunctie van literals, bijv: (x 1 x 2 x 4 x 9 ). Een conjunctie van clauses C 1, C 2,..., C k is: C 1 C 2... C k. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 10 / 28

Definitie Een waarde toekenning voor een verzameling U van boolean variabelen is een functie t : U {TRUE, FALSE}. Stelling Elke boolean expressie kan geschreven worden als een conjunctie van clauses (Conjunctive Normal Form (CNF)). Probleem Satisfiability (SAT) Gegeven: een verzameling U van boolean variabelen en een conjunctie C = C 1... C k van clauses over U. Beslis: bestaat er een waardetoekenning voor U die de expressie C TRUE maakt? C is TRUE elke clause van C is TRUE Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 11 / 28

Voorbeeld Bestaat er een waardetoekenning die de volgende expressie TRUE maakt? (x 1 x 2 x 3 ) (x 1 x 4 ) (x 4 x 5 ) (x 1 x 4 x 5 ) Voorbeeld Bestaat er een waardetoekenning die de volgende expressie TRUE maakt? (x 1 x 2 ) (x 1 x 3 ) (x 2 x 3 ) (x 1 x 4 ) (x 2 x 4 ) (x 3 x 4 ) Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 12 / 28

Stelling (Cook, 1971) SAT is NP-volledig. Bewijs (idee) SAT NP want een waardekenning die de expressie TRUE maakt is een certificaat dat gecontroleerd kan worden in polynomiale tijd. Laat Π NP. Te bewijzen: Π SAT. Er bestaat een polynomiale-tijd algoritme A dat gegeven een instantie I en een certificaat C(I ) beslist of C(I ) inderdaad bewijst dat I een ja-instantie is. Idee achter het bewijs van Cook: codeer A als een boolean expressie, met boolean variabelen die o.a. het certificaat coderen. Er is een waardetoekenning die de boolean expressie TRUE maakt er bestaat een certificaat dat bewijst dat I een ja-instantie is I is een ja-instantie. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 13 / 28

Lemma (transitiviteit) Als Π 1 Π 2 en Π 2 Π 3 dan Π 1 Π 3. Lemma Als Π 1 NP-moeilijk is en Π 1 Π 2 dan is Π 2 ook NP-moeilijk. Om te bewijzen dat een probleem Π in P zit: geef een reductie van Π naar een probleem in P. Om te bewijzen dat een probleem Π NP-moeilijk is: geef een reductie van een NP-moeilijk probleem naar Π. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 14 / 28

Vraag Stel Π 1, Π 2 NP en Π 1 Π 2. 1 Als Π 2 P, wat zegt dit over Π 1? 2 Als Π 1 NP-volledig is, wat zegt dit over Π 2? 3 Als Π 2 NP-volledig is, wat zegt dit over Π 1? 4 Als Π 1 P, wat zegt dit over Π 2? Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 15 / 28

Om te bewijzen dat een beslissingsprobleem Π NP-volledig is: 1 laat zien dat Π NP; 2 kies een NP-hard probleem Π en geef een reductie van Π naar Π d.w.z. laat zien dat een willekeurige instantie I van Π getransformeerd kan worden in een instantie f (I ) van Π zodanig dat: (a) I ja-instantie f (I ) ja-instantie; (b) f (I ) ja-instantie I ja-instantie; (c) transformatie kan uitgevoerd worden in polynomiale tijd. Let op: instantie f (I ) mag niet exponentiëel veel groter zijn dan instantie I (volgt uit (c)). Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 16 / 28

Geheeltallig programmeren (IP) is NP-volledig. Probleem 0,1-IP Stelling Gegeven: geheeltallige m n matrix A en vector b Z m Beslis: is er een x {0, 1} n met Ax b? 0,1-IP is NP-volledig 0,1-IP zit duidelijk in NP. Reductie: SAT 0,1-IP. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 17 / 28

SAT 0,1-IP Bewijs Neem een algemene instantie van SAT: Variabelen U = {u1,..., u n } Conjunctie van clauses: C = C1 C 2... C m. Creëer een instantie van 0,1-IP als volgt: Voor elke variabele u i van de SAT instantie, creëer binaire variabelen x i en y i voor de 0,1-IP instantie en een restrictie x i + y i = 1. Voor elke clause C k, zeg van de vorm C k = i I u i j J u j met I, J {1,..., n} creëer een restrictie: x i + y j 1. i I j J Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 18 / 28

Bewijs (vervolg) Neem eerst aan dat er een waardetoekenning t : U {TRUE, FALSE} bestaat die de expressie TRUE maakt. Dan kunnen we als volgt een toegelaten oplossing van het IP vinden: voor elke ui U met t(u i ) = TRUE, kies x i = 1 en y i = 0; voor elke u i U met t(u i ) = FALSE, kies x i = 0 en y i = 1; dan wordt aan alle restricties voldaan. Neem nu aan dat er een toegelaten oplossing van het IP bestaat. Dan kunnen we als volgt een waardetoekenning vinden: als xi = 1 en y i = 0, kies t(u i ) = TRUE; als x i = 0 en y i = 1, kies t(u i ) = FALSE; dit zijn de enige mogelijkheden door de restricties x i + y i = 1; aan elke clause wordt voldaan door de restricties x i + y j 1. j J i I dus maakt de waardetoekenning de expressie TRUE. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 19 / 28

Een clique in een graaf is een deelgraaf waarin elk tweetal punten met elkaar verbonden is. Voorbeeld Vind de grootste clique in de onderstaande graaf. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 20 / 28

Probleem CLIQUE Stelling Gegeven: een graaf G = (V, E) en een geheel getal k. Beslis: heeft G een clique met tenminste k punten? Het probleem CLIQUE is NP-volledig. CLIQUE zit duidelijk in NP. Reductie: SAT CLIQUE. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 21 / 28

Bewijs (SAT CLIQUE) Neem een algemene instantie van SAT: Variabelen U = {u 1,..., u n } Conjunctie van clauses: C = C 1 C 2... C m. Creëer een instantie G = (V, E), k van CLIQUE als volgt: k = m V := {(σ, C i ) σ is een literal in C i } E := {{(σ, C i ), (τ, C j )} i j en τ σ} Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 22 / 28

Bewijs (vervolg) Stel eerst dat er een waardetoekenning is die de expressie TRUE maakt. Dan kunnen we zo k punten in G vinden die een clique vormen: Elke clause C i bevat tenminste één literal die TRUE is. Kies zo n literal en noem hem σ i. Dan is {(σ i, C i ) i = 1,..., m} een clique van G met m = k punten. Stel nu dat G een clique K heeft bestaande uit k punten. Dan kunnen we zo een waardetoekenning vinden die C TRUE maakt: Voor elk punt (σ, C i ) K zet σ op TRUE. Het is niet mogelijk dat σ en σ beiden op TRUE zijn gezet omdat de bijbehorende punten niet met elkaar verbonden zijn. Maak de waardetoekenning op een willekeurige manier af. Per clause zit precies één punt in K, want er zitten k punten in K en de punten behorende bij dezelfde clause zijn niet met elkaar verbonden. Dus bevat K precies één punt (σ, C i ) voor elke clause C i en die σ is op TRUE gezet, dus wordt aan elke clause C i voldaan. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 23 / 28

Definitie co-np is de klasse van beslissingsproblemen waarvoor voor elke nee-instantie een certificaat bestaat waarmee in polynomiale tijd geverifiëerd kan worden dat het antwoord nee is. Stelling P (NP co NP) Niet bekend: is NP = co-np? Vermoedens: P NP NP co-np Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 24 / 28

Vraag Welke van de onderstaande beslissingsproblemen zitten met zekerheid in de klasse co-np? 1 Gegeven een graaf G = (V, E), heeft G een Hamilton circuit? 2 Gegeven een graaf G = (V, E), heeft G geen Hamilton ciruit? 3 Gegeven een gerichte graaf D = (V, A) met een capaciteit b ij 0 voor elke pijl (i, j) A, twee speciale punten s, t V en een getal F, is er een stroom van s naar t met waarde tenminste F? 4 Gegeven een m n matrix A en een vector b Z m, bestaat er een x R n waarvoor Ax = b en x 0? Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 25 / 28

De meeste problemen in NP co-np blijken in P te zitten. Het volgende probleem is wel bewezen in NP co-np te zitten, maar het is niet bekend of het in P zit: Probleem Integer Factorization Gegeven: m, n N Gevraagd: heeft m een deler kleiner dan n en groter dan 1? Van het probleem PRIMES (gegeven een geheel getal, is het een priemgetal) is recent wel bewezen dat het in P zit. Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 26 / 28

Stelling (Ladner, 1975) Als P NP, dan zijn er problemen die niet in P zitten en ook niet NP-volledig zijn. Van de meeste bekende problemen is echter ofwel bekend dat ze in P zitten ofwel dat ze NP-volledig zijn. Uitzonderingen zijn Integer Factorization en: Probleem Graph Isomorphism Gegeven: twee grafen G = (V, E), H = (V, E ). Gevraagd: zijn G en H isomorf? D.w.z. bestaat er een bijectie f : V V zodanig dat {u, v} E {f (u), f (v)} E Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 27 / 28

Volkskrant, 17 november 2015: Babai heeft laten zien dat Graph Isomorphism oplosbaar is in O(2 poly(log(n)) ) tijd, bijna polynomiaal. http://people.cs.uchicago.edu/~laci/2015-11-10talk.mp4 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 28 / 28