Presentation is loading. Please wait.

Presentation is loading. Please wait.

Depth Increment in IDA* Ling Zhao Dept. of Computing Science University of Alberta July 4, 2003.

Similar presentations


Presentation on theme: "Depth Increment in IDA* Ling Zhao Dept. of Computing Science University of Alberta July 4, 2003."— Presentation transcript:

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:


Download ppt "Depth Increment in IDA* Ling Zhao Dept. of Computing Science University of Alberta July 4, 2003."

Similar presentations


Ads by Google