Ich habe einige kürzeste Wegdaten für ein Diagramm. Kann ich das Diagramm selbst aus diesen Daten rekonstruieren?
Genauer gesagt habe ich eine boolesche (0/1) Matrix für jeden Scheitelpunkt v in Graph (V, E) . Das Matrixelement [s, d] ist gleich 1, wenn sich v auf dem kürzesten Weg vom Quellscheitelpunkt s zum Zielscheitelpunkt d befindet . Alle Kanten im Diagramm haben die gleiche Länge.
Zum Beispiel für das Diagramm
(V1) -- (V2) -- (V3)
Die drei Matrizen wären:
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
Meine Fragen:
1) Gibt es einen Algorithmus, um die Menge der Kanten E aus diesen Matrizen zu rekonstruieren?
2) Ist die Lösung immer einzigartig? (Dies ist eher eine persönliche Neugier als eine echte Anforderung)
3) Kann der Algorithmus auf ungleichmäßige Kantenlängen verallgemeinert werden?
v1
und eine Kante liegtv2
, befinden sich genau diese beiden Eckpunkte auf dem kürzesten Weg zwischenv1
undv2
. Also für einen anderen Scheitelpunktv
,[v1, v] == 0 == [v, v1]
in der Matrixv2
und[v2, v] == 0 == [v, v2]
in der Matrix ausv1
.