gpt4 book ai didi

javascript - 异或 : N things with variable probabilities

转载 作者:行者123 更新时间:2023-12-04 08:45:09 28 4
gpt4 key购买 nike

对不起;我是一名编码员而不是数学家,所以我向我自己的堆栈提出了这个问题。我正在尝试减少一系列概率 (0-1),比如说 [.1,.3,.5]找到:

  • 所有这些发生的可能性(简单的乘法,我们称这个函数 AND : probs.reduce((m,p)=>p*m,1) ),
    1.1 这个可以写x_1 :\cap: x_2 :... \cap: x_n
  • 它们中的任何一个发生(一个减去它们都没有发生 1 - probs.reduce((m,p)=>m*(1-p),1) ,称之为 OR ),以及
    2.1 这个可以写x_1 :\cup: x_2 :... \cup: x_n
  • XOR他们中只有一个,不多也不少。起初我认为这很简单,因为如果只有两个输入,那么只有一个发生的几率应该是 OR减号AND .但是当我把它当作一个包含两个以上值的数组时,正常的 XOR 逻辑似乎瓦解了。
    3.1 这可以写成(详细)(x_1 :\cup: \neg x_2 :... \cup: \neg x_n) :\cap: (\neg x_1 :\cup: x_2 :... \cup: \neg x_n) :...: \cap (\neg x_1 :\cup: \neg x_2 :... \cup: x_n)

  • 我是否需要获得“OR”,然后以减法方式将所有可能的 AND 场景迭代相乘?或者是否有一个非迭代公式来找出长度超过两个的列表中恰好一个概率的总概率? 0,0,0在我的情况下应该是 0。 0,.4.0应该产生 0.4 只发生一次。 1,.4,0应该产生 0.6。我知道 .5,.5应该产生 0.25 只发生一次的机会。但我真的不知道如何计算只有一个的机会 .5,.5,.5不用指望我的手指。我的想法是说我必须遍历每个概率,并从中减去任何其他概率( OR 数组的其余部分),然后是 OR最终结果……但这是推测性的。这看起来非常奇怪和低效。我不敢相信这会是一个 NP-Hard 问题,但这是我不熟悉的事情的一个 Angular 落......
    如果可能,请以视觉、逻辑或程序化的方式回答,而不是纯数学...
    ** 在这里编辑:我不需要澄清数组中特定元素与其他元素互斥的确切概率;我试图找到其中任何一个是排他性的一般概率。 **
    ** 编辑。这就是我现在所拥有的。我排除了每个人的所有其他可能性。这是最快的方法吗?... *

    function And(probs) {
    return (probs.reduce((m,p)=>p*m,1));
    }
    function Or(probs) {
    return (1 - probs.reduce((m,p)=>m*(1-p),1));
    }
    function Xor(probs) {
    let _exclusiveProbabilities = [];
    for (let k=0; k < probs.length; k++) {
    let _others = [];
    for (let j = 0; j < probs.length; j++) {
    if (j != k) {
    _others.push(probs[j]);
    console.log(k,'pushed',probs[j]);
    }
    }
    const _anyOtherProb = Or(_others);
    _exclusiveProbabilities.push(probs[k] * (1 - _anyOtherProb));
    }
    return (Or(_exclusiveProbabilities));
    }
    ** 编辑。不,这对两个人很好,但对三个人不起作用。 **

    最佳答案

    假设您有三个概率,我们将其称为 A、B 和 C。
    A 是唯一发生的事件的概率是 A * (1-B) * (1-C)。换句话说,在这种情况下,A 发生了,但 B 没有发生,C 也没有发生。
    但是,当然有可能 B 是唯一成功的事件,或者 C 是成功的事件。我们需要将所有这些情况的概率加在一起。
    因此,我们将需要遍历所有事件,并计算仅该事件发生(以及所有其他事件都失败)的概率,然后计算总和。
    对于三个事件的情况,这将是:( A * (1-B) * (1-C) ) + ( (1-A) * B * (1-C) ) + ( (1-A) * (1-B) * C )如果总共有 N 个事件,那么这个表达式中总共会有 N^2(N 个平方)项。

    关于javascript - 异或 : N things with variable probabilities,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64364937/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com