我有一个简单的图形问题,我遍历图表寻找一个项目。图中的每个节点都有一个概率n / 100的项目,其中所有概率的总和等于1.我如何找到在整个图中搜索项目的最小预期时间?
该项目保证只存在于一个节点中。
乍一看,这似乎是一个旅行销售人员的问题而且很简单。只需获取路径的排列并计算每个路径的路径并返回最小值。
但是当我需要找到最短的预期时间时,它会变得棘手。是否有任何数学公式可以插入最小路径以获得结果?
ie: sum = 0
for node in path:
sum += node.prob * node.weight
或者是否需要做一些更复杂的事情?
答案 0 :(得分:2)
如果你正在做的只是寻找一个特定的项目,那么你肯定最多只能进行n次查找。
如果项目100%保证存在于图表中,并且它只存在一次,那么您将在大约n / 2次搜索后找到它。所以(搜索一个节点的时间)*(n / 2)是你的预期时间。
如果您想要更好的答案,那么您需要更多信息。
此外,您应该澄清“图中的每个节点都有概率n / 100的项目在哪里”的含义。这似乎表明我的图中是否有1个节点,它在我检查的节点上有1/100的可能性,但如果我有100个节点,那么我有100/100的机会。那个,我的朋友,像芭蕾舞短裙中的黑猩猩一样有意义。