n-queens Local Search met Conflict Minimalizatie

Maat: px
Weergave met pagina beginnen:

Download "n-queens Local Search met Conflict Minimalizatie"

Transcriptie

1 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 LIACS, Universiteit Leiden 8 april 2010 Samenvatting Deze notitie is een nederlandse vrije vertolking van de artikelen Efficient Local Search with Conflict Minimalization [1] en 3,000,000 Queens in Less Than One Minute [2] van Rok Sosič en Jun Gu. Hierin wordt een algoritme voor het n-queens probleem beschreven dat in lineaire tijd een oplossing vindt voor heel grote n. 1 Introductie Er is al veel onderzoek gedaan naar het oplossen van het n-queens probleem, maar de auteurs van [1] hebben toch een nieuwe methode onderzocht om snel een oplossing te genereren. Waar het meeste onderzoek gedaan wordt naar het verbeteren van backtracking zijn Sosič en Gu meer richting een local search methode gegaan, om van daar uit een willekeurige oplossing te kunnen genereren in lineaire tijd. Backtracking is simpel te omschrijven en toch een erg sterk mechanisme. Het onthoudt welke stappen het gedaan heeft, probeert alles op volgorde en gaat terug als het vast loopt. In Figuur 1 is een voorbeeld te zien van een backtracking mechanisme voor het n-queens probleem met n = 4. Alle knopen met een kruis erin zijn knopen zonder oplossingen waaruit het backtrack 1

2 Figuur 1: Backtrack voorbeeld voor n=4 algoritme is teruggekomen. In deze figuur is het backtracking algoritme gestopt nadat het twee oplossingen had gevonden, daardoor zijn de knopen aan de rechterkant nog niet bezocht. De opbouw van deze notitie is als volgt. In Hoofdstuk 2 behandelen we het n-queens probleem en de bruikbaarheid van de oplossingen, in Hoofdstuk 3 komt het daadwerkelijke algoritme aan bod. We vervolgen met een verkorte analyse van het algoritme in Hoofdstuk 4 en besluiten met een korte conclusie in Hoofdstuk 5. 2 n-queens Het n-queens probleem wordt compact beschreven in Definitie 1. Definitie 1. Op een schaakbord van grootte n n willen we n queens plaatsen zodanig dat geen enkele queen een ander kan slaan. Een queen kan horizontaal, verticaal en diagonaal andere stukken op het schaakbord slaan, wat voor horizontaal en verticaal betekent dat er precies één queen op iedere rij en iedere kolom moet komen te staan. Ook op iedere diagonaal mag er dus maximaal één queen staan, anders slaan ze elkaar. Dit is een voorbeeld van een Constraint Satisfaction Probleem, waarbij een oplossing gevonden moet worden voor een probleem terwijl de beperkingen (constraints) in acht (satisfaction) genomen moeten worden. 2

3 2.1 Bruikbaarheid Figuur 2: Transmitter voorbeeld voor n=10 In [1] worden een aantal applicatie-domeinen aangehaald waarbinnen de oplossingen van het n-queens probleem gebruikt worden. Genoemde domeinen zijn onder andere very large scale integration (VLSI) testing, luchtverkeerscontrole, moderne communicatie-systemen, data/bericht-routering in een multiprocessor computer, load balancing in een multiprocessor computer, computer task scheduling, computer resource management, optische parallele processen en data-compressie. Naast eerdergenoemde domeinen is er nog een ander voorbeeld dat daadwerkelijk uitgewerkt is, namelijk het plaatsen van een array van smalband, directionele zers/ontvangers. Als we aannemen dat deze zers/ontvangers in 8 richtingen kunnen versturen of luisteren dan is dit te modelleren als een n-queens probleem. In Figuur 2 is een oplossing voor n = 10 te zien, waarbij elke zer/ontvanger in alle richtingen contact heeft met de wereld buiten het array, en er dus geen interferentie optreedt binnen het array. 3 Algoritme Het algoritme om een willekeurige n-queens oplossing te vinden bestaat uit twee onderdelen, een initiële plaatsing en een local search. In de eerste versie van het algoritme [2], genaamd QS1, werd alleen het local search gedeelte gebruikt. In de huidige versie zoals beschreven in [1], en QS4 genoemd in [2], is de initiële plaatsing toegevoegd om de complexiteit aanzienlijk te verminderen. In Algoritme 1 is de verdeling tussen de initiële plaatsing en de local search te zien, in Algoritme 2 wordt vervolgens de initiële plaatsing uitgewerkt, en in Algoritme 3 wordt de local search methode behandeld. Algoritme 1 is de omvatte functie die Algoritme 2 en Algoritme 3 bevat. Vanuit Algoritme 2 komt het aantal queens aan de rechterkant van 3

