Examen Datastructuren en Algoritmen II

Vergelijkbare documenten
Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II

Oefeningen voor de oefeningenles. Oefening 1

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Minimum Opspannende Bomen. Algoritmiek

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

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

Branch-and-Bound en Cutting Planes

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

TW2020 Optimalisering

Benaderingsalgoritmen

Tweede college algoritmiek. 12 februari Grafen en bomen

Datastructuren Uitwerking jan

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

Heuristieken en benaderingsalgoritmen. Algoritmiek

Doorzoeken van grafen. Algoritmiek

Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4

Programmeren in C++ Efficiënte zoekfunctie in een boek

Algoritmiek. 15 februari Grafen en bomen

Datastructuren en Algoritmen

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Tentamen combinatorische optimalisatie Tijd:

Kortste Paden. Algoritmiek

Datastructuren en algoritmen voor CKI

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

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

TW2020 Optimalisering

Opgaven Fibonacci-getallen Datastructuren, 23 juni 2017, Werkgroep.

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

Computationale Intelligentie Dirk Thierens

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

Combinatoriek groep 1 & 2: Recursie

landbouw en natuurlijke omgeving groene ruimte CSPE BB

Algebra. Oefeningen op hoofdstuk Groepentheorie Cayleytabellen van groepen van orde Cyclische groepen

Tiende college algoritmiek. 26 april Gretige algoritmen

Tweede Toets Datastructuren 28 juni 2017, , Educ-β.

Zevende college algoritmiek. 1 april Verdeel en Heers

2WO12: Optimalisering in Netwerken

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

Getallensystemen, verzamelingen en relaties

Examencursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO kan niet korter

Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde. vrijdag 31 januari 2014, 8:30 12:30. Auditorium L.00.07

Opgaven Analyse van Algoritmen 10 mei 2019, Datastructuren, Werkgroep.

6.1 Kwadraten [1] HERHALING: Volgorde bij berekeningen:

Netwerkstroming. Algoritmiek

Computationele Intelligentie

Stoomcursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO ( ) = = ( ) ( ) ( ) = ( ) ( ) = ( ) = = ( )

Examen Discrete Wiskunde donderdag 12 april, 2018

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

De volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden.

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.

Inleiding tot programmeren: Javascript

EXAMEN juni 2018 Gegevensbanken

Uitwerkingen Sum of Us

Elfde college algoritmiek. 21 april Dijkstra en Branch & Bound

gelijkvormigheid handleiding inhoudsopgave 1 de grote lijn 2 applets 3 bespreking per paragraaf 4 tijdsplan 5 materialen voor een klassengesprek

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

5.2.4 Varia in groepentheorie

Begrenzing van het aantal iteraties in het max-flow algoritme

Wanneer zijn veelvouden van proniks proniks?

Antwoordmodel - Kwadraten en wortels

Datastructuren en algoritmen voor CKI

Inleiding Programmeren 2

2. Geef een voorbeeld van hoe datamining gebruikt kan worden om frauduleuze geldtransacties te identificeren.

Binair rekenen. unplugged

Greedy algoritmes. Algoritmiek

Transcriptie:

Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke oefening zorgvuldig en helemaal voordat je met de oefening begint! 1. (3 pt) Het universum is {0,1,...,7} en de gegeven relaties zijn 0 1, 2 3, 4 5, 6 7, 1 2, 5 2, 0 6, 6 2. Bereken de equivalentieklassen van de gegenereerde equivalentierelatie door unionby-size en path compression toe te passen. In gevallen waar door deze regels niet vastgelegd wordt welke van de twee toppen de wortel wordt, neem die met de grotere sleutel.

Stel dat je een universum met n elementen hebt en je doet m < n union- of findbewerkingen door union-by-size en path compression toe te passen. Wat is de maximale diepte van één van de bomen die een verzameling voorstellen? De O()-notatie is niet voldoende. Geef uitleg. Stel dat jouw universum {0,1,...n} is en voor 0 i < n pas je de relaties i i+1 toe (beginnend met i = 0). Je past het union-algoritme zonder union by size of path compression toe en kiest altijd de wortel met de grotere sleutel als nieuwe wortel. Wat is de geamortiseerde kost van deze reeks van bewerkingen. Geef uitleg.

Stel dat jouw universum {0,1,...n} is en voor 1 i n pas je de relaties 0 i toe (beginnend met i = 1). Je past het union-algoritme zonder union by size of path compression toe en kiest altijd de wortel met de grotere sleutel als nieuwe wortel. Wat is de geamortiseerde kost van deze reeks van bewerkingen. Geef uitleg.

2. (3 pt) Voeg de sleutels 20,10,7,22,1,12,19,30 in deze volgorde toe aan een rood-zwart boom. Gebruik de in de les gezien bewerkingen om de boom te herbalanceren. Toon voldoende tussenstappen om te zien wat er gebeurt.

Geef voordelen en nadelen van semi-splay bomen in vergelijking met roodzwart bomen. Wanneer zou je de ene toepassen en wanneer de andere? Hoe duur is een toevoegbewerking op een rood-zwart boom met n toppen in het slechtste geval? Wat is de geamortiseerde kost van een reeks van n toevoegbewerkingen op een initieel lege rood-zwart boom?

