c10 1 projections and pattern
play

C10.1 Projections and Pattern and for Rubiks cube (Korf, 1997). - PowerPoint PPT Presentation

Planning and Optimization November 7, 2016 C10. Pattern Databases: Introduction Planning and Optimization C10.1 Projections and Pattern Database Heuristics C10. Pattern Databases: Introduction C10.2 Implementing PDBs: Precomputation Malte


  1. Planning and Optimization November 7, 2016 — C10. Pattern Databases: Introduction Planning and Optimization C10.1 Projections and Pattern Database Heuristics C10. Pattern Databases: Introduction C10.2 Implementing PDBs: Precomputation Malte Helmert and Gabriele R¨ oger C10.3 Implementing PDBs: Lookup Universit¨ at Basel November 7, 2016 C10.4 Summary M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 1 / 28 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 2 / 28 C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics Pattern Database Heuristics ◮ The most commonly used abstraction heuristics in search and planning are pattern database (PDB) heuristics. ◮ PDB heuristics were originally introduced for the 15-puzzle (Culberson & Schaeffer, 1996) C10.1 Projections and Pattern and for Rubik’s cube (Korf, 1997). Database Heuristics ◮ The first use for domain-independent planning is due to Edelkamp (2001). ◮ Since then, much research has focused on the theoretical properties of pattern databases, how to use pattern databases more effectively, how to find good patterns, etc. ◮ Pattern databases are a very active research area both in planning and in (domain-specific) heuristic search. ◮ For many search problems, pattern databases are the most effective admissible heuristics currently known. M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 3 / 28 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 4 / 28

  2. C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics Pattern Database Heuristics Informally Projections Pattern Databases: Informally Formally, pattern database heuristics are abstraction heuristics A pattern database heuristic for a planning task induced by a particular class of abstractions called projections. is an abstraction heuristic where Definition (Projection) ◮ some aspects of the task are represented in the abstraction Let Π be an FDR planning task with variables V and states S . with perfect precision, while Let P ⊆ V , and let S ′ be the set of states over P . ◮ all other aspects of the task are not represented at all. The projection π P : S → S ′ is defined as π P ( s ) := s | P (with s | P ( v ) := s ( v ) for all v ∈ P ). Example (15-Puzzle) We call P the pattern of the projection π P . ◮ Choose a subset T of tiles (the pattern). ◮ Faithfully represent the locations of T in the abstraction. In other words, π P maps two states s 1 and s 2 to the same ◮ Assume that all other tiles and the blank can be anywhere abstract state iff they agree on all variables in P . in the abstraction. M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 5 / 28 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 6 / 28 C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics Pattern Database Heuristics Example: Transition System ALR ARL Abstraction heuristics for projections are called pattern database LLR RRL (PDB) heuristics. ALL ARR Definition (Pattern Database Heuristic) LRR LLL RRR RLL The abstraction heuristic induced by π P is called a pattern database heuristic or PDB heuristic. BLL BRR We write h P as a shorthand for h π P . LRL RLR Why are they called pattern database heuristics? BRL BLR ◮ Heuristic values for PDB heuristics are traditionally stored in a 1-dimensional table (array) called a pattern database (PDB). Logistics problem with one package, two trucks, two locations: Hence the name “PDB heuristic”. ◮ state variable package: { L , R , A , B } ◮ state variable truck A: { L , R } ◮ state variable truck B: { L , R } M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 7 / 28 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 8 / 28

  3. C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics Example: Projection (1) Example: Projection (2) Abstraction induced by π { package } : Abstraction induced by π { package , truck A } : ALR ALR ARL ARL ALR ALR ARL ARL LLR LLR RRL RRL LLR LLR RRL RRL ALL ARR ALL ARR ALL ARR ALL ARR LRR LRR LLL LLL RRR RRR RLL RLL LRR LRR LLL LLL RRR RRR RLL RLL BLL BLL BRR BRR BLL BLL BLR BLR LRL RLR LRL RLR LRL RLR LRL RLR BRL BRL BLR BLR BRL BRL BRR BRR h { package } (LRR) = 2 h { package , truck A } (LRR) = 2 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 9 / 28 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 10 / 28 C10. Pattern Databases: Introduction Projections and Pattern Database Heuristics C10. Pattern Databases: Introduction Implementing PDBs: Precomputation Pattern Databases: Chapter Overview In the following, we will discuss: C10.2 Implementing PDBs: ◮ how to implement PDB heuristics Precomputation � this chapter ◮ how to effectively make use of multiple PDB heuristics � Chapter C11 ◮ how to find good patterns for PDB heuristics � Chapter C12 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 11 / 28 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 12 / 28

  4. C10. Pattern Databases: Introduction Implementing PDBs: Precomputation C10. Pattern Databases: Introduction Implementing PDBs: Precomputation Pattern Database Implementation Precomputation Step Let Π be a planning task and P a pattern. Let T = T (Π) and T ′ = T π P . ◮ We want to compute a graph representation of T ′ . Assume we are given a pattern P for a planning task Π. ◮ T ′ is defined through an abstraction of T . How do we implement h P ? ◮ For example, each concrete transition induces 1 In a precomputation step, we compute a graph representation an abstract transition. for the abstraction T (Π) π P and compute the abstract goal ◮ However, we cannot compute T ′ by iterating distance for each abstract state. over all transitions of T . 2 During search, we use the precomputed abstract goal ◮ This would take time Ω( �T � ). distances in a lookup step. ◮ This is prohibitively long (or else we could solve the task using uniform-cost search or similar techniques). ◮ Hence, we need a way of computing T ′ in time which is polynomial only in � Π � and �T ′ � . M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 13 / 28 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 14 / 28 C10. Pattern Databases: Introduction Implementing PDBs: Precomputation C10. Pattern Databases: Introduction Implementing PDBs: Precomputation Syntactic Projections Trivially Inapplicable Operators Definition (Syntactic Projection) Definition (Trivially Inapplicable Operator) Let Π = � V , I , O , γ � be an FDR planning task, An operator o of a SAS + task is called trivially inapplicable if and let P ⊆ V be a subset of its variables. The syntactic projection Π | P of Π to P is the FDR planning task ◮ pre ( o ) contains the atoms ( v = d ) and ( v = d ′ ) � P , I | P , { o | P | o ∈ O } , γ | P � , where for some variable v and values d � = d ′ , or ◮ ϕ | P for formula ϕ is defined as the formula obtained from ϕ ◮ eff ( o ) contains the effects ( v := d ) and ( v := d ′ ) by replacing all atoms ( v = d ) with v / ∈ P by ⊤ , and for some variable v and values d � = d ′ . ◮ o | P for operator o is defined by replacing all formulas ϕ Notes: occurring in the precondition or effect conditions of o with ◮ Trivially inapplicable operators are never applicable ϕ | P and all atomic effects ( v := d ) with v / ∈ P with the and can thus be safely omitted from the task. empty effect ⊤ . ◮ Trivially inapplicable operators can be detected in linear time. Put simply, Π | P throws away all information not pertaining to variables in P . M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 15 / 28 M. Helmert, G. R¨ oger (Universit¨ at Basel) Planning and Optimization November 7, 2016 16 / 28

Recommend


More recommend