Oefeningen voor de oefeningenles. Oefening 1

Maat: px
Weergave met pagina beginnen:

Download "Oefeningen voor de oefeningenles. Oefening 1"

Transcriptie

1 Oefeningen voor de oefeningenles Oefening 1 Gegeven een arbitraire binaire zoekboom T met n toppen en een (andere of gelijke) binaire zoekboom T die ook n sleutels bevat. Beschrijf een algoritme dat in lineaire tijd (dus tijd O(n)) de boom T zo verandert (door veranderen van de kinderen), dat T isomorf is met T (maar nog altijd een zoekboom met dezelfde sleutels als vroeger is). Definiëer eerst wat isomorf precies betekent. cursus Discrete Wiskunde. Denk aan de Beschrijf het algoritme. Tip: bepaal eerst paren (x, y) met x T, y T van toppen die gelijke posities in de verschillende bomen moeten hebben. Maar er zijn ook andere mogelijkheden om zo n algoritme te ontwerpen... Toon aan, dat het algoritme juist is dus dat de boom die gebouwd wordt echt isomorf met T is.

2 Oefening 2 Verwijder sleutel 6 uit deze AVL-boom:

3 Oefening 3 In DA1 hebben jullie de hersteloperaties voor AVL bomen geformuleerd door middel van enkelvoudige rotaties en dubbele rotaties. In de les hebben jullie gezien dat je deelbomen kan vervangen door andere deelbomen met dezelfde sleutels. Herschrijf de regels voor het herstellen van AVL-bomen door de deelboomvervangmethode te gebruiken.

4 Oefening 4 Stel dat voor grote h het minimum aantal toppen t(h) van een boom met hoogte h voldoet aan t(h) 4 h+2 /8. Toon aan dat de boom logaritmische diepte heeft (dus h is O(log t) met t het aantal toppen) en bepaal de constanten.

5 Oefeningen voor de oefeningenles Oefening 5 Als je een element uit een splayboom verwijdert, wordt de ordening ook verstoord. Sleutels worden in de richting van de bladeren geschoven die misschien vrij vaak opgezocht worden. Om sleutels die dicht bij de wortel zitten daar te houden, lijkt het verstandig b.v. als je een blad verwijdert de boom helemaal niet te veranderen. Toon aan dat als je op deze manier sleutels verwijdert er reeksen van bewerkingen bestaan zodat n bewerkingen op een initiëel lege splayboom gemiddeld O(n) stappen per bewerking vragen (de hele reeks dus O(n 2 )).

6 Oefening 6 1. Geef een algoritme voor het bepalen van de sleutel in een gegeven binaire zoekboom die het dichtst bij een gegeven sleutelwaarde x ligt (dus x zelf als de sleutel erin zit). Als de zoekboom een AVL-boom is, kan je dan garanderen dat je de sleutel in tijd O(logn) kan vinden? Toon aan dat jouw antwoord juist is. 2. Geef een algoritme voor het bepalen van alle sleutels in een gegeven binaire zoekboom die hoogstens d (met d > 0) van een gegeven sleutelwaarde x verschillen. Als de zoekboom een AVL-boom is, kan je dan garanderen dat je de sleutels in tijd O(logn) kan vinden? Toon aan dat jouw antwoord juist is.

7 Oefening 7 Voeg de sleutels 10,20,30,25,40,5,2 in deze volgorde toe aan een 2-3 boom.

8 Oefening 8 Stel dat een algoritme A gegeven is. De functie f(n) geeft de grootste tijd die het algoritme vraagt als hij op een input van n bytes wordt toegepast. Je wil tonen, dat f(n) niet Θ(n 2 ) is. Wat moet je precies tonen? De bedoeling is niet, het echt te tonen (dat is ook niet mogelijk, omdat je noch f() noch A kent), maar gewoon van de definitie van Θ(n 2 ) te vertrekken en dan met de middelen die jullie in de logica les hebben geleerd uit te vissen wat je moet tonen. Geef de formule die het resultaat van deze berekeningen is en geef ook uitleg!

9 Oefeningen voor de oefeningenles Oefening 8 Deze oefening maakte deel uit van het examen van het vorige jaar. Als jullie dus helemaal alleen proberen deze oefening op te lossen krijgen jullie al een gevoel ervoor hoe het examen gaat zijn, hoeveel tijd jullie van zo n oefening nodig hebben, etc. a.) Wat is in het slechtste geval de diepte van een 2-3-boom met n sleutels en wat is de diepte in het beste geval? Wat zijn de beste en slechtste gevallen? (Geen bewijs vereist.) b.) Hoeveel vergelijkingen van sleutels zijn er in het beste geval nodig om een nieuwe sleutel aan een 2-3-boom met n sleutels toe te voegen? Wat is het beste geval? (Geen bewijs vereist.) c.) Schrijf voor elk van de drie bomen of hij een 2-3-boom is en in het geval van niet waarom niet. (1) (2) (3) d.) Voeg de sleutel 24 toe aan de volgende 2-3-boom. Toon voldoende tussenstappen om te zien wat er gebeurt, maar voor de tussenstappen moet je niet elke keer de hele boom tekenen

