Algorithm 获取达到目标概率的算法

Algorithm 获取达到目标概率的算法,algorithm,math,probability,combinatorics,Algorithm,Math,Probability,Combinatorics,好的,我会尽可能详细地说 假设用户通过一组他可以选择的“选项”。每次他做出选择,他都会得到,比如说,4个不同的选择。在这4个“插槽”中可以显示更多选项。每一个都有一定的确定的和已知的出现概率。并非所有的选项都同样可能出现,有些选项要求其他选项之前已经被选中——在一个复杂的相互依赖树中。(我已经定义了这一点) 当用户选择4个选项中的一个时,他将看到4个选项中的另一个选项。选项池将再次定义,并取决于用户先前选择的内容 在所有可能出现的“选项”中,有一些是特殊的,称之为关键选项 程序启动时,会向用户显

好的,我会尽可能详细地说

假设用户通过一组他可以选择的“选项”。每次他做出选择,他都会得到,比如说,4个不同的选择。在这4个“插槽”中可以显示更多选项。每一个都有一定的确定的和已知的出现概率。并非所有的选项都同样可能出现,有些选项要求其他选项之前已经被选中——在一个复杂的相互依赖树中。(我已经定义了这一点)

当用户选择4个选项中的一个时,他将看到4个选项中的另一个选项。选项池将再次定义,并取决于用户先前选择的内容

在所有可能出现的“选项”中,有一些是特殊的,称之为关键选项

程序启动时,会向用户显示前4个选项。对于这4个选项中的每一个,程序需要计算用户在(可变)N个选项的周期内“实现”所有关键选项的总概率

e、 g.如果共有4个选项,则实现其中任何一个选项的概率正好为1,因为所有选项都出现在正确的开始处

如果有人能告诉我应该从什么逻辑开始,我将非常感激。 我在考虑计算所有可能的选择序列,并计算导致在N个“步骤”内选择关键选项的序列,但问题是所有选项出现的概率并不一致,而且随着用户选择和累积选项,选项池也会发生变化

我很难将定义良好的概率和选项的依赖性实现为一个能够给出合理总概率的算法。因此,用户每次都知道这4个选项中的哪一个使他处于最终获得关键选项的最佳位置

有什么想法吗

编辑: 下面是一个例子:

假设池中有7个选项。选项1,…,选项7 选择7需要选择6;选项6需要选项4和选项5; 选项1到5不需要任何东西,可以立即出现,概率选项1.p,…,选项5.p; 关键的选择是,比如说,选择7; 用户从1-5个选项中随机(但加权)选择4个选项,程序需要这样说: “如果你选择(第一个),你有###%的机会在最多N次尝试中获得选项7。”类似于其他3个选项

自然地,对于一些低N,不可能获得选项7,对于一些大N,这是肯定的。N可以选择,但是固定的

编辑:所以,这里的重点不是用户随机选择。重点是-程序建议选择哪个选项,以最大限度地提高在N个步骤之后,最终向用户提供所有关键选项的概率

对于上述示例;假设我们选择N=4。因此,该计划需要告诉我们出现的前4个选项中的哪一个(选项1-5中的任何4个),选择哪一个,获得选项7的机会最大。由于选项7需要选项6,而选项4和选项5也需要选项6,因此您必须在第一组选项中选择选项4或选项5。当然,其中一个肯定会出现。 假设我们得到第一个选项{option3,option5,option2,option4}。然后节目说: 如果您选择了选项3,您将永远无法通过4个步骤获得选项7。p=0; 如果您选择选项5,您可能会得到选项7,p=。。。。; ... 选项2,p=0; ... 选项4,p=

无论我们选择什么,对于接下来的4个选项,都会重新计算p。显然,如果我们选择选项3或选项2,那么每一个进一步的选择都有0的概率让我们选择选项7。但对于选项4和选项5,p>0


现在清楚了吗?我不知道如何获得这些概率p.

如果你认为用户随机选择选项,并且他在节点上总是呈现相同的选项分布,你可以将其建模为图上的随机游走。mathematica博客上最近有一篇关于某个特定随机游动的文章,内容很不错。

这听起来像是一个相当复杂的马尔可夫链类型的问题。为每个状态创建一个节点;一个状态没有历史,只是依赖于它可能的路径(每个路径都有一定的概率加权)。在每个节点上放置一个概率,即用户处于该状态的概率,因此,对于第一步,将有一个1作为起始节点,其他所有节点都是0。然后,根据哪些节点相邻以及到达它们的机会,通过更新每个顶点上的概率迭代到下一步。因此,您可以很容易地计算用户可以在15个步骤中到达的状态,以及相关的概率。如果你对渐近行为感兴趣(如果他能永远玩下去会发生什么),你可以建立一大堆线性联立方程组,直接求解它们,或者如果你的树或图有一个整洁的形式,就使用一些技巧。你经常会遇到周期性的解决方案,用户可能会陷入循环,等等。

也许你可以添加一个简短的示例,让它更清楚一些?你是否假设用户会随机选择?是否有规则根据之前的选择定义选项池的外观?@Ricky yes,规则都定义得很好,有一个函数(args),当args是所有选中的选项时,它返回可用选项的列表。期权本身就是一个对象,概率是其中的场@Jim添加了一个例子。您可能对Dobb博士的期刊中有关概率计算的一些内容感兴趣。在程序计算用户在开始时给出的4个选项中的每一个的所述概率之前,用户实际上没有选择任何内容。然后他选择,并得到另一个4,程序再次计算新4个选项的概率。@vedran是的,但@rrenaud的观点是,由于用户的选择会影响