从边按点距离加权的图形中恢复点嵌入


10

假设我给您一个带有加权边的无向图,并告诉您每个节点都对应于3d空间中的一个点。每当两个节点之间有一条边时,该边的权重即为点之间的距离。

您的目标是在仅提供可用距离(以边权重表示)的情况下重建点的相对位置。例如,如果我给您,那么您知道这些点是四面体的顶点。您不知道它相对于原点的位置,位置或方向,或者是否已被镜像,但是您可以知道它是四面体。d01个=d02=d03=d1个2=d1个3=d23=1个

通常,如果我给您所有的边长,问题很容易解决。只需任意选择一个点在,然后选择一个相邻点并将其放置在,然后将一个公共邻居三角剖分到XY上平面,然后将最终的公共邻居三角剖分到半空间并打破了其余的对称性(假设您没有选择退化点)。您可以使用这四个点对所有其余的点进行三角剖分。0 0 0 p 1d 0 10 0 p 2 p 3 ž > 0p0000p1个d01个00p2p3ž>0

另一方面,当缺少一些边缘长度时,可能无法恢复嵌入。例如,如果有一个顶点在切割时使图形断开连接,那么如果移除了该顶点,它将分离的两个组件可能会相对摆动。

这就提出了问题:

  • 找到解决方案的价格是多少?
  • 您如何确定解决方案是否唯一,直到平移/旋转/镜像?3连通性足够吗?必要?
  • 什么样的条件使问题变得微不足道?
  • 如果我不保证边缘权重实际上对应于点距sin 3d,那么确定是否完全可以嵌入的代价是多少?

对我来说感觉像是机器学习问题...
vzn 2014年

我不知道该选择哪个答案。它们在非重叠方式上都很好。最高投票者之一!
Craig Gidney 2014年

Answers:


5

解决此问题的一种算法方法:将其视为由弹簧连接的一组节点,然后使其沉降/松弛成形状。

