我在与计算机科学相距甚远的物理学领域中遇到了这个问题,但似乎就像CS中研究过的问题类型一样,所以我想我会很幸运地在这里提出问题。
想象一下,您得到了一组点以及点d i j之间的一些距离的列表。确定嵌入这些点的空间的最小尺寸的最有效方法是什么?换句话说,最小的k是多少,使得R k中存在满足距离约束d i j的一组点。我对C k的答案同样满意,但这似乎很难。
我很高兴地说,距离需要匹配只是在一定的恒定精度内ε和有限制的点上的点一定间隔的一些格子,以与实数计算的避免出现问题。
事实上,我会用这个问题,在给定的判定型的解决方案很高兴和ķ你问过这样的设置是否顶点{ v 我 }存在。一般而言,问题出在NP上,因为给定R k中的一组点,可以很容易地检查它们是否满足距离要求,但是对于这个特定问题,感觉好像应该有次指数时间算法。
最明显的方法似乎是尝试通过一次添加一个额外的点并确定每次迭代是否需要添加新的空间维度来迭代地构建维结构。这样做的问题是,似乎您可能会遇到含糊不清的问题,其中不止一种方法可以向现有结构添加点,而且随着继续添加更多点,不清楚哪一种会导致更少的尺寸。
最后,我要说的是,我知道很容易创建在任何数量的维度(即违反三角形不等式)中都无法满足的距离列表。但是,对于我关心的实例,总会存在一些最小的有限数量的维,在这些维中可以找到令人满意的点集。