Netwerkstroming. Algoritmiek
|
|
- Victor Jacobus Lemmens
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Netwerkstroming
2 Vandaag Netwerkstroming: definitie en toepassing Het rest-netwerk Verbeterende paden Ford-Fulkerson algoritme Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp Toepassing: koppelingen in bipartite grafen
3 Netwerkstroming Modelleert transport van goederen over bijv. een wegennetwerk Toepassingen in Logistiek Subroutine in algoritmen 3
4 Een stromingsnetwerk Een stromingsnetwerk bestaat uit 4 Een gerichte graaf G=(N,A) Voor elke pijl (v,w) A een capaciteit c(v,w) 0. Twee speciale knopen: bron s (source) en put t (sink). s 3 a d 3 4 b c 4 t
5 Stroming Schrijf als (v,w) A: c(v,w) = 0. Een stroming (van s naar t) is een functie f: V x V R, zodat Voor alle v,w in N: f (v,w) c(v,w). (Capaciteitseis). Voor alle v,w in N: f (v,w) = f (w,v). (Scheve symmetrie.) Voor elke knoop v in N {s,t}: (Behoud van stroming.) w N f ( v, w) = 0 5
6 Opmerking We volgen de notatie van het boek In de literatuur wordt vaak met alleen nietnegatieve waardes van stroming gerekend (en dus in plaats van f(v,u) = - f(u,v) is een van de waardes f(v,u) en f(u,v) gelijk aan 0; de regel van behoud van stroming verandert.) Dit maakt voor de principes achter stroming niets uit; het is een kwestie van notatie 6
7 Voorbeeld Capaciteiten: s 3 a d 3 4 b c 4 t s a d b c t Stromingsfunctie Alleen positieve waardes zijn getoond 7 Bijv.: f (b,a) =
8 Maximum stroming s Waarde van stroming: Probleem dat we bekijken: 8 3 Gegeven: stromingsnetwerk Gevraagd: vind een stroming met zo groot mogelijke waarde a d b 3 c 4 4 t s f = f ( s, w) a d w N b c t Waarde: 3 Geen maximum stroming
9 Opmerkingen `Negatieve stromingen: notationele truc (CLRS) Je kan weglaten: alle knopen Die geen pad vanuit s hebben Die geen pad naar t hebben Als (v,w) A en (w,v) A dan f(v,w) = 0. Voor elke w, behalve s, t: Ook: f = f ( w, t) w N v N f ( v, w) = 0 9
10 Ford-Fulkerson methode Ford-Fulkerson (96) vonden een methode om een maximum stroming in een stromingsnetwerk te berekenen. Later veel verbeteringen en snellere methoden gevonden. Idee: Begin met een stroming die overal 0 is. Stapsgewijs wordt de stroming verbeterd met behulp van het rest-netwerk en verbeterende paden. Bewijs vertelt dat als zo n verbetering niet meer mogelijk is, dan is de stroming een maximum stroming. 0
11 Een verbeterend pad: simpeler versie Stel, we hebben een stromingsnetwerk G=(N,A), met capaciteiten c, en een stroming f van s naar t. Stel, er is een pad van s naar t in G met voor elke pijl (v,w) op het pad: f (v,w) < c(v,w). Dan kunnen we de stroming verbeteren met behulp van dit pad. Bereken x= min {c(v,w) f(v,w) (v,w) op pad}. Voor elke pijl (v,w) op pad, zet f (v,w) = f (v,w)+x, en zet f (w,v) = f (w,v) x. Voor elk ander paar knopen v, w, zet f (v,w) = f (v,w). Dit is weer een stroming, en de waarde is x>0 hoger geworden!
12 Helpt, maar niet genoeg om altijd een maximum stroming te vinden Hier wel: s a d 3 b c t Hier niet: s a t d
13 Verbeteren door in tegenovergestelde richting te verminderen s a d t s 0/ / a d / / 0/ t a d / a d / a / / s / t / d / 3
14 Rest-netwerk Stel f is een stroming in netwerk G=(N,A) met capaciteiten c. Definieer het rest-netwerk (residual network) G f : Voor elke pijl (v,w) in A: Als f (v,w) < c(v,w), dan is (v,w) een pijl in G f. Als f (v,w) > 0, dan is (w,v) een pijl in G f. Voor elk paar knopen v, w: c f (v,w) = c(v,w) f (v,w) Rest-netwerk laat mogelijke verbeteringen zien. Er is een pijl, d.e.s.d. als restcapaciteit c f positief. 4
15 Een lemma en een opmerking Stel f is een stroming in G, en g is een stroming in het restnetwerk G f. Dan is f +g een stroming in G met waarde f + g. Volgt snel uit definitie. Als we een pad van s naar t in G f hebben maken we een stroming in G f. Een pad van s naar t in G f heet een verbeterend pad. 5
16 Ford-Fulkerson Begin met een stroming f zodat voor alle v, w: f (v,w) = 0. repeat Maak het rest-netwerk G f. Vind een pad p in G f van s naar t. Bereken x = min { c f (v,w) (v,w) op p}. for all (v,w) op p do f(v,w) = f(v,w) + x; f(w,v) = f(v,w); until (er is geen pad van s naar t in G f ) Output f. 6
17 Over Ford-Fulkerson algoritme FF vindt een stroming in G. FF gebruikt soort greedy aanpak. Verbeteringen over verbeterend pad: steeds of stroom toevoegen, of stroom weghalen in tegengestelde richting. Geeft FF ook een maximum stroming? Ja, maar er is wel een interessant bewijs voor nodig. In gedegenereerde gevallen gebruikt FF veel (exponentiele) tijd. 7
18 Sneden Een s-t-snede in een netwerk G=(N,A) is een partitie van de knopen in twee verzamelingen S en T, zodat S T = N S T = s S; t T. De capaciteit van een snede (S,T) is c( S, T ) = c( v v S, w T De stroming over een snede (S,T) is f ( S, T ) = v S, w T, w) f ( v, w) 8
19 Over sneden en stromingen Voor elke s-t-snede (S,T): f(s,t) c(s,t) f(s,t) = f Eenvoudig uit definities te bewijzen 9
20 0 Maximum stroming minimum snede stelling De volgende uitspraken zijn equivalent. f is een maximum stroming in G.. Het restnetwerk G f bevat geen verbeterende paden (paden van s naar t). 3. f = c(s,t) voor een s-t-snede (S,T) in G. Bewijs. Als G f wel een verbeterend pad bevat, dan kunnen we een stroming met hogere waarde maken: f is dan niet maximum. 3. We zagen net: f c(s,t) voor elke s-t-snede (S,T). Als f = c(s,t) dan bestaat er dus geen stroming met een hogere waarde dan f.
21 Slot bewijs MSMS-stelling 3: Stel G f bevat geen verbeterend pad. Schrijf S = { v er is een pad van s naar v in G f }, en T = N S. (S,T) is een snede. (t T anders is er een verbeterend pad.) Voor elke paar knopen v S, w T: f(v,w) = c(v,w) v s want anders zit w ook in S. Dus is f = f (S,T) = c(s,t). S w
22 Over de maximum-stroming minimum-snede-stelling Bewijst correctheid van Ford-Fulkerson-algoritme Verkeersopstoppingen en oorlogshandelingen: bruggen over rivieren (en tunnels)
23 Edmonds-Karp Probleem van FF: geen grens op looptijd. Edmonds-Karp: kortste verbeterende pad. Begin met een stroming f zodat voor alle v, w: f (v,w) = 0. repeat Maak het rest-netwerk G f. Vind het kortste pad p in G f van s naar t. (Met BFS.) Bereken x = min { c f (v,w) (v,w) op p}. for all (v,w) op p do f(v,w) = f(v,w) + x; f(w,v) = f(v,w); until (er is geen pad van s naar t in G f ) Output f. Gebruikt O(na ) tijd. Zonder bewijs hier. 3
24 Vinden van sneden Stromingsalgoritmen kunnen dus ook gebruikt worden voor het vinden van sneden. Toepassing o.a. voor bepalen van betrouwbaarheid van netwerken. Algoritme komt uit bewijs 4
25 Vinden van minimum snede Gegeven: gerichte graaf G=(N,A), knopen s, t. Gevraagd: wat is het minimum aantal pijlen dat we uit G moeten halen zodat er geen pad meer is van s naar t? Geef alle pijlen capaciteit. Vind maximum stroming, bijv. met FF. Bepaal S: alle knopen bereikbaar uit s. Neem alle pijlen tussen S en N S. 5
26 Weglaten van knopen Gegeven: gerichte graaf G=(N,A), knopen s, t. Gevraagd: wat is het minimum aantal knopen dat we uit G moeten halen zodat er geen pad meer is van s naar t (we mogen s en t niet weglaten)? oftewel: verzameling W van minimum formaat, zodat W deelverzameling van N-{s,t} en elk pad van s naar t een knoop in W gebruikt 6
27 Oplossing: vertaal probleem naar vraag over pijlen Vervang elke knoop als in plaatje: v v v Minimum knoop-separator van s naar t in oorspronkelijke graaf correspondeert met minimum snede van s naar t in nieuwe graaf Er is altijd een optimale oplossing die alleen de nieuwe kanten weglaat -> neem de bijbehorende knopen 7
28 Ongerichte grafen Gegeven: ongerichte graaf G=(N,A), knopen s, t. Gevraagd: wat is het minimum aantal kanten dat we uit G moeten halen zodat er geen pad meer is van s naar t? Vervang elke kant door twee pijlen en gebruik algoritme voor gerichte grafen Knoop-samenhang van ongerichte grafen: combineer de stappen 8
29 Bipartite grafen Bipartite graaf G = (N M, F) Elke kant heeft een eindpunt in N en een eindpunt in M. ( F N x M ) 9
30 Veel toepassingen van bipartite grafen Relatie tussen twee verschillende soorten objecten: Personen of machines en taken Zalen en lessen 30
31 Koppeling: Verzameling kanten die geen eindpunt gemeenschappelijk hebben. Koppeling F is een maximum koppeling als er geen koppeling met meer kanten bestaat. Koppeling F is een maximale koppeling als er geen kant e F bestaat met F {e} ook een koppeling. Koppeling koppeling, niet maximaal, niet maximum maximum 3 maximaal, niet maximum
32 Maximum bipartite koppeling probleem Gegeven: bipartite graaf G. Gevraagd: zoek een maximum koppeling in G. Toepassingen o.a.: Roostering Taak toewijzen bij Personen in bedrijf Machines Traditioneel: het huwelijksprobleem 3
33 Oplossingsmethode Modelleer als stromingsprobleem. Neem twee extra knopen, s en t, met pijlen (s,v) voor elke v N, en (w,t) voor elke w in M, en richt alle kanten in F van N naar M. Geef alle kanten capaciteit. s t 33
34 Integer stroming Als alle capaciteiten gehele getallen zijn, dan Is er een maximum stroming waarbij alle stromingswaarden gehele getallen zijn Wordt zo n maximum stroming door Ford- Fulkerson (en de meeste andere algoritmen voor het stromingsprobleem) gevonden 34
35 Equivalent Stel G=(N M, F) is een bipartite graaf, en H=(N M {s,t}) is het bijbehorende stromingsnetwerk. De volgende beweringen zijn equivalent. G heeft een koppeling met x kanten.. H heeft een s-t-stroming met waarde x. 3. H heeft een integer s-t-stroming met waarde x. 3: zagen we net. 35
36 Stroming en koppeling Als we een koppeling hebben: Stuur stroom van s naar elk beginpunt van een kant in koppeling Stuur stroom over elke kant in de koppeling Stuur stroom van elk eindpunt van kant in koppeling naar t. Alle andere pijlen krijgen 0 stroom. s t 36
37 Correctheid Dit is een stroming. De waarde van de stroming is die over de snede ({s} N, M {t}): precies gelijk aan het aantal kanten in de koppeling. Of: Als we x kanten in koppeling, dan zijn er x knopen in N beginpunt van kant in koppeling, dus gaat er x stroom uit s. 37
38 Stroming en koppeling Als we een integer stroming hebben: Over elke pijl gaat 0 of stroom, want capaciteiten allemaal. Neem kant in koppeling als stroom over corresponderende pijl. s t 38
39 Correctheid Laat K de gevonden verzameling kanten zijn. K is een koppeling: Elke knoop in N krijgt hooguit stroom binnen uit s. Dus er gaat ook hooguit stroom uit Dus, knopen in N zijn eindpunt van hooguit kant in K. Net zo voor de knopen in M. (Gebruik t.) Als de stroming waarde x heeft, dan: Is de stroming over de snede ({s} N, M {t}) x. Zijn er x pijlen van N naar M met stroom. Zitten er x kanten in K. 39
40 Algoritme voor maximum bipartite koppeling Bouw stromingsnetwerk. Vind maximum stroming van s naar t met stromingsalgoritme dat integer stroming oplevert; bijvoorbeeld Ford-Fulkerson. Vertaal stroming terug naar koppeling. 40
41 Tijd Schrijf n = N + M. Ieder verbeterend pad zal altijd de stromingswaarde met precies ophogen. Een koppeling heeft hooguit min( N, M ) < n kanten, dus is de maximum stromingswaarde kleiner dan n. Er worden dus minder dan n verbeterende paden gebruikt door Ford-Fulkerson: n iteraties van hoofdloop. Iedere iteratie kost O(n+a) tijd (vinden van pad in graaf, maken van verbeterende netwerk.) Totale tijd is O(n (n+a)) = O(na). 4
42 Variaties () Gegeneraliseerde koppeling: Gegeven: bipartite graaf G=(N M, F) met voor elke knoop v in N M een capaciteit c(v) in N Gevraagd: de grootste verzameling kanten F F zodat iedere knoop v in N M van maximaal c(v) kanten in F eindpunt is Voorbeeld toepassing: N zijn personen die c(v) taken kunnen uitvoeren. M zijn taken met c(w)= 4
43 Oplossen van gegeneraliseerde koppeling Verander bipartite graaf in stromingsnetwerk met handig/juist kiezen van capaciteiten van kanten c(v) v w c(w) s t 43
44 Afronden bij matrices Toepassing: afronding Lijkt op opgave 5 van practicum Gegeven: dimensionale matrix A met reals Gevraagd: rond alle getallen omhoog of omlaag af naar een integer zodat we een matrix B krijgen met De som van elke rij in B is een de juiste afronding is van de som van die rij in A De som van elke kolom in B is de juiste afronding van de som van die kolom in A Dus: afronding in B mag ook niet juist zijn (dus:.35 mag naar en naar ), maar voor de rijen en kolommen moet het wel juist zijn (daar dus:.35 altijd naar ) 44
45 Voorbeeld
46 Oplossing: eerste en laatste stap Verander input naar getallen tussen 0 en : Neem van iedere waarde alleen deel achter de komma (of punt) Dus:.45 wordt 0.45 Kolomsommen en rijsommen veranderen mee Los probleem nu op Vertaal terug naar oorspronkelijke probleem door bij elk getal oorspronkelijke waarde voor de komma weer op te tellen 46
47 Voorbeeld ???? ????
48 Voorbeeld ????
49 Voorbeeld Deel achter komma nemen Deel voor komma optellen
50 Afrondingsprobleem oplossen met stroming Afrondingsprobleem na modificatie is generaliseerde koppeling in vermomming Neem een bipartite graaf met: Voor elke rij een knoop met capaciteit gewenste som Voor elke kolom een knoop met capaciteit gewenste som Tussen elke rij-knoop en kolom-knoop een kant met capaciteit 50
51 Voorbeeld ???? c= c= c= c= s t rijen kolommen 5
52 Voorbeeld c= c= c= c= rijen kolommen 5
53 Wrap-up algoritme Stap : trek deel voor de komma af Stap : maak bipartite graaf met generaliseerde koppelingsprobleem Stap 3: los generaliseerde koppelingsprobleem op met stromingsalgoritme Stap 4: vertaal antwoord van koppelingsprobleem naar afrondingen in matrix ( betekent: omhoog; 0: omlaag) 53
54 Variaties van afrondingen Practicumopgave 5: onnauwkeurigheden: principe blijft hetzelfde werk de details zelf uit, en stel evt. wat vragen op het werkcollege Wat lastiger: als je ook naar beneden mag afronden (kan ook met stroming, met gebruik van ondergrenzen) 54
55 Samenvatting Algoritmen voor stroming in netwerken Ford-Fulkerson, verbetering Edmonds-Karp Toepassing in allerlei koppelingsvragen door modellering als netwerkprobleem 55
Netwerkstroming. Algoritmiek
Netwerkstroming Netwerkstroming Toepassingen in Logistiek Video-streaming Subroutine in algoritmen 2 Vandaag Netwerkstroming: wat was dat ook alweer? Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp
Nadere informatieKortste Paden. Algoritmiek
Kortste Paden Vandaag Kortste Paden probleem All pairs / Single Source / Single Target versies DP algoritme voor All Pairs probleem (Floyd s algoritme) Dijkstra s algoritme voor Single Source Negatieve
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 26 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 1 / 28 Deze week: analyseren van algoritmes Hoe
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 21 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 21 oktober 2015 1 / 20 Deze week: algoritmes en complexiteit
Nadere informatieKortste Paden. Algoritmiek
Kortste Paden Toepassingen Kevin Bacon getal Six degrees of separation Heeft een netwerk de small-world eigenschap? TomTom / Google Maps 2 Kortste paden Gerichte graaf G=(N,A), en een lengte L(v,w) voor
Nadere informatieBegrenzing van het aantal iteraties in het max-flow algoritme
Begrenzing van het aantal iteraties in het max-flow algoritme Het oplossen van het maximum stroom probleem met behulp van stroomvermeerderende paden werkt, maar het aantal iteraties kan aardig de spuigaten
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning
Nadere informatieOptimaliseren in Netwerken
Optimaliseren in Netwerken Kees Roos e-mail: C.Roos@tudelft.nl URL: http://www.isa.ewi.tudelft.nl/ roos Kaleidoscoop college Zaal D, Mekelweg 4, TU Delft 11 October, A.D. 2006 Optimization Group 1 Onderwerpen
Nadere informatieUniversiteit Utrecht Betafaculteit. Examen Discrete Wiskunde II op donderdag 6 juli 2017, uur.
Universiteit Utrecht Betafaculteit Examen Discrete Wiskunde II op donderdag 6 juli 2017, 13.30-16.30 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf op elk ingeleverd
Nadere informatieHeuristieken en benaderingsalgoritmen. Algoritmiek
Heuristieken en benaderingsalgoritmen Wat te doen met `moeilijke optimaliseringsproblemen? Voor veel problemen, o.a. optimaliseringsproblemen is geen algoritme bekend dat het probleem voor alle inputs
Nadere informatieDoorzoeken van grafen. Algoritmiek
Doorzoeken van grafen Algoritmiek Vandaag Methoden om door grafen te wandelen Depth First Search Breadth First Search Gerichte Acyclische Grafen en topologische sorteringen 2 Doolhof start eind 3 Depth
Nadere informatieTentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur
Tentamen Discrete Wiskunde 0 april 0, :00 7:00 uur Schrijf je naam op ieder blad dat je inlevert. Onderbouw je antwoorden, met een goede argumentatie zijn ook punten te verdienen. Veel succes! Opgave.
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 5 Leo van Iersel Technische Universiteit Delft 12 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 12 oktober 2016 1 / 31 Dualiteit Dualiteit: Elk LP probleem heeft
Nadere informatieTentamen combinatorische optimalisatie Tijd:
Tentamen combinatorische optimalisatie 26-05-2014. Tijd: 9.00-11.30 Tentamen is met gesloten boek. Beschrijf bij elke opgave steeds het belangrijkste idee. Notatie en exacte formulering is van minder belang.
Nadere informatieBenaderingsalgoritmen
Benaderingsalgoritmen Eerste hulp bij NP-moeilijkheid 1 Herhaling NP-volledigheid (1) NP: er is een polynomiaal certificaat voor jainstanties dat in polynomiale tijd te controleren is Een probleem A is
Nadere informatieUniversiteit Utrecht Betafaculteit. Examen Discrete Wiskunde op donderdag 13 april 2017, uur.
Universiteit Utrecht Betafaculteit Examen Discrete Wiskunde op donderdag 13 april 2017, 14.30-17.30 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf op elk ingeleverd
Nadere informatieHoofdstuk 13: Integer Lineair Programmeren
Hoofdstuk 13: Integer Lineair Programmeren Vandaag: Wat is Integer Lineair Programmeren (ILP)? Relatie tussen ILP en LP Voorbeeld 1: Minimum Spanning Tree (MST) Voorbeeld 2: Travelling Salesman Problem
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 5 Leo van Iersel Technische Universiteit Delft 2 oktober 206 Leo van Iersel (TUD) TW2020 Optimalisering 2 oktober 206 / 3 Dualiteit Dualiteit: Elk LP probleem heeft een
Nadere informatie(On)Doenlijke problemen
Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen Overzicht Inleiding - Relatie Deel 1 en Deel 2 - Doenlijke
Nadere informatieElfde college complexiteit. 23 april NP-volledigheid III
college 11 Elfde college complexiteit 23 april 2019 NP-volledigheid III 1 TSP Als voorbeeld bekijken we het Travelling Salesman/person Problem, ofwel het Handelsreizigersprobleem TSP. Hiervoor geldt: TSP
Nadere informatieGrafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.
Grafen Grafen Een graaf bestaat uit een verzameling punten (ook wel knopen, of in het engels vertices genoemd) en een verzameling kanten (edges) of pijlen (arcs), waarbij de kanten en pijlen tussen twee
Nadere informatieExamen Discrete Wiskunde donderdag 12 april, 2018
Examen Discrete Wiskunde 2017-2018 donderdag 12 april, 2018 De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Gebruik hiervoor de ruimte onder de vraag; er is in principe genoeg
Nadere informatieWeek 1 20-02-2013. Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.
Combinatorische Optimalisatie, 2013 Week 1 20-02-2013 Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren. Opgave 1.16 Bewijs dat elke graaf een even aantal punten
Nadere informatie2WO12: Optimalisering in Netwerken
2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 27 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com
Nadere informatieNP-volledigheid. Algoritmiek
NP-volledigheid Polynomiale algoritmen of moeilijke problemen? Algoritme A is polynomiaal, als er een constante c bestaat, zodat het algoritme bij inputs van formaat n O(n c ) tijd gebruikt. Sommige problemen
Nadere informatieHoofdstuk 8: Algoritmen en Complexiteit
Hoofdstuk 8: Algoritmen en Complexiteit Vandaag: Hoe meten we de performance van algoritmen? Waar ligt de grens tussen een goed en een slecht algoritme? 22 oktober 2014 1 Vandaag: Hoe meten we de performance
Nadere informatieBasiskennis lineaire algebra
Basiskennis lineaire algebra Lineaire algebra is belangrijk als achtergrond voor lineaire programmering, omdat we het probleem kunnen tekenen in de n-dimensionale ruimte, waarbij n gelijk is aan het aantal
Nadere informatieOefententamen in2505-i Algoritmiek
TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Oefententamen in2505-i Algoritmiek Maart 2007 Het gebruik van boek of aantekeningen tijdens dit tentamen is niet toegestaan.
Nadere informatieDiscrete Wiskunde, College 12. Han Hoogeveen, Utrecht University
Discrete Wiskunde, College 12 Han Hoogeveen, Utrecht University Dynamische programmering Het basisidee is dat je het probleem stap voor stap oplost Het probleem moet voldoen aan het optimaliteitsprincipe
Nadere informatiel e x e voor alle e E
Geselecteerde uitwerkingen Werkcollege Introduceer beslissingsvariabelen x e met x e = als lijn e in de boom zit en anders x e = 0. De doelfunctie wordt: min e E l e x e Voor elke deelverzameling S V met
Nadere informatieTransport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen
Transport-, Routing- en Schedulingproblemen Wi4062TU / Wi487TU / a86g Uitwerkingen 28-03-2003 1 Docenten Onderdeel a Er zijn 6 vakken V 1, V 2,..., V 6. Vak V j heeft een vraag b j = 1, voor j = 1, 2,...,
Nadere informatie2WO12: Optimalisering in Netwerken
2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 10 maart 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com
Nadere informatieTwaalfde college complexiteit. 11 mei 2012. Overzicht, MST
College 12 Twaalfde college complexiteit 11 mei 2012 Overzicht, MST 1 Agenda voor vandaag Minimum Opspannende Boom (minimum spanning tree) als voorbeeld van greedy algoritmen Overzicht: wat voor technieken
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 6 Leo van Iersel Technische Universiteit Delft 19 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 19 oktober 2016 1 / 20 Deze week Primal-Dual algoritmes voor:
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 9 Leo van Iersel Technische Universiteit Delft 11 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 1 / 22 Mededelingen Huiswerk 2 nagekeken Terug
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 9 Leo van Iersel Technische Universiteit Delft 16 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 1 / 28 Vandaag Integer Linear Programming (ILP)
Nadere informatieElfde college algoritmiek. 21 april Dijkstra en Branch & Bound
Algoritmiek 011/11 College 11 Elfde college algoritmiek 1 april 011 Dijkstra en Branch & Bound 1 Algoritmiek 011/11 Kortste paden Gegeven een graaf G met gewichten op de takken, en een beginknoop s. We
Nadere informatieTW2020 Optimalisering
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
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 13 Leo van Iersel Technische Universiteit Delft 9 december 2015 Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 1 / 13 Vraag Wat moet ik kennen en kunnen voor
Nadere informatiel e x e voor alle e E
Geselecteerde uitwerkingen Werkcollege Introduceer beslissingsvariabelen x e met x e = als lijn e in de boom zit en anders x e = 0. De doelfunctie wordt: min e E l e x e Voor elke deelverzameling S V met
Nadere informatieVierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument
Complexiteit 2019/04 College 4 Vierde college complexiteit 26 februari 2019 Beslissingsbomen en selectie Toernooimethode Adversary argument 1 Complexiteit 2019/04 Zoeken: samengevat Ongeordend lineair
Nadere informatieJe hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015
Je hebt twee uur de tijd voor het oplossen van de vraagstukken. Elk vraagstuk is maximaal 10 punten waard. Begin elke opgave op een nieuw vel papier. µkw uitwerkingen 12 juni 2015 Vraagstuk 1. We kunnen
Nadere informatieDivide & Conquer: Verdeel en Heers vervolg. Algoritmiek
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:
Nadere informatieSommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk.
Netwerkanalyse (H3) Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk. Deze problemen kunnen vaak als continu LP probleem worden opgelost. Door de speciale structuur
Nadere informatieTer Leering ende Vermaeck
Ter Leering ende Vermaeck 15 december 2011 1 Caleidoscoop 1. Geef een relatie op Z die niet reflexief of symmetrisch is, maar wel transitief. 2. Geef een relatie op Z die niet symmetrisch is, maar wel
Nadere informatieNetwerkoptimalisatie
1 Yvette Kleinherenbrink Netwerkoptimalisatie Master thesis, defended on 11 September 2009 Thesis advisor: L.Kallenberg & P. Kop Mathematisch Instituut, Universiteit Leiden Voorwoord Dagelijks reizen er
Nadere informatieVector-en matrixvergelijkingen. Figuur: Vectoren, optellen
Vector-en matrixvergelijkingen (a) Parallellogramconstructie (b) Kop aan staartmethode Figuur: Vectoren, optellen (a) Kop aan staartmethode, optellen (b) Kop aan staart methode, aftrekken Figuur: Het optellen
Nadere informatieDiscrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:
Nadere informatieUniversiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur.
Universiteit Utrecht Faculteit Wiskunde en Informatica Examen Optimalisering op maandag 18 april 2005, 9.00-12.00 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf
Nadere informatieSamenvatting college 1-12
Samenvatting college 1-12 Probleemformulering Duidelijk definiëren van beslissingsvariabelen Zinvolle namen voor variabelen bv x ij voor ingrediënt i voor product j, niet x 1,..., x 20 Beschrijving van
Nadere informatieLineaire Algebra voor ST
Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.31 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds06 Technische Universiteit Eindhoven college 7 J.Keijsper
Nadere informatieRSA. F.A. Grootjen. 8 maart 2002
RSA F.A. Grootjen 8 maart 2002 1 Delers Eerst wat terminologie over gehele getallen. We zeggen a deelt b (of a is een deler van b) als b = qa voor een of ander geheel getal q. In plaats van a deelt b schrijven
Nadere informatieDiscrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren
Nadere informatie3.2 Vectoren and matrices
we c = 6 c 2 = 62966 c 3 = 32447966 c 4 = 72966 c 5 = 2632833 c 6 = 4947966 Sectie 32 VECTOREN AND MATRICES Maar het is a priori helemaal niet zeker dat het stelsel vergelijkingen dat opgelost moet worden,
Nadere informatieToewijzingsprobleem Bachelorscriptie
Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica Toewijzingsprobleem Bachelorscriptie Auteur: Veronique Rademaekers (s4155718) Begeleiders: Dr. W. Bosma en dr. H.
Nadere informatieLineaire Algebra voor ST
Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.3 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds6 Technische Universiteit Eindhoven college 6 J.Keijsper (TUE)
Nadere informatieUitwerkingen Sum of Us
Instant Insanity Uitwerkingen Sum of Us Opgave A: - Opgave B: Voor elk van de vier kubussen kun je een graaf maken die correspondeert met de desbetreffende kubus. Elk van deze grafen bevat drie lijnen.
Nadere informatieElfde college algoritmiek. 16 mei Dijkstra, Gretige algoritmen en Branch & Bound
Algoritmiek 013/11 College 11 Elfde college algoritmiek 1 mei 013 Dijkstra, Gretige algoritmen en Branch & Bound 1 Algoritmiek 013/11 Voorbeeld -1- A B C D E F G H 9 7 5 A B C D E F G H 0 9 9 7 5 A B C
Nadere informatieRadboud Universiteit Nijmegen
Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica Wiskundig Verslag Modellenpracticum 2014 Namen: Studie: Begeleider: Opdrachtgever: Baukje Debets Elena Fuentes Bongenaar
Nadere informatieFuncties van vectoren
Functies van vectoren Alexander Ly Psychological Methods University of Amsterdam 15 September 2014 Overview 1 Notatie 2 Overview 1 Notatie 2 Matrices Een matrix schrijven we vaak met een hoofdletter A.
Nadere informatieHebzucht loont niet altijd
Thema Discrete wiskunde Hoe verbind je een stel steden met zo weinig mogelijk kilometers asfalt? Hoe maak je een optimaal computernetwerk met kabels die maar een beperkte capaciteit hebben? Veel van zulke
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieTiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra
Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
1 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieWorkshop DisWis, De Start 13/06/2007 Bladzijde 1 van 7. Sudoku. Sudoku
DisWis DisWis is een lessenserie discrete wiskunde die De Praktijk vorig jaar in samenwerking met prof.dr. Alexander Schrijver heeft opgezet. Gedurende vier weken komt een wiskundestudent twee blokuren
Nadere informatieOnafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms
Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie
Nadere informatieDe huwelijksstelling van Hall
Thema Discrete wiskunde In de vorige twee afleveringen heb je al kennis kunnen maken met het begrip graaf en hoe grafen worden gebruikt door Google s zoekmachine en door de NS bij het maken van een optimale
Nadere informatieTentamen lineaire algebra voor BWI maandag 15 december 2008, uur.
Vrije Universiteit Amsterdam Faculteit der Exacte Wetenschappen Afdeling Wiskunde Tentamen lineaire algebra voor BWI maandag 5 december 8, 5.5-8. uur. ELK ANTWOORD DIENT TE WORDEN BEARGUMENTEERD. Er mogen
Nadere informatieVierde college complexiteit. 14 februari Beslissingsbomen
College 4 Vierde college complexiteit 14 februari 2017 Restant zoeken Beslissingsbomen 1 Binair zoeken Links := 1; Rechts := n; while Links Rechts do Midden := Links + Rechts 2 ; if X = A[Midden] then
Nadere informatieOptimalisering/Besliskunde 1. College 1 3 september, 2014
Optimalisering/Besliskunde 1 College 1 3 september, 2014 Algemene informatie College: woensdag 9:00-10:45: Gorlaeus C1/C2, Leiden vrijdag: werkcollege Leiden en Delft Vier verplichte huiswerkopgaven Informatie
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 2 Leo van Iersel Technische Universiteit Delft 14 september 2016 Leo van Iersel (TUD) TW2020 Optimalisering 14 september 2016 1 / 30 Modelleren van LP en ILP problemen
Nadere informatieDeterminanten. Definities en eigenschappen
Determinanten Definities en eigenschappen Definities (korte herhaling) Determinant van een 2x2-matrix: a b ad bc c d S. Mettepenningen Determinanten 2 Definities (korte herhaling) Determinant van een 3x3-matrix:
Nadere informatieLineaire Algebra (wi2142tn) Les 5: Determinanten. Joost de Groot Les 5. Faculteit EWI, Toegepaste Wiskunde. Technische Universiteit Delft
Lineaire Algebra (wi2142tn) Les 5: Determinanten Joost de Groot Les 5 1 Technische Universiteit Delft Doel van deze les Determinanten ben je al tegengekomen bij de behandeling van het in en het uitwendig
Nadere informatieCombinatorische Algoritmen: Binary Decision Diagrams, Deel III
Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse
Nadere informatie1 Complexiteit. of benadering en snel
1 Complexiteit Het college van vandaag gaat over complexiteit van algoritmes. In het boek hoort hier hoofdstuk 8.1-8.5 bij. Bij complexiteitstheorie is de belangrijkste kernvraag: Hoe goed is een algoritme?
Nadere informatieInleiding Analyse 2009
Inleiding Analyse 2009 Inleveropgaven A). Stel f(, y) = In (0, 0) is f niet gedefinieerd. We bestuderen y2 2 + y 4. lim f(, y). (,y) (0,0) 1. Bepaal de waarde van f(, y) op een willekeurige rechte lijn
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, mei 2007
Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatie2WO12: Optimalisering in Netwerken
2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TUE) en Centrum Wiskunde & Informatica (CWI) 3 en 6 februari 2014 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in
Nadere informatieOefententamen in2505-i Algoritmiek
TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Oefententamen in2505-i Algoritmiek Maart 2007 Het gebruik van boek of aantekeningen tijdens dit tentamen is niet toegestaan.
Nadere informatieEen combinatorische oplossing voor vraag 10 van de LIMO 2010
Een combinatorische oplossing voor vraag 10 van de LIMO 2010 Stijn Vermeeren (University of Leeds) 16 juni 2010 Samenvatting Probleem 10 van de Landelijke Interuniversitaire Mathematische Olympiade 2010vraagt
Nadere informatieMatrixalgebra (het rekenen met matrices)
Matrixalgebra (het rek met matrices Definitie A a a n a a n a m a mn is e (m n-matrix Hierbij is m het aantal rij van A n het aantal kolomm (m n noemt m de afmeting( van de matrix A We noter vaak kortweg
Nadere informatie3 Wat is een stelsel lineaire vergelijkingen?
In deze les bekijken we de situatie waarin er mogelijk meerdere vergelijkingen zijn ( stelsels ) en meerdere variabelen, maar waarin elke vergelijking er relatief eenvoudig uitziet, namelijk lineair is.
Nadere informatie1 Rekenen in eindige precisie
Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen
Nadere informatie3. Structuren in de taal
3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we
Nadere informatieGeldwisselprobleem van Frobenius
Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme
Nadere informatieGödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3
Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................
Nadere informatie1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist is. Kruis de juiste bewering aan. (2pt. per juist antwoord).
Tentamen Optimalisering (IN2805-I) Datum: 3 april 2008, 14.00 17.00. Docent: Dr. J.B.M. Melissen Naam: Studienummer: 1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist
Nadere informatieHoofdstuk!7!Kortste!paden!
oofdstukkortstepaden oofdstukkortstepaden In een gewogen graaf is men soms geïnteresseerd in het kortste pad tussen twee punten: dat is een pad, waarbij de som van de gewichten zo klein mogelijk is..inleiding
Nadere informatieDynamisch Programmeren III. Algoritmiek
Dynamisch Programmeren III Vandaag Dynamisch programmeren met wat lastiger voorbeelden: Handelsreiziger Longest common subsequence Optimale zoekbomen Knapsack 2 - DP2 Handelsreiziger Een handelsreiziger
Nadere informatieCTB1002 deel 1 - Lineaire algebra 1
CTB1002 deel 1 - Lineaire algebra 1 College 1 11 februari 2014 1 Even voorstellen Theresia van Essen Docent bij Technische Wiskunde Aanwezig op maandag en donderdag EWI 04.130 j.t.vanessen@tudelft.nl Slides
Nadere informatieIII.3 Supremum en infimum
III.3 Supremum en infimum Zowel de reële getallen als de rationale getallen vormen geordende lichamen. Deze geordende lichamen zijn echter principieel verschillend. De verzameling R is bijvoorbeeld aanzienlijk
Nadere informatieONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.
ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.8 ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Inleiding
Nadere informatieTransshipment problemen Simplex methode en netwerk optimalisatie algoritmes. Luuk van de Sande Begeleider: Judith Keijsper 20 januari 2013
Transshipment problemen Simplex methode en netwerk optimalisatie algoritmes Luuk van de Sande Begeleider: Judith Keijsper 20 januari 2013 1 Inhoudsopgave 1 Transport problemen 3 2 Definities en stellingen
Nadere informatieAfbeelding 12-1: Een voorbeeld van een schaakbord met een zwart paard op a4 en een wit paard op e6.
Hoofdstuk 12 Cartesische coördinaten 157 Hoofdstuk 12 CARTESISCHE COÖRDINATEN In dit hoofdstuk behandelen we: Het Cartesisch coördinatenstelsel De X-as en de Y-as De commutatieve eigenschap van optellen
Nadere informatieOptimalisereninNetwerken
OptimalisereninNetwerken Kees Roos e-mail: C.Roos@tudelft.nl, croos@otct.eu URL: http://www.isa.ewi.tudelft.nl/ roos HOVO cursus Wiskunde: zuurstof voor de wereld (deel I) 18 februari, A.D. 2009 Optimization
Nadere informatieMatrices en Grafen (wi1110ee)
Matrices en Grafen (wi1110ee) Electrical Engineering TUDelft September 1, 2010 September 1, 2010 Inleiding Mekelweg 4, kamer 4.240 tel : (015 27)86408 e-mail : I.A.M.Goddijn@TUDelft.nl homepage : http:
Nadere informatieOptimalisering/Besliskunde 1. College 1 6 september, 2012
Optimalisering/Besliskunde 1 College 1 6 september, 2012 Algemene informatie College: donderdag 9:00-10:45: Gorlaeus C1/C2, Leiden vrijdag: werkcollege Leiden en Delft vragenuur Delft Vier verplichte huiswerkopgaven
Nadere informatie