Download presentation
Presentation is loading. Please wait.
1
Depth Increment in IDA* Ling Zhao Dept. of Computing Science University of Alberta July 4, 2003
2
Outline Introduction Examples Modifications on IDA* Analytical Model Experimental results Work to do Conclusions
3
Introduction In some single-agent search problems with very low branching factors (less than 2), the generic IDA* typically visits many more nodes than A*. Branching factor: b solution length: s A* -- b s IDA* -- b 1 +b 2 +… +b s = (b s+1 -b)/(b-1) when b s is large enough, IDA* visits about 1/(b-1) times more nodes than A*.
4
Examples Overhead = 1/(1-b) PCP: b = 1.120 overhead = 8.33 Pathfinding: b is very close to 1 (?) overhead > 30
5
How to solve the problem? Depth is increased by more than one in each iteration. cons: less redundant work pros: may need to search nodes with f value greater than solution length. Modification on generic IDA*(ensure optimality): when a solution is found, update the search threshold and keep searching.
6
Analytical model Assumptions: search tree grows perfectly in an exponential series (1<b<2, s is very large) need to find all optimal solutions depth increment is a constant
7
Analytical model Iteration 1: b c Iteration 2 : b 2c Iteration i: b ic Iteration i-1: b (i-1)c solution length s k A* - b s IDA* - (b s+1 -b)/(b-1) -> b s+1 /(b-1) IDA*’- (b (i+1)c - b c )/ (b c -1) -> b (i+1)c / (b c -1) (ic = k+s) = b s * b k+c / (b c -1) overhead = b k+c / (b c -1) -1 c
8
Iteration 1: b c Iteration 2 : b 2c Iteration i: b ic Iteration i-1: b (i-1)c solution length s k overhead = b k+c / (b c -1) –1 worst case (k=c): Min(overhead)=3 when b c = 2 best case (k=0): Min(overhead)->0 when b c -> +infinity average case (k=c/2): Min(overhead)=1.598 when b c = 3 c
9
Iteration 1: b c Iteration 2 : b 2c Iteration i: b ic Iteration i-1: b (i-1)c solution length s k overhead = b k+c / (b c -1) –1 another average case: only shadowed area is visited (suppose it is 50% of the over-searched area), and k=c/2 Min(overhead) = 1.1 when b c =2.28 c
10
Experimental results 200 difficult PCP instances k = 45%i x = 20% of over-searched area From the model: Min(overhead) = 0.81 when b c = 7.70 Empirically: Min(overhead)=0.67 when c=20
11
Empirical Results
12
Further thoughts Decrease overhead of IDA*’ 1. node overhead - better heuristics (look ahead) 2. right increment - very specific to problems 3. variable increment???
13
Work to do Test the impact from better heuristics (lookahead) Apply the idea to other problems - pathfinding? - two-player games with low bf - sliding puzzles (15, 24-puzzles)? Better statistical methods to compare analytical and empirical results
14
Summary Search problems with very low branching factors receive relatively less attention. difficult problem => high/medium bf PCP is a good domain to test algorithms for problems with low bf IDA* with large depth increment performs much better in some problems with low branching factor (1<b<2) and typically very long solution lengths. IDA*’ is almost cost-free
15
A Simple Example of PCP Instance 1 2 3 1 2 3 100 0 1 1 100 00 Rules: 1.select pairs 2.make the concatenated top string and bottom string identical. 1001100100100 100 1 pair 1: 1001 100 1001100 1001 1001100100 10011 10011001001 1001100 100110010010 1001100100 pair 3: pair 1: pair 3: pair 2:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.