graphmaxflow
(删除)计算有向图中的最大流量
语法
[
MaxFlow
,FlowMatrix
,减少
= graphmaxflow(G
,综述
,TNode
)
[…= graphmaxflow(G
,综述
,TNode
,“能力”,CapacityValue
,……)
[…= graphmaxflow(G
,综述
,TNode
,“方法”,MethodValue
,……)
参数
G |
表示有向图的n × n邻接矩阵。矩阵中的非零元素G 表示边的容量。 |
综述 |
节点G . |
TNode |
节点G . |
CapacityValue |
列向量,指定矩阵中边的自定义容量G .对于矩阵中的每一个非零值(边),它必须有一个条目G .向量中自定义容量的顺序必须与矩阵中非零值的顺序匹配G 当按列遍历时。默认情况下,graphmaxflow 从矩阵中的非零项中获取容量信息G . |
MethodValue |
字符向量或字符串,指定用于查找最小生成树(MST)的算法。的选择是:
|
描述
提示
有关图论函数的介绍性信息,请参见图论函数.
[
计算有向图的最大流量MaxFlow
,FlowMatrix
,减少
= graphmaxflow(G
,综述
,TNode
)G
从节点综述
到节点TNode
.输入G
是一个表示有向图的n × n邻接矩阵。矩阵中的非零元素G
表示边的容量。输出MaxFlow
是最大流量,和FlowMatrix
是一个邻接矩阵,包含每条边的所有流量值。FlowMatrix
(X
,Y
)是来自节点的流X
到节点Y
.输出减少
逻辑行向量是否表示所连接的节点综述
在计算了最小切割之间综述
而且TNode
.如果最小切割问题存在多万博 尤文图斯个解,则减少
是一个矩阵。
提示
算法决定了减少
的时间复杂度为O (2 ^
,在那里N是节点数。如果不需要此信息,请使用N
)graphmaxflow
函数没有第三个输出。
[…= graphmaxflow(
调用G
,综述
,TNode
,……”PropertyName
”,PropertyValue
,……)graphmaxflow
使用属性名/属性值对的可选属性。可以以任意顺序指定一个或多个属性。每一个PropertyName
必须用单引号括起来,不区分大小写。这些属性名/属性值对如下:
[…= graphmaxflow(
允许您为边缘指定自定义容量。G
,综述
,TNode
,“能力”,CapacityValue
,……)CapacityValue
列向量是否对矩阵中的每一个非零值(边)都有一个条目G
.向量中自定义容量的顺序必须与矩阵中非零值的顺序匹配G
当按列遍历时。默认情况下,graphmaxflow
从矩阵中的非零项中获取容量信息G
.
[…= graphmaxflow(
允许指定用于查找最小生成树(MST)的算法。的选择是:G
,综述
,TNode
,“方法”,MethodValue
,……)
“埃德蒙兹”
-使用Edmonds和Karp算法,该算法的实现基于一种称为标记算法.时间复杂度为* E O (N ^ 2)
,在那里N
而且E
分别为节点数和边数。“戈德堡”
—默认算法。使用戈德堡算法,它使用的通用方法称为preflow-push.时间复杂度为O (N ^ 2 *√(E))
,在那里N
而且E
分别为节点数和边数。
参考文献
[1]埃德蒙兹,J.和卡普,R.M.(1972)。网络流问题算法效率的理论改进。美国计算机学会学报19, 248 - 264。
戈德堡,A.V.(1985)。一种新的最大流量算法。MIT/LCS/TM-291,麻省理工学院计算机科学实验室。
[3] Siek, j.g., Lee, L-Q,和Lumsdaine, A.(2002)。Boost图形库用户指南和参考手册,(上马鞍河,新泽西州:皮尔逊教育)。