这里一般性的给出模拟的概率为p时的最优构造,其中p是0到1间任意实数。
下面称“结果为A”指那p的概率的结果,“结果为B”指剩下(1-p)的概率的结果。
我们令骰子每次抛出的数字是0到5间的数。
考虑将p转换到6进制下,不妨设小数位以此为 a1,a2,a3....,其中a是0到5间的数。
若当前抛的是第k次,抛出的数字为x,讨论:
- 若x<ak,直接得到结果为A。
- 若x>ak,直接得到结果为B。
- 若x=ak,继续抛下一次,直到终止。
不难发现,得到结果A的概率恰好是p。
事实上可以证明,这种抛法,抛的次数的期望,是最小的。这边是我称它为最优构造的原因。
大家不妨试着算一算,以原题p=1/7为例,下面三种抛法的期望次数分别是多少?
- 抛两次,如果结果36种中的1~7间,按“是否为1”直接得到结论,否则再抛两次,直到成功(也就是不少答主的方法)。
- 抛两次,如果结果36种中的1~35间,按“是否在1~5间”得出结论,否则再抛两次,直到成功。
- 我的做法。
看看是不是我是最小的?
发布于 2023-11-18 00:18・IP 属地安徽