【问题标题】:Making a fully connected graph using a distance metric使用距离度量制作全连接图
【发布时间】:2013-07-25 15:18:35
【问题描述】:

假设我有一系列数千个节点。对于每对节点,我都有一个距离度量。这个距离度量可以是物理距离(比如每个节点的 x,y 坐标)或其他使节点相似的东西。

每个节点最多可以连接到 N 个其他节点,其中 N 很小 - 比如 6。

如何构建一个完全连接的图(例如,我可以在图边之后的任意两个节点之间移动),同时最小化所有图节点之间的总距离。

也就是说,我不想要一个图,其中任何遍历的总距离最小化,但对于任何节点,到该节点的所有链接的总距离最小化。

我不需要绝对最小值 - 因为我认为这可能是 NP 完全的 - 但这是获得接近真正绝对最小值的图形的相对有效的方法。

【问题讨论】:

  • 我不确定,但是修改后的 MST 怎么样?我认为故障是可以容忍的。

标签: algorithm graph graph-algorithm


【解决方案1】:

我建议使用贪婪的启发式方法,您可以选择边,直到所有顶点都有 6 个邻居。例如,从最小生成树开始。然后,对于一些随机的顶点对,找到它们之间的最短路径,该路径最多使用一条未选择的边(在图的两个副本上使用 Dijkstra 算法,选择边,由未选择的边连接)。然后选择总距离减少最大的边。

【讨论】:

    【解决方案2】:

    您可以使用内核仅为特定截止距离下的节点创建边。

    • 如果您想要非加权边缘,您可以简单地使用基本截止开始。如果 d(v1,v2) ,则在 2 点之间添加一条边

      您可以调整截止 R 以获得节点之间正确的平均边数。

    • 如果你想要一个加权图,首选的内核通常是高斯内核,

      K(x,y) = e^(-d(x,y)^2/d_0)

      带有一个截止值以避开值过低的节点。 d_0 是调整参数以获得最适合您的权重。

    在寻找参考资料时,我发现了这篇我没有提到的博客文章,但这似乎非常具有解释性,还有更多详细信息:http://charlesmartin14.wordpress.com/2012/10/09/spectral-clustering/

    此方法用于基于图形的半监督机器学习任务,例如在图像识别中,您可以标记对象的一小部分,并通过有效的标签传播来识别整个对象。

    你可以在 google 上搜索:semi supervised learning with graph

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 2020-03-16
      • 1970-01-01
      • 2013-05-05
      • 2011-06-12
      • 2016-09-27
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多