甲手里有一个围棋子,要乙来猜棋子的颜色是白的还是黑的.条件是:只允许乙问一个只能回答“是”或“否”的问题,但甲可以说真话,也可以说假话.问乙可以向甲提出一个什么问题,然后从甲回答“是”或“否”中就能判断出甲手中棋子的颜色?
朋友看了书上的分析还是觉得不甚明了,现在我加上我自已的分析:
这个问题明显是要设计一个复合命题.这个复合命题要达到一个这样的目的,不管甲说真话还是说假话,说"是"就是白棋,说"否"就是黑棋(当然也可以相反),否则是不可能判断棋子的颜色.
于是可得如下的真值表:
若棋子是白棋 若棋子是黑棋
甲说真话 是 否
甲说假话 是 否
当甲回答问题时内心的真实的想法是:
若棋子是白棋 若棋子是黑棋
甲说真话 是 否
甲说假话 否 是
前面已经说了,我们要设计一种矛盾关系,使不管甲说真话或假话,说"是"棋子就是白的,说"否"就是黑的
根据上面的真值表, 把2个真值等于是的用或运算连起来就达到了我们的要求,即:
(棋子是白棋 && 甲说真话) || (若棋子是黑棋 && 甲说假话)
呵呵,希望没有白费功夫.