F. Optimaliseren in netwerken

Maat: px
Weergave met pagina beginnen:

Download "F. Optimaliseren in netwerken"

Transcriptie

1 F. Optimaliseren in netwerken Inleiding Optimalisering is het deelgebied van de wiskunde waarbij het gaat het om de ontwikkeling en analyse van algoritmen voor het oplossen van problemen waarbij een functie f(x) moet worden geoptimaliseerd (geminimaliseerd of gemaximaliseerd), waarbij x een vector is in een gegeven verzameling X. In het geval van minimaliseren heeft zo n probleem de vorm min {f(x) : x X R n }. De vector x representeert de n beslissingsvariabelen, f(x) de doelfunctie, en X het domein, of toelaatbare gebied van het probleem. Als de doelfunctie lineair is en het domein kan worden gedefinieerd door middel van lineaire functies, dan spreken we van een lineair optimaliseringsprobleem. Veel problemen, in allerlei takken van de toegepaste wetenschappen, betreffen de optimale toewijzing van schaarse middelen. Zulke problemen kunnen worden geformuleerd als een optimaliseringsprobleem. Gedurende de tweede wereldoorlog werd optimalisering voor het eerst op grote schaal toegepast om logistieke en operationele problemen te modelleren en op te lossen. Als wetenschappelijke discipline kon het gebied ontstaan en floreren dankzij de opkomst van de digitale computer. Optimaliseringstechnologie is tegenwoordig een essentieel onderdeel van de besluitvorming op allerlei gebieden: luchtvaart, economie, landbouw, energie, telecommunicatie, internet, biotechnologie, etc. Een belangrijk deelgebied van de lineaire optimalisering is netwerk optimalisering. Na het werk van enkele pioniers in de jaren 0 en 0 van de vorige eeuw op het gebied van de grafentheorie [7] en het transport probleem, waaronder de Nederlander Koopmans die vanwege dit werk in 975 samen met de Russische econoom Kantorovic de Nobelprijs voor economie ontving, kwam dit gebied pas goed van de grond in de jaren 50. Tot de eerste problemen waarvoor efficiënte algoritmen werden gevonden behoorden het minimal-spanning-tree probleem in 965 (Kruskal) en 957 (Prim), en het kortste-pad-probleem in 959 (Dijkstra). Veel van deze eerste algoritmen worden nog steeds toegepast. Onder invloed van de opkomende informatica werd in de jaren 70 steeds indringender de vraag gesteld naar de efficiëntie van algoritmen. Toen Klee en

2 Minty in 972 een voorbeeld gaven van een lineair probleem met 50 variabelen waarvoor de Simplex-methode tientallen jaren rekentijd zou vergen, werd dat als zeer schokkend ervaren. In dit college willen we efficiënte algoritmen bespreken voor enkele belangrijke optimaliseringsproblemen voor netwerken. Theorie en opgaven voor zelfstudie. Kortste paden Voor velen is het vinden van de snelste route van huis naar het werk een dagelijks terugkerend probleem. In abstracte vorm is het een van de oudste en meest bestudeerde problemen in de toegepaste wiskunde. Het staat bekend als het kortste-pad-probleem en kan eenvoudig worden gemodelleerd met behulp van een graaf of netwerk. Figuur toont hiervan een eenvoudig voorbeeld. De knopen stellen de kruispunten voor van wegen en straten. Een weg tussen twee kruispunten wordt gerepresenteerd door een lijn (of tak) die de corresponderende knopen verbindt. Aan elke tak kennen we een positieve getalwaarde toe gelijk aan de lengte, of de reistijd van het betreffende weggedeelte. Ook als deze getalwaarde een reistijd voorstelt, noemen we het de lengte van de tak. In het netwerk van Figuur zijn er meerdere paden van knoop s naar knoop t. Een kortste pad is aangegeven door middel van dik getekende pijlen. Het is 2 s Figuur : Voorbeeld van een kortste-pad-probleem duidelijk dat in de praktijk het aantal knopen veel groter kan zijn dan in dit simpele voorbeeld. Een veel gebruikte digitale kaart van Nederland bijvoorbeeld telt 80.8 knopen en takken (Tele-atlas, versie 200). Het snel vinden van een kortste pad van een vertrekpunt A naar een bestemming B vergt dan een efficiënt algoritme. Reisplanners en navigatiesystemen zijn 9 t 2

3 gebaseerd op dergelijke algoritmen. Gebruikers van zulke systemen zullen een korte berekeningstijd op prijs stellen. Kortste-pad-problemen hebben een veel groter toepassingsgebied dan men bij eerste kennismaking zou verwachten: De meest voor de hand liggende toepassing is al genoemd: het vinden van een kortste reisroute van A naar B. In communicatienetwerken (internet!) doet zich het zelfde probleem voor: als we vanuit Delft een bericht naar Tokyo sturen wordt in principe het bericht door routers in tussenliggende schakelstations doorgestuurd naar een schakelstation dat ligt op een kortste route naar Tokyo. Een cruciaal probleem bij spraakherkenning, het automatisch omzetten van gesproken in geschreven tekst, is het onderscheiden van gelijkluidende woorden, zoals voet, voed en voedt. Vorm een graaf met de mogelijke woorden in een zin als knopen, met een gerichte tak tussen elk tweetal mogelijke opeenvolgende woorden. Als we voor de taklengten een maat nemen voor de kans op het voorkomen van het betreffende paar woorden, dan kan de best mogelijke interpretatie van een zin worden gevonden door een kortste pad te bepalen van het eerste woord naar het laatste woord in de zin. Zie Figuur 2. voed De man voedt het schaap voet Figuur 2: Voorbeeld van een zin Beeldsegmentatie is een ander voorbeeld. Beschouw het probleem om twee objecten in bijvoorbeeld een MRI-scan van elkaar te scheiden. Dit wordt gedaan door een lijn tussen twee punten te vinden die het kleinste aantal donkere pixels bevat. De pixels zijn de knopen van de graaf, en de lengte van een tak nemen we korter naarmate de twee pixels die de tak verbindt lichter zijn. Een kortste pad tussen de twee punten markeert een optimale scheidingslijn. Dezelfde techniek wordt ook gebruikt om de contour van bijvoorbeeld het hart in een röntgenopnamen te bepalen.

