Artificial Intelligence

Relevanta dokument
Artificiell Intelligens

Tentamenskod: Inga hjälpmedel är tillåtna

Tentamen: Programutveckling ht 2015

Artificial Intelligence

Varför är logik viktig för datavetare?

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Lektion 2: Sökagenter. Robin Keskisärkkä

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Vad behövs för att skapa en tillståndsrymd?

Lek$on 4: Planering. Robin Keskisärkkä

de var svåra att implementera och var väldigt ineffektiva.

Grundläggande logik och modellteori

Artificiell Intelligens II Lektion 1

Probabilistisk logik 1

Semantik och pragmatik (Serie 4)

Artificiell intelligens

Tentamen i. TDDC67 Funktionell programmering och Lisp

Anna: Bertil: Cecilia:

Artificiell Intelligens Lektion 1

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Semantik och pragmatik

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

TENTAMEN I STATISTIKENS GRUNDER 1

3 Grundläggande sannolikhetsteori

Tänk på följande saker när du skriver tentan:

729G43 Artificiell intelligens Probabilistisk logik. Arne Jönsson HCS/IDA

TENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010

Tentamen i Algoritmer & Datastrukturer i Java

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

SF1901: SANNOLIKHETSTEORI OCH STATISTIK GRUNDLÄGGANDE SANNOLIKHETSTEORI, BETINGAD SANNOLIKHETER, OBEROENDE. Tatjana Pavlenko.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

Tentamen Datastrukturer för D2 DAT 035

SF1901: Sannolikhetslära och statistik Föreläsning 2. Betingad sannolikhet & Oberoende

Tentamen, Algoritmer och datastrukturer

K3 Om andra ordningens predikatlogik

Logik för datavetare DVK:Log Tisdagen 28 oktober Institutionen för dataoch systemvetenskap David Sundgren

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

Probabilistisk logik 2

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS

729G43 Artificiell intelligens Planering

SF1901: SANNOLIKHETSTEORI OCH GRUNDLÄGGANDE SANNOLIKHETSTEORI, STATISTIK BETINGADE SANNOLIKHETER, OBEROENDE. Tatjana Pavlenko.

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Grundläggande logik och modellteori (5DV102)

TMS136. Föreläsning 2

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Semantik och pragmatik

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Mycket kortfattade lösningsförslag till tenta i AI 6 nov 2003

TENTA: TDDD11 & TDDC68. Tillåtna hjälpmedel. Starta Emacs, terminal och tentakommunikationsfönster. Skicka in frågor och uppgifter

Tentamen Datastrukturer D DAT 035/INN960 (med mycket kortfattade lösningsförslag)

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

Robin Stenwall Lunds universitet

Försättsblad tentamen Fakulteten för hälsa och samhälle

Robin Stenwall Lunds universitet

Graärgning och kromatiska formler