4 het bord dat mogelijk nog conflicten heeft, wat als parameter aan Algoritme 3 wordt meegegeven. Algoritme 1 n-queens algoritme proc Queens Oplossing(queen array[1..n] of integer) var k integer comment: k: aantal queens met conflicten. begin k Initieel(queen) Lokaal Zoeken(k, queen) Algoritme 2 is een stuk interessanter. Hierin wordt van links naar rechts in iedere kolom een queen op een locatie gezet zodanig dat die queen aan de linkerkant geen conflicten genereert. Dit gebeurt door middel van het swappen van kolommen. Omdat alle queens aan het begin geplaatst worden op de diagonaal wordt de oplossing direct aan twee van de drie beperkingen gehouden, namelijk dat er horizontaal en vertikaal maar één queen per rij en kolom mag staan. Door een swap te definiëren volgens Definitie 2 zal er altijd aan deze beperkingen voldaan worden. Omdat door een swap het aantal queens per kolom niet verandert blijft de oplossing geldig met betrekking tot de vertikale beperking. Omdat er ook per rij maar één queen staat en er twee rijen worden omgewisseld blijft de horizontale beperking ook geldig. Definitie 2. Een swap wordt uitgevoerd door de posities van twee queens uit verschille kolommen om te wisselen. Een eigenschap van de swap in Algoritme 2 is dat een kolom j alleen geswapt wordt met een kolom rechts ervan. Wat Links Conflicten doet is het controleren van de nieuwe situatie op conflicten aan de linkerkant van kolom j. Als de nieuwe positie van de queen in kolom j een conflict met een queen aan de linkerkant veroorzaakt wordt de swap teruggedraaid. In Hoofdstuk 4 wordt uitgelegd waarom er in totaal maar 3,08 n keer geswapt wordt en er dan doorgegaan wordt naar het volge deel. In Algoritme 3 wordt het laatste stuk stuk van het bord aan de rechterkant opgelost door middel van een local search met conflict-minimalizatie. Als invoer wordt het aantal queens met conflicten meegegeven, en zolang er nog conflicten bestaan in een kolom (en het aantal swaps niet over een bepaalde 4

5 Algoritme 2 Initieel proc Initieel(queen array[1..n] of integer) var i,j,m integer begin for i = 1 to n do queen[i] = i; od j = 1; for i = 1 to 3,08 n do m = Random(j,n) Swap(j, m) if Links Conflicten(j)=0 then j = j+ 1 else Swap(j,m) fi od for i = j to n do m = Random(i,n) Swap(i, m) od Returnn j+ 1 drempel komt) wordt er doorgezocht. In tegenstelling tot Algoritme 2 wordt er hier met alle kolommen geswapt, dus ook de eerste n k kolommen. Wat ook anders is is dat een swap alleen wordt toegestaan als beide kolommen na de swap geen enkel conflict hebben, en daar zorgt Totaal Conflicten voor. 3.1 Links- en Totaal-Conflicten Het gehele algoritme is lineair met betrekking tot de swap operaties en dit betekent echter ook dat de functies Links Conflicten en Totaal Conflicten niet te tijdrov mogen zijn. Dit wordt bereikt door voor de twee verschille diagonalen arrays van grootte 2n 1 bij te houden die bijhouden hoeveel queens er al op die diagonalen staan. Voor de diagonaal van linksonder naar rechtsboven hebben we de indices 2 tot n+n nodig, en voor de diagonaal van linksboven naar rechtsonder de indices n + 1 tot n 1. Voor iedere swap operatie, waarbij er dus twee queens verplaatst worden, hoeft er dus maar vier keer een diagonaal-telling te veranderen. Twee keer omdat er een queen weggaat, en twee keer omdat er een queen bijkomt. De reden waarom de indices zo gekozen zijn is omdat we dan met behulp van het kolomnummer en het rijnummer direct kunnen berekenen in welke diagonaal de queen zich bevindt. Voor de eerst beschreven indices is de optelling van het kolomnummer met het rijnummer de benodigde index. De 5

