找到最小/最大重量Steiner树

时间:2013-02-13 04:20:29

标签: algorithm graph graph-algorithm minimum-spanning-tree

我在reddit上问了这个问题,但还没有收敛到解决方案。由于我的许多搜索都将我带到Stack Overflow,我决定尝试一下。这是我的问题的简单表述:

给定加权无向图G(V,E,w)和G中顶点S的子集,找到跨越S的最小/最大权重树。不允许添加顶点。基本模型的扩展是添加0权重的边,以及必须排除的顶点。这似乎与这里提出的问题类似:

Algorithm to find minimum spanning tree of chosen vertices

还可以更深入地了解边缘可以采用的值。每个边缘实际上都是一个相关概率,我可以用几种方式编码,所以我想问图的主要问题是:

  1. 给定必须连接的k个顶点,连接它们的顶部X min / max生成树是什么,以及它们通过哪些顶点?据我了解,这与询问图表连接所有k个顶点的最高概率是同一个问题。
  2. 越来越模糊,是否有一种逻辑方法来聚类节点?
  3. 至于实现,我安装了boost库,一旦我得到框架滚动这个问题,我可以处理如何多线程(如果适用),使用什么样的图,以及如何存储/缓存数据,因为顶点和边的数量将非常大。

    更新 看看我试图解决的问题,它是NP完全的意义。我试图解决的现实世界问题涉及医学诊断;特别是当医学界正在考虑具体想法的问题时,他们需要退后一步并重新考虑他们如何到达那里。我想从我设计的程序中得到的是:

    • 考虑到几个条件,测试,症状,年龄,性别,季节,确诊,时间表,您如何联系它们?触摸了哪些细胞/组织/器官/系统?它们甚至是相关的吗?
    • 除了条件/症状可能属于的已定义组之外,还有办法对条件/症状进行逻辑分组吗?

    示例 流感样症状,红眼病,早期肺炎和一些糖尿病的迹象。有没有办法解决所有症状?是否有一些测试可以让它更容易确定?涉及哪些系统?

    尝试将其映射到图形或多个图形似乎很自然,并将概率用作不同症状/条件之间的相关性。

1 个答案:

答案 0 :(得分:0)

我见过你的问题模型,主要基于贝叶斯推理和模糊逻辑。贝叶斯推理网络表达原因和效果之间的关系,例如吸烟和肺癌。查看here以获得快速教程。您可以将模糊逻辑应用于该建模,以尝试考虑现实生活中的变化(因为不是每个人都患肺癌)。