if (n==null) { return null; } else { return new Node(n.data, copy(n.next));

DD1350 Logik för dataloger

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 29 augusti 2015, kl 8 12

Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf

Grundläggande logik och modellteori (5DV102)

SF1901: Sannolikhetslära och statistik Föreläsning 2. Betingad sannolikhet & Oberoende

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

En introduktion till predikatlogik

Stat. teori gk, ht 2006, JW F7 STOKASTISKA VARIABLER (NCT 5.7) Ordlista till NCT

Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

SF1901: Sannolikhetslära och statistik Föreläsning 2. Betingad sannolikhet & Oberoende

Matematik. Bedömningsanvisningar. Vårterminen 2010 ÄMNESPROV. Delprov B ÅRSKURS

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Tentamen Datastrukturer (DAT037)

Tentamen Datastrukturer D DAT 035/INN960

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen

Datalogi, grundkurs 1

Innehåll. Inledning... 3

HKGBB0, Artificiell intelligens

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

Predikatlogik: Normalformer. Klas Markström

Trädstrukturer och grafer

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för:

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

Betingad sannolikhet och oberoende händelser

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

DD1350 Logik för dataloger

Övningshäfte 2: Induktion och rekursion

TDDB56 DALGOPT Algoritmer och Optimering Tentamen , 8 13

Robin Stenwall Lunds universitet

Övning 1 Sannolikhetsteorins grunder

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

Tentamen *:58/ID100V Programmering i C Exempel 3

MS-A0409 Grundkurs i diskret matematik I

Transkript:

Omtentamen Artificial Intelligence Datum: 2014-08-27 Tid: 09.00 13.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) Problemrepresentation och sökning i tillståndsrymder. (4p) Kannibaler och missionärer är ett välkänt problem inom AI. Tre kannibaler och tre missionärer befinner sig på en stand A på ena sidan av en å och måste ta sig över till den andra standen B. Till sin hjälp har de en eka som rymmer maximalt 2 personer åt gången. Ingen person kan simma över ån och ekan kan inte flyta över ån av sig själv utan det måste finnas åtminstone 1 person i ekan. Dessutom får det inte finnas fler kannibaler än missionärer på någon utav de två stränderna vid något tillfälle, annars äter kanibalerna upp missionärerna. Generisk Sökalgoritm 1. Placera initialtillståndet S i en tom lista OPEN. 2. Skapa en tom lista CLOSED. 3. Om OPEN är tom, avsluta med misslyckande. 4. Avlägsna den första noden N i OPEN och placera i CLOSED. 5. Om N är en målnod, avsluta med lyckats. 6. Expandera N, dvs använd produktionsreglerna för att hitta en mängd NEW av noder som kan nås från N. Av dessa noder, lägg noderna i OPEN om de inte redan finns i OPEN eller CLOSED. Sortera noderna beroende på vald sökstrategi. 7. Loopa tillbaka till steg 3. a) Ge en lämplig representation av problemet: Hur ser representationen av tillstånden ut? Viket är starttillståndet samt måltillståndet? Hur ser produktionsreglerna ut, dvs vilka är de möjliga (tillåtna) förflyttningarna från ett tillstånd till ett annat? b) Bredden först och djupet först är två vanliga sökstrategier. Förklara med egna ord hur dessa sökstrategierna fungerar samt jämför deras för- och nackdelar. Förklara även hur OPEN listan (i den generiska sökalgoritmen ovan) implementeras (datastruktur) för respektive sökstrategi, dvs hur läggs noderna i NEW till i OPEN listan i steg 6 i den generiska sökalgoritmen för bredden först samt djupet först? c) Rita de två första nivåerna i problemets sökträd för bredden först och djupet först (dvs expandera startnoden samt nästa nivå). För varje nivå, ange hur innehållet i listorna OPEN och CLOSED ser ut (numrera noderna 1..n). Förklara även syftet med de två listorna OPEN och CLOSED. Vad hade hänt om samtliga noder i NEW lades till i OPEN (steg 6) även om vissa noder redan fanns i OPEN eller CLOSED? d) För problem där vissa noder kan vara mer lovande än andra, t.ex. där kostnaden att gå via en barnnod är mindre än en annan, kan sökstrategierna best first samt hill climbing användas. Dessa två sökstrategierna kan användas i den generiska sökalgoritmen ovan (steg 6). Ange om noderna i NEW läggs till först eller sist i OPEN listan samt hur noderna sorteras för respektive sökstrategi (i steg 6). Tips: antigen sorteras NEW innan noderna läggs till i OPEN eller så sorteras hela listan efter att NEW har lagts till i OPEN).

2) Logiska agenter. (4p) En klass av exempelvärldar för logiska agenter som boken tar upp är Wumpusvärldarna. Ett exempel på en sådan värld följer nedan. a) Skriv en PEAS (Performance, Environment, Actuators/Actions, Sensors) beskrivning för en agent i en Wumpusvärld. b) Karakterisera agentens miljö i en Wumpusvärld utifrån dimensionerna Nivå av observerbarhet Deterministisk/Stokastisk Episodisk/Sekventiell Statisk/Dynamisk Diskret/Kontinuerlig En/Flera agenter. c) Definiera följande två predikat i predikatlogik (First-Order Logic) för Wumpusvärldar: Predikatet Breezy(s) som är sant för de rutor s som ligger intill en grop. Predikatet HaveGold(t) som är sant om och endast om agenten bär på guldet vid tiden t. Du kan anta att predikaten Action(a,t) som är sant om agenten utförde handlingen a vid tiden t; Adjacent(a,b) som är sant om rutorna a och b ligger intill varandra; Breeze(t) som är sant om agenten kände drag vid tiden t; Glitter(t) som är sant om agenten såg guldet glittra vid tiden t; Pit(a) som är sant om a är en ruta med en grop; och Stench(t) som är sant om agenten kände lukten av en Wumpus vid tiden t; samt de axiom som krävs för heltalsmatematik finns.