6 Algoritme 3 Lokaal Zoeken proc Lokaal Zoeken(k integer, queen array[1..n] of integer) var i,j integer b boolean swaps integer maxswaps integer begin swaps = 0 maxswaps = 7000 for i = n k+ 1 to n do if Totaal Conflicten(i)>0 swaps maxswaps then b = false while b swaps maxswaps do j = Random(1,n) Swap(i, j) b =(Totaal Conflicten(i) > 0) or(totaal Conflicten(j) > 0) if b then Swap(i, j) else swaps = swaps+ 1 fi od fi od index van de tweede diagonaal wordt verkregen door het rijnummer van het kolomnummer af te trekken. 4 Analyse In [1] wordt stap-voor-stap een formule opgebouwd om weer te geven hoeveel swaps er in Algoritme 2 nodig zijn om een oplossing te genereren. In Figuur 3 is deze formule geplot als een vloeie functie, waarbij de punten experimenteel geverifieerde aantallen zijn. Hieruit is het aantal swaps overgenomen dat nodig is om in de initiële fase een volledige oplossing te genereren als bovengrens van het aantal toegelaten swaps. Dit is de 3,08 uit de loop van Algoritme 2. Een belangrijk effect van het zetten van 3,08 is dat het aantal queens met conflicten niet lineair lijkt toe te nemen bij een vergroting van n. In Tabel 1 zijn de resultaten te zien van experimenten met n van 100 tot , waaruit aannemelijk wordt dat het aantal queens met conflicten niet erg groot zal zijn. Dit wordt gebruikt om een lineaire beperking te zetten op 6

7 Figuur 3: Stappen om x queens succesvol te plaatsen: benadere formule (curve) en experimenteel (punten). Aantal queens n Gemiddeld Minimum Maximum Tabel 1: Aantal queens geplaatst in de initiële fase na 3,08 n stappen. Algoritme 3, zodat het totale algoritme lineair is. Een ander gegeven dat nodig is om te bepalen hoeveel berekeningen Algoritme 3 nodig heeft is het aantal swaps per queen om alle conflicten daarmee te verwijderen. In [1] is dit ook experimenteel bepaald, en in Figuur 4 zijn zowel de benadere formule (lijn) als de experimenten (punten) geplot. Ook hier is te zien dat de formule niet veel afwijkt van de werkelijkheid en er kan dus een redelijk maximum aan het aantal swaps bepaalt worden waarbinnen een oplossing gevonden zou moeten zijn, wat in [1] op 7000 gezet wordt. Een kleine notitie is echter nodig omdat er een kans bestaat dat Algoritme 2 een situatie heeft opgeleverd die te lastig is om binnen het gegeven maximum aantal swaps op te lossen. Als dit maximum bereikt wordt, wordt overnieuw begonnen met een nieuwe situatie. Maar ondanks het feit dat dit erg inefficiënt klinkt laat Tabel 2 zien dat dit erg mee valt voor grote n. Daarentegen is ook te zien dat voor n=200 dit getal erg omhoog springt en daarom is voor n<200 voor een andere methode gekozen, waarbij in Algo- 7

8 Figuur 4: Aantal queens met conflicten x, aantal swap pogingen om een queen succesvol te verwisselen. Aantal queens n Aantal starts Tabel 2: Totaal aantal starts om 100 oplossingen te vinden. ritme 3 in plaats van het random swappen van queens voor een volledige test met alle andere queens gekozen wordt. Dit levert voor n in de buurt van 200 doorgaans ongeveer drie herstarts op om een oplossing te vinden. 5 Conclusie Voor grote n hebben de auteurs van [1] en [2] een bijzonder efficiënt algoritme gevonden, dat in maximaal 3,08 n+7000 swap operaties met zeer grote kans een oplossing kan vinden. Voor n in de buurt van 200 en kleiner is deze methode echter minder effectief omdat er vaak niet binnen het gegeven aantal swaps een oplossing gevonden wordt. Bibliografie [1] Rok Sosič and Jun Gu. Efficient Local Search with Conflict Minimization: A Case Study of the n-queens Problem. IEEE Transactions on Knowledge and Data Engineering, 6(5): , [2] Rok Sosič and Jun Gu. 3,000,000 Queens in Less Than One Minute. SIGART Bulletin, 2(2):22 24,

From Alife Agents to a Kingdom of Queens

From Alife Agents to a Kingdom of Queens From Alife Agents to a Kingdom of Queens Bob Wansink 27 Mei 2010 Deze notitie is een vrije vertaling en uitleg van het gelijknamige artikel in Intelligent Agent Technology: Systems, Methodologies, and

Nadere informatie

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse

Nadere 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

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

Derde college complexiteit. 7 februari Zoeken

Derde college complexiteit. 7 februari Zoeken College 3 Derde college complexiteit 7 februari 2017 Recurrente Betrekkingen Zoeken 1 Recurrente betrekkingen -1- Rij van Fibonacci: 0,1,1,2,3,5,8,13,21,... Vanaf het derde element: som van de voorgaande

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

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

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

Uitleg van de Hough transformatie

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

ALGORITMIEK: antwoorden werkcollege 5

ALGORITMIEK: antwoorden werkcollege 5 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit

Nadere 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

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

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

ALGORITMIEK: antwoorden werkcollege 5

ALGORITMIEK: antwoorden werkcollege 5 1 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit

