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

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

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

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

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

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

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

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

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

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

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

Sökning. Sökning. Köoperationer. Generell sökalgoritm

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

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

729G43 Artificiell intelligens Sökning

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

HKGBB0, Artificiell intelligens

Artificiell intelligens

Probabilistisk logik 2

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler

Programmering II (ID1019) :00-11:00

ADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar


Ett generellt träd är. Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn

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

Föreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna

A B C D E F A B C D E F (3) Svar: Tabellen ger grafen:

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU

PROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007

Optimeringslära Kaj Holmberg

min c 1 x 1 + c 2 x 2 då x 1 + x 2 = 1, x 1 {0, 1}, x 2 {0, 1} plus andra bivillkor. Vi måste göra k st av n alternativ:

Föreläsning 13 Innehåll

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

Programmering II (ID1019) :00-12:00

Artificial Intelligence

ADT Prioritetskö. Föreläsning 12 Innehåll. Prioritetskö. Interface för Prioritetskö. Prioritetsköer och heapar

min c 1 x 1 + c 2 x 2 då x 1 + x 2 = 1, x 1 {0, 1}, x 2 {0, 1} plus andra bivillkor. Vi måste göra k st av n alternativ:

Optimeringslära Kaj Holmberg

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.

Binära sökträd. Seminarium 9 Binära sökträd Innehåll. Traversering av binära sökträd. Binära sökträd Definition. Exempel på vad du ska kunna

Artificiell Intelligens Övningsuppgifter

Tentamen Datastrukturer D DAT 035/INN960

Föreläsning 4: Kombinatorisk sökning

Artificiell Intelligens Lektion 4

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

Seminarium 13 Innehåll

Föreläsning Datastrukturer (DAT036)

Optimeringslära Kaj Holmberg

Programmering II (ID1019) :00-11:00

Föreläsning 11. Giriga algoritmer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU

Optimering och simulering: Hur fungerar det och vad är skillnaden?

Programmering II (ID1019) :00-17:00

Programmering II (ID1019) :00-12:00

Kovarians och kriging

Tabeller. Programkonstruktion. Moment 8 Om abstrakta datatyper och binära sökträd. Implementering av tabellen. Operationer på tabellen

Föreläsninsanteckningar till föreläsning 3: Entropi

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Informationsteknologi Tom Smedsaas 19 augusti 2016

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Programmeringsmetodik DV1 Programkonstruktion 1. Moment 8 Om abstrakta datatyper och binära sökträd

Tentamen Datastrukturer för D2 DAT 035

N = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod.

Tentamenskod: Inga hjälpmedel är tillåtna

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Optimeringslära Kaj Holmberg

Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim

Kunskapsrepresentation

Datastrukturer. föreläsning 10. Maps 1

1 Minkostnadsflödesproblem i nätverk

DD1361 Programmeringsparadigm HT17

Föreläsning 5: Grafer Del 1

Trädstrukturer och grafer

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

Föreläsning 9 Innehåll

Tillämpad Programmering (ID1218) :00-13:00

En typisk medianmorot

ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

Datastrukturer. föreläsning 10. Maps 1

Föreläsning 12+13: Approximationsalgoritmer

Föreläsning 1. Introduktion. Vad är en algoritm?

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet

Datastrukturer. föreläsning 8. Lecture 6 1

Lipschitz-kontinuitet

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

PCP-satsen på kombinatoriskt manér

Träd Hierarkiska strukturer

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

729G43 Artificiell intelligens Planering

Upplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)

Objektorientering: Lagring, räckvidd och livstid

Artificial Intelligence

Examinator: Torbjörn Larsson Jourhavande lärare: Torbjörn Larsson, tel Tentamensinstruktioner. När Du löser uppgifterna

TDDI16 Datastrukturer och algoritmer. Prioritetsköer, heapar, Union/Find

MVE051/MSG Föreläsning 14

Tentamensinstruktioner. När Du löser uppgifterna

Transkript:

1. Komplexiteten hos en agent beror mycket på vilken omgivning den skall verka i. Vad innebär det att en omgivning är stokastisk, episodisk och dynamisk? Ge exempel på en omgivning som är stokastisk, episodisk och dynamisk. () var: tokastisk innebär att agenten inte kan vara säker på utfallet av en handling. pisodisk innebär att handlingar sker i episoder, att en handling inte beror av vad som hänt tidigare. Dynamisk innebär att omgivningen kan ändras medans agenten fattar beslut. xempel: Plockrobot.. Vid problemlösning är det bra att problemet formuleras så att det går att söka en lösning i en tillståndsrymd. Förklara vad det innebär och innebörden av de olika delarna i ett problem formulerat som ett tillståndsrymdsproblem. Ge ett exempel på ett problem formulerat som tillståndsrymdsproblem. () var: Vid lösning av problem som sökning i en tillståndsrymd definierar man de tillstånd som finns i problemdomänen, ofta som tupler (x, y, s,...). an behöver då definera ett starttillstånd, en målfunktion, en vägkostnadsfunktion samt de tillståndsövergångar som finns, dvs de tillstånd man kan komma till då man i ett tillstånd applicerar alla legala drag som finns i det tillståndet. tt exempel är vattenhinksproblemet där man kan representera ett tillstånd med två variabler (x,y) där x representerar -litershinken och y -litershinken. tarttillstånd: (0, 0) åltillstånd: (, y) Vägkotsnadsfunktionen antas returnera kostanden 1 för varje operation. Operatorer: (x, y x<) (, y) (x, y y<) (x, ) (x, y x>0) (0, y) (x, y y>0) (x, 0) (x, y x+y y>0) (, y-(-x)) (x, y x+y x>0) (x-(-y), ) (x, y x+y y>0) (x+y, 0) (x, y x+y x>0) (0, x+y). eskriv sökmetoderna Uniform Cost, Greedy earch och A*. Visa sökträden vid sökning från (tart) till (ål) i nätet nedan. Värden på bågarna anger kostnaden mellan noder och värden vid noder i fet stil anger uppskattad återstående kostnad till från den noden. Diskutera dina lösningar, för-och nackdelar samt varför träden ser ut som de gör. 1