4 In veel toepassingen moeten grote aantallen kortste paden worden uitgerekend waardoor het beschikken over een efficiënt algoritme nog urgenter wordt. Het eerder genoemde Dijkstra algoritme is het meest bekende en meest gebruikte. De werking van dit algoritme zullen we hieronder beschrijven... Enige definities Een netwerk, of (gerichte) graaf, bestaat uit een (eindige) verzameling V van knopen, en een verzameling E van (gerichte) takken. Een tak is een geordend paar van knopen. Als e = (v,w) E dan heet v de beginknoop en w de eindknoop van tak a. Een pad P in het netwerk is een rij van de vorm v, e, v 2, e 2,...v k, e k, v k+ waarbij e i = (v i,v i+ ) E voor i =, 2..., k en k. Omdat een tak eenduidig bepaald is door zijn begin- en zijn eindknoop stellen we een pad ook wel kortweg voor als een geordend rijtje van knopen: P = (v, v 2,...v k, v k+ ). () We nemen aan dat elke tak een niet-negatieve lengte heeft. De lengte van tak (v,w) noteren we als c vw. De lengte van het pad P in () is per definitie de som van de lengten van de takken op P: l(p) = (v,w) P Opgave Bepaal het aantal paden van s naar t in het netwerk van Figuur. c vw...2 Algoritme van Dijkstra Het algoritme van Dijkstra bepaalt een kortste pad van s naar t, waarbij s en t twee willekeurige knopen zijn in een gegeven netwerk. Het algoritme kent aan elke knoop v in de graaf een getalwaarde (of label) π v toe; deze waarde is altijd groter dan of gelijk aan de lengte van het kortste pad van s naar v. Aan het eind van het algoritme is π t gelijk aan de lengte van het kortste pad van s naar t. In elke iteratie wordt een knoop verkend en het algoritme houdt een lijst Q bij van nog te verkennen knopen. Aanvankelijk bevat Q alleen knoop s, en hebben alle knopen het label (het wiskundige symbool voor oneindig)

5 behalve knoop s: die krijgt het label 0, zijnde de lengte van het kortste pad van s naar s. Een iteratie bestaat uit het kiezen en vervolgens verkennen van een knoop u uit de lijst Q; we kiezen daarvoor een knoop in Q waarvoor π u minimaal is; deze knoop wordt uit Q verwijderd en vervolgens verkend. Tijdens het verkennen van knoop u wordt voor elke knoop v die met u verbonden is het label π v al dan niet aangepast: als het pad van s via u naar v korter is dan π v dan maken we π v gelijk aan de lengte van dit kortere pad. Dus geven we dan v als nieuw label de som van π u en de lengte c uv van de tak van u naar v; verder wordt de knoop v toegevoegd aan Q. Figuur beschrijft het algoritme in pseudocode. Initialisatie: Q := {s}; π s := 0; π v :=, v V \ {s}; while Q is niet leeg: Kies u Q zodanig dat π u π v voor alle v Q; Verken(u) endwhile Figuur : Algoritme van Dijkstra. De procedure Verken(u) is gegeven in Figuur. begin doe voor alle a = (u,v) het volgende: als π v > π u + c uv dan begin π v := π u + c uv ; voeg v toe aan Q end; verwijder u uit Q end Figuur : Procedure Verken(u). We passen bij wijze van voorbeeld het algoritme toe op het netwerk in Figuur 5

6 . Het resultaat is samengevat in Figuur 5. De kolommen in de tabel in deze figuur geven de waarden van π v. De elementen in Q zijn aangegeven door de waarde van π v te omcirkelen; het element dat wordt gekozen om te worden verkend heeft in plaats van een cirkel een rechthoek als kader. iteraties knoop s t Figuur 5: Toepassing van Dijkstra s algoritme. We concluderen uit de tabel dat de lengte van het kortste pad gelijk is aan 0. Het kortste pad kan ook uit de tabel worden teruggevonden. Het label 0 in knoop t ontstond bij het verkennen van knoop 9, die op dat moment label 9 had. Dit label ontstond bij het verkennen van knoop 6, die op dat moment label 6 had. Enzovoort. Zo terugwerkend vinden we dat P = (s, 5, 6, 9,t) een kortste pad is van s naar t. Opgave 2 Bewijs dat het label π v van een knoop v nooit kleiner is dan de lengte van een kortste pad van s naar v. Opgave Als een knoop u wordt verkend, dan is het label van die knoop permanent (d.w.z. verandert niet meer). Bewijs dit. Leid hieruit af dat het label van die knoop dan gelijk is aan de lengte van een kortste pad van s naar die knoop. Opgave Een knoop die is verkend, wordt uit Q verwijderd. Toon aan dat die knoop daarna nooit weer aan de lijst Q wordt toegevoegd. 6

7 Opgave 5 Als het algoritme stopt, dan geldt voor elke knoop v dat π v gelijk is aan de lengte van een kortste pad van s naar v. Bewijs dit. Uit Opgave 5 blijkt dat het algoritme van Dijkstra niet alleen de lengte van het kortste pad van s naar t oplevert, maar de lengte van het kortste pad van s naar elke knoop. We noemen het daarom een one-to-all kortste-padalgoritme. Indien we alleen het kortste pad van s naar t willen weten, dan kunnen we het algoritme stoppen als knoop t aan de beurt is om te worden verkend. Volgens Opgave is de lengte van het kortste pad van s naar t dan gevonden. Deze variant van Dijkstra s algoritme is een one-to-one kortste-pad-algoritme. De efficiëntie van een algoritme wordt bepaald door het aantal bewerkingen (rekenkundige bewerkingen als optellen, aftrekken, vermenigvuldigen, etc. en logische bewerkingen, zoals het vergelijken van de grootte van twee getallen) in het algoritme. We dienen dus het aantal bewerkingen te tellen dat het algoritme vergt voor een netwerk met n knopen en m takken. Dit leidt doorgaans tot een of andere min of meer ingewikkelde uitdrukking in m en n. Omdat we vooral geïnteresseerd zijn in het gedrag van het algoritme voor grote waarden van n en/of m, letten we alleen op die termen in de betreffende uitdrukking die het gedrag voor grote n en/of m in hoofdzaak bepalen. Bijvoorbeeld, als de uitdrukking voor het aantal bewerkingen 7n 2 m + 8n + 5 is dan interesseert ons alleen de term 7n 2 m. Dit maakt duidelijk dat als n 2 maal zo groot wordt, de looptijd van het algoritme ongeveer maal zo groot wordt. Deze laatste conclusie, die ons vertelt hoe snel de looptijd aangroeit als het probleem veel groter wordt, is onafhankelijk van de factor 7. Daarom laten we ook de factor 7 weg, en zeggen dat de looptijd van het algoritme O(n 2 m) is; het symbool O dient om aan te geven dat het om de orde van grootte van de looptijd gaat. Opgave 6 Ga na dat het aantal bewerkingen in Dijkstra s algoritme O(n 2 ) is. Na de uitvoering van Dijkstra s (one-to-all) algoritme voldoen de labels π v aan de ongelijkheden Opgave 7 Bewijs (2). π s = 0, π v π u c uv, (u,v) E. (2) 7

