Tentamenstof Kunstmatige Intelligentie 2000


Algemeen/Inleiding

Hoofdstuk 1 en 2
Belangrijke vaardigheid: het kunnen formaliseren van soms vaag gestelde problemen. Het gaat er daarbij om, te identificeren wat de toestanden, operatoren e.d. zijn bij een gegeven probleem. Daarnaast is een goede omschrijving van de environment nodig.

Dingen die je verder moet weten:

Probleemoplossen/zoeken

Hoofdstuk 3-5
Gegeven een bepaald probleem, welke zoekmethode zou je kiezen om deze op te lossen? Geef een voorbeeld van hoe de zoekstrategie werkt. Bedenk een toelaatbare heuristische functie.
Hiervoor moet je dus weten:
- Hoe al deze zoekstrategieën werken
- Wat hun kenmerken zijn. Denk hierbij aan dingen als ruimtecomplexiteit en de vraag of een algorithme eerst bovenin de boom zoekt of al vrij snel de diepte ingaat. Ook is van belang of het algorithme een optimale oplossing garandeert: in praktijk is dit niet altijd nodig.
- Hoe je een heurisitische functie kunt ontwerpen, wat toelaatbaar is, en wanneer toelaatbaarheid een eis is
Minder belangrijk zijn IDA* en SMA*, je moet weten wat ze kunnen, maar de details zijn niet van belang.

Belangrijk op het tentamen is, dat je een zo geschikt mogelijk algorithme moet zoeken bij een bepaald probleem. Het volgende argument accepteer ik hierbij niet: "Het probleem is vrij klein, dus met blind zoeken heb ik vrij snel de hele zoekruimte afgetast". Dus kies constraint satisfaction als de representatie het toelaar. Gebruik heuristisch zoeken als een geschikte heuristische functie voor de hand ligt.

Kennisrepresentatie en Redeneren

Gegeven een probleem, specificeer de kennis die een agent nodig heeft om te kunnen redeneren over het probleem. Onderscheid tussen de verschillende soorten regels: interpretatie van percepten, resultaten van acties, frame-regels. Hoe werkt een agent met een knowledge base (percept toevoegen aan KB, KB vragen om beste actie, KB mededelen dat actie is uitgevoerd, etc.). Wat is het frameprobleem? Voor dit soort vragen is het nuttig om ook iets van ontologie te weten (H8). Tenslotte moeten jullie iets over bewijssystemen weten (H9).

Op het tentamen verwacht ik dat jullie kennis kunnen weergeven in predikaatlogische regels. Van belang hierbij is het op precies te zijn: een paar formules waar de juiste predikaten wel ongeveer in voorkomen zijn niet acceptabel.

Wat zijn alternatieven voor logica als representatie? Regels, semantische netwerken, frames, etc. Voor- en nadelen.

Hoofdstuk 6, waarvan 6.4 in principe al bekend moet zijn (logica)
Hoofdstuk 7: 7.4-7.6, de rest moet bekend zijn (logica)
Hoofdstuk 8: 8.1-8.3, van 8.4 het deel over tijd (238-240)
Hoofdstuk 9: 9.1-9.4
Hoofdstuk 10:10.5-10.7

Planning

Hoofdstuk 11
Gegeven een planningsprobleem, representeer planningsoperatoren (met action, precond, en effect onderdelen). Schets hoe een partial order planner een plan maakt voor een eenvoudig probleem.

Redeneren met onzekerheid

Hoofdstuk 14, Hoofdstuk 15.1, 15.2, 15.3 (zonder de details van het algorithme)
Wat zijn de problemen bij het rederen met onzekerheid? "Mycin"-achtige regels maken onredelijke assumpties over onafhankelijkheid. Volledige representatie volgens Bayes' theorema is te groot. Tussenweg: belief-networks.
Representeer een eenvoudig probleem als belief-netwerk, en reken een conditionele kans uit in dit netwerk.

Machine learning

Hoofdstuk 18, behalve 18.6
Wat is de algemene probleemstelling bij machine learning? Hoe werken de volgende algorithmen: decision-tree learning (ID3) en Version Space learning? Wat is de rol van information theory in machine learning?