10 Oefening 9 In het boek is er jammer genoeg een tikfout: Er wordt geeist dat voor de sleutels in de linkerdeelboom geldt dat ze kleiner dan de eerste sleutel zijn en de sleutels in de middenste deelboom groter dan of gelijk aan de kleinste sleutel en kleiner dan de tweede sleutel zijn. De sleutels in de rechterdeelboom moeten groter dan of gelijk aan de tweede sleutel zijn. De andere voorwaarden zijn dezelfden. Als wij alleen maar sleutels willen opslaan die verschillend zijn, is er geen verschil met de definitie uit de les. Maar is de definitie in het boek ook goed als je verschillende kopieën van dezelfde sleutel wil opslaan? Wat zou er veranderen? Zou deze definitie problemen veroorzaken? Zouden de bewerkingen die in de les werden getoond nog mogelijk zijn? Indien niet: Waar loopt er iets fout? Anders: Zouden ze nog even efficiënt zijn? Als je in de definitie nooit alleen maar kleiner of groter eist, maar altijd kleiner dan of gelijk aan of groter dan of gelijk aan zou je dan ook verschillende kopieën van dezelfde sleutel kunnen opslaan? Werken de in de les gezien bewerkingen nog?

11 Oefening 10 Voeg de sleutels 10,5,2,20,1,7 in deze volgorde toe aan een roodzwart-boom. Toon voldoende tussenstappen om te zien wat er gebeurt.

12 Oefening 11 In de les hebben wij een lemma gezien dat een benedengrens geeft voor het aantal toppen in een rood-zwart-boom als er b zwarte toppen op een pad van de wortel naar een blad zitten. Kan je ook een benedengrens voor het aantal toppen bewijzen als er r rode toppen op een pad van de wortel naar een blad in een rood-zwart-boom zitten? Kan je een bovengrens voor het aantal toppen bewijzen als er r rode toppen op een pad van de wortel naar een blad naar een blad in een rood-zwart-boom zitten?

13 Oefeningen voor de oefeningenles Oefening 12 De bedoeling van deze eerste oefening is om te zien dat de technieken die wij geleerd hebben wel intuïtief zijn. Het gaat over een onderwerp dat jullie al kennen en waar jullie ook de complexiteit reeds van kennen. Door het toepassen van de nieuwe methoden op een bekend geval zien jullie hopelijk gemakkelijker wat het idee achter deze technieken is. Gegeven zijn twee enkelvoudige gelinkte gesorteerde lijsten met elk n objecten. Dus: je kent de twee eerste objecten en elk object bevat een referentie naar zijn opvolger. De tweede lijst moet gemerged worden in de eerste lijst zodat er op het einde een enkele gesorteerde lijst is. Dat gebeurt door een plaats-operatie: eerst word de plaats in de eerste lijst gezocht, waar het eerste element van de tweede lijst geplaatst moet worden en dan wordt het daar geplaatst. Als je de plaats voor het i-de element hebt gevonden, vertrek je van daar en zoek je de plaats voor het (i+1)-de element. Toon aan dat het plaatsen van één element in het slechtste geval O(n) stappen kan vragen (wat tot een complexiteit van O(n 2 ) aanleiding zou geven). Is er een vast getal k zodat er als je twee lijsten mergt ten hoogste k plaats-operaties kunnen zijn die tijd Θ(n) vragen? indien ja: bepaal k anders: toon aan dat k niet bestaat Toon d.m.v. de aggregaatmethode aan dat de geamortiseerde complexiteit van alle n invoegbewerkingen gemiddeld O(1) per bewerking is. Toon d.m.v. de potentiaalmethode aan dat de geamortiseerde complexiteit van alle n invoegbewerkingen samen O(n) is.

14 Oefening 13 Een bekende manier om met een array te werken is dat je elke keer dat je meer elementen wil toevoegen dan in de array passen dubbel zo veel ruimte voor de array alloceert en de oude array kopiëert. Stel nu, dat je zo weinig mogelijk geheugen wil gebruiken en dus niet altijd zoveel extra geheugen wil alloceren. Je begint met 1000 elementen en hebt de mogelijkheid ofwel elke keer en array met 500 elementen meer te alloceren ofwel elke keer een array met 20% meer ruimte dan de vorige. Wat is beter? Bereken de geamortiseerde tijd voor een reeks van m bewerkingen op een initiëel lege array. Je kan zelf kiezen welke methode je wil toepassen.

15 Oefening 14 Als je in een zoekboom een sleutel zoekt, moet je kijken of de sleutel in een top gelijk, kleiner of groter is aan de sleutel die je zoekt. Daarvoor heb je 2 vergelijkingen nodig (natuurlijk niet noodzakelijk 2 vergelijkingen van de sleutels...). Wij kijken nu alleen naar het toevoegen en zoeken. Stel nu dat je per top maar één vergelijking wil doen en elke sleutel maar één keer in de boom mag zitten. Dan kan je alle sleutels in bladeren plaatsen en de toppen met twee kinderen helpen je gewoon het juiste blad te vinden. Sleutels die gelijk zijn aan de waarde van een binnentop plaatsen wij altijd in zijn grotertak. Je voegt een top op dezelfde manier toe als gewoonlijk. Maar als je het als een kind van een blad hebt toegevoegd (en dus de ouder achteraf geen blad meer is) creëer je als de nieuwe sleutel kleiner is dan de ouder twee kinderen van de ouder en plaats je een kopie van de ouder in het groterkind en de nieuwe sleutel in het kleinerkind. Als de nieuwe sleutel groter is, creëer je één nieuw kind van de ouder waar je de nieuwe sleutel plaatst en dan nog twee kinderen van deze nieuwe top, waar je één keer een kopie van de sleutel in de ouder en één keer een kopie van de nieuwe sleutel plaatst (natuurlijk in de juiste volgorde). Op deze manier kan je een sleutel in een blad altijd vinden door in het grotertak te zoeken als hij gelijk is aan de sleutel in een binnentop. Toon aan dat als n het aantal sleutels in de bladeren is dezelfde sleutel O(n) keer in de boom kan zitten ook als hij maar één keer in een blad zit. Toon aan dat het gemiddelde aantal keren dat een sleutel in de boom zit O(1) is. Gebruik één keer de aggregaat en één keer de accounting methode. Bespaart deze nieuwe datastructuur altijd vergelijkingen? Hier gaat het niet over het tellen van stappen maar elementen, maar toch kunnen de methoden gemakkelijk toegepast worden.

