Logisch Programmeren/Prolog

Maat: px
Weergave met pagina beginnen:

Download "Logisch Programmeren/Prolog"

Transcriptie

1 Logisch Programmeren/Prolog Jori Mur Rijksuniversiteit Groningen

2 1 Overzicht Huishoudelijk Logisch programmeren Prolog als kennisbank Prolog syntax Matching Zoeken Praktisch: laden/listen/tracen

3 2 Logisch Programmeren/Prolog (5 ECTS) Docenten: Jori Mur (HC), Mendel van t Riet (Pract). Wanneer/waar: 2e helft 1e semester. Hoorcollege ma 9-11 H Practicum do 13-17, Unixzaal letteren (Hagen-account nodig). Boek: Learn Prolog Now! Blackburn, Bos & Striegnitz. Eisen: 5x/6 huiswerk inleveren, eindopdracht, tentamen. Homepage: mur/prolog0708

4 3 Prolog Prolog werd ontwikkeld begin jaren 70 in Marseille. De syntaxis en semantiek van Prolog is sterk gebaseerd op de predikatenlogica. P if Q and R Om P op te lossen, los Q en R op. Procedureel/imperatief: programma is lijst instructies. Uitvoeren is het volgen van de instructies, één voor één. Declaratief: programma is een beschrijving van een stand van zaken. In Prolog is het uitvoeren van een programma het proberen af te leiden van feiten uit deze beschrijving.

5 4 Kennisbank Simpel Prolog-programma bevat alleen eenvoudige feiten: taal(nederlands). taal(duits). Deze kennisbank laat zich bevragen in een interactive Prolog-sessie, m.b.v. queries. De query?- p. betekent: kan je bewijzen dat p het geval is??- taal(nederlands). yes

6 5?- taal(engels). no Dus: we kunnen uit de huidige kennisbank bewijzen dat Nederlands een taal is, maar niet dat Engels een taal is.

7 6 Kennisbank II Een regel p :- q zegt: p is het geval als ik q kan bewijzen. taal(nederlands):- germaanse_taal(nederlands). taal(duits):- germaanse_taal(duits). germaanse_taal(nederlands) :- west_germaanse_taal(nederlands). germaanse_taal(duits) :- west_germaanse_taal(duits). west_germaanse_taal(nederlands). west_germaanse_taal(duits).

8 7 Variabelen We kunnen een argument in een Prolog term vullen met een variabele. Bijv. in een query:?- taal(x). X = nederlands? Prolog geeft nu niet alleen aan of het afgeleid kan worden, maar ook wat de instantiaties van evt. variabelen zijn.

9 8 Variabelen II Bovendien kan je Prolog naar meer antwoorden laten zoeken. D.w.z. je vraagt: is er nog een manier om dit te bewijzen??- taal(x). X = nederlands? ; X = duits yes

10 9 Variabelen III In regels/feiten kan je natuurlijk ook variabelen hebben, die daarmee opgaan voor alles wat je maar voor die variabele in kan vullen. taal(x):- germaanse_taal(x). germaanse_taal(y) :- west_germaanse_taal(y). west_germaanse_taal(nederlands). west_germaanse_taal(duits).

11 10 Nog een voorbeeld Zowel queries als de rechterkant van regels kunnen uit meer dan een term bestaan. Prolog moet ze dan allemaal bewijzen: levende_taal(x) :- taal(x), heeft_sprekers(x). taal(latijn). taal(nederlands). heeft_sprekers(nederlands).

12 11 Volgorde... Zolang we kijken naar Prolog als Logisch Programmeren, maakt volgorde van clauses in de kennisbank, of van goals in een clause niet uit. Immers: clauses zijn manieren om iets te bewijzen/dingen die we kunnen bewijzen. Als we A kunnen bewijzen en B, dan kunnen we ook B en A bewijzen. Net zo: een lijst goals moeten allemaal bewezen worden. Bewijs A,B betekent dus bewijs A B. Dat is hetzelfde als B A

13 12 Prolog Syntax en meer atom: begint met een kleine letter en is een aaneengesloten reeks letters, cijfers en. Of staat tussen.... Of is een reeks speciale characters zoals + :- etc. complexe term: van de vorm functor(argument 1... argument n ), waarbij functor een atom is, en de argumenten zijn terms. term: een atom, een getal, een variabele of een complexe term. variabele: begint met een hoofdletter of een. De scope van een variabele is de clause: twee variabelen in dezelfde clause met dezelfde naam zijn dezelfde variabele, m.u.v..

14 13 clause: een term met als functor :-/2. Het eerste argument noemen we de head het tweede argument goal(s). De goals zijn de heads van andere clauses. Heads/Goals mogen geen clauses zijn. programma: een verzameling clauses.

