1A2B猜数字

  • Post author:
  • Post category:其他



知乎链接



维基百科

问题描述

又名猜数字。

一方准备从0到9十个数字里抽出4个数,随机排列,另一方同样以这样的方法回应四个数。位置相同数字相同为A,数字出现,位置不同为B,然后计数。

例1234

5678-0A0B

9012-0A2B

4321-0A4B

1243-2A2B

分析

这个问题关键在于估算备选答案带来的收益。比如题中说的4位数,那么每次决策都有10000种。不同的决策带来的信息量是不同的。我们所期望的是信息量快速增加。所以关键在于如何定义一个决策带来的收益(信息量)。

可以使用熵,熵是描述事物混乱程度的度量。但是我觉得用下面这种方式更好:

如果我猜数字x,你给出的答案(几个A几个B)最多有

n*n

种,将当前的可行解当做小球放入

n*n

个盒子。我需要考虑你给出答案之后,期望能够排除掉多少个可行解,排除掉的可行解的个数越多越好。记c1,c2,c3,c4….. C_{n*n} 分别表示你的答案对应的可行解的个数,这些数字之和(也就是可行解的个数)记为N。

那么,我猜数字x,你给出答案1的概率为 $\frac{c_1}{N} $,这时剩余可行解的个数为$ c_1 $</