D Algorithm - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

D Algorithm

Description:

Oct 2001. Robot Motion Planning , CMU. 3. Abstraction. Lets look at P2P problem on a Grid ... Oct 2001. Robot Motion Planning , CMU. 4. Informed Search : A ... – PowerPoint PPT presentation

Number of Views:324
Avg rating:3.0/5.0
Slides: 39
Provided by: prasad8
Category:
Tags: algorithm | oct

less

Transcript and Presenter's Notes

Title: D Algorithm


1
D Algorithm
  • Vincent Lee-Shue Jr.
  • Prasad Narendra Atkar

2
D Algorithm
Goal
  • Point to point path planning in unknown,
    partially known or changing environments in an
    efficient, optimal and complete manner.

3
Abstraction
  • Lets look at P2P problem on a Grid
  • Problem is a graph search one
  • Objective values (Time, Distance, Energy)
  • Blind Search Wavefront (BFS)
  • Highly inefficient

4
Informed Search A
  • Utilizes information obtained from the
    environment.
  • Concept of a heuristic function (Estimation)
  • conditions of heuristic
  • Optimistic (must be less than or equal to the
    real cost)
  • As close to the real cost as possible
  • Algorithm
  • Nodes expanded in order of (cost incurred in
    moving to current location from the start
    Estimated cost to goal from current location)

5
Example (1/5)
Legend
h(x)
c(x)
Priority g(x) h(x)
Note
g(x) sum of all previous arc costs, c(x),
from start to x Example c(H) 2
6
Example (2/5)
First expand the start node
If goal not found, expand the first node in the
priority queue (in this case, B)
Insert the newly expanded nodes into the priority
queue and continue until the goal is found, or
the priority queue is empty (in which case no
path exists)
Note for each expanded node, you also need a
pointer to its respective parent. For example,
nodes A, B and C point to Start
7
Example (3/5)
No expansion
GOAL(5)
Weve found a path to the goal Start gt A gt E
gt Goal (from the pointers) Are we done?
8
Example (4/5)
No expansion
GOAL(5)
There might be a shorter path, but
assuming non-negative arc costs, nodes with a
lower priority than the goal cannot yield a
better path. In this example, nodes with a
priority greater than or equal to 5 can be
pruned. Why dont we expand nodes with an
equivalent priority? (why not expand nodes D and
I?)
9
Example (5/5)
No expansion
GOAL(5)
GOAL(4)
We can continue to throw away nodes with priority
levels lower than the lowest goal found. As we
can see from this example, there was a shorter
path through node K. To find the path,
simply follow the back pointers. Therefore the
path would be Start gt C gt K gt Goal
If the priority queue still wasnt empty, we
would continue expanding while throwing away
nodes with priority lower than 4. (remember,
lower numbers higher priority)
10
Completeness, Optimality and Efficiency
  • A yields an optimal path, if it exists. If goal
    is unreachable, it signals so. (i.e. A Complete
    and optimal)
  • Efficient A is very efficient for static
    worlds (much better than Wavefront)
  • What happens with Dynamic worlds, where the arc
    costs may change ?

11
Dynamics Worlds
  • A Replanner Plan by A using all the available
    information at the start.
  • Start tracing the optimal path
  • If there is a discrepancy between the initial map
    and the actual environment, update the new cost
    values for the corresponding arcs, run A again
    for planning between the current position and the
    goal. Trace new optimal path, if discrepancy
    between map and environment, update corresponding
    arc costs, run A again.

12
Efficiency of A Replanner
  • In expansive environments where the goal is far
    away, little changes may force the planner to use
    A over the whole environment, although the
    changes in the optimal path may be small, that
    is, the new optimal path may be very similar to
    the old assumed optimal path.
  • Hence, A re-planner can be grossly inefficient
    computationally.
  • What can we do to improve the efficiency of A
    Re-planner?

13
Dynamic A (D ) Stentz, 1994
  • Functionally equivalent to A replanner.
  • Plan initial path using A to every state in the
    world (Dijkstras search ).
  • Make local changes to the map and the resultant
    optimal path when a discrepancy between map and
    the environment is found.
  • Essentially prunes the graph search.
  • Optimal given the information at a time
  • Omniscient optimal if exact representation of map
    is available.