16 Inderdaad kan je het tweede deel van de oefening op een andere manier gemakkelijker oplossen, maar de bedoeling is vooral de methoden uit de les te oefenen en dat natuurlijk niet op voorbeelden die te moeilijk zijn...

17 Oefeningen voor de oefeningenles Oefening 13 werd de vorige keer niet opgelost. opgelost worden. Zij moet eerst Oefening 15 Bouw een leftist heap L 1 door de elementen 19, 13, 8, 11, 1, 6, 7 (in deze volgorde) toe te voegen aan een initieel lege heap. Bouw vervolgens een tweede leftist heap L 2 door de elementen 5, 22, 8, 4, 14, 17, 16, 9, 11, 18, 12 (in deze volgorde) toe te voegen aan een initieel lege heap. Merge vervolgens L 1 en L 2 en verwijder tenslotte de wortel.

18 Oefening 16 In de les hebben wij gezien dat een reeks van n toevoegbewerkingen op een initieel lege binomiale heap geamortiseerd tijd O(n) vraagt. Geldt dat ook voor leftist heaps? Indien niet: Geef een goede bovengrens voor het aantal stappen (b.v. O(n log n) of O(n 2 )). Omdat de stappen verschillend zijn voor leftist heaps en binomiale heaps tellen wij nu gewoon het aantal vergelijkingen van sleutels. Kan je dan voor elk n een reeks r 1 van n sleutels aangeven zo dat als die in deze volgorde aan een initieel lege heap worden toegevoegd een leftist heap minder vergelijkingen vraagt dan een binomiale heap en een dergelijke reeks r 2 van sleutels waarvoor een binomiale heap minder vergelijkingen vraagt?

19 Oefening 17 Bouw een skew heap L 1 door de elementen 19, 13, 8, 11, 1, 6, 7 (in deze volgorde) toe te voegen aan een initieel lege heap. Bouw vervolgens een tweede skew heap L 2 door de elementen 5, 22, 8, 4, 14, 17, 16, 9, 11, 18, 12 (in deze volgorde) toe te voegen aan een initieel lege heap. Merge vervolgens L 1 en L 2 en verwijder tenslotte de wortel. Het zijn dezelfde sleutels die je voor de leftist heap hebt gebruikt.

20 Oefening 18 Bestaat er voor elke leftist heap H een reeks van alleen toevoegbewerkingen die toegepast op een initieel lege heap als resultaat H opleveren? Hier gaat het alleen maar om de structuur van H. Exacter zou zijn:... die als resultaat een heap opleveren die isomorf is met H.

21 Oefeningen voor de oefeningenles Oefening 19 In de volgende figuur zijn de kosten van de bogen die met punten zijn getekend altijd 5. De kosten van de dikke lijnen zijn 1 als er niet expliciet iets anders staat. a 3 b c 2 2 d v e 2 g w 3 f De vraag is of er een rondreis met kost ten hoogste 12 bestaat. Bepaal de oplossingenboom. Start één keer met v en één keer met w. Welke bounding criteria pas je toe?

22 Oefening 20 Kleuren van grafen Een consistente kleuring van de toppen van een graaf is een toekenning van een kleur aan elke top zodanig dat twee toppen die door een boog verbonden zijn, een verschillende kleur hebben. Geef een backtracking algoritme dat voor een graaf met toppen 1,..., n controleert of een gegeven graaf met twee kleuren kan gekleurd worden. Let op de volgorde waarop je de toppen kleurt. Wat is de complexiteit in het slechtste geval als je de toppen in volgorde 1,..., n kleurt en wat is de complexiteit voor de volgorde die jij hebt gekozen? Doe hetzelfde nog eens voor drie kleuren.

23 Oefening 21 Dit is een vraag uit een examen DA2. Ik stel voor dat iedereen alleen probeert deze oefening op te lossen om een indruk te krijgen hoe goed hij deze oefening in het examen opgelost zou hebben. Als het niet zou lukken: Niet aan jezelf twijfelen het was wel één van de moeilijkere oefeningen er gaan ook gemakkelijke oefeningen zelfs drilloefeneingen zijn. Een probleem vertalen: Een vertegenwoordiger moet n steden bezoeken en zoekt de snelste manier om dat te doen en terug te komen. Voor elk paar a, b van steden is de tijd bekend die nodig is om van a naar b te rijden zonder door één van de andere steden te gaan. Als het belangrijk is dat hij elke stad precies één keer bezoekt (bijvoorbeeld als hij echt slechte produkten verkoopt... ) dan is dit probleem equivalent met het handelsreizigersprobleem. Maar normaal is dat voor hem niet belangrijk hij zoekt gewoon de kortste rondreis waarin elke stad tenminste één keer wordt bezocht. Vertaal dit probleem naar het normale TSP. Schets een polynomiaal algoritme dat als resultaat een input voor het normale TSP heeft, zodat als wij de lengte van een kortste Hamiltoniaanse cykel in dit TSP kennen, wij ook de lengte van een kortste rondreis voor de vertegenwoordiger kennen. Toon aan dat jouw algoritme aan de eisen voldoet.