Bewijs gedetailleerd dat voor elke datastructuur die een binaire zoekboom implementeert een reeks van n toevoegbewerkingen op een initieel lege boom bestaat zodat de kost (het aantal bezochte toppen) van de hele reeks van toevoegbewerkingen ten minste Ω(n log n) is.

3. Hier kan je kiezen. Kies precies één van de volgende twee oefeningen. Oefening (b) is gemakkelijker maar je kan daarmee ook minder punten halen je geeft dan 1 punt op. Kies dus alleen voor (b) als je (a) te moeilijk vindt! ((a) 3 pt) In een bedrijf moet een kwadratisch stuk koper met grootte l l opgedeeld worden in verschillende rechthoekige stukken van lengte d d met gehele lengten d end. Voor elk paar d,d is de prijs p(d,d ) die voor het rechthoek met grootte d d gekregen kan worden gekend. Het doel is nu het stuk koper zo in stukken te zagen dat de totale prijs maximaal is. Maar: Als je zaagt moet je altijd door het hele stuk dat je zaagt zagen dat geldt voor het hele kwadraat en voor de rechthoeken die je na een snede hebt! De breedte van de snede is 1. Beschrijf een dynamisch programmeren algoritme in pseudocode en geef uitleg over jouw code indien nodig. mogelijk niet mogelijk ((b) 2 pt) In een bedrijf moet een kwadratisch stuk koper met grootte l l opgedeeld worden in verschillende rechthoekige stukken van lengte d l met gehele lengten d. Voor elke lengte d l is de prijs p(d) die voor het rechthoek met grootte d l gekregen kan worden gekend. Het doel is nu het stuk koper zo in stukken te zagen dat de totale prijs maximaal is. De breedte van de snede is 1. Beschrijf een dynamisch programmeren algoritme in pseudocode en geef uitleg over jouw code indien nodig.

4. (2 pt) Geef de definitie van de waarde van een spel. Zeg daarbij ook expliciet wat er gegeven moet zijn.

Bereken de waarde van deze spelboom. Pas α β snoeien toe waar mogelijk en schrijf de waarden en de grenzen van de waarden aan de toppen waar je ze berekend hebt. Bij het doorlopen van de boom neem altijd eerst de linkertak. X O X O X O 10 2 0 3 20 10 5 4 2 4 12 1 7 3 14 1 3 3 1 2 5 7

5. (1.5 pt) Gegeven een graaf G = (V,E) en V V. Als E E de verzameling van alle bogen is waarvan beide toppen in V liggen dan heet E / V de dichtheid van de door V geïnduceerde deelgraaf. Geef een branch and bound algoritme voor het probleem de dichtste deelgraaf van een graaf te vinden. Geef daarbij ten minste één niet triviaal bounding criterium. Beschrijf het algoritme in pseudocode en geef uitleg indien nodig.

6. (1.5 pt) In een bedrijf dat rondreizen die zekere eigenschappen hebben (en door n gegeven steden gaan) voor een klant moet berekenen wordt een algoritme toegepast dat recursief alle n! mogelijke volgorden test. Wat de eigenschappen zijn is niet zo belangrijk en die wisselen ook vaak. Een branch and bound algoritme is niet mogelijk omdat de eisen waaraan de rondreizen voldoen altijd veranderen, maar volgens de ontwikkelaars ook niet nodig omdat ze berekend hebben dat als je naar de call-tree van de recursie kijkt voor alle mogelijke eisen die gebruikt worden ten minste 10% van de bladeren rondreizen met de gewenste eigenschappen zijn het is dus niet echt een ingewikkeld probleem. Maar toch is het zo dat de computers soms moeilijkheden hebben een rondreis te vinden en na uren nog altijd doorgaan... Geef advies aan de ontwikkelaars van dit bedrijf hoe ze hun probleem kunnen oplossen. Geef een goede argumentatie waarom jouw oplossing goed is.

7. (2 pt) Bewijs de volgende uitspraak of geef een tegenvoorbeeld: Er bestaat een constante C zodat het Best-Fit online algoritme ten hoogste C vrachtwagens meer gebruikt dan het optimum. Toon aan: Er bestaat een polynomiaal algoritme dat voor een gegeven reeks g 1,...,g m van gewichten een oplossing kan vinden om die op n vrachtwagens met capaciteit 1 te plaatsen (als een dergelijke oplossing bestaat) als en slechts als er ook een polynomiaal algoritme bestaat dat voor een gegeven reeks c 1,...,c n van capaciteiten en een gegeven reeks g 1,...,g m van gewichten een manier kan vinden om de gewichten op de vrachtwagens te plaatsen als zo n manier bestaat. Tip: Eén richting is triviaal. Voor de andere herschaal de gewichten en werk met n dummygewichten. Je moet de problemen dus vertalen en deze vertaling moet in polynomiale tijd berekenbaar zijn.

NOG NIET OMDRAAIEN!