15 14 Meer Prolog syntax Er zijn 3 verschillende clauses, die we allemaal al gezien hebben: feiten: clauses met head en zonder goal (om de head te bewijzen hoeven we niets meer te doen). regels: clauses met head en goal (om head te bewijzen moeten we goal bewijzen). en eigenlijk ook: queries: clauses zonder head, maar met goal (we moeten hoedanook de goals bewijzen).

16 15 Matching 1. als term1 en term2 constanten zijn matchen ze als en alleen als het dezelfde constanten zijn. 2. als een van de twee een variabele is, matchen de termen altijd. De variabele krijgt de waarde van de andere term. 3. complexe termen term1 en term2 matchen als en alleen als: (a) ze dezelfde functor en hetzelfde aantal argumenten hebben (b) het n-de argument uit term1 matched met het n-de uit term2. 4. anders is er geen sprake van matching.

17 16 Matching voorbeelden?- bla = blo.?- bla(blo) = X.?- bla(blo,x) = bla(x,y).?- X = Y.?- bla(x) = X.

18 17 Zoekbomen Prolog gebruikt matching om te iets proberen te bewijzen. Het executiemodel is grofweg als volgt:

19 18 Als we niks (meer) te bewijzen hebben, zeg yes. Als we p1..pn te bewijzen hebben, probeer dan p1 te matchen met het head van een clause in de kennisbank. Lukt? Pak de eerste clause waarbij dat lukt en vervang p1 door de goals. Begin bovenaan. Lukt niet? Ga naar het laatste punt waar je een goal met een head gematched hebt en waar er andere match-mogelijkheden waren. Lukt? Pak de eerste van deze mogelijkheden. Vervang het oude goal door de nieuwe. Begin bovenaan. Lukt niet? Zeg no.

20 19 Zoekbomen, voorbeeld levende_taal(x) :- taal(x), heeft_sprekers(x). taal(latijn). taal(nederlands). heeft_sprekers(nederlands).

21 20 Volgorde... Vanwege het executiemodel: depth-first, links-naar-rechts/boven-naar-onder maakt de volgorde wel uit. De oplossing wordt bijvoorbeeld eerder gevonden als je de goals in levende taal/1 omdraait: levende_taal(x) :- heeft_sprekers(x), taal(x). taal(latijn). taal(nederlands). heeft_sprekers(nederlands).

22 21 Praktisch In de directory programma.pl: sicstus laden: [programma]. listing: listing. paniekknop: Ctrl-C platte zoekboom : trace. notrace. halt.

Logica voor Informatica

Logica voor Informatica Logica voor Informatica 13 Prolog Wouter Swierstra University of Utrecht 1 Programmeren met Logica Propositielogica is niet geschikt voor programmeren er is nauwlijkst iets interessants uit te drukken.

Nadere informatie

Modelleren en Programmeren: Prolog

Modelleren en Programmeren: Prolog Modelleren en Programmeren: Prolog Marijn Schraagen 8 januari 2016 Introductie Basiselementen Rekenen Recursie Introductie Prolog vs. Java Java is procedureel en imperatief Code beschrijft stap voor stap

Nadere informatie

Logisch Programmeren/Prolog 2006-7

Logisch Programmeren/Prolog 2006-7 Logisch Programmeren/Prolog 2006-7 Jori Mur Center for Language and Cognition (CLCG) Rijksuniversiteit Groningen j.mur@rug.nl 1 Overzicht generatiegenoot/2 Lijsten 2 Huiswerkopgave % % truus % / \ % griet

Nadere informatie

Logica voor Informatica. Logica Toepassingen. PROLOG: Logische Programmeertaal. Mehdi Dastani

Logica voor Informatica. Logica Toepassingen. PROLOG: Logische Programmeertaal. Mehdi Dastani Logica voor Informatica Logica Toepassingen PROLOG: Logische Programmeertaal Mehdi Dastani m.m.dastani@uu.nl Intelligent Systems Utrecht University Programmeren met Logica Propositielogica is niet geschikt

Nadere informatie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie Kennisrepresentatie & Redeneren Piter Dykstra Instituut voor Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 30 april 2007 INLEIDING Kennisrepresentatie & Redeneren Week1: Introductie

Nadere informatie

Semantiek (2IT40) Bas Luttik. HG 7.14 tel.: Hoorcollege 8 (7 juni 2007)

Semantiek (2IT40) Bas Luttik.  HG 7.14 tel.: Hoorcollege 8 (7 juni 2007) Bas Luttik s.p.luttik@tue.nl http://www.win.tue.nl/~luttik HG 7.14 tel.: 040 247 5152 Hoorcollege 8 (7 juni 2007) Functionele talen Idee: een programma definieert reeks (wiskundige) functies. Programma

Nadere informatie

Logic for Computer Science

