Logo

Kunstmatige intelligentie

Iedere week worden er een aantal, doorgaans drie à vier, korte video's gedeeld, ieder van (maximaal) 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.) Zie de pagina met video's.
Verder is iedere week (niet op 22 maart en 5 april; laatste keer: 17 mei) op maandagochtend, van 9:00 tot 10:00 uur, een live online weekoverzicht. Hier wordt —enigszins afhankelijk van het aantal aanwezigen— een korte samenvatting van de die week te behandelen stof gegeven, er wordt uitleg gegeven over de programmeeropgaven, en er is veel tijd voor vragen. Locatie en paswoord via Brightspace.
Let op: op de maandagen 26 april, 3, 10 en 17 mei wordt er weer een werkcollege on-campus georganiseerd, en wel in het Snellius. Voor meer informatie: zie Brightspace. We zijn de gehele dag in de buurt van zaal 412.
Verder 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 14:15 tot 15:15 uur — of later, als er veel vragen zijn. De vragen kunnen gaan over het programmeerwerk of over de behandelde stof; er is volop gelegenheid om als eenling of tweetal in een breakout-room vragen te stellen. Zie Brightspace.
Tot slot: er kunnen ook vragen worden gesteld via email naar aicollege@liacs... of 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, Miguel Blom, 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 (punten, tentamen, opgaven)  |  Materiaal (boek)  |  Archief (oude tentamens)  |  Practicum  |  Colleges (sheets, video's)

 


Algemene informatie

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:

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

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:

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.


Materiaal

BOEK RN Gebruik wordt gemaakt van het boek Artificial intelligence, A modern approach van Stuart J. Russell en Peter Norvig, fourth edition, Pearson, 2020. Het kost circa 150 euro; ook aangeboden voor 80 euro (paperback).
Deze vierde druk is sinds kort te koop. Eventueel kan de derde druk nog gebruikt worden.
In het bijzonder worden uit dit boek de volgende hoofdstukken behandeld (voor de hoofdstukken uit de vorige drukken, zie de geschiedenis; bij de Colleges staan ook paginanummers): 1 (Introduction; lezen), 2 (Intelligent agents; lezen), 3 (Solving problems by searching; uitgebreid), 4.1 (Search in complex environments; uitgebreid), 5 (Adversarial search and games; uitgebreid), 6 (Constraint satisfaction problems; uitgebreid), 7 (Logical agents; lezen, met name Wumpus), 8 (First-order logic; lezen, met name Wumpus), 13 (Probabilistic reasoning; uitgebreid; lees ook 12, Quantifying uncertainty), 19 (Learning from examples; uitgebreid tot en met 19.3), en 21 (Deep learning; uitgebreid, maar niet alles), grotendeels in deze volgorde. Lees ook eens Hoofdstuk 27 (Philosophy, ethics, and safety of AI). Dit studiejaar geen Robotics, geen Natural Language Processing (NLP), geen Reinforcement learning.

En met behulp van een MOOC kun je ook veel leren over dit onderwerp!

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

Voor de opgaven, uitwerkingen en video's daarover, zie bij Algemene informatie.


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 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:
  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, fourth edition, Pearson, 2020
  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 & Tetris; deadline dinsdag 23 februari 2021, 17:00 uur
    Zie hier. En de bijbehorende video (1/3), video (2/3) en video (3/3).
  2. Agenten & Robotica; deadline dinsdag 23 maart 2021, 17:00 uur
    Zie hier. En de bijbehorende video (1/4), video (2/4), video (3/4) en video (4/4).
  3. Spellen — α-β en Schaken; deadline dinsdag 27 april 2021, 17:00 uur
    Zie hier. En de bijbehorende video (1/3), video (2/3) en video (3/3).
  4. Neurale netwerken; deadline dinsdag 18 mei 2021, 17:00 uur
    Zie hier. En de bijbehorende video (1/2) en video (2/2).

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 358 sheets (in PDF; 13 MB; versie 2021). Geen tentamenstof: sheets over RoboCom; sheets over Robotica; sheets over MDP's. (In de 2021-versie met 358 sheets gaat het om sheets 100-108, 235-240 en 268-272; vaak aangegeven met Ξ.) Er wordt op het tentamen vanzelfsprekend nog wel eens iets gevraagd wat niet (letterlijk) op de sheets staat ...

  1. maandag 1 februari 2021
    Algemene introductie; het practicum, met name de eerste opgave.
    Hoofdstuk 1 (Introductie) in vogelvlucht, p. 1-35 uit [RN, vierde druk] (p. 1-30 uit [RN, derde druk]); zie de sheets:
        Introductie

    video's:
    - Eerste programmeeropgave (1/3)
    - Introductie (1/3), sheet 1/12
    - Introductie (2/3), sheet 13/29
    - Introductie (3/3), sheet 30/42
    - video live college 6 februari 2020 (vorig jaar)

     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. maandag 8 februari 2021
    Hoofdstuk 2 (Intelligente agenten), p. 36-62 uit [RN, vierde druk] (p. 34-59 uit [RN, derde druk]); zie de sheets:
         Intelligente agenten

    video's:
    - Eerste programmeeropgave (2/3)
    - Intelligente agenten (1/2), sheet 1/11
    - Intelligente agenten (2/2), sheet 12/25
    - video live college 13 februari 2020 (vorig jaar)

  3. maandag 15 februari 2021
    Hoofdstukken 7 (Logische agenten) en 8 (Eerste orde logica), p. 208-224, 237-240 en 251-271 uit [RN, vierde druk] (p. 234-252, 265-267 en 285-306 uit [RN, derde druk]); zie de sheets:
         Logisch redenerende agenten

    video's:
    - Eerste programmeeropgave (3/3)
    - Logisch redenerende agenten (1/3), sheet 1/101
    - Logisch redenerende agenten (2/3), sheet 11/18
    - Logisch redenerende agenten (3/3), sheet 19/31
    - video live college 20 februari 2020

  4. maandag 22 februari 2021
    Algemene informatie over de tweede practicum-opgave.
    Hoofdstuk 3 (Probleemoplossen en zoeken), p. 63-84 uit [RN, vierde druk] (p. 64-109 uit [RN, derde druk]); zie de sheets:
         Probleemoplossen en zoeken

    video's:
    - Tweede programmeeropgave (1/4), sheet 2/10
    - Probleemoplossen en zoeken (1/3), sheet 1,11/20
    - Probleemoplossen en zoeken (2/3), sheet 21/30
    - Probleemoplossen en zoeken (3/3), sheet 31/47
    - video live college 27 februari 2020

  5. maandag 1 maart 2021
    Hoofdstuk 3.5/3.6 (Gericht zoeken), p. 84-100 uit [RN, vierde druk] (p. 120-130 uit [RN, derde druk]); zie de sheets:
         Gericht zoeken

    video's:
    - Tweede programmeeropgave (2/4)
    - Gericht zoeken (1/2), sheet 1/11
    - Gericht zoeken (2/2), sheet 12/24
    - video live college 5 maart 2020

    Aanbevolen sommen: Opgaven 1 (van 2): 2, 3, 7, 8, 14.

  6. maandag 8 maart 2021
    Hoofdstuk 5 (Spel(l)en), p. 146-170 uit [RN, vierde druk] (p. 161-190 uit [RN, derde druk]); zie de sheets:
         Spel(l)en

    video's:
    - Tweede programmeeropgave (3/4)
    - Spellen (1/4), sheet 1/10
    - Spellen (2/4), sheet 11/20
    - 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 werden college en werkcollege in 2020 online verzorgd ===

  7. maandag 15 maart 2021
    Spel(l)en — vervolg; zie de sheets:
         Spel(l)en

    video's:
    - Tweede programmeeropgave (4/4)
    - Spellen (3/4), sheet 21/28
    - Spellen (4/4), sheet 29/38
    - vorig jaar (2020): SpelbomenHet alpha-beta-algoritmeKansen

    maandag 22 maart 2021 collegevrije week

  8. maandag 29 maart 2021
    Hoofdstuk 6 (Constraint Satisfaction Problemen), p. 180-199 uit [RN, vierde druk] (p. 202-223 uit [RN, derde druk]); zie de sheets:
         CSP's

    video's:
    - Derde programmeeropgave (1/3)
    - Constrained Satisfaction Problemen (1/3), sheet 1/11
    - Constrained Satisfaction Problemen (2/3), sheet 12/23
    - Constrained Satisfaction Problemen (3/3), sheet 24/35
    - Uitwerking Opgave 11Uitwerking Opgave 16Uitwerking Opgave 17bijbehorende scans 11/16/17
    - vorig jaar (2020): Introductie CSP'sBacktrackingGeavanceerde ideeen

    Algemene informatie over de derde practicum-opgave, zie bovenstaande video.

    Maak de volgende sommen: Opgaven 1 (van 2): 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 
     

    maandag 5 april 2021 maandag geen college; wel live-room op donderdag

  9. maandag 12 april 2021
    Hoofdstuk 19.1/4 (Leren), p. 651-672 en p. 677-679 uit [RN, vierde druk] (p. 693-758 uit [RN, derde druk]); zie de sheets:
         Leren

    video's:
    - Derde programmeeropgave (2/3)
    - Leren (1/3), sheet 1/10
    - Leren (2/3), sheet 11/20
    - Leren (3/3), sheet 21/31
    - vorig jaar (2020): Introductie LerenLeren: ID3Geavanceerd leren

  10. maandag 19 april 2021
    Hoofdstuk 21 (Deep learning), p. 750-775 uit [RN, vierde druk] (p. 727-737 uit [RN, derde druk]); zie de sheets:
         Deep learning & Neurale netwerken

    video's:
    - Derde programmeeropgave (3/3)
    - Deep learning & Neurale netwerken (1/4), sheet 1/10
    - Deep learning & Neurale netwerken (2/4), sheet 11/20
    - Uitwerking Opgave 27Uitwerking Opgave 10bijbehorende scans 27/10
    - vorig jaar (2020): Introductie Neurale netwerkenPerceptrons

    Maak de volgende sommen: Opgaven 2 (van 2): 19, 23, 27, 29, 10.

  11. maandag 26 april 2021
    Deep learning — vervolg; zie de sheets:
         Deep learning & Neurale netwerken

    video's:
    - Vierde programmeeropgave (1/2)
    - Deep learning & Neurale netwerken (3/4), sheet 21/28
    - Deep learning & Neurale netwerken (4/4), sheet 29/35
    - vorig jaar (2020): Meerlaags netwerken

    Algemene informatie over de vierde practicum-opgave, zie bovenstaande video.

     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 
     

  12. maandag 3 mei 2021
    Hoofdstuk 4.1 (Locaal zoeken en Optimalisatie), p. 110-119 uit [RN, vierde druk] (p. 126-129 uit [RN; derde druk]); zie de sheets:
         Locaal zoeken en Optimalisatie

    video's:
    - Locaal zoeken en optimalisatie (1/2), sheet 1/13
    - Locaal zoeken en optimalisatie (2/2), sheet 13/25
    - vorig jaar (2020): Genetische algoritmenVoorbeelden van Genetische algoritmen

  13. maandag 10 mei 2021
    Hoofdstuk 12 (Onzekerheid; kort) en Hoofdstuk 13 (Bayesiaanse netwerken), p. 385-402 en p. 412-436 uit [RN, vierde druk] (p. 480-499 en 510-529 uit [RN, derde druk]); zie de sheets:
         Bayesiaanse netwerken

    video's:
    - Vierde programmeeropgave (2/2)
    - Bayesiaanse netwerken (1/3), sheet 1/8
    - Bayesiaanse netwerken (2/3), sheet 9/17
    - Bayesiaanse netwerken (3/3), sheet 18/25
    - vorig jaar (2020): Introductie Bayesiaanse netwerkenDetails Bayesiaanse netwerkenInferentie in Bayesiaanse netwerken

  14. maandag 17 mei 2021
    Van alles, waaronder een oud tentamen (met antwoorden).

    video's:
    - Samenvatting
    - Uitwerking Opgave 1 van 2.6.2014Uitwerking Opgave 2 van 2.6.2014Uitwerking Opgave 3 van 2.6.2014Uitwerking Opgave 4 van 2.6.2014bijbehorende scans tentamen 2.6.2014
    - Uitwerking Opgave 31Uitwerking Opgave 33bijbehorende scans 31/33

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

Genoemde hoofdstukken komen steeds uit het boek van Russell en Norvig — met dank voor een flink gedeelte van de sheets en veel plaatjes.


18 juni 2021 — http://www.liacs.leidenuniv.nl/~kosterswa/AI/index.html