A C D 1 F var: Uniform Cost är en bredden först sökmetod för vägkostnader som inte är lika stora. Den genererar optimala träd men till en väldigt hög sökkostnad. Greedy earch är en heuristisk sökmetod som bara söker vidare från de noder som för närvarande ligger närmast målet enligt den heuristik som finns. Den genererar i många fall mindre träd, men i värsta fall är den lika exponentiell som Uniform Cost. Den är inte komplett, och följaktligen inte heller optimal. A* kombinerar dessa metoder och genererar en optimal lösning till en kostnad som förhoppningsvis, och mycket beroende på heuristiken, är lägre än Uniform Cost. I värsta fall är dock även A* exponetiell. ()

Uniform Cost A C D 7 7 7 F 7 11 9 C 10 9 D 10 A 9 D 10 9 9 9 Greedy earch A C D A* A C 8 D 9 11 11 F 9 11 1 11 9. Förklara sökmetoden α-β cutoff. Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen på samtliga löv. Hur ser trädet ut om vi kör α-β cutoff? () 6 8 8 1 9 0 7 0 ()

var: αβ-cutoff är en variant av max-min-sökstrategin där man tar hänsyn till de drag motståndaren kan göra för att skära bort sökträd som inte kommer att kunna väljas eftersom motståndaren vill minimera värdet av evalueringsfunktionen. an inför två variabler α för det lägsta värde en maxnod kan få och β som är det hösta värde en minnod kan få. en avbryter man min-sökningen i trädet då man får en nod med värde mindre än α och max-sökningen då nod med värde större än β funnits. 6 8 9 6 8 9 0 7 0. Gör rimliga antaganden och översätt följande meningar till predikatlogiska uttryck: Olga är mu muer har små hjärnor De som har små hjärnor är lättlurade och visa med resolution att () Olga är lättlurad () var: (1) mu(olga) () h mu(h) j LitenHjärna(j) Har(h, j) () s,t LitenHjärna(t) Har(s,t) Lättlurad(s) och det som skall visas: () Lättlurad(Olga) efter konvertering fås: (1) mu(olga) () mu(h) (LitenHjärna(g(h)) Har(h, g(h))) där g(h) är en kolemfunktion (a) mu(h) LitenHjärna(g(h)) (b) mu(h) Har(h,g(h)) () LitenHjärna(t) Har(s,t) Lättlurad(s) () Lättlurad(Olga)

och sen ger resolution t.ex. () + () med {s/olga}: () LitenHjärna(t) Har(Olga,t) () + (a) med {t/g(h)}: (6) mu(h) Har(Olga,g(h)) (6) + (b) med {h/olga}: (7) mu(olga) (7) + (1) ger en tom klausul och vi har visat att Lättlurad(Olga) 6. I en generell ontologi vill man gärna göra kategorier till objekt. Varför? Detta gör också att man kan skapa taxonomier. Varför vill man det? Diskutera problem som kan uppstå då kategorier och objekt lagras i ärvningshierarkier. () var: an vill inte bara resonerar om instanser/objekt utan om koncept/kategorier. Detta ger en mer kompakt representation och är också det sätt som människor representerar kunskap. Genom att göra objekt till predikat i språket kan man resonera om kategorier. x Guld refererar till kategorin Guld, x? Guld betyder att x är guld. Detta kallas reification och gör att man kan skriva t.ex. Färg(Guld) = gul, dvs kategorin Guld har egenskapen att vara gul. Kategorier ärver egenskaper. x Guld Ädelmetall betyder att Guld är en subklass av Ädelmetall och ärver alla dess egenskaper, t.ex. att vara gul och värdefull. Problem uppkommer om man tillåter multipel ärvning, vilket man gärna vill då kategorier kan vara subklasser av flera kategorier. tt sätt att hantera detta är att ta minsta avståndet i hierarkin. Ibland räcker inte det utan då får man ta minsta inferensavståndet, vilket innebär att man först letar sig uppåt i hierarkin till en gemensam nod med värde på attributet man är intresserad av och därefter nedåt till en nod som eventuellt ligger nedanför den gemensamma noden med värde på attributet. Ibland går inte detta heller, om det t.ex. saknas gemensam nod. Då får man en konflikt.