Logic for Computer Science Logic for Computer Science 07 Predikatenlogica Wouter Swierstra University of Utrecht 1 Vrijdag Aanstaande vrijdag is geen hoorcollege of werkcollege. De tussentoets is uitgesteld tot volgende week dinsdag.

Nadere informatie

Modelleren en Programmeren: Prolog

Modelleren en Programmeren: Prolog Modelleren en Programmeren: Prolog Marijn Schraagen 13 januari 2016 Herhaling basiselementen Lijsten Trace Ingebouwde lijstpredicaten Feiten en regels aanpassen Herhaling basiselementen Feiten en regels

Nadere informatie

Modelleren en Programmeren: Prolog

Modelleren en Programmeren: Prolog Modelleren en Programmeren: Prolog Marijn Schraagen 20 januari 2016 Herhaling Gebruik negatie, assert Uitbreidingen DCG s Niet-natuurlijke talen Tentamenvoorbereiding Practicum: ingebouwde predicaten In

Nadere informatie

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen Opmerking TI1300 Redeneren en Logica College 2: Bewijstechnieken Tomas Klos Algoritmiek Groep Voor alle duidelijkheid: Het is verre van triviaal om definities te leren hanteren, beweringen op te lossen,

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 november 2013 Organisatie Docenten Jeroen Bransen Michael Moortgat Docenten Jeroen Bransen Imperatief programmeren (Java) Tot de kerst (ongeveer) Michael Moortgat

Nadere informatie

(b) Formuleer het verband tussen f en U(P, f), en tussen f en L(P, f). Bewijs de eerste. (c) Geef de definitie van Riemann integreerbaarheid van f.

(b) Formuleer het verband tussen f en U(P, f), en tussen f en L(P, f). Bewijs de eerste. (c) Geef de definitie van Riemann integreerbaarheid van f. Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 2 juli 2015, 08:30 11:30 (12:30) Het gebruik van een rekenmachine, telefoon of tablet is niet toegestaan. U mag geen gebruik maken van het boek Analysis

Nadere informatie

Logica voor Informatica

Logica voor Informatica Logica voor Informatica 10 Predikatenlogica Wouter Swierstra University of Utrecht 1 Vorige keer Syntax van predikatenlogica Alfabet Termen Welgevormde formulas (wff) 2 Alfabet van de predikatenlogica

Nadere informatie

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University Logica voor Informatica predikatenlogica Syntax van predikatenlogica Mehdi Dastani m.m.dastani@uu.nl Intelligent Systems Utrecht University Redenering in Propositie Logica Als Jan zijn medicijnen neemt

Nadere informatie

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University Logica voor Informatica predikatenlogica Syntax van predikatenlogica Mehdi Dastani m.m.dastani@uu.nl Intelligent Systems Utrecht University Syllogistische redeneringen Syllogistische redeneringen zoals

Nadere informatie

Overzicht. Lineaire vergelijkingen. Onderwerpen & Planning. Doel. VU Numeriek Programmeren 2.5

Overzicht. Lineaire vergelijkingen. Onderwerpen & Planning. Doel. VU Numeriek Programmeren 2.5 VU Numeriek Programmeren 25 Charles Bos Vrije Universiteit Amsterdam Tinbergen Institute csbos@vunl, A40 Onderwerpen & Planning Practicum Literatuur Taal Terugblik & Huiswerk 2 april 202 /26 2/26 Onderwerpen

Nadere informatie

Natuurlijke-taalverwerking 1. Daniël de Kok

Natuurlijke-taalverwerking 1. Daniël de Kok Natuurlijke-taalverwerking 1 Daniël de Kok Natuurlijke-Taalverwerking Het college Natuurlijke-taalverwerking is een inleiding in de computationele taalkunde en maakt deel uit van het curriculum van Informatiekunde

Nadere informatie

Semantiek (2IT40) Jos Baeten. Formele Methoden. HG 7.19 tel.: Hoorcollege 1 (29 maart 2007)

Semantiek (2IT40) Jos Baeten. Formele Methoden.   HG 7.19 tel.: Hoorcollege 1 (29 maart 2007) Jos Formele Methoden josb@win.tue.nl http://www.win.tue.nl/~josb/ HG 7.19 tel.: 040 247 5155 Hoorcollege 1 (29 maart 2007) 2IT40 Organisatie Colstructie: docent: wanneer: donderdagen 3 e en 4 e uur waar:

Nadere informatie

Lineaire vergelijkingen

Lineaire vergelijkingen 1/24 VU Numeriek Programmeren 2.5 Charles Bos Vrije Universiteit Amsterdam c.s.bos@vu.nl, 1A40 8 april 2013 2/24 Overzicht Overzicht Onderwerpen & Planning Practicum Literatuur Taal Terugblik & Huiswerk

Nadere informatie

Geavanceerde Programmeertechnologie. Prof. dr. Kris Luyten Jo Vermeulen

