12球问题/12硬币问题通解,以及引申的决策树/最优三叉树算法



问题:“有十二个外表相同的球,其中有一个坏球,它的重量和其它十一个有轻微的(但是可以测量出来的)差别。现在有一架没有砝码的很灵敏的天平,问如何称三次就保证找出那个坏球,并知道它比标准球重还是轻。”


硬币问题与此类似,换汤不换药,本质一样。


先从最一般的认知思维来解决这个问题,下面的思路只能找到问题球而不能完全确定是比标准球轻还是重,因为博客不好编辑,我另外写好截了个图:

《12球问题/12硬币问题通解,以及引申的决策树/最优三叉树算法》

(看不清可以右键在新页面中打开)

《12球问题/12硬币问题通解,以及引申的决策树/最优三叉树算法》


球数很少时这样算也勉强可行,如果是2000个球应该怎样解决呢?


于是自然就引申到了求这个问题的一般解的高度上。


最终结论 ———对于N个求需要称球的次数是:[ log3(2N)]    向上取整数


这里有兴趣的可以看看另外一位博友的详细数学推理证明过程:

  推理证明





点赞