Asynchronous dynamic programming (ASYNCHDP) 算法求最短路径

本文代码点击这里下载。

动态规划方法

如果节点x位于st的最短路径上,那么xt的路径也必须是xt之间的最短路径。这种“分而治之”(devide-and-conquer)的思想,被称为动态规划(dynamic programming)。

异步动态规划方法(ASYNCHDP)

记节点i到目标节点t的最短路径为h^*(i)。从it的经过j(是i的邻居)的最短路径可通过f^* (i,j)=w(i,j)+h^*(j)给出,并且h^*(i)=min_j f^*(i,j). 基于这种思想,给出ASYNCHDP方法的伪代码如下。

ASYNCDP算法伪代码

一个ASYNCDP算法的例子:

ASYNCDP算法寻找最短路径的例子