Geavanceerde Programmeertechnologie. Prof. dr. Kris Luyten Jo Vermeulen Geavanceerde Programmeertechnologie Prof. dr. Kris Luyten Jo Vermeulen Wat mag je verwachten? Je wordt efficiënter als software ontwikkelaar Je kan je weg vinden in nieuwe programmeertalen van verschillende

Nadere informatie

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie Kennisrepresentatie & Redeneren Piter Dykstra Instituut voor Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 8 oktober 2007 GRAMMATICA S Kennisrepresentatie & Redeneren Week6: Grammatica

Nadere informatie

TW2020 Optimalisering

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

Voorbeeld. TI1300: Redeneren en Logica. Skolemnormaalvorm. Voorbeeld. Wat is de Skolemnormaalvorm van. College 16: Resolutie en Prolog.

Voorbeeld. TI1300: Redeneren en Logica. Skolemnormaalvorm. Voorbeeld. Wat is de Skolemnormaalvorm van. College 16: Resolutie en Prolog. Wat is de Skolemnormaalvorm van TI1300: Redeneren en Logica College 16: Resolutie en Prolog Tomas Klos Algoritmiek Groep x y u v w zm(x,y,u,v,w,z)? x y u v w zm(x,y,u,v,w,z) y u v w zm(a,y,u,v,w,z) y v

Nadere informatie

Ringen en Galoistheorie, 1e deel, 19 april 2012

Ringen en Galoistheorie, 1e deel, 19 april 2012 Ringen en Galoistheorie, 1e deel, 19 april 2012 Bij dit tentamen mag het dictaat niet gebruikt worden. Schrijf op elk vel je naam, studnr en naam practicumleider. Laat bij elke opgave zien hoe je aan je

Nadere informatie

Non satis scire WP 4 Pilot opzet peer feedback. Aanleiding

Non satis scire WP 4 Pilot opzet peer feedback. Aanleiding Non satis scire WP 4 Pilot opzet peer feedback Aanleiding De lerarenopleiding van de Rijksuniversiteit Groningen werkt mee aan het SURF-project Nonsatis scire. In het kader van dit project wordt een pilot

Nadere informatie

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam Arduino Cursus, Deel 2 Programmeren Simon Pauw, ZB45, Amsterdam Programmeren Geen zorgen als je niet alles begrijpt. Doel: Het snappen van bestaande code. Meeste kennis ook toepasbaar buiten de Arduino

Nadere informatie

Wanneer zijn veelvouden van proniks proniks?

Wanneer zijn veelvouden van proniks proniks? 1 Uitwerking puzzel 92-1 Wanneer zijn veelvouden van proniks proniks? Harm Bakker noemde het: pro-niks voor-niks De puzzel was voor een groot deel afkomstig van Frits Göbel. Een pronik is een getal dat

Nadere informatie

Wat? Betekenis 2: lambda-abstractie. Boek. Overzicht van dit college. Anna Chernilovskaya. 7 juni 2011

Wat? Betekenis 2: lambda-abstractie. Boek. Overzicht van dit college. Anna Chernilovskaya. 7 juni 2011 Wat? Betekenis 2: lambda-abstractie Anna Chernilovskaya 7 juni 2011 Vorige keer: Predicaatlogica Vertaling van zinnen Deze keer: Predicaatlogica uitbreiding Vertaling van zinnen in details Overzicht van

Nadere informatie

Caleidoscoop: Logica

Caleidoscoop: Logica Caleidoscoop: Logica Non impeditus ab ulla scientia K. P. Hart Faculteit EWI TU Delft Delft, 3 October, 2007 Overzicht 1 2 Negaties We gaan rekenen met proposities (beweringen). Bedenker: George Boole

Nadere informatie

Algoritmiek. 8 uur college, zelfwerkzaamheid. Doel. Hoe te realiseren

Algoritmiek. 8 uur college, zelfwerkzaamheid. Doel. Hoe te realiseren Algoritmiek Doel Gevoel en inzicht ontwikkelen voor het stapsgewijs, receptmatig oplossen van daartoe geëigende [biologische] probleemstellingen, en dat inzicht gebruiken in het vormgeven van een programmeerbare

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Modulewijzer InfPbs00DT

Modulewijzer InfPbs00DT Modulewijzer InfPbs00DT W. Oele 0 juli 008 Inhoudsopgave Inleiding 3 Waarom wiskunde? 3. Efficiëntie van computerprogramma s............... 3. 3D-engines en vectoranalyse................... 3.3 Bewijsvoering

Nadere informatie

2. Syntaxis en semantiek

2. Syntaxis en semantiek 2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus

Nadere informatie

Overzicht. Tekstmanipulatie. Doel van de cursus. Doel van de cursus. Tekstmanipulatie: tekst automatisch bewerken en onderzoeken. Waarom Linux?