14
D Definitions
  • X represents a state
  • Qu D maintains a Priority Queue
  • t(X) OPEN, if X is on Qu.
  • NEW, if X has never been on Qu.
  • CLOSED , if X is not currently on Qu but
    it was on Qu earlier.
  • c(X,Y) cost of moving from X to Y c(Y,X).
  • h(X) current cost of path from X to Goal.
  • k(X) Estimated minimum cost from X to Goal.
  • min unmodifed h(X), all h(X)
    value X takes when X is put on
  • O.
  • o(X) cost of optimal path from X to Goal.
  • X path to goal, i.e.,sequence of states from
    X to Goal
  • b(X) Y , Y is parent state of X, X-Y-Goal

15
Procedures
MODIFY-COST(X,Y,cval)
MIN-STATE()
c(X,Y)cval if t(X) CLOSED then INSERT
(X,h(X)) Return GET-MIN ( )
Return X if k(X) is minimum for all states on Qu
INSERT(X,hnew)
GET-KMIN()
if t(X) NEW then k(X)hnew if t(X) OPEN then
k(X)min(k(X),hnew) if t(X) CLOSED then
k(X)min(k(X),hnew) and t(X) OPEN Sort Qu based
on increasing k values
Return the minimum value of k for all states on
Qu
16
Procedures
PROCESS-STATE()
else for each neighbor Y of X if t(Y)
NEW or (b(Y) X and h(Y) ? h(X)c (X,Y) ) then
b(Y) X INSERT(Y, h(X)c(X,Y)) else
if b(Y) ? X and h(Y) gt h(X)c (X,Y)
then INSERT(X, h(X)) else
if b(Y) ? X and h(X) gt h(Y)c (X,Y) and
t(Y) CLOSED and h(Y) gt kold then
INSERT(Y, h(Y)) Return GET-KMIN ( )
X MIN-STATE( ) if X NULL then return 1 kold
GET-KMIN( ) DELETE(X) if koldlt h(X) then
for each neighbor Y of X if h(Y) lt kold and
h(X) gt h(Y) c(Y,X) then b(X) Y h(X)
h(Y)c(Y,X) if kold h(X) then for each
neighbor Y of X if t(Y) NEW or (b(Y) X and
h(Y) ? h(X)c (X,Y) ) or (b(Y) ? X and h(Y) gt
h(X)c (X,Y) ) then b(Y) X INSERT(Y,
h(X)c(X,Y))
17
D Algorithm
h(G)0 do kminPROCESS-STATE() while(kmin
! -1 start state not removed from
Qu) if(kmin -1) goal unreachable
exit else do do trace
optimal path() while ( goal is not reached
map environment) if (
goal_is_reached) exit else
Y State of discrepancy reached trying
to move from some State X
MODIFY-COST(Y,X,newc(Y,X)) do
kminPROCESS-STATE()
while( k(Y) lt h(Y) kmin ! -1)
if(kmin-1) exit()
while(1)
18
c(x1,x2)1
c(x1,x3)1.4
c(x1,x8)10000,if x8 is in obstacle,x1 is a
freecell
c(x1,x9)10000.4, if x9 is in obstacle, x1 is a
freecell
19
Goal
Gate
Start
20
(No Transcript)
21
(No Transcript)
22
(No Transcript)
23
(No Transcript)
24
(No Transcript)
25
(No Transcript)
26
(No Transcript)
27
(No Transcript)
28
(No Transcript)
29
(No Transcript)
30
(No Transcript)
31
(No Transcript)
32
(No Transcript)
33
(No Transcript)
34
(No Transcript)
35
Example Pictures
36
Comparisons
  • Comparison with A replanner
  • Size of environment , number, size and
    placement of obstacles affect relative superior
    performance of D over A replanner. D is much
    better is expansive and more complex
    environments.
  • Where do we go from here?

37
Focussed D.
  • Adds the focus heuristics to limit the search
    space. Stentz, 1995

38
Applications
  • Now we have an optimal, efficient and complete
    planner. So what?
  • Planetary Exploration (Mars, etc)
  • Search and Rescue (WTC)
  • Any graph search problem where change is possible
  • Financial Markets
  • Artificial Intelligence
Write a Comment
User Comments (0)
About PowerShow.com