Progra-MEER - Algoritmiek Leuven 21 februari 2018
|
|
- Timo de Wit
- 4 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Progra-MEER - Leuven 21 februari 2018 Bart Demoen KU Leuven Veerle Fack UGent Frank Neven/Wim Lamotte UHasselt schooljaar
2 Vandaag... 2/35 huiswerk en rondvraag eem opwarmertje een oefening in specificatie en implementatie efficiëntie en complexiteit: sit back and relax minimale opspannende bomen en het algoritme van Prim uitleiding
3 Een opwarmertje... 3/35 zie werkblad
4 Een graaf modelleert de afhankelijkheden 4/35 we zoeken een topologische orde er zijn meerdere oplossingen
5 Algoritme voor topologisch sorteren 5/35 herhaal tot er geen knopen meer zijn kies een knoop zonder inkomende bogen output die knoop verwijder die knoop (en zijn uitgaande bogen) uit de graaf pas op: is er altijd nog een knoop zonder inkomende bogen?
6 Algoritme voor topologisch sorteren 5/35 herhaal tot er geen knopen meer zijn kies een knoop zonder inkomende bogen output die knoop verwijder die knoop (en zijn uitgaande bogen) uit de graaf pas op: is er altijd nog een knoop zonder inkomende bogen?
7 Hoe graaf getekend? 6/35 digraph g { rankdir=lr; size="8,5"; ka -> opd ; snw -> stw ; mav -> bins; stw -> opd ; ink -> mav; bav -> opd ; stw -> mav ; bins -> opd; ink -> snw ; saj -> snaj; snaj -> mav; snaj -> staj; sa -> ka; staj -> stw; ink -> sa; mav -> bav; ink -> saj; } webgraphviz.com
8 Opdracht: specifieer... 7/35 wanneer een rij (*) gesorteerd is in het nederlands en stel geen dubbels en laat je fantasie de vrije loop (*) lijst, array...
9 Een lijst is gesorteerd indien 8/35 voor elk element geldt: alle voorgangers zijn kleiner en alle opvolgers zijn groter voor elk element geldt: alle voorgangers zijn kleiner voor elk element geldt: alle opvolgers zijn groter de linkse helft is gesorteerd en de rechtse helft ook, en het meest rechtse element van de linkse helft is kleiner dan het meest linkse element van de rechtse helft voor elk element geldt: als het een opvolger heeft, dan is die groter wie heeft een andere? welke is de juiste? of de beste?... waarvoor kan je je specificatie gebruiken voor een implementatie?
10 voor elk element geldt: alle voorgangers zijn kleiner en alle opvolgers zijn groter 9/35 def gesorteerd1(l): for element in range(len(l)): for voorganger in range(0,element): if l[voorganger] > l[element]: return(false) for opvolger in range(element+1,len(l)): if l[opvolger] < l[element]: return(false) return(true)
11 de linkse helft is gesorteerd en de rechtse helft ook, en het meest rechtse element van de linkse helft is kleiner dan het meest linkse element van de rechtse helft 10/35 basisgeval vergeten? def gesorteerd2(l): if len(l) < 2: return(true) midden = len(l)//2 linksehelft = l[0:midden] if not(gesorteerd2(linksehelft)): return(false) rechtsehelft = l[midden:] if not(gesorteerd2(rechtsehelft)): return(false) return(l[midden-1] < l[midden])
12 voor elk element geldt: als het een opvolger heeft, dan is die groter 11/35 def gesorteerd3(l): for element in range(len(l)-1): volgende = element + 1 if l[element] > l[volgende]: return(false) return(true)
13 Wat hebben we geleerd? 12/35 een correcte specificatie leidt tot een correcte implementatie de implementaties lijken niet even efficiënt hoe meet je efficiëntie?
14 Hoe lang duurt optellen? 13/35 0 x 0 x x 0 x x x x x x x x x x x x + x x x + x x x + x x x... x x x x x x 0 x x x x + x x x x x x x x gegeven twee getallen (?) hoeveel elementaire operaties heb je nodig? altijd, of soms? duurt het langer een optelling te maken dan een optelling na te kijken?
15 Hoe geef je een getal aan een algoritme/implementatie? 14/35 eigenlijk geef je een representatie string: zevenentwintig decimaal: 27 of binair: 11011b of hexadecimaal: 1B x of romeins: XXVII of een uitleg: het atoomnummer van kobalt of unair: afhankelijk van de representatie heb je een ander algoritme nodig afhankelijk van de representatie kan het moeilijker of gemakkelijker zijn
16 Hoe geef je een getal aan een algoritme/implementatie? 14/35 eigenlijk geef je een representatie string: zevenentwintig decimaal: 27 of binair: 11011b of hexadecimaal: 1B x of romeins: XXVII of een uitleg: het atoomnummer van kobalt of unair: afhankelijk van de representatie heb je een ander algoritme nodig afhankelijk van de representatie kan het moeilijker of gemakkelijker zijn
17 Elementaire operaties... 15/35 optellen van 3 getallen kleiner dan 10 voor getallen tot 9: 1 operatie nodig voor getallen tot 99: 2 operaties nodig voor getallen tot 999: 3 operaties nodig voor getallen tot 9999: 4 operaties nodig in het algemeen N operaties als het getal N lang is - in binair, decimaal... het getal is dan tot bijna 2 N of 10 N... groot onderscheid tussen grootte getal en grootte voorstelling belangrijke fineprint: aantal stappen van het algoritme uitdrukken in functie van de grootte van de invoer, of de grootte van wat de invoer voorstelt (en bij welke representatie) één stap is één elementaire operatie = één kloktik
18 Elementaire operaties... 15/35 optellen van 3 getallen kleiner dan 10 voor getallen tot 9: 1 operatie nodig voor getallen tot 99: 2 operaties nodig voor getallen tot 999: 3 operaties nodig voor getallen tot 9999: 4 operaties nodig in het algemeen N operaties als het getal N lang is - in binair, decimaal... het getal is dan tot bijna 2 N of 10 N... groot onderscheid tussen grootte getal en grootte voorstelling belangrijke fineprint: aantal stappen van het algoritme uitdrukken in functie van de grootte van de invoer, of de grootte van wat de invoer voorstelt (en bij welke representatie) één stap is één elementaire operatie = één kloktik
19 Elementaire operaties... 15/35 optellen van 3 getallen kleiner dan 10 voor getallen tot 9: 1 operatie nodig voor getallen tot 99: 2 operaties nodig voor getallen tot 999: 3 operaties nodig voor getallen tot 9999: 4 operaties nodig in het algemeen N operaties als het getal N lang is - in binair, decimaal... het getal is dan tot bijna 2 N of 10 N... groot onderscheid tussen grootte getal en grootte voorstelling belangrijke fineprint: aantal stappen van het algoritme uitdrukken in functie van de grootte van de invoer, of de grootte van wat de invoer voorstelt (en bij welke representatie) één stap is één elementaire operatie = één kloktik
20 De complexiteit van de enkelvoudige lus 16/35 for i in range(0,n): x keer <iets elementairs> n keer de body van de lus dus: n x keer iets elementairs notatie: O(n) constante factor doet er niet toe... lineair in n
21 De complexiteit van de dubbele lus 17/35 for i in range(0,n): for j in range(0,n): x keer <iets elementairs> herschrijf naar for i in range(0,n-1): for j in range(0,n-1): x keer <iets elementairs> + i = n for j in range(0,n-1): x keer <iets elementairs> + for i in range(0,n): j = n x keer <iets elementairs>
22 De complexiteit van de dubbele lus 17/35 for i in range(0,n): for j in range(0,n): x keer <iets elementairs> herschrijf naar for i in range(0,n-1): for j in range(0,n-1): x keer <iets elementairs> + i = n for j in range(0,n-1): x keer <iets elementairs> + for i in range(0,n): j = n x keer <iets elementairs>
23 De complexiteit van de dubbele lus 18/35 for i in range(0,n): for j in range(0,n): x keer <iets elementairs> = for i in range(0,n-1): for j in range(0,n-1): x keer <iets elementairs> + i = n for j in range(0,n-1): x keer <iets elementairs> + for i in range(0,n): j = n x keer <iets elementairs> aantal(n) = aantal(n 1) + 2 n 1 zoals verwacht O(n 2 )
24 De complexiteit van de dubbele lus 18/35 for i in range(0,n): for j in range(0,n): x keer <iets elementairs> = for i in range(0,n-1): for j in range(0,n-1): x keer <iets elementairs> + i = n for j in range(0,n-1): x keer <iets elementairs> + for i in range(0,n): j = n x keer <iets elementairs> aantal(n) = aantal(n 1) + 2 n 1 zoals verwacht O(n 2 )
25 De complexiteit van lussen 19/35 heel dikwijls een vergelijking van de vorm aantal(n) = aantal(n 1) + O(N k ) oplossing is dan aantal(n) = O(N k+1 ) maar...
26 Binair zoeken 20/35 zoeken in een gesorteerde lijst def binzoek(x,l): if len(l) == 0: return(false) mid = len(l) // 2 if l[mid] == x: return(true) if l[mid] > x: return(binzoek(x,l[0:mid])) else: return(binzoek(x,l[(mid+1):])) aantal(n) = aantal( N 2 ) + c oplossing... aantal(n) = O(log(N))
27 Binair zoeken 20/35 zoeken in een gesorteerde lijst def binzoek(x,l): if len(l) == 0: return(false) mid = len(l) // 2 if l[mid] == x: return(true) if l[mid] > x: return(binzoek(x,l[0:mid])) else: return(binzoek(x,l[(mid+1):])) aantal(n) = aantal( N 2 ) + c oplossing... aantal(n) = O(log(N))
28 Merge-sort 21/35 in pseudo-python... mergesort(l): l1 = mergesort(eerstehelft(l)) l2 = mergesort(tweedehelft(l)) return(merge(l1,l2)) merge(l1,l2): if l1 == []: return(l2) if l2 == []: return(l1) if l1[0] < l2[0]: return [l1[0]] + merge(l1[1:],l2) else: return [l2[0]] + merge(l1,l2[1:]) aantal(n) = 2 aantal( N 2 ) + c N oplossing is aantal(n) = O(N log(n))
29 De kracht van 2 22/35 verdeel en heers complexiteit van O(N k ) naar O(N k 1 log(n)) een belangrijk en essentieel verschil N N 2 N log(n) verhouding
30 Is alles hoogstens kwadratisch of polynomiaal? 23/35 de theorie zegt: nee ( k:) veel problemen kunnen in O(n k ), maar niet in O(n k 1 ) veel problemen kunnen in O(2 n ), maar niet in O(n k ) ( k) problemen met een polynomiaal algoritme noemen we doenbaar (tractable) de andere ondoenbaar (intractable) waar ligt de scheidingslijn? theorie suggereert: tussen berekenen en nakijken
31 Is alles hoogstens kwadratisch of polynomiaal? 23/35 de theorie zegt: nee ( k:) veel problemen kunnen in O(n k ), maar niet in O(n k 1 ) veel problemen kunnen in O(2 n ), maar niet in O(n k ) ( k) problemen met een polynomiaal algoritme noemen we doenbaar (tractable) de andere ondoenbaar (intractable) waar ligt de scheidingslijn? theorie suggereert: tussen berekenen en nakijken
32 Berekenen of nakijken, wat is moeilijker? 24/35 onze intuïtie wordt gesteund door de ervaring... een deler van N berekenen is moeilijker dan nakijken of een gegeven getal een deler is van N een bewijs maken is moeilijker dan een bewijs nakijken nakijken dat een rij gesorteerd is, is gemakkelijker dan een rij te sorteren een pad van A naar Z berekenen is moeilijker dan nakijken of een gegeven pad van A naar Z loopt een fuga componeren is moeilijker dan nakijken of een gegeven muziekstuk een fuga is een hattrick maken is moeilijker dan na te kijken of een hattrick gemaakt werd... heb je zelf voorbeelden?
33 P en NP 25/35 ruwweg: P zijn de problemen waarvoor een polynoom berekenalgoritme bestaat NP zijn de problemen waarvoor een polynoom nakijkalgoritme bestaat P NP de hamvraag: P? = NP
34 De moeilijkste problemen in NP: NP-compleet 26/35 kleuren van grafen Hamiltoniaanse kring (pad) kliek knapzak het feestprobleem langste weg tussen twee knopen (contrast met Dijkstra) minimale Steiner boom (contrast met MOB) Sudoku(N) meest bekende en eerste (Cook 1971, Levin 1973): SAT heeft een propositionele formule zoals (p q r) & (s t p) &... een toekenning die de formule waar maakt?
35 De moeilijkste problemen in NP: NP-compleet 26/35 kleuren van grafen Hamiltoniaanse kring (pad) kliek knapzak het feestprobleem langste weg tussen twee knopen (contrast met Dijkstra) minimale Steiner boom (contrast met MOB) Sudoku(N) meest bekende en eerste (Cook 1971, Levin 1973): SAT heeft een propositionele formule zoals (p q r) & (s t p) &... een toekenning die de formule waar maakt?
36 NP-complete problemen 27/35 gemakkelijk om na te kijken of iets een oplossing is is dit een 3-kleuring voor deze graaf? moeilijk om ervoor een oplossing te berekenen bestaat een 3-kleuring voor deze graaf? gemakkelijk betekent: polynomiaal (we kennen het algo) moeilijk betekent: er zijn enkel exponentiële algoritmen bekend, geen polynomiale los P? = NP op en win US$ :-)
37 NP-complete problemen 27/35 gemakkelijk om na te kijken of iets een oplossing is is dit een 3-kleuring voor deze graaf? moeilijk om ervoor een oplossing te berekenen bestaat een 3-kleuring voor deze graaf? gemakkelijk betekent: polynomiaal (we kennen het algo) moeilijk betekent: er zijn enkel exponentiële algoritmen bekend, geen polynomiale los P? = NP op en win US$ :-)
38 NP-complete problemen 27/35 gemakkelijk om na te kijken of iets een oplossing is is dit een 3-kleuring voor deze graaf? moeilijk om ervoor een oplossing te berekenen bestaat een 3-kleuring voor deze graaf? gemakkelijk betekent: polynomiaal (we kennen het algo) moeilijk betekent: er zijn enkel exponentiële algoritmen bekend, geen polynomiale los P? = NP op en win US$ :-)
39 Uitwiskeling... 28/35 Kürt Maes
40 Structuur van eindigheidsbewijs 29/35 iets wordt steeds groter en kan niet boven een bepaalde waarde uitstijgen iets wordt steeds kleiner en kan niet onder een bepaalde waarde dalen iets is dikwijls een variabele in het programma of algoritme kan ook een afgeleide grootheid zijn - bv. de som van de graden van de knopen o je bewijst daarmee dat een herhalingsopdracht slechts een eindig aantal keer uitgevoerd wordt o als je exact weet hoeveel keer (of de O()), dan kan je de O() van het programma afleiden
41 De Collatz-functie... eindigt die? 30/35 def collatz(n): while n!= 1: if even(n): n = n//2 # n wordt kleiner :-) else: n = 3*n+1 # n wordt groter :-( return("gedaan") of de recursieve versie
42 De Collatz-functie... eindigt die? 31/35 def collatz(n): if n == 1: return( gedaan ) if even(n): n = n//2 # n wordt kleiner :-) else: n = 3*n+1 # n wordt groter :-( return(collatz(n)) Pal Erdös mathematics is not yet ready for such problems en ik voeg eraan toe: informatica is nog niet toe aan dit soort problemen :-)
43 De Collatz-functie... eindigt die? 31/35 def collatz(n): if n == 1: return( gedaan ) if even(n): n = n//2 # n wordt kleiner :-) else: n = 3*n+1 # n wordt groter :-( return(collatz(n)) Pal Erdös mathematics is not yet ready for such problems en ik voeg eraan toe: informatica is nog niet toe aan dit soort problemen :-)
44 De Collatz-functie... eindigt die? 31/35 def collatz(n): if n == 1: return( gedaan ) if even(n): n = n//2 # n wordt kleiner :-) else: n = 3*n+1 # n wordt groter :-( return(collatz(n)) Pal Erdös mathematics is not yet ready for such problems en ik voeg eraan toe: informatica is nog niet toe aan dit soort problemen :-)
45 Correctheidsbewijs voor herhalingsopdracht 32/35 een bepaalde uitspraak U is waar bij het binnenkomen van de herhalingsopdracht als U waar is bij het begin van de body, dan ook op het einde nadat de herhalingsopdracht stopt, is U waar en ook de stopconditie U wordt een programma-invariant genoemd
46 Klein voorbeeld van een correctheidsbewijs 33/35 vermenigvuldigen door herhaald optellen lees(x); lees(y) n,m = x,y res = 0 x*y == res + n*m while m > 0: x*y == res + n*m [== res+n + n*(m-1)] res += n m-- x*y == res + n*m x*y == res + n*m & m == 0 # dus x*y = res print(res)
47 Correctheidsbewijs voor een functie f die g oproept 34/35 def f():... x = g()... return(...) bewijs (of onderstel) dat g correct is maak een invariant voor g gebruik die in het bewijs van correctheid voor f
48 Correctheidsbewijs voor een recursieve functie 35/35 def f(n): if N == 17: return(...) x = f(n-1)... return(...) # basisgeval de functie is correct voor input == het basisgeval stel dat de functie correct is voor alle gevallen strikt kleiner dan N, bewijs dan dat de functie correct is voor N vaak verschillende bewijstechnieken nodig
Progra-MEER - Algoritmiek Leuven 20 maart 2018
Progra-MEER - Leuven 20 maart 2018 Bart Demoen KU Leuven Veerle Fack UGent Frank Neven/Wim Lamotte UHasselt schooljaar 2017-2018 Vandaag... 2/33 waar staan we i.v.m. 24 april? werkblad met twee thema s
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 informatie(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 informatieUitgebreide uitwerking Tentamen Complexiteit, juni 2016
Uitgebreide uitwerking Tentamen Complexiteit, juni 016 Opgave 1. (3+10++7+6) a. De hoogte van de beslissingsboom (lengte van het langste pad) stelt het aantal arrayvergelijkingen in de worst case voor.
Nadere informatie1 Complexiteit. of benadering en snel
1 Complexiteit Het college van vandaag gaat over complexiteit van algoritmes. In het boek hoort hier hoofdstuk 8.1-8.5 bij. Bij complexiteitstheorie is de belangrijkste kernvraag: Hoe goed is een algoritme?
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 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 informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
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 informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen
Nadere informatieProgrammeermethoden. 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 informatieDerde 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 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 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 informatieModeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013
Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag Januari 20 Opgave. Python Gegeven is de volgende (slechte) Python code:. def t(x): 2. def p(y):. return x*y
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
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 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 informatieDivide & 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 informatieAchtste 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 informatieNP-volledigheid. Algoritmiek
NP-volledigheid Polynomiale algoritmen of moeilijke problemen? Algoritme A is polynomiaal, als er een constante c bestaat, zodat het algoritme bij inputs van formaat n O(n c ) tijd gebruikt. Sommige problemen
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieVierde 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 informatieProgrammeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/
Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 26 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 1 / 28 Deze week: analyseren van algoritmes Hoe
Nadere informatieBenaderingsalgoritmen
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 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 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 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 informatieHoofdstuk 8: Algoritmen en Complexiteit
Hoofdstuk 8: Algoritmen en Complexiteit Vandaag: Hoe meten we de performance van algoritmen? Waar ligt de grens tussen een goed en een slecht algoritme? 22 oktober 2014 1 Vandaag: Hoe meten we de performance
Nadere informatieDatastructuren 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 informatiepublic boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 21 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 21 oktober 2015 1 / 20 Deze week: algoritmes en complexiteit
Nadere informatieGegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )
OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................
Nadere informatieTentamen IN3105. Complexiteitstheorie. 16 april 2012, uur
Faculteit Elektrotechniek, Wiskunde en Informatica Ti Delft Tentamen IN3105 Complexiteitstheorie 16 april 2012, 9.00-12.00 uur Dit tentamen bestaat uit 10 meerkeuzevragen, 5 korte (open) vragen en 2 open
Nadere informatieGerichte Grafen Boolese Algebra s &. Logische Netwerken
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 10 maart 2009 Gerichte Grafen Boolese Algebra s &. Logische Netwerken. Paragrafen
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, juni 2018
Uitgebreide uitwerking Tentamen Complexiteit, juni 018 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 informatie12 september 2012 Complexiteit. Analyse van algoritmen (doelen) Empirische analyse : Voorbeeld Gevolgen
Complexiteit van Algoritmen Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 12 september 2012 ODE/FHTBM Complexiteit van Algoritmen 12 september 2012 1/41 Efficientie-analyse
Nadere informatieProgrammeermethoden NA. Week 6: Lijsten
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal
Nadere informatieAlgoritmen aan het werk
Algoritmen aan het werk (Dag van de wiskunde 24/11/2018) Veerle Fack Universiteit Gent De bevers en de brug Vier bevers willen in het donker een brug oversteken. Ze kunnen de brug slechts alleen of met
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 informatieNP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi
NP-Volledigheid Wil zo snel mogelijke algoritmes om problemen op te lossen Gezien: selectie [O(n)], DFS [O(n + m)], MaxFlow [O nm n + m ], MST [O(n + m)], etc De looptijd is polynomiaal: O n k - dat is
Nadere informatieDatastructuren Uitwerking jan
Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties
Nadere informatieREEKS II. Zaterdag 6 november 2010, 11u
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS II Zaterdag 6 november 2010, 11u NAAM :... VRAAG 1: AFSTAND [5 PUNTEN] In deze oefening gaan we opzoek naar identieke
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieREEKS I. Zaterdag 6 november 2010, 9u
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS I Zaterdag 6 november 2010, 9u NAAM :... VRAAG 1: MINSTENS [5 PUNTEN] Schrijf een methode minstens(), met twee
Nadere informatieDatastructuren en Algoritmen
Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen
Nadere informatieCredit cards, computationele complexiteit en consistentie uitspraken
Credit cards, computationele complexiteit en consistentie uitspraken Joost J. Joosten 14 december 2005 Praag en bier Sinds enkele maanden werk ik als post-doc aan de Czech Academy of Sciences in Praag.
Nadere informatie2 Recurrente betrekkingen
WIS2 1 2 Recurrente betrekkingen 2.1 Fibonacci De getallen van Fibonacci Fibonacci (= Leonardo van Pisa), 1202: Bereken het aantal paren konijnen na één jaar, als 1. er na 1 maand 1 paar pasgeboren konijnen
Nadere informatieHelden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief
Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief Herman Geuvers Radboud Universiteit Nijmegen Technische Universiteit Eindhoven 1 Helden van de wiskunde:
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 informatieProgrammeermethoden NA
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
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 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 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 informatieOefeningen voor de oefeningenles. Oefening 1
Oefeningen voor de oefeningenles Oefening 1 Gegeven een arbitraire binaire zoekboom T met n toppen en een (andere of gelijke) binaire zoekboom T die ook n sleutels bevat. Beschrijf een algoritme dat in
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 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 informatieStelling. SAT is NP-compleet.
Het bewijs van de stelling van Cook Levin zoals gegeven in het boek van Sipser gebruikt niet-deterministische turing machines. Het is inderdaad mogelijk de klasse NP op een alternatieve wijze te definiëren
Nadere informatieConstanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.
een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers
Nadere informatieOpgaven Analyse van Algoritmen 10 mei 2019, Datastructuren, Werkgroep.
Opgaven Analyse van Algoritmen 10 mei 019, Datastructuren, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot
Nadere informatie8. Complexiteit van algoritmen:
8. Complexiteit van algoritmen: Voorbeeld: Een gevaarlijk spel 1 Spelboom voor het wespenspel 2 8.1 Complexiteit 4 8.2 NP-problemen 6 8.3 De oplossing 7 8.4 Een vuistregel 8 In dit hoofdstuk wordt het
Nadere informatieDatastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46
Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,
Nadere informatieAlgoritmiek. 15 februari Grafen en bomen
Algoritmiek 15 februari 2019 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices) en E een verzameling van
Nadere informatiestart -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c
Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer
Nadere informatieOntwerp van Algoritmen: opgaven weken 3 en 4
0 Ontwerp van Algoritmen: opgaven weken 3 en 4 Voor alle volgende opgaven over programmaatjes geldt de spelregel: formuleer altijd eerst alle bewijsverplichtingen. selectie 45. (tail distribution)(prima
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieTiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra
Tiende college algoritmiek mei 018 Gretige Algoritmen Algoritme van Dijkstra 1 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag van n (n 0) eurocent. Alle
Nadere informatieMinimum Spanning Tree
Minimum Spanning Tree Wat is MST? Minimum spanning tree De meest efficiënte manier vinden om een verbonden netwerk op te bouwen Wat is een tree/boom? Graaf G: een verzameling knopen (vertices): V een verzameling
Nadere informatieElfde college algoritmiek. 10 mei Algoritme van Dijkstra, Gretige Algoritmen
lgoritmiek 019/lgoritme van ijkstra lfde college algoritmiek 10 mei 019 lgoritme van ijkstra, Gretige lgoritmen 1 lgoritmiek 019/ynamisch programmeren Programmeeropdracht 3 Lange Reis 0 10 10 1 1 100 0
Nadere informatieTijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid.
Complexiteit of efficiëntie van algoritmen Hoe meet je deze? Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid. Een betere maatstaf is het aantal berekeningsstappen
Nadere informatieJe gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.
1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat
Nadere informatieTwaalfde college complexiteit. 11 mei 2012. Overzicht, MST
College 12 Twaalfde college complexiteit 11 mei 2012 Overzicht, MST 1 Agenda voor vandaag Minimum Opspannende Boom (minimum spanning tree) als voorbeeld van greedy algoritmen Overzicht: wat voor technieken
Nadere informatieEerste Toets Datastructuren 22 mei 2019, , Educ-β en Megaron.
Eerste Toets Datastructuren 22 mei 209, 3.30 5.30, Educ-β en Megaron. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag
Nadere informatieRecursie: definitie. De som van de kwadraten van de getallen tussen m en n kan als volgt gedefinieerd worden:
Recursie: definitie Een object wordt recursief genoemd wanneer het partieel bestaat uit of partieel gedefinieerd is in termen van zichzelf. Recursie wordt gebruikt bij wiskundige definities, bijvoorbeeld:
Nadere informatieOpgaven Binair Zoeken en Invarianten Datastructuren, 4 mei 2016, Werkgroep.
Opgaven Binair Zoeken en Invarianten Datastructuren, 4 mei 2016, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal
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 informatieTweede Toets Datastructuren 29 juni 2016, , Educ-Γ.
Tweede Toets Datastructuren 29 juni 2016, 13.30 15.30, Educ-Γ. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe
Nadere 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 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:
Nadere informatieMMI. The Digital World 4. Peter van Kranenburg
MMI The Digital World 4 Peter van Kranenburg Intro Vandaag: Terugblik vorige week Leren programmeren Algoritmes Terugblik Hogere-orde programmeertalen maken het schrijven van code eenvoudiger. Je hoeft
Nadere informatieDe volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden.
. a) Een Fibonacci boom (niet te verwarren met een Fibonacci queue) van hoogte h is een AVL-boom van hoogte h met zo weinig mogelijk knopen. i. Geefvoorh =,,,,eenfibonacciboomvanhoogteh(eenboombestaande
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke
Nadere informatieTEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2011-2012 Zaterdag 5 november 2011, 9u30 NAAM :... VRAAG 1: EVEN VEEL [5 PUNTEN] Schrijf een methode evenveel(), met twee argumenten,
Nadere informatieControle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2
Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel
Nadere informatieZevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)
College 7 Zevende college complexiteit 7 maart 2017 Mergesort, Ondergrens sorteren (Quicksort) 1 Inversies Definitie: een inversie van de permutatie A[1],A[2],...,A[n] is een paar (A[i],A[j]) waarvoor
Nadere 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 22 februari 2009 INDUCTIE & RECURSIE Paragrafen 4.3-4.6 Discrete Structuren Week 3:
Nadere informatieDerde college algoritmiek. 22 februari Complexiteit Toestand-actie-ruimte
Algoritmiek 2019/Complexiteit Derde college algoritmiek 22 februari 2019 Complexiteit Toestand-actie-ruimte 1 Algoritmiek 2019/Complexiteit Opgave 1 bomenpracticum Niet de bedoeling: globale (member-)variabele
Nadere informatieZevende college algoritmiek. 1 april Verdeel en Heers
Zevende college algoritmiek 1 april 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 informatieAlgoritmen, Datastructuren en Complexiteit ( ) Uitwerkingen
Universiteit Twente Kwartiel 010/ Afdeling Informatica 1 e huiswerkserie 6 december 010 Algoritmen, Datastructuren en Complexiteit 1914000 Uitwerkingen De deadline voor het inleveren van deze huiswerkserie
Nadere informatieProgrammeermethoden NA. Week 3: Controlestructuren
Programmeermethoden NA Week 3: Controlestructuren Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Inleveren opdracht 1 Lever digitaal sxxxxxxx-syyyyyyy-opdr1.py
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 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 informatieTweede college complexiteit. 12 februari Wiskundige achtergrond
College 2 Tweede college complexiteit 12 februari 2019 Wiskundige achtergrond 1 Agenda vanmiddag Floor, Ceiling Rekenregels logaritmen Tellen Formele definitie O, Ω, Θ met voorbeelden Stellingen over faculteiten
Nadere 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 informatieAlgoritmiek. 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