8 Zij nu P = (s = v 0,v, v 2,..., v k,t = v k ) een willekeurig pad van s naar t. Dan mogen we schrijven l(p) = k i=0 c vi v i+ k i=0 ( πvi+ π v i ) = πvk π v0 = π t π s = π t. Met andere woorden, als P een willekeurig pad is van s naar t, en π voldoet aan (2), dan geldt l(p) π t. Het Dijkstra algoritme levert een pad P en een labelling π waarvoor geldt l(p) = π t. Een gevolg hiervan is de volgende stelling. Stelling. De lengte van het kortste pad van s naar t gelijk is aan max {π t : π s = 0, π v π u c uv, (u,v) E}. Dit is de dualiteitsstelling voor het kortste-pad-probleem. Het belang van deze (en elke dualiteits-) stelling is het volgende. Als we een kortste pad P gevonden hebben dan is er altijd een mogelijkheid dat er rekenfouten zijn gemaakt. De geproduceerde labels π v kunnen echter worden gebruikt als een garantiecertificaat: Als de labels voldoen aan (2) en l(p) = π t dan levert dit een niet-algoritmisch bewijs voor het feit dat P een kortste pad is!.2 Maximale stromen We beschouwen opnieuw een netwerk G = (V,E), met knopenverzameling V en takkenverzameling E. Verder is weer voor elke tak (v,w) een positief getal c vw gegeven; dit getal stelt nu de capaciteit voor van tak (v,w). Gegeven zijn verder twee speciale knopen, s en t, en gevraagd wordt om een maximale stroom van s naar t te bepalen. Een stroom x is een verzameling van getallen x vw zodanig dat in elke knoop ongelijk aan s en t behoud van stroom geldt en op elke tak de (niet-negatieve!) stroomwaarde niet groter is dan de capaciteit. Met andere woorden, x moet voldoen aan de balansvergelijkingen x uv = x vw, v V \ {s,t} () (u,v) E en aan de capaciteitsbeperkingen (v,w) E 0 x vw c vw, (v,w) E. () De waarde van de stroom x is per definitie gelijk aan waarde (x) = x sv (s,v) E 8 (v,s) E x vs.

9 a b c 5 5 s t 6 d e f 2 Figuur 6: Maximale-stroom-probleem In Figuur 6 is een voorbeeld van een maximale-stroom-probleem gegeven. Merk op dat x vw = 0, (v,w) E een stroom definieert op het netwerk. Dit is de zogenaamde nulstroom. De waarde van deze stroom is 0. Stromen met een grotere waarde zijn eenvoudig te vinden: neem een willekeurig pad van s naar t in het netwerk, en stuur daarover zoveel mogelijk stroom. Bijvoorbeeld, over het pad (s,a,f,t) in Figuur 6 kan een stroom ter waarde van worden verzonden zonder de capaciteitsgrenzen op dit pad te overschrijden. Daarenboven kan over het pad (s,d,e,c,t) een stroom ter waarde van worden verzonden zonder de capaciteitsgrenzen op dit pad te overschrijden. Samen leveren deze stromen een stroom ter waarde van 7 op. Deze stroom is afgebeeld in Figuur 7. Bij elke tak (v,w) staan de stroomwaarde en de 5 a 0 b c 5 s t 6 d e f 0 2 Figuur 7: Een stroom met waarde 7. capaciteit gegeven als x vw c vw..2. Algoritme van Ford-Fulkerson Het algoritme van Ford-Fulkerson (956) doet in feite niets anders dan bij een gegeven stroom op een systematische manier te zoeken naar een pad van s 9

10 naar t waarover extra stroom kan worden gestuurd. Verrassend genoeg levert dit algoritme inderdaad een maximale stroom op: als er geen pad van s naar t is waarover extra stroom kan worden gestuurd, dan is de stroom maximaal. We zullen dit hieronder aantonen. Maar eerst zullen we een systematische manier behandelen om een zogenaamd doorbraakpad te vinden waarover eventueel extra stroom kan worden gestuurd. Eerst vormen we het zogenaamde hulpnetwerk G x van G behorend bij stroom x. G x heeft dezelfde knopen als G. In G x nemen we alleen die takken (v,w) E op waarover extra stroom kan worden gestuurd en de inverse takken van de stroomvoerende takken in G; de capaciteit van deze takken in G x is gelijk aan de restcapaciteit in G. Met andere woorden, als we de verzameling van de takken in G x E x noemen, dan geldt E x = {(v,w) E : x vw < c vw } {(w,v) : (v,w) E, x vw > 0}. Als x vw < c vw dan is de restcapaciteit van deze tak in E x gelijk aan c vw x vw, en als x vw > 0 dan is restcapaciteit van tak (w,v) in E x gelijk aan x vw. We illustreren dit aan de hand van de stroom in Figuur 7. Het hulpnetwerk is afgebeeld in Figuur 8. In het netwerk van Figuur 8 blijkt via het dik getes a b c 2 d e f 2 2 t Figuur 8: Hulpnetwerk voor Figuur 7. kende pad een doorbraak mogelijk van s naar t. Bovendien zien we dat over dit pad een extra stroom ter waarde van kan worden gestuurd. Voegen we deze stroom toe aan de stroom in Figuur 7 dan verkrijgen we de stroom in Figuur 9. Om na te gaan of verder verbetering van de stroomwaarde mogelijk is construeren we het hulpnetwerk voor de nieuwe stroom. Zie Figuur 0. Op het eerste gezicht is er nu geen doorbraak mogelijk. Om dit systematisch vast te stellen labelen we alle knopen, te beginnen met s, die vanuit s bereikbaar zijn met een. We kunnen dit doen met een aangepaste (vereenvoudigde) versie van het Dijkstra algoritme: We labelen s met en definiëren Q = {s}. Dan kiezen we een knoop u Q en verkennen knoop u, dat wil zeggen dat 0

11 5 a 0 b c 5 s t 6 d e f 0 2 Figuur 9: Een stroom met waarde 8. s a d b e Figuur 0: Hulpnetwerk voor Figuur c f t we alle nog niet gelabelde knopen die vanuit u bereikbaar zijn labelen met en toevoegen aan Q. Vervolgens verwijderen we u uit Q. Dit herhalen we totdat Q leeg is. Men gaat eenvoudig na dat na dit proces alle vanuit s bereikbare knopen gelabeld zijn, terwijl de ongelabelde knopen niet bereikbaar zijn vanuit s. Bijgevolg is er een doorbraak mogelijk dan en slechts dan als knoop t gelabeld is. Figuur 0 maakt duidelijk dat er geen doorbraak mogelijk is. We zullen nu bewijzen dat hieruit volgt dat de stroom in Figuur 9 maximaal is. Dit gaat als volgt. We definiëren de knoopverzameling S: S = {v V : v is gelabeld}. Het is duidelijk dat s S en, omdat er geen doorbraak mogelijk is, t / S. De verzameling van de takken die hun beginknoop in S hebben en hun eindknoop buiten S, noteren we als δ + (S). Dus δ + (S) := {(v,w) E : v S, w / S}.

