compressing a single pdb

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

Upload: bat

Post on 02-Feb-2016

23 views

Category:

Documents


0 download

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

Page 1: Compressing a Single PDB

Compressing a Single PDB

Presented by: Danielle Sauer

CMPUT 652 Project

December 1, 2004

Page 2: Compressing a Single PDB

Outline

Problem Definition Key Background Approach Results Conclusion

Page 3: Compressing a Single PDB

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.

Page 4: Compressing 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

Page 5: Compressing a Single PDB

Approach

Overview Hash Functions Puzzle Types Domain Abstractions

Page 6: Compressing a Single PDB

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

Page 7: Compressing a Single PDB

Hash Functions

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

Page 8: Compressing a Single PDB

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

Page 9: Compressing a Single PDB

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

Page 10: Compressing a Single PDB

Puzzle Types

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

tile puzzle

Page 11: Compressing a Single PDB

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

Page 12: Compressing a Single PDB

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.

Page 13: Compressing a Single PDB

Expected Results

Nodes Generated per PDB Size

PDB Size

No

des

Gen

erat

ed

Hash

Page 14: Compressing a Single PDB

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

Page 15: Compressing a Single PDB

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.