Depth Increment in IDA*

1 / 15

# Depth Increment in IDA* - PowerPoint PPT Presentation

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Depth Increment in IDA*' - isabel

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### 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
• 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*.

Examples

PCP: b = 1.120

Pathfinding: b is very close to 1 (?)

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.

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
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

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

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

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

Further thoughts

2. right increment

- very specific to problems

3. variable increment???

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
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

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.