문서도움말센터문서
이번역번역이지는최신내용을담고담고않습니다않습니다。최신최신내용을영문영문으로여기를클릭클릭
그래프의최대흐름(最大流量)
mf = maxflow(g,s,t)
mf = maxflow(g,s,t,算法)
[mf,gf] = maxflow(___)
[MF,GF,CS,CT] = maxFlow(___)
예제
MF.= maxflow(G那英石)는노드S.와노드T.사이의최대흐름을을합니다。그래프G가비가중중(未加权图形)(즉,G.Edges.가변수重量를포함하지않음)이면maxflow.가모든그래프간선을가중치가1인것으로합니다。
MF.= maxflow(G那英石)
MF.
G
英石
S.
T.
G.Edges.
重量
maxflow.
MF.= maxflow(G那英石那算法)은사용할할최대흐름(最大流量算法)을지정합니다。이구문은G가유방향유방향그래프인경우경우에만만할수
MF.= maxflow(G那英石那算法)
算法
[MF.那GF.] = maxflow(___)는위에열거된구문입력입력를사용하여유방향객체GF.도도합니다。GF.는G에서0이아닌흐름값을갖는간선사용하여하여형성。
[MF.那GF.] = maxflow(___)
GF.
[MF.那GF.那CS那CT.] = maxflow(___)는는또한최대흐름흐름과연결최소절단(最低剪切)을나타내는소스노드id와타깃id,즉CS와CT.도도합니다。
[MF.那GF.那CS那CT.] = maxflow(___)
CS
CT.
모두축소
가중그래프(加权图)를생성하고플로팅。가중치간선간선은흐름흐름을을
S = [1 1 2 2 3 4 4 4 5 5];T = [2 3 3 4 5 3 5 6 4 6];重量= [0.77 0.44 0.67 0.75 0.89 0.90 2 0.76 1 1];G = Digraph(S,T,重量);绘图(g,'Edgelabel',g.edges.weight,'布局'那'分层');
노드1에서노드6까지의최대흐름을합니다。
mf = maxflow(g,1,6)
MF = 1.2100.
그래프를생성하고플로팅합니다。가중치간선간선은흐름흐름을을
S = [1 1 2 2 3 3 4];t = [2 3 3 4 4 5 5];重量= [10 6 15 5 10 3 8];G = Digraph(S,T,重量);h = plot(g,'Edgelabel',g.edges.weight);
노드1과노드5사이의최대흐름값을구합니다。포드 - 풀풀알고리즘(Ford-Fulkerson算法)을사용하도록'augmentpath'를지정하고0이아닌흐름에대한그래프를할두개의출력값사용용
'augmentpath'
[MF,GF] = maxFlow(g,1,5,'augmentpath')
MF = 11.
GF =具有属性的数字:边缘:[6x2表]节点:[5x0表]
0이아닌흐름에대한그래프를표시하고레이블을을지정
H.edgeLabel = {};亮点(h,gf,'Edgecolor'那'r'那'行宽',2);st = gf.edges.endnodes;LabelEdge(h,st(:,1),st(:,2),gf.edges.weight);
가중그래프(加权图)를생성하고플로팅。간선가중치는흐름용량을。
s = [1 1 2 3 3 4 4 5 5];t = [2 3 3 2 5 5 6 4 6];重量= [0.77 0.44 0.67 0.69 0.73 2 0.78 1 1];G = Digraph(S,T,重量);绘图(g,'Edgelabel',g.edges.weight,'布局'那'分层')
그래프그래프의최대(最大流量)과최소절단구합니다。
[MF,〜,CS,CT] = maxflow(g,1,6)
MF = 0.7300.
CS =3×11 2 3.
ct =3×14 5 6.
CS노드를소스로사용하고CT.노드를싱크로사용하여최소절단을플로팅。CS노드노드를빨간색으로으로강조표시CT.노드를녹색으로강조합니다합니다。참고로,이두노드의집합을하는간선가중치는최대최대흐름과
h = plot(g,'布局'那'分层'那“来源”,CS,'下沉',CT,......'Edgelabel',g.edges.weight);突出显示(H,CS,'nodecolor'那'红色的')亮点(H,CT,'nodecolor'那'绿色')
图形
dig
입력그래프로,图形객체또는dig객체로지정됩니다。무방향그래프를생성하려면图形를사용하고하고하고유방향그래프를생성하려면dig를사용하십시오。
예:g =图(1,2)
g =图(1,2)
예:G = Digraph([1 2],[2 3])
G = Digraph([1 2],[2 3])
노드쌍으로,소스노드와타깃노드나타내는노드인덱스노드이름의의개별인수로지정지정다음표에서노드인덱스노드노드이름사용을을을참조하는몇가지방법을보여줍니다。
1
'一种'
“一种”
예:mf = maxflow(g,'a','b')
mf = maxflow(g,'a','b')
예:mf = maxflow(g,1,10)
mf = maxflow(g,1,10)
데이터형:双倍的|char|细绳
双倍的
char
细绳
'searchtrees'
'pushrelabel'
최대최대알고리즘으로,다음표의항목중하나로지정됩니다。
참고
유방향그래프에만디폴트가아닌算法옵션을지정할수있습니다。
보이코프 - 콜모고로프알고리즘(Boykov-Kolmogorov算法)을사용용。노드S.와노드T.00
포드 - 풀커슨알고리즘(Ford-Fulkerson算法)을사용합니다。잔차유방향그래프그래프에서확장되는경로를구해최대흐름을적으로계산계산계산적으로계산계산
유방향그래프는동일한두노드사이에있는반대방향의다중간선(并行边缘)중하나의가중치가0인경우가아니라면이러한간선을동일한두노드사이에포함할수없습니다。따라서그래프가간선[I J]를포함하는경우[I J]의가중치와[j i]의가중치중하나또는이둘모두가0일때에만반대의간선[j i]를포함할수있습니다。
[I J]
[j i]
노드의과다흐름(多余的流量)을을이웃에밀어(PUSH)후노드에레이블다시을다시지정하여최대흐름계산계산계산계산
예:mf = maxflow(g,'a','d','augmentpath')
mf = maxflow(g,'a','d','augmentpath')
최대최대흐름,스칼라로반환됩니다。
흐름에대한유방향그래프로,dig객체로반환됩니다。GF.는G와와동일한노드노드를포함,G의간선중0이아닌흐름을갖는간선만합니다합니다。동일동일두노드사이에다중간선이있는다중그래프의경우,GF.00
최소절단소스노드노드,노드인덱스또는노드이름으로으로반환。
S.와T.가숫자형숫자형노드인덱스인덱스를할할CS와CT.도노드인덱스를갖습니다。
S.와T.가노드이름을을지정할할CS와CT.도노드이름을을。
최소절단타깃노드노드,노드인덱스또는노드이름으로으로반환。
최대흐름에서그래프의간선은가중치로가중치로표현표현용량을갖는것으로간주됩니다。따라서,그래프에서두노드사이의최대흐름은연결되는간선용량을을기반으로하여소스S.에서타깃노드T.로로전달되는흐름흐름의을최대화화
최소절단은CS와CT.를연결하는모든간선의가중치합(절단의가중치)이최소화화되도록유방향그래프노드노드두개의CS와CT.로로합니다。최소절단의가중치는최대최대흐름MF.와와합니다。
CS와CT.의항목은각각노드S.와노드T.에연결된G의노드를나타냅니다。CS와CT.는numel(cs)+ numel(ct)= numnodes(g)를를합니다。
numel(cs)+ numel(ct)= numnodes(g)
dig|图形
이예제의수정된이있습니다。사용자가편집한내용을반영하여이예제를여시겠습니까?
다음matlab명령명령에해당하는링크를클릭클릭링크를클릭클릭
명령을실행하려면matlab명령창에입력。웹브라우저는matlab명령명령지원하지않습니다。
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室