Nadere informatie

ALGORITMIEK: antwoorden werkcollege 5

ALGORITMIEK: antwoorden werkcollege 5 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit

Nadere informatie

Basiskennis lineaire algebra

Basiskennis lineaire algebra Basiskennis lineaire algebra Lineaire algebra is belangrijk als achtergrond voor lineaire programmering, omdat we het probleem kunnen tekenen in de n-dimensionale ruimte, waarbij n gelijk is aan het aantal

Nadere informatie

II. ZELFGEDEFINIEERDE FUNCTIES

II. ZELFGEDEFINIEERDE FUNCTIES II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual

Nadere informatie

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik Rick van der Zwet 4 augustus 2010 Samenvatting Dit schrijven zal

Nadere informatie

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:

Nadere informatie

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Achtste college algoritmiek. 8 april Dynamisch Programmeren Achtste college algoritmiek 8 april 2016 Dynamisch Programmeren 1 Werkcollege-opgave Dutch Flag Problem Gegeven een array gevuld met R, W, en B. Reorganiseer dit array zo dat van links naar rechts eerst

Nadere informatie

Programmeren Blok B. Onderwerpen. wstomv/edu/2ip05/ College 8. Tom Verhoeff

Programmeren Blok B. Onderwerpen.   wstomv/edu/2ip05/ College 8. Tom Verhoeff Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 8 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Verdelen

Nadere informatie

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A. Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen

Nadere informatie

Algoritmiek. 2 februari Introductie

Algoritmiek. 2 februari Introductie College 1 Algoritmiek 2 februari 2017 Introductie 1 Introductie -1- docent: Rudy van Vliet rvvliet@liacs.nl assistent werkcollege: Bart van Strien bartbes@gmail.com website: http://www.liacs.leidenuniv.nl/~vlietrvan1/algoritmiek/

Nadere informatie

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify

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

Opgave Constraint Processing

Opgave Constraint Processing Opgave Constraint Processing De deadline voor het indienen van je verslag is woensdag 9 december, 12u. We verwachten je verslag op papier in de studentenbrievenbus in 200A. In dit project zullen we een

Nadere informatie

WI1808TH1/CiTG - Lineaire algebra deel 1

WI1808TH1/CiTG - Lineaire algebra deel 1 WI1808TH1/CiTG - Lineaire algebra deel 1 College 6 26 september 2016 1 Hoofdstuk 3.1 en 3.2 Matrix operaties Optellen van matrices Matrix vermenigvuldigen met een constante Matrices vermenigvuldigen Machten

Nadere informatie

Constraint satisfaction. Computationele Intelligentie. Voorbeelden. Een constraint satisfaction probleem. Constraint Satisfaction

Constraint satisfaction. Computationele Intelligentie. Voorbeelden. Een constraint satisfaction probleem. Constraint Satisfaction Constraint satisfaction Computationele Intelligentie Constraint Satisfaction Een constraint satisfaction probleem (CSP) bestaat uit: een verzameling variabelen; een domein van waarden voor elke variabele;

Nadere informatie

Verslag Opdracht 4: Magische Vierkanten

Verslag Opdracht 4: Magische Vierkanten Verslag Opdracht 4: Magische Vierkanten Stefan Schrama, Evert Mouw, Universiteit Leiden 2007-08-14 Inhoudsopgave 1 Inleiding 2 2 Uitleg probleem 2 3 Theorie 2 4 Aanpak 2 5 Implementatie 4 6 Experimenten

Nadere informatie

Zevende college algoritmiek. 24 maart Verdeel en Heers

Zevende college algoritmiek. 24 maart Verdeel en Heers Zevende college algoritmiek 24 maart 2016 Verdeel en Heers 1 Verdeel en heers 1 Divide and Conquer 1. Verdeel een instantie van het probleem in twee (of meer) kleinere instanties 2. Los de kleinere instanties

Nadere informatie

Magidoku s en verborgen symmetrieën

Magidoku s en verborgen symmetrieën Uitwerking Puzzel 92-6 Magidoku s en verborgen symmetrieën Wobien Doyer Lieke de Rooij Een Latijns vierkant van orde n, is een vierkante matrix, gevuld met n verschillende symbolen waarvan elk precies

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

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

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

Modelleren C Appels. Christian Vleugels Sander Verkerk Richard Both. 2 april 2010. 1 Inleiding 2. 3 Data 3. 4 Aanpak 3

Modelleren C Appels. Christian Vleugels Sander Verkerk Richard Both. 2 april 2010. 1 Inleiding 2. 3 Data 3. 4 Aanpak 3 Modelleren C Appels Christian Vleugels Sander Verkerk Richard Both 2 april 2010 Inhoudsopgave 1 Inleiding 2 2 Probleembeschrijving 2 3 Data 3 4 Aanpak 3 5 Data-analyse 4 5.1 Data-analyse: per product.............................

