三神问题:现在你的面前有三个神,一个真神,他只能说真话;一个伪神,他只能说假话;一个任意神,他的话有真有假。现在你可以向三个神提出总共三个问题(可以选择任意神提问,一个神可以被提问多次),他们只会回答你 da 或 yu,你需要自行判断 da 或 yu 代表的含义为 是或否。你能否通过这三个问题推测出三个神的身份?
将问题缩小
要想求解这样的问题,我们要一步步来,我们将问题先缩小到两个神,且语言已经知晓
假如没有任意神,只有真假神,我们能否通过提问判断出他们的身份呢,答案是可以的,利用负负得正的思路
假设只有两个真假神,我们向其中一位神问:“如果我问你'你是真神吗?',你会回答我'是'吗?”
这个时候,会有两种情况
- 如果这个神是真神,对于 "你是真神吗?" 他的回答是是,那刚刚那个问题他也会回答'是'
- 如果这个神是伪神,对于 "你是真神吗?" 他的回答是是,那刚刚那个问题他则会回答'否'
这样我们便可以得出结论:刚刚的问题,回答'是'则代表为真神,回答'否'则代表为伪神
这里便用到了否定的否定表坑定,让伪神在一个问题撒两次谎,我们便得到了正确的答案,而让真神在一个问题说两次真话,得到的依然是真话
在这里,"你是真神吗?" 这个子问题可以替换为其他真值问题,比如 "1+1=2吗?","地球是圆的吗?"等,也能得到与刚刚相同的效果
将问题扩大一点
解决了二神问题,接下来我们将语言不确定这一条限制加上,看看问题又该如何解决
假设只有两个真假神,他们只会回答我们 da 或 yu,我们向其中一位神问:“如果我问你'你是真神吗?',你会回答我'da'吗?”
这个时候有四种情况
- 第一类,da 代表是;yu 代表否
- 第一种,我们问的神是真神:对于 "你是真神吗?" 他的回答是'da',那刚刚那个问题他会回答'da'
- 第二种,我们问的神是伪神:对于 "你是真神吗?" 他的回答是'da',那刚刚那个问题他会回答'yu'
- 第二类,yu 代表是;da 代表否
- 第一种,我们问的神是真神:对于 "你是真神吗?" 他的回答是'yu',那刚刚那个问题他会回答'da'
- 第二种,我们问的神是伪神:对于 "你是真神吗?" 他的回答是'yu',那刚刚那个问题他会回答'yu'
可以看到,不论 da 和 yu 代表的什么,对于刚刚的问题,真神都会回答 'da',假神都会回答 'yu',因此我们可以得出结论:只要我们问出刚刚的问题,回答的音节和我们提问的音节相同,则代表子问题成立,他是真神,若不同,则代表子问题不成立,他是假神
带着这个结论,我们再来解决最终的问题
解决最终的问题
首先,我们需要明确,只要能够找到任意一个非任意神,我们就可以通过一个问题确认他的身份
那么现在难点就到了如何找到非任意神上
第一个问题
我们选择 A ,向他提问:“如果我问你 ‘B是任意神吗?’ , 你会回答‘da'吗 ?’”
这个时候,可以分为两种情况:
- 第一种,A不是任意神,那么它回答 da 则代表 ‘B是任意神吗?’ 这个子问题是成立的,B是任意神;它回答 yu 则代表 ‘B是任意神吗?’ 这个子问题是不成立的,B不是任意神。通过这个方法我们便能必定得出一个非任意神 X ,它一定在 B 或 C 中产生
- 第二种,A是任意神,那么 B 和 C 一定都是 非任意神了,这个时候我们延用第一种情况的逻辑得出的非任意神 X 也是正确的
第二个问题
我们选择 X,向他提问:“如果我问你 ‘你是真神吗?’ , 你会回答‘da'吗 ?’”
若他回答 da 则代表他时真神,回答 yu 则代表他是伪神
第三个问题
我们选择 X,向他提问:“A是任意神吗?”
根据问题二确定了 X 的身份后我们可以轻易的推断出 A 的身份
最后,通过排除法得到最后那个人的身份