有点从0变为1的概率

时间:2012-10-02 14:32:05

标签: bit-manipulation probability

好的,所以我有点迷失了。因此,查看此0 0 0 0并分别查看每个0 0的概率为0.01从0变为1 好的,有4个数字,每个数字可以是0或1

通过确定事件发生的可能性除以可能结果的数量来衡量概率

可能的结果是:

  

0000   0001 0010 0100 1000   1100 1001 1010 0101 0011 0110   1110 0111 1011 1101   1111

因此总共有16个可能的结果或4 ^ 2,即可能的结果为4个数字,它们可以是0或1

因此,数字串从0000变为1111的概率将是 0.01 / 16

数字从0000到0100的概率也是 0.01 / 16?

并且所有数字保持不变的概率即0000至0000 仍然是0.01 / 16

这有点意义但我不知道它们都是相同的概率吗?

或者我做错了 所以每个数字有0.01的机会改变,所以字符串从0000到1111将是0.01 * 4/16或0.0025

有机会从0000变为0100 将是0.01 * 1/16

将从0000更改为0000 0.01 * 0/16

感谢您对此的任何帮助

2 个答案:

答案 0 :(得分:3)

这里有两件事。一,可能结果的数量(16)和每种结果的概率。

由于单个位被翻转为1的概率向0倾斜,因此结果概率的分布不均匀。如果每个点中有1或0的概率为50%,则16个结果中每个结果的概率为1/16。情况并非如此。

我采取的方法是将数字分组到桶中。在16个结果中,1个为零1个,4个为1个,6个为1个,4个为3个,1个为4个。

四个0的概率是99%^4。一个1的可能性是1% x 99%^3。 2的概率是1%^2 x 99%^2。计算每个概率,然后除以桶的大小。添加它们,它们应该等于100%(完整性检查)。

我在电子表格中检查过,结果似乎很好:

Outcome Probability
0000    0.96059601
0001    0.00970299
0010    0.00970299
0100    0.00970299
1000    0.00970299
0011    0.00009801
0101    0.00009801
1001    0.00009801
0110    0.00009801
1010    0.00009801
1100    0.00009801
0111    0.00000099
1011    0.00000099
1101    0.00000099
1110    0.00000099
1111    0.00000001

答案 1 :(得分:2)

你说零变为1的概率是.01(我推断的是.99没有变化)

总概率是单概率的乘积:

让我们做一个简单的案例:

0000至1111

(。01)*(。01)*(。01)*(。01)=(。01)^ 4 = .00000001

0000至0100

(。99)*(。01)*(。99)*(。99)=(。99)^ 3 *(。01)= .00970299

所以他们没有相同的概率