Omtentamen Artificiell Intelligens Datum: 2014-02-20 Tid: 14.00 18.00 Ansvarig: Resultat: Hjälpmedel: Gränser: Anders Gidenstam Redovisas inom tre veckor Inga G 8p, VG 12p, Max 16p Notera: Skriv läsbart! Oläsligt innebär inga poäng. Numrera och skriv namn på alla sidor. Onödigt krångliga lösningar ger poängavdrag. Lycka Till!
1) Informerad sökning med A*-algoritmen. (4p) Nedanstående graf föreställer en karta över olika Rumänska städer, där städerna utgörs av noder och kanterna mellan noderna anger avståndet mellan städerna. Tabellen uppe till höger visar det raka avståndet (fågelvägen) mellan olika städer och huvudstaden Bucharest. De undre tabellerna visar avståndet från staden Arad till olika städer via mellanliggande städer, där städerna utgörs av sin första bokstav enligt (A)rad, (B)ucharest, (C)raiova, (D)robeta, (F)agaras, (L)ugoj, (M)ehadia, (O)radea, (P)itesti, (R)imnicu Vilcea, (S)ibiu, (T)imisoara samt (Z)erind. Din uppgift är hitta den kortaste vägen mellan startstaden Arad och huvudstaden Bucharest genom att utföra en informerad sökning med den heuristiska sökalgoritmen A*. Oradea Zerind Arad Sibiu Fagaras Timisoara Lugoj Rimnicu Vilcea Mehadia Drobeta 120 146 Craiova Pitesti Bucharest a) Visa hur det fullständiga sökträdet ser ut från Arad till Bucharest då A*-algoritmen används. Ange, under varje nod, funktionen f(x)=g(x)+h(x) samt numrera noderna från 1 till n i den ordning de expanderas av A*-algoritmen. b) Beskriv, med egna ord, vad f(x), g(x) och h(x) är för något i formeln f(x)=g(x)+h(x). c) A*-algoritmen är optimal om dess heurestik är admissibel (och konsistent för grafsökningar). Förklara begreppen optimal, heurestik, admissibel och konsistent (använd triangelolikheten för att beskriva konsistens).
2) Bevis i satslogik. (4p) a) Formulera följande kunskapsbas i satslogik: Om enhörningen är ett magiskt djur är den odödlig, men om den inte är ett magiskt djur så är den ett dödligt däggdjur. Om enhörningen är odödlig eller ett däggdjur har den ett horn. Enhörningen är ett magiskt djur om den har ett horn. Vilka är de atomiska utsagorna? Hur ser kunskapsbasen ut? b) Rita en AND-OR graf för forward-chaining för kunskapsbasen. Vad säger den om kunskapsbasen? Går det att dra några slutsatser med hjälp av forward-chaining från denna kunskapsbas? Varför/varför inte? c) Visa om kunskapsbasen är satisfierbar med hjälp av model-checking. Skriv ut varje modell/icke-modell. Vad säger resultatet om kunskapsbasen (även i relation med vad som framkommit i b)? 3) Spelteori. (4p) Betrakta spelet 4-finger Morra. Det spelas av två spelare Even (E) och Odd (O). Båda spelarna visar samtidigt mellan 1 och 4 fingrar. Om summan av båda spelarnas fingrar är jämn vinner Even och Odd förlorar lika många poäng som summan är. Om summan är udda vinner Odd och Even förlorar lika många poäng som summan är. a) Vilka rena strategier finns det för respektive spelare i spelet? b) Är spelet ett nollsummespel? Motivera varför/varför inte. c) Sätt upp spelets normalform. d) Har Even eller Odd någon dominerande ren strategi? Motivera varför/varför inte. e) Har spelet någon Nashjämnvikt? Motivera varför/varför inte.
4) Beslutsfattande under osäkerhet. (4p) Du har fått i uppgift att skapa ett AI program som kan ställda en diagnos D om förekomsten av en viss sjukdom för en given patient utifrån två givna symptom, S1 och S2. Samtliga variabler, dvs diagnosen D och de båda symptomen, S1 och S2, är binära variabler och kan därför endast anta värdena 1 (sant) eller 0 (falsk). Om S1 respektive S2 är 1 (sant) så innebär detta att patienten har symptom S1 respektive S2. Likaså, om D är 1 (sant) innebär detta att diagnosen blir att patienten är sjuk. För att skaffa dig en uppfattning om de empiriska sannolikheterna för de olika slumpvariablerna, skapar du en databas över ett stort antal patientjournaler där varje rad i databasen innehåller de tre fälten D, S1 samt S2. Utifrån din databas erhåller du nedanstående tabell över den fullständiga simultansannolikhetsfördelningen (full joint probability distribution). S 1 = 1 S 1 = 0 S 2 = 1 S 2 = 0 S 2 = 1 S 2 = 0 D = 1 0.108 0.012 0.072 0.008 D = 0 0.016 0.064 0.144 0.576 Beräkna nedanstående sannolikheter. För att få poäng behöver du inte beräkna själva svaret eftersom du inte har någon miniräknare, men du måste ställa upp rätt sannolikhetsformel (se Bilaga 2) och stoppa in värdena från tabellen i formeln (dvs det skall framgå hur du kommer fram till svaret genom att använda de värden som finns i tabellen). a) Simultansannolikheten (joint probability) för S1 = 1 och S2 = 0. b) Den marginella sannolikheten (marginal probability) för D = 1. c) Den betingade sannolikheten (conditional probability) för S1 = 1 och S2 = 0, givet att D = 1. d) Sannolikheten för att en ny patient får diagnosen "sjuk", dvs D = 1, givet att patienten har symptom S1 men inte S2, dvs givet att S1 = 1 och S2 = 0? För att få poäng, måste du ställa upp och använda Bayes sats (tips: Bayes sats finns inte explicit angiven i en, ensam formel i formelsamlingen i Bilaga 2). e) Vad blir sannolikheten i d) om S1 och S2 antas vara villkorligt oberoende (conditionally independent) av varandra, då du vet D (tips: denna sannolikhet kan beräknas genom att använda en förenklad form av Bayes sats, som kallas för Naive Bayes, då antagandet om villkorligt oberoende uppfylls).
Bilagor Bilaga 1: Omskrivningsregler logik ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) x P x P x P x P x P x P x P x P Bilaga 2: Formelsamling sannolikhetsteori Allmänna regler (från Kolmogorovs axiomsystem) 0 P(X = x) 1, P(X = x) = 1, P(X c ) = 1 P(X) x X Simultansannolikhet ("joint probability") P(X = x, Y = y) = P(X = x Y = y)p(y = y) = P(Y = y X = x)p(x = x) P(X = x, Y = y, Z = z) = P(X = x Y = y, Z = z)p(y = y, Z = z) = P(X = x, Y = y Z = z)p(z = z) Betingad sannolikhet ("conditional probability") P(X = x Y = y) = P(X = x, Y = y) P(Y = y) P(X = x, Y = y, Z = z) P(X = x Y = y, Z = z) = P(Y = y, Z = z) P(X = x, Y = y, Z = z) P(X = x, Y = y Z = z) = P(Z = z) sannolikheten för X = x, givet att Y = y sannolikheten för X = x, givet att Y = y och Z = z sannolikheten för X = x och Y = y, givet att Z = z Lagen om total sannolikhet ("law of total probability") för 3 slumpvariabler P(X = x) = y Y,z Z P(X = x, Y = y, Z = z) den marginella sannolikheten för X = x P(X = x, Y = y) = P(X = x, Y = y, Z = z) = P(X = x, Y = y Z = z)p(z = z) z Z z Z