Download presentation
Presentation is loading. Please wait.
1
Fun with Star Abstraction Or: Hierarchical A*, Refinement and the Gray Area Between Them
2
Outline Review Hierarchical A* Refinement and the W Parameter Conclusions Where I’m Going
3
Review: Star Abstraction States represented explicitly in memory Any abstract state maps to: – A central hub – Its neighbors
4
Review: Refinement & HA* Refinement (suboptimal solutions): – Abstract space is searched once – Search in base space limited to abstract path – Guided only by h-value Hierarchical A* (optimal solutions): – Abstract space is searched every time an h-value is needed – Search travels anywhere A* would normally travel – Guided by f = g + h
5
Review: W and P Refinement and HA* are points in a parameter space defined by W and P W - weight given to the heuristic value P - chance that a new h-value will be retrieved 0.5 0 1 W P 1 Dijkstra HA* Pure Heuristic Classical Ref. Optimal Ref.
6
New Stuff: What I'm doing Previous work with W and P was done in only the forward direction Refinement with Alternating Opportunism – Superior to forward refinement Idea: Vary W and P and use alternating directions Abs 4 Abs 3 Abs 2 Abs 1 Base
7
Why alternating should be better Start Goal Start Goal
8
Hierarchical A*: A pain to say, spell and make work Recall: – When we discussed HA*, it needed three modifications to be better than Dijkstra – Most of those modifications apply only in the forward direction Backwards should be easier, right? Well…
9
Development of Alternating HA* Test Bed: 100x100 Grid World Search from bottom-left to top-right Dijkstra: 10,000 nodes expanded AHA* w/o abstract caching: Didn’t even try it AHA* w/ abstract caching: 37,134,045 Need some improvements…
10
Improvements 1. Resume abstract search from previous open list Start Goal ?
11
Improvements Continued 2. Only blank cache when absolutely necessary
12
Still Improving… AHA* w/ caching & improvements: 411,115 Problem: – Refreshing heuristic values for the open list What if I refresh nodes on open list without search? Idea 3: Refresh all with heuristic 0 – Down to 32,872 nodes expanded
13
Finally… The must be a better way to initialize h… g(X) >= g(x)* d <= d2 h >= h’ = d – g(x) Init open nodes to h’ Down to 19,670 nodes g*(x) d h(x)? d2 S1 S2X (Open) Start
14
On to Refinement and W Refinement on same problem: 485 nodes Still optimal! Okay… let’s forget about AHA* Started examining the W axis 0.5 0 1 W P 1 Dijkstra A* Pure Heuristic Optimal Ref.
15
Some Results: Sub-optimality
16
Results: Nodes Saved
17
Conclusions & Questions AHA*: – I think cache blanking is my problem Refinement: – 0.99 is fast and relatively reliable – 0.5 is about twice as slow as 0.99, but very close to optimal – and still very fast – Why do Eight puzzle and Grid behave so well? Low branching factor? Maybe…
18
Where I’m going… I want to look at the rest of that triangle! What about between W=0.7 and W=0.5? 0.5 0.7 0 1 W P 1 Dijkstra A* Pure Heuristic Optimal Ref.
19
Any Questions? Russell & Norvig Text: $89.50 Tuition at University of Alberta: $3,291.78 Realizing you’ve been working on something called AHA*: Priceless
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.