24 Oefening 22 In het schaakspel kan een paard (of knight) op rij r en kolom k bewegen naar rij 1 r b en kolom 1 k b (met b b de grootte van het schaakbord), op voorwaarde dat ofwel ofwel r r = 2 en k k = 1 r r = 1 en k k = 2. Een knight s tour is een sequentie van zetten die elke plaats op het schaakbord precies eenmaal aandoet vooraleer terug te keren naar het startpunt. De volgende figuur geeft een knight s tour voor een 8 8 schaakbord. Een knight s tour op een 8 8 schaakbord 1. Geef een backtracking algoritme dat een knight s tour bepaalt. 2. Werk een deel van de oplossingenboom voor een 4 4 schaakbord voor jouw algorime uit. Kies een deel dat voldoende groot is om te tonen hoe jouw algoritme werkt.

25 3. Bewijs dat een knight s tour voor een 4 4 schaakbord niet bestaat. Helpt dit bewijs het probleem beter te verstaan en een beter algoritme te ontwikkelen? Misschien een volgorde waarop je de volgende zet kiest of een bounding criterium? Zijn er toppen in jouw uitgewerkte deelboom waar je zou hebben kunnen snoeien? 4. Vertaal dit probleem naar een TSP probleem. Dus: Voor een gegeven getal b definieer eerst een complete graaf G en gewichten op de bogen van G. Bepaal dan een getal x zodat voor G een rondreis bestaat met kost ten hoogste x als en slechts als er een knights tour voor een b b schaakbord bestaat. Het berekenen van G en x moet een computer in tijd O(b 4 ) kunnen doen. 5. Bewijs dat, als b oneven is, een knight s tour voor een b b schaakbord niet bestaat. 6. Bepaal een knight s tour voor een 6 6 schaakbord.

26 Oefeningen voor de oefeningenles Oefening 23 In de les hebben wij gezien hoe je het TSP kan vertalen naar een lineair probleem en hoe je verschillende eisen in een vorm Ax b kan formuleren waarbij A een matrix is, x de vector van bogen en b een getal. Natuurlijk mag behalve in het geval van maar 3 steden een oplossing nooit driehoeken bevatten. Formuleer deze eis door een reeks van eisen in de vorm Ax b.

27 Oefening 24 Vertaal het volgende probleem naar een gekend probleem. Geef enkel aan hoe het probleem kan vertaald worden; het is niet nodig ook het algoritme uit te werken. Veronderstel dat n taken T j (j = 1,..., n) moeten uitgevoerd worden op een machine, waarop slechts één taak tegelijk kan uitgevoerd worden. Veronderstel dat de taken in willekeurige volgorde kunnen uitgevoerd worden. De machine moet in een bepaalde toestand S j gebracht worden om taak j te kunnen uitvoeren, ze is in toestand S 0 bij het begin van de reeks taken, en ze moet terug in toestand S 0 gebracht worden bij het einde van de reeks taken; een dergelijke toestand kan bijvoorbeeld beschreven worden door temperatuur, druk, of omwentelingen per minuut. Gegeven is de tijd w ij, die nodig is om de machine om te schakelen van toestand S i naar toestand S j, voor elke i en j; we veronderstellen dat w ij = w ji. Voor elke taak T j is ook de tijd c j gegeven die nodig is om de taak uit te voeren wanneer de machine zich reeds in toestand S j bevindt. Het is de bedoeling een volgorde voor de taken te bepalen zodanig dat de reeks in zo weinig mogelijk tijd kan afgewerkt worden.

28 Oefening 25 Werk de spelboom uit voor de volgende beginsituatie van drie-opeen-rij. X X O X O O Maar: De regels zijn een klein beetje gewijzigd: Je kan niet alleen maar winnen en verliezen maar de winst/het verlies is het aantal stenen die na de laatste zet op het bord aanwezig zijn. Dus hoe later je wint hoe meer je wint. Wat is de waarde van dit spel?

29 Oefeningen voor de oefeningenles Oefening 26 Een knikkerspelletje Beschouw het volgende spelletje : Twee spelers zitten aan een tafel met daarop 6 knikkers. Elke speler neemt om beurt één, twee of drie knikkers weg. De speler die de laatste knikker wegneemt, verliest het spel. 1. Teken de volledige spelboom voor dit spel. 2. Onderstel dat de boom systematisch afgelopen wordt met de minimax strategie, waarbij toppen met de configuraties met het kleinste aantal knikkers eerst doorzocht worden. Probeer het eindresultaat te bekomen door zo weinig mogelijk takken uit te werken (d.i. snoeien). Welke toppen worden dan weggesnoeid? 3. Wie wint het spel als beide spelers optimaal spelen?

30 Oefening 27 α-β-snoeien Oefening 10.2 in het boek: Gegeven is een hypothetische spelboom, waarbij in elk blad de waarde van de evaluatiefunctie voor die situatie ingevuld is. Bepaal de waarde van de wortel van de boom, en probeer daarbij zoveel mogelijk te snoeien, m.a.w. probeer zo weinig mogelijk interne toppen ook effectief te evalueren. Merk op: van bepaalde bladeren is de waarde irrelevant! max max min min max max min min max max