Overzicht. Tekstmanipulatie. Doel van de cursus. Doel van de cursus. Tekstmanipulatie: tekst automatisch bewerken en onderzoeken. Waarom Linux? Overzicht Tekstmanipulatie Week 1 Gosse Bouma g.bouma@rug.nl Informatiekunde Rijksuniversiteit Groningen 2007/2008 Doel van de cursus Tekstmanipulatie: tekst automatisch bewerken en onderzoeken Bewerken

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

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

Nadere informatie

Syntax- (compile), runtime- en logische fouten Binaire operatoren

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

Nadere informatie

De keuzestructuur. Versie DD

De keuzestructuur. Versie DD De keuzestructuur Versie DD Tot nu toe Programma in rechte lijn = sequentie of opeenvolging Nieuw Vertakking in parcours = selectie of keuzestructuur Controlestructuren Opeenvolging = sequentie Keuze =

Nadere informatie

1. (a) Formuleer het Cauchy criterium voor de convergentie van een reeks

1. (a) Formuleer het Cauchy criterium voor de convergentie van een reeks Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 7 augustus 2015, 16:30 19:30 (20:30) Het gebruik van een rekenmachine, telefoon of tablet is niet toegestaan. U mag geen gebruik maken van het boek

Nadere informatie

Betekenis 2: lambda-abstractie

Betekenis 2: lambda-abstractie Betekenis 2: lambda-abstractie Anna Chernilovskaya 4 June 2009 Wat? Vorige keer: Predicaatlogica Vertaling van zinnen Deze keer: Predicaatlogica uitbreiding Vertaling van zinnen in details Overzicht van

Nadere informatie

Programmeren in Access met VBA

Programmeren in Access met VBA Programmeren in Access met VBA Kosten: 750,- excl. BTW per deelnemer Duur: 2 dagen Max Deelnemers: 8 U leert tijdens deze training alle concepten van de programmeertaal VBA (Visual Basic for Applications)

Nadere informatie

Small Basic Programmeren Text Console 2

Small Basic Programmeren Text Console 2 Oefening 1: Hoogste getal Je leest een reeks positieve gehele getallen in totdat je het getal 0 (nul) invoert. Daarna stopt de invoer en druk je een regel af met het hoogste getal uit de reeks. Voorbeeld:

Nadere informatie

Optimalisering en Complexiteit, College 1. Han Hoogeveen, Utrecht University

Optimalisering en Complexiteit, College 1. Han Hoogeveen, Utrecht University Optimalisering en Complexiteit, College 1 Han Hoogeveen, Utrecht University Gegevens Docent : Han Hoogeveen : j.a.hoogeveen@uu.nl Vak website : http://www.cs.uu.nl/docs/vakken/opt/ Student assistenten

Nadere informatie

Combinatoriek groep 2

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

Programmeren in Access 2016 met VBA

Programmeren in Access 2016 met VBA Programmeren in Access 2016 met VBA Kosten: 750,- excl. BTW per deelnemer Duur: 2 dagen Max Deelnemers: 8 Je leert tijdens deze training alle concepten van de programmeertaal VBA (Visual Basic for Applications)

Nadere informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

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

Combinatoriek groep 1

Combinatoriek groep 1 Combinatoriek groep 1 Recursie Trainingsdag 3, 2 april 2009 Getallenrijen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een directe formule geeft a n in

Nadere informatie

AXIOMATIEK VAN GETALLEN, vergezichten vanuit mijn ivoren toren

AXIOMATIEK VAN GETALLEN, vergezichten vanuit mijn ivoren toren AXIOMATIEK VAN GETALLEN, vergezichten vanuit mijn ivoren toren Bas Edixhoven Universiteit Leiden KNAW symposium Rekenen, 30 juni 2014 Wat volgt is slechts mijn eigen mening. Deze aantekeningen zal ik op

Nadere informatie

Combinatoriek groep 1 & 2: Recursie

Combinatoriek groep 1 & 2: Recursie Combinatoriek groep 1 & : Recursie Trainingsweek juni 008 Inleiding Bij een recursieve definitie van een rij wordt elke volgende term berekend uit de vorige. Een voorbeeld van zo n recursieve definitie

Nadere informatie

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven Mededelingen TI1300: Redeneren en Logica College 4: Waarheidstafels, Redeneringen, Syntaxis van PROP Tomas Klos Algoritmiek Groep Voor de Fibonacci getallen geldt f 0 = f 1 = 1 (niet 0) Practicum 1 Practicum

Nadere informatie

opgaven formele structuren deterministische eindige automaten

opgaven formele structuren deterministische eindige automaten opgaven formele structuren deterministische eindige automaten Opgave. De taal L over het alfabet {a, b} bestaat uit alle strings die beginnen met aa en eindigen met ab. Geef een reguliere expressie voor

Nadere informatie

