K条最短路径问题

最短路径的并行算法综述 中国科技大学 陈艾

通常情况下,最短路径问题分为:单源最短路径和所有顶点对间的最短路径。这两类问题从不同的角度描述问题,但有一个共同的缺陷:这里的最短路径指两点之间最短的那一条路径,不包括次短、再次短等等路径。这样的最短路径问题比较狭义。实际情况中,例如,用户在使用咨询系统或决策支持系统时,希望得到最优的决策参考外,还希望得到次优、再次优等决策参考,这同样反映在最短路径问题上。因此,有必要将最短路径问题予以扩充和延伸,成为K条最短路径问题,即不但要求得到最短路径,还要得到次短、再次短等路径。

K条最短路径问题是Hoffman和Pavley在1959年首先提出的[1]。90年代中旬对它的研究达到高潮。1973年Fox提出一个时间复杂度为O(m+knlogn)的串行算法[2];Eppstein在1999年得到了一个很好的串行算法[3],给定两点间的N条最短路径需要O(m+nlogn+k)时间,从所有点到给定目的点间的最短路径需要O(m+nlogn+nk)时间。E.Ruppert在2000年对Eppstein的算法进行并行化[4],时间复杂度为O(logk+logn)。


[1] W. Hoffman and R. Pavley. A method of solution of the Nth best path problem. Journal of the ACM,6:506–514, 1959.
[2] B. L. Fox. Calculating kth shortest paths. INFOR; Canadian Journal of Operational Research, 11(1):66–70, 1973.
[3] D. Eppstein. Finding the k shortest paths. SIAM Journal on Computing, 28(2):652–673, April 1999.
[4] E. Ruppert Finding the k Shortest Paths in Parallel1 Algorithmica (2000) 28: 242–25

MSN Space Link: http://spaces.msn.com/vanzolo/blog/cns!4A43F3D396FBF12F!1217.entry?_c11_blogpart_blogpart=blogview&_c=blogpart#permalink

你可能感兴趣的:(中文分词,算法,parallel,path,咨询,c)