12 s t S δ + (S) V \ S Figuur : De s-t snede δ + (S). De situatie is schetsmatig weer gegeven in Figuur. Als we de takken in δ + (S) uit E verwijderen dan is er geen pad meer van s naar t. We noemen δ + (S) daarom een s-t snede, en we definiëren de capaciteit c(δ + (S)) van deze snede als volgt: c(δ + (S)) := (v,w) δ + (S) c vw = {c vw : v S, w / S}. In het onderhavige geval bestaat δ + (S) uit de takken (b,c), (e,c) en (f,t), en er geldt c(δ + (S)) = + + = 8. Dit is precies de waarde van de gevonden stroom x in Figuur 9 en dit is niet toevallig zoals we nu zullen laten zien. Met andere woorden, we zullen bewijzen dat als x een stroom is waarvoor geen doorbraak meer mogelijk is, en S de verzameling van de gelabelde knopen, dan geldt waarde (x) = c(δ + (S)). Zij U een willekeurige verzameling van knopen met s U en t / U. Dan is δ + (U) de bijbehorende s-t snede. Zij verder y een willekeurige stroom op het netwerk. Omdat na verwijdering van de takken in δ + (U) er geen pad meer bestaat van s naar t is er dan ook geen stroom meer mogelijk van s naar t. Hieruit concluderen we dat alle stroom door de takken in δ + (U) moet gaan. Er zal dus moeten gelden waarde (y) c(δ + (U)). In het bijzonder geldt waarde (x) c(δ + (S)). Anderzijds, voor een tak (v,w) δ + (S) is knoop v gelabeld en w niet. Dit betekent dat deze tak niet in het hulpnetwerk voorkomt, want anders zou ook knoop w gelabeld zijn. Hieruit concluderen we dat deze tak verzadigd is, ofwel x vw = c vw. De takken in (v,w) δ (S), dit zijn de takken met het beginpunt buiten en 2

13 het eindpunt binnen S, zijn om de zelfde reden noodzakelijkerwijs stroomloos, want anders zou ook knoop v gelabeld zijn. Dus volgt inderdaad dat waarde (x) = c(δ + (S)). Het bovenstaande bewijst de dualiteitsstelling voor het maximale-stroom-probleem. Stelling.2 (Max-flow min-cut stelling) De waarde van een maximale stroom is gelijk aan min { c(δ + (U)) : U V, s U, t / U }. We concluderen dat de stroom x in Figuur 9 maximaal is; de snede gevormd door de takken (b,c), (e,c) en (f,t) vormt hiervan het bewijs! Een belangrijke vraag is of het algoritme van Ford-Fulkerson efficiënt is. In dit verband kan worden opgemerkt dat als alle taklengten geheeltallig zijn (of rationaal) alleen kan worden aangetoond dat het algoritme in een eindig aantal stappen eindigt (en dan een maximale stroom heeft gevonden); het aantal iteraties hangt echter niet alleen van m en n af, maar ook van de taklengten. In Opgave 8 wordt hiervan een voorbeeld gegeven. Als er irrationale taklengten zijn is eindige terminatie echter niet te garanderen; een voorbeeld hiervan wordt gegeven in [8, pag. 52]. Opgave 8 Beschouw het maximale-stroom-probleem in Figuur 2. Ga na 00 a 00 s t 00 b 00 Figuur 2: Een slecht probleem voor het algoritme van Ford-Fulkerson. dat het algoritme van Ford-Fulkerson zo kan worden uitgevoerd dat in elke iteratie het doorbraakpad gelijk is aan (s, a, b, t) of aan (s, b, a, t), in beide gevallen met een extra stroom ter waarde. Omdat de maximale stroom waarde 200 heeft, is het aantal iteraties dan 200. Een aanzienlijke verbetering in de iteratiegrens wordt bereikt door een kleine wijziging, namelijk door in iedere iteratie een kortste doorbraakpad te gebruiken. Dit werd voorgesteld door Dinits (970) en Edmonds en Karp (970);

14 zij bewezen dat de iteratiegrens daardoor O(nm 2 ) wordt. Het bewijs laten we hier achterwege. Verdere verbeteringen zijn een iteratiegrens O(n 2 m) (Dinits, 970) en O(n ) (Karzanov, 97); de onderliggende methoden maken gebruik van respectievelijk doorbraakstromen en blokkerende stromen in plaats van doorbraakpaden. Meer recente resultaten zijn O(nm log n) (Sleator, 980) en O(nm log m n) (King, Rao en Tarjan, 99). Voor meer bijzonderheden n log n verwijzen we naar [8, Hoofdstuk 0].. Maximale toewijzing We behandelen ten slotte een combinatorisch optimaliseringsprobleem dat bekend staat onder de naam toewijzingsprobleem. Een speciaal geval is het zogenaamde huwelijksprobleem waarvan een voorbeeld is weergegeven in Figuur. In dit netwerk stellen de knopen links jongens en de knopen rechts j 5 m j m j m 2 j 2 m j J M Figuur : Een huwelijksprobleem. meisjes voor. Een tak (j,m), met j J en m M, geeft aan dat jongen j en meisje m met elkaar bevriend zijn. De vraag waar het in het huwelijksprobleem (eng. matching problem) om gaat is de volgende: wat is het maximale aantal jongens dat met een vriendin kan trouwen? Het moge overigens duidelijk zijn dat dit aantal gelijk is aan het maximale aantal meisjes dat met een vriend kan trouwen.

15 Bovenstaand model heeft veel andere toepassingen. Bijvoorbeeld als een aantal verschillende taken moet worden uitgevoerd op een aantal verschillende machines, terwijl niet elke machine elke taak kan uitvoeren. Een mogelijke vraag is dan hoeveel taken tegelijkertijd kunnen worden uitgevoerd. Door J te vervangen door de taken en M door de machines, en door middel van takken aan te geven of een machine geschikt is voor een taak kunnen we dit probleem modelleren als een toewijzingsprobleem. Elk toewijzingsprobleem is eenvoudig te herleiden tot een maximale-stroomprobleem. We illustreren dit aan de hand van bovenstaand huwelijksprobleem. Daartoe voegen we twee knopen s en t toe aan het netwerk en voor elke jongen j J een tak (s,j), en voor elk meisje m M een tak (m,t). Geef deze takken capaciteit, en alle takken in het oorspronkelijke netwerk ook capaciteit. Dan is het duidelijk dat het maximale aantal huwelijken gelijk is aan de maximale waarde van een stroom van s naar t in het nieuwe netwerk. Zie Figuur. s j 5 j j j 2 j m m m 2 m t Figuur : Een maximale-stroom-netwerk voor het huwelijksprobleem. Het is eenvoudig om in dit netwerk een stroom met waarde te vinden. Zie Figuur 5. Deze stroomwaarden zijn op de vet getekende takken en 0 op de overige takken. Om na te gaan of deze stroom optimaal is vormen we het bijbehorende hulpnetwerk. Het hulpnetwerk is zoals getekend in Figuur 6. Merk op dat omdat alle capaciteiten zijn en alle stroomwaarden 0 of, de restcapaciteiten op de takken allemaal de waarde hebben. Deze zijn daarom niet ingetekend in deze figuur. Door op de standaard manier te labelen vanuit s blijkt dat er geen doorbraak mogelijk is. De gevonden stroom is dus optimaal. Bijgevolg is het maximale aantal huwelijken gelijk aan. 5

