compressing a single pdb

Post on 02-Feb-2016

23 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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: - PowerPoint PPT Presentation

TRANSCRIPT

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: Use several PDBs (and combine them into one). Compress individual PDBs.

My solution: Compress a single PDB.

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

Approach

Overview Hash Functions Puzzle Types Domain Abstractions

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).

Hash Functions

Three hash functions Base 10 hash function Perfect hash function (permutation) Positional ordering hash function

Base 10 and Perfect Hash

Base 10 Hash

Perfect Hash Function Based on permutations No gaps in the hash table No collisions

1 0 2

3 4 5

6 7 8

Go through each entry in the puzzle (row by row).

Hashvalue = 102 345 678

Positional Ordering Hash

Ignore the nondistinct value with largest number of occurrences.

1 0 1

1 1 2

3 2 2

Position: 1 5 7 8 6

Tile #: 0 2 2 2 3

Hashvalue = 15786

Puzzle Types

8-puzzle from class Pancake Puzzle Topspin Physical-based sliding

tile puzzle

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

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.

Expected Results

Nodes Generated per PDB Size

PDB Size

No

des

Gen

erat

ed

Hash

Preliminary Results

Nodes Generated per PDB Size

0100200

300400500600

700800

8 10 11 14 16 18 20

PDB Size (2^n)

No

des G

en

era

ted

Hash 1

Hash 2

Hash 3

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.

top related