Kunstmatige intelligentie

Het vak Kunstmatige intelligentie, ook wel AI (van Artificial Intelligence) genoemd, wordt verzorgd door dr. W.A. (Walter) Kosters geassisteerd door drs. M. (Marijn) Schraagen, en wordt in het voorjaar van 2010 gegeven. Eerstvolgende keer daarna: voorjaar 2011; voorlopige data: college: dinsdagen 1 februari tot en met 3 mei 2011 (niet op 8 februari: dies); werkcollege: maandagen 28 februari, 21 maart, 11 april en 2 mei 2011; tijden: 13.45-15.30 uur.

Note that the course is in DUTCH.

Algemene informatie | Materiaal | Archief | Practicum | Colleges


Algemene informatie

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 2 februari tot en met 4 mei 2010 (dinsdag 6 april is werkcollege). Direct aansluitend aan de colleges is er uitgebreid gelegenheid vragen te stellen, met name over de programmeeropgaven, tijdens een kort "vragenuur".
Er zijn vier werkcolleges gepland: maandagen 22 februari, 15 maart en 3 mei 2010 (en zoals gezegd, dinsdag 6 april), 13.45-15.30 uur; ook in zaal 412. Er wordt hier gewerkt aan kleine opgaven, aan oude tentamenopgaven en wellicht ook aan de verslagen van de programmeeropgaven. Onderwerpen voor deze 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 voor 99% bepaald door het tentamencijfer, eventueel enigszins afgerond in de richting van het gemiddelde practicumresultaat, 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 2010 zijn:

Alle cijfers (college voorjaar 2010) zijn te zijner tijd hier te vinden.


Materiaal

BOEK RN 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 80 euro; soms is de versie met slappe kaft goedkoper.
Er is een nieuwe druk uit, december 2009!
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).
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):


Archief

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


Practicum

Voor iedere practicumopgave 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 hier 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:
  1. Inleiding ("dit is de tweede opdracht van het college ...")
  2. Uitleg probleem (plaatje; "de spelregels zijn ...", gebruikte definities)
  3. Theorie ("stelling zegt dat ...")
  4. Aanpak (plaatje; "een drielaags neuraal netwerk ...")
  5. Implementatie ("een dubbel array"; kort)
  6. Experimenten (tabel, grafiek)
  7. Conclusie ("ging fout als de testopstelling niet verlicht was")
  8. Referenties (genummerd; naar alle wordt verwezen; "handleiding Lego-robots ...", "Russell en Norvig ...")
    Een fatsoenlijke referentie ziet er uit als:
    [1] S.J. Russell en P. Norvig, Artificial intelligence, A modern approach, third edition, Prentice Hall, 2010
  9. 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 zijn hier te vinden. Oude cijfers: bij de docent.
Het practicum bestaat zoals gezegd uit vier opgaven:

  1. Tetris; deadline dinsdag 23 februari 2010
    Schrijf in C++ een Tetris-programma. Zie verder hier.
  2. Robotica; deadline dinsdag 16 maart 2010
    Schrijf een aantal bots voor RoboCom. Zie verder hier.
    Uitslagen: hier.
  3. Neuraal netwerk; deadline dinsdag 6 april 2010
    Schrijf in C++ een neuraal netwerk, dat de leeftijd van Abalone-schelpen schat. Meer informatie hier.
  4. Genetisch algoritme; deadline dinsdag 4 mei 2010
    Schrijf in C++ een Genetisch algoritme, dat een handelsreiziger-probleem zo goed mogelijk oplost. Meer informatie hier.

Colleges

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. Tijdens de colleges vinden ook discussies plaats over de genoemde hoofdstukken van Russell/Norvig. De sheets zijn voornamelijk gebaseerd op die van deze beide heren, en op sheets die vorige docenten fabriceerden.
En voor de liefhebbers: alle 353 sheets (in PDF, 2 MB; versie 2010).
Er wordt op het tentamen vanzelfsprekend nog wel eens iets gevraagd wat niet (letterlijk) op de sheets staat ...
  1. dinsdag 2 februari 2010
    Algemene introductie; het practicum, met name de eerste opgave.
    Hoofdstuk 1 (Introductie) in vogelvlucht, zie de sheets:
        Introductie

     leuk leesvoer
     
     Alan M. Turing, Computing machinery and intelligence
     Mind 59 (1950) 433-460
     doi:10.1093/mind/LIX.236.433; ophalen vanaf een PC binnen de universiteit 
     
     
     Jason Hutchens, How to pass the Turing test by cheating
     Technical report, 1997
     

  2. dinsdag 9 februari 2010
    Hoofdstuk 2 (Intelligente agenten), zie de sheets:
         Intelligente agenten

  3. dinsdag 16 februari 2010
    Hoofdstuk 3 (Probleemoplossen en zoeken), zie de sheets:
         Probleemoplossen en zoeken

    Denk ook aan het werkcollege van maandag 22 februari 2010, maak Opgaven 1!

  4. dinsdag 23 februari 2010
    Robotica, in het bijzonder RoboCom. Lees ook Hoofdstuk 25 (Robotica) van Russell en Norvig.
    Dit alles ten behoeve van de tweede practicum-opgave.
    Zie ook de sheets:
         Robotica
    Hoofdstuk 3, vervolg.

     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 
     

  5. dinsdag 2 maart 2010
    Hoofdstuk 4 (Gericht zoeken), zie de sheets:
         Gericht zoeken

  6. dinsdag 9 maart 2010
    Hoofdstuk 5 (Spel(l)en; NB dit is Hoofdstuk 6 in de tweede druk van [RN]), zie de sheets:
         Spel(l)en

    Denk ook aan het werkcollege van maandag 15 maart 2010, maak Opgaven 2!

     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
     

  7. dinsdag 16 maart 2010
    Algemene informatie over de derde practicum-opgave; Perl.
    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 
     

  8. dinsdag 23 maart 2010
    Hoofdstuk 6 (Constraint Satisfaction Problemen; NB dit is Hoofstuk 5 in de tweede druk van [RN]), zie de sheets:
         CSP's

  9. dinsdag 30 maart 2010
    Hoofdstukken 7 (Logisch redenerende agenten), 8 (Eerste orde logica) en 10.3, zie de sheets:
         Logische agenten

    Denk ook aan het werkcollege van dinsdag 6 april 2010, maak Opgaven 3!

  10. dinsdag 13 april 2010
    Algemene informatie over de vierde practicum-opgave.
    Hoofdstuk 4.3 (Genetische algoritmen), zie de sheets:
         Genetische algoritmen

  11. dinsdag 20 april 2010
    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

  12. dinsdag 27 april 2010
    Hoofdstuk 13 (Onzekerheid; kort) en Hoofdstuk 14 (Bayesiaanse netwerken), zie de sheets:
         Bayesiaanse netwerken

    Denk ook aan het werkcollege van maandag 3 mei 2010, maak Opgaven 4!

  13. dinsdag 4 mei 2010
    Vervolg (Leren) 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.

22 april 2010 — http://www.liacs.nl/home/kosters/AI/jaar2010.html