Sunteți pe pagina 1din 14

PDDL: Knight Tour with

Holes
URUKH-AI
Planning Domain Definition Language

 PDDL is a standard encoding language for “classical”


planning tasks.
 Component of a PDDL planning task are:
 Objects: things in the world that interest us.
 Predicates: properties of objects, can be true or false.
 Initial State: the state of the world at the beginning.
 Goal: things that we want to be true.
 Actions: ways of changing the state of the world.
Knight Tour with Holes

 The environment is represented by a chessboard, but in


our scenario we used a 4x4 matrix, in order to simplify the
computation.
 We want to move the knight in each cell of the matrix
according to chess rules.
 When this goal is reached the knight must return in
starting position.
Our Encoding

 Objects in Knight domain:


 Cell
Our Encoding

 Predicates in Knight domain:


Our Encoding

 Initial State in Knight domain:


Our Encoding

 Goal in Knight domain:


Our Encoding

 Action in Knight domain:


Full-logical approach vs
Search approach
Planning using Boolean Satisfiability

 We can translate a PDDL description into a form that can


be processed by SAT.
 We can replace each action with a set of ground actions
formed by substituting constants for each of the variables.
 Define the initial state: assert every instance in initial
state as true and false otherwise.
Planning using Boolean Satisfiability
Translating the goal: we need that the clause must be
ground.
 For example, in our scenario this is the translation:

 Precondition and the effects: like an implication, if a


precondition is true the effect must be true.
 Precondition → Effect
Planning using a graph
 We can build a graph that takes as input a planning problem
and produces a sequence of operations for reaching a goal
state.
 The graph is composed by:
 Nodes: are possible states.
 Edges: indicate reachability through a certain action.
 The first level represents the initial state, and the last level
contains all the facts that appear in the goal state.
 Lists of incompatible facts that cannot be true at the same
time and incompatible actions that cannot be executed
together.
Full-logic vs Search
 Full-logic: we describe the solution and the actions throught
rules, but we don’t decribe how to reach solution.

 Search: we define the algorithm that we use to reach the


solution.
THANK YOU!
URUKH-AI GROUP

S-ar putea să vă placă și