📅  最后修改于: 2021-01-12 03:36:31             🧑  作者: Mango
多级图G =(V,E)是一个有向图,其中顶点被划分为k (其中k > 1 )个不相交的子集S = {s 1 ,s 2 ,…,s k } ,使得边(u, v)在E中,则该分区中的某些子集的u i和v s 1 +1 。 s 1 | = | k = 1。
顶点s s 1称为源,顶点t s k称为宿。
通常将G假定为加权图。在该图中,边缘(i,j)的成本由c(i,j)表示。因此,从源s到汇点t的路径成本是该路径中每个边的成本之和。
多级图问题是找到从源s到汇点t的成本最低的路径。
考虑以下示例,以了解多级图的概念。
根据公式,我们必须使用以下步骤计算成本(i,j)
在此步骤中,选择三个节点(节点4、5、6)作为j 。因此,在此步骤中,我们有三个选择来选择最低成本。
Cost(3,4)=最小值{c(4,7)+ Cost(7,9),c(4,8)+ Cost(8,9)} = 7
Cost(3,5)=最小值{c(5,7)+ Cost(7,9),c(5,8)+ Cost(8,9)} = 5
Cost(3,6)=最小值{c(6,7)+ Cost(7,9),c(6,8)+ Cost(8,9)} = 5
选择两个节点作为j,因为在阶段k-3 = 2处有两个节点2和3。因此,值i = 2且j = 2和3。
Cost(2,2)=最小值{c(2,4)+ Cost(4,8)+ Cost(8,9),c(2,6)+
成本(6,8)+成本(8,9)} = 8
Cost(2,3)= {c(3,4)+ Cost(4,8)+ Cost(8,9),c(3,5)+ Cost(5,8)+ Cost(8,9), c(3,6)+ Cost(6,8)+ Cost(8,9)} = 10
成本(1,1)= {c(1,2)+成本(2,6)+成本(6,8)+成本(8,9),c(1,3)+成本(3,5)+ Cost(5,8)+ Cost(8,9))} = 12
c(1,3)+ Cost(3,6)+ Cost(6,8 + Cost(8,9))} = 13
因此,具有最小成本的路径是1→3→5→8→9 。