最短経路情報からグラフを再構築するためのアルゴリズム?


8

グラフの最短経路データがあります。このデータからグラフ自体を再構築できますか?

より正確には、グラフ(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つの頂点v1との間にエッジがある場合v2、これら2つの頂点はとの間の最短経路にv1ありv2ます。したがって、他の頂点のv場合[v1, v] == 0 == [v, v1]、の行列内v2、および[v2, v] == 0 == [v, v2]の行列内v1
ジョルジオ

1
多分私は間違っていますが、1)と2)は同等ではありませんか?
proskor 2014

1)と2)が同等であるかどうかはわかりません。特定の最短経路情報に対して複数のグラフが存在する可能性があり、すべての可能な解決策を見つけるアルゴリズムもあります。
Giorgio 14

わかりましたが、それは別の問題です。ポイントは、これらの行列のセットからグラフを再構築することであり、これらの行列でエンコードされた制約を満たす解があるかどうかを計算することではありませんでした。
proskor 2014

1
その不均一なエッジの場合の反例だろう-私は何かが欠けていない限り、@Giorgioは行列の同じセットでのV1-V2-V3の結果よりも長いV3にV1から単一のエッジを追加
JK。

回答:


2

次のプロパティを使用して、パス行列から隣接行列を抽出できます。

2つの頂点間のエッジがあるsd している場合にのみ場合は、それらの間の最短経路が含まれているだけsとはd

不均一な長さの場合、三角形の不等式が成り立つ場合にのみ、一意の解が得られます。そうでない場合とグラフd(p1,p2)=1 d(p2,p3)=2d(p1,p3)=4の間の最短経路表示されるp1p3を通してとしてのp2代わりに直接接続。つまり、エッジ[p1、p3]が最短経路の一部になることはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.