Nadere informatie

Hoofdstuk 16: Zoek- en verwijzingsfuncties

Hoofdstuk 16: Zoek- en verwijzingsfuncties Hoofdstuk 16: Zoek- en verwijzingsfuncties 16.0 Inleiding Eén van de belangrijkste functies binnen Excel is de mogelijkheid om te zoeken naar een specifieke waarde binnen een groot aantal cellen met gegevens.

Nadere informatie

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

Matrixoperaties. Definitie. Voorbeelden. Een matrix is een rechthoekig array van getallen, die kentallen of elementen heten.

Matrixoperaties. Definitie. Voorbeelden. Een matrix is een rechthoekig array van getallen, die kentallen of elementen heten. Definitie Een matrix is een rechthoekig array van getallen, die kentallen of elementen heten. Voorbeelden De coëfficiëntenmatrix of aangevulde matrix bij een stelsel lineaire vergelijkingen. Een rij-echelonmatrix

Nadere informatie

Local search. Han Hoogeveen CGN A februari, 2009

Local search. Han Hoogeveen CGN A februari, 2009 1 Local search Han Hoogeveen CGN A312 j.a.hoogeveen@cs.uu.nl www.cs.uu.nl/docs/vakken/opt/colleges.html 4 februari, 2009 2 Inhoud vandaag In totaal vier uur Slides staan al op het web www.cs.uu.nl/docs/vakken/opt/colleges.html

Nadere informatie

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet. Les C-02: Werken met Programma Structuur Diagrammen 2.0 Inleiding In deze lesbrief bekijken we een methode om een algoritme zodanig structuur te geven dat er gemakkelijk programmacode bij te schrijven

Nadere informatie

Met de functies Verticaal zoeken of Horizontaal zoeken kun je gegevens in het rekenblad laten opzoeken en weergeven.

Met de functies Verticaal zoeken of Horizontaal zoeken kun je gegevens in het rekenblad laten opzoeken en weergeven. Formules functies verticaal en horizontaal zoeken Excel Met de functies Verticaal zoeken of Horizontaal zoeken kun je gegevens in het rekenblad laten opzoeken en weergeven. Opbouw van de functie Verticaal

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

Kennisrepresentatie & het IDP systeem

Kennisrepresentatie & het IDP systeem Kennisrepresentatie & het IDP systeem Setting Expert heeft declaratieve kennis over probleemdomein We willen die kennis gebruiken Voorbeelden Kennis van HCR over uurroosters gebruiken om automatisch een

Nadere informatie

Local search. Han Hoogeveen. 21 november, 2011

Local search. Han Hoogeveen. 21 november, 2011 1 Local search Han Hoogeveen 21 november, 2011 Inhoud vandaag 2 Inhoud: Uitleg methode Bespreking oude opdrachten: ˆ Bezorgen wenskaarten ˆ Roosteren tentamens Slides staan al op het web www.cs.uu.nl/docs/vakken/opt/colleges.html

Nadere informatie

Hoofdstuk 3. Matrices en stelsels. 3.1 Matrices. [[1,7]],[[12,8] ] of [ 1, 7; 12,8 ] bepaalt de matrix

Hoofdstuk 3. Matrices en stelsels. 3.1 Matrices. [[1,7]],[[12,8] ] of [ 1, 7; 12,8 ] bepaalt de matrix Hoofdstuk 3 Matrices en stelsels 3.1 Matrices Een matrix is in DERIVE gedefinieerd als een vector van vectoren. De rijen van de matrix zijn de elementen van de vector. Op de volgende manier kan je een

Nadere informatie

Doorzoeken van grafen. Algoritmiek

Doorzoeken van grafen. Algoritmiek Doorzoeken van grafen Algoritmiek Vandaag Methoden om door grafen te wandelen Depth First Search Breadth First Search Gerichte Acyclische Grafen en topologische sorteringen 2 Doolhof start eind 3 Depth

Nadere informatie

Hopfield-Netwerken, Neurale Datastructuren en het Nine Flies Probleem

Hopfield-Netwerken, Neurale Datastructuren en het Nine Flies Probleem Hopfield-Netwerken, Neurale Datastructuren en het Nine Flies Probleem Giso Dal (0752975) 13 april 2010 Samenvatting In [Kea93] worden twee neuraal netwerk programmeerprojecten beschreven, bedoeld om studenten

Nadere informatie

Programmeerstructuren met App Inventor

