作者yauhh (姚呵呵)
看板logic
标题Re: [讨论] IBM面试问题
时间Sun Apr 27 06:46:00 2008
※ 引述《josa9616 (josa)》之铭言:
: 意思是 全村的人 在看狗时都知道 哪条狗谁的吗 ?
: 所以 若狗有三只
: 第一天的 看到两只
: 第二天的看到三只 然而他发现第一天的 没被杀
: 所以 知道 第一天的 应该 至少看到 两只
: 第三的 看到两只 然而第一天 第二天 的都没自己的狗
: 我却只看到 两只 从第二天 的没杀自己的狗这点 推得 病狗数 绝对 超过两只
: 然而我 只看到两只 表示 我这只 绝对就是 最後那只 病狗
: 也就是 病狗 超过两只 我只看到两只 所以表示 我这只 绝对事病狗
: 且病狗 只有 三只 ?
: 也就是 一一删去搂
可以这麽说,我看到其他乡民的狗中有二只染病,但不知道自己的狗有没有病,
全村的病狗数目,我根本不知道是二只还是三只.
不过,我可以先看看其他乡民会不会动手杀他们的狗.
大家一定不想杀自己的宠狗. (正向限制:你我都不想杀狗,使杀狗时间尽可能拖延.)
但我推测,如果其他二位乡民第一天都看到对方没动手宰自己的狗,在其他乡民中也
看不见病狗了,第二天一定会动手宰自己的狗,
因为如果全村真只有二只狗,他们都猜得到自己的狗有没有染病.
以上是前二天他们的可能宰狗的情况.
但问题是,前二天他们都不宰狗,表示他们也不确定自己的狗有没有病,
放眼望去没有其他病狗了,显然让他们不确定要动手的因素,就是我这只狗也有病.
知道有病就要快点杀. (反向限制:全部病狗都要尽快清除,以控制病情.)
并不是推测全村共有多少数目的狗,
而是以同理心猜测其它乡民的心态,就能够确认隐藏的事实.
每个人并不是想知道全村有多少只病狗,而是想知道我自己的狗有没有生病.
我倒有个问题,在这个系统中可能有误杀的情况吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.66.36
※ 编辑: yauhh 来自: 61.231.66.36 (04/27 06:52)
1F:推 josa9616:你的意思是 所有人不是分天看 而是同时看搂 ? 04/27 16:13
2F:推 josa9616:第一天 我看到你的狗有病 但你没杀他 表示 不只一只 04/27 16:15
3F:→ yauhh:不,你想想,同时看要怎麽不看到自己的狗? 当然是各人看各人的 04/27 16:16
4F:→ yauhh:题目也没说分几天看几只;你看个东西还要一天看一件,多麻烦 04/27 16:17
5F:推 josa9616:我想问的是 是不是 大家 同一天 看完所有狗 (除自己的) 04/27 16:20
6F:→ yauhh:这不用问,按=回去看原题目;我认为题目用不着推敲那麽多 04/27 16:21
7F:推 yutwn:依人类的心态可能也会有被误杀的情况,当大部分的狗是好的, 05/01 20:21
8F:→ yutwn:会认为自己的狗是好的,如果当病狗数量>=好狗数量,此题目则 05/01 20:23
9F:→ yutwn:此题目不成立~(例如当49只都是病狗,只有一只是好狗的时候.) 05/01 20:25
10F:→ yutwn:你会认为自己的狗是好的吗??~~QQ 05/01 20:27
11F:→ yauhh:我不认为如此.逻辑的思考是,在规则限制内可不可能造成结果; 05/07 08:21
12F:→ yauhh:但楼上你只是说,因为感觉病情严重,就会带入误杀情况... 05/07 08:23
13F:→ yauhh:这是直接跳离规则,不讲理当然什麽事情都可能发生. 05/07 08:24