最小化图形保持连接性

时间:2013-04-11 04:27:29

标签: algorithm graph

我遇到了图形问题。我正在使用OpenSG,并试图找到建筑物中两点之间的路径。

我构建了这个图:graph1

我用它来找到建筑物中两点之间的最短路径:

path in graph

这是我找到路径的方式:

  • 我在图表中添加了开始/目标节点
  • 我将起始/目标节点的边缘添加到所有可到达的节点(这是通过完成的 OSG中的IntersectAction)
  • 我使用A * -algorithm来查找 最短的路径

我想现在最小化图表。如果两点之间的路径变得更长一点并不重要,我只想简化现在的冗余。例如,可以删除所有浅绿色节点。房间没有任何意义,没有“看到”门,所以不需要节点。它应该看起来像这样: minimized graph

所以我有一个或多或少做我想要的算法,但我只是认为这必须是一个众所周知的问题。它不是一个最小的顶点覆盖,因为例如如果在最小顶点覆盖中没有包含门节点,我将找不到两个房间之间的路。

我与各种图形问题相比,但我找不到真正的匹配......

它很晚(早上6点20分),我应该去睡觉,也许它看起来有点令人困惑,也许它真的很明显。感谢您对此问题的任何意见。

1 个答案:

答案 0 :(得分:0)

我想我自己找到了答案。如果有人有兴趣。它不是正常的顶点覆盖,而是“最小连接顶点覆盖问题”(CVCP)。有一篇很好的论文:

Vertex covers and connected vertex covers in 3-connected graphs