首页 > 试题广场 >

问多少个问题才能确保区分出哪些机器人是正常,哪些是故障。

[单选题]
某程序员开发出了一款超级智能机器人,能对任何提问给出“是”或者“不是”的答案。现有3个这种机器人,其中有数量不定的(0到3个)机器人发生了故障。如果正常机器人总是给出正确的答案,而故障机器人总是给出错误的答案。每一回合只能问任意一个机器人任意一个问题,那么至少需要____回合才能确保区分出哪些机器人是正常,哪些是故障。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
任选一个机器人,问一个常识问题,例如我是人吗来判断这个机器人是好的还是坏的。如果是好的,接下来的问题取正向回答,反之取反向回答。然后问这个机器人剩余两个机器人的好坏,共3个问题。
发表于 2021-08-08 21:05:50 回复(0)
问:杨幂漂亮吗?
没有出故障的机器人回答“不是”,出故障的回答“是”,每回合可以判断当前这个机器人是否出故障。
所有总共需要3个回合。
编辑于 2015-04-10 11:42:38 回复(14)
智力题重点在于 如何找出答案证明问题
所以重在问题上,用选择题未免太无聊了

可能0~3个机器人故障
故障数量用二进制表示这4种可能性
00
01
10
11
2个字节即可表示所有结果
所以选B

关键在于利用 有限自动机 的思想来问问题
参考 有限自动机 例子
>    类似正则表达式如何匹配 3 的倍数? - 知乎 http://www.zhihu.com/question/24824487
所以如果所问的问题无限趋近于能问出每个二进制字节的答案
那么 只需要问2个问题

例如问题为 (非极限提问,只是作为极限提问的例子)
(假设3个超级智能机器人分别为甲乙丙)
问甲:
乙是否认为 丙认为甲在本问题的答案的正确性 和 丙是否认为 乙认为甲在本问题的答案的正确性 一致?
问乙: ...



发表于 2015-04-23 00:45:57 回复(10)
三台机器人分别为(X,Y,Z)
提问X:Y与Z都是好的
提问Y:X是好的
提问Z:X是好的
回答yes的值为0,no的值为1
三轮问题过后答案的组合有8种组合2*2*2
X     Y     Z
0     0     0    =〉都是好的
0     1     0    =〉X、Z是坏的,Y是好的
0     0     1    =〉X、Y是坏的、Z是好的
0     1     1    =〉Y、Z是坏的,X是好的
1     0     0    =〉都是坏的
1     1     0    =〉Y是坏的,X、Z
1     0     1    =〉Z是坏的,X、Y
1     1     1    =〉Y、Z是坏的,X是好的
发表于 2016-06-17 00:19:28 回复(6)

问: 1+1=2 吗?

若提问者事先知道答案

没有出故障的机器人回答 ,出故障的回答 不是 ,每回合可以判断当前这个机器人是否出故障。

所有总共需要 3 个回合。

若提问者事先不知道答案

3 回合之后,判断两者答案一样的,是出故障的,另一个则是正常的。

综上,两种情况都是 3 回合

发表于 2015-07-22 17:30:49 回复(2)
初状态,8个等概率情况,香农熵=log(8,2)=3
每次操作只能获得一个二元的回答,香农熵最多减少1
因此最少需要3次

发表于 2020-11-07 16:03:09 回复(0)
如果三台机器是A,B,C,则问A三个问题
B是否故障
C是否故障
B和C的故障状态是否相同
发表于 2015-08-22 22:09:17 回复(0)
脑洞不够开!任意的问题 是个关键!1=1吗?
发表于 2015-04-15 11:36:46 回复(2)
分别问每一个机器人“我是男人吗”一问便知谁好谁坏
发表于 2017-09-13 15:27:52 回复(0)
只要问1+1=2吗?然后分别问这3个机器人,所以显然答案是3.
发表于 2016-06-16 10:42:21 回复(0)
C 题目中说可以问任意的问题,因此只要问一个有正确答案的问题,就可以判断该机器是正常的还是故障的,三个机器人只需问三次
编辑于 2015-04-14 19:12:06 回复(0)
如果选C那太简单了,只要依次问三个机器人同一个问题:2>1即可,智力题从来就是坑大家的,不可能出这么简单的题目,正确解法为:
给三款机器人分别编号:1,2,3
第一回合问1号机器人:2号和3号机器人其中有一个是正常的,另外一个是故障的
第二回合问2号机器人:1号和3号机器人两个都是故障的。
综合两个机器人的回答就能得到答案(具体老铁们慢慢悟😎😎😎),故最少回合为2,选B不选C
发表于 2020-10-11 11:08:11 回复(2)
题目中问题任意,那是不是可以问一个机器人,另外两个机器人是否为正常的问题?
发表于 2019-11-29 19:03:23 回复(0)
我感觉答案是2,至少要问多少回合应该是所有情况中问的回合数最少的那种情况。假设0号机器人正常,1,2号故障。我问0号你是机器人吗?他回答是,我再问0号1,2号都故障码?他回答是。结束。
发表于 2015-09-01 08:42:02 回复(4)
最少可能是1次,看你的运气,假如里面有一个机器人是正常的,其他两个是坏的,我正好问到这个正常机器人,我只需要问他,其他两个机器是不是坏的,他说是,因为他总是正确答案,所以就判断其他两个是错误机器人,只有这一个是正确机器人。
发表于 2024-06-20 11:51:01 回复(0)
为什么不能问哪几个是故障的
发表于 2023-08-29 08:26:27 回复(0)
坑到了,这道题不能用二进制啊。。
发表于 2022-10-09 16:33:34 回复(0)
步骤1:问机器人1,你是机器人,如果回答yes,则这个机器人是好的,再问,机器人b是坏的,如果回答yes,则机器人b坏了,如果回答no,则机器人b好的。如果问机器人1“你是机器人”,它回答no,则机器人1坏了
步骤2:如果机器人1是好的,那么机器人b则被机器人1选好,如果机器人1是坏的,那么问机器人2,你是机器人,如果回答yes,则b机器人是好的,在问机器人c坏了,问题逻辑同上
步骤3,如果机器人2坏了,那么再问机器人3,你是机器人,回答yes是好的回答no是坏的
发表于 2021-02-20 22:00:54 回复(0)
每一回合只能问任意一个机器人任意一个问题。啊,看错题目了,以为是问一个问题三个机器人回答为一轮。醉了
发表于 2020-12-07 17:29:06 回复(0)
问1号 :1=1?  
1号:是/不是
问1号:2和3哪个有病
发表于 2020-09-15 17:06:49 回复(1)