Tengo algunos datos de ruta más cortos para un gráfico. ¿Puedo reconstruir el gráfico a partir de estos datos?
Más precisamente, tengo una matriz booleana (0/1) para cada vértice v en el gráfico (V, E) . El elemento de matriz [s, d] es igual a 1 si v v está en la ruta más corta desde el vértice de origen s hasta el vértice de destino d . Todos los bordes en el gráfico tienen la misma longitud.
Por ejemplo, para el gráfico
(V1) -- (V2) -- (V3)
las tres matrices serían:
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
Mis preguntas:
1) ¿hay un algoritmo para reconstruir el conjunto de bordes E a partir de estas matrices?
2) ¿la solución es siempre única? (Esto es más una curiosidad personal que un requisito real)
3) ¿se puede generalizar el algoritmo a longitudes de borde no uniformes?
v1yv2, entonces exactamente estos dos vértices están en el camino más corto entrev1yv2. Entonces, para cualquier otro vérticev,[v1, v] == 0 == [v, v1]en la matriz dev2y[v2, v] == 0 == [v, v2]en la matriz dev1.