It seems this is one of the few places on the net where some people have done work in D*/D* lite, so I was wondering if anyone here could answer my questions.

I'd like to write a D* lite routine for a software tool I'm programming. I understand all of the pseudo code for LPA* except for two things.

Im working with Koenig's 2002 paper, by the way:

http://www.aaai.org/Papers/AAAI/2002/AAAI02-072.pdf(1)calculateKeys()

Is this returning an array of two values? Or does the ; symbol stand for some operation? Line 1 reads: return[ min( g(s), rhs(s) ) + h (s, s

_{goal})

**;** min( g(s), rhs(s) ) ]. In the rest of the code, when called, it either passes the value to the queue directly, or is compared to U.topKey. I can't tell if it's working with two numbers or not. If it is two numbers, how is the comparison done?

(2)updateVertex() / rhs calculation

These sections include the expression: min

_{s' (is element of) Pred(u)}( g(s') + c(s', u) ). What is this the minimum of, if there's only one expression in parenthesis? Is this the smallest vertex s' in Pred(u), plugged into the equation ( g(s') + c(s', u) )? Or the smallest vertex s' in Pred(u) as calculated by the equation ( g(s') + c(s', u) )?