问题是在多级的多个节点内找到最佳路径(最小成本/高分(。或者换句话说,在共享一些相同节点的多个树中。
例如如图所示;每个级别中有多个节点。它们通过边相互连接(每条边也有一个距离值,但不能使用(。并且每条路径都有一个来自边缘值的分数值。分数是路径的联合概率。
因此,目的是在这些层节点之间找到最佳路径。
数据如下所示;(一级节点,2级节点,3级节点...(:分数
(1, 1, 1( : 3
(1, 2, 1( : 1
(1, 2, 2( : 6
(1, 2, 3( : 2
(2, 2, 1( : 3
(2, 2, 2( : 4
(2, 2, 3(: 3
(2, 3, 2( : 5
(2, 3, 3( : 4
.....
结果应提供 5 条路径,这些路径应给出总体最小成本。
这个问题应该使用什么样的算法?
此问题可以建模为最小成本流网络问题。设m
为每层中的节点数。人工源s
放置在第一层上方; s
连接到第一层的每个节点,并且每个m
边的网络容量都受到1
和0
成本的限制。同样,在最后一层下方有一个人工终端t
; t
连接到最后一层的每个节点,并且每个m
边的网络容量都受到1
和0
成本的限制。这个问题可以通过确定具有m
量的最小成本流来解决,这可以通过网络单纯形算法来实现。