1 / 15

Compressing a Single PDB

Compressing a Single PDB. Presented by: Danielle Sauer CMPUT 652 Project December 1, 2004. Outline. Problem Definition Key Background Approach Results Conclusion. Problem Definition. Motivation: What happens when a pattern database is too large to store in memory? We can:

bat
Télécharger la présentation

Compressing a Single PDB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Compressing a Single PDB Presented by: Danielle Sauer CMPUT 652 Project December 1, 2004

  2. Outline • Problem Definition • Key Background • Approach • Results • Conclusion

  3. Problem Definition • Motivation: What happens when a pattern database is too large to store in memory? • We can: • Use several PDBs (and combine them into one). • Compress individual PDBs. • My solution: Compress a single PDB.

  4. Key Background • Pattern databases generally store two things: • A state • The state’s distance to goal. • The number of collisions are affected by: • The hash function • The size of the PDB

  5. Approach • Overview • Hash Functions • Puzzle Types • Domain Abstractions

  6. Overview of Approach • Stores only the distance in the PDB. • How to resolve collisions? • Given state ai already in entry E in the PDB. • State aj maps to entry E and collides with ai. • Take the minimum distance value of ai and aj E = min(di, dj) • Lossy compression (throwing away values).

  7. Hash Functions • Three hash functions • Base 10 hash function • Perfect hash function (permutation) • Positional ordering hash function

  8. Base 10 and Perfect Hash • Base 10 Hash • Perfect Hash Function • Based on permutations • No gaps in the hash table • No collisions Go through each entry in the puzzle (row by row). Hashvalue = 102 345 678

  9. Positional Ordering Hash • Ignore the nondistinct value with largest number of occurrences. Position: 1 5 7 8 6 Tile #: 0 2 2 2 3 Hashvalue = 15786

  10. Puzzle Types • 8-puzzle from class • Pancake Puzzle • Topspin • Physical-based sliding tile puzzle

  11. Domain Abstractions • 1 “don’t care” symbol. • Maps a tile to itself or maps it to the “don’t care” symbol. di(c) = c if c is an element of Gi blank if c = blank “don’t care” otherwise

  12. Results • Expectation: As the size of the table becomes smaller, the number of nodes generated should become larger. • Reasoning: This method is lossy – we are throwing away heuristic values. • The stored distance values will not be accurate heuristics for some of the states.

  13. Expected Results

  14. Preliminary Results

  15. Summary • This method stores only the distance in the PDB. • It resolves collisions by storing the smallest distance of the colliding states. • Preliminary results suggest we can use a much smaller amount of memory and still get the same performance as a larger PDB.

More Related