Artificiële Intelligentie 1


  • Alle communicatie verloopt via de elvas-lijst.

  • De cursus is gebaseerd op het boek Artificial Intelligence: a modern approach.

  • Uit het boek (2e editie!) zijn de volgende hoofdstukken in meer of minder detail behandeld:

    - Inleiding:
    1,2
    - Search:3,4
    - Logic: 7,8,9 en 10
    - Bayesian networks: 14
    - Perceptrons: 20
    - Grammar: 22, 23
    - Vision: 24
    - robotics: 25

  • Het schriftelijke examen vindt plaats op maandag 19 januari van 8 uur tot en met 12 uur in het lokaal D0.03. Een facultatief mondeling examen vindt plaats op 29 en 30 januari.

  • Een voorbeeld examen is hier beschikbaar.


Theorie

25/9/2003

Inleiding (Luc Steels)

Deze inleiding legt uit waar onderzoek naar A.I. nu juist mee bezig is. Er werden heel wat foto's en films getoond van robots en een overzicht gegeven van de rest van de cursus.

Achtergrond

2/10/2003

Zoeken I (Luc Steels)

9/10/2003

Zoeken II (Luc Steels)

  • Vervolg van de vorige les

16/10/2003

Propositielogica (Luc Steels)

23/10/2003

Geen les

30/10/2003

Vision en robotica I (Tony Belpaeme)

6/11/2003

Vision en robotica II (Tony Belpaeme)

13/11/2003

Predikatenlogica (Luc Steels)

20/11/2003

Academisch verlof.

27/11/2003

Predikatenlogica (Luc Steels)

  • Vervolg van de vorige les

4/12/2003

Regelssystemen en logisch programmeren (Luc Steels)

11/12/2003

Taal I (Luc Steels)

18/12/2003

Laatste les, onderwerp staat nog niet vast.

Practica

Oefenles 1

Inleiding tot Lisp en emacs

Emacs wordt in de oefeningen gebruikt als programmeeromgeving voor Allegro Common Lisp. Er wordt een inleiding tot (het gebruik van) emacs en de emacs-lisp interface tot Allegro Common Lisp.

Materiaal en links:

Opgave van de Oefeningen

Enkele handige toetsencombinaties in ELI:

fi:eval-or-compile-region C-c C-r
fi:eval-or-compile-last-sexp C-c C-s
fi:eval-or-compile-defun C-c C-x
fi:eval-or-compile-current-buffer C-c C-b


fi:lisp-apropos C-c ?
fi:lisp-function-documentation C-c f
fi:describe-symbol C-c d
fi:list-who-calls C-c c
fi:lisp-arglist C-c a


fi:lisp-find-definition C-c .
fi:lisp-find-definition-other-window C-c 4 .
fi:lisp-find-next-definition C-c ,

Oefenles 2

Inleiding tot Lisp en emacs
  • vervolg Oefenles 1
  • Oplossingen van de oefeningen: ai1.lisp

Oefenles 3

Search
  1. Installeer de code horende bij het boek van R&N. Installatieinfo vind je op deze pagina.
  2. Compileer deze code en test ze met de volgende instructies:

    (load "aima.lisp")
    (aima-load 'all)
    (aima-compile)
    (test 'all)

    In de volgende oefeningen onderzoeken we een eenvoudige schuifpuzzel, de 8-puzzle. De schuifpuzzel bestaat uit 9 vakjes, waarvan 1 leeg is.
  3. Wat is de branching factor van deze puzzel? Bereken bij willekeurige bewegingen voor elk van de 9 veldjes de kans dat er zich in dat veld geen blokje bevindt. Combineer die kennis met het aantal mogelijke zetten in elk veldje.
  4. Hoeveel mogelijke states zijn er voor een 3 bij 3 puzzel?
  5. Construeer een 8-puzzle met de functie (make-8-puzzle-problem) en los de puzzel op met de functie solve.Standaard gebruikt deze functie het A* algoritme. Probeer eerst met dit algoritme.
  6. Als 2e argument aan de solve functie kan je het gewenste zoek algoritme meegeven. Experimenteer met breedte eerst en diepte eerst.
  7. Er zijn verschillende alternatieven. Een daarvan is de diepte van het zoekproces te beperken. Wat zijn hier de voor en nadelen van? Experimenteer.
  8. En andere mogelijkheid bestaat erin er voor te zorgen dat je nooit een state bezoekt die je al bezocht hebt. Experimenteer met no-returns-breadth-first-searchen beredeneer wat het efficientieverschil is tussen zoeken tot op diepte 22 en het zoeken tot via breedte eerst of diepte eerst met geheugen tot je de oplossing gevonden hebt.

Oefenles 4

Search
  • vervolg Oefenles 3

Oefenles 5

Inferentie in eerste-orde logica:

Oefenles 6

Beeldverwerking:
  • Opgave (pdf,1.78Mb)
  • Oplossingen (pdf, 2Mb)
  • Er is matlabcode beschikbaar om zelf te experimenteren met de verschillende filters. Ook de afbeelding gebruikt in de oefeningen is beschikbaar. Je kan ook in tekenprogramma's als Paint Shop Pro en dergelijke aan de slag met filters.

Oefenles 7

Taak:
  • Opgave beschikbaar als html bestand.

Oefenles 8

Kennisbank
  • Opgave online beschikbaar (pdf)
  • Oplossing beschikbaar (pdf)

Oefenles 9

Machine Learning I (perceptrons)
  • Opgave online beschikbaar (pdf)
  • Oplossingen beschikbaar (pdf)
  • Lisp code voor een perceptron (lisp)
  • Mathematica code in Perceptron.nb

Oefenles 10

Machine Learning II (bayesian belief networks)
  • Opgave (pdf)
  • Oplossing (pdf)
  • De slides gebruikt tijdens oefeningenlessen dienen enkel als materiaal om de oefeningen te begrijpen en op te kunnen lossen, ze zijn geen leerstof op zich: chapter14a-2e.ps,  chapter14b-2e.ps,

Oefenles 11

Grammatica
  • Opgave online beschikbaar (html)

Cursusmateriaal