Knowledge Compilation Issues for Planning Alexandre Niveau and Bruno Zanuttini December 16, 2019 Niveau, Zanuttini — GREYC Compilation for Planning 1/28
Planning problems Given ◮ initial state or set of possible initial states ◮ goal state or set of goal states ◮ set of actions Find ◮ plan: sequence of actions from initial to goal state(s) ◮ policy: tree/DAG observations/actions from initial to goal state(s) A state is an assignment to a set X of prop. vars: S = 2 X Niveau, Zanuttini — GREYC Compilation for Planning 2/28
Example Planning Problem “Move ball to room A ” Plan in deterministic setting: pick-ball; move-to-room- A ; drop-ball; stop; Policy in nondeterministic setting: if in-room- A then sense-ball; if ball then stop; else move-to-room- B ; goto (*); else (*) pick-ball; move-to-room- A ; drop-ball; stop; Niveau, Zanuttini — GREYC Compilation for Planning 3/28
Settings Dimensions: ◮ fully vs partially vs not observable ◮ single agent vs multiagent (joint actions/observations) ◮ deterministic vs nondeterministic vs stochastic → classical, contingent, conformant. . . This talk: ◮ simplest setting: single agent, no sensing (fully or not observable) ◮ KC view on languages for describing actions ◮ KC: queries repeatedly used with same actions while planning Niveau, Zanuttini — GREYC Compilation for Planning 4/28
Languages for Describing Actions Succinctness Representation of Preconditions Complexity of Queries Summary and More Questions Niveau, Zanuttini — GREYC Compilation for Planning 5/28
Languages for Describing Actions Succinctness Representation of Preconditions Complexity of Queries Summary and More Questions Niveau, Zanuttini — GREYC Compilation for Planning 6/28
Actions Setting: ◮ nondeterministic actions ◮ no sensing (fully or not observable) Action a = ◮ transition function T a : S → 2 S pick- o : s �→ s [in-hand- o ] or s [on-floor- o , broken- o ] ◮ executability condition: P a ⊆ 2 S pick- o : requires s | = hand-empty Semantics: when a taken in s , ◮ if s / ∈ P a : undefined (failure) ◮ else: next state s ′ chosen nondeterministically in T a ( s ) Niveau, Zanuttini — GREYC Compilation for Planning 7/28
Queries (1/2) Given representations of T a , P a (fixed part) in some language A ◮ PRECOND: given s , does s ∈ P a hold? can the current plan be extended with a ? ◮ IS-SUCC: given s , s ′ , does s ′ ∈ T a ( s ) hold? is the goal reachable from s through a ? ◮ ENUM-SUCC: given s , enumerate the states in T a ( s ) for enqueueing states newly known to be reachable Niveau, Zanuttini — GREYC Compilation for Planning 8/28
Queries (2/2) Given representations of T a , P a (fixed part) in some language A For a set of states B ⊆ 2 S in some language B e.g. , (in-room- A ∧ ¬ ball) ∨ in-room- B ◮ PRECOND B : given B , does ∀ s ∈ B , s ∈ P a hold? ◮ IS-SUCC B : given B and s ′ , does ∃ s ∈ B , s ′ ∈ T a ( s ) hold? ◮ PROG B : given B , compute B -repr. of T a ( B ) = � s ∈ B T a ( s ) new belief state after taking a in B ◮ REG B : given B ′ , compute B -repr. of T − a 1( B ′ ) = { s | T a ( s ) ⊆ B ′ } largest belief state s.t. taking a leads to believing B KC issues wrt two languages A , B Niveau, Zanuttini — GREYC Compilation for Planning 9/28
PDDL: Syntax Language for representing actions ◮ generalization of (conditional) STRIPS ◮ widely used (planning competitions) ◮ numerous extensions ◮ here abstraction of grounded (N)PDDL Action a represented as ( p a , e a ) with p a in NNF and e a ::= x | ¬ x | ϕ ⊲ e a | ( e a & e a ) | ( e a | e a ) with x ∈ X and ϕ an NNF over X Niveau, Zanuttini — GREYC Compilation for Planning 10/28
PDDL: Example Action toss-coin: ◮ p a = coin-in-hand ◮ e a = (heads | ¬ heads) & (double-heads-coin ⊲ heads) � � (coin-in-hand) & | ((inside ⊲ coin-on-floor) & ( ¬ inside ⊲ coin-lost)) Niveau, Zanuttini — GREYC Compilation for Planning 11/28
PDDL: Semantics Action a represented as ( p a , e a ) Precondition: ◮ s ∈ P a iff by def.: s | = p a and T ( e a )( s ) � = ∅ Effects: ◮ s ′ ∈ T a ( s ) iff by def.: s ∈ P a and s ′ ∈ T ( e a )( s ): ◮ T ( e a )( s ) is as expected but. . . ◮ implicit frame axioms Implicit frame axioms: nothing changes if not explicitly ◮ action e a = ( x | ¬ x ∧ y ) ◮ T a (¯ x ¯ yz ) = { x ¯ yz , ¯ xyz } Niveau, Zanuttini — GREYC Compilation for Planning 12/28
Action Theories Action a represented as formula ϕ a over X ∪ { x ′ | x ∈ X } : Action play-toss, ϕ a = (win ′ ↔ (heads ′ ∧ last-bet-heads) ∨ ( ¬ heads ′ ∧ ¬ last-bet-heads)) (last-bet-heads ′ ↔ last-bet-heads) ∧ Semantics: ◮ (precondition) s ∈ P a iff by def.: ϕ a ∧ s sat. ◮ (effects) s ′ ∈ T a ( s ) iff by def.: s · s ′ | = ϕ a No implicit frame axiom: ◮ action ϕ a = ( x ′ ∨ y ′ ) ↔ y ◮ T a ( xyz ) = { x ¯ yz , x ¯ y ¯ z , ¯ xyz , ¯ xy ¯ z , xyz , xy ¯ z } Niveau, Zanuttini — GREYC Compilation for Planning 13/28
Why Two Languages? PDDL: ◮ widespread in planning community ◮ widely used as input format by planners ◮ natural for specifying actions Action theories: ◮ cleaner semantics ◮ Boolean functions: leaves choice of language (OBDD, CNF. . . ) see studies by Son & Pontelli (2015) ◮ built-in nondeterminism ( x ′ 1 ∨ x ′ 2 = x 3 ) Niveau, Zanuttini — GREYC Compilation for Planning 14/28
Languages for Describing Actions Succinctness Representation of Preconditions Complexity of Queries Summary and More Questions Niveau, Zanuttini — GREYC Compilation for Planning 15/28
Succinctness: Action Theories to PDDL Polytime transformation P from NNF ϕ a over X ∪ X ′ ¬ lbh ∨ ¬ heads ′ ∨ win ′ lbh ⊲ ¬ heads ′ ∨ win ′ � ⇒ ¬ lbh ⊲ (lbh | ¬ lbh) & (heads | ¬ heads) & (win | ¬ win) & � 2 � ( ¬ heads & (win | ¬ win) & (lbh | ¬ lbh)) lbh ⊲ | (win & (heads | ¬ heads) & (lbh | ¬ lbh)) ⇒ & ¬ lbh ⊲ (lbh | ¬ lbh) & (heads | ¬ heads) & (win | ¬ win) Niveau, Zanuttini — GREYC Compilation for Planning 16/28
Succinctness: PDDL to Action Theories Polytime “transformation” from PDDL ( p a , e a ) to NNF ϕ a over X ∪ X ′ (coin-in-hand) | ((inside ⊲ coin-on-floor) & ( ¬ inside ⊲ coin-lost)) ( c 1 ∧ coin-in-hand ′ ) ∨ ( ¬ c 1 ∧ inside → coin-on-floor ′ ∧ ¬ inside → coin-lost ′ ) (coin-in-hand ′ �↔ coin-in-hand) → c 1 ∧ ⇒ (coin-on-floor ′ �↔ coin-on-floor) → ¬ c 1 ∧ inside ∧ (coin-lost ′ �↔ coin-lost) → ¬ c 1 ∧ ¬ inside ∧ Niveau, Zanuttini — GREYC Compilation for Planning 17/28
Succinctness: Open Problems Action theories to PDDL: ◮ polytime from NNF action theory: what about non-NNF? ◮ what with restricted PDDL (e.g., no nesting of conditionals ϕ ⊲ e )? some work by Nebel (2000) PDDL to action theories: ◮ additional variables ( c i ): forgetting, width, OBBD reordering. . . ◮ heterogenous compilation Fargier, Marquis, Niveau (2013) ◮ can we do without additional variables? ◮ what with restricted action theories (e.g., DNNF)? Queries at least as hard on PDDL Niveau, Zanuttini — GREYC Compilation for Planning 18/28
Languages for Describing Actions Succinctness Representation of Preconditions Complexity of Queries Summary and More Questions Niveau, Zanuttini — GREYC Compilation for Planning 19/28
Representation of Preconditions No explicit P a : ◮ implicitly defined to be { s | T a ( s ) � = ∅} ◮ PRECOND is NP-complete (amounts to CD and CO on T a ) ◮ at least as succinct ( P a ∧ T a is implicit version of ( P a , T a )) Explicit P a : ◮ PRECOND is polytime (amounts to MC) ◮ but T a ( s ) should be � = ∅ for all s ∈ P a : coNP-complete to check ◮ may be less succinct than implicit: P a = ∃ FO(X ′ , T a ) Open question: can we take the best of both worlds? Related issue: deciding whether a is deterministic is coNP-complete Niveau, Zanuttini — GREYC Compilation for Planning 20/28
Languages for Describing Actions Succinctness Representation of Preconditions Complexity of Queries Summary and More Questions Niveau, Zanuttini — GREYC Compilation for Planning 21/28
Successors (1/2) IS-SUCC: ◮ given s , s ′ , decide s ′ ∈ T a ( s ) ◮ clearly polytime on PDDL (hence on NNF action theories) ENUM-SUCC: ◮ given s , enumerate the states in T a ( s ) ◮ clearly not output-polynomial for NNF (finding one is NP-complete) Niveau, Zanuttini — GREYC Compilation for Planning 22/28
Successors (2/2) From given set of states B ∈ B IS-SUCC B : ◮ given B , s ′ , decide ∃ s ∈ B : s ′ ∈ T a ( s ) ◮ clearly in NP using IS-SUCC to check guessed s ◮ NP-hard for NNF action theories and any reasonable B ◮ in general, amounts to CO on B ∧ P a ∧ T a ∧ � s ′ Open question: languages with polytime test? Interesting setting: compilation map wrt two languages A , B Niveau, Zanuttini — GREYC Compilation for Planning 23/28
Recommend
More recommend