每个边对应一个弹簧;如果假设点vw之间的距离为d v w,则选择弹簧,因此理想情况下弹簧的长度应为d v w(可以更长或更短,但这会消耗能量)。现在,我们要解决一组将总能量最小化的位置。假设每个顶点v被放置在点X v[R 3。那么,这种安排的总能量将是(v,w)vwdv,wdv,wvxvR3

E(x)=(v,w)E(distance(xv,xw)dv,w)2.

这里给出了 '(它们是边缘上的权重),并且我们想求解x v '(它们是点的坐标)。dv,wxv

我们可以解决最小化总能量的布置。然后,该布置为点的位置提供了合理的候选者。这是一个优化问题,有解决这种优化问题的标准技术。参见例如Erica Klarreich 的文章Network SolutionsX

我认为没有任何保证可以提供正确的所需解决方案。最优化问题可能会解决一个不同的最优问题,而该最优问题不能反映您要寻找的点的实际排列方式。但是,如果您的图形足够密集,我怀疑它通常可以正常工作并为您提供所需的解决方案。


脚注:当然,即使在最佳情况下,我们也只能解决平移,旋转和反射问题,因为这些变换会保留所有距离。因此,您不能指望一个独特的解决方案-但您可能希望该解决方案在平移,旋转和反射之前都是唯一的。


最后,还有上嵌入图表投入了大量的工作的空间,同时最大限度地减少嵌入的失真。这很相关;你基本上是要求零失真嵌入到2。因此,在这种情况下开发的技术也可能对您的问题有用。通常,该工作着重于寻找低失真的嵌入,因为该工作着重于没有完美的嵌入使所有距离完全匹配的情况,因此,它寻找一种低失真的解决方案(其中最大边缘距离匹配得很好)-因此工作重点放在一个稍有不同的问题上。但是,在您的情况下,他们的技术也可能有效。这值得一试。22


4

问题是NP-Complete。点的位置是一个很好的证明,所以它在NP中,您可以将电路编码为“是否有令人满意的点集?” 问题。

从电路评估减少到距离嵌入

我们将通过创建坐标系,将逻辑位放入其中,将位连接为相等并为NOT和AND门创建小部件,将电路评估减少为距离嵌入问题。

  1. 座标。我们需要一种可以用来定位点的坐标系。通过创建点的“基本”四面体来执行此操作。相加四个都声明为。这将这四个点的形状强制为四面体。通过指定其他点到基体四个角中每个角的距离,可以相对于我们的四面体坐标系定位其他点。四面体可以平移,旋转和反射,但所有其他点也将发生相同的情况。1个

  2. 。稍微说一下,我们相对于基本四面体放置点的三角形。三角形的法线必须沿Z轴指向上方,以便三角形平行于XY平面(在四面体坐标中)。同样,其边缘必须具有长度。完成此操作后,我们添加一个“值”点v,指定为与其他三个点的距离为1。我们v连接到基本坐标系。这给了它两个可能的位置:居中11个v1个v在三角形的上方或下方,作为四面体的最后一个角。如果该点在三角形上方,则该位为ON;如果在三角形下方,则该位为OFF。1个3

  3. 电线。我们可以说两个值点之间的距离等于它们的三角形中心之间的距离,从而使两个位相等。有一个例外:当其中一位的顶角或底角正好与另一位的中心平面对齐时。在这种情况下,我们首先使用一根导线垂直移动其中一个钻头。

  4. 。我们可以通过在同一个三角形上添加第二个值点来获得一点求反,但要求w2的距离ww来自v的 3。这迫使w相对于三角形采取与v相反的位置,从而给我们一点相反的值。23vwv

  5. 暗示。实际上,我们必须解决的等距问题非常有用。当这些位以这种方式排成一列时(我们可以用一根垂直线将其强制),较高的位表示较低的位。如果较高的为真,则仅较低的一个的顶部是正确的距离。如果较高的为假,则顶部和底部的距离都正确。

  6. 。为了使等于A AND B,我们需要两个含义,以及一个在AB达成一致时强制相等的小部件。含义只是CC一个AB CCA。为了制作小部件,我们垂直移动 A B,使它们处于同一水平距离 2CBAB相距 3,则我们将C移动到它们之间是等距的。然后我们将点SASB相加一个距离23CSASBAB的值点分别得出 3,并迫使SASB之间的距离为2123ABSASB。我们还添加了一个点SC距离2+13SCSASB均为 3。这将在AB的价值点之间创建一条链,其中SC为链的中心。当AB时,链条被拉伸到极限,并且SCC的三角形的中心。当A=B时,迫使链节沿完全相反的方向移动,到极限,并将SC放在C的等于A的值点上。强制C2+123SASBABSCABSCCA=BSCCAC的值点,我们将点插入距离1SDSCC的价值点来看均为 3。当AB时,这不会约束C的值点,但是当A=B时,会强制A=B=C123SCCCABA=B=CA=B

使用这些元素,您可以将任何电路编码为距离嵌入。输入变成位,门被分解为NOT和AND,并在必要时引入新位,仅此而已。强制输出的位置为true,就会遇到可满足性问题。


3

关于唯一性的部分答案:3连通性不够。

最小计数器例如:立方体图(超立方体格拉夫家族Q3

在此处输入图片说明

若要了解如何固定中所有边的长度不会使3维空间中的顶点在平移/旋转/镜像之前不具有位置,请查看如何展平纸板箱(移除2个相对的面)Q3

以纸板箱的角为感兴趣的顶点。纸板箱的每个角与其他角的距离固定,与纸板箱共用的其他角。

尽管生成的图形的边缘比还要多,但它仍然可以使纸板箱变平-这是无法通过平移/旋转/镜像生成的变换。Q3


我不太明白。但是,我确实意识到,通过将点放在彼此之上,可以将3连通性转化为有效的1连通性。因此,原始的3连通性是不够的。
Craig Gidney 2014年

@DW我按照建议扩展了参数。我没有让您争论,因为four points laying above or below the other four可以通过镜像相互转换。
Apiwat Chantawibul 2014年

K4

ķ4ķ4

3

这被称为以下问题,例如通过从可测量到附近节点的距离的传感器网络重建坐标而发生,并且本文可与领先算法一起用作小型调查。一种领先的方法称为奇异值投影,另一种奇异值阈值处理。该算法通常基于矩阵代数和秩降阶。本文实现了这两种算法,并给出了一些经验分析。

从局部距离信息重建欧氏距离徐,陈,Xu,Chen

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.