Basis Actuariaat I. Tentamen 1 Juli 2009. - schrijf je antwoorden op het bijgeleverde tentamenpapier;

Basis Actuariaat I. Tentamen 1 Juli 2009. - schrijf je antwoorden op het bijgeleverde tentamenpapier; Basis Actuariaat I Tentamen 1 Juli 2009 Locatie: Tentamenzaal B Duur: 9 12 u Instructies: - schrijf je antwoorden op het bijgeleverde tentamenpapier; - vermeld op elke ingeleverde bladzijde je naam en

Nadere informatie

VERZAMELINGEN EN AFBEELDINGEN

VERZAMELINGEN EN AFBEELDINGEN I VERZAMELINGEN EN AFBEELDINGEN Het begrip verzameling kennen we uit het dagelijks leven: een bibliotheek bevat een verzameling van boeken, een museum een verzameling van kunstvoorwerpen. We kennen verzamelingen

Nadere informatie

College 4: Gegeneraliseerde Kwantoren

College 4: Gegeneraliseerde Kwantoren Semantiek CKI/CAI Utrecht, herfst 2008 College 4: Gegeneraliseerde Kwantoren Onderwerpen: NP denotaties als verzamelingen van verzamelingen, monotoniciteit bij kwantoren, determiner denotaties als relaties

Nadere informatie

PSD. Reeksen van logische procedures om problemen op te lossen in een eindig aantal stappen.

PSD. Reeksen van logische procedures om problemen op te lossen in een eindig aantal stappen. Inleiding Computers en andere digitale apparatuur is tegenwoordig niet meer weg te denken in de huidige samenleving. Zonder programma s zijn deze apparaten echter niets waard. Het zijn de programma s die

Nadere informatie

Hoorcollege 1 datavisualisatie 21-11-12

Hoorcollege 1 datavisualisatie 21-11-12 Hoorcollege 1 21-11-12 docenten! http://vimeo.com/31244010#at=10 hoorcollege 1 introductie HVA CMD V2 21 november 2012!! justus sturkenboom! j.p.sturkenboom@hva.nl! yuri westplat! y.westplat@hva.nl! vandaag

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

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

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

Nadere informatie

Morley s vijf-cirkelsstelling

Morley s vijf-cirkelsstelling Morley s vijf-cirkelsstelling Jan van de Craats Teken een ring van vijf cirkels (groen) met hun middelpunten op een gegeven cirkelomtrek (rood). Zorg ervoor dat elke groene cirkelomtrek zijn beide buren

Nadere informatie

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