Programmeerstructuren met App Inventor Programmeerstructuren met App Inventor Kevin Krul, Universiteit Utrecht Roncalli, Bergen op Zoom Inhoud: Les 1: Introductie tot App Inventor, when statement en variabelen. Les 2: Introductie if-statement

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 11 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Heaps en heapsort Heap 1 2 3 4 5 6 7 8 9 10 16 14 10 8 7 9 3 2 4 1 16 14 10 8 7 9 3

Nadere informatie

Het Queens n 2 graafkleuring probleem

Het Queens n 2 graafkleuring probleem Het Queens n 2 graafkleuring probleem Wouter de Zwijger Leiden Institute of Advanced Computer Science Universiteit Leiden Niels Bohrweg 1 2333 CA Leiden The Netherlands Samenvatting In dit artikel behandelen

Nadere informatie

IMO-selectietoets I donderdag 7 juni 2018

IMO-selectietoets I donderdag 7 juni 2018 IMO-selectietoets I donderdag 7 juni 018 NEDERLANDSE W I S K U N D E OLYMPIADE Uitwerkingen Opgave 1. Gegeven is een bord met m rijen en n kolommen, waarbij m en n positieve gehele getallen zijn. Je mag

Nadere informatie

Negende college algoritmiek. 15 april Dynamisch Programmeren

Negende college algoritmiek. 15 april Dynamisch Programmeren Negende college algoritmiek 15 april 2016 Dynamisch Programmeren 1 algemeen Uit college 8: DP: - nuttig bij problemen met overlappende deelproblemen - druk een oplossing van het probleem uit in oplossingen

Nadere informatie

vandaag is Annie twee jaar jonger dan Ben en Cees samen

vandaag is Annie twee jaar jonger dan Ben en Cees samen Hoofdstuk I Lineaire Algebra Les 1 Stelsels lineaire vergelijkingen Om te beginnen is hier een puzzeltje: vandaag is Annie twee jaar jonger dan Ben en Cees samen over vijf jaar is Annie twee keer zo oud

Nadere informatie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes

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

Programmeren (1) Examen NAAM:

Programmeren (1) Examen NAAM: Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft

Nadere informatie

Afbeelding 12-1: Een voorbeeld van een schaakbord met een zwart paard op a4 en een wit paard op e6.

Afbeelding 12-1: Een voorbeeld van een schaakbord met een zwart paard op a4 en een wit paard op e6. Hoofdstuk 12 Cartesische coördinaten 157 Hoofdstuk 12 CARTESISCHE COÖRDINATEN In dit hoofdstuk behandelen we: Het Cartesisch coördinatenstelsel De X-as en de Y-as De commutatieve eigenschap van optellen

Nadere 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

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

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search Algoritmiek 2018/Toestand-actie-ruimte Vierde college algoritmiek 2 maart 2018 Toestand-actie-ruimte Exhaustive Search 1 Algoritmiek 2018/Toestand-actie-ruimte Kannen Voorbeeld 4: Kannenprobleem We hebben

Nadere informatie

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort College 7 Zevende college complexiteit 17 maart 2008 Ondergrens sorteren, Quicksort 1 Sorteren We bekijken sorteeralgoritmen gebaseerd op het doen van vergelijkingen van de vorm A[i] < A[j]. Aannames:

Nadere informatie

Kunstmatige Intelligentie (AI) Hoofdstuk 6 van Russell/Norvig = [RN] Constrained Satisfaction Problemen (CSP s) voorjaar 2015 College 7, 31 maart 2015

Kunstmatige Intelligentie (AI) Hoofdstuk 6 van Russell/Norvig = [RN] Constrained Satisfaction Problemen (CSP s) voorjaar 2015 College 7, 31 maart 2015 AI Kunstmatige Intelligentie (AI) Hoofdstuk 6 van Russell/Norvig = [RN] Constrained Satisfaction Problemen (CSP s) voorjaar 2015 College 7, 31 maart 2015 www.liacs.leidenuniv.nl/ kosterswa/ai/ 1 Introductie

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

Genetische algoritmen in Java met JGAP

Genetische algoritmen in Java met JGAP Genetische algoritmen in Java met JGAP Inleiding JGAP, uitgesproken als "jee-gep", is een framework voor het implementeren van genetische algoritmen en het gebruik ervan in Java. Genetische algoritmen

Nadere informatie

Wiskunnend Wiske. 5. Goochelende getallen. Wat ik ga studeren? Wiskunde natuurlijk!

Wiskunnend Wiske. 5. Goochelende getallen. Wat ik ga studeren? Wiskunde natuurlijk! Wat ik ga studeren? Wiskunde natuurlijk! Wiskunnend Wiske 5. Goochelende getallen c 2010, Standaard Uitgeverij, Antwerpen, België voor alle afbeeldingen van groot Wiske Opdracht 5 Vele goochelaars gebruiken

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

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

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

