JS 反转概率

Ale*_*hin 4 javascript probability probability-theory probability-density

我正在生成一个对象网格,每个对象都有 3 种颜色之一。假设我正在填充一个特定的网格单元。我知道这个单元格周围有 1 个 color 对象0、1 个 color 对象1和 2 个 color 对象2,所以:

const surroundings = { 0: 1, 1: 1, 2: 2 }
Run Code Online (Sandbox Code Playgroud)

现在我想为我正在使用的当前单元格分配一种颜色。我需要计算每种颜色的使用概率。为了让它看起来令人愉悦,我希望它更有可能与周围环境有所不同。因此,在上述情况下,概率可能是{ 0: 0.4, 1: 0.4, 2: 0.2 }

我确信概率论中存在这种操作的实现,但我很难找到它的正确术语。在我给出的例子中,概率可能不同,因为我不知道如何计算它们。但对于颜色01它们当然应该相等,对于颜色来说,2它们应该是最小的。

Nin*_*olz 5

您可以获得倒数和总和并返回其中的一部分。

function getPro(array) {
    var inv = array.map(v => 1 / v),
        sum = inv.reduce((a, b) => a + b);
    return inv.map(v => v / sum);
}


console.log(getPro([1, 1, 2]));
console.log(getPro([1, 1, 1]));
console.log(getPro([2, 4, 6]));
Run Code Online (Sandbox Code Playgroud)