31 Oefening 28 Nog een oefening uit een examen. Als jullie het ook deze keer zelfstandig oplossen en kijken hoeveel tijd jullie ervoor nodig hebben, kunnen jullie dat al veel beter inschatten als er echt examen is. Een wisselgeldspel Gegeven een bedrag b van eurocent en een getal m dat het maximale aantal zetten bepaalt. De regels zijn als volgt: In het begin ligt 0 cent op tafel. Speler X begint. Als een speler aan de beurt is en er ligt al een bedrag van t < b cent op tafel, moet hij er precies één munt bijleggen zodanig dat nog steeds ten hoogste een bedrag van b op tafel ligt (1 euro telt natuurlijk als 100 cent, etc). Het spel is gedaan als er b cent op tafel ligt. Als er op dit moment ten hoogste m munten liggen, mag speler X het bedrag houden, anders speler Y. De winst is natuurlijk, wat de andere speler op tafel legde. Stel nu dat alleen maar munten van 1, 2 en 10 cent toegelaten zijn (anders wordt de vertakking gewoon te groot om het op papier te doen). Wat is de waarde van het spel met b = 15 en m = 5. //Misschien kan je hier ook branch and bound en dynamisch programmeren toepassen //om niet de hele spelboom te moeten uitwerken...

32 Oefeningen voor de oefeningenles Oefening 29 Gebruik de Miller-Rabin test om te testen of 70 een priemgetal is. Werk in 3 groepen één groep neemt als basis 11, één groep 12 en één groep 13.

33 Oefening 30 De volgende oefening lijkt sterk op het voorbeeld in de les, maar er zijn ook sommige belangrijke verschillen die een een beetje verschillende argumentatie vragen: Gegeven een verzameling V en V 1,..., V k V zodat voor 1 i k geldt V i r 3 en k 3 r 1 /2 r+1. Gezocht is een kleuring met 3 kleuren zodat in elke verzameling elementen met alle drie kleuren aanwezig zijn. Let op: Dat is iets anders dan niet alleen maar één kleur aanwezig is. Beschrijf een Las Vegas algoritme dat in lineaire tijd met kans tenminste 1/2 zo n kleuring vindt en toon aan dat jouw algoritme aan de eisen voldoet.

34 Oefening 31 De binomiaalcoëfficiënten C(n, k) worden recursief als volgt gedefinieerd, voor n = 0, 1, 2,...: C(n, 0) = 1, C(n, n) = 1, C(n, k) = C(n 1, k) + C(n 1, k 1), voor 0 < k < n 1. Geef een recursief algoritme (in pseudocode) dat, voor een gegeven waarde van n en k, de binomiaalcoëfficiënt C(n, k) berekent. Leg uit waarom dit recursieve algoritme inefficiënt is. 2. Geef een algoritme met dynamisch programmeren (in pseudocode) dat, voor een gegeven waarde van n en k, de binomiaalcoëfficiënt C(n, k) berekent. Bespreek de tijds- en geheugencomplexiteit van dit algoritme met dynamisch programmeren.

35 Oefeningen voor de oefeningenles Oefening 32 Een gretig algoritme voor het (gewone) TSP kan bijvoorbeeld zo werken: Begin met de goedkoopste boog en maak het pad altijd langer maar kies altijd de goedkoopste boog, die het pad verlengt. Toon aan dat dit algoritme arbitrair slechte resultaten kan opleveren. Precies: Toon aan dat er voor elk getal k TSP s zijn (dus gewogen complete grafen waarvoor een goedkoopste hamiltoniaanse cykel wordt gezocht), zodat dit algoritme Hamiltoniaanse cykels berekent die tenminste k keer duurder zijn, dan de goedkoopste.

36 Oefening 33 Dit is een oefening uit een examen dus probeer het best ze zelfstandig op te lossen om te zien hoeveel tijd je nodig hebt. Geef een voorbeeld waar first-fit dalend beter presteert dan best-fit dalend. Geef een voorbeeld waar best-fit dalend beter presteert dan first-fit dalend. Geef een oneindige reeks van voorbeelden (dus een reeks die afhankelijk is van bijvoorbeeld k) waar best-fit dalend en firstfit dalend allebei niet het optimum vinden.

37 Oefening 34 Vertaal het volgende probleem naar een gekend probleem. Geef enkel aan hoe het probleem kan vertaald worden; het is niet nodig ook het algoritme uit te werken. In een schrijnwerkerij moet een reeks planken van gegeven lengten x 1,..., x n gezaagd worden uit stukken hout van een zekere vaste lengte x (in mm). Dit moet gebeuren met zo weinig mogelijk verspilling van hout en je kan stellen dat elke snede 2 mm breed is.

38 Oefening 35 Beschrijf een branch and bound algoritme dat voor een gegeven reeks van gewichten de optimale oplossing van het inpakprobleem vindt. Wat is de complexiteit?

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede kandidatuur Informatica Academiejaar 2004 2005, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Binomiale

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2005 2006, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Splaybomen

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2006 2007, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)

Nadere informatie

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST

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

Uitwerking tentamen Algoritmiek 9 juni :00 17:00

Uitwerking tentamen Algoritmiek 9 juni :00 17:00 Uitwerking tentamen Algoritmiek 9 juni 2015 14:00 17:00 1. Clobber a. Toestanden: m x n bord met in elk hokje een O, een X of een -. Hierbij is het aantal O gelijk aan het aantal X of er is hooguit één

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

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

Uitwerking tentamen Algoritmiek 10 juni :00 13:00 Uitwerking tentamen Algoritmiek 10 juni 2014 10:00 13:00 1. Dominono s a. Toestanden: n x n bord met in elk hokje een O, een X of een -. Hierbij is het aantal X gelijk aan het aantal O of hooguit één hoger.

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

Tiende college algoritmiek. 14 april Gretige algoritmen

