1 / 15

Depth Increment in IDA*

Depth Increment in IDA*. Ling Zhao Dept. of Computing Science University of Alberta July 4, 2003. Outline. Introduction Examples Modifications on IDA* Analytical Model Experimental results Work to do Conclusions. Introduction.

isabel
Download Presentation

Depth Increment in IDA*

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. 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* -- bs IDA* -- b1+b2 +… +bs = (bs+1-b)/(b-1) when bs 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 A* - bs IDA* - (bs+1-b)/(b-1) -> bs+1/(b-1) IDA*’- (b(i+1)c- bc)/ (bc -1) -> b(i+1)c/ (bc -1) (ic = k+s) = bs * bk+c / (bc -1) overhead = bk+c / (bc -1) -1 Iteration 1: bc c Iteration 2 : b2c solution length s Iteration i-1: b(i-1)c k Iteration i: bic

  8. overhead = bk+c / (bc -1) –1 worst case (k=c): Min(overhead)=3 when bc = 2 best case (k=0): Min(overhead)->0 when bc -> +infinity average case (k=c/2): Min(overhead)=1.598 when bc = 3 Iteration 1: bc c Iteration 2 : b2c solution length s Iteration i-1: b(i-1)c k Iteration i: bic

  9. overhead = bk+c / (bc -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 bc =2.28 Iteration 1: bc c Iteration 2 : b2c solution length s Iteration i-1: b(i-1)c k Iteration i: bic

  10. Experimental results • 200 difficult PCP instances k = 45%i x = 20% of over-searched area From the model: Min(overhead) = 0.81 when bc= 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. 100 1 pair 1: 1001 100 pair 3: 1001100 1001 pair 1: 123 100 0 1 1 100 00 1001100100 10011 pair 1: 10011001001 1001100 pair 3: 100110010010 1001100100 pair 2: 1001100100100 1001100100100 pair 2: A Simple Example of PCP Instance • Rules: • select pairs • make the concatenated top string and bottom string identical.

More Related