16 s 0 0 j 5 j j j 2 j m m m 2 m 0 t Figuur 5: Een stroom met waarde. j 5 s j j m m t m 2 j 2 m j Figuur 6: Hulpnetwerk voor de stroom met waarde. Een niet-algoritmisch bewijs hiervan wordt geleverd door te letten op de gelabelde knopen in Figuur 6. Dit zijn s, j, j, j 5 en m. De snede bepaald door deze knopen bestaat uit de takken die lopen van een gelabelde knoop naar een ongelabelde knoop. Dit zijn de takken (s,j 2 ), (s,j ) en (m,t). Deze takken vormen een s-t snede met takken. De capaciteit van de snede is, en dus is de maximale waarde van een stroom van s naar t. Definitie. Een verzameling knopen C van knopen in een netwerk heet een knoopoverdekking als elke tak in het netwerk incident is met een knoop uit C. Opgave 9 Ga na dat de knopen j 2, j en m een knoopoverdekking vormen in het netwerk van Figuur. 6

17 We hebben de volgende dualiteitsstelling voor het huwelijksprobleem. Stelling. (Stelling van Kőnig-Egerváry (9)) Het maximale aantal huwelijken in een huwelijksprobleem is gelijk aan het minimale aantal knopen in een knoopoverdekking. Een bewijs van deze stelling wordt gevraagd in Opdracht 6 van paragraaf. 2 Vraagstukken voor het werkcollege Vraagstuk Beschouw het netwerk in Figuur 7. De knopen zijn de punten in het platte vlak met coördinaten (i,j) met 0 i 20 en 0 j 20. De takken zijn de horizontale en verticale lijnstukjes van lengte die deze punten verbinden en deze mogen in beide richtingen worden doorlopen. Markeer in Figuur 7 de knopen die worden verkend wanneer met de one-to-one versie van het algoritme van Dijkstra het kortste pad van het punt s = (0, 0) naar t = (5, 5) wordt gezocht. t s Figuur 7: Kortste-pad-probleem. Vraagstuk 2 Als een of meer taklengten c vw negatief zijn in een kortstepad-probleem dan wordt het vinden van een kortste s-t pad veel moeilijker doordat er dan circuits met negatieve lengte kunnen zijn. Als dat zo is, dan hoeft er geen kortste pad van s naar t te zijn. Laat dit zien aan de hand van een voorbeeld. Kunt u een methode bedenken om circuits met negatieve lengte op te sporen? 7

18 Vraagstuk (Stelling van Gallai (958)) Zij π : V R. We noemen π een potentiaal voor het netwerk G = (V,E) als π w π v c vw, (v,w) E. Bewijs dat een potentiaal bestaat dan en slecht dan als G geen circuits van negatieve lengte bevat. Vraagstuk In elke iteratie van het Dijkstra algoritme moet een knoop u in Q worden gekozen waarvoor π u minimaal is. Het kiezen van een kleinste element uit een ongeordende lijst van n elementen kost O(n) bewerkingen. Omdat we dit n keer moeten doen, kost alleen al het kiezen van de te verkennen knoop O(n 2 ) bewerkingen. Het kan efficiënter door er voor te zorgen dat de lijst Q geordend is, met het kleinste element vooraan in de lijst. Dan kunnen we steeds de eerste knoop gebruiken om te verkennen, hetgeen slechts bewerking vergt. Laat zien dat het bijhouden van een aldus geordende lijst slechts O(n log n) bewerkingen kost. Vraagstuk 5 Een vliegmaatschappij beschikt over een vloot van 5 vliegtuigen, elk van een verschillend type, en heeft 6 piloten in dienst. Het vliegbrevet van de piloten maakt het hen mogelijk slechts in een beperkt aantal typen te vliegen, zoals met een + aangegeven in onderstaande tabel. Hoeveel vliegtuigen kan de maatschappij maximaal tegelijkertijd laten vliegen? Wat wordt Type Type 2 Type Type Type 5 piloot + + piloot piloot + piloot + piloot piloot 6 + Figuur 8: Vliegbevoegdheden. het maximale aantal vluchten (tegelijkertijd) als de maatschappij van elk type een tweede vliegtuig aanschaft? 8

19 Opdrachten voor zelfstandig werk Opdracht Gegeven is het kortste-pad-probleem in Figuur 9. Los dit 2 s t Figuur 9: Een kortste-pad-probleem probleem op met het algoritme van Dijkstra. Opdracht 2 Het Bellman-Ford algoritme (958) is een efficiënt algoritme voor kortste-pad-problemen waarin negatieve taklengten voorkomen. Het algoritme levert de kortste afstanden van een vaste knoop s naar alle andere knopen, of het detecteert dat vanuit s een circuit met negatieve lengte kan worden bereikt (in welk geval er geen kortste pad vanuit s bestaat). De methode kan als volgt worden beschreven. Definieer voor elke v V en k = 0,, 2...: d k (v) = minimale lengte van een pad van s naar v met hoogstens k takken, waarbij d k (v) = als zo n pad niet bestaat. Het is duidelijk dat als er geen negatieve-lengte-circuit bereikbaar is vanuit s, de afstand van s naar v gelijk is aan d n (v), waarbij n het aantal knopen in V is. De functies d k zijn algoritmisch eenvoudig te vinden. Allereerst volgt dat d 0 (s) = 0 en d 0 (v) = als v s. Vervolgens kunnen d, d 2..., d n recursief worden gevonden met behulp van de volgende regel: { } d k+ (v) = min d k (v), min (u,v) E (d k(u) + c uv ) Men gaat eenvoudig na dat de looptijd van dit algoritme O(mn) is, waarin m het aantal takken in E voorstelt. Als d n = d n dan is er geen negatieve-lengte-circuit bereikbaar vanuit s, en dan stelt d n (v) de kortste afstand voor van s naar v, voor elke v V. Anders, als d n d n dan bestaat er een negatieve-lengte-circuit dat bereikbaar is vanuit s. Bewijs dit. (Hint: Zie [8, Theorem 8.5 en Theorem 8.6, page 09].) 9 2.

