Encontré este problema en un área de la física bastante alejada de la informática, pero parece ser el tipo de pregunta que se ha estudiado en CS, así que pensé en probar suerte preguntándola aquí.
Imagine que le dan un conjunto de puntos y una lista de algunas de las distancias entre los puntos . ¿Cuál es la forma más eficiente de determinar la dimensionalidad mínima del espacio en el que necesita incrustar estos puntos? En otras palabras, ¿cuál es la más pequeña, de modo que exista un conjunto de puntos en satisfaga las restricciones de distancias . Sería igualmente feliz con una respuesta para \ mathbb {C} ^ k , pero esto parece más difícil.
Me complace decir que las distancias deben coincidir con solo dentro de una precisión constante y que los puntos se restrinjan a puntos en una red de espaciado constante, para evitar problemas de computación con reales.
De hecho, estaría muy feliz con una solución para la versión decisión de este problema, donde da y se le pregunta si o no tal conjunto de vértices existir. Trivialmente, el problema está en NP, dado que dado un conjunto de puntos en es fácil verificar que satisfacen los requisitos de distancia, pero parece que debería haber algoritmos de tiempo sub-exponenciales para este problema en particular.
El enfoque más obvio parece ser tratar de construir estructuras dimensionales de manera iterativa, agregando puntos adicionales uno a la vez y determinando si una nueva dimensión espacial necesita o no agregarse en cada iteración. El problema con esto es que parece que puede encontrarse con ambigüedades donde hay más de una forma de agregar un punto a la estructura existente, y no está claro cuál conducirá a menos dimensiones a medida que continúe agregando más puntos.
Por último, permítanme decir que sé que es fácil crear listas de distancias que no pueden satisfacerse en cualquier cantidad de dimensiones (es decir, las que violan la desigualdad del triángulo). Sin embargo, para las instancias que me interesan, siempre habrá un número mínimo finito de dimensiones en las que se pueda encontrar un conjunto satisfactorio de puntos.