大家一起帮猫猫抓老鼠
本帖最后由 万俟 于 2025-7-17 21:01 编辑想了一个题,感觉对我的学生们太难了,来考考坛友吧: 地上有一排七个洞,有一只老鼠在其中一个洞里面,一只猫猫想抓老鼠。已知每个夜晚老鼠会移动到相邻的一个洞里,猫猫每天白天可以进一个洞去捉老鼠。请问猫猫有没有一种策略一定能捉到老鼠呢?如果有的话,请给出策略,如果没有请证明。
这个悬赏奖励会给第一个正确答案。如果有人能找到最优策略,并且证明最优性的话,会触发隐藏奖励(我会再发一个更高额的悬赏)
大家不用拿这个问题问ChatGPT,Deepseek或者Gemini了,我问了一下,AI给的答案都是错的,果然人工只能遇到数学就变人工智障。
根据楼下问题,这里澄清一下,猫猫可以重复进同一个洞,但是一天只能进一个。不妨假设老鼠全知全能,只受每天必须移动到相邻洞的限制,因为猫猫要找一个无论老鼠如何行动都能抓到的策略。猫猫需要找一个在有限天数必须抓到老鼠的策略,此处无概率论内容。
本帖最后由 a1b2a9 于 2025-7-17 23:03 编辑
可解
22345665432,我的解目前11天
以下解答冒号前为检查位置,后为老鼠可能的位置
第一天2:134567
第二天2:34567
第三天3:24567
第四天4:13567
第五天5:2467
第六天6:1357
第七天6:24
第八天5:13
第九天4:2
第十天3:1
第十一天2:必中
(实际上第二天的2是没有意义的,可以直接删去,最少需要10天,具体图文解答和证明过程见第6楼和第8楼)
本帖最后由 notunicorna 于 2025-7-17 20:48 编辑
除非一发命中,不然没有,因为缺乏以下信息
1、洞是否可以重复进入或检查
2、老鼠知不知道猫检查了哪个洞
3、是否有天数限制 本帖最后由 艾维叶沙信 于 2025-7-17 22:09 编辑
万老师好~看到你的问题就从班上往回拉赶啦:P
这个问题可以先简化成3个洞的情况,只要猫猫守在中间的洞,那么必定能抓到老鼠,因为老鼠必须移动到中间的洞。
4个洞的时候,猫猫可以守在第二的洞两次,以验证1,2号洞没有老鼠,但是3,4号位置如何处理呢?也是有办法的:
因为每一次的移动,老鼠都必须从奇数洞移动到偶数洞,或者从偶数洞移动到奇数洞,已经验证了1,2号位无老鼠的情况下,猫猫去守3号位,如果当天捉不到老鼠,那么老鼠一定正在偶数洞里,也就是2、4号洞,那么接下来就容易了,因为猫猫会直到老鼠每天会在奇数还是偶数的洞里面,也就可以将当前的问题一分为二了~
对于7个洞,可以用3洞的方法,猫猫蹲两天2号,排除1号洞的可能。此时老鼠有两种情况,在奇数洞3,5,7或者偶数洞2,4,6:
A.如果鼠鼠在奇数洞,那么吓一天鼠鼠前往偶数洞,可能是2,4,6,猫猫蹲4洞,可知当天老鼠要么在2,要么在4;蹲3,2,2,则那天待在2号位的鼠鼠必定鼠掉;没鼠鼠则说明猫猫蹲4的那天,鼠鼠在6,经过3天后,鼠鼠可能会在的洞是奇数3,5,7,而猫猫正在2号位置,问题似乎又回到了原点?当然不是啦~因为现在猫猫要再蹲一天2号,这样鼠鼠只可能在4或6号洞,猫猫去蹲4洞,然后就能判断出鼠鼠必定在6洞,接着问题就简化为3洞的情况啦
B.鼠鼠前往奇数洞,3,5,7,和上面方法差不多,我先发了再说~
static/image/hrline/4.gif
解完啦,花了16步,稍微饶了点弯路w
万老师说的跳洞会失去方向的事情,我拿图画了一下,猫猫会跳去4洞,是因为此时分析的鼠鼠只可能在2,4,6洞,然后用这样的方法排除了2洞的鼠鼠,到了第十步,排除了6洞的鼠鼠,而猫猫正在6号洞,此时鼠鼠只可能在第2步时位于偶数洞,那么把序号倒过来就是另一种处理方法啦
感觉确实是一个很好的例子,但不是自己解题,而是尝试用AI来教会你如何解决这样的问题,也辛苦楼主看看我的答案对不对。
步骤:
1.我是用的Gemini 2.5pro,首先不要让AI直接告诉你答案!而是将情景抛给AI,让AI查询有没有符合这种场景的方法,这一步中Gemini推荐使用广度优先搜索算法(英语:Breadth-first search,缩写:BFS).
2.让AI用python或你熟知的语言来给你写个用来模拟的代码,我放在附录,命名为The_Way_How_Cat_catch_Mouse.py
3.让AI重复上一步,写一个用来验证的代码看,附录命名为:Cat_catch_Mouse.py
如此,即可得到答案:/10天.
当然不保证对不对哈( 如果老鼠在偶数洞(2, 4, 6),它必然会移动到隔壁的奇数洞(1, 3, 5, 7)。
如果老鼠在奇数洞(1, 3, 5, 7),它必然会移动到隔壁的偶数洞(2, 4, 6)。
先假设老鼠选择偶数。
第一天选择最边边的洞(洞2或洞6,这里选择洞2)。
假如老鼠在洞2,直接结束。
如果没有,代表老鼠在洞4或洞6,第二天老鼠会出现在洞3,洞5,洞7。(这里已经不可能是洞1,因为在洞2已经被抓住了。)
第二天选择洞3。
假如老鼠在洞3,直接结束。
如果没有,代表老鼠在洞5和洞7,那么第三天他会出现在洞4和洞6。(由于第一天排除了洞2,老鼠在第二天不可能出现在洞1,因此第三天也不可能在洞2。)
第三天选择洞4。
假如老鼠在洞4,直接结束。
如果没有,代表老鼠在洞6,那么第四天他会出现在洞5和洞7。(第三天的洞2被排除,那么第四天的洞1和洞3也被排除。)
第四天选择洞5。
假如老鼠在洞5,直接结束。
如果没有,代表老鼠在洞7,那么第五天他必然会出现在6的洞。(第四天的洞1和洞3被排除,那么洞2和洞4也被排除。)
因此能确保老鼠在偶数的话,第五天能找到。
假如一开始在奇数的话。
那么在第六天,老鼠可能在(奇→偶→奇→偶→奇→偶)洞2,洞4,洞6,同样选择最边边的洞6,
假如老鼠在6,直接结束。
如果没有,代表老鼠在洞2和洞4,那么第七天他会出现在洞1,洞3,洞5。(洞6排除,代表洞7也被排除,下面如此类推。)
第七天选择洞5。假如老鼠在洞5,直接结束。
如果没有,代表老鼠在洞1和洞3,那么第八天他会出现在洞2和洞4。
第八天选择洞4。假如老鼠在洞4,直接结束。
如果没有,代表老鼠在洞2,那么第九天他会出现在洞1和洞3。
第九天选择洞3。假如老鼠在洞3,直接结束。
如果没有,代表老鼠在洞1,那么第十天他必然会出现在洞2。
如果一开始猜测的偶数是错误,那么最短在第十天也能找到。
本帖最后由 我的暗金 于 2025-7-17 22:36 编辑
好像不对,改改再来 本帖最后由 野生阿努厨 于 2025-7-17 23:06 编辑
关于做法,我觉得6楼已经非常详细了,那我说说证明吧,关于策略最优性,一般都是用信息论来做的。
猫确认一次洞,要么有鼠要么没鼠,共2种可能性,则确认一次的信息量是-1/2*log(1/2)-1/2*log(1/2)=1。
先考虑老鼠只在偶数洞的特殊情形,则老鼠位置和行动的总信息量是log3(3个可能位置)+log3(第一晚可能的行动,虽然第一晚行动可能有4种,但有一种是自投罗网,不可能选,所以实际只有3种)+log2(第二晚)+log1(第三晚)=4.17<5*1,故需要至少5次确认才能覆盖信息量。
当偶数情形被证伪,此时老鼠依然位于偶数位置,则再进行一次相同流程,同样需要5次,故总共需10次。
另外,就算老鼠是随机移动,由于自投罗网的选项会使得后续可能性灭失,故要使得信息最大化的话,算法依然与上述相同。
看了大家的看法还有superdick老师的图,
所以一开始从洞口2去找,是作最坏的打算老鼠就是在洞口1(用花费最多日数的顺序确保必定抓到老鼠),
然后前五天在洞2,3,4,5,6去找,特别是第六天重复在洞6。
假设第五天在洞6找不到,第六天同样在洞6也是找不到,那么就能确保确保老鼠不在洞7,
那么就可以往前面的洞口一路探索。
因为前六天的探索已经证实到老鼠不在洞7,所以如果一路向前推扫,
洞6找不到老鼠,代表老鼠在洞7和洞6都没有可能出现,
往前洞5找不到,代表老鼠在洞7、洞6、洞5都没有可能出现,
然后第七天一路向前推扫,洞5(第七天)、4(第八天)、3(第九天)、2(第十天),
因为假若老鼠是一开始第一天就在洞1,那么第二天就在洞的偶数,
可以得出日子是奇数/偶数的话,那么老鼠也会在奇数/偶数的洞。
因为在第九天(在洞3找)已经排除了洞4-7,老鼠可活动的洞区域只有洞1-2,
然后在第十天(在洞2找),老鼠就被找到了。
所以最多用10日就必定抓到老鼠!哇哦!理解之后就好像便秘也舒畅了~
本帖最后由 crabee 于 2025-7-18 04:30 编辑
反过来说偶数数量的洞是不是就没有必中解了没事了,洗澡的时候想了一下,以8洞为例,道理还是一样234567,没查出来说明一开始在奇数,现在在偶数,765432踩回去就行了
感觉这种问题在五花八门比较合适{:4_88:} 感觉是不是把洞用二进制标识可能会方便一点,每次探洞实际上是缩减某一个数位的概率,当然只是个小想法
页:
[1]