09.07.2015 Views

Additive Pattern Database Heuristics

Additive Pattern Database Heuristics

Additive Pattern Database Heuristics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Additive</strong> <strong>Pattern</strong> <strong>Database</strong> <strong>Heuristics</strong>Ariel FelnerBen-Gurion University of the Negev, Beer-Sheva, IsraelRichard E.Korf,University of California,Los AngelesSarit HananBar-Ilan University , Ramat-Gan, Israel2004presented by Juan Cheng


1. Introduction and Overview●●Heuristic search: A*, IDA*...A heuristic evaluation function h(n)=an estimateof the cost of an optimal solution from node n toa goal state●If h(n) is admissible, meaning that it neveroverestimates the cost of reaching a goal, then allthe above algorithms are guaranteed to return anoptimal solution, if one exists.


●●The most effective way to improve theperformance of a heuristic search algorithm isto improve the accuracy of the heuristicevaluation function.Developing more accurate heuristic functions isthe goal of this paper.


1.1 Sliding-Tile Puzzles


●●●An optimal solution to the problem uses thefewest number of moves possibleSolving random instances of the Twenty-Fourpuzzle with Manhattan distance is not practicalon current machinesA more accurate heuristic function is needed


1.2 Subgoal Interactions●●●Inaccuracy of the Manhattan distance: itassumes that each tile can be moved along ashortest path to its goal location withoutinterference from any other tilesThe tiles do interfere with each otherThe key to developing a more accurateheuristic function is to account for some ofthose interactions in the heuristic


1.3 two main contributions of thispaper●●Show that additive pattern databases whichwere first developed and implemented for thesliding tile puzzles can be generalized andapplied to other domains.Divide additive pattern databases into twomethods, statically- and dynamically-partitioneddatabases, and compare the two methods


2. Previous Work on AdmissibleHeuristic Functions●Linear -conflict heuristic (Hansson, mayer, &Yung, 1992) : the interaction between thesetwo tiles allows us to add two moves to the sumof their Manhattan distance


2. Previous Work on AdmissibleHeuristic Functions●●●<strong>Pattern</strong> database: precomputed tables of theexact cost of solving various subproblems of anexist problem, with a single breadth-first searchbackward from the goal stateThey chose as a subset of a 15-Puzzle: thosein the bottom row and those in the rightmostcolumnOnce this table is computed, use IDA* to searchfor an optimal solution to a particular probleminstance


2.4 Statically-Partitioned <strong>Additive</strong>database <strong>Heuristics</strong>●●●Disjoint pattern databases: partition the tilesinto disjoint groups, such that every tile isincluded in a group, and no tile belongs to morethan one groupsPrecompute pattern databases of the minimumnumber of moves of the the tiles in each groupRetrieve the number of moves required to solvethe tiles, Add together the values for eachgroup


Statically-Partitioned <strong>Additive</strong>database <strong>Heuristics</strong>●●this value>=Manhattan distance, because itaccounts for interactions between tiles in thesame groupThe key difference between additive databasesand the non-additive databases is: non-additivedatabases include all moves required to solvethe pattern tiles, including moves of tiles not inthe pattern group. In an additive patterndatabase, we only count moves of the tiles inthe group.


2.4.1 Limitations of statically-partitioned database heuristics●●They fail to capture interactions among tiles indifferent groups of the partition.A different approach to additive patterndatabases: dynamically-partitioned databaseheuristics


3. Dynamically-Partitioned <strong>Database</strong><strong>Heuristics</strong>3.1 Computing the Pairwise Distances, or Gasserrefers it as 2-tile pattern database :– a table which contains for each pair of tiles, andeach possible pair of positions they could occupy,the number of moves required of those two tiles tomove them to their goal positions– How to compute such tables: for each pair oftiles, we perform a single breadth-first search,starting from the goal state.


3.2 Computing the Heuristic Value of a State●●partition the n tiles into n/2 non-overlappingpairs, then sum the pairwise distances for eachof the chosen pairsTo get the most accurate admissible heuristic,we want a partition that maximizes the sum ofthe pairwaise distances


●For each state of the search , this maximizingpartition may be different, requiring the partitioningto be performed for each heuristic evaluation.Thus, the authors use the term dynamicallypartitionedaddititive pattern database heuristics●To compute the heuristic for a given state, usemutual-cost graph


3.3 Triple and Higher-OrderDistances●●Groups of various sizes, not necessarily pairs3-tile databases


Dynamically-Partitioned database<strong>Heuristics</strong>●●The main advantage: it can potentially capturemore tile interactions, statically-partitionedpattern database only captures interactionsbetween tiles in the same groupDisadvantage: expensive


4. Sliding-Tile Puzzles●Experiments solving the 15 and 24 puzzlesusing statically and dynamically partitionedadditive pattern database heuristics


4.2.2 fifteen puzzle partition


Experimental results on the FifteenPuzzle


4.2.3 Twenty-four puzzle


Twenty-Four Puzzle results for staticvs. dynamic databases


4.2.4 Thirty-five puzzle


Thirty-Five Puzzle


4.2.5 Discussion of the tile puzzleresultsThe relative advantage of the statically-partitioneddatabase heuristics over the dynamicallypartitionedheuristics appears to decrease as theproblem size increases.


5. 4-Peg Towers of Hanoi Problem


Experimental results for the 15-diskHanoi problem


Results for the 16-disk problem


6. Vertex Cover


Experimental results


7. General Characterization of theMethod●●Define a pattern as an assignment of values toa subset of the state variables in a problemA pattern database is built by running abreadth-first search backward from thecomplete goal state, until at least one staterepresenting each pattern is generated


7.2.1 Complete pattern databases●●●A complete pattern database stores the cost ofsolving every pattern, defined by the set of allpossible combinations of values of the variablesin the subsetAdvantage: every value is storedDisadvantage: memory requirements


7.2.2 Partial pattern databases●●●Only stores the cost of solving some of thepatternsSave memory by storing fewer values than acomplete databaseEfficient for dynamically-partitioned database


7.3 Algorithm Schema●The steps for the statically-partitioned databaseheuristics


The steps for the staticallypartitioneddatabase heuristics


7.3.2 The steps for the dynamically-partitioned databaseheuristics


7.4 Differences between theapplications●Trying the general schema on new problemsmay involve significant creativity in identifyingthe subproblems, determining the definition ofdisjoint subproblems, computing the patterndatabases, doing the partitioning,etc.


8.1 when to use each of the methods●●Domain dependentMemory requirements


8.2 Conclusions and Further Work●●these techniques can be effectively extended tonew problem domainsFurther work: Find more efficient algorithms forfinding the best dynamic partitionings●To automatically find the optimal size ofdynamically-partitioned databases


Questions

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!