关于SG函数的一些演算

来源:互联网 发布:淘宝店铺装修2017模板 编辑:程序博客网 时间:2024/06/11 21:13

问题

在一个有n堆石子的取石子游戏中,双方玩家根据既定规则,依次轮流从n堆石子中取走石子,且每人每次只能从单一的堆中取出石子.当某个玩家无法按照既定规则取出石子时,该玩家落败,同时另一名玩家获胜.

现在,给定n堆石子,问先手玩家是否可以获胜.

定义

将第i堆石子记为hi,用元组(h1,h2,…,hn)表示由这n堆石子组成的局面S,记为:

S=(h1,h2,…,hn)

特别地,当n=1时,记为S=(h1)S=h1.这样,hi除了可以表示一堆石子外,还可以表示一个只有一堆石子的局面.

局面的后继:若局面S经历一次取出后变为局面T,则称T是S的后继.
结束局面:若玩家无法按照既定规则从S中取出石子,则称S为”结束局面”,结束局面没有后继.

mex函数

定义非负整数幂集上的函数mex:

mex(A)=min({x|x∈N-A})

直观上,可将mex理解为”集外最小序数”.

f函数

定义堆集合上的函数f:

f(h)= mex({f(i)|i是h的后继})

特别地,若h是一个结束局面,则f(h)=0.

现在,将f的定义域扩展到n维:

f(h1,h2,…,hn) = f(h1)⊕f(h2)⊕…⊕f(hn)

再次扩展f,使其可以作用于局面.即对于任意局面:

S=(h1,h2,…,hn)
T=(i1,i2,…,im)

定义:

f(S)=f(h1,h2,…,hn)
f(S,T)=f(h1,…,hn,i1,i2,…,im)

结论

f具有下列性质:

  • S是结束局面,则f(S)=0
  • f(S)=0,则f(T)!=0
  • f(S)!=0,则存在T,f(T)=0

进一步:

  • f(S)=0,则先手玩家必败
  • f(S)!=0,则先手玩家必胜

证明

不加证明地给出关于异或(⊕)运算的下列性质:

  • 性质1: a⊕b=0当且仅当a=b
  • 性质2: 若a⊕b=c,则a⊕c=b
  • 性质3: 若a=a1⊕a2⊕…⊕an,则存在ai(1≤i≤n)满足:ai⊕a<ai

同时给出关于f的下列性质:

  • f(h1,h2,…,hn)=f(h1,…,hi)⊕f(hi+1,…,hn), 1<i<n

证明:若S是结束局面,则f(S)=0

S只包含一个堆,f(S)=mex(∅)=0.
S=(h1, h2, …, hn),
显然对于∀i(1≤i≤n),hi是结束局面.
所以 f(S)=f(h1)⊕f(h2)⊕…⊕f(hn)=0

证明:若f(S)=0,则∀T,若TS的后继则f(T)≠0

S=(h1, h2, …, hn),
因为 f(S)=0
所以 f(h1)⊕f(h2)⊕…⊕f(hn)=0
所以 f(h1)=f(h2)⊕…⊕f(hn)(的性质1)

不妨设T是玩家从h1中取走石子后生成的局面.
T=(h1*, h2, …, hn)
所以 f(T)= f(h1)⊕f(h2)⊕…⊕f(hn)=f(h1)⊕f(h1*)

注意到h1*h1的后继,由f的定义易知:
f(h1*)≠f(h1)
所以 f(h1*)⊕f(h1)≠0(的性质1)
所以 f(T)≠0

证明:若f(S)≠0,则∃T,TS的后继且f(T)=0

S=(h1, h2, …, hn),f(S)=a>0,
不妨设h1⊕a=b<h1
又设T=(h1*, h2, …, hn),
易知:f(T)=a⊕f(h1)⊕f(h1*),
即:f(T)=b*f(h1*),
另一方面,由mex的定义可知,对∀0≤x<a, ∃i st. f(i)=x ih1的后继,
所以必存在: h1*=b
即必有T st. f(T) = 0

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 画板的笔尖掉了怎么办 宜家水壶盖子有水怎么办 背滤鱼缸除油膜怎么办 书多了没地方放怎么办 学生在教室内丢手机怎么办 新车尾箱坏了怎么办 放书的箱子烂了怎么办 车钥匙锁后备箱里怎么办 布的收纳箱有味怎么办 车漆清漆层掉了怎么办 副驾驶储物箱卡子断了怎么办 玛莎拉蒂车门打不开怎么办 新买的水杯漏水怎么办 泰迪小狗掉毛怎么办 手机jlc调用接口状态异常怎么办 进门和厕所对着怎么办 p过的照片有竖条怎么办 当照片p出竖条纹怎么办 月子里落下脚心怕风怕凉怎么办 鞋胶把手粘住了怎么办 凉鞋魔术贴长了怎么办 新买的狗一直叫怎么办 刚买的幼犬老叫怎么办 狗狗什么都不吃怎么办 新买的吊扇风小怎么办 夜市卖果汁没电怎么办 榻榻米太长2米45怎么办 木质桌子黏黏的怎么办 白色塑料桌子染色了怎么办 3dmax模型变透明了怎么办 刚养的兔子不吃怎么办 熊猫兔不吃下喝怎么办 熊猫兔感冒了一直打喷嚏怎么办 兔子后腿骨断了怎么办 兔子的腿肿了怎么办 仓鼠喝了牛奶该怎么办 宠物兔不吃不喝怎么办 兔子把木屑吃了怎么办? 小车司机碰瓷大车司机怎么办 在淘宝买到假的护肤品怎么办 淘宝购物发现是假的怎么办