Kunstmatige intelligentie

Het vak Kunstmatige intelligentie, ook wel AI (van Artificial Intelligence) genoemd, wordt verzorgd door dr. W.A. (Walter) Kosters geassisteerd door dr. Tim Cocx, Marijn Schraagen, MSc (opgave #2: GOAL), Frank Takes, MSc (opgave #1: SameGame), Jonathan Vis, MSc en Jan Kalmeijer, en wordt in het voorjaar van 2014 gegeven. (Eerstvolgende keer daarna: voorjaar 2015.)

Eerste college in Leiden in 2014: dinsdag 4 februari, 11:15-13:00 uur, zaal 174; eerste werkcollege: dinsdag 4 februari, 13:45-15:30 uur (NB ook bestemd voor studenten I&E).

Note that the course is in DUTCH.

 

Algemene informatie  |  Materiaal  |  Archief  |  Practicum  |  Colleges

 


Algemene informatie

Collegetijden: dinsdagen, van 11:15 tot 13:00 uur, in zaal 174 van het Snellius, het gebouw van Wiskunde en Informatica, Niels Bohrweg 1, Leiden. Data, 13x: dinsdagen 4 februari tot en met 13 mei 2014 (niet op 25 februari en 11 maart). NB Ook bestemd voor studenten I&E.
En iedere week is er een werkcollege gepland: dinsdagen 4 februari tot en met 13 mei 2014 (niet op 25 februari en 11 maart), 13:45-15:30 uur; in zaal 306/308 — en vier keer (18 maart, 8 april, 29 april en 13 mei) gaan we naar zaal 174 om sommen te maken.

Tijdens de werkcolleges wordt er gewerkt aan kleine opgaven, aan oude tentamenopgaven en in de computerzalen aan de programmeeropgaven — en de bijbehorende verslagen. Data en onderwerpen voor de vier sommen-werkcolleges zijn:

Er komen hiervan nog uitwerkingen beschikbaar.

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). 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 en Informatica & Economie, maar is ook interessant voor andere belangstellenden; voorkennis van de programmeertaal C++ is sterk aan te raden.

De tentamendata in 2014 zijn:

Alle cijfers (college voorjaar 2014) 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 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.
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):


Archief

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.
Vanaf voorjaar 2005 hoort het onderwerp Data mining niet meer bij de tentamenstof.


Practicum

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:
  1. Inleiding ("dit is de tweede opdracht van het college ...", met verwijzing naar de website)
  2. Uitleg probleem (plaatje; "de spelregels zijn ...", gebruikte definities)
  3. Relevant werk ("stelling zegt dat ...")
  4. Aanpak (plaatje; "een drielaags neuraal netwerk ...")
  5. Implementatie ("een dubbel array"; "C++"; kort!)
  6. Experimenten (tabel, grafiek)
  7. Conclusie ("ging fout als de testopstelling niet verlicht was")
  8. 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
  9. 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. De cijfers van het huidige jaar zijn hier te vinden. Oude cijfers: bij de docent.
Het practicum bestaat zoals gezegd uit vier opgaven: (Let op: dit zijn (deels) nog de opgaven van vorig jaar (2013))

  1. SameGame; deadline dinsdag 4 maart 2014, 11:00 uur
    Schrijf in C++ een stuk programma voor SameGame. Zie verder hier.
  2. Domestic agents met GOAL; deadline dinsdag 1 april 2014, 11:00 uur
    Zie hier.
  3. Tablut; deadline dinsdag 22 april 2014, 11:00 uur
    Zie hier.
  4. Neuraal netwerk; deadline dinsdag 13 mei 2014, 11:00 uur
    Zie 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. En voor de liefhebbers: alle 365 sheets (in PDF, 2 MB; versie 2013). Geen tentamenstof: sheets over Lego, RoboCom en RoboCode; 2e sheet over PAC leren; enkele sheets over MDP's. (In de 2013-versie met 365 sheets zijn dit sheets 230-249, 273, 280, 282 en 283; aangegeven met Ξ.) Er wordt op het tentamen vanzelfsprekend nog wel eens iets gevraagd wat niet (letterlijk) op de sheets staat ...
  1. dinsdag 4 februari 2014
    Algemene introductie; het practicum, met name de eerste opgave.
    Hoofdstuk 1 (Introductie) in vogelvlucht, p. 1-30; 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 11 februari 2014
    Hoofdstuk 2 (Intelligente agenten), p. 34-59; zie de sheets:
         Intelligente agenten

    Extra werkcollege op dinsdagochtend 11 februari, voorafgaand aan het college (9:00-11:00 uur), in zaal 306: voor studenten I&E.

  3. dinsdag 18 februari 2014
    Hoofdstukken 7 (Logisch redenerende agenten), 8 (Eerste orde logica) en 10.3, p. 234-252, 265-267 en 285-306; zie de sheets:
         Logische agenten

  4. dinsdag 4 maart 2014
    Algemene informatie over de tweede practicum-opgave.
    Hoofdstuk 3 (Probleemoplossen en zoeken), p. 64-109; zie de sheets:
         Probleemoplossen en zoeken

  5. Leiden: dinsdag 18 maart 2014
    Hoofdstuk 4 (Gericht zoeken), p. 120-130; zie de sheets:
         Gericht zoeken

    Op 18 maart 2014 is in zaal 174 een werkcollege met sommen, zie Opgaven 1 (van 2)!

  6. Leiden: dinsdag 25 maart 2014
    Hoofdstuk 5 (Spel(l)en), p. 161-190; zie de sheets:
         Spel(l)en

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

  7. Leiden: dinsdag 1 april 2014
    Algemene informatie over de derde practicum-opgave.
    Hoofdstuk 6 (Constraint Satisfaction Problemen), p. 202-223; zie de sheets:
         CSP's

    Op 8 april 2014 is er een werkcollege over sommen, zie Opgaven 1 (van 2)!

  8. Leiden: dinsdag 8 april 2014
    Robotica. En vast het begin van de volgende week. Bekijk Hoofdstuk 25 (Robotica), p. 971-1019; 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 
     

  9. Leiden: dinsdag 15 april 2014
    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

  10. Leiden: dinsdag 22 april 2014
    Algemene informatie over de vierde practicum-opgave. Voor Perl, zie hier.
    Hoofdstuk 18.7 (Neurale netwerken), p. 727-737; zie de sheets:
         Neurale netwerken

     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 
     

    Op 29 april 2014 is er een werkcollege over sommen, zie Opgaven 1 (van 2) en Opgaven 2 (van 2)!

    ==================== vanaf hier nog VERSIE 2013 =====================

  11. Leiden: dinsdag 29 april 2014
    Hoofdstuk 4.3 (Genetische algoritmen), p. 126-129; zie de sheets:
         Genetische algoritmen

    Op 13 mei 2013 (Den Haag: 22 mei 2013) is er een werkcollege over sommen, zie Opgaven 2 (van 2)!

  12. Leiden: dinsdag 6 mei 2014
    Hoofdstuk 13 (Onzekerheid; kort) en Hoofdstuk 14 (Bayesiaanse netwerken), p. 480-499 en 510-529; zie de sheets:
         Bayesiaanse netwerken

    Op 13 mei 2014 is er een werkcollege over sommen, zie Opgaven 2 (van 2)!

  13. Leiden: dinsdag 13 mei 2014
    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.


11 april 2014 — http://www.liacs.nl/home/kosters/AI/index.html