Supongamos que le doy un gráfico no dirigido con bordes ponderados y le digo que cada nodo corresponde a un punto en el espacio 3d. Siempre que haya un borde entre dos nodos, el peso del borde es la distancia entre los puntos.
Su objetivo es reconstruir las posiciones relativas de los puntos, dadas solo las distancias disponibles (representadas por los pesos de los bordes). Por ejemplo, si te di , entonces sabes que los puntos son los vértices de un tetraedro. No sabes dónde está en relación con el origen, o su orientación, o si se ha reflejado, pero puedes decir que es un tetraedro.
En general, el problema es fácil si le doy todas las longitudes de borde. Simplemente elija arbitrariamente un punto para que esté en , luego elija un punto vecino y colóquelo en , luego un vecino común se triangula en el XY plano, luego un vecino común final se triangula en el medio espacio y rompe la simetría restante (suponiendo que no haya elegido puntos degenerados). Puedes usar esos cuatro puntos para triangular todos los restantes. ( 0 , 0 , 0 ) p 1 ( d 0 , 1 , 0 , 0 ) p 2 p 3 z > 0
Por otro lado, cuando faltan algunas longitudes de borde, puede que no sea posible recuperar la incrustación. Por ejemplo, si hay un vértice que desconecta el gráfico cuando se corta, entonces los dos componentes que separaría si se quitan pueden oscilar uno con respecto al otro.
Lo que plantea las preguntas:
- ¿Qué tan costoso es encontrar una solución?
- ¿Cómo se determina si una solución es única, hasta la traducción / rotación / duplicación? ¿Es suficiente la 3-conectividad? ¿Necesario?
- ¿Qué tipo de condiciones hacen que el problema sea trivial?
- Si no prometo que los pesos de los bordes realmente corresponden a la distancia de punto en 3d, ¿qué tan costoso es determinar si es posible una incrustación?