我正试图确定最佳搜索情况以与我写的搜索算法进行比较。我有一组标记为“必需”的节点和一个标记为“开始”的节点,其余标记为“可选”。我想找到我需要扩展的节点的最佳数量,以便发现所有必需的节点,因为我的第一个扩展是“开始”节点。开始位置和一组所需节点之间的最小生成树
- 我相信我正在寻找的是最小生成树,但修剪了所有不以“必需”节点结尾的分支。这是Steiner tree problem?
- 如果我的图未加权,那么Steiner树的大小和最小生成树的大小是否一样?
- 如果有什么话我可以说关于树的大小?即类似的东西(最小生成树大小的大小=平均最短路径*#所需节点...我不认为这是真的,但它能很好地计算基于连通性或某物的平均值)。
的几个注意事项:
- 这不是旅行的销售问题,因为我并不需要一个路径 每个需要的节点之间存在,我只是想探索每个 需要的节点。
- 我是无向图和加权(或相等地加权为此事)
- My图表具有约100所需的节点的平均值,并且甚至数千可选节点
根据定义,如果你运行你的算法,最佳树将是最小化连接节点的总加权路径。因此,如果删除(并且其他路径保持不变),沿着树的任何子路径将是您必须重新创建以重新链接所需元素的最佳路径。 – ninjagecko 2012-04-07 17:18:59