Examen Artifici¨
ele Intelligentie
Prof. dr. Bernard Manderick
Maandag, 25 januari 2010
9u in lokaal G.1.020 en G.1.023
Belangrijk!
• Leg je GSM af.
• Dit examen is gesloten boek.
• Gebruik een apart blad voor elke vraag.
• Schrijf uw naam en studieprogramma op elk blad.
1
Constraint Satisfaction Problems
1. Definieer het 4-koninginnenprobleem als een constraint satisfaction problem (CSP), cfr. hieronder. 2. Welke zoekmethodes bestaan er om een CSP, waarvan alle variabelen een waarde aannemen uit een eindig domein, op te lossen? Schets in het kort hoe deze methodes werken aan de hand van het voorbeeld hierboven.
3. Geef de verschillende general purpose heuristieken voor dergelijke CSPs.
K K
K K
Tabel 1: Een van de mogelijke oplossingen voor het 4-koninginnenprobleem. K staat voor een koningin en geen twee koninginnen kunnen elkaar horizontaal, verticaal of diagonaal slaan.
2
Problem Solving
Figuur 1: De 3x3-schuifpuzzel. Links: Een mogelijke beginconfiguratie. Rechts: De gewenste eindconfi-guratie.
De 3x3-schuifpuzzel bestaat uit 8 genummerde schijfjes op een vierkant bord. Juist ´e´en van de 9 vakjes van het bord is altijd leeg. De schijfjes kunnen enkel horizontaal of verticaal verschoven worden naar het leeg vakje. De puzzel start met een willekeurige beginconfiguratie zoals bijvoorbeeld in Figuur 1 (links). In de gewenste eindconfiguratie liggen alle schijfjes aan de rand, volgen ze elkaar op in wijzerzin en ligt schijfje 1 in de linkerbovenhoek, zie Figuur 1 (rechts).
1. Geef de ‘search tree’ (Ned.: zoekboom) voor ‘depth-limited search’ met limiet l = 2 waarbij rekening wordt gehouden met de toestanden die reeds bezocht werden. Leg ook beknopt uit hoe het standaard algoritme hiervoor moet worden aangepast. Begin met de configuratie in Figuur 1 (links). Geef duidelijk aan in welke volgorde de knopen worden bezocht (Eng.: visit) (dus niet de volgorde waarin ze worden gegenereerd).
2. Wat is de ‘branching factor’ van een boom? Wat is de ‘branching factor’ van de boom die je zopas getekend hebt?
3. Leg uit wanneer een heuristiek ‘admissible’ (Ned.: toelaatbaar) is. Waarom is het aangeraden om een ‘admissible’ heuristiek te kiezen? Geef een voorbeeld van een heuristiek voor de schuifpuzzel. Is jouw heuristiek ‘admissible’ ?
3
Logica
Bij de onderstaande vragen staan de letters J , P en K respectievelijk voor de namen Jan, Piet en Korneel. Gebruik ook in je antwoorden deze notaties.
1. Vertaal onderstaande zinnen in predikaten logica (Eng.: Predicate calculus or First-Order Logic). Maak hierbij gebruik van volgende 1- of 2-waardige predikaten: Ambitieus(), Doodt (), Edelman(), Koning(), Kwaadaardig(), Mens(), NietLoyaalAan(), WenstDood ().
(a) Alle kwaadaardige mensen zijn ambitieus.
(b) Edellieden die een koning doden zijn niet loyaal aan hem. (c) Piet is loyaal aan de koning.
(d) Alle mensen die loyaal zijn aan de koning wensen zijn moordenaar dood. 2. Zet de zinnen (a) en (b) om in een ‘Horn clause’. Definieer ook dit begrip. 3. Zet ook de volgende zin om in een ‘Horn clause’:
∀x [Ambitieus(x) ∧ Mens(x) ⇒ ¬NietLoyaalAan(x, K) ∨ WenstDood (x, K)].
4. Voeg bij de onderstaande KB0 jouw 3 Horn clauses (uit vraag 3.2 en 3.3) toe. Pas nu ‘forward chaining’ toe op die nieuwe KB om te bewijzen dat “Jan wenst Korneel dood” waar is. M.a.w., bewijs KB |= WenstDood (J, K).
KB0 = {Mens(J ), Mens(K), Mens(P ), Koning(K), Edelman(P ), Kwaadaardig(J ), Edelman(J ), Doodt (J, K)}.
5. Naast ‘forward chaining’ bestaan er nog andere inferentiemethoden waarmee je dit kan bewijzen. Welke? Geef er twee uit de cursus. Geef ook aan in welke vorm de zinnen (van de knowledge base) moeten staan om elk van die methoden te kunnen toe passen. Definieer ook deze vormen. ‘Forward chaining’, bijvoorbeeld, verwacht dat alle zinnen ‘Horn clauses’ zijn.
4
Onzekerheid
c ¬c
b ¬b b ¬b a 0.05 0.20 0.01 0.07 ¬a 0.01 0.06 0.10 0.50
Tabel 2: De samengestelde kansverdeling voor Booleaanse random variabelen A, B en C.
Full joint distribution De ‘full joint distribution’ (Ned.: volledige samengestelde kansverdeling) van drie (Booleaanse) random variabelen A, B en C is gegeven in Tabel 2. De waarde ‘waar’ (Eng.: true) wordt aangegeven met een kleine letter (bijv. a staat voor A = true). De waarde ‘vals’ (Eng.: false) wordt aangegeven met ¬ gevolgd door een kleine letter (bijv. ¬a staat voor A = f alse).
Geef voor de volgende kansverdelingen, eerst de kans op ‘waar’ (Eng.: true), gevolgd door de kans op ‘vals’ (Eng.: false). Geef ook je berekeningen.
1. P(A) = 2. P(A | b) = 3. P(B | a ∨ c) = 4. P(C | ¬a ∧ b) =
Regel van Bayes Ongeveer 70% van de tweedehandswagens zijn in een goede toestand: P (ok ) = 0.70. Indien een wagen in een slechte toestand is, dan is er 65% kans dat hij niet slaagt voor een routine test: P (¬test |¬ok ) = 0.65. Goeie tweedehandswagens slagen in 80% van de gevallen wel voor die test: P (test |ok ) = 0.80.
1. Voor een willekeurige tweedehandswagen, wat is de kans dat de wagen slaagt voor de routine controle? Gebruik de notaties zoals hierboven. Geef je berekeningen.
2. Wat is de kans dat je wel degelijk een goeie tweedehandswagen hebt, als je weet dat die slaagde voor de routine test. Gebruik de notaties zoals hierboven. Geef je berekeningen.