逆Nim游戏(SJ定理)

本文探讨了逆Nim游戏,即取光者失败的Nim游戏策略。通过分析三种情况:每堆石子为1、仅1堆大于1、多于1堆大于1,得出SJ定理的关键在于在3.1(异或和为0)和3.2(异或和不为0)状态间转换。先手在3.2状态下必胜,在3.1状态下若能转到3.2则后手必败。
摘要由CSDN通过智能技术生成
相信大家都会Nim游戏: 给出n堆石子,两人轮流取,取光者获胜,问先手是否有必胜策略。
如果改一下,变成取光者失败,问先手是否有必胜策略。那么就是逆Nim游戏,即SJ定理。
给出例题:POJ3480
对于所有的情况,都可以归纳为下面3类:
1.每堆石子均为1。

(显然,若n为奇数,则先手必败,n为偶数,则先手必胜)

2.只有1堆石子大于1,n-1堆石子为1。

(那么,当n-1为偶数时,先手则可以将大于1的石子堆取至1个石子;当n-1为奇数时,先手则取完大于1的石子堆。可得,先手必胜)

3.石子数大于1的堆数,大于1。

(1)n堆石子异或和为0:由于n堆石子不可能一下子取光,所以拿走某一堆中的若干个石子以后只可能出现以下两种状态:
1.只有1堆石子大于1,n-1堆石子为1;(即情况2)
2.石子数大于1的堆数,大于1,且n堆石子异或和不为0。(即情况3.2)
(这两个状态的转移过程比较难思考,可以举几个例子进行理解)

(2)n堆石子异或和不为0:与3.1同理,拿走某一堆中的若干石子以后只可能出现以下两种状态:
1.只有1堆石子大于1,n-1堆石子为1;(即情况2)
2.石子数大于1的堆数,大于1,且n堆石子异或和为0。(即情况3.1)

由于情况2是个先手必胜态,所以无论在情况3.1还是情况3.2的时候,如果可以不到情况2,就尽量不会到情况2去(去了就轮到对方先手,你就输了),所以现在这个博弈就成了下面这幅有趣的图:

在这里插入图片描述

所以我们需要在3.1和3.2之间来回徘徊,直到有一方无法从3.1转移到3.2或无法从3.2转移到3.1时,就只能转移到2,然后就失败了。
此时我们可以发现,由于3.2的状态是一定可以转移到3.1的,而当处于一些数构成的排列时,3.1是转移不到3.2了的(这个应该很好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值