DeepAI AI Chat
Log In Sign Up

Additive Pattern Database Heuristics

by   A. Felner, et al.

We explore a method for computing admissible heuristic evaluation functions for search problems. It utilizes pattern databases, which are precomputed tables of the exact cost of solving various subproblems of an existing problem. Unlike standard pattern database heuristics, however, we partition our problems into disjoint subproblems, so that the costs of solving the different subproblems can be added together without overestimating the cost of solving the original problem. Previously, we showed how to statically partition the sliding-tile puzzles into disjoint groups of tiles to compute an admissible heuristic, using the same partition for each state and problem instance. Here we extend the method and show that it applies to other domains as well. We also present another method for additive heuristics which we call dynamically partitioned pattern databases. Here we partition the problem into disjoint subproblems for each state of the search dynamically. We discuss the pros and cons of each of these methods and apply both methods to three different problem domains: the sliding-tile puzzles, the 4-peg Towers of Hanoi problem, and finding an optimal vertex cover of a graph. We find that in some problem domains, static partitioning is most effective, while in others dynamic partitioning is a better choice. In each of these problem domains, either statically partitioned or dynamically partitioned pattern database heuristics are the best known heuristics for the problem.


page 1

page 2

page 3

page 4


Well-partitioned chordal graphs: obstruction set and disjoint paths

We introduce a new subclass of chordal graphs that generalizes split gra...

A General Theory of Additive State Space Abstractions

Informally, a set of abstractions of a state space S is additive if the ...

A local search 4/3-approximation algorithm for the minimum 3-path partition problem

Given a graph G = (V, E), the 3-path partition problem is to find a mini...

Partitioning sparse graphs into an independent set and a graph with bounded size components

We study the problem of partitioning the vertex set of a given graph so ...

Rational Deployment of Multiple Heuristics in IDA*

Recent advances in metareasoning for search has shown its usefulness in ...

On Solving the Rubik's Cube with Domain-Independent Planners Using Standard Representations

Rubik's Cube (RC) is a well-known and computationally challenging puzzle...

Code Repositories


C++ library for solving taquin picture puzzles

view repo