20 Opdracht Los het kortste-pad-probleem in Figuur 9 op met behulp van het Bellman-Ford algoritme. Verander de lengte van tak (, 7) in 0, en los het aldus ontstane probleem ook op met het het Bellman-Ford algoritme. Opdracht Het Floyd-Warshall algoritme (962) is een all-to-all kortste pad algoritme. Aannemend dat de knopen v, v 2,..., v n zijn is het onderliggende idee om achtereenvolgens voor k =, 2..., n de lengte van het kortste pad te berekenen van v i naar v j dat alleen gebruik maakt van de knopen {v, v 2,..., v k }. Figuur 20 toont dit algoritme. De input is een n n Initialisatie: Vervang alle niet-bekende afstanden in A door ; Maak alle diagonaalelementen in A gelijk aan ; U = A; for k = : n, for i = : n, for j = : n, V ij = min(u ij,u ik + U kj ); end end U = V ; end B = U Figuur 20: Floyd-Warshall algoritme. afstandsmatrix A, waarin A ij de gegeven lengte van een (onbekend) pad voorstelt van v i naar v j, en de output een n n matrix B. Bewijs dat voor alle i en voor alle j, B ij de kortst mogelijke afstand voorstelt van v i naar v j. Ga ook na dat deze matrix wordt gevonden na O(n ) bewerkingen. De afstandstabel in Figuur 2 is overgenomen uit een oude druk van het Beste Boek van de Weg. Ga na dat niet alle afstanden in deze tabel kortste afstanden zijn. (Hint: Pas het Floyd-Warshall algoritme toe op deze tabel.) Opdracht 5 Zij gegeven een graph G = (V,E). Zoals bekend is er geen efficiënt algoritme voor het vinden van een Hamiltoncircuit in G. Wat is er mis met de volgende aanpak? Stel dat V = (v, v 2,..., v n ). Vorm een huwelijksnetwerk N met links en rechts de knopen v i ( i n); om de knopen links en 20

21 2 Figuur 2: Afstandstabel voor 25 steden in Nederland. Amersfoort Amsterdam Apeldoorn Arnhem Assen Bergen op Zoom Breda Eindhoven Enschede Den Haag Groningen Haarlem Den Helder Den Bosch Hilversum Leeuwarden Maastricht Middelburg Nijmegen Roermond Rotterdam Utrecht Winterswijk Zutphen Zwolle Amersfoort Amsterdam Apeldoorn Arnhem Assen Bergen op Zoom Breda Eindhoven Enschede Den Haag Groningen Haarlem Den Helder Den Bosch Hilversum Leeuwarden Maastricht Middelburg Nijmegen Roermond Rotterdam Utrecht Winterswijk Zutphen Zwolle

22 rechts van elkaar te onderscheiden noemen we de i-de knoop links v i en rechts v i. We verbinden v i en v j in N als tak (v i,v j ) tot E behoort. Merk op dat een Hamiltoncircuit in G direct aanleiding geeft tot een complete matching in N. Om uit te vinden of een complete matching bestaat gaan we na of er n huwelijken mogelijk zijn door het maximale aantal huwelijken te bepalen. Hiervoor hebben we immers een efficiënt algoritme. Als n huwelijken mogelijk zijn dan leveren de betreffende takken in G een Hamiltoncircuit op. Opdracht 6 Bewijs Stelling.. (Hint: Toon eerste aan dat het aantal knopen in een knoopoverdekking nooit kleiner is dan het aantal mogelijke huwelijken. Let er verder op dat de gelabelde meisjes en de ongelabelde jongens in het hulpnetwerk van een maximale stroom een knoopoverdekking vormen.) Opdracht 7 Bewijs op minstens twee verschillende manieren dat het maximale aantal huwelijken in het netwerk van Figuur 22 gelijk is aan. m 6 j 5 j j j 2 j m 5 m m m 2 m Figuur 22: Een huwelijksprobleem. Opdracht 8 ( Gewogen matching) In veel toewijzingsproblemen heeft elke tak een gewicht c jm en gaat het om het vinden van een matching waarvoor de som van de gewichten c jm van de takken (j,m) in de matching minimaal (of maximaal) is. Door middel van gewichten kan men bijvoorbeeld de intensiteit van een vriendschap in een huwelijksnetwerk modelleren, of in het 22

23 pilotenprobleem van Vraagstuk 5 de geschiktheid van een piloot om een bepaald vliegtuig te besturen. Bij wijze van voorbeeld beschouwen het probleem van Vraagstuk 5, maar nu drukken we voor elke piloot de geschiktheid om een vliegtuig te besturen uit met een getal tussen 0 en 0: Probeer een toewijzing te vinden met een zo Type Type 2 Type Type Type 5 piloot piloot piloot piloot piloot piloot Figuur 2: Vliegbekwaamheid van de piloten. hoog mogelijke score. Los dit probleem ook op met behulp van de software NETFLO op de NEOS web site en vergelijk beide resultaten. Literatuur [] R. K. Ahuja, T.L. Magnanti, and J.B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Englewood Cliffs, New Jersey, 99. [2] V.K. Balakrishnan and C. Moire. Network Optimization, volume 2 of Chapman and Hall Mathematics Series. CRC Press, Inc, UK, 995. [] M.O. Ball, T.L. Magnanti, Monma C.L., and G.L. Nemhauser. Network Models. Elsevier Science, Amsterdam, 995. [] D.P. Bertsekas. Network Optimization: Continuous and Discrete Models. Athena Scientific, P.O. Box 9, Belmont, MA, USA, 998. [5] D.Z. Du and P. M. Pardalos. Network Optimization Problems: Algorithms, Applications And Complexity, volume 2 of Series on Applied Mathematics. World Scientific Publishing Company, Incorporated, 99. 2

24 [6] Fred Glover and Nancy V. Phillips. Network Models in Optimization and Their Applications in Practice. John Wiley & Sons, UK, 992. [7] D. König. Theorie der endlichen und unendlichen Graphen. Reprinted by Chelsea in 950, New York, USA, 96. [8] A. Schrijver. Combinatorial Optimization. Polyhedra and Efficiency. Springer, Berlin, 200. volumes. [9] V.M. Tikhomirov. Stories about Maxima and Minima. Translated from the Russian by Abe Shenitzer. Series Mathematical World, Volume. American Mathematical Society,

Optimaliseren in Netwerken

Optimaliseren in Netwerken Optimaliseren in Netwerken Kees Roos e-mail: [email protected] 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 informatie

OptimalisereninNetwerken

OptimalisereninNetwerken OptimalisereninNetwerken Kees Roos e-mail: [email protected], [email protected] URL: http://www.isa.ewi.tudelft.nl/ roos HOVO cursus Wiskunde: zuurstof voor de wereld (deel I) 18 februari, A.D. 2009 Optimization

Nadere informatie

Grafen. 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. 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 informatie

TW2020 Optimalisering

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

Netwerkstroming. Algoritmiek

Netwerkstroming. Algoritmiek Netwerkstroming Vandaag Netwerkstroming: definitie en toepassing Het rest-netwerk Verbeterende paden Ford-Fulkerson algoritme Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp Toepassing: koppelingen