Vierde college algoritmiek. 23/24 februari Complexiteit en Brute Force

Vierde college algoritmiek. 23/24 februari Complexiteit en Brute Force Algoritmiek 2017/Complexiteit Vierde college algoritmiek 23/24 februari 2017 Complexiteit en Brute Force 1 Algoritmiek 2017/Complexiteit Tijdcomplexiteit Complexiteit (= tijdcomplexiteit) van een algoritme:

Nadere informatie

Informatica: C# WPO 13

Informatica: C# WPO 13 Informatica: C# WPO 13 1. Inhoud Bestanden uitlezen, bestanden schrijven en data toevoegen aan een bestand, csv-bestanden 2. Oefeningen Demo 1: Notepad Demo 2: Read CSV-file Demo 3: Write CSV-file A: Plot

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

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

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

Random-Getallen. Tristan Demont en Mark van der Boor en

Random-Getallen. Tristan Demont en Mark van der Boor en Random-Getallen Tristan Demont en Mark van der Boor 0768931 en 0772942 18 januari 2013 Begeleider: Relinde Jurrius Opdrachtgever: Berry Schoenmakers Modelleren B, 2WH02 Technische Universiteit Eindhoven

Nadere informatie

1. Cellen en formules

1. Cellen en formules 19 1. Cellen en formules Microsoft Excel is een rekenprogramma, ook wel spreadsheetprogramma genoemd. Met het woord spread wordt in het Engels tekst over meer kolommen bedoeld en de term sheet betekent

Nadere informatie

De statespace van Small World Networks

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

Datastructuren college 10

Datastructuren college 10 we hadden Backtracking verbetering i i Datastructuren college 0 0: : : 0: : : P r r r r r b r b r P r r r b r b r backtracking we hoeven vaak de kandidaat niet helemaal af te maken om hem te kunnen verwerpen

Nadere informatie

Gaap, ja, nog een keer. In één variabele hebben we deze formule nu al een paar keer gezien:

Gaap, ja, nog een keer. In één variabele hebben we deze formule nu al een paar keer gezien: Van de opgaven met een letter en dus zonder nummer staat het antwoord achterin. De vragen met een nummer behoren tot het huiswerk. Spieken achterin helpt je niets in het beter snappen... 1 Stelling van

Nadere informatie

Artificiële Intelligentie Project 2 - Constraint Processing

Artificiële Intelligentie Project 2 - Constraint Processing Artificiële Intelligentie Project 2 - Constraint Processing Philippe Dellaert 3 e Bachelor Computerwetenschappen - Elektrotechniek 13 mei 2007 1 Een logisch circuit 1.1 Variabelen en constraints Name:

Nadere informatie

3.1 Negatieve getallen vermenigvuldigen [1]

3.1 Negatieve getallen vermenigvuldigen [1] 3.1 Negatieve getallen vermenigvuldigen [1] Voorbeeld 1: 5 3 = 15 (3 + 3 + 3 + 3 + 3 = 15) Voorbeeld 2: 5-3 = -15 (-3 +-3 +-3 +-3 +-3 = -3-3 -3-3 -3 = -15) Voorbeeld 3: -5 3 = -15 Voorbeeld 4: -5 3 9 2

Nadere informatie

(On)Doenlijke problemen

(On)Doenlijke problemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen Overzicht Inleiding - Relatie Deel 1 en Deel 2 - Doenlijke

Nadere informatie

Inhoudsopgave Voorwoord 7 Nieuwsbrief 7 De website bij het boek 7 Introductie Visual Steps 8 Wat heeft u nodig? 8 Uw voorkennis 9 Bonushoofdstukken

Inhoudsopgave Voorwoord 7 Nieuwsbrief 7 De website bij het boek 7 Introductie Visual Steps 8 Wat heeft u nodig? 8 Uw voorkennis 9 Bonushoofdstukken Inhoudsopgave Voorwoord... 7 Nieuwsbrief... 7 De website bij het boek... 7 Introductie Visual Steps... 8 Wat heeft u nodig?... 8 Uw voorkennis... 9 Bonushoofdstukken... 9 Hoe werkt u met dit boek?... 10

Nadere informatie

{ specificatie (contract) en toelichting }

{ specificatie (contract) en toelichting } Programmeren Blok A Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 5 Kees Hemerik Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software

Nadere informatie

Gratis Sudoku Editie 00 PuDNL. Wat is een PuzzelDoku? 1 Uitdagende PuzzelDoku wacht om te worden opgelost

