全て、
すべてのペアの最短経路と行列乗算の関係について読んでいます。
加重隣接行列とそれ自体の乗算を考えてみましょう。ただし、この場合、行列乗算の乗算演算を加算に置き換え、加算演算を最小化に置き換えます。加重隣接行列とそれ自体の積は、任意のノード ペア間の長さ 2 の最短パスを含む行列を返すことに注意してください。
この引数から、A の n 乗にはすべての最短経路が含まれることになります。
質問番号 1:
私の質問は、グラフでは、パス内の 2 つのノード間に最大で n-1 個のエッジがあるということです。著者は、長さ「n」のパスについてどのような根拠で議論していますか?
次のスライド
www.infosun.fim.uni-passau.de/br/lehrstuhl/.../Westerheide2.PPT
スライド 10 では、次のように述べられています。
dij(1) = cij
dij(m) = min (dij(m-1), min1≤k≤n {dik(m-1) + ckj}) --> Eq 1
= min1≤k≤n {dik(m-1) + ckj} ------------------> Eq 2
質問 2: 著者が式 1 から式 2 をどのように結論付けたか。
アルゴリズムの紹介に関するCormenらの本では、次のように言及されています。
実際の最短経路の重み delta(i, j) は? グラフに負の重みのサイクルが含まれていない場合、すべての最短パスは単純であり、最大で n - 1 個のエッジを含みます。n - 1 を超えるエッジを持つ頂点 i から頂点 j へのパスは、i から j への最短パスよりも重みを小さくすることはできません。したがって、実際の最短経路の重みは次の式で与えられます。
デルタ(i,j) = d(i,j) パワー (n-1) = (i,j) パワー (n) = (i,j) パワー (n+1) = ...
質問 3: 上記の式では、作成者は n, n+1 個のエッジをどのように作成しましたか? また、上記の割り当てはどのように機能しますか?
ありがとう!