Combining Front-to-End Perimeter Search and Pattern Databases - PowerPoint PPT Presentation

About This Presentation
Title:

Combining Front-to-End Perimeter Search and Pattern Databases

Description:

More memory for Open/Closed Lists. Caching. Perimeter Search. Pattern Databases. Allocating Memory ... Discussion. Discouraging results ... Discussion ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 33
Provided by: eddier6
Category:

less

Transcript and Presenter's Notes

Title: Combining Front-to-End Perimeter Search and Pattern Databases


1
Combining Front-to-End Perimeter Search and
Pattern Databases
  • CMPUT 652
  • Eddie Rafols

2
Motivation
From Russell, 1992
3
Allocating Memory
  • More memory for Open/Closed Lists
  • Caching
  • Perimeter Search
  • Pattern Databases

4
Allocating Memory
  • More memory for Open/Closed Lists
  • Caching
  • Perimeter Search
  • Pattern Databases

5
Perimeter Search
  • Generate a perimeter around the Goal
  • Any path to Goal must pass through a perimeter
    node Bi
  • We know the optimal path from Bi to Goal
  • Stopping condition for IDA is now
  • If A is a perimeter node and g(Start,A)g(A,Goal)
    ? Bound

6
Perimeter Search
  • Traditional Search O(bd)
  • Perimeter Search O(brbd-r)
  • Large potential savings!

7
Perimeter Search
  • Can be used to improve our heuristic
  • Kaindl Kainz, 1997
  • Add Method
  • Max Method

8
Pattern Databases
  • Provide us with a consistent estimate of the
    distance from any given state to the goal
  • This point will become relevant in a few slides

9
Approach
  • Generate a pattern database to provide a
    heuristic
  • Use Kaindl Kainzs techniques to improve on
    heuristic values (Add,Max)
  • Determine how perimeter search and PDBs can most
    effectively be combined via empirical testing

10
A Digression
  • Among other things, the Max method requires
  • h(Start, A), where A is a search node
  • h(Start, Bi), where Bi is a perimeter node

11
A Digression
  • Among other things, the Max method requires
  • h(Start, A), where A is a search node
  • h(Start, Bi), where Bi is a perimeter node
  • We are not explicitly given this information in a
    PDB.

12
A Digression...
  • Recall Alternate PDB lookups
  • If we are dealing with a state space where
    distances are symmetric and tile-independant,
    we can use this technique

13
A Digression...
  • ex. Pancake Problem

14
A Digression...
  • However, this technique may provide inconsistent
    heuristics

?1
?2
?1 ? ?2
15
A Digression...
  • Kaindls proof of the max method relies on a
    consistent heuristic
  • ...but we can still use our pattern database
  • We just have to use it correctly

16
A Digression...
  • Distances are symmetric, therefore
  • h(Start, A) h(A, Start)
  • h(Start, Bi) h(Bi, Start)
  • We can map the Start state to the Goal state
  • In this case, when we do alternate lookups on A
    and Bi, we are using the same mapping!
  • Our heuristic is now consistent!

17
A Digression...
?
?
?
18
A Third Heuristic?
  • Since we have the mechanisms in place, why not
    use alternate lookup to get h(Goal, A)?
  • Turns out that this is the exact same lookup as
    h(A,Goal)

19
Combining the Heuristics
  • The Add method lets us adjust our normal PDB
    estimate
  • h1(A,goal) h(A,goal) ?
  • The Max method gives us another heuristic
  • h2(A,goal)mini(h(Bi,start) g(Bi,goal))-h(A,
    start)
  • Our final heuristic
  • H(A,goal)max(h1(A,goal),h2(A,goal))

20
Hypotheses
  • All memory used on perimeter, expect poor
    performance
  • All memory used on PDB, expect good performance,
    but not the best possible
  • Small perimeters combined with large PDBs should
    outperform large perimeters with small PDBs

21
Method
  • Do a binary search in the memory space.
  • Test pure perimeter search and pure PDB
    search
  • Give half the memory to the winner, compare
    whether a PDB or a perimeter would be a more
    effective use of the remaining memory
  • Repeat until perimeter search becomes a more
    effective use of memory

22
Results
23
Results
24
Results
25
Results
26
Results
27
Discussion
  • Discouraging results
  • Using extra space for a PDB seems to provide
    better results across the board

28
Discussion
  • Adding a perimeter does not appear to have a
    significant effect

29
Discussion
  • Empirically, the Add method is always returning ?
    0
  • A directed strategy for perimeter creation is
    likely needed for this method to have any effect

30
Discussion
  • Further experiments show that given a fixed PDB,
    as perimeters increase in size, there is a
    negligible performance increase

31
An Idea
  • Is the heuristic effectively causing paths to
    perimeter nodes to be pruned?
  • This means that performance is only being
    improved along a narrow search path
  • Can we generate the perimeter intelligently to
    make it more useful?

32
Questions?
Write a Comment
User Comments (0)
About PowerShow.com