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

Relevanta dokument
Artificiell Intelligens Lektion 1

Artificiell Intelligens II Lektion 1

729G43 Artificiell intelligens Planering

Planering. Planering vs sökning, 1. Planering vs sökning, 2. Handlingsrepresentation

Artificial Intelligence

Tentamenskod: Inga hjälpmedel är tillåtna

729G43'Ar*ficiell'intelligens' Planering' Planering' Planering'vs'sökning,'1' Planering'vs'sökning,'2' Arne'Jönsson' HCS/IDA' '

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

Lek$on 3: Kunskapsrepresenta$on. Robin Keskisärkkä

Shakey s värld med HTNplanering

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

Lek$on 4: Kunskapsrepresenta$on. Robin Keskisärkkä och Jonas Rybing

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

Vad är. Domändriven design?

INSIKT nr 4 årgång vetlanda.pingst.se

Lära dig analysera större och mer komplicerade problem och formulera lösningar innan du implementerar.

Syntaktisk parsning (Jurafsky & Martin kapitel 13)

Granskningsmetoder. Mattias Institutionen för datavetenskap Linköpings universitet

Lektion G43 Artificiell intelligens. Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Granskning av gränssnitt. Mattias Arvola

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

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

4 grundregler. Minneshantering. Problemet. Windows minkrav

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Tentamen i. TDDA 69 Data och programstrukturer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Artificiell Intelligens Övningsuppgifter

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Algoritmer och datastrukturer TDA Fredrik Johansson

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

HKGBB0, Artificiell intelligens

Tommy Färnqvist, IDA, Linköpings universitet

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015

Grundläggande datalogi - Övning 2

TDDC74 Programmering, abstraktion och modellering DUGGA 2

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

Tentamen, Algoritmer och datastrukturer

10. Mängder och språk

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Mattias Enervall (Övningsassistent) Examination. 1 Skriftlig tentamen (betyg)

Nätkurs Design & konstruktion av användargränssnitt 1MD113 Sid 1 (5) Lektion 11 Användare, uppgifter och krav del

TDDC74 Lab 02 Listor, sammansatta strukturer

UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap. Grafproblem. Laboration 4, Datastrukturer och Algoritmer VT02

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Daniel Petersson (Labassistent) Examination. 1 Skriftlig tentamen (betyg)

Programmering II (ID1019) :00-17:00

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

Analytisk relationsdatabasdesign

Interaktion 2 STYRDON, PEKDON OCH ANNAN INTERAKTION ATT RÄKNA MED

Relationsdatabasdesign

Problemlösning, kreativitet

(Data)Modellering. nikos dimitrakas rum 2423

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

Datainsamling Hur gör man, och varför?

Guide Studieteknik. Tips för lättare studier!

Barnen får genom övningen känna att de spelar roll på förskolan, och att era gemensamma upplevelser är viktiga.

Det här är en övning för de barn som har förmåga till visst abstrakt tänkande.

Avbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

