Projection Global Projection Global Consistency: Consistency: Application in AI Application in AI Planning Planning Pavel Surynek Pavel Surynek Charles University, Charles University, Prague Prague Czech Republic Czech Republic
Dec 14, 2015
Projection Global Projection Global Consistency:Consistency:Application in AI PlanningApplication in AI Planning
Pavel SurynekPavel Surynek
Charles University, PragueCharles University, PragueCzech RepublicCzech Republic
Outline of the Outline of the presentationpresentation
Problem: Problem: select a set of non-mutex select a set of non-mutex actions supporting a goalactions supporting a goal
Obstacle: Obstacle: NP-completeNP-complete (Partial) solution: global consistency - (Partial) solution: global consistency -
projection consistencyprojection consistency Application:Application: AI Planning AI Planning using using
planning graphsplanning graphs Experiments: Experiments: several planning several planning
domainsdomains
CSCLP 2006 Pavel Surynek
Problem - support Problem - support problemproblem
GoalGoal = finite = finite set of atomsset of atoms Action Action = triple (preconditions, = triple (preconditions,
positive effects, negative effects)positive effects, negative effects)
CSCLP 2006 Pavel Surynek
Goal:
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10 A11
A12
x
atom 1 atom 2 atom 3 atom 4
supports foratom 1
supports foratom 2
supports foratom 3
supports foratom 4
xx
x x
x
x
x
A1
A2
A3
A4
A6
A9
A8
A10 A11
A12
A5
A7 solution - mutex free
Mutex actionsMutex actions
CSCLP 2006 Pavel Surynek
3 1
2
1
(two) actionsload(small_truck,box1)load(big_truck,box2)are independent
(two) actionsload(small_truck,box1)load(big_truck,box1)are dependent
example of actionexample of action– load(small_truck, box1) load(small_truck, box1) = ({empty(truck), = ({empty(truck),
on(bottom, box1)}; {loaded(box1, truck)}; on(bottom, box1)}; {loaded(box1, truck)}; {{¬¬empty(truck), empty(truck), ¬¬on(bottom, box1)})on(bottom, box1)})
generalized dependency = generalized dependency = mutexmutex
Obstacle - NP Obstacle - NP completenesscompleteness
Instance:Instance:– goal goal augmented with augmented with finite sets of finite sets of
supporting actionssupporting actions– finite set of finite set of mutexes between actionsmutexes between actions
Answer:Answer:– set of set of non-mutex actions supporting the non-mutex actions supporting the
goalgoal NP-completeNP-complete
– SAT instanceSAT instance in in CNF CNF ►►► support ►►► support problemproblem
CSCLP 2006 Pavel Surynek
Projection consistencyProjection consistency
Interpret support problem as aInterpret support problem as a graph graph Greedily find (vertex disjoint)Greedily find (vertex disjoint) cliques cliques ►►►►►►
►►►►►► clique decompositionclique decomposition At most one action At most one action from each cliquefrom each clique can can
be selectedbe selected
CSCLP 2006 Pavel Surynek
a real support problem
Trucks, Cranes, Locations
Counting argumentCounting argument
CliqueClique decompositiondecomposition C C11, C, C22,..., C,..., Ckk
ContributionContribution of an action of an action a ac(a) = c(a) = number of supported atomsnumber of supported atoms
ContributionContribution of a clique of a clique CCc(C) = maxc(C) = maxaaC C c(a)c(a)
Counting argument Counting argument (simplest form)(simplest form)ifif ∑ ∑i=1...k i=1...k c(Cc(Cii) < size of the goal ►►►) < size of the goal ►►►►►► the goal is ►►► the goal is unsatisfiableunsatisfiable
Generalized form = projection consistencyGeneralized form = projection consistency– w.r.t. sub-goals w.r.t. sub-goals andand singleton approach singleton approach
CSCLP 2006 Pavel Surynek
Application: AI PlanningApplication: AI Planning
Planning problemPlanning problem– Initial state: Initial state: set of atomsset of atoms– Set of allowed actionsSet of allowed actions– Goal: Goal: set of atoms (literals)set of atoms (literals)
TaskTask– determine a determine a sequencesequence
of actions of actions transformingtransforminginitial stateinitial state to the to the goalgoal
Solution: Solution: planning graphsplanning graphs and and GraphPlanGraphPlan algorithm (Blum & Furst, 1997) - support algorithm (Blum & Furst, 1997) - support problem problem arise as a frequent sub-problemarise as a frequent sub-problem
CSCLP 2006 Pavel Surynek
location B location Clocation A
5 6
location D
location E
location F
31
42
location B location Clocation A
5
location D
location E
location F
31
2
64
Experiments:Experiments: towers of towers of HanoiHanoi
CSCLP 2006 Pavel Surynek
Original puzzle (3 pegs, 4 discs, and 1 hand)
Our generalization (more pegs, discs, and hands)
Experiments:Experiments: DWR DWR
CSCLP 2006 Pavel Surynek
5 631
42
987
Locations with several places for stacks of boxes and with several cranes
Each crane can reach some stacks within location (not all) Trucks of various capacities (small - 1 box, big - 2 boxes)
Experiments:Experiments: Refueling Refueling planesplanes
CSCLP 2006 Pavel Surynek
distance X
distance Y
distance Z
Several planes dislocated at several airports Transport a fleet of planes at destination airport Airport - unlimited source of fuel, planes can refuel in-flight
Experiments:Experiments: Results Results
CSCLP 2006 Pavel Surynek
Total Problem Solv ing Time
0.10
1.00
10.00
100.00
1000.00
10000.00
han0
1
dwr0
3
dwr0
4
han0
2
pln04
dwr0
2
dwr0
1
han0
4
pln01
han0
3
pln10
han0
7
pln05
dwr0
5
pln06
pln11
dwr0
7
han0
8
dwr1
6
pln13
dwr1
7
Tim
e (
se
co
nd
s)
Standard
Arc-consistency
Projection-consistency
Significant improvements on problems with high action parallelism (Dock Worker Robots, Refueling Planes, Hanoi Towers with more hands)