1

以下の行列を 3 つのノードを持つ有向グラフ隣接行列とします。

A=[.35 .076 .12;.0054 .83 .09; .31 .92 .019]

matlab または ucinet の 2 つの特定のノード間の最強のパスを見つけるにはどうすればよいですか?

2 つのノード間のすべての可能なパスを検索し、各パスのエッジの重みを合計して最大の重み付きパスを見つけ、そのパスを表示するように matlab に指示する方法が必要です。たとえば、marix A を考えて、ノード 1 からノード 3 への最強のパスを見つけたい場合、2 つの可能なパスがあります。1 つはノード 1 からノード 3 への直接パス、もう 1 つはノード 1 からノード 2 およびノー​​ド 2 からノードへのパスです。 3. 最初のパスには A(1,3)=.12 があり、2 番目のパスには A(1,2)+ A(2,3)= .076+.09=.166 があるので、2 番目のパスははノード 1 からノード 3 への最強のパスであり、1-2-3 となります。matlabまたはucinetでこのようなことを行う方法はありますか?

よろしくお願いします

4

1 に答える 1

0

MATLAB の有向グラフで 2 つのノード間の最強パスを見つけるGraph::longestPathには、Symbolic Math Toolbox を使用できます (最短パスを見つけるダイクストラ アルゴリズムgraphshortestpathは Bioinformatics Toolbox にあることに注意してください)。

于 2013-11-03T19:12:08.713 に答える