问题描述
又名猜数字。
一方准备从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 $</