【发布时间】:2011-02-24 18:52:59
【问题描述】:
我有一个简单的绘图问题,我遍历一个图表来寻找一个项目。图中的每个节点都有一个项目存在的概率 n/100,其中所有概率之和等于 1。如何找到在整个图中搜索项目的最小预期时间?
该项目保证只存在于一个节点中。
乍一看,这似乎是一个旅行推销员问题,这很简单。只需获取路径的排列并计算每个路径并返回最小值。
但是当我需要找到最小的预期时间时,它变得很棘手。是否有任何数学公式可以插入到最小路径上以获得结果?
ie: sum = 0
for node in path:
sum += node.prob * node.weight
还是有更复杂的事情需要做?
【问题讨论】:
-
请不要用可能可能的解决方案来标记问题。另外,您缺少详细信息。你究竟是如何遍历图表的?
-
@Moron:你是说数学?关于遍历,我提到我得到所有路径的排列并返回具有最小成本的路径。
-
我的意思是[旅行推销员]。另外,我的观点是,预期时间取决于您如何 遍历。您声称您正在寻找一个项目....如果您正在查看所有排列,为什么还要谈论图表?你的问题一点都不清楚。
-
最小预期时间为 1。也就是说,您至少会在您搜索的第一个节点找到该项目。最长预期时间将取决于图表的深度。所有其他期望都高度依赖于图表的结构。 “只需得到排列”很简单,但我想你会发现,如果你尝试这样做,如果你在图中有多个节点,你会花费比永远更长的时间。
-
等等...您是否要在有向图中找到到节点的最短路径 (en.wikipedia.org/wiki/Shortest_path_problem)?
标签: algorithm math graph statistics traveling-salesman