威佐夫博弈
威佐夫博弈的定义是:
有两堆各若干个物品,两个人轮流从某一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
那么如果给你这样一个东西,那么如何判断是先手A胜利还是后手B胜利呢?
我们局势为为
我们定义一个奇异局势为可以让先手A必输的局势。例如在上面这个题中,可以找到类似于
由此可得:
关于奇异局势,有几个特殊的性质:
-
1、任何自然数都包含在一个,且仅有一个特殊局势中。
-
2、任意操作都可将奇异局势变为非奇异局势。
-
3、通过适当的方法,可以将非奇异局势变为奇异局势。
所谓适当的方法,分为以下几种情况:(假设当前的情况为
-
当
a=b 的时候,显然可以通过把两堆石子各取走a 个,这样就转为了(0,0) ,必定为奇异局势。 -
当
a=a[k],b>b[k] 的时候,取走b-b[k] 个石子。 -
当
a=a[k],b<b[k] 的时候,取走a[k]-ab-a[k] 个石子 -
当
a>a[k],b=a[k]+k 的时候,取走a-a[k] 个石子 -
当
a<a[k],b=a[k]-k 的时候,当a=a[j](j<k) 的时候,从第二堆中取走b-b[j] 堆,而当a=b[j](j<k) 的时候,从第二堆中取走b-a[j] 堆即可。
总之:两个人如果都采用正确操作,那么面对非奇异局势,先手必胜;反之,则后手必胜。
如果我给你一个局势
其中
由此我们可以得知:若两堆物品个数分别为