グラフの最短経路データがあります。このデータからグラフ自体を再構築できますか?
より正確には、グラフ(V、E)の各頂点vに対してブール(0/1)行列があります。行列要素[s、d]は1に等しい。ただし、vがソース頂点sから宛先頂点dへの最短経路にある場合。グラフのすべてのエッジは同じ長さです。
たとえば、グラフの場合
(V1) -- (V2) -- (V3)
3つの行列は次のようになります。
V1:
1 1 1
1 0 0
1 0 0
V2:
0 1 1
1 1 1
1 1 0
V3:
0 0 1
0 0 1
1 1 1
私の質問:
1)これらの行列からエッジのセットEを再構築するアルゴリズムはありますか?
2)ソリューションは常に一意ですか?(これは実際の要件よりも個人的な好奇心です)
3)アルゴリズムを不均一なエッジ長に一般化できますか?
多分私は間違っていますが、1)と2)は同等ではありませんか?
—
proskor 2014
1)と2)が同等であるかどうかはわかりません。特定の最短経路情報に対して複数のグラフが存在する可能性があり、すべての可能な解決策を見つけるアルゴリズムもあります。
—
Giorgio 14
わかりましたが、それは別の問題です。ポイントは、これらの行列のセットからグラフを再構築することであり、これらの行列でエンコードされた制約を満たす解があるかどうかを計算することではありませんでした。
—
proskor 2014
その不均一なエッジの場合の反例だろう-私は何かが欠けていない限り、@Giorgioは行列の同じセットでのV1-V2-V3の結果よりも長いV3にV1から単一のエッジを追加
—
JK。
v1
との間にエッジがある場合v2
、これら2つの頂点はとの間の最短経路にv1
ありv2
ます。したがって、他の頂点のv
場合[v1, v] == 0 == [v, v1]
、の行列内v2
、および[v2, v] == 0 == [v, v2]
の行列内v1
。