Kunstmatige intelligentie
Het vak Kunstmatige intelligentie,
ook wel AI (van Artificial Intelligence)
genoemd, wordt verzorgd door
dr. W.A. (Walter) Kosters
geassisteerd door
drs. Marijn Schraagen,
Frank Takes, MSc
and
Ugo Vespier, MSc,
en wordt in het voorjaar van 2012 gegeven.
(Eerstvolgende keer daarna: voorjaar 2013.)
Note that the course is in DUTCH.
Algemene informatie | Materiaal | Archief | Practicum | Colleges
Collegetijden:
dinsdagen, van 13.45 tot 15.30 uur,
in zaal 412 van het Snellius,
het gebouw van Wiskunde en Informatica, Niels Bohrweg 1, Leiden.
Data: dinsdagen 7 februari tot en met 15 mei 2012 (niet op 6 maart: studentenseminarium).
En iedere week is er een werkcollege gepland:
maandagen 13 februari tot en met 14 mei 2012
(niet op 9 en 30 april),
13.45-15.30 uur; in zaal 174 — vaak gaan we dan naar computerzaal 302.
Het college van 13 maart en het werkcollege van 12 maart zijn omgewisseld.
Het college van 1 mei wordt een werkcollege.
Het college wordt ook in Den Haag gegeven, voor de opleiding Informatica & Economie.
Collegetijden:
woensdagen, van 11.15 tot 13.00 uur,
in zaal Plein van Den Haag CS, dertiende etage.
Let op: eerste keer (woensdag 29 februari) in zaal Archipel.
Data: woensdagen 29 februari (ja, 2012 is een schrikkeljaar)
tot en met 23 mei 2012.
En iedere week is er een werkcollege gepland, aansluitend op de colleges
(OK, tussendoor pauze):
woensdagen 29 februari
tot en met 23 mei 2012,
13.45-15.30 uur; in zaal Plein/Paleistuin.
Tijdens de werkcolleges wordt er gewerkt aan
kleine opgaven, aan
oude tentamenopgaven
en ook aan de
programmeeropgaven
— en de bijbehorende verslagen.
Onderwerpen voor de werkcolleges:
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. Ten einde het practicum voldoende
te maken, moeten de vier opgaven alle met minstens een 6
of een "OK" beoordeeld 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, maar is ook interessant voor andere
belangstellenden; voorkennis van de programmeertaal
C++
is sterk aan te raden.
De tentamendata in 2012 zijn:
- woensdag 13 juni 2012, 14.00 - 17.00 uur; zowel in Leiden als in Den Haag
vragenuur (Leiden): maandag 11 juni 2012, 14.00 uur
- hertentamen (Leiden): vrijdag 10 augustus 2012, 14.00 - 17.00 uur
Alle cijfers (college voorjaar 2012) zijn te zijner tijd
hier
te vinden.
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 in de winkel circa 85 euro; ook met
slappe kaft verkrijgbaar: circa 65 euro.
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).
De auteurs geven het college ook zelf: in
Berkeley
en
Stanford.
Daarnaast werd in voorgaande jaren 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.
- Rob Callan, Artificial intelligence,
Palgrave Macmillan, 2003.
- George F. Luger,
Artificial intelligence, Structures and strategies for complex problem solving, Sixth edition,
Addison-Wesley, 2009.
- Tom M. Mitchell,
Machine learning,
McGraw-Hill, 1997.
- Michael Negnevitsky,
Artificial intelligence, A guide to intelligent systems, Addison-Wesley, Third edition, 2011.
Een stel oude tentamens:
Ook handig: bekijk de Compilatie 2001-2007 (in PDF, 18 pagina's);
enkele antwoorden (in PDF).
Deze opgaven zijn ook verwerkt in de opgaven voor de werkcolleges.
Er is meer informatie te vinden over het college gedurende
de afgelopen jaren.
Let op: vanaf voorjaar 2005 hoort het onderwerp
Data mining niet meer bij de tentamenstof.
Voor iedere practicumopgave
(met maximaal twee personen te maken) moeten 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 met
twee sheets
voor een zeer korte inleiding, en
daar
voor een langere;
of een heel korte zichzelf uitleggende
voorbeeldfile;
of een leuke, uitgebreide, Vlaamse
handleiding),
en een werkend programma (digitaal (mailen aan de docent)
en uitgeprint in de Appendix
van het verslag;
stuur geen LaTeX/PS/PDF-files en ook 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 dubbel array"; "C++"; kort!)
- Experimenten (tabel, grafiek)
- Conclusie ("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.
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.
De cijfers van het huidige jaar zijn
hier
te vinden. Oude cijfers: bij de docent.
Het practicum bestaat zoals gezegd uit vier opgaven:
- Tetris; deadline dinsdag 28 februari 2012;
Den Haag: woensdag 21 maart 2012
Schrijf in C++ een Tetris-programma.
Zie verder hier.
-
Multi-agent systems; deadline dinsdag 27 maart 2012;
Den Haag: woensdag 11 april 2012
Zie hier (opdracht, PDF)
en daar (benodigde files, tgz) (updated 2.3.12!)
en: Hoe werkt het ook alweer in Prolog?.
-
Neuraal netwerk; deadline dinsdag 17 april 2012;
Den Haag: woensdag 2 mei 2012
Schrijf in C++ een neuraal netwerk dat irissen herkent.
Meer informatie hier.
-
Genetisch algoritme; deadline dinsdag 8 mei 2012;
Den Haag: woensdag 23 mei 2012
Schrijf in C++ een Genetisch algoritme, dat een
routerings-probleem zo goed mogelijk oplost.
Meer informatie 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.
Voor sheets van voorgaande jaren raadplege men
de oude pagina's.
En voor de liefhebbers:
alle 358 sheets (in PDF, 2 MB; versie 2012).
Geen tentamenstof: sheets over Lego, RoboCom en RoboCode;
2 sheets over PAC leren; 6 sheets over MDP's.
(In de 2012-versie met 358 sheets zijn dit sheets 109-128, 322-323 en 328-333.)
Er wordt op het
tentamen vanzelfsprekend nog wel eens iets gevraagd wat niet (letterlijk)
op de sheets staat ...
- Leiden: dinsdag 7 februari 2012; Den Haag: woensdag 29 februari 2012
Algemene introductie; het
practicum, met name de eerste opgave.
Hoofdstuk 1
(Introductie) in vogelvlucht, zie de sheets:
Introductie
- Leiden: dinsdag 14 februari 2012; Den Haag: woensdag 7 maart 2012
Hoofdstuk 2 (Intelligente agenten), zie de sheets:
Intelligente agenten
- Leiden: dinsdag 21 februari 2012; Den Haag: woensdag 14 maart 2012
Hoofdstuk 3 (Probleemoplossen en zoeken), zie de sheets:
Probleemoplossen en zoeken
- Leiden: dinsdag 28 februari 2012; Den Haag: woensdag 21 maart 2012
Hoofdstuk 3, vervolg.
Robotica,
in het bijzonder
de tweede programmeeropgave.
Lees ook Hoofdstuk 25 (Robotica) van Russell en Norvig.
Dit alles ten behoeve van de tweede
practicum-opgave.
Zie ook de sheets:
Robotica
| 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
|
- Leiden: dinsdag 13 maart 2012; Den Haag: woensdag 28 maart 2012
Hoofdstuk 4 (Gericht zoeken), zie de sheets:
Gericht zoeken
- Leiden: dinsdag 20 maart 2012; Den Haag: woensdag 4 april 2012
Hoofdstuk 5 (Spel(l)en; NB dit is Hoofdstuk 6 in de tweede druk van [RN]), zie de sheets:
Spel(l)en
Tijdens het werkcollege van maandag 19 maart 2012; Den Haag: woensdag 4 april 2012,
maken we Opgaven 1!
| leuk leesvoer |
H.J. van den Herik, J.W.H.M. Uiterwijk en J. 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
|
- Leiden: dinsdag 27 maart 2012; Den Haag: woensdag 11 april 2012
Algemene informatie over de derde
practicum-opgave.
Hoofdstuk 18.7 (Neurale netwerken),
zie de sheets:
Neurale netwerken
| leuk leesvoer |
W.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
|
- Leiden: dinsdag 3 april 2012; Den Haag: woensdag 18 april 2012
Perl — handig voor de derde practicum-opgave.
Hoofdstuk 6 (Constraint Satisfaction Problemen),
zie de sheets:
CSP's
- Leiden: dinsdag 10 april 2012; Den Haag: woensdag 25 april 2012
Hoofdstukken 7 (Logisch redenerende agenten),
8 (Eerste orde logica)
en 10.3, zie de sheets:
Logische agenten
Denk ook aan de werkcolleges:
maak
Opgaven 2,
Opgaven 3 en
Opgaven 4!
- Leiden: dinsdag 17 april 2012; Den Haag: woensdag 2 mei 2012
Algemene informatie over de vierde
practicum-opgave.
Hoofdstuk 4.3 (Genetische algoritmen),
zie de sheets:
Genetische algoritmen
- Leiden: dinsdag 24 april 2012; Den Haag: woensdag 9 mei 2012
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));
zie de sheets:
Leren
- Leiden: dinsdag 8 mei 2012; Den Haag: woensdag 16 mei 2012
Hoofdstuk 13 (Onzekerheid; kort) en
Hoofdstuk 14 (Bayesiaanse netwerken),
zie de sheets:
Bayesiaanse netwerken
Denk ook aan: Opgaven 4!
- Leiden: dinsdag 15 mei 2012; Den Haag: woensdag 23 mei 2012
Vervolg plus van alles.
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.
Vragen en/of opmerkingen kunnen worden gestuurd
naar: kosters@liacs.nl.
15 mei 2012 — http://www.liacs.nl/home/kosters/AI/index.html