趣味数学:根据两个机器人的对话猜数字
根据机器人的对话猜数字
猪妈妈给小猪佩奇和小猪乔治各买了一个人工智能陪伴机器人。陪伴机器人有一个语音交互猜数字的游戏,佩奇和乔治把两个陪伴机器人放到了一起,并分别输入一个一位数,再输入条件 “你和对方的数字之和大于10 ” ,开启游戏,发生了如下的奇怪对话。
佩奇的机器人:“我不知道你的数是多少。”
乔治的机器人:“不用你说,我就知道你刚才猜不出我的数。”
佩奇的机器人:“我还是不知道你的数是多少。”
乔治的机器人:“不用你说,我就知道你还是猜不出我的数。”
佩奇的机器人:“我依旧不知道你的数是多少。”
乔治的机器人:“不用你说,我就知道你依旧猜不出我的数。”
佩奇的机器人:“这样我就知道你的数是多少了。”
那么,两数的乘积是多少?
【分析】
为了满足 “一位数” 和 “两个数字之和大于10” 这两个条件,有效的数字只能是:.
根据自己一方的数字猜对方的数,只在一种情况下能够直接得出结论:如果自己一方的数是 ,可以直接猜出对方的数是
.
其他情况下,只能得出一个范围(或者称为候选数字):
自己一方的数 对方的数字范围
先看第一段对话。
佩奇的机器人:“我不知道你的数是多少。”
乔治的机器人:“不用你说,我就知道你刚才猜不出我的数。”
根据佩奇机器人的第一句话可以得出结论:它的数字不是 .
那么乔治的机器人呢?为什么乔治的机器人能够在对方开口前就断定对方 猜不出自己的数?如果乔治的数字是 ,它能够断定对方猜不出自己的数吗?回答是:不能。因为
的对方包括了
,而对方(佩奇)根据
是可以猜出自己(乔治)的数字的。所以,根据乔治的这句话,可以从乔治的数字 “候选清单” 中排除
.
乔治机器人的第一句话是关键,是整个问题的突破口。
那么,佩奇的数字有可能是 吗?
往下看第二段对话:
佩奇的机器人:“我还是不知道你的数是多少。”
乔治的机器人:“不用你说,我就知道你还是猜不出我的数。”
假如佩奇的数字是 ,根据乔治在第一段对话中补充的信息,排除了
,就应该可以猜出乔治的数字.
现实的情况是:佩奇的机器人在排除 之后,仍然未能猜出乔治的数字,所以,可以从佩奇的候选数字中排除
.
注意,乔治在佩奇开口前就断定对方 “还是猜不出” 自己的数,表明:根据乔治自己的数,佩奇的候选数字中没有 ;所以,乔治的数字应该小于等于
.
那么,佩奇的数字有可能是 吗?
往下看第三段对话:
佩奇的机器人:“我依旧不知道你的数是多少。”
乔治的机器人:“不用你说,我就知道你依旧猜不出我的数。”
如果佩奇的数字是 ,则佩奇的候选数字是
. 而
都已经在前两段对话中排除,但佩奇依旧不能猜出乔治的数,表明:佩奇的数不是
,而是大于等于
的数.
乔治的第三句话表明:它根据自己的数推断,佩奇的数不是 ;所以,乔治的数小于等于
.
那么,佩奇的数字有可能是 吗?
回答是肯定的. 请看这句:
佩奇的机器人:“这样我就知道你的数是多少了。”
根据乔治的三句话提出推论:乔治的数字范围是: .
假如佩奇机器人的数字是 或者更大的数,这五个数中就有不止一个符合要求.
佩奇机器人这次能够猜出乔治的数字,说明什么?根据佩奇机器人的数字,这五个数中只有一个是符合要求的.
因此,佩奇机器人的数是 , 而乔治机器人的数是
.
两数的乘积是 .
【提炼与提高】
在逻辑推理问题中,排除法是很重要很常用的方法。
典型的例子是「骗子、赌棍与牧师」的问题。三个人中有一人说:“我是骗子。”
我们就可以推论:(1)他不是骗子;(2)他不是牧师;所以,他只能是赌棍。
在本题中,我们多次、多角度应用排除法,最终锁定了两个机器人的数字。
一个未经训练的人遇到这类问题,就会感觉一头雾水,不知所云。学过逻辑推理的人,经过自己的努力后能够得出正确结论,而且会感觉很好玩。