Nadere informatie

TW2020 Optimalisering

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

TW2020 Optimalisering

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

Netwerkstroming. Algoritmiek

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 informatie

TW2020 Optimalisering

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

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

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen. WIS14 1 14 Grafen 14.1 Grafen Gerichte grafen Voor een verzameling V is een binaire relatie op V een verzameling geordende paren van elementen van V. Voorbeeld: een binaire relatie op N is de relatie KleinerDan,

Nadere informatie

Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University

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

Begrenzing van het aantal iteraties in het max-flow algoritme

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

2WO12: Optimalisering in Netwerken

2WO12: 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/ [email protected]

Nadere informatie

Overzicht. Inleiding. Modellering. Duaal probleem. αβ-algoritme. Maximale stroom probleem. Voorbeeld. Transportprobleem 1

Overzicht. Inleiding. Modellering. Duaal probleem. αβ-algoritme. Maximale stroom probleem. Voorbeeld. Transportprobleem 1 Overzicht Inleiding Modellering Duaal probleem αβ-algoritme Maximale stroom probleem Voorbeeld Transportprobleem 1 Inleiding W 1 b 1 a 1 D 1 W 2 b 2 a 2 D 2 a m Dm W n b n depots warenhuizen c ij zijn

Nadere informatie

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

Transport-, 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 informatie

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

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

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen 08-04-2005 Transport-, Routing- en Schedulingproblemen Wi4062TU / Wi487TU / a86g Uitwerkingen 08-04-2005 1 Transportprobleem Onderdeel a Fabriek 1 kan 120 ton staal fabriceren in 40 uur. Voor fabriek 2 is dit 150

Nadere informatie

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

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search Overzicht Inleiding Toepassingen Verwante problemen Modellering Exacte oplosmethode: B&B Insertie heuristieken Local Search Handelsreizigersprobleem 1 Cyclische permutatie van steden b 3 77 a 93 21 42

Nadere informatie

Tentamen combinatorische optimalisatie Tijd:

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

Basiskennis lineaire algebra

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

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

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

Tiende college algoritmiek. 26 april Gretige algoritmen

Tiende college algoritmiek. 26 april Gretige algoritmen Algoritmiek 01/10 College 10 Tiende college algoritmiek april 01 Gretige algoritmen 1 Algoritmiek 01/10 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag

Nadere informatie

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

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

TW2020 Optimalisering

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

1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist is. Kruis de juiste bewering aan. (2pt. per juist antwoord).

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

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

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

De huwelijksstelling van Hall

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

TW2020 Optimalisering

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

2WO12: Optimalisering in Netwerken

2WO12: 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/ [email protected]

Nadere informatie

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

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

Module 3. Maximale stromen

Module 3. Maximale stromen Module In november 00 legde een stroomstoring een gedeelte van Europa plat. Overal moesten de kaarsen aan. oordat een gedeelte van het elektriciteitsnet uitviel, was er te weinig capaciteit om aan de vraag

Nadere informatie

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen Hoofdstuk 3 Equivalentierelaties SCHAUM 2.8: Equivalence Relations Twee belangrijke voorbeelden van equivalentierelaties in de informatica: resten (modulo rekenen) en cardinaliteit (aftelbaarheid). 3.1

Nadere informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter [email protected] 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:

Nadere informatie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter [email protected] 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren

Nadere informatie

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie Lineaire Algebra, tentamen Uitwerkingen vrijdag 4 januari 0, 9 uur Gebruik van een formuleblad of rekenmachine is niet toegestaan. De

Nadere informatie

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2. opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): ℵ 0 #A, B = {b 0,..., b n 1 } voor een zeker natuurlijk getal

Nadere informatie

Universiteit 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, 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 informatie

TW2020 Optimalisering

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

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

III.2 De ordening op R en ongelijkheden

III.2 De ordening op R en ongelijkheden III.2 De ordening op R en ongelijkheden In de vorige paragraaf hebben we axioma s gegeven voor de optelling en vermenigvuldiging in R, maar om R vast te leggen moeten we ook ongelijkheden in R beschouwen.

Nadere informatie

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

Lineaire programmering

Lineaire programmering Lineaire programmering Hans Maassen kort naar Inleiding Besliskunde van J. Potters [Pot]. en Methods of Mathematical Economics van J. Franklin [Fra]. Lineaire programmering is het bepalen van het maximum

Nadere informatie

Hoofdstuk!7!Kortste!paden!

Hoofdstuk!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 informatie

Getaltheorie I. c = c 1 = 1 c (1)

Getaltheorie I. c = c 1 = 1 c (1) Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 1 Leo van Iersel Technische Universiteit Delft 7 september 2016 Leo van Iersel (TUD) TW2020 Optimalisering 7 september 2016 1 / 40 Opzet vak Woensdag: hoorcollege 13:45-15:30

Nadere informatie

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

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

Kortste Paden. Algoritmiek

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

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s. Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Om technische redenen wordt

Nadere informatie

Tentamen Optimalisering (IN2520) Datum: 5 november 2004, Docent: Dr. J.B.M. Melissen

Tentamen Optimalisering (IN2520) Datum: 5 november 2004, Docent: Dr. J.B.M. Melissen Tentamen Optimalisering (IN2520) Datum: 5 november 2004, 14.00 17.00. Docent: Dr. J.B.M. Melissen Veel succes! 1 Deze opgave bestaat uit 15 tweekeuzevragen. Per goed antwoord krijg je 2 punten. a. Dynamisch

Nadere informatie

Onderwerpen. Punten en lijnen, postbodes en handelsreizigers. Theorie. Theorie (2) Graaftheorie. Een mini-inleiding graaftheorie

Onderwerpen. Punten en lijnen, postbodes en handelsreizigers. Theorie. Theorie (2) Graaftheorie. Een mini-inleiding graaftheorie Onderwerpen Punten en lijnen, postbodes en handelsreizigers Een mini-inleiding graaftheorie Graaftheorie Herman Geuvers Euler en de postbode Radboud Universiteit Nijmegen 9 februari 2019 met dank aan Engelbert

Nadere informatie

Toewijzingsprobleem Bachelorscriptie

Toewijzingsprobleem Bachelorscriptie Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica Toewijzingsprobleem Bachelorscriptie Auteur: Veronique Rademaekers (s4155718) Begeleiders: Dr. W. Bosma en dr. H.

Nadere informatie

Geldwisselprobleem van Frobenius

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

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte Getallenleer Inleiding op codeertheorie Liliane Van Maldeghem Hendrik Van Maldeghem Cursus voor de vrije ruimte 2 Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal

Nadere informatie

Optimalisering/Besliskunde 1. College 1 3 september, 2014

Optimalisering/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 informatie

Tweede college algoritmiek. 12 februari Grafen en bomen

