Combinatorische Algoritmen: Binary Decision Diagrams, Deel III
|
|
- Koenraad van Beek
- 5 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse vertolking met uitbreiding en uitleg van een deel uit het boek The Art of Computer Programming, Volume 4: Combinatorial Algorithms, Fascicle 1b: Binary Decision Diagrams van Donald E. Knuth [2] (pagina s 8 9 en opgaven 25 en 55). De eerste twee delen van het boek zijn behandeld in [3] en [1] en dit artikel is het derde deel uit deze serie. 1 Introductie In [3] hebben we kennis gemaakt met het Binary Decision Diagram (BDD) en hebben we Algoritme C gezien die ons snel het aantal oplossingen van f(x)=1by gegeven booleaanse functie f laat tellen. Vervolgens hebben we in [1] de n-cirkelgraaf gezien, gevolgd door Algoritme B dat oplossingen met een maximaal gewicht kan genereren. In dit deel zullen we uitwerkingen bekijken van Algoritme B (Hoofdstuk 2) en passen we daarna Algoritme C aan om de genererende functie van een BDD te maken (Hoofdstuk 3). 2 Voorbeelden van Algoritme B Twee voorbeelden verdienen het om onder de aandacht te komen na de uitwerking van Algoritme B, namelijk het vinden van een optimale kernel in 1
2 een n-cirkelgraaf als we de gewichten baseren op de Thue-Morse reeks, en het vinden van een beste kernel in een graaf die de Amerikaanse staten verbindt, gewogen op basis van de som van de numerieke indexen van de letters in de postcode. 2.1 Thue-Morse n-cirkel kernel In [1] is de n-cirkelgraaf C 6 de revue gepasseerd. Hierin zijn ook de termen onafhankelijk en maximaal onafhankelijk (oftewel een kernel) behandeld. Het volgende voorbeeld gebruikt echter de C 100 graaf, welke een stuk groter is. In deze graaf gaan we proberen om met behulp van Algoritme B een maximaal gewogen kernel te vinden, met gewichten gebaseerd op de Thue-Morse reeks. Definitie 1. De Thue-Morse reeks is gedefinieerd op het binaire getallenstelsel, en wordt als volgt inductief omschreven: de reeks begint met 0, en wordt uitgebreid door de huidige reeks te nemen, en daar het omgekeerde van zichzelf achter te plaatsen. Op deze manier maken we de reeks 0, 01, 0110, , etc. Voor de gewichten passen we dit echter een beetje aan, we beginnen dan namelijk met 1, en de inversie van 1 wordt 1. Deze reeks kan dan namelijk ook gemakkelijk met een formule worden gemaakt: w j =( 1) νj (1) waarbij νj de zijwaartse optelling is van de binaire representatie van het getal j, wat in simpele termen betekent dat w j = 1 als j een even aantal enen heeft, en w j = 1 als j een oneven aantal enen heeft. Een mooi effect van deze reeks is dat er nooit vaker dan twee keer hetzelfde getal achter elkaar staat, wat voor het vinden van een maximaal gewogen kernel van C 100 goed uitkomt, zoals we zo direct zullen zien. Na het uitvoeren van Algoritme B vinden we het maximum gewicht w 1 x w n x n bij de volgende selectie van knopen {1,3,6,9,12,15,18,20,23,25,27,30,33,36,39,41,43,46,48,51, 54,57,60,63,66,68,71,73,75,78,80,83,86,89,92,95,97,99}. (2) In deze reeks van 38 knopen zitten maar 5 knopen waarvan de binaire representatie een oneven aantal enen heeft, en genereert daarbij dus het gewicht =28. 2
3 2.2 Amerikaanse staten Het mooie van BDD s is dat ze niet alleen op nette mathematische problemen goed werken, maar ook op andere wereldse problemen die niet zo net te beschrijven zijn. Als voorbeeld nemen we de graaf van Amerikaanse staten (Figuur 2), en het begin van de BDD dat alle kernels kan vinden, zie Figuur 1. Deze BDD heeft een grootte van 780 knopen en er zijn kernels te vinden. In plaats van een BDD voor de kernels hadden we ook de BDD kunnen maken voor alle onafhankelijke grafen, en deze BDD zou kleiner zijn geworden met maar 428 knopen terwijl er wel onafhankelijke grafen te vinden zijn. Figuur 1: Begin van de BDD van de Amerikaanse Staten (a) Minimalizatie (b) Maximalizatie Figuur 2: Resultaten van het minimalizatie en maximalizatie van de afkortingen van een kernel van de Amerikaanse Staten 3
4 Figuur 2 laat ons ook gelijk twee kernels zien met respectievelijk minimum gewicht (Figuur 2(a)) en maximum gewicht (Figuur 2(b)). Hierbij is de som van de letters in de postcode de waarde van de knoop, waarbij A bijdrage 1 heeft,..., en Z bijdrage 26. Dit voorbeeld laat ons ook gelijk het volgende zien: Eigenschap 1. Als alle gewichten van een graaf positief zijn, dan is een kernel van maximaal gewicht gelijk aan een onafhankelijke graaf van maximaal gewicht. Hoe gaat dat in zijn werk? Neem een onafhankelijke graaf van maximaal gewicht. Stel dat we een knoop toevoegen om er een kernel van te maken, maar omdat die knoop positief bijdraagt wordt het gewicht van de graaf groter, en hebben we bewezen dat onze oorspronkelijke graaf niet van maximaal gewicht kon zijn. Hieruit blijkt dat Eigenschap 1 altijd geldig is. 3 P 3 P 3 Een geheel ander soort graaf is te zien in Figuur 3, waarvan we takken wel of niet gaan gebruiken (in plaats van de knopen). Figuur 4 is de bijbehorende BDD die alle samenhangende oplossingen kan genereren, waarbij samenhangend inhoudt dat er zoveel takken gebruikt zijn dat alle knopen in een samenhangende graaf zitten. Algoritme C uitgevoerd op de BDD laat ons zien dat er precies 431 samenhangende grafen te maken zijn, van de 2 12 = 4096 deelgrafen van P 3 P 3. Figuur 3: De P 3 P 3 graaf 4
5 Figuur 4: De BDD van de volledige verbondenheid van de graaf P 3 P Een BDD genereren voor P 3 P 3 Het maken van een BDD is een lastig karwei. Hier beginnen we alvast met het maken van een niet-gereduceerde graaf van deze situatie (Opgave 55), waarvan we later zullen zien dat er een algoritme is dat deze kan reduceren. De nummering van de graaf (Figuur 3) is ook niet arbitrair gekozen, maar zodanig dat als we de takken geordend aflopen we zo snel mogelijk knopen geheel afhandelen. Stap 1. Sorteer de takken u k v k zo dat we een lexicografische ordening krijgen volgens u k v k,u k < v k. We nemen dus alle takken vanuit een bepaalde knoop eerst, en beginnen dan pas aan de volgende. Voor de graaf P 3 P 3 geeft ons dat de volgorde zoals in Tabel 1 te zien is. En als we de takken in deze volgorde bekijken in de graaf kunnen we zien dat in oplopende volgorde alle knopen geheel afgehandeld worden. Stap 2. Maak een array S waarin we de indexen uit Tabel 1 van de eerste keer dat een knoop aan de linkerkant voorkomt in zetten. Hierbij zijn s 9 en s 10 (de laatste knoop en een niet bestaande knoop erna) nodig voor de juiste afhandeling van het algoritme; deze worden gedefinieerd als het aantal takken
6 k u k v k Tabel 1: De gesorteerde takken s 1 s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9 s Tabel 2: S array Stap 3. Nu definiëren we het front, de knopen waar we op een bepaald niveau naar kijken, via V 0 ={1} en V k ={1,v 1,...,v k } {u k,...,n} met(1 k 12) en(n=9). Als de index van V als element in S te vinden is dan kan er een knoop uit het front gehaald worden waar we helemaal klaar mee zijn. Hiermee verkrijgen we het front per niveau van de BDD, zoals gegeven in Tabel 3. Hiermee kunnen we eindelijk aan de slag om daadwerkelijk een niet-gereduceerde BDD te maken. Op ieder niveau l van de BDD, tellend vanaf 0, beschouwen we de knopen gegeven in V l, en we bouwen de BDD door de takken op volgorde uit Stap 1 te nemen. Op dit moment zetten we bij de knopen een representatie van het front neer die aangeeft of de knopen aan elkaar zitten (12), of niet (1 2). V 0 {1} V 5 {3,4,5} V 9 {5,6,7,8} V 1 {1,2} V 6 {3,4,5,6} V 10 {6,7,8} V 2 {1,2,3} V 7 {4,5,6,7} V 11 {7,8,9} V 3 {2,3,4} V 8 {5,6,7} V 12 {8,9} V 4 {2,3,4,5} Tabel 3: Het front per niveau In Figuur 5 is het begin van deze BDD te zien, en er zijn nu twee interessante eigenschappen naar voren gekomen die we even de revue willen laten passeren. Allereerst is helemaal aan de linkerkant van de boom de knoop (1 2 3) te zien, welke als enige niet verder is uitgewerkt. Dit komt omdat we nu al kunnen zien dat knoop 1 nooit meer verbonden zal worden met de rest van de graaf, vanwege de ordening in Stap 1. Het tweede is dat de knopen (13 2) en(12 3) precies dezelfde kinderen bevatten, en deze twee knopen zullen zich dus verder precies hetzelfde doorontwikkelen en zullen uiteindelijk 6
7 samengevoegd worden door het reduceer-algoritme dat later behandeld zal worden. Figuur 5: Het begin van de niet-gereduceerde BDD van P 3 P Oplossingen tellen Zoals gezegd aan het begin van deze notitie gaan we ook nog kijken hoe we Algoritme C kunnen aanpassen om ons meer informatie te geven over de oplossingen van een BDD met verschillende aantallen variabelen die true zijn, de zogenaamde genererende functie (Opgave 25). In [3] is Algoritme C behandeld, dus voor details verwijzen we de lezer terug naar die notitie. De enige echte verandering is dat we in plaats van het aantal oplossingen we bij willen houden hoe vaak er HI en hoe vaak er LO is gekozen voor een oplossing. Hiervoor introduceren we de notatie z n, waarbij n aangeeft hoe vaak er HI gekozen is, oftewel hoeveel variabelen true zijn. Het resultaat van de genererende functie is dus een polynoom in z waarvan de term a k z k aangeeft dat er a k oplossingen zijn met k maal HI. Om de formule nog wat te verduidelijken wordt z 0 vereenvoudigd tot simpelweg 1. Omdat Algoritme C bottom-up werkt, kunnen we er vanuit gaan dat de knopen onder de huidige knoop al een juiste waarde voor de genererende functie hebben. Om de genererende functie van de huidige knoop te berekenen doen we het volgende c k = c l + zc h (3) 7
8 waarbij c l het aantal oplossingen van de LO kant is, en c h het aantal oplossingen van de HI kant. Dit werkt echter alleen op een graaf zoals gegeven in Figuur 6, welke niet gereduceerd is. Als we een gereduceerde graaf hebben moeten we ook rekening houden met knopen die er niet meer zijn, en de zogenaamde don t cares die ze introduceren. Op een weggevallen niveau kunnen we Formule 3 simpel aanpassen naar c k =(1+z)c k, (4) als k het weggevallen kind is. Door Formule 3 en Formule 4 te combineren verkrijgen we de volgende formule die geldt voor een gereduceerde BDD: c k =(1+z) v l v k 1 c l +(1+z) v h v k 1 zc h (5) waarbij de notatie uit [3, 1] en omdat er voor de wortel ook knopen weggelaten kunnen zijn vinden we de totale oplossing met c=(1+z) v s 1 1 c s 1 (6) waarbij v s 1 1 het aantal gemiste knopen voor de wortel is. In Figuur 6 staan ook de functies bij de knopen die aangeven hoeveel oplossingen er te vinden zijn met precies z y keer HI kiezen. In Formule 7 staat de uitkomst van de genererende functie uitgevoerd op de BDD van P 3 P 3 (Figuur 4): G(z)=Σ x z νx f(x)=192z z z z 11 + z 12 (7) Met behulp van de binomiaal-coefficient kunnen we snel controleren dat de laatste twee delen kloppen, omdat er precies( )=1 manier is om alle takken te gebruiken, en precies( 12 )=12 11 manieren om elf takken te gebruiken door een tak per keer weg te laten. Bij tien takken is het echter iets lastiger, want als we 2 takken weghalen terwijl de graaf samenhangend moet blijven kan het fout gaan als we de twee takken naar een hoekpunt verwijderen. Dit houdt in dat er dan( 12 2 ) 4= 66 4=62 manieren zijn om door 2 takken weg te halen nog steeds een samenhangende graaf over te houden. Met nog maar negen takken wordt de situatie nog lastiger, want met het verwijderen van 3 takken zijn er nog meer manieren om knopen uit de graaf weg te snijden. We kunnen namelijk de losse hoekknopen (1,4,6,9) met een 8
9 Figuur 6: Non-BDD graaf met genererende functies willekeurige andere knoop weg halen, wat ons 4 ( 10 )=40 1 situaties oplevert die niet geldig zijn. Verder kunnen we de middelste knopen van een zijkant (2,3,7,8) ieder voor zich wegsnijden door alle drie de takken er omheen te verwijderen wat ons nog 4 ongeldige situaties oplevert, en van iedere zijkant kunnen we ook twee keer 2 of een keer 3 knopen tegelijk wegsnijden (bijvoorbeeld{1,2},{2,4} en{1,2,4}), wat ons nog 4 2 en 4 ongeldige situaties oplevert. In totaal krijgen we bij negen takken dan dus ( 12 ) (4 10) 4 (4 2) 4=164 (8) 3 geldige situaties (mogelijkheden - hoekpunten - middelste knoop aan een zijkant - twee knopen aan een zijkant - drie knopen aan een zijkant). De situatie met z 8 is daarentegen te lastig om met de hand te controleren, want dan zijn er namelijk vele overlappende situaties waar rekening mee gehouden moet worden. Echter dit is wel precies de situatie waarbij de grafen alle opspannende bomen representeren. 9
10 Bibliografie [1] Giso Dal. Seminar Combinatorische Algoritmen, LIACS: Onafhankelijke Verzamelingen en Gewogen Oplossingen, [2] Donald E. Knuth. The Art of Computer Programming, Volume 4: Combinatorial Algorithms, Fascicle 1b: Binary Decision Diagrams. Addison- Wesley, [3] Jonathan Vis. Seminar Combinatorische Algoritmen, LIACS: Over Binaire Beslissingdiagrammen,
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 informatieOver binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4
Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4 Jonathan K. Vis 1 Inleiding (blz. 70 72) In dit essay behandelen we bladzijden 70 75 van Donald E. Knuth
Nadere informatieFriendly Functions and Shared BDD s
Friendly Functions and Shared BDD s Bob Wansink 19 Juni 2010 Deze notitie behandelt pagina s 81 tot 84 van The Art of Computer Programming, Volume 4, Fascicle 1 van Donald E. Knuth. Inhoudelijk gaat het
Nadere informatieUitwerking 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 informatieTiende 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 informatieGrafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.
Grafen Grafen Een graaf bestaat uit een verzameling punten (ook wel knopen, of in het engels vertices genoemd) en een verzameling kanten (edges) of pijlen (arcs), waarbij de kanten en pijlen tussen twee
Nadere informatie3. Structuren in de taal
3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we
Nadere informatieElfde college complexiteit. 23 april NP-volledigheid III
college 11 Elfde college complexiteit 23 april 2019 NP-volledigheid III 1 TSP Als voorbeeld bekijken we het Travelling Salesman/person Problem, ofwel het Handelsreizigersprobleem TSP. Hiervoor geldt: TSP
Nadere informatie16.3 Opgaven hoofdstuk 4: 2-d partities
Opgave 4.1 b Voor het getal drie geldt dat het op drie manieren opgedeeld kan worden in gehele getallen volgens definitie 4.1. Het kan opgedeeld worden in één keer 3 of in één keer 2 en één keer 1 of in
Nadere informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatieUitgebreide 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 informatieIII.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 informatieVierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument
Complexiteit 2019/04 College 4 Vierde college complexiteit 26 februari 2019 Beslissingsbomen en selectie Toernooimethode Adversary argument 1 Complexiteit 2019/04 Zoeken: samengevat Ongeordend lineair
Nadere informatieTentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur
Tentamen Discrete Wiskunde 0 april 0, :00 7:00 uur Schrijf je naam op ieder blad dat je inlevert. Onderbouw je antwoorden, met een goede argumentatie zijn ook punten te verdienen. Veel succes! Opgave.
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, mei 2007
Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In
Nadere informatieUitwerkingen Sum of Us
Instant Insanity Uitwerkingen Sum of Us Opgave A: - Opgave B: Voor elk van de vier kubussen kun je een graaf maken die correspondeert met de desbetreffende kubus. Elk van deze grafen bevat drie lijnen.
Nadere informatien-queens Local Search met Conflict Minimalizatie
n-queens Local Search met Conflict Minimalizatie Efficient Local Search with Conflict Minimalization: A Case Study of the n-queens Problem, door Rok Sosič en Jun Gu. Sjoerd van Egmond svegmond@liacs.nl
Nadere informatieBijzondere kettingbreuken
Hoofdstuk 15 Bijzondere kettingbreuken 15.1 Kwadratische getallen In het vorige hoofdstuk hebben we gezien dat 2 = 1, 2, 2, 2, 2, 2, 2,.... Men kan zich afvragen waarom we vanaf zeker moment alleen maar
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieTentamen 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 informatieOpdracht 1 Topics on Parsing and Formal Languages - fall 2010
Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 13 november 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]
Nadere informatieDe partitieformule van Euler
De partitieformule van Euler Een kennismaking met zuivere wiskunde J.H. Aalberts-Bakker 29 augustus 2008 Doctoraalscriptie wiskunde, variant Communicatie en Educatie Afstudeerdocent: Dr. H. Finkelnberg
Nadere informatieOpgave 2 ( = 12 ptn.)
Deel II Opgave 1 (4 + 2 + 6 = 12 ptn.) a) Beschouw bovenstaande game tree waarin cirkels je eigen zet representeren en vierkanten die van je tegenstander. Welke waarde van de evaluatiefunctie komt uiteindelijk
Nadere informatieVBA voor doe het Zelvers deel 22. Handleiding van Helpmij.nl. Auteur: leofact
VBA voor doe het Zelvers deel 22 Handleiding van Helpmij.nl Auteur: leofact december 2015 Vorige aflevering In de vorige aflevering werden de regular expressions behandeld. Voor VBA zijn deze beschikbaar
Nadere informatieElfde 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 informatieDe symmetrische min-max heap
De symmetrische min-max heap Tweede programmeeropdracht Datastructuren, najaar 2006 De symmetrische min-max heap (SMM heap) is een datastructuur waarin getallen (of andere elementen met een lineaire ordening)
Nadere informatieDiscrete Wiskunde, College 12. Han Hoogeveen, Utrecht University
Discrete Wiskunde, College 12 Han Hoogeveen, Utrecht University Dynamische programmering Het basisidee is dat je het probleem stap voor stap oplost Het probleem moet voldoen aan het optimaliteitsprincipe
Nadere informatieNetwerkdiagram 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 informatieTiende 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 informatieEen combinatorische oplossing voor vraag 10 van de LIMO 2010
Een combinatorische oplossing voor vraag 10 van de LIMO 2010 Stijn Vermeeren (University of Leeds) 16 juni 2010 Samenvatting Probleem 10 van de Landelijke Interuniversitaire Mathematische Olympiade 2010vraagt
Nadere informatie1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12
Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal
Nadere informatie1 Kettingbreuken van rationale getallen
Kettingbreuken van rationale getallen Laten we eens starten met een breuk bijvoorbeeld 37/3 Laten we hier ons kettingbreuk algoritme op los, We concluderen hieruit dat 37 3 3 + 3 + + 37 3 + + + hetgeen
Nadere informatieDiscrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren
Nadere informatie1 Rekenen in eindige precisie
Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen
Nadere informatieHoofdstuk 1. Afspraken en notaties
Hoofdstuk 1 Afspraken en notaties In deze tekst onderzoeken we een eenvoudig dobbelspel: twee spelers hebben een dobbelsteen, gooien deze, en wie het hoogst aantal ogen gooit wint. Er blijken setjes dobbelstenen
Nadere informatieRekenen: Meten groep 4 en hoger. Het leren van simpele weegopdrachten.
Activiteit 7 Lichtste en zwaarste Sorteer algoritmes Samenvatting Computers worden vaak gebruikt om lijsten in een bepaalde volgorde te zetten, bijvoorbeeld namen in alfabetische volgorde, e-mails of afspraken
Nadere informatieTiende 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 informatieOpdracht 1 Topics on Parsing and Formal Languages - fall 2010
Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]
Nadere informatieRecursion. 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 informatieVierde 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 informatieDiscrete Wiskunde 2WC15, Lente Jan Draisma
Discrete Wiskunde 2WC15, Lente 2010 Jan Draisma HOOFDSTUK 2 Gröbnerbases 1. Vragen We hebben gezien dat de studie van stelsels polynoomvergelijkingen in meerdere variabelen op natuurlijke manier leidt
Nadere informatieDiscrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:
Nadere informatie1 Binaire plaatjes en Japanse puzzels
Samenvatting Deze samenvatting is voor iedereen die graag wil weten waar mijn proefschrift over gaat, maar de wiskundige notatie in de andere hoofdstukken wat te veel van het goede vindt. Ga er even voor
Nadere informatieGetaltheorie 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 informatieVierde college complexiteit. 14 februari Beslissingsbomen
College 4 Vierde college complexiteit 14 februari 2017 Restant zoeken Beslissingsbomen 1 Binair zoeken Links := 1; Rechts := n; while Links Rechts do Midden := Links + Rechts 2 ; if X = A[Midden] then
Nadere informatieTiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra
Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten
Nadere informatieBegrenzing van het aantal iteraties in het max-flow algoritme
Begrenzing van het aantal iteraties in het max-flow algoritme Het oplossen van het maximum stroom probleem met behulp van stroomvermeerderende paden werkt, maar het aantal iteraties kan aardig de spuigaten
Nadere informatieEen functie is een kant en klare formule. Via de knop Som in de groep Bewerken van het tabblad Start kun je een aantal veelgebruikte functies kiezen:
SAMENVATTING HOOFDSTUK 6 De functies Gemiddelde en Afronding Een functie is een kant en klare formule. Via de knop Som in de groep Bewerken van het tabblad Start kun je een aantal veelgebruikte functies
Nadere informatieV = {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 informatieCombinatoriek 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 informatieDE PARTITIONE NUMERORUM
1 Over partities van getallen. Auteur: L. Euler 1. Het Probleem over het partitioneren van getallen is eerst aan mij voorgelegd door de zeer beroemde Professor Naude 1, waarin hij vroeg, hoeveel positieve,
Nadere informatieLogic for Computer Science
Logic for Computer Science 06 Normaalvormen en semantische tableaux Wouter Swierstra University of Utrecht 1 Vorige keer Oneindige verzamelingen 2 Vandaag Wanneer zijn twee formules hetzelfde? Zijn er
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieGeldwisselprobleem van Frobenius
Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme
Nadere informatieCombinatoriek groep 2
Combinatoriek groep 2 Recursie Trainingsdag 3, 2 april 2009 Homogene lineaire recurrente betrekkingen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een
Nadere informatie1. Drie relaties Prof. dr. H. W. (Hendrik) Lenstra Universiteit Leiden
1. Drie relaties Prof. dr. H. W. (Hendrik) Lenstra Universiteit Leiden Laat X een eindige verzameling zijn. Als een equivalentierelatie op X is, geven we met X/ de verzameling equivalentieklassen van aan.
Nadere informatieSelectietoets vrijdag 10 maart 2017
Selectietoets vrijdag 10 maart 2017 NEDERLANDSE W I S K U N D E OLYMPIADE Uitwerkingen Opgave 1. Zij n een even positief geheel getal. Een rijtje van n reële getallen noemen we volledig als voor elke gehele
Nadere informatieAppendix Inversie bekeken vanuit een complex standpunt
Bijlage bij Inversie Appendix Inversie bekeken vanuit een complex standpunt In dee paragraaf gaan we op een andere manier kijken naar inversie. We doen dat met behulp van de complexe getallen. We veronderstellen
Nadere informatieInleiding logica Inleveropgave 3
Inleiding logica Inleveropgave 3 Lientje Maas 30 september 2013 Ik (Rijk) heb verbeteringen in rood vermeld. Deze verbeteringen meegenomen zijn dit correcte uitwerkingen van de derde inleveropgaven. 1
Nadere informatieCombinatoriek groep 1
Combinatoriek groep 1 Recursie Trainingsdag 3, 2 april 2009 Getallenrijen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een directe formule geeft a n in
Nadere informatieTweede 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 informatieInhoud college 4 Basiswiskunde. 2.6 Hogere afgeleiden 2.8 Middelwaardestelling 2.9 Impliciet differentiëren 4.9 Linearisatie
Inhoud college 4 Basiswiskunde 2.6 Hogere afgeleiden 2.8 Middelwaardestelling 2.9 Impliciet differentiëren 4.9 Linearisatie 2 Basiswiskunde_College_4.nb 2.6 Hogere afgeleiden De afgeleide f beschrijft
Nadere informatieTree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011
15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree
Nadere informatieCombinatoriek groep 1
Combinatoriek groep 1 Recursie Trainingsweek, juni 009 Stappenplan homogene lineaire recurrente betrekkingen Even herhalen: het stappenplan om een recurrente betrekking van orde op te lossen: Stap 1. Bepaal
Nadere informatieIn Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen.
Leerlijn programmeren In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen. Deze leerlijn is opgebouwd aan de
Nadere informatieMinimum 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 informatieAanvulling bij de cursus Calculus 1. Complexe getallen
Aanvulling bij de cursus Calculus 1 Complexe getallen A.C.M. Ran In dit dictaat worden complexe getallen behandeld. Ook in het Calculusboek van Adams kun je iets over complexe getallen lezen, namelijk
Nadere informatieVBA voor Doe het Zelvers deel 20
VBA voor Doe het Zelvers deel 20 Handleiding van Auteur: leofact Augustus 2015 handleiding: VBA voor Doe het Zelvers deel 20 Vorige aflevering In het vorige deel werd besproken hoe je de structuur en vensteropbouw
Nadere informatieTwaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify
Algoritmiek 2016/Branch & Bound Twaalfde college algoritmiek 13 mei 2016 Branch & Bound Heap, Heapsort & Heapify 1 Algoritmiek 2016/Branch & Bound TSP met Branch & Bound Mogelijke ondergrenzen voor de
Nadere informatie4,7. Praktische-opdracht door een scholier 1959 woorden 1 juni keer beoordeeld
Praktische-opdracht door een scholier 1959 woorden 1 juni 2001 4,7 331 keer beoordeeld Vak Wiskunde Tientallig stelsel In een tientallig stelsel heb je de getallen 0 t/m 9 tot je beschikking. Zoals je
Nadere informatieTwaalfde college algoritmiek. 23 mei Branch & Bound, Heapsort
College 12 Twaalfde college algoritmiek 23 mei 2013 Branch & Bound, Heapsort 1 Handelsreizigersprobleem Traveling Salesman Problem (handelsreizigersprobleem) Gegeven n steden waarvan alle onderlinge afstanden
Nadere informatieUitleg van de Hough transformatie
Uitleg van de Hough transformatie Maarten M. Fokkinga, Joeri van Ruth Database groep, Fac. EWI, Universiteit Twente Versie van 17 mei 2005, 10:59 De Hough transformatie is een wiskundige techniek om een
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning
Nadere informatieVector-en matrixvergelijkingen. Figuur: Vectoren, optellen
Vector-en matrixvergelijkingen (a) Parallellogramconstructie (b) Kop aan staartmethode Figuur: Vectoren, optellen (a) Kop aan staartmethode, optellen (b) Kop aan staart methode, aftrekken Figuur: Het optellen
Nadere informatieTransport-, 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 informatiePolynomen. + 5x + 5 \ 3 x 1 = S(x) 2x x. 3x x 3x 2 + 2
Lesbrief 3 Polynomen 1 Polynomen van één variabele Elke functie van de vorm P () = a n n + a n 1 n 1 + + a 1 + a 0, (a n 0), heet een polynoom of veelterm in de variabele. Het getal n heet de graad van
Nadere informatieen-splitsingen: een aantal alternatieven worden parallel toegepast, of-splitsingen: van een aantal alternatieven wordt er één toegepast,
Kansrekening voor Informatiekunde, 25 Les 8 Proces analyse Veel processen laten zich door netwerken beschrijven, waarin knopen acties aangeven en opdrachten langs verbindingen tussen de knopen verwerkt
Nadere informatieSorteren, groeperen en totaliseren
6 Sorteren, groeperen en totaliseren 6.1 Inleiding Een rapport maken begint met het selecteren van de tabellen en het plaatsen van de velden die u in uw rapport wilt afdrukken. Vervolgens sorteert, groepeert
Nadere informatieNetwerkstroming. 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 informatieUitwerkingen toets 12 juni 2010
Uitwerkingen toets 12 juni 2010 Opgave 1. Bekijk rijen a 1, a 2, a 3,... van positieve gehele getallen. Bepaal de kleinst mogelijke waarde van a 2010 als gegeven is: (i) a n < a n+1 voor alle n 1, (ii)
Nadere informatieWiskunde - MBO Niveau 4. Eerste- en tweedegraads verbanden
Wiskunde - MBO Niveau 4 Eerste- en tweedegraads verbanden OPLEIDING: Noorderpoort MBO Niveau 4 DOCENT: H.J. Riksen LEERJAAR: Leerjaar 1 - Periode 2 UITGAVE: 2018/2019 Wiskunde - MBO Niveau 4 Eerste- en
Nadere informatietripels van Pythagoras Jaap Top
tripels van Pythagoras Jaap Top BI-RuG & DIAMANT 9 en 10 en 11 april 2019 (collegecarrousel, Groningen) 1 Over natuurlijke getallen en Pythagoras: c b a a 2 + b 2 = c 2 2 Oplossingen in natuurlijke getallen
Nadere informatieVergelijkingen oplossen met categorieën
Vergelijkingen oplossen met categorieën De bewerkingen die tot de oplossing van een vergelijking leiden zijn niet willekeurig, maar vallen in zes categorieën. Het stappenplan voor het oplossen maakt gebruik
Nadere informatieWeek 1 20-02-2013. Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.
Combinatorische Optimalisatie, 2013 Week 1 20-02-2013 Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren. Opgave 1.16 Bewijs dat elke graaf een even aantal punten
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende
Nadere informatieAanvullende tekst bij hoofdstuk 1
Aanvullende tekst bij hoofdstuk 1 Wortels uit willekeurige getallen In paragraaf 1.3.5 hebben we het worteltrekalgoritme besproken. Dat deden we aan de hand van de relatie tussen de (van tevoren gegeven)
Nadere informatie1 Recurrente betrekkingen
WIS1 1 1 Recurrente betrekkingen 1.1 De torens van Hanoi De torens van Hanoi Edouard Lucas, 1884: Gegeven 3 pinnen en 64 schijven van verschillende grootte. Startsituatie: 64 op linkerpin, geordend naar
Nadere informatieIMO-selectietoets III zaterdag 4 juni 2016
IMO-selectietoets III zaterdag 4 juni 2016 NEDERLANDSE W I S K U N D E OLYMPIADE Uitwerkingen Opgave 1. Zij n een natuurlijk getal. In een dorp wonen n jongens en n meisjes. Voor het jaarlijkse bal moeten
Nadere informatieProjectieve Vlakken en Codes
Projectieve Vlakken en Codes 1. De Fanocode Foutdetecterende en foutverbeterende codes. Anna en Bart doen mee aan een spelprogramma voor koppels. De ene helft van de deelnemers krijgt elk een kaart waarop
Nadere informatieStabiele koppelingen (Engelse titel: Stable Matchings)
Technische Universiteit Delft Faculteit Elektrotechniek, Wiskunde en Informatica Delft Institute of Applied Mathematics Stabiele koppelingen (Engelse titel: Stable Matchings) Verslag ten behoeve van het
Nadere informatie3. Elke lijn van een graaf draagt twee bij tot de som van alle graden.
Antwoorden Doeboek 4 Grafen.. De middelste en de rechtergraaf.. Een onsamenhangende graaf met vijf punten en vijf lijnen: Teken een vierhoek met één diagonaal. Het vijfde punt is niet verbonden met een
Nadere informatieVerzamelingen. Hoofdstuk 5
Hoofdstuk 5 Verzamelingen In de meest uiteenlopende omstandigheden kan het handig zijn om een stel objecten, elementen, of wat dan ook, samen een naam te geven. Het resultaat noemen we dan een verzameling.
Nadere informatieDefinitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n
Hoofdstuk 1 Inleidende begrippen 1.1 Definities Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n Voor het tellen van het aantal
Nadere informatieOpgave 1: bewijs zelf op algebraïsche wijze dat de lengte van DE gelijk is aan de helft van de lengte van BC.
Opgave 1: bewijs zelf op algebraïsche wijze dat de lengte van DE gelijk is aan de helft van de lengte van BC. Antwoord: de lengteverhouding vertaalt als: (x 3 x 1 ) + (x 4 x ) = (u 5 u 3 ) + (u 6 u 4 )
Nadere informatieExamencursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO kan niet korter
Voorbereidende opgaven VWO Examencursus wiskunde A Tips: Maak de voorbereidende opgaven voorin in een van de A4-schriften die je gaat gebruiken tijdens de cursus. Als een opdracht niet lukt, werk hem dan
Nadere informatieTentamen Grondslagen van de Wiskunde A Met beknopte uitwerking
Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking 10 december 2013, 09:30 12:30 Dit tentamen bevat 5 opgaven; zie ook de ommezijde. Alle opgaven tellen even zwaar (10 punten); je cijfer is
Nadere informatieCaleidoscoop: Logica
Caleidoscoop: Logica Non impeditus ab ulla scientia K. P. Hart Faculteit EWI TU Delft Delft, 3 October, 2007 Overzicht 1 2 Negaties We gaan rekenen met proposities (beweringen). Bedenker: George Boole
Nadere informatieDe statespace van Small World Networks
De statespace van Small World Networks Emiel Suilen, Daan van den Berg, Frank van Harmelen epsuilen@few.vu.nl, daanvandenberg1976@gmail.com, Frank.van.Harmelen@cs.vu.nl VRIJE UNIVERSITEIT AMSTERDAM 2 juli
Nadere informatieRadboud Universiteit Nijmegen
Radboud Universiteit Nijmegen Faculteit der natuurwetenschappen, wiskunde en informatica juli 07 Matchingtheorie op grafen Jorrit Bastings S6556 Begeleider: Wieb Bosma Inhoudsopgave Het huwelijksprobleem
Nadere informatieTentamen combinatorische optimalisatie Tijd:
Tentamen combinatorische optimalisatie 26-05-2014. Tijd: 9.00-11.30 Tentamen is met gesloten boek. Beschrijf bij elke opgave steeds het belangrijkste idee. Notatie en exacte formulering is van minder belang.
Nadere informatie