1 / 18

Dovetail Killer? Implementing Jonathan’s New Idea

Dovetail Killer? Implementing Jonathan’s New Idea. Tarek Sherif. The Algorithm. Given two or more PDBs the algorithm simply passes through each pair of elements, in order. The hybrid takes: The highest of the two values. The original PDB from which the chosen value came. The Algorithm.

Download Presentation

Dovetail Killer? Implementing Jonathan’s New Idea

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. Dovetail Killer?Implementing Jonathan’s New Idea Tarek Sherif

  2. The Algorithm • Given two or more PDBs the algorithm simply passes through each pair of elements, in order. • The hybrid takes: • The highest of the two values. • The original PDB from which the chosen value came.

  3. The Algorithm • The search requires: • The hybrid PDB • The domain abstractions from the original PDBs. • To access the hybrid for state N: • N is hashed into the hybrid using all given domain abstractions.

  4. The Algorithm • If the domain abstraction used to hash to a value is that of the PDB the value came from, take that value. Otherwise assume it is 0. • h(N) = max of all taken values.

  5. Background • IDA* on the 8-puzzle used to test the algorithm. • Propagating h-values using Mero’s algorithm. • Used only at the fringe of the search, since that is where pruning might occur.

  6. Background • The Perfect Hash. • Assuming only one token in domain abstraction. • p0 = position of blank. • p1 = position of first constant if it is less than position of blank, position -1 otherwise. • p2 = position of the second constant if it is less than positions of blank of first constant, position -1 if it is higher than just one, position -2 if it is higher than both. • Etc.

  7. Background • Hash = p0 + 9*p1 + 72*p2 … • E.g. Domain Abstraction : 0 1 2 x 4 x x x x State : x 0 x x 1 x 4 2 x p0 = 1 p1 = 4 – 1 = 3 (because position of 1 is higher than 0) p2 = 7 – 2 = 5 (because position of 2 is higher than 1 and 0) p3 = 6 – 2 = 4 (because position of 4 is higher than 1 and 0) Hash = 1 + (9 * 3) + (72 * 5) + (504 * 4) = 2404

  8. Background Hash Value Domain 1 Domain 2 0 1 2 3 x x x x x 0 x x x x x 6 7 8 0 0 1 2 3 x x x x x 0 6 7 8 x x x x x 1 1 0 2 3 x x x x x 6 0 7 8 x x x x x 2 1 2 0 3 x x x x x 6 7 0 8 x x x x x . . 9 0 2 1 3 x x x x x 0 7 6 8 x x x x x

  9. Experiments • Four domain abstractions with four constants each: • Φ1: 0 1 2 3 4 x x x x • Φ2: 0 x x x x 5 6 7 8 • Φ3: 0 x 2 x 4 x 6 x 8 • Φ4: 0 1 x 3 x 5 x 7 x • Generated 100 random start states and saved them to file.

  10. Results

  11. Hybrids • Three hybrids were created: • Φ1 + Φ2 • Φ1 + Φ3 • Φ3 + Φ4

  12. Drum roll…

  13. Wow… that sucks. • Why? • Possibilities: • Are the values being lost randomly? • Likely to be closer to the goal since we’re removing the low values. • This may lead to the algorithm working well at first and then getting completely lost in areas nearer to the goal. • The hashing function: • May have some patterns that cause it to work poorly with this algorithm.

  14. Wow… that sucks. • IDA* can’t do much backchecking, so areas with a lot of lost h values could be very problematic.

  15. Possible Solutions • Try with A*. • Rotate the PDBs before combining them to attempt to “line them up.” • e.g. line up the goal states. • A weird one… take the minimum of the two PDB entries into the hybrid. • No failed lookups (min will always be admissible for both).

  16. Possible Solutions • The search will still take the max of these mins.

  17. Min Hybrid: Results

  18. Things to come… • Try it with A*. • Lining up the PDBs. • Possibly trying some combinations of Min and Max Hybrids. • Combining more than 2 PDBs. • Checking where Max Hybrid is having the most problems. • More PDBs, more hybrids, etc.

More Related