Gratis Sudoku Editie 00 PuDNL. Wat is een PuzzelDoku? 1 Uitdagende PuzzelDoku wacht om te worden opgelost Gratis Sudoku Editie 00 PuDNL 1 Uitdagende PuzzelDoku wacht om te worden opgelost Gratis Sudoku Editie 00 PuDNL Website: www.sudoku-variations.com DISCLAIMER MEBO Educational Services besteedt voortdurend

Nadere informatie

Take-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994

Take-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994 Take-home Tentamen Protocolvericatie Vakgroep Programmatuur Universiteit van Amsterdam 27 Maart 1994 Algemene Opmerkingen Dit tentamen omvat zes reguliere opgaven plus een bonusopgave. Opgaves 1, 2, 5

Nadere informatie

1. Cellen en formules

1. Cellen en formules 11 1. Cellen en formules Microsoft Excel is een rekenprogramma, ook wel spreadsheetprogramma genoemd. Met het woord spread wordt in het Engels tekst over meer kolommen bedoeld en de term sheet betekent

Nadere informatie

Een Stelling over Priemgetallen Bewezen op een Schaakbord Seminar Combinatorial Algorithms (voorjaar 2010)

Een Stelling over Priemgetallen Bewezen op een Schaakbord Seminar Combinatorial Algorithms (voorjaar 2010) Een Stelling over Priemgetallen Bewezen op een Schaakbord Seminar Combinatorial Algorithms (voorjaar 2010) Johan de Ruiter, johan.de.ruiter@gmail.com 27 april 2010 1 De stelling van Fermat over de som

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

3.2 Vectoren and matrices

3.2 Vectoren and matrices we c = 6 c 2 = 62966 c 3 = 32447966 c 4 = 72966 c 5 = 2632833 c 6 = 4947966 Sectie 32 VECTOREN AND MATRICES Maar het is a priori helemaal niet zeker dat het stelsel vergelijkingen dat opgelost moet worden,

Nadere informatie

Achtste college complexiteit. 2 april Polynoomevaluatie Matrixvermenigvuldiging Euler- en Hamiltonkringen

Achtste college complexiteit. 2 april Polynoomevaluatie Matrixvermenigvuldiging Euler- en Hamiltonkringen College 8 Achtste college complexiteit 2 april 2019 Polynoomevaluatie Matrixvermenigvuldiging Euler- en Hamiltonkringen 1 Polynoomevaluatie Zij p(x) = a n x n + a n 1 x n 1 +... + a 1 x + a 0 een polynoom

Nadere informatie

16.3 Opgaven hoofdstuk 4: 2-d partities

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

1. Rekenen en formules

1. Rekenen en formules 9 1. Rekenen en formules Microsoft Excel is een zogenaamd spreadsheetprogramma. Het woord spreadsheet is zo n typische computerterm die u pas gaat begrijpen als u met zo n programma werkt. Te vertalen

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Hoofdstuk 7: Werken met arrays

Hoofdstuk 7: Werken met arrays Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 7: Werken met arrays 7.0 Leerdoel

Nadere informatie

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren Achtste college algoritmiek 12 april 2019 Verdeel en Heers Dynamisch Programmeren 1 Uit college 7: Partitie Partitie Partitie(A[l r]) :: // partitioneert een (sub)array, met A[l] als spil (pivot) p :=

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

Project Paper: Tiling problem

Project Paper: Tiling problem Project Paper: Tiling problem Groep 11: Said Hattachi, Ismael el Hadad Hakim, Muttalip Küçük Januari 015 Abstract Dit artikel beschrijft een heuristiek waarmee een veld op een systematische wijze gevuld

Nadere informatie

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding: Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen

Nadere informatie

Informatica: C# WPO 11

Informatica: C# WPO 11 Informatica: C# WPO 11 1. Inhoud Pass by reference (ref, out), recursie, code opdelen in verschillende codebestanden 2. Oefeningen Demo 1: Swapfunctie Demo 2: TryParse(int) Demo 3: Recursion Tree Demo

Nadere informatie

Informatica: C# WPO 10

Informatica: C# WPO 10 Informatica: C# WPO 10 1. Inhoud 2D arrays, lijsten van arrays, NULL-values 2. Oefeningen Demo 1: Fill and print 2D array Demo 2: Fill and print list of array A: Matrix optelling A: Matrix * constante

Nadere informatie

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b Ruud Pellikaan g.r.pellikaan@tue.nl /k 2014-2015 Lineaire vergelijking 2/64 DEFINITIE: Een lineaire vergelijking in de variabelen

Nadere informatie

Stelsels Vergelijkingen

Stelsels Vergelijkingen Hoofdstuk 5 Stelsels Vergelijkingen Eén van de motiverende toepassingen van de lineaire algebra is het bepalen van oplossingen van stelsels lineaire vergelijkingen. De belangrijkste techniek bestaat uit

Nadere informatie