Tiende college algoritmiek. 14 april Gretige algoritmen College 10 Tiende college algoritmiek 1 april 011 Gretige algoritmen 1 Greedy algorithms Greed = hebzucht Voor oplossen van optimalisatieproblemen Oplossing wordt stap voor stap opgebouwd In elke stap

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 piter@math.rug.nl 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren

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

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)

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 piter@math.rug.nl 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:

Nadere informatie

8. Complexiteit van algoritmen:

8. Complexiteit van algoritmen: 8. Complexiteit van algoritmen: Voorbeeld: Een gevaarlijk spel 1 Spelboom voor het wespenspel 2 8.1 Complexiteit 4 8.2 NP-problemen 6 8.3 De oplossing 7 8.4 Een vuistregel 8 In dit hoofdstuk wordt het

Nadere informatie

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Vierde 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 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

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

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort Algoritmiek 018/Algoritme van Dijkstra Elfde college algoritmiek 18 mei 018 Algoritme van Dijkstra, Heap, Heapify & Heapsort 1 Algoritmiek 018/Algoritme van Dijkstra Uit college 10: Voorb. -1- A B C D

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

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

Uitwerking tentamen Algoritmiek 9 juli :00 13:00 Uitwerking tentamen Algoritmiek 9 juli 0 0:00 :00. (N,M)-game a. Toestanden: Een geheel getal g, waarvoor geldt g N én wie er aan de beurt is (Tristan of Isolde) b. c. Acties: Het noemen van een geheel

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

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

l e x e voor alle e E

l 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 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

Datastructuren Uitwerking jan

Datastructuren Uitwerking jan Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties

Nadere informatie

Minimum Opspannende Bomen. Algoritmiek

Minimum Opspannende Bomen. Algoritmiek Minimum Opspannende Bomen Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee greedy algoritmen + tijd en datastructuren: Het algoritme van

Nadere informatie

Tiende college algoritmiek. 2 mei Gretige algoritmen, Dijkstra

Tiende college algoritmiek. 2 mei Gretige algoritmen, Dijkstra College 10 Tiende college algoritmiek mei 013 Gretige algoritmen, Dijkstra 1 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag van n (n 0) eurocent. Alle

Nadere informatie

9. Strategieën en oplossingsmethoden

9. Strategieën en oplossingsmethoden 9. Strategieën en oplossingsmethoden In dit hoofdstuk wordt nog even terug gekeken naar alle voorgaande hoofdstukken. We herhalen globaal de structuren en geven enkele richtlijnen voor het ontwerpen van

Nadere informatie

Elke gelijkenis met bestaande gebeurtenissen en/of personen berust op louter toeval.

Elke gelijkenis met bestaande gebeurtenissen en/of personen berust op louter toeval. Leo is een hevige fan van het Belgisch voetbal. Behalve een vurige fan van Blauw Zwart, is hij ook geïnteresseerd in de voetbaltempels van de eersteklassevoetbalclubs. Daarom wil hij, samen met zijn kameraad

Nadere informatie

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. Stellingen

Nadere informatie

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013 Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag Januari 20 Opgave. Python Gegeven is de volgende (slechte) Python code:. def t(x): 2. def p(y):. return x*y

Nadere informatie

Tweede college complexiteit. 12 februari Wiskundige achtergrond

Tweede college complexiteit. 12 februari Wiskundige achtergrond College 2 Tweede college complexiteit 12 februari 2019 Wiskundige achtergrond 1 Agenda vanmiddag Floor, Ceiling Rekenregels logaritmen Tellen Formele definitie O, Ω, Θ met voorbeelden Stellingen over faculteiten

Nadere informatie

The knight s tour. Het paard in schaken beweegt als volgt: Steeds 1 vakje in een richting en 2 in een andere richting, of omgekeerd.

The knight s tour. Het paard in schaken beweegt als volgt: Steeds 1 vakje in een richting en 2 in een andere richting, of omgekeerd. The knight s tour In het Engels heet een paard uit schaken een Knight (Ridder). In het begin zaten er namelijk ridders op de paarden. (link wiki) Stel, je bent een paard uit het schaakspel en je staat

Nadere informatie

Datastructuren en Algoritmen

Datastructuren en Algoritmen Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen

Nadere informatie

Informatica. 2 e graad 2 e jaar. De Mol W.

Informatica. 2 e graad 2 e jaar. De Mol W. Informatica 2 e graad 2 e jaar De Mol W. Inhoudstafel Inhoudstafel... 2 Algoritmes... 3 1.1 Algemeen... 3 1.2 Het algoritme... 4 1.3 Opstellen van het algoritme... 5 1.4 Stapsgewijs verfijnen van het algoritme...

Nadere informatie

Combinatoriek groep 1 & 2: Recursie

Combinatoriek groep 1 & 2: Recursie Combinatoriek groep 1 & : Recursie Trainingsweek juni 008 Inleiding Bij een recursieve definitie van een rij wordt elke volgende term berekend uit de vorige. Een voorbeeld van zo n recursieve definitie

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/ l.j.j.v.iersel@gmail.com

Nadere informatie

Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument

Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument Complexiteit 2017/05 College 5 Vijfde college complexiteit 21 februari 2017 Selectie Toernooimethode Adversary argument 1 Complexiteit 2017/05 Opgave 28 Gegeven twee oplopend gesorteerde even lange rijen

Nadere informatie

Uitwerking vierde serie inleveropgaven

Uitwerking vierde serie inleveropgaven Uitwerking vierde serie inleveropgaven Opgave 1. Gegeven is dat G een permutatiegroep is; a is een willekeurig element. St(a) is de deelverzameling van G die alle permutaties π bevat waarvoor geldt π(a)

