Temporal Fast Downward Using the Context-enhanced Additive Heuristic for Temporal and Numeric Planning Patrick Eyerich Robert Mattmüller Gabriele Röger Department of Computer Science University of Freiburg, Germany September 21, 2009
Motivation Planning with Time and Resources Observations: Time and resources important in real-world problems. Heuristic search with context-enhanced additive (cea) heuristic successful in sequential planning. Question: Does the approach also work with time and resources?
Planning with Time and Resources Example (Planning Task) Two gardening robots need to water flowers. Water levels, capacities and water needs are given. Robots can work concurrently. robot1 c 1 = 150 flower1 n 1 = 100 w 1 = 0 flower3 flower2 n 2 = 80 n 2 = 70 robot2 c 2 = 150 h 2 = 20 w 2 = 0 h 2 = 13 h 1 = 10 ℓ 2 ℓ 1 ℓ 0 ℓ 3 d 12 = 40 d 01 = 70 d 03 = 100 ∞ reservoir
Planning with Time and Resources Durative Actions Actions have durations and may affect numeric variables. Conditions at-start, over-all, or at-end. Effects at-start or at-end. Example (Durative Actions) Walking from one location to an adjacent one. (at r i ℓ j ) (connected ℓ j ℓ k ) (walk r i ℓ j ℓ k ) [ d jk ] (not (at r i ℓ j )) (at r i ℓ k )
Planning with Time and Resources Durative Actions Example (Durative Actions, ctd.) Watering a flower at a certain location. w i ≥ n k − h k (in f k ℓ j ) (at r i ℓ j ) (at r i ℓ j ) (at r i ℓ j ) (water r i ℓ j f k ) [ n k − h k ] h k := n k w i − = ( n k − h k )
Planning with Time and Resources Temporal Plans Must respect causal and temporal constraints. May contain concurrent actions. Example (Temporal Plan) Robots robot1 and robot2 work concurrently. 150 70 90 40 50 (refill r 1 ℓ 0 ) (walk r 1 ℓ 0 ℓ 1 ) (water r 1 ℓ 1 f 1 ) (walk r 1 ℓ 1 ℓ 2 ) (water r 1 ℓ 2 f 2 ) 150 100 67 (refill r 2 ℓ 0 ) (walk r 2 ℓ 0 ℓ 3 ) (water r 2 ℓ 3 f 3 ) t = 0 t = 400 + 5 ε
Temporal Numeric SAS + Planning Tasks Definition (Temporal Numeric SAS + Planning Task) A temporal numeric SAS + planning task Π = �V , s 0 , s ⋆ , A , O� consists of the following components: A finite set V of state variables. Each variable is either: A numeric variable with values in R . A comparison variable with values in { T, F } . A logical variable with arbitrary finite domain. An initial state s 0 . A goal description s ⋆ . A finite set A of axioms. A finite set O of durative actions.
Temporal Numeric SAS + Planning Tasks Representation of Subterms via Auxiliary Variable and Axioms Axioms and auxiliary variables used to represent numeric and logic subterms. Allows sharing of subterms. Convenient for heuristic computation.
Temporal Numeric SAS + Planning Tasks Representation of Subterms via Auxiliary Variable and Axioms Example (Auxiliary variables and axioms for subterms) Consider the condition aux 3 ∧ ∧ (at r ℓ ) ( w − n ≥ 0) aux 2 (at r ℓ ) � �� � ≥ aux 1 � �� � aux 1 0 aux 2 − � �� � w n aux 3
Temporal Fast Downward (TFD) Extends F AST D OWNWARD . Uses F AST D OWNWARD architecture. Step 1: Translate PDDL to temporal numeric SAS + . Step 2: Preprocess temporal numeric SAS + . Step 3: Search for plan. [Topic of the rest of the talk] Best-first search. Context-enhanced additive heuristic. Deferred heuristic evaluation. Preferred operators.
Temporal Fast Downward Search Example (Time-stamped State) Scheduled over-all conditions Scheduled end conditions c ↔ c 1 ⊣ e ⊣ c 2 ⊣ 0 s t State Time stamp Scheduled effects
Temporal Fast Downward Search Example (Time-stamped State) 0
Temporal Fast Downward Search Example (Time-stamped State) 0
Temporal Fast Downward Search Example (Time-stamped State) 0
Temporal Fast Downward Search Example (Time-stamped State) 0
Context-Enhanced Additive Heuristic Idea: Solve goals and recursively take care of subgoals/preconditions to estimate makespan. Return accumulated costs. Local contexts: Used to keep track of (side-)effects. Drawback – inadmissibility: Repeated solution of subproblems. Transformation to instant-actions. No concurrency-awareness. Advantage – preferred operators: By-product of heuristic. Used to guide search towards better operators.
Context-Enhanced Additive Heuristic Instant Actions Problem: Need to simplify durative actions for heuristic. Solution: Ignore start-end distinction for conditions and effects. General form: instant action = (conditions, effects, cost)
Context-Enhanced Additive Heuristic Instant Actions Example (Compressed-action transitions) Pretend that action happens instantly. a a b (action) [ 17 ] c ∧ d ¬ d Corresponding compressed-action transitions: cond = { a, b } ; eff = { c, d, ¬ d } ; cost = 17
Context-Enhanced Additive Heuristic Instant Actions Example (Waiting transitions) a (action) [ 17 ] ¬ a goal Assume that action is currently under execution and no other action can restore a , and we need the end-effect goal . Then the other types of instant actions do not help in reaching goal , even though we can actually obtain goal by waiting long enough. Corresponding waiting transitions: cond = ∅ ; eff = { goal } ; cost = ∆ t
Context-Enhanced Additive Heuristic Instant Actions Example (Axiom transitions) All axioms are interpreted as instant actions with cost 0.
Context-Enhanced Additive Heuristic Local Problems A local problem answers the question: “What does it cost to change the value of v from w to w ′ ?”
Context-Enhanced Additive Heuristic Example Causal graph Comparison axiom g c ≥ ℓ 1 c n 3 n 4 + n 3 n 4 n 1 n 2 n 1 n 2 ℓ 2 Current state: g = F Goal: g = T
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 0 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F ℓ 1 = w 3 ∧ c = T g = F g = T 10
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 0 ℓ 1 = w 1 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F ℓ 1 = w 3 15 10 ℓ 1 = w 1 ℓ 1 = w 2 10
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 0 ℓ 1 = w 2 ℓ 1 = w 3 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 2 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F ℓ 1 = w 3 15 10 ℓ 1 = w 1 ℓ 1 = w 2 10
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 15 ℓ 1 = w 3 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 3 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F ℓ 1 = w 3 15 10 ℓ 1 = w 1 ℓ 1 = w 2 10
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 15 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F n 3 ≥ n 4 c = F c = T n 3 < n 4
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 15 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F n 4 = x
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 15 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F change ( n 1 ) change ( n 2 ) n 3 = x n 3 = x + inc ( n 1 , x ) n 3 = x + inc ( n 2 , x )
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 15 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F l 2 = w 3 l 2 = w 3 n 1 = x n 1 = x − 10 n 1 = x + 10 10 10
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 15 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F ℓ 2 = w 3 c = T c = T 15 10 c = T ℓ 2 = w 1 ℓ 2 = w 2 10
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 15 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F n 3 ≥ n 4 c = F c = T n 3 < n 4
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 15 n 2 = +15 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +5 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F n 2 = x n 2 = x − 10 n 2 = x + 10 10 5
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 20 n 3 = +5 g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +15 l 1 = w 1 n 3 n 4 n 3 = − 5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F n 2 = x n 2 = x − 10 n 2 = x + 10 10 5
Context-Enhanced Additive Heuristic Example Queue h = accumulated cost Causal Graph 20 c = T g Local context of active node ℓ 1 c n 1 = − 10 c = F n 2 = +15 l 1 = w 1 n 3 n 4 n 3 = +5 l 2 = w 1 ℓ 2 n 1 n 2 n 4 = 0 g = F change ( n 1 ) change ( n 2 ) n 3 = x n 3 = x + inc ( n 1 , x ) n 3 = x + inc ( n 2 , x )
Recommend
More recommend