130 likes | 283 Views
Week 6: PDDL, itSIMPLE and running “state of the art” planners. Lee McCluskey, room 3/10 Email lee@hud.ac.uk http://scom.hud.ac.uk/scomtlm/cha2555/. Planning – up to now. Looked at the basics planning: domain models, problems, and engines
E N D
Week 6:PDDL, itSIMPLE and running “state of the art” planners Lee McCluskey, room 3/10 Email lee@hud.ac.uk http://scom.hud.ac.uk/scomtlm/cha2555/
Planning – up to now • Looked at the basics • planning: domain models, problems, and engines • Planning as heuristic search through state space looking for a state which “satisifes” the goal • Implementation of a state space planner in Prolog
This Week’s Overview • PDDL – structure and use, GUIs for building domain models • Planners – MetricFF and LPG • PDDL – see wikipedia for useful references
PDDL (planning domain description language) • ..is a family of REPRESENTATION LANGUAGES used to encode planning domains • It is used by the IPC - “International Planning Competition” held every 2 years co-located with the Int. Planning Conference (ICAPS). • The IPC websites have many, many examples of planning domains, using various flavours of the family of PDDL languages.
RUNNING EXAMPLE - r1 r2 p12 spell A SIMPLE GAME WORLD ring orc lock-1 lock-1 p24 r3 p25 lock-2 p35 bracelet r5 +Sword +Cudgel r4 p45 shield Aragorn p56 Key-2 r6 golem locket troll p57 p67 Key-1 r7 p47 +Knife Boromir
Using PDDL A domain represented with PDDL has two kinds of files: • Domain file • This is essentially the domain model: it defines the syntax for predicates and actions. • Planning problem file(s) • These file(s) define planning problem(s) in terms of an initial state, a number the objects and a goal condition
Domain File … has the following elements: Domain name ( define (domain game) Kind of PDDL (planners check this ..) ( :requirements :strips :equality :typing … ) Types – for objects (:types player monster treasure key … ) Predicates – variables ?<name> (:predicates (roompos ?x1 - player ?x2 - room) … Artform Research Group
Domain File - Operator Schema (:action fight_and_kill_monster :parameters ( ?x1 - player ?x2 - room ?x3 - passage ?x4 - protection ?x5 - weapon ?x6 - monster) :precondition (and (roompos ?x1 ?x2) (contains ?x2 ?x3) (protection_in_use ?x4 ?x1) (weilding ?x5 ?x1) (awake ?x6) (guarded ?x3 ?x6) ) :effect (and (used_up ?x4) (not (protection_in_use ?x4 ?x1)) (destroyed ?x5) (not (weilding ?x5 ?x1)) (killed ?x6 ?x1) (not (awake ?x6)) (open ?x3) (not (guarded ?x3 ?x6)) ) ) Artform Research Group
PDDL – Problem file • (define (problem task1) • (:domain game) • (:objects aragorn boromir - player golem troll orc - monster • ring locket bracelet – treasure key1 key2 - key • knife sword cudgel – weapon shield spell - protection • r1 r2 r3 r4 r5 r6 r7 - room • p12 p23 p24 p25 p45 p47 p57 p67 p35 p56 - passage) • (:init (contains r2 p23) (contains r3 p23) (contains r2 p24) …etc etc • (:goal (and (killed orc aragorn) (killed troll boromir) … • …
Graphical User Interfaces for domain modelling Motivation No need to write PDDL manually Easy to run the planners Can automatically constructs the planning domain model from the diagrams / object-oriented designs Can do consistency checking / validation Tools GIPO – Univ of Huddersfield, uses OCL, won best tool support at ICAPS’05 , not supported anymore ItSIMPLE – Unv of Sao Paulo, uses UML, won best tool support at ICAPS’09 Artform Research Group
Main versions of PDDL PDDL1.2 – basic version – like game example PDDL2.1 – numerics, durative actions ..built in functions like >, decrease, increase ..conditions on the start and end of actions Eggoogle “settlers domain PDDL” .. PDDL+ - processes, events, continuous variables .. Artform Research Group
Planners that accept some version of PDDL brought to you by itSIMPLE Most planners use the “ignore delete list” heuristic – very powerful FF (v1.2) Uses (mainly) greedy search + “ignore delete list” MetricFF(v2.1) Like FF but with durative actions etc LPG Specifically written for v2.1, uses a form of the “plangraph” (see later in course) Artform Research Group