Nadere informatie

Hoofdstuk 13: Integer Lineair Programmeren

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

8/2/2006 Examen Optimalisatietechnieken (6sp) 1

8/2/2006 Examen Optimalisatietechnieken (6sp) 1 8/2/2006 Examen Optimalisatietechnieken 2005-2006 (6sp) 1 Gesloten boek: Maximaal 25 minuten Beantwoord alle vragen op het opgavenblad. Schrijf je naam op elk blad en schrijf leesbaar. Beantwoord de vraag

Nadere informatie

Heuristieken en benaderingsalgoritmen. Algoritmiek

Heuristieken 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 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

Zoekproblemen met tegenstanders. Zoekalgoritmen ( ) College 9: Zoeken met een tegenstander (I) Een zoekprobleem met een tegenstander

Zoekproblemen met tegenstanders. Zoekalgoritmen ( ) College 9: Zoeken met een tegenstander (I) Een zoekprobleem met een tegenstander Zoekproblemen met tegenstanders Zoekalgoritmen (29 2) College 9: Zoeken met een tegenstander (I) Dirk Thierens, Tekst: Linda van der Gaag Zoekproblemen met meer dan één partij worden gekenmerkt door interventies

Nadere informatie

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra Tiende college algoritmiek mei 018 Gretige Algoritmen Algoritme van Dijkstra 1 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag van n (n 0) eurocent. Alle

Nadere informatie

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40 Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N

Nadere informatie

Een voorbeeld. Computationele Intelligentie Zoeken met een tegenstander. Een voorbeeld vervolg. Een zoekprobleem met een tegenstander

Een voorbeeld. Computationele Intelligentie Zoeken met een tegenstander. Een voorbeeld vervolg. Een zoekprobleem met een tegenstander Computationele Intelligentie Zoeken met een tegenstander Beschouw het boter-kaas-en-eieren spel: een probleemtoestand is een plaatsing van i kruisjes en j nulletjes in de vakjes van het raam, met i j en

Nadere informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017 Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.

Nadere informatie

3. Structuren in de taal

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

D-dag 2014 Vrijeschool Zutphen VO. D -DAG 13 februari 2014: 1+ 1 = 2. (en hoe nu verder?) 1 = 2en hoe nu verder?

D-dag 2014 Vrijeschool Zutphen VO. D -DAG 13 februari 2014: 1+ 1 = 2. (en hoe nu verder?) 1 = 2en hoe nu verder? D -DAG 13 februari 2014: 1+ 1 = 2 (en hoe nu verder?) 1 = 2en hoe nu verder? 1 Inleiding Snel machtsverheffen Stel je voor dat je 7 25 moet uitrekenen. Je weet dat machtsverheffen herhaald vermenigvuldigen

Nadere informatie

Lege polygonen in een graaf.

Lege polygonen in een graaf. Uitwerking puzzel 94-2 Lege polygonen in een graaf. Lieke de Rooij Wobien Doyer We hebben n punten die al of niet met elkaar worden verbonden. De bedoeling is om met zo min mogelijk lijnen (=verbindingen)

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

Branch-and-Bound en Cutting Planes

Branch-and-Bound en Cutting Planes Branch-and-Bound en Cutting Planes Vandaag: Er is nog geen algoritme om ILP s in polynomiale tijd op te lossen. Twee opties: 1 Exponentiëel algoritme dat optimale oplossing geeft 2 Polynomiaal algoritme

Nadere informatie

Tentamen Discrete Wiskunde

Tentamen Discrete Wiskunde Discrete Wiskunde (WB011C) 22 januari 2016 Tentamen Discrete Wiskunde Schrijf op ieder ingeleverd blad duidelijk leesbaar je naam en studentnummer. De opgaven 1 t/m 6 tellen alle even zwaar. Je hoeft slechts

Nadere informatie

2 Recurrente betrekkingen

2 Recurrente betrekkingen WIS2 1 2 Recurrente betrekkingen 2.1 Fibonacci De getallen van Fibonacci Fibonacci (= Leonardo van Pisa), 1202: Bereken het aantal paren konijnen na één jaar, als 1. er na 1 maand 1 paar pasgeboren konijnen

Nadere informatie

Uitwerkingen Sum of Us

Uitwerkingen 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 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 en 13 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com

Nadere informatie

Elfde college algoritmiek. 16 mei Dijkstra, Gretige algoritmen en Branch & Bound

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

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 10 Leo van Iersel Technische Universiteit Delft 23 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 23 november 2016 1 / 40 Vraag Ik heb het deeltentamen niet

Nadere informatie

Examen Discrete Wiskunde donderdag 12 april, 2018

