J'ai rencontré ce problème dans un domaine de la physique assez éloigné de l'informatique, mais cela semble être le type de question qui a été étudié en CS, alors j'ai pensé tenter ma chance en le posant ici.
Imaginez que l'on vous donne un ensemble de points et une liste de certaines des distances entre les points d i j . Quelle est la manière la plus efficace de déterminer la dimensionnalité minimale de l'espace dans lequel vous devez intégrer ces points? Autrement dit, quel est le plus petit k tel qu'il existe un ensemble de points dans R k satisfaisant aux contraintes de distances d i j . Je serais également satisfait d'une réponse pour C k , mais cela semble plus difficile.
Je suis heureux de dire que les distances doivent correspondre à uniquement avec une précision constante ϵ et que les points doivent être limités à des points sur un réseau d'espacement constant, afin d'éviter les problèmes de calcul avec des réels.
En effet, je serais très satisfait d'une solution pour la version décisionnelle de ce problème, où étant donné et k on vous demande si un tel ensemble de sommets { v i } existe ou non. Trivialement, le problème est dans NP, car étant donné un ensemble de points dans R k, il est facile de vérifier qu'ils satisfont aux exigences de distance, mais il semble qu'il devrait y avoir des algorithmes de temps sous-exponentiels pour ce problème particulier.
L'approche la plus évidente semble être d'essayer de construire des structures dimensionnelles de manière itérative, en ajoutant des points supplémentaires un par un et en déterminant si une nouvelle dimension spatiale doit ou non être ajoutée à chaque itération. Le problème avec cela est qu'il semble que vous pouvez rencontrer des ambiguïtés où il existe plusieurs façons d'ajouter un point à la structure existante, et il n'est pas clair laquelle conduira à moins de dimensions lorsque vous continuerez à ajouter plus de points.
Enfin, permettez-moi de dire que je sais qu'il est facile de créer des listes de distances qui ne peuvent être satisfaites dans un certain nombre de dimensions (c'est-à-dire celles qui violent l'inégalité du triangle). Cependant, pour les cas qui m'intéressent, il y aura toujours un nombre fini minimum de dimensions dans lesquelles un ensemble satisfaisant de points peut être trouvé.