Kunstmatige intelligentie
Het rooster voor het voorjaar van 2021 is bekend, zie de websites. De activiteiten beginnen in de week van 1 februari 2021.
Het plan is als volgt. Iedere week worden er een aantal, doorgaans drie à vier, korte video's gedeeld, ieder van circa 20 minuten. Deze kan iedereen op de eigen tijd bekijken, en zijn tijdig beschikbaar. In de roosters staan hier overigens tijdslots voor gereserveerd, en dat is verstandig, maar nogmaals: kijk op je eigen tijd, en in ieder geval wel regelmatig / geregeld! Er zijn speciale video's bij voor de vier programmeeropgaven. (En de video's van vorig jaar zijn er ook nog.)
Verder is iedere week (niet op 22 maart en 5 april; laatste keer: 17 mei) op maandagochtend, van 8:30 tot 10:15 uur werkcollege in het Snellius en het Gorlaeus (zaal 3). Hier wordt —enigszins afhankelijk van het aantal aanwezigen— een korte samenvatting van de die week behandelde stof gegeven, en kan er onder begeleiding worden gewerkt aan sommen en op de eigen laptop aan de programmeeropgaven. De eerste keer is op maandag 1 februari 2021.
Gelet op de huidige corona-situatie worden ook deze sessies online verzorgd; we beginnen om 9:00 uur. Locatie en paswoord via Brightspace.
Dan is er een wekelijks (niet op 25 maart en 13 mei; laatste keer: 20 mei) online vragenuur, via een Kaltura live room, op donderdagmiddag van 13:00 tot 14:00 uur — of later, als er veel vragen zijn. De vragen kunnen gaan over het programmeerwerk of over de behandelde stof. Zie Brightspace.
Tot slot: er kunnen ook vragen worden gesteld via Brightspace=>Course Tools=>Discussions. We gebruiken Brightspace ook voor andere communicatie, meld je daar dus tijdig aan! Naam van het vak daar: 4032KUIN3Y_2021_WN .
Dit is de website van het tweedejaars college Kunstmatige intelligentie; voor de bacheloropleiding met dezelfde naam: zie elders.
Svp aanmelden via Brightspace. En voor het (her)tentamen ook via uSis.
Het vak Kunstmatige intelligentie,
ook wel AI (van Artificial Intelligence)
genoemd, wordt verzorgd door
dr. W.A. (Walter) Kosters,
geassisteerd door Robert Arntzenius, Xander Lenstra en Max Peeperkorn,
en wordt in het voorjaar van 2021 gegeven.
(Eerstvolgende keer daarna: voorjaar 2022.)
Note that the course is in DUTCH.
Algemene informatie | Materiaal | Archief | Practicum | Colleges (sheets, video's)
Tijdens de werkcolleges wordt er gewerkt aan
kleine opgaven, aan
oude tentamenopgaven
en aan de
programmeeropgaven
— en de bijbehorende verslagen.
Er zijn vier sommen-werkcolleges:
- Opgaven 1 (in PDF), in het bijzonder: 2, 3, 7, 8, 14
- Opgaven 1 (vervolg): 11, 16, 17
- Opgaven 2 (in PDF): 19, 23, 27, 29, 10
- Opgaven 2 (vervolg): 30, 31, 33, 13, 14
Er zijn hiervan uitwerkingen beschikbaar,
en ook een aantal video's met bijbehorende scans:
Uitwerking Opgave 11 —
Uitwerking Opgave 16 —
Uitwerking Opgave 17 —
scans 11/16/17
Uitwerking Opgave 27 —
Uitwerking Opgave 10 —
scans 27/10
Uitwerking Opgave 31 —
Uitwerking Opgave 33 —
scans 31/33
Geef opmerkingen svp door.
Het vak levert 6 (zes) ECTS punten op.
Naast het voldoende maken van het tentamen
is het hiervoor ook nodig het
practicum
voldoende te hebben.
Het eindcijfer wordt grotendeels bepaald door het tentamencijfer,
enigszins afgerond in de richting van het gemiddelde practicumresultaat (indien dat het eindcijfer verhoogt),
mits beide voldoende zijn
(om precies te zijn: als het gemiddelde practicumcijfer G groter is dan het tentamencijfer T,
wordt het eindcijfer hun gemiddelde, (G+T)/2, waarbij dit maximaal 1 punt meer mag worden dan T;
anders wordt het eindcijfer gelijk aan het tentamencijfer).
Het eindcijfer wordt afgerond op het dichtstbijzijnde getal uit de verzameling
{1,2,3,4,5, 6,6.5,7,7.5,8,8.5,9,9.5,10}.
Ten einde het practicum voldoende
te maken, moeten de vier opgaven alle met minstens een 6
of een "OK" beoordeeld zijn (die laatste telt voor een zes voor
de berekening van het gemiddelde G); er mag één 5 bij zijn. Als een opgave niet aan de eisen voldoet,
moet deze zo snel mogelijk worden aangevuld; lever in dat geval ook
de nagekeken eerdere versie van het verslag weer in.
Het college is in eerste instantie bedoeld voor tweedejaars
studenten Informatica, Informatica & Economie en Bioinformatica,
maar is ook interessant voor andere
belangstellenden; voorkennis van de programmeertaal
C++
is sterk aan te raden.
De tentamendata in 2021 zijn:
- vrijdag 11 juni 2021, 9:00-12:00 uur; on campus
- hertentamen: maandag 5 juli 2021, 9:00 -12:00 uur; on campus
Alle cijfers, ook die van de programmeeropgaven,
worden beschikbaar gesteld via
Brightspace.
Gebruik wordt gemaakt van het boek
Artificial intelligence, A modern approach
van Stuart J. Russell en Peter Norvig, third edition, Prentice Hall, 2010.
Het kost circa 50 euro.
De vierde druk is aangekondigd. Gedateerd 2021, maar nu al te koop!?
In het bijzonder worden uit dit boek
de volgende hoofdstukken behandeld
(voor de hoofdstukken uit de vorige druk,
zie de geschiedenis):
1 (Introduction; lezen),
2 (Intelligent agents; lezen),
3 (Solving problems by searching; uitgebreid),
4 (Beyond classical search; uitgebreid),
5 (Adversarial search; uitgebreid),
6 (Constraint satisfaction problems; uitgebreid),
7 (Logical agents; lezen, met name Wumpus),
8 (First-order logic; lezen, met name Wumpus),
14 (Probabilistic reasoning; uitgebreid; lees ook 13, Quantifying uncertainty),
18 (Learning from examples; uitgebreid, met name neurale netwerken en beslissingsbomen),
19.1 (Knowledge in learning; lezen),
21.1,2,3 (Reinforcement learning, geillustreerd met 17.1,2;
uitgebreid, aangevuld met 4.1.4 Genetische algoritmen)
en
25 (Robotics; lezen, + concreet robot-programma),
grotendeels in deze volgorde.
Lees ook eens Hoofdstuk 26 (Philosophical foundations).
En als MOOC
is het vak ook beschikbaar!
Daarnaast werd in een redelijk ver verleden nog speciaal aandacht besteed aan het onderwerp
Data mining, maar aangezien er nu een apart
derdejaars vak is met die titel ...
Overige literatuur (niet kopen — tenzij je erg veel geld hebt):
-
Ethem Alpaydin,
Introduction to machine learning,
The MIT Press, Second edition, 2010.
-
Christopher M. Bishop,
Pattern recognition and machine learning,
Springer, 2006.
- George F. Luger,
Artificial intelligence, Structures and strategies for complex problem solving,
Addison-Wesley, Sixth edition, 2009.
- Tom M. Mitchell,
Machine learning,
McGraw-Hill, 1997.
- Mehryar Mohri, Afshin Rostamizadeh and Ameet Talwalkar,
Foundations of machine learning,
The MIT Press, 2012.
- Michael Negnevitsky,
Artificial intelligence, A guide to intelligent systems, Addison-Wesley, Third edition, 2011.
- Georgios N. Yannakakis and Julian Togelius,
Artificial intelligence and games,
Springer, 2019.
Een stel oude tentamens:
Er is meer informatie te vinden over het college gedurende
de afgelopen jaren.
Voor iedere practicumopgave
(met maximaal twee personen te maken) moeten digitaal worden ingeleverd:
een minstens drie pagina's
(laten we zeggen vijf pagina's, afgezien van de Appendix)
tellend verslag in
LaTeX
(dit is een GROTE tekst in PDF;
zie ook LaTeX in één pagina;
of een heel korte zichzelf uitleggende
voorbeeldfile)
en een werkend programma, ook opgenomen in de Appendix
van het verslag;
stuur geen executables.
Het verslag moet een duidelijke opbouw hebben, bijvoorbeeld:
- Inleiding ("dit is de tweede opdracht van het college ...", met verwijzing naar de website)
- Uitleg probleem (plaatje; "de spelregels zijn ...", gebruikte definities)
- Relevant werk ("stelling zegt dat ...")
- Aanpak (plaatje; "een drielaags neuraal netwerk ...")
- Implementatie ("een 2-dimensionaal array"; "C++"; kort!)
- Experimenten (tabel, grafiek)
- Conclusie en verder onderzoek ("ging fout als de testopstelling niet verlicht was")
- Referenties (genummerd; naar alle wordt verwezen; "handleiding Java-robots ...", "Russell en Norvig ...", "sheets college ...")
Een fatsoenlijke referentie ziet er uit als:
[1] S.J. Russell en P. Norvig, Artificial intelligence, A modern approach,
third edition, Prentice Hall, 2010
- Appendix: het programma;
gebruik package listings, zie onder.
In geval van aangepaste code: geef alleen de wijzigingen.
Er is een klein skelet voor de verslagen:
verslag.tex,
dat deze PDF-versie op kan leveren.
Zie ook
diverse opmerkingen.
De deadlines zijn strikt, overleg eventueel
met de docent(en).
Voor alle opdrachten geldt dat ze nog voorlopig zijn, aanvullingen
tijdens het semester zullen zeker voorkomen.
Eigen initiatief wordt —na overleg— op prijs gesteld.
De opgaven worden per stuk als volgt beoordeeld:
er wordt gekeken naar het verslag en het
programma (met name werking en leesbaarheid);
originaliteit beinvloedt de eind-afronding.
Het practicum bestaat zoals gezegd uit vier opgaven:
(Let op: dit zijn (deels) nog de opgaven van vorig jaar (voorjaar 2020))
-
Monte Carlo & Tetris; deadline dinsdag 23 februari 2021, 17:00 uur
Zie hier.
-
Agenten & Robotica; deadline dinsdag 23 maart 2021, 17:00 uur
Zie te zijner tijd hier.
-
Spellen — α-β en ...; deadline dinsdag 27 april 2021, 17:00 uur
Zie te zijner tijd hier.
-
Neurale netwerken; deadline dinsdag 18 mei 2021, 17:00 uur
Zie te zijner tijd hier.
Tijdens de colleges wordt het volgende behandeld.
Het programma is uiteraard voorlopig,
zelfs als het semester voorbij is — op deze webpagina is steeds
de meest actuele versie te vinden.
En voor de liefhebbers:
alle 368 sheets (in PDF; versie 2020).
Geen tentamenstof: sheets over Lego en RoboCom;
sheets over MDP's.
(In de 2020-versie met 368 sheets gaat het om sheets 100-108,
248-254, 281, 313-318 en 359;
vaak aangegeven met Ξ.)
Er wordt op het
tentamen vanzelfsprekend nog wel eens iets gevraagd wat niet (letterlijk)
op de sheets staat ...
Let op: dit zijn (deels) nog de colleges van vorig jaar (voorjaar 2020).
- maandag 1 februari 2021
Algemene introductie; het
practicum, met name de eerste opgave.
Hoofdstuk 1
(Introductie) in vogelvlucht, p. 1-30 ([RN], derde druk); zie de sheets:
Introductie
video's:
- TODO 2021
- video live college 6 februari 2020
================= vanaf hier versie voorjaar 2020 ==================
- donderdag 13 februari 2020
Hoofdstuk 2 (Intelligente agenten), p. 34-59; zie de sheets:
Intelligente agenten
—
video live college 13 februari 2020
En een paar sheets over Combinatorial Game Theory
(dat heeft met Clobber te maken ... en is geen tentamenstof).
- donderdag 20 februari 2020
Hoofdstukken 7 (Logisch redenerende agenten) en
8 (Eerste orde logica), p. 234-252, 265-267 en 285-306; zie de sheets:
Logische agenten
—
video live college 20 februari 2020
- donderdag 27 februari 2020
Algemene informatie over de tweede
practicum-opgave.
Hoofdstuk 3 (Probleemoplossen en zoeken), p. 64-109; zie de sheets:
Probleemoplossen en zoeken
—
video live college 27 februari 2020
- donderdag 5 maart 2020
(vervolg vorig college) Hoofdstuk 4 (Gericht zoeken), p. 120-130; zie de sheets:
Gericht zoeken
—
video live college 5 maart 2020
Op donderdagmiddag 5 maart 2020 is in zaal 302 een werkcollege met sommen, zie
Opgaven 1 (van 2): 2, 3, 7, 8, 14.
- donderdag 12 maart 2020
Hoofdstuk 5 (Spel(l)en), p. 161-190; zie de sheets:
Spel(l)en
—
video live college 12 maart 2020
leuk leesvoer |
H. Jaap van den Herik, Jos W.H.M. Uiterwijk en Jack van Rijswijck,
Games solved: Now and in the future
Artificial Intelligence 134 (2002) 277-311
doi:10.1016/S0004-3702(01)00152-7; ophalen vanaf een PC binnen de universiteit
|
Jonathan Schaeffer, Neil Burch, Yngvi Björnsson, Akihiro Kishimoto, Martin Müller, Robert Lake, Paul Lu en Steve Sutphen,
Checkers is solved
Science 317 (2007) 1518-1522
doi:10.1126/science.1144079; ophalen vanaf een PC binnen de universiteit
|
David Silver et al., A general reinforcement learning algorithm that masters chess, shogi and Go through self-play
Science 362 (2018) 1140-1144
doi:10.1126/science.aar6404; ophalen vanaf een PC binnen de universiteit
|
================= vanaf hier worden college en werkcollege online verzorgd ==================
- donderdag 19 maart 2020
Spel(l)en — vervolg.
video's: Spelbomen (sheets 15/20) —
alpha-beta-algoritme (sheets 21/27) —
Kansen (sheets 28/34) —
Othello: derde programmeeropgave
Algemene informatie over de derde
practicum-opgave, zie bovenstaande video.
- donderdag 26 maart 2020
Hoofdstuk 6 (Constraint Satisfaction Problemen), p. 202-223;
zie de sheets:
CSP's
video's: Othello: tips —
Introductie CSP's (sheets 1/10) —
Backtracking (sheets 11/18) —
Geavanceerde ideeen (sheets 19/28)
Vanaf donderdag 26 maart 2020 is er iedere donderdagmiddag van 14:00 tot 15:00 uur een Live Room, bedoeld voor vragen over de derde programmeeropgave. Voor het webadres, zie BlackBoard.
- donderdag 2 april 2020
Robotica.
Bekijk Hoofdstuk 25 (Robotica), p. 971-1019;
zie ook de sheets:
Robotica
video's: Opmerkingen over nagekeken Opgave 2 —
Robotica: algemeen (sheets 1/10) —
Robotica: voorbeelden (sheets 11/20) —
Uitwerking Opgave 11 —
Uitwerking Opgave 16 —
Uitwerking Opgave 17
Maak de volgende sommen:
Opgaven 1 (van 2): 11, 16, 17.
(Zie de video's met uitwerkingen, met scans 11/16/17.)
leuk leesvoer |
Rodney A. Brooks, Intelligence without representation
Artificial Intelligence 47 (1991) 139-159
doi:10.1016/0004-3702(91)90053-M; ophalen vanaf een PC binnen de universiteit
|
- donderdag 9 april 2020
Hoofdstuk 18.7 (Neurale netwerken), p. 727-737;
zie de sheets:
Neurale netwerken
video's: Introductie Neurale netwerken (sheets 1/11) —
Perceptrons (sheets 12/21) —
Meerlaags netwerken (sheets 22/32)
leuk leesvoer |
William S. Noble, What is a support vector machine?
Nature Biotechnology 24 (2006) 1565-1567
doi:10.1038/nbt1206-1565; ophalen vanaf een PC binnen de universiteit
|
Yann LeCun, Yoshua Bengio en Geoffrey Hinton, Deep learning
Nature 521 (2015) 436-444
doi:10.1038/nature14539; ophalen vanaf een PC binnen de universiteit
|
- donderdag 16 april 2020
Hoofdstuk 18 (Leren van/uit observaties),
met name ID3, en Hoofdstuk 19.1, kort;
Hoofdstuk 21.1,2,3 (Reinforcement leren, geillustreerd met 17.1,2 (deels)), p. 693-758, 768-776 (en 830-845);
zie de sheets:
Leren
video's: Introductie Leren —
Leren: ID3 —
Geavanceerd leren —
Uitwerking Opgave 27 —
Uitwerking Opgave 10
Maak de volgende sommen:
Opgaven 2 (van 2): 19, 23, 27, 29, 10.
(Zie de video's met uitwerkingen, met scans 27/10.)
- donderdag 23 april 2020
Hoofdstuk 4.3 (Genetische algoritmen), p. 126-129;
zie de sheets:
Genetische algoritmen
video's: Genetische algoritmen (sheets 1/12) —
Voorbeelden van Genetische algoritmen (sheets 13/25) —
Neurale netwerken: vierde programmeeropgave
Algemene informatie over de vierde
practicum-opgave, zie bovenstaande video.
- donderdag 30 april 2020
Hoofdstuk 13 (Onzekerheid; kort) en
Hoofdstuk 14 (Bayesiaanse netwerken), p. 480-499 en 510-529;
zie de sheets:
Bayesiaanse netwerken
video's:
Introductie Bayesiaanse netwerken —
Details Bayesiaanse netwerken —
Inferentie in Bayesiaanse netwerken
- donderdagen 7 en 14 mei 2020
Van alles, waaronder een
oud tentamen (met
antwoorden).
video's:
Samenvatting —
Uitwerking Opgave 1 van 2.6.2014 —
Uitwerking Opgave 2 van 2.6.2014 —
Uitwerking Opgave 3 van 2.6.2014 —
Uitwerking Opgave 4 van 2.6.2014 —
scans tentamen 2.6.2014
Maak de volgende sommen:
Opgaven 2 (van 2): 30, 31, 33, 13, 14.
video's:
Uitwerking Opgave 31 —
Uitwerking Opgave 33 —
scans 31/33
Genoemde hoofdstukken komen steeds uit het boek van Russell en Norvig,
derde druk — met dank voor een flink gedeelte van de sheets en veel plaatjes.
21 januari 2021 — http://www.liacs.leidenuniv.nl/~kosterswa/AI/index.html