Eu me deparei com esse problema em uma área da física bastante distante da ciência da computação, mas parece que é o tipo de pergunta que foi estudada em CS, então pensei em tentar a sorte perguntando aqui.
Imagine que você receba um conjunto de pontos e uma lista de algumas das distâncias entre os pontos d i j . Qual é a maneira mais eficiente de determinar a dimensionalidade mínima do espaço em que você precisa incorporar esses pontos? Em outras palavras, qual é o menor k de tal forma que exista um conjunto de pontos em R k que satisfaçam as restrições de distâncias d i j . Eu ficaria igualmente feliz com uma resposta para C k , mas isso parece mais difícil.
Estou feliz em dizer que as distâncias precisam corresponder apenas para dentro de alguma precisão constante ε e ter os pontos restrita a pontos em alguma rede de espaçamento constante, a fim de questões Evitar de computação com reais.
De fato, eu ficaria muito feliz com uma solução para a versão de decisão desse problema, onde dados e k são perguntados se esse conjunto de vértices { v i } existe ou não . Trivialmente, o problema está em NP, uma vez que, dado um conjunto de pontos em é fácil verificar que preencham os requisitos de distância, mas parece que deve haver algoritmos de tempo sub-exponencial para este problema particular.
A abordagem mais óbvia parece ser tentar construir estruturas dimensionais iterativamente, adicionando pontos adicionais um de cada vez e determinando se uma nova dimensão espacial precisa ou não ser adicionada a cada iteração. O problema disso é que parece que você pode encontrar ambiguidades onde há mais de uma maneira de adicionar um ponto à estrutura existente, e não está claro qual delas levará a menos dimensões à medida que você continua a adicionar mais pontos.
Por fim, deixe-me dizer que sei que é fácil criar listas de distâncias que não podem ser satisfeitas em qualquer número de dimensões (isto é, aquelas que violam a desigualdade do triângulo). No entanto, nos casos em que me preocupo, sempre haverá um número finito mínimo de dimensões em que um conjunto satisfatório de pontos pode ser encontrado.