Tweede college algoritmiek. 12 februari Grafen en bomen College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)

Nadere informatie

TW2020 Optimalisering

TW2020 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

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van

Nadere informatie

Benaderingsalgoritmen

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

Discrete Wiskunde 2WC15, Lente Jan Draisma

Discrete Wiskunde 2WC15, Lente Jan Draisma Discrete Wiskunde 2WC15, Lente 2010 Jan Draisma HOOFDSTUK 3 De Nullstellensatz 1. De zwakke Nullstellensatz Stelling 1.1. Zij K een algebraïsch gesloten lichaam en zij I een ideaal in K[x] = K[x 1,...,

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9. email: [email protected] studiewijzer: http://www.win.tue.nl/wsk/onderwijs/ds6 Technische Universiteit Eindhoven college 9 J.Keijsper (TUE)

Nadere informatie

Algoritmiek. 15 februari Grafen en bomen

Algoritmiek. 15 februari Grafen en bomen Algoritmiek 15 februari 2019 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices) en E een verzameling van

Nadere informatie

In dit gedeelte worden drie problemen genoemd die kunnen voorkomen in netwerken.

In dit gedeelte worden drie problemen genoemd die kunnen voorkomen in netwerken. Aantekening Wiskunde Steiner Aantekening door D. 2086 woorden 25 mei 2016 2,1 1 keer beoordeeld Vak Wiskunde Resultaten Vragen bij het wetenschappelijk materiaal 9.1 Prototype example, p. 374-376 In dit

Nadere informatie

Gö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 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 informatie

Tie breaking in de simplex methode

Tie breaking in de simplex methode Tie breaking in de simplex methode Tijdens de Simplexmethode kan op een aantal momenten onduidelijk zijn wat je moet doen: 1. Variabele die de basis in gaat: Zoek de grootste coëfficiënt in de doelfunctie.

Nadere informatie

Numerieke aspecten van de vergelijking van Cantor. Opgedragen aan Th. J. Dekker. H. W. Lenstra, Jr.

Numerieke aspecten van de vergelijking van Cantor. Opgedragen aan Th. J. Dekker. H. W. Lenstra, Jr. Numerieke aspecten van de vergelijking van Cantor Opgedragen aan Th. J. Dekker H. W. Lenstra, Jr. Uit de lineaire algebra is bekend dat het aantal oplossingen van een systeem lineaire vergelijkingen gelijk

Nadere informatie

TU/e 2DD50: Wiskunde 2 (1)

TU/e 2DD50: Wiskunde 2 (1) TU/e 2DD50: Wiskunde 2 (1) Organisatorische informatie Wat Dag Tijd Zaal Docent College Tue 5+6 Aud 6+15 Gerhard Woeginger Thu 1+2 Aud 1+4 Gerhard Woeginger Clicker session Tue 7+8 Aud 6+15 Gerhard Woeginger

Nadere informatie

Een combinatorische oplossing voor vraag 10 van de LIMO 2010

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

Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen.

Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen. Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen. Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van

Nadere informatie

Grafentheorie voor bouwkundigen

Grafentheorie voor bouwkundigen Grafentheorie voor bouwkundigen Grafentheorie voor bouwkundigen A.J. van Zanten Delft University Press CIP-gegevens Koninklijke Bibliotheek, Den Haag Zanten, A.J. van Grafentheorie voor bouwkundigen /

Nadere informatie

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van

Nadere informatie

Automaten. Informatica, UvA. Yde Venema

Automaten. Informatica, UvA. Yde Venema Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................

Nadere informatie

Getallensystemen, verzamelingen en relaties

Getallensystemen, verzamelingen en relaties Hoofdstuk 1 Getallensystemen, verzamelingen en relaties 1.1 Getallensystemen 1.1.1 De natuurlijke getallen N = {0, 1, 2, 3,...} N 0 = {1, 2, 3,...} 1.1.2 De gehele getallen Z = {..., 4, 3, 2, 1, 0, 1,

Nadere informatie

Lineaire algebra I (wiskundigen)

Lineaire algebra I (wiskundigen) Lineaire algebra I (wiskundigen) Toets, donderdag 22 oktober, 2009 Oplossingen (1) Zij V het vlak in R 3 door de punten P 1 = (1, 2, 1), P 2 = (0, 1, 1) en P 3 = ( 1, 1, 3). (a) Geef een parametrisatie

Nadere informatie

Machten, exponenten en logaritmen

Machten, exponenten en logaritmen Machten, eponenten en logaritmen Machten, eponenten en logaritmen Macht, eponent en grondtal Eponenten en logaritmen hebben alles met machtsverheffen te maken. Een macht als 4 is niets anders dan de herhaalde

Nadere informatie

1. Orthogonale Hyperbolen

1. Orthogonale Hyperbolen . Orthogonale Hyperbolen a + b In dit hoofdstuk wordt de grafiek van functies van de vorm y besproken. Functies c + d van deze vorm noemen we gebroken lineaire functies. De grafieken van dit soort functies

Nadere informatie

3.2 Vectoren and matrices

3.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 informatie

TW2020 Optimalisering

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

Je 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. µ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 informatie

1 Rekenen in eindige precisie

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

TU/e 2DD50: Wiskunde 2 (1)

TU/e 2DD50: Wiskunde 2 (1) TU/e 2DD50: Wiskunde 2 () Tussentoets 26 november, tijdens de instructies Zaal: paviljoen (study hub) Time: 90min Tentamenstof: colleges 4 (LP; Simplex; dualiteit; complementaire slackness) Oude tentamens:

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

Radboud Universiteit Nijmegen

Radboud Universiteit Nijmegen Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica L(,1)-labeling van grafen Naam: Studentnummer: Studie: Begeleider: Myrte klein Brink 4166140 Bachelor Wiskunde Dr.

Nadere informatie

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens Algoritmes in ons dagelijks leven Leve de Wiskunde! 7 April 2017 Jacobien Carstens Wat is een algoritme? Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd

Nadere informatie

Wanneer zijn veelvouden van proniks proniks?

Wanneer zijn veelvouden van proniks proniks? 1 Uitwerking puzzel 92-1 Wanneer zijn veelvouden van proniks proniks? Harm Bakker noemde het: pro-niks voor-niks De puzzel was voor een groot deel afkomstig van Frits Göbel. Een pronik is een getal dat

Nadere informatie

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen.

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen. Uitwerking Puzzel 92-7 Allemaal gelijk? Wobien Doyer Lieke de Rooij Er zijn veel puzzels over het opsporen van één valse munt tussen een aantal goede munten met hulp van een balans. Bij deze puzzel is

Nadere informatie

More points, lines, and planes

More points, lines, and planes More points, lines, and planes Make your own pictures! 1. Lengtes en hoeken In het vorige college hebben we het inwendig product (inproduct) gedefinieerd. Aan de hand daarvan hebben we ook de norm (lengte)

Nadere informatie