3) Klassisk planering (4p) a) Beskriv de typiska egenskaper (bl.a. utifrån dimensionerna i uppgift 2b) hos ett problem som krävs för att de metoder som inom AI kallas klassisk planering skall vara applicerbara. b) Boken beskriver ett språk för att beskriva planeringsproblem, Planning Domain Definition Language (PDDL). Beskriv språkets delar, hur de tillsammans modellerar problemet samt hur språket förhåller sig till satslogik och predikatlogik, speciellt utifrån uttryckskraften. Notera att svaret inte behöver fördjupa sig i syntaxen eftersom den ändå syns i PDDL exemplet nedan utan fokus skall ligga på semantiken. c) Gör en planeringsgraf för följande flygfraktsproblem som beskrivits i PDDL: Init(At(C1,ESGG) At(C3,EHAM) At(P1,EHAM) At(P2, EHAM) Cargo(C1) Cargo(C2) Plane(P1) Plane(P2) Airport(ESGG) Airport(EHAM)) Goal(At(C1,EHAM) At(C2, ESGG)) Action(Load(c, p, a), PRECOND: At(c, a) At(p, a) Cargo(c) Plane(p) Airport(a) EFFECT: At(c, a) In(c, p)) Action(Unload(c, p, a), PRECOND : In(c, p) At(p, a) Cargo(c) Plane(p) Airport(a) EFFECT : At(c, a) In(c, p)) Action(Fly(p, from, to), PRECOND : At(p, from) Plane(p) Airport(from) Airport(to) EFFECT : At(p, from) At(p, to)) Planeringsgrafen skall innehålla nivåerna S0; A0; S1; A1; S2, etablerade symboler, etablerade negationer av symboler samt applicerbara handlingar (inkl. persistens) med precondition och effekt skall markeras i respektive nivå. Symbolerna Cargo, Plane och Airport behöver inte inkluderas och mutexlänkar behöver inte markeras. Se till att använda tillräckligt med plats, använd två (eller fler) papper i bredd om så krävs.

4) Beslutsfattande under osäkerhet (OBS! Formelsamling finns i bilagan). (4p) Du vill skapa ett eget spamfilter baserat på förekomsten av orden gratis och pengar i dina mejl. Anta att du har sparat undan 10 mejl enligt nedanstående lista, där du har markerat mejlen som spam eller inte spam samt förekomsten av de två orden gratis och pengar i respektive mejl. En "1" betyder att respektive ord förekommer i mejlet samt en "0" att respektive ord inte förekommer mejlet. En "1" i spamkolumnen innebär att respektive mejl är spam medans en "0" innebär att mejlet inte är spam. Gratis Pengar Spam 1 0 1 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 Beteckna sannolikheten för spam P(S=1) samt inte spam P(S=0). På samma sätt betecknas sannolikheterna för förekomsten av orden gratis och pengar som P(G=1) respektive P(P=1) samt avsaknaden av de båda orden med P(G=0) respektive P(P=0). Utifrån ovanstående tabell kan ett antal empiriska sannolikheter beräknas. a) Vad är den obetingade sannolikheten för spam P(S=1)? Vad är den betingade sannolikheten för förekomsten av ordet gratis och avsaknaden av ordet pengar givet att ett mejl är spam P(G=1,P=0 S=1)? b) Vad är den betingade sannolikheten för förekomsten av ordet gratis givet att ett mejl är spam P(G=1 S=1) respektive inte spam P(G=1 S=0)? Vad är den betingade sannolikheten för avsaknaden av ordet pengar givet att ett mejl är spam P(P=0 S=1) respektive inte spam P(P=0 S=0)? c) Vad är simultansannolikheten för förekomsten av ordet gratis, avsaknaden av ordet pengar samt inte spam P(G=1,P=0,S=0)? Vad är simultansannolikheten för förekomsten av ordet gratis, avsaknaden av ordet pengar samt spam P(G=1,P=0,S=1)? d) Anta att du får ett nytt mejl som innehåller ordet gratis men inte ordet pengar. Ställ upp formlen för Bayes sats och räkna ut sannolikheten att mejlet är spam givet att ordet gratis men inte ordet pengar förekommer i mejlet P(S=1 G=1,P=0). e) Utför samma beräkning som i uppgift c) men anta att slupvariablerna G och P är oberoende av varandra givet slupvariabeln S, dvs ställ upp formeln för Naive Bayes istället för Bayes sats. Själva svaret behöver inte räknas ut på denna uppgift.

Bilagor Bilaga: 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/Villkorlig 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") P(X = x) = y Y P(X = x, Y = y) den marginella sannolikheten för X = x (2 variabler) P(X = x) = y Y,z Z P(X = x, Y = y, Z = z) den marginella sannolikheten för X = x (3 variabler) 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 Oberoende ("independence") P(X = x, Y = y) = P(X = x)p(y = y) sannolikheten då X och Y är oberoende av varandra Betingat/Villkorligt oberoende ("conditional independence") P(X = x Y = y) = P(X = x) P(X = x Y = y, Z = z) = P(X = x Z = z) sannolikheten då X är oberoende av Y sannolikhet då Xoch Y är oberoende av varandra givet Z P(X = x, Y = y Z = z) = P(X = x Z = z)p(y = y Z = z)