问题背景:
一个国王有个酒窖,里面他存放1000瓶佳酿,但是有一天士兵来报,说他们抓到了一个间谍正在酒窖里投毒。据了解,这个间谍已经在众多酒中的一瓶里投了毒,但是他们不知道是哪瓶酒,而且间谍已经自杀身亡,现在没有人知道底细。更要命的是,这个间谍投的毒很利害,一滴致命。但是这种的特点是发作慢,要毒死一个人需要一个月。
问题要求:
请问这个国王如何让手下在短短一个月内找出哪瓶酒有毒,并且用到的手下人力最少?
解决思路:
题目中酒太多,我们举例只有8瓶酒,通过二进制对每瓶酒进行编码,再让3个手下按如下进行操作
假设一个月后,2号和3号死了,1号没死。那么根据2号3号的死,只能是第七瓶和第八瓶其中之一有毒;如果第八瓶有毒,1号应该也死了,但是1号没死,所以肯定不是第八瓶酒,有毒的就只能是第七瓶酒。这样我们只需要3个人就可以检测出有毒的那一瓶酒。
总结:
这类问题统一都是不确定情况的识别问题,涉及不确定性的度量。物理中叫熵,信息论中叫信息量,控制论中叫不确定性。 10进制猜测成功的概率是10%,二进制猜测成功的概率是50%。若N<10,二进制和十进制信息量分别为N-1和log ₂ N;若N>=10,可得以下推导,发现十进制信息量是二进制的2倍多。