验毒指的是在一堆正常的东西中找出异常的一个东西
例如:在 1000 个一样的瓶子中,找出一瓶毒药,喝了毒药的生物会死亡,现在有 10 个小白鼠,要如何才能检验出有毒的那一瓶。
小白鼠是有两个状态的,就可以转换成二进制,1 表示中毒,而 2 表示存活。这个时候如果将所有小白鼠排一起来,就构造成了一个 10 位的二进制数,这个数也代表这一种可能,所以小鼠状态的所有可能都在 中,我们发现总共有 1024 种可能性,那不是正好就可以对应 1024 个瓶子。 那我们可以直接将瓶子的需要也转换为二进制数,例如 8 号瓶子-> 0000001000,我们可以用 1 表示小鼠喝水,0 表示小鼠不喝水,那么这个二进制的含义就变成了,从右往左第四个小鼠喝这一瓶水,如果第 4 个小鼠死了就说明 8 号瓶子就是毒药,同理其他号数的瓶子也是这样。这样我们就可以通过个小鼠死亡或者不死亡构成的唯一二进制数来判断是哪个瓶子有毒了。