【发布时间】:2011-02-12 23:39:02
【问题描述】:
我有一个具有以下属性的图表:
- 无向
- 未加权
- 每个顶点至少有 2 条和最多 6 条连接到它的边。
- 顶点数将
- 图形是静态的,不能添加/删除或编辑任何顶点/边。
我正在寻找顶点的随机子集(至少 2 个)之间的路径。路径应该是只经过任何顶点一次的简单路径。
我的最终目标是拥有一组路线,以便您可以从一个子集顶点开始并到达任何其他子集顶点。跟随路线时不必经过所有子集节点。
我发现的所有算法(Dijkstra、深度优先搜索等)似乎都在处理两个顶点之间的路径和最短路径。
是否有已知算法可以提供连接这些顶点子集的所有路径(我想这些是子图)?
编辑:
我创建了一个(警告!程序员艺术)动画 gif 来说明我想要实现的目标:http://imgur.com/mGVlX.gif
有预处理和运行时两个阶段。
预处理
- 我有一个图和一个顶点子集(蓝色节点)
- 我生成连接所有蓝色节点的所有可能路线
运行时
- 我可以从任何一个蓝色节点开始,选择任何生成的路线,然后沿着它到达我的目标蓝色节点。
所以我的任务更多是创建连接所有蓝色节点的所有子图(路线),而不是创建从 A->B 的路径。
【问题讨论】:
-
我没见过。但是,我无法在图中添加顶点,因为我正在使用该图来表示物理且无法修改的东西,因此我认为它不适用。
-
我觉得描述有点难以理解。您能否提供一个小示例图和解决方案?
-
您想要所有路径吗?您想要所有包含至少两个子集成员的简单路径?
-
我用动画 gif 更新了问题,并希望改进描述
标签: algorithm language-agnostic graph graph-theory subgraph