問題は、右上から左下に桁の最大合計で移動したいということです。ちょうど12の移動でそれを行わなければなりません。 eng。問題は、しかし簡単な解決方法は、私が言及した点でした、私はこれらの種類の問題がいくつかの理論グラフといくつかのアルゴリズムを持って知っているが、私は化学工学の学生だから、グラフや関連するアルゴリズム。 アイデアを思いつくために大変な努力をしましたが、実際には何も見つかりませんでした。私はあなたのアイデアに感謝します。2点間の最長経路
を行うことを許可されていますトップへダウンからのものと)7をノード間43から行く、右だけに左:clc
clear
A = zeros(49) ;
A(8,1) = -3.02 ;
A(1,2) = -3.1 ;
A(9,2) = -2.04 ;
A(2,3) = -2.07 ;
A(10,3) = -2.09 ;
A(3,4) = -2.01 ;
A(11,4) = -2.04 ;
A(4,5) = -3.1 ;
A(12,5) = -3.03 ;
A(5,6) = -2.06 ;
A(13,6) = -2.05 ;
A(6,7) = -3.04 ;
A(14,7) = -2.05 ;
A(15,8) = -2.04 ;
A(8,9) = -3.04 ;
A(16,9) = -2.05 ;
A(9,10) = -2.02 ;
A(17,10) = -2.01 ;
A(10,11) = -3.1 ;
A(18,11) = -2.1 ;
A(11,12) = -2.09 ;
A(19,12) = -3.1 ;
A(12,13) = -2.08 ;
A(20,13) = -2.04 ;
A(13,14) = -2.03 ;
A(21,14) = -2.06 ;
A(22,15) = -3.05 ;
A(15,16) = -2.02 ;
A(23,16) = -2.09 ;
A(16,17) = -3.05 ;
A(24,17) = -2.07 ;
A(17,18) = -3.01 ;
A(25,18) = -2.08 ;
A(18,19) = -2.09 ;
A(26,19) = -3.03 ;
A(19,20) = -2.09 ;
A(27,20) = -2.02 ;
A(20,21) = -2.04 ;
A(28,21) = -3.05 ;
A(29,22) = -3.05 ;
A(22,23) = -2.07 ;
A(30,23) = -3.09 ;
A(23,24) = -3.05 ;
A(31,24) = -3.08 ;
A(24,25) = -2.01 ;
A(32,25) = -3.05 ;
A(25,26) = -2.01 ;
A(33,26) = -3.03 ;
A(26,27) = -3.04 ;
A(34,27) = -3.1 ;
A(27,28) = -3.05 ;
A(35,28) = -2.06 ;
A(36,29) = -2.03 ;
A(29,30) = -2.05 ;
A(37,30) = -3.05 ;
A(30,31) = -2.1 ;
A(38,31) = -3.06 ;
A(31,32) = -2.09 ;
A(39,32) = -2.09 ;
A(32,33) = -2.05 ;
A(40,33) = -2.07 ;
A(33,34) = -3.08 ;
A(41,34) = -3.02 ;
A(34,35) = -3.07 ;
A(42,35) = -3.04 ;
A(43,36) = -2.08 ;
A(36,37) = -2.05 ;
A(44,37) = -2.07 ;
A(37,38) = -2.08 ;
A(45,38) = -3.1 ;
A(38,39) = -3.03 ;
A(46,39) = -2.02 ;
A(39,40) = -2.09 ;
A(47,40) = -3.05 ;
A(40,41) = -3.09 ;
A(48,41) = -2.1 ;
A(41,42) = -3.1 ;
A(49,42) = -2.07 ;
A(43,44) = -2.08 ;
A(44,45) = -3.06 ;
A(45,46) = -2.01 ;
A(46,47) = -2.1 ;
A(47,48) = -2.02 ;
A(48,49) = -2.06 ;
G = digraph(A) ;
[path,d] = shortestpath(G,43,7) ;
しかし、私は間違ったパスの長さを取得し、Matlabの答えは32です正しいものは25.73でなければなりません。私が見つける パスは:
解答経路がある:
おそらくDijkstraのアルゴリズムを見てみると、最も効率的ではなく、効率の最も悪いパスを探すために実装する必要がありますが、動作する可能性があります。 – user3716193
@ user3716193と合意してください。最初にトポロジを作成して、Djikstraのalgoを使用することができます。あなたの体重をf(x)= 1/xで変換し、 "最短経路"を計算してください – obchardon
[this](http://www.geeksforgeeks.org/dynamic-programming-set-6-min-cost)を読むことをお勧めします。 -path /)は非常によく似ていて、シナリオに適応します。 –