Logisch programmeren 2012
|
|
|
- Christina van den Velde
- 9 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Logisch programmeren 2012 Opdrachten Week 8 1 Fibonacci woorden Een Fibonacci woord is een eindig rijtje over het twee-letter alfabet {1, 2}. De rangorde van een Fibonacci woord w is de som van de samenstellende cijfers. Bijvoorbeeld: de rangorde van het woord 1121 is = 5. We schrijven F n voor de verzameling Fibonacci woorden van rang n. De Fibonacci woorden ontlenen hun naam aan het feit dat het aantal woorden in F n correspondeert met de Fibonacci reeks (1,1,2,3,5,8,... ). Figuur 1 geeft de Fibonacci woorden voor rangorde 0 n 5. Het symbool ε staat voor het lege rijtje het enige rijtje van rangorde 0. De bron voor dit binaire systeem is de klassieke Indische metriek. Het symbool 1 staat voor een korte lettergreep, het symbool 2 voor een lange. Een korte lettergreep is één maatslag lang, een lange twee. F n geeft dus alle mogelijke ritmes voor n maatslagen Opgave In de opgaven die volgen schrijven we een Fibonacci woord als een rijtje van 1-en en 2-en. Definieer een predicaat f/2 waarmee je F n genereert: f(n,woord) slaagt als Woord een Fibonacci woord is van rang N. Bijvoorbeeld:?- f(3,l). L = [1, 1, 1] ; L = [1, 2] ; L = [2, 1] ; false. Giet je definitie voor f/2 in de vorm van een DCG voor een predicaat f/4. De eerste twee argumenten staan voor de rang, uitgedrukt als verschilgetal, de laatste twee voor het woord, uitgedrukt als verschillijst. Hieronder de wrapper; d2s/3 (een oude bekende) zet een decimaal getal om in een verschilgetal. 1 Rachel Wells Hall Math for poets and drummers is een aardig achtergrondartikel. 1
2 Figuur 1: Diagram van F n voor 0 n 5 f(n,f) :- d2s(n,p,0), f(p,0,f,[]). % wrapper % d2s/3: decimaal naar verschilgetal d2s(n,s(x),y) :- N>0, N1 is N-1, d2s(n1,x,y). d2s(0,x,x). Denk erom dat de DCG pijl --> de verschillijst argumenten automatisch aanvult. Zorg ervoor dat je DCG niet linksrecursief is! 1.2 Opgave Het hoofd van een Fibonacci woord is het langste prefix bestaande uit 2-en. In het volgende voorbeeld is het hoofd onderstreept: Gegeven een Fibonacci woord w bereken je de opvolgers van w in de tralie van Figuur 1 aan de hand van een van de volgende operaties: (i) voeg links een 1 toe aan w; (ii) vervang het eerste voorkomen van 1 in w door een 2; (iii) voeg een 1 in waar dat kan tussen twee 2 s in het hoofd van w of onmiddellijk na de laatste 2 van het hoofd. De voorgangers van w bereken je aan de hand van een van de volgende operaties: (i) verwijder het eerste voorkomen van 1 in w; (ii) vervang een voorkomen van 2 in het hoofd van w door een 1. 2
3 Definieer een predicaat f_desc/2 voor de voorganger-opvolger relatie. Gegeven een Fibonacci woord F slaagt f_desc(f,f1) als F1 een opvolger is van F; gegeven een Fibonacci woord F1 slaagt f_desc(f,f1) als F een voorganger is van F. Test je definitie aan de hand van Fig 1. 2 Zoeken: breadth first Hieronder het generieke breadth first zoekalgoritme, zoals besproken in het hoorcollege. De predicaten voor het manipuleren van een wachtrij (queue) vind je in de Week 8 startcode. bf(start, Final, Path) :- % wrapper empty_queue(empty), bf(start, Final, Empty, [], Path). bf(s, S, _, RevPath, Path) :- solution(s), reverse([s RevPath], Path). bf(s0, S, Queue0, Path0, Path) :- findall(n(s1,[s0 Path0]), s(s0,s1), Children),!, queue_append(queue0, Children, Queue1), % Children achteraan aansluiten queue_cons(n(s2, Path2), Queue, Queue1), % voorste is nu aan de beurt bf(s2, S, Queue, Path2, Path). 2.1 Opgave Vul de probleemspecifieke informatie in voor de Fibonacci woorden van de vorige opgaven. Definieer de algemene opvolgersrelatie s/2 in termen van f_desc/2. Bouw de conditie in dat in s(knoop,opvolger) de rang van Knoop kleiner is dan de rang van de gezochte oplossing. De gewenste oplossing declareer je met het dynamische solution/1. Hieronder een testwrapper. bf_test(sol) :- retractall(solution(_)), assert(solution(sol)), bf([],sol,path), write(path),nl, fail. bf_test(_). 3
4 En een voorbeeldaanroep.?- f_test([2,2]). [[],[1],[1,1],[2,1],[2,2]] [[],[1],[2],[1,2],[2,2]] [[],[1],[2],[2,1],[2,2]] true. 2.2 Opgave Het bf/5 programma herberekent vaak de s/2 relatie voor knopen die al eerder zijn bezocht. Dat kan je verhelpen met de memo techniek. Het predicaat s_memo/2 hieronder berekent s/2 en slaat oplossingen op als feiten voor een dynamisch predicaat found/2. If->Then;Else is het ingebouwde if-then-else construct. s_memo(s,s1) :- s(s,s1), store_solution(s,s1). store_solution(s,s1) :- found(s,s1) % al gevonden -> true % doe niets ; assert(found(s,s1)). Pas je code aan om met s_memo/2 te werken. Noem de nieuwe predicaten bf_memo/3 en bf_memo/5. Bij het expanderen van een knoop S laat je findall de kinderen van S simpelweg opzoeken als er al feiten voor found(s,_) zijn. Als er nog geen feiten voor found(s,_) zijn, laat je findall de kinderen aanmaken met s_memo/2. Hieronder de testwrapper. bf_memotest(sol) :- retractall(found(_,_)), retractall(solution(_)), assert(solution(sol)), bf_memo([],sol,path), write(path),nl, fail. bf_memotest(_). 4
5 3 Zoeken: best first Hieronder het generieke A best first algoritme, zoals je het vindt in de startcode voor Week 8. bestf(start, Goal, Cost, Path) :- empty_heap(heap), bestf(start, Goal, Heap, 0, Cost, [], Path). bestf(s, S, _, Cost, Cost, RevPath, Path) :- solution(s), reverse([s RevPath], Path). bestf(s0, Goal, Heap0, G0, Cost, Path0, Path) :- findall(f-n(s1,g,[c,s0 Path0]), % F waarde is de prioriteit van S1 ( s_cost(s0,s1,c), % overgangen met een kostprijs C G is C+G0, h(s1,goal,h), F is G+H ), Children), list_to_heap(children,childrenheap), merge_heaps(childrenheap,heap0,heap1), get_from_heap(heap1,_,n(s2, G2, Path2), Heap), bestf(s2, Goal, Heap, G2, Cost, Path2, Path). Probleemspecifiek zijn s_cost/3 en h/ Opdracht In de graaf hieronder zie je twee paden (rood versus blauw) van Start naar Doel. Voor de Prolog codering van de graaf schrijven we knopen als coördinatenparen X/Y. Start is dan 0/0, Doel is 4/3. Verbindingen tussen knopen coderen we als feiten s(from,to), bijvoorbeeld s(0/0,0/3) voor de eerste overgang op het rode pad. Geef de volledige set van s/2 feiten (zes overgangen voor het rode pad; zeven voor het blauwe). 5
6 Doel Start Voor gebruik met het best first algoritme willen we de overgangen van een kostprijs voorzien. Definieer daartoe een predicaat manhattan/3 waarmee je de Manhattan distance tussen twee punten uitrekent: de kortste route volgens het Manhattan stratenplan. Bijvoorbeeld:?- manhattan(0/0,4/3,dist). Dist = 7. Je kan de ingebouwde functie abs/1 gebruiken om de absolute waarde van een getal te berekenen: X is abs(-3) slaagt met X=3. Definieer vervolgens s_cost/3 in termen van s/2 en manhattan/3. s_cost/3(s,s1,cost) slaagt als er een verbinding is tussen S en S1 met de Manhattan afstand als Cost. Rest nog de definitie voor de heuristische functie h/3, waarmee je de kortste afstand tussen een gegeven knoop en het doel inschat. Voor ons kortste pad zoekprobleem is een goede invulling voor h/3... de Manhattan distance. Schrijf de definitie voor h/3 op en test de werking van bestf/4 met de aanroep hieronder. Geef een korte commentaar waarin je de volgorde van de gevonden oplossingen toelicht.?- bestf(0/0,4/3,cost,path),write((cost,path)),nl,fail. Opdracht Het bf algoritme kan je zien als een gedegenereerde vorm van best first zoeken waarbij de heuristische functie h/3 triviaal is. Pas de code voor s_cost/3 en h/3 op zulke manier aan dat het best first algoritme hierboven het pad met het kleinste aanstal stappen als eerste oplossing verkiest: het rode pad, in de voorbeeldgraaf. 6
Modelleren en Programmeren
Modelleren en Programmeren Deeltoets 2. Proefopgaven Het tentamen bestaat uit tien vragen, elk goed voor drie punten. minimaal 16.5 uit 30 punten haalt. Je bent geslaagd als je Opgave 1 Neem de volgende
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
Computationale Intelligentie Dirk Thierens
Computationale Intelligentie Dirk Thierens Organisatie Onderwijsvormen: Docent: Topic: Collegemateriaal: Boek: Beoordeling: hoorcollege, practicum, werkcollege Dirk Thierens Deel : Zoekalgoritmen Toets
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
Kosten. Computationale Intelligentie. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route. Zoeken met kosten.
Kosten omputationale Intelligentie Zoeken met kosten Veel zoekproblemen omvatten kosten: een afstand in kilometers; een geldbedrag; een hoeveelheid tijd;... Voorbeelden van dergelijke problemen zijn: het
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
Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen
Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen dat er zowel typografische als inhoudelijke onvolkomenheden
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
Programmeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 9 december 2015 Foreach String arrays Boomstructuren Interfaces Ingebouwde datastructuren Quiz Foreach Foreach Speciale versie van for om iets voor alle elementen
Kortste Paden. Algoritmiek
Kortste Paden Toepassingen Kevin Bacon getal Six degrees of separation Heeft een netwerk de small-world eigenschap? TomTom / Google Maps 2 Kortste paden Gerichte graaf G=(N,A), en een lengte L(v,w) voor
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Opgaven Kunstmatige Intelligentie 1 maart 2017
Opgaven Kunstmatige Intelligentie 1 maart 2017 Opgave 1. a. Denkt een schaakprogramma? b. Denkt een (Nederlands-Engels) vertaalprogramma? c. Denkt een C ++ -compiler? d. Denkt Watson, the IBM-computer
Programmeermethoden 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
Greedy algoritmes. Algoritmiek
Greedy algoritmes Algoritmiek Algoritmische technieken Trucs, methoden, paradigma s voor het ontwerpen van algoritmen Dynamisch Programmeren Divide & Conquer Greedy 2 Greedy algoritme Bouwt de oplossing
Programmeermethoden 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
Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University
Discrete Wiskunde, College 12 Han Hoogeveen, Utrecht University Dynamische programmering Het basisidee is dat je het probleem stap voor stap oplost Het probleem moet voldoen aan het optimaliteitsprincipe
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.
Inleiding 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
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
Bij elkaar behorende instructies die een probleem oplossen of een taak uitvoeren.
1 Programma Structuur Diagram: Een gestructureerd programma is een programma dat we gemakkelijk kunnen begrijpen. Dit kunnen we bereiken door het programma op te bouwen uit drie programmacomponenten: Als
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Tree 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
Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen.
Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen. Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van
Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten
Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van
Bij elkaar behorende instructies die een probleem oplossen of een taak uitvoeren.
Programma Structuur Diagram: Een gestructureerd programma is een programma dat we gemakkelijk kunnen begrijpen. Dit kunnen we bereiken door het programma op te bouwen uit drie programmacomponenten: Als
Minimum Opspannende Bomen. Algoritmiek
Minimum Opspannende Bomen Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee greedy algoritmen + tijd en datastructuren: Het algoritme van
TW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning
Inleiding 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
TW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke
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 [email protected] en [email protected]
Constraint satisfaction. Zoekalgoritmen ( ) College 11: Constraint Satisfaction. Voorbeelden. Een constraint satisfaction probleem
Constraint satisfaction Zoekalgoritmen (2009 2010) College 11: Constraint Satisfaction Dirk Thierens, Tekst: Linda van der Gaag Een constraint satisfaction probleem (CSP) bestaat uit: een verzameling variabelen;
Examen Datastructuren en Algoritmen II
Tweede kandidatuur Informatica Academiejaar 2004 2005, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Binomiale
Sjaars Kampioenschap Programmeren Vrijdag 18 maart 2011
Sjaars Kampioenschap Programmeren Vrijdag 18 maart 211 A Laura Croft Laura woont sinds kort in New York. Morgen wil ze met een paar vriendinnen gaan winkelen bij de nieuwe five-finger discount shop, maar
Programmeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Functies Vorige week bekeken we functies: def bereken(a, x): return a * (x
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
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
Duration: 2 hrs; Total points: 100 No documents allowed. Use of electronic devices, such as calculators, smartphones, smartwatches is forbidden.
: Computationele Intelligentie (INFOBCI) Midterm Exam Duration: hrs; Total points: No documents allowed. Use of electronic devices, such as calculators, smartphones, smartwatches is forbidden. Question
Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013
Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag Januari 20 Opgave. Python Gegeven is de volgende (slechte) Python code:. def t(x): 2. def p(y):. return x*y
Derde college algoritmiek. 18 februari Toestand-actie-ruimte
Derde college algoritmiek 18 februari 2016 Toestand-actie-ruimte 1 BZboom: zoeken Na het bomenpracticum 60 20 80 10 40 70 100 1 15 30 75 5 25 35 2 BZboom: verwijderen 60 20 80 10 40 70 100 1 15 30 75 5
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,
Heuristieken en benaderingsalgoritmen. Algoritmiek
Heuristieken en benaderingsalgoritmen Wat te doen met `moeilijke optimaliseringsproblemen? Voor veel problemen, o.a. optimaliseringsproblemen is geen algoritme bekend dat het probleem voor alle inputs
Tree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen
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 traversal 15 november
Datastructuren en Algoritmen
Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
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
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
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
Datastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
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
Getallensystemen, verzamelingen en relaties
Hoofdstuk 1 Getallensystemen, verzamelingen en relaties 1.1 Getallensystemen 1.1.1 De natuurlijke getallen N = {0, 1, 2, 3,...} N 0 = {1, 2, 3,...} 1.1.2 De gehele getallen Z = {..., 4, 3, 2, 1, 0, 1,
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
Derde college algoritmiek. 23 februari Toestand-actie-ruimte
College 3 Derde college algoritmiek 23 februari 2012 Toestand-actie-ruimte 1 BZboom: verwijderen 60 20 80 10 40 70 100 1 15 30 75 5 25 35 100 verwijderen = 60 20 80 10 40 70 1 15 30 75 5 25 35 verwijderen
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke
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
Bij elkaar behorende instructies die een probleem oplossen of een taak uitvoeren.
Programma Structuur Diagram: Een gestructureerd programma is een programma dat we gemakkelijk kunnen begrijpen. Dit kunnen we bereiken door het programma op te bouwen uit drie programmacomponenten: Als
Syntax- (compile), runtime- en logische fouten Binaire operatoren
Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle
Automaten. Informatica, UvA. Yde Venema
Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................
Gegevens 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 :..............................................................
Tweede college algoritmiek. 12 februari Grafen en bomen
College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)
Score. Zelfevaluatie. Beoordeling door de leerkracht. Datum: Klas: Nr: Naam:
Datum: Klas: Nr: Naam: Score G1 /5 /5 Opgave 1 G2 / / Opgave 2 G3 /10 /10 Opgave 3 G4 /5 /5 Opgave 4 G5 /4 /4 Opgave 5 G6 /5 /5 G7 /5 /5 G8 /10 /10 G9 /10 /10 G10 /7 /7 G11 /10 /10 Totaal Zelfevaluatie
Grafen. 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
1.1 Rekenen met letters [1]
1.1 Rekenen met letters [1] Voorbeeld 1: Een kaars heeft een lengte van 30 centimeter. Per uur brand er 6 centimeter van de kaars op. Hieruit volgt de volgende woordformule: Lengte in cm = -6 aantal branduren
HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
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
Deeltentamen 1 sociale netwerk analyse
Deeltentamen 1 sociale netwerk analyse Voor dit tentamen krijg je maximaal 2 uur. Als je eerder klaar bent, ga dan stil weg en lever je antwoordenvel, kladpapier en tentamenvragen bij de examinator in.
De volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden.
. 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
Opgaven Kunstmatige intelligentie 4 mei 2012
Opgaven Kunstmatige intelligentie 4 mei 2012 Opgave 28. (opgave tentamen 12 augustus 2002) Stel dat we een handelsreizigersprobleem op willen lossen, en dat we dat met een genetisch algoritme willen doen.
1 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?
Practicumopgave 3: SAT-solver
Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel
Grafen en netwerken I Datastructuren en doorzoeken. Algoritmiek
Grafen en netwerken I Datastructuren en doorzoeken Algoritmiek 1 Inleiding 2 Netwerken Veel toepassingen, bijvoorbeeld: Sociale netwerken, electrische netwerken, wegennetwerken, communicatie netwerken,
Tentamen Kunstmatige Intelligentie (INFOB2KI)
Tentamen Kunstmatige Intelligentie (INFOB2KI) 30 januari 2014 10:30-12:30 Vooraf Mobiele telefoons dienen uitgeschakeld te zijn. Het tentamen bestaat uit 7 opgaven; in totaal kunnen er 100 punten behaald
Een voorbeeld. Computationele Intelligentie Zoeken met een tegenstander. Een voorbeeld vervolg. Een zoekprobleem met een tegenstander
Computationele Intelligentie Zoeken met een tegenstander Beschouw het boter-kaas-en-eieren spel: een probleemtoestand is een plaatsing van i kruisjes en j nulletjes in de vakjes van het raam, met i j en
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
Algoritmiek. 15 februari Grafen en bomen
Algoritmiek 15 februari 2019 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices) en E een verzameling van