(2) Bepaal de absolute waarde van (1 + i) 10 + ( x x 1 = 1. (4) Bepaal lim

(2) Bepaal de absolute waarde van (1 + i) 10 + ( x x 1 = 1. (4) Bepaal lim Tentamen Calculus I, 4 februari 009, 9:00 :00. Schrijf op elk in te leveren blad je naam, en op het eerste blad het aantal ingeleverde bladen. Alle (negen) opgaven tellen even zwaar. Het gebruik van boek(en),

Nadere informatie

IDP: Labo 2. Given: type int Octaal = {1;2;3;4;5;6;7;8} type int Octaal = {1..4;5;6..8}

IDP: Labo 2. Given: type int Octaal = {1;2;3;4;5;6;7;8} type int Octaal = {1..4;5;6..8} IDP: Labo 2 1 Integer types Een integer type in IDP is niets anders dan een enumaratietype waarop bepaalde arithmetische bewerkingen (+,,, /, %) gedefiniëerd zijn. Bijvoorbeeld, het volgende programma

Nadere informatie

Kortste Paden. Algoritmiek

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

Nadere informatie

Semantiek 1 college 10. Jan Koster

Semantiek 1 college 10. Jan Koster Semantiek 1 college 10 Jan Koster 1 Vandaag Vorige keer: conceptuele structuur en semantische decompositie Vandaag: inleiding in de formele semantiek Gebruikt notaties uit formele logica plus de daar gehanteerde

Nadere informatie

Vandaag. Uur 1: Differentiaalvergelijkingen Uur 2: Modellen

Vandaag. Uur 1: Differentiaalvergelijkingen Uur 2: Modellen Vandaag Uur 1: Differentiaalvergelijkingen Uur 2: Modellen Diferentiaalvergelijkingen Wiskundige beschrijving van dynamische processen Vergelijking voor y(t): grootheid die in de tijd varieert Voorbeelden:

Nadere informatie

Col egejaar 2014-2015 ITV Hogeschool voor Tolken en Vertalen September Col egedagen HC1 HC1 HC1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 HC1+C1

Col egejaar 2014-2015 ITV Hogeschool voor Tolken en Vertalen September Col egedagen HC1 HC1 HC1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 September vr za zo ma di wo do vr za zo ma di wo do vr za zo ma di wo do vr za zo ma di Collegedagen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 C = collegedatum aant.

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

Logica voor Informatica. Propositielogica. Bewijssystemen voor propositielogica. Mehdi Dastani

Logica voor Informatica. Propositielogica. Bewijssystemen voor propositielogica. Mehdi Dastani Logica voor Informatica Propositielogica Bewijssystemen voor propositielogica Mehdi Dastani mmdastani@uunl Intelligent Systems Utrecht University Deductie Tot nu toe voornamelijk semantisch naar logica

Nadere informatie

Rekenen aan wortels Werkblad =

Rekenen aan wortels Werkblad = Rekenen aan wortels Werkblad 546121 = Vooraf De vragen en opdrachten in dit werkblad die vooraf gegaan worden door, moeten schriftelijk worden beantwoord. Daarbij moet altijd duidelijk zijn hoe de antwoorden

Nadere informatie

Collegejaar 2015-2016 ITV Hogeschool voor Tolken en Vertalen September Collegedagen HC1 HC1 HC1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 HC1+C1

Collegejaar 2015-2016 ITV Hogeschool voor Tolken en Vertalen September Collegedagen HC1 HC1 HC1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 September za zo ma di wo do vr za zo ma di wo do vr za zo ma di wo do vr za zo ma di wo Collegedagen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 C = collegedatum aant.

Nadere informatie

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn.

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn. Eerste deeltentamen Gameprogrammeren Vrijdag 27 september 2013, 8.30-10.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Elke opgave levert 10 punten op. Je cijfer is het totaal aantal punten

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

Automaten. Informatica, UvA. Yde Venema

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

Nadere informatie

Collegejaar ITV Hogeschool voor Tolken en Vertalen September Collegedagen HC1 HC1 HC1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 HC1+C1

Collegejaar ITV Hogeschool voor Tolken en Vertalen September Collegedagen HC1 HC1 HC1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 HC1+C1 September ma di wo do vr za zo ma di wo do vr za zo ma di wo do vr za zo ma di wo do vr Collegedagen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 C = collegedatum aant.

Nadere informatie

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin: Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de

Nadere informatie

Lineaire dv van orde 2 met constante coefficienten

Lineaire dv van orde 2 met constante coefficienten Lineaire dv van orde 2 met constante coefficienten Homogene vergelijkingen We bekijken eerst homogene vergelijkingen van orde twee met constante coefficienten, d.w.z. dv s van de vorm a 0 y + a 1 y + a

Nadere informatie

III.2 De ordening op R en ongelijkheden

III.2 De ordening op R en ongelijkheden III.2 De ordening op R en ongelijkheden In de vorige paragraaf hebben we axioma s gegeven voor de optelling en vermenigvuldiging in R, maar om R vast te leggen moeten we ook ongelijkheden in R beschouwen.

Nadere informatie

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

Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten. Versie 16 januari 2017 Sorteren unplugged Sorteren gebeurt heel veel. De namen van alle leerlingen in de klas staan vaak op alfabetische volgorde. De wedstrijden van een volleybal team staan op volgorde

Nadere informatie

STUDIEWIJZER WEB PENTESTING BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 2 ACADEMIEJAAR LECTOR PARCIFAL AERTSSEN

STUDIEWIJZER WEB PENTESTING BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 2 ACADEMIEJAAR LECTOR PARCIFAL AERTSSEN Web Pentesting BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 2 ACADEMIEJAAR 2016-2017 LECTOR PARCIFAL AERTSSEN STUDIEWIJZER WEB PENTESTING Onderdeel van de opleiding Bachelor in de Toegepaste Informatica

Nadere informatie

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................

Nadere informatie

Afdeling Wiskunde. Onderwijs. Onderzoek

Afdeling Wiskunde. Onderwijs. Onderzoek Wiskunde nu Afdeling Wiskunde Onderwijs Onderzoek Afdeling Wiskunde In recente jaren aanzienlijk uitgebreid en verjongd Nu ± 25 vaste medewerkers en postdocs, ook aanzienlijk aantal deeltijd hoogleraren

Nadere informatie

College Logica voor CKI

College Logica voor CKI College Logica voor CKI Albert Visser Department of Philosophy, Faculty Humanities, Utrecht University 15 oktober, 2012 1 Overview 2 Overview 2 Overview 2 Overview 3 Syntaxis De eerste ronde: Constanten:

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

oefening JavaScript - antwoorden

oefening JavaScript - antwoorden oefening JavaScript - antwoorden De antwoorden op deze opgaven zijn meestal wat aan de brede kant voor een Word document. Het is daarom handig om ze in Notepad++ te kopiëren en ze dan te bekijken. opgave

Nadere informatie

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van

Nadere informatie

Hoorcollege I: PGA en de talen PGLA en PGLB Alban Ponse

Hoorcollege I: PGA en de talen PGLA en PGLB Alban Ponse Hoorcollege I: PGA en de talen PGLA en PGLB Alban Ponse CSP Faculteit NWI Instituut voor Informatica Universiteit van Amsterdam http://www.science.uva.nl/~alban/ 26 september 2003, 1 Wie zijn wij? Inge

Nadere informatie

Logisch en Functioneel Programmeren voor Wiskunde D

Logisch en Functioneel Programmeren voor Wiskunde D Logisch en Functioneel Programmeren voor Wiskunde D Wouter Swierstra Doaitse Swierstra Jurriën Stutterheim Technical Report UU-CS-2011-033 Sept 2011 Department of Information and Computing Sciences Utrecht

Nadere informatie

Tentamen WISN101 Wiskundige Technieken 1 Ma 7 nov :30 16:30

Tentamen WISN101 Wiskundige Technieken 1 Ma 7 nov :30 16:30 Tentamen WISN11 Wiskundige Technieken 1 Ma 7 nov 16 13:3 16:3 Normering voor 4 pt vragen (andere vragen naar rato): 4pt Goed begrepen en goed uitgevoerd met voldoende toelichting, eventueel enkele onbelangrijke

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 1 Relationele Databases 2002/2003 Hoorcollege 3 24 april 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 Plan voor Vandaag Praktische dingen 2.1, 2.3, 2.6 (alleen voor 2.2 en 2.3), 2.9, 2.10, 2.11,

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

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

2009/2010. Rooster Medische Informatiekunde. Derde Jaar. Deel 1: module 13, 14, 15

2009/2010. Rooster Medische Informatiekunde. Derde Jaar. Deel 1: module 13, 14, 15 2009/2010 Rooster Medische Informatiekunde Derde Jaar Deel 1: module 13, 14, 15 X Academisch Medisch Centrum X Onderwijs & Studentenzaken X Universiteit van Amsterdam Definitief Jaarrooster Bachelor Medische

Nadere informatie

DE EINSTEINCODE Luc Gheysens

DE EINSTEINCODE Luc Gheysens DE EINSTEINCODE Luc Gheysens Foto : Art Sasse, 14 maart 1951 Tijdlijn Albert Einstein : geboren in Ulm op14 maart 1879 en overleden in Princeton op 18 april 1955. Einstein verbleef van 28 maart 1933 tot

Nadere informatie

Wiskundige functies. x is het argument of de (onafhankelijke) variabele

Wiskundige functies. x is het argument of de (onafhankelijke) variabele Wiskundige functies Een (wiskundige) functie voegt aan ieder getal een ander getal toe. Bekijk bijv. de functie f() = 2 1 Aan het getal 2, d.w.z. = 2, wordt het getal 3 toegevoegd, want f(2) = 2 2 1 =

Nadere informatie

Taaltechnologie. Januari/februari Inhoud

Taaltechnologie. Januari/februari Inhoud Taaltechnologie Januari/februari 2002 1 Finite state............................................... 4 1.1 Deterministic finite state automata.................... 4 1.2 Non-deterministic finite state automata................

Nadere informatie

Discrete Wiskunde, College 5. Han Hoogeveen, Utrecht University

Discrete Wiskunde, College 5. Han Hoogeveen, Utrecht University Discrete Wiskunde, College 5 Han Hoogeveen, Utrecht University Voorwaarde gebruik gewone genererende functie Algemene vorm genererende functie voor object q + 1: G q+1 (x) = a h x h h=0 Wanneer je nu wilt

Nadere informatie

Trampoline Draak 1a. Stap 1 de voorbereiding. fantasie, de dragon. Kies ook een nieuwe achtergrond uit de folder buiten, atom playground

Trampoline Draak 1a. Stap 1 de voorbereiding. fantasie, de dragon. Kies ook een nieuwe achtergrond uit de folder buiten, atom playground Trampoline Draak 1a Stap 1 de voorbereiding We hebben de kat niet nodig dus klik op het schaartje bovenaan en klik daarna op de kat. We gaan een sprite van de trampoline toevoegen. Klik op nieuwe sprite

Nadere informatie

Matlab-Introductie (les 1)

Matlab-Introductie (les 1) Matlab-Introductie (les 1) Wat is Matlab? MATLAB staat voor MATrix LABoratory. Opstarten van Matlab Dit hangt af van het onderligge systeem (Windows, Linux,...), Maar kortweg geldt bijna altijd: ga met

Nadere informatie

Bijlage bacheloropleiding Informatica

Bijlage bacheloropleiding Informatica Bijlage bacheloropleiding Informatica 2011-2012 Bijlage I Eindtermen van de bacheloropleiding (artikel 1.3) De bachelor Informatica: a. kennis en inzicht a1. heeft kennis van en inzicht in de belangrijkste

Nadere informatie