Examen 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 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

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF--- --- Reken om naar EURO---

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF--- --- Reken om naar EURO--- 3UREOHPHQRSORVVHQPHW9%$WRHSDVVLQJHQELMGHHO Naam. NR : Klas. PC : Datum. 23*$9( Hieronder vind je het algoritme om een bedrag in BEF om te rekenen naar EURO. Zet het algoritme om in programmacode. Noem

Nadere informatie

Computationele Intelligentie

Computationele Intelligentie Computationele Intelligentie Uitwerking werkcollege Representatie, Ongeïnformeerd zoeken, Heuristisch zoeken 1 lokkenwereld a. De zoekboom die door het dynamische breadth-first search algoritme wordt gegenereerd

Nadere informatie

WISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002

WISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002 - 0 - WISKUNDE B -DAG 2002 1+ 1 = 2 maar en hoe nu verder? 29 november 2002 De Wiskunde B-dag wordt gesponsord door Texas Instruments - 1 - Inleiding Snel machtverheffen Stel je voor dat je 7 25 moet uitrekenen.

Nadere informatie

(iii) Enkel deze bundel afgeven; geen bladen toevoegen, deze worden toch niet gelezen!

(iii) Enkel deze bundel afgeven; geen bladen toevoegen, deze worden toch niet gelezen! Examen Wiskundige Basistechniek, reeks A 12 oktober 2013, 13:30 uur Naam en Voornaam: Lees eerst dit: (i) Naam en voornaam hierboven invullen. (ii) Nietje niet losmaken. (iii) Enkel deze bundel afgeven;

Nadere informatie

Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten.

Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten. Versie 16 januari 2017 Sorteren unplugged Sorteren gebeurt heel veel. De namen van alle leerlingen in de klas staan vaak op alfabetische volgorde. De wedstrijden van een volleybal team staan op volgorde

Nadere informatie

Workshop voorbereiden Authentieke instructiemodel

Workshop voorbereiden Authentieke instructiemodel Workshop voorbereiden Authentieke instructiemodel Workshop voorbereiden Uitleg Start De workshop start met een echte, herkenbare en uitdagende situatie. (v.b. het is een probleem, een prestatie, het heeft

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

Bewijs door inductie

Bewijs door inductie Bewijs door inductie 1 Bewijs door inductie Vaak bestaat een probleem erin aan te tonen dat een bepaalde eigenschap geldt voor elk natuurlijk getal. Als je wilt weten of iets waar is voor alle natuurlijke

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

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

Tweede Toets Datastructuren 29 juni 2016, , Educ-Γ.

Tweede Toets Datastructuren 29 juni 2016, , Educ-Γ. Tweede Toets Datastructuren 29 juni 2016, 13.30 15.30, Educ-Γ. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe

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

Computationele Intelligentie

Computationele Intelligentie Computationele Intelligentie Uitwerking werkcollege Representatie, Ongeïnformeerd zoeken, Heuristisch zoeken 1 lokkenwereld a. De zoekboom die door het dynamische breadth-first search algoritme wordt gegenereerd

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

Elfde college algoritmiek. 21 april Dijkstra en Branch & Bound

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

Set 1 Inleveropgaven Kansrekening (2WS20)

Set 1 Inleveropgaven Kansrekening (2WS20) 1 Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Set 1 Inleveropgaven Kansrekening (2WS20) 2014-2015 1. (Het sleutelprobleem) In een denkbeeldige wedstrijd kunnen deelnemers auto s

Nadere informatie

Stelling. SAT is NP-compleet.

Stelling. SAT is NP-compleet. Het bewijs van de stelling van Cook Levin zoals gegeven in het boek van Sipser gebruikt niet-deterministische turing machines. Het is inderdaad mogelijk de klasse NP op een alternatieve wijze te definiëren

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

Amorized Analysis en Union-Find Algoritmiek

Amorized Analysis en Union-Find Algoritmiek Amorized Analysis en Union-Find Vandaag Amortized analysis Technieken voor tijdsanalyse van algoritmen Union-find datastructuur Datastructuur voor operaties op disjuncte verzamelingen Verschillende oplossingen

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

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

Tiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS

Tiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS Algoritmiek 2016/Dynamisch Programmeren Tiende college algoritmiek 14 april 2016 Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS 1 Algoritmiek 2016/Dynamisch Programmeren Houtzaagmolen

Nadere informatie

Elfde college algoritmiek. 10 mei Algoritme van Dijkstra, Gretige Algoritmen

Elfde college algoritmiek. 10 mei Algoritme van Dijkstra, Gretige Algoritmen lgoritmiek 019/lgoritme van ijkstra lfde college algoritmiek 10 mei 019 lgoritme van ijkstra, Gretige lgoritmen 1 lgoritmiek 019/ynamisch programmeren Programmeeropdracht 3 Lange Reis 0 10 10 1 1 100 0

Nadere informatie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie Complexiteit 2016/04 College 4 Vierde college complexiteit 16 februari 2016 Beslissingsbomen en selectie 1 Complexiteit 2016/04 Zoeken: samengevat Ongeordend lineair zoeken: Θ(n) sleutelvergelijkingen

Nadere informatie

Zevende college Algoritmiek. 6 april Verdeel en Heers

Zevende college Algoritmiek. 6 april Verdeel en Heers Zevende college Algoritmiek 6 april 2018 Verdeel en Heers 1 Algoritmiek 2018/Backtracking Programmeeropdracht 2 Puzzel 2: D O N A L D G E R A L D + R O B E R T Elke letter stelt een cijfer voor (0,1,...,9)

Nadere informatie

Zevende college algoritmiek. 23/24 maart Verdeel en Heers

Zevende college algoritmiek. 23/24 maart Verdeel en Heers Zevende college algoritmiek 23/24 maart 2017 Verdeel en Heers 1 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht 0 1 2 3 0 1 2 3 4 1 2 3 4 5 2 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht

Nadere informatie

Vierde college complexiteit. 14 februari Beslissingsbomen

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

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort) College 7 Zevende college complexiteit 7 maart 2017 Mergesort, Ondergrens sorteren (Quicksort) 1 Inversies Definitie: een inversie van de permutatie A[1],A[2],...,A[n] is een paar (A[i],A[j]) waarvoor

Nadere informatie

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, 10.00 13.00 uur Opgave 1. a. Een toestand wordt bepaald door: het aantal lucifers op tafel, het aantal lucifers in het bezit van Romeo,

Nadere informatie