Två fall: q Tom sekvens: () q Sekvens av element: (a b c) ; (sum-rec '(2 4 6)) = 12. q Första elementet uppfyller vissa villkor: (2 a b c)

TDDC74 - Projektspecifikation

Tentamen: INTE

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

QUEST TM Flödessimulering

EDA095 JavaScript. Per Andersson. Maj 4, Lund University Per Andersson EDA095 JavaScript Maj 4, / 23

729G06 Föreläsning 1 Objektorienterad programmering

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

CREATING VALUE BY SHARING KNOWLEDGE

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

Classes och Interfaces, Objects och References, Initialization

Föreläsning 4: Kombinatorisk sökning

Objektsamlingar i Java

Arv och polymorfism i Java

Programmering från början

Övningsuppgifter kapitel 8

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

TDDC74 Programmering: Abstraktion och modellering. Provkod TEN1, Tid: kl 14-18, , Kåra

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Introduktion. Byggstenar TDBA

Hjälpmedel för kompilatorkonstruktion, DVB004

CliMate följer Tre-lager-arkitektur. Domänobjekt - domänlogiklagret. Viktiga domänklasser i CliMate. De tre lagren. Paketen i CliMate:

Funktionspekare, inledning: funktionsanropsmekanismen. Anrop via pekare

TDDC74 Programmering, abstraktion och modellering DUGGA 2

Objektbaserad programmering

Lite om databasdesign och modellering

Structured Query Language (SQL)

Att hitta projekt. Björn Victor. måndag 19 mars 12

Objektorienterad Programmering DAT043. Föreläsning 9 12/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

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

Grundkurs Programmering

Frågor och svar Läraren

Företagsmodellering i UML

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2. Länkade listor Stackar Köer MyList Iteratorer Lab 2 Exceptions Paket

Problemet. Lösningen. Some problems. in the world are. not bulletizable. Aftonbladet 15 april Sir Winston Churchill.

12. Relationer och funktioner

Block 1 - Mängder och tal

Goals for third cycle studies according to the Higher Education Ordinance of Sweden (Sw. "Högskoleförordningen")

Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.'

Programsystem konstruktion med C++ (2D1387) Innehåll. övning 2 klasser och arv

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Transkript:

Lek$on 4: Planering Robin Keskisärkkä

Sy7e Få en känsla för möjligheter och begränsningar med planering Öva på att modellera planeringsproblem för en planerare

Förberedelser Läs kapitel 11 i kursboken Läs igenom labbinstruktionerna Läs igenom How to write domain and problem definitions in PDDL som finns i instruktionerna

Planerare IPP Optimal planerare baserad på Graphplan Iterative deepening A* FF Icke-optimal planerare Hittar ofta bra lösningar snabbt Hill climbing

PDDL Planning Domain Defnition Language Ett försök att standardisera sättet att definiera problem och domäner inom planering Täcker STRIPS-notationen men är ej begränsad till denna STRIPS-delmängden räcker för G-nivå ADL krävs för VG

PDDL-domän (define (domain DOMAIN_NAME) (:requirements [:strips] [:equality] [:typing] [:adl]) (:predicates (PREDICATE_1_NAME [?A1?A2...?An]) (PREDICATE_2_NAME [?B1?B2...?Bn])... ) (:action ACTION_1_NAME [:parameters [?P1?P2...?Pn] [:precondition PRECOND_FORMULA] [:effect EFFECT_FORMULA] ) (:action ACTION_2_NAME... )... )

PDDL-problem (define (problem PROBLEM_NAME) (:domain DOMAIN_NAME) (:objects A B C...) (:init (PREDICATE_NAME [A1 A2... An]) (PREDICATE_NAME [A1 A2... An])...) ) (:goal (PREDICATE_NAME [A1 A2... An]) (PREDICATE_NAME [A1 A2... An])...)

Exempel: Blocks world Blocks world Boxar kan staplas men endast fria lådor kan flyttas Sussmans anomali A C B B A C

PDDL vs STRIPS Move(A, B, C) Precond: Block(A) Block(B) Block(C) On(A, B) Clear(A) Clear(C) ADD: On(A, C) Clear(B) DELETE: Clear(C) On(A, B) (:action move :parameters (?a?b?c) :precondition (and (block?a) (block?b) (block?c) (on?a?b) (clear?a) (clear?c)) :effect (and (on?a?c) (clear?b) (not (clear?c)) (not (on?a?b)))

PDDL: Domändefini$on (define (domain blocks-world) (:requirements :strips) (:predicates (on?x?y) (on-table?x) (clear?x) (arm-empty) (holding?x) (block?x)) ;; actions: pick-up, put-down, unstack, stack ;;...

PDDL: Handlingar/operatorer (:action unstack :parameters (?b1?b2) :precondition (and (block?b1) (clear?b1) (block?b2) (on?b1?b2) (arm-empty)) :effect (and (holding?b1) (not (clear?b2)) (not (arm-empty))) )

PDDL: Problemdefini$on (define (problem sussman-anomaly) (:domain blocks-world) (:objects a b c ) (:init (block a) (block b) (block c) (on-table b) (on c a) (clear b) (clear c) (arm-empty) (:goal (and (on a b) (on b c)) )

Lösningsexempel 1. unstack(c, A) 2. put-down(c) 3. pick-up(b) 4. stack(b, C) 5. pick-up(a) 6. stack(a, B) C B A

Uppgi7 Två uppgifter Logistik Fire Emergency VG-uppgift: Utöka Fire Emergency-domänen med hjälp av ADL

Uppgi7 1 Experimentera med IPP och FF Utöka logistikdomänen och modifiera problemet Diskutera era resultat För att testa era hypoteser om vad som påverkar problems komplexitet kan ni experimentera med att göra egna ändringar Visa på någon typ av insikter

Uppgi7 2 Implementera det som saknas i problem- och domänfilerna Läs instruktionerna Var noggranna, läs flera gånger om ni är tveksamma Använd bilden som referens och fundera över vilka antaganden måste ni göra För VG: Utöka domänen med hjälp av ADL

Fire Emergency

Uppgi7 2: Handlingar VehicleArrive VehicleDepart RescuePatient MovePatient LoadPatient UnloadPatient

Tips Börja smått En handling i taget Testa operatorerna på små problem som bara kräver en eller två handlingar Skilj mellan statiska och icke-statiska predikat Vanligaste felet är parenteser som inte matchar Två vanliga logiska fel är relaterade till qualification och ramification

Lek$onsuppgi7 En apa sitter i ett rum. I taket hänger en banan som apan inte kan nå. På golvet ligger en pinne som apan kan använda för att slå på bananen så att den ramlar ner på golvet. Apan kan bara hålla en sak i taget. Målet är att apan ska äta bananen.

21 Lek$onsuppgi7 Vilka handlingar och objekt behövs? Skriv ner dessa i STRIPS-notation. Hur ser start och måltillstånd ut? Ditt axiom för att lyfta något tar antagligen inte hänsyn till att det kan vara för tungt för att lyfta. Är detta ett exempel på ramification eller qualification problemet? Uppdatera handlingarna för att klara av både små och stora objekt. Om tid finns: Försök att implementera en handling i PDDL

Live-kodning

www.liu.se