Según entiendo, la primera vez que ejecuta D * encuentra la misma ruta que A * con casi el mismo tiempo de ejecución. Sin embargo, cuando un nodo cambia su valor de borde o se agregan nodos, A * recalcula TODA la ruta mientras D * simplemente vuelve a calcular los nodos inconsistentes la segunda vez en lugar de todo.
El algoritmo D * de Anthony Stentz (documento original original here) ha sido en gran parte obsoleto por los derivados de su trabajo. D * Lite y LPA * son los más comunes y son mucho más fáciles de codificar/implementar.
En cuanto a la experiencia del mundo real, Joseph Carsten y Art Rankin del Laboratorio de Propulsión a Chorro de la NASA instalaron una versión de Field D * utilizando elementos de D * Lite en los rovers "Spirit" y "Opportunity" D * here). En febrero de 2007, se utilizó para navegar completamente por el rover mars de forma autónoma.
alt text http://asm.arc.nasa.gov/Gallery/images/generic/rover.jpg
Al parecer D * es realmente útil en el dominio de la robótica, porque los robots de a bordo sensores están constantemente re-evaluando los valores de borde. Eso lo haría bastante "probado en la batalla" en mi propia opinión.
De manera similar, encontré otro whitepaper que menciona el uso del algoritmo D * Lite en Mobile Gaming.
Voy a terminar esta respuesta diciendo que nunca he implementado D * antes, solo A *. Debido al aumento significativo de la complejidad, diría que D * (o D * Lite) solo se debe usar en los casos en que haya cambios significativos y frecuentes en el gráfico. Usted describió su situación como similar, así que definitivamente diría que es D * Lite. Si la NASA lo usa, podría apostar de forma segura que ha sido investigado a fondo.
pero escuchemos una explicación detallada para el profano – Setori
Creo que lo más parecido que obtendrá será leer el pseudocódigo y la explicación que lo acompaña en el documento original para D * al que me he vinculado. Está en términos bastante "legos" ... pero no podrás entender D * sin ~ algún ~ fondo de la teoría de grafos. – mmcdole