我有一个完全无向图,其中节点表示平面上点上的点,边是点之间的近似欧几里得距离。我想将此图“嵌入”到二维空间中。也就是说,我想将每个顶点转换为 (x,y) 位置元组,以便对于任意两个两个顶点 v 和 w,边 (v,w) 的权重接近 dist(v,w)。
例如,如果我有一个带有节点 A、B、C 和 D 的图和带有权重 (A,B) 的边:20;(A,C): 22; (A,D): 26; (B, C): 30; (B, D): 20, (C, D): 19, 那么你可以分配点 A: (0,0); B: (10, 0); C: (0, 10); D: (10, 10)。显然这是不完美的,但它是一个合理的近似值。
我不在乎获得最好的解决方案,我只想在合理的时间内找到一个合理的解决方案。
(如果你想要这个问题的动机。我有一个物理系统,我对所有点对的距离进行嘈杂的测量。距离测量很嘈杂,但往往在真实值的两倍之内。我有做了所有这些测量,现在有一个包含数千个节点和数百万条边的图,并且想要将这些点放在一个平面上。)