Logo

Kunstmatige intelligentie

Vanaf medio maart 2020 is het (werk)college online gegaan, zie onder.

Voorjaar 2020: Colleges/werkcolleges zijn op donderdagen, te beginnen op 6 februari 2020; college van 11:15 tot 13:00, werkcollege 's middags. Locatie: De Sitterzaal in het Huygens (op 13 februari: Gorlaeus 2). Niet op 26 maart.

Svp aanmelden via Blackboard. En voor het (her)tentamen via uSis.

Dit jaar voor het eerst zijn de college's na afloop ook op video te bekijken.


Het vak Kunstmatige intelligentie, ook wel AI (van Artificial Intelligence) genoemd, wordt verzorgd door dr. W.A. (Walter) Kosters, geassisteerd door Rick Boks, Koen Bouwman en Gilles Ottervanger, en wordt in het voorjaar van 2020 gegeven. (Eerstvolgende keer daarna: voorjaar 2021.)

Note that the course is in DUTCH.


 

Algemene informatie  |  Materiaal  |  Archief  |  Practicum  |  Colleges

 


Algemene informatie

Collegetijden: donderdagen, van 11:15 tot 13:00 uur, in De Sitterzaal, Huygens (op 13 februari in Gorlaeus 2), Leiden. Data, 14x: donderdagen 6 februari tot en met 14 mei 2020 (niet op 26 maart; geen college op 2 mei).
En iedere week (niet op 26 maart) is er op de donderdagmiddag een werkcollege gepland: 13:45-16:00 uur; in computerzalen 302/... van het Snellius — en vier keer (5 maart, 9 april, 30 april en 14 mei) sommen 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 zijn hiervan uitwerkingen beschikbaar, en ook een aantal video's met bijbehorende scans:

     Uitwerking Opgave 11Uitwerking Opgave 16Uitwerking Opgave 17scans 11/16/17
     Uitwerking Opgave 27Uitwerking Opgave 10scans 27/10
     Uitwerking Opgave 31Uitwerking Opgave 33scans 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, maar is ook interessant voor andere belangstellenden; voorkennis van de programmeertaal C++ is sterk aan te raden.

De tentamendata in 2020 zijn:

De tentamens dit studiejaar zullen online plaatsvinden. Voor meer informatie, zie BlackBoard en de e-mails van 13 mei en later.

Alle cijfers, ook die van de programmeeropgaven, worden beschikbaar gesteld via Blackboard.


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 circa 50 euro.
De vierde druk is aangekondigd. Gedateerd 2021. 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):


Archief

Een stel oude tentamens: Er is meer informatie te vinden over het college gedurende de afgelopen jaren.


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; of een heel korte zichzelf uitleggende voorbeeldfile) 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 2-dimensionaal array"; "C++"; kort!)
  6. Experimenten (tabel, grafiek)
  7. Conclusie en verder onderzoek ("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.
Het practicum bestaat zoals gezegd uit vier opgaven:

  1. Monte Carlo; deadline donderdag 27 februari 2020, 11:00 uur
    Zie Clobber.
  2. Agenten & Robotica; deadline donderdag 19 maart 2020, 11:00 uur
    Zie hier.
  3. Spellen — α-β en Othello; deadline donderdag 23 april 2020, 11:00 uur
    Zie hier, ook voor de video's.
  4. Neurale netwerken; deadline donderdag 14 mei 2020, 11:00 uur
    Zie hier, ook voor de video's.

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

  1. donderdag 6 februari 2020
    Algemene introductie; het practicum, met name de eerste opgave.
    Hoofdstuk 1 (Introductie) in vogelvlucht, p. 1-30; zie de sheets:
        Introductievideo live college

     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. donderdag 13 februari 2020
    Hoofdstuk 2 (Intelligente agenten), p. 34-59; zie de sheets:
         Intelligente agentenvideo live college

    En een paar sheets over Combinatorial Game Theory (dat heeft met Clobber te maken ... en is geen tentamenstof).

  3. 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 agentenvideo live college

  4. donderdag 27 februari 2020
    Algemene informatie over de tweede practicum-opgave.
    Hoofdstuk 3 (Probleemoplossen en zoeken), p. 64-109; zie de sheets:
         Probleemoplossen en zoekenvideo live college

  5. donderdag 5 maart 2020
    (vervolg vorig college) Hoofdstuk 4 (Gericht zoeken), p. 120-130; zie de sheets:
         Gericht zoekenvideo live college

    Op donderdagmiddag 5 maart 2020 is in zaal 302 een werkcollege met sommen, zie Opgaven 1 (van 2): 2, 3, 7, 8, 14.

  6. donderdag 12 maart 2020
    Hoofdstuk 5 (Spel(l)en), p. 161-190; zie de sheets:
         Spel(l)envideo live college

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

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

  8. donderdag 26 maart 2020
    Hoofdstuk 6 (Constraint Satisfaction Problemen), p. 202-223; zie de sheets:
         CSP's

    video's: Othello: tipsIntroductie 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.

  9. donderdag 2 april 2020
    Robotica. Bekijk Hoofdstuk 25 (Robotica), p. 971-1019; zie ook de sheets:
         Robotica

    video's: Opmerkingen over nagekeken Opgave 2Robotica: algemeen (sheets 1/10)Robotica: voorbeelden (sheets 11/20)Uitwerking Opgave 11Uitwerking Opgave 16Uitwerking 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 
     

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

  11. 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 LerenLeren: ID3Geavanceerd lerenUitwerking Opgave 27Uitwerking 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.)

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

  13. 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 netwerkenDetails Bayesiaanse netwerkenInferentie in Bayesiaanse netwerken

  14. donderdagen 7 en 14 mei 2020
    Van alles, waaronder een oud tentamen (met antwoorden).

    video's: SamenvattingUitwerking Opgave 1 van 2.6.2014Uitwerking Opgave 2 van 2.6.2014Uitwerking Opgave 3 van 2.6.2014Uitwerking Opgave 4 van 2.6.2014scans tentamen 2.6.2014

    Maak de volgende sommen: Opgaven 2 (van 2): 30, 31, 33, 13, 14.

    video's: Uitwerking Opgave 31Uitwerking Opgave 33scans 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.


4 mei 2020 — http://www.liacs.leidenuniv.nl/~kosterswa/AI/index.html