文档帮助中心文档
图中的最大流
mf=最大流量(G、s、t)
mf=maxflow(G,s,t,算法)
[mf,GF]=最大流量(___)
[mf、GF、cs、ct]=最大流量(___)
实例
mf=最大流量(G,s、 t)返回最大流量节点间s和T.If图G未加权(即,G.边缘不包含该变量重量)那么最大流将所有图形边视为具有等于1的权重。
mf=最大流量(G,s、 t)
mf
G
s、 t
s
T
G.边缘
重量
最大流
mf=最大流量(G,s、 t,算法)指定要使用的最大流算法。此语法仅在以下情况下可用:G是一个有向图。
mf=最大流量(G,s、 t,算法)
算法
[mf,女朋友]=最大流量(___)还返回一个有向图对象,女朋友,使用前面语法中的任何输入参数。女朋友仅使用中的边形成G具有非零流量值的。
[mf,女朋友]=最大流量(___)
女朋友
[mf,女朋友,反恐精英,计算机断层扫描]=最大流量(___)另外还返回源节点和目标节点ID,反恐精英和计算机断层扫描,代表最小割与最大流量关联。
[mf,女朋友,反恐精英,计算机断层扫描]=最大流量(___)
反恐精英
计算机断层扫描
全部崩溃
创建并绘制加权图。加权边表示流量。
s=[1 2 3 4 4 5];t=[2 3 4 3 5 6];权重=[0.77 0.44 0.67 0.75 0.89 0.90 2 0.76 1];G=有向图(s,t,权重);绘图(G,“EdgeLabel”,G.重量,“布局”,“分层”);
确定从节点1到节点6的最大流量。
mf=最大流量(G,1,6)
mf=1.2100
创建并绘制图表。加权边表示流量。
s=[1,2,3,4];t=[2,3,4,5];权重=[10,6,15,10,3,8];G=有向图(s,t,权重);H=绘图(G,“EdgeLabel”重量);
查找节点1和节点5之间的最大流量值。指定“增强路径”使用Ford Fulkerson算法,并使用两个输出返回非零流图。
“增强路径”
[mf,GF]=maxflow(G,1,5,“增强路径”)
mf=11
GF=具有以下属性的有向图:边:[6x2表]节点:[5x0表]
突出显示并标记非零流图。
H.EdgeLabel={};突出显示(H,GF,“EdgeColor”,“r”,“线宽”,2);st=GF.Edges.EndNodes;标签边(H,st(:,1),st(:,2),GF.Edges.Weight);
创建并绘制加权图。边缘权重表示流量。
s=[1 2 3 4 5];t=[2 3 2 5 6 4 6];权重=[0.77 0.44 0.67 0.69 0.73 2 0.78 11];G=有向图(s,t,权重);绘图(G,“EdgeLabel”,G.重量,“布局”,“分层”)
求图的最大流和最小割。
[mf,~,cs,ct]=maxflow(G,1,6)
mf=0.7300
cs=3×11 2 3
ct=3×14 5 6
使用图形绘制最小切割反恐精英作为源的节点和计算机断层扫描节点作为接收器。突出显示反恐精英节点显示为红色,并且计算机断层扫描节点为绿色。请注意,连接这两组节点的边的权重等于最大流量。
H=曲线图(G,“布局”,“分层”,“来源”,政务司司长,“下沉”,ct,...“EdgeLabel”重量);突出显示(H、cs、,“NodeColor”,“红色”)突出显示(H、ct、,“NodeColor”,“绿色”)
图表
有向图
输入图形,指定为图表或有向图对象。使用图表创建无向图或有向图创建有向图。
例子:G=图(1,2)
G=图(1,2)
例子:G=有向图([12],[23])
G=有向图([12],[23])
节点对,指定为节点索引或节点名称的单独参数,以指示源节点和目标节点。此表显示了通过节点索引或节点名称引用节点的不同方式。
1.
“A”
例子:mf=最大流量(G,'A','B')
mf=最大流量(G,'A','B')
例子:mf=最大流量(G,1,10)
mf=最大流量(G,1,10)
数据类型:双重的|烧焦|一串
双重的
烧焦
一串
“搜索树”
“pushrelabel”
最大流算法,指定为表中的一个条目。
笔记
只能指定非默认值算法带有有向图的选项。
使用Boykov-Kolmogorov算法。通过构造与节点关联的两个搜索树来计算最大流量s和T.
使用Ford-Fulkerson算法。通过在剩余有向图中查找增广路径,迭代计算最大流。
有向图在相同的两个节点之间不能有任何方向相反的平行边,除非其中一条边的权重为零。因此,如果图中包含边[i j],则可以包含反向边[j i]只有当重量[i j]是零和/或[j i]是零。
[i j]
[j i]
通过将节点的多余流量推送到其邻居,然后重新标记节点,计算最大流量。
例子:mf=maxflow(G,'A','D','augmentpath')
mf=maxflow(G,'A','D','augmentpath')
最大流,以标量形式返回。
流的有向图,返回为有向图对象女朋友包含与相同的节点G,但仅包含G具有非零流的。对于在相同两个节点之间具有多条边的多重图,女朋友包含反映流经多条边的流的单条边。
最小切割源节点ID,作为节点索引或节点名称返回。
如果s和T指定数值节点索引,然后反恐精英和计算机断层扫描还包含节点索引。
如果s和T指定节点名称,然后反恐精英和计算机断层扫描还包含节点名称。
最小切割目标节点ID,作为节点索引或节点名称返回。
在最大流的上下文中,图中的边被认为具有容量由边权重表示。边缘的容量是可以通过该边缘的流量。因此,图中两个节点之间的最大流量最大化了从源节点通过的流量,s,到目标节点,T,基于连接边的容量。
最小割将有向图节点划分为两个集合,反恐精英和计算机断层扫描,这样所有连接边的权重之和反恐精英和计算机断层扫描(切割重量)最小化。最小切割的重量等于最大流量值,mf.
中的条目反恐精英和计算机断层扫描指示的节点G与节点关联s和T分别地反恐精英和计算机断层扫描满足纽梅尔(cs)+纽梅尔(ct)=纽结(G).
纽梅尔(cs)+纽梅尔(ct)=纽结(G)
图表|有向图
您拥有此示例的修改版本。是否要用编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站以获取可用的翻译内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。
联系当地办事处