公平组合游戏(ICG)ACM入门篇

什么是公平组合游戏

        在竞赛中,像两个人轮番进行游戏,并且两个人都是最精明的人,他们会采取当前情况下最优的策略进行决策。ICG还有一个特点,就是信息的公开性,一个人做什么操作,另外一个人是知道的,并作出相应的操作。公平组合游戏不是说这个游戏就是公平的,相反的在给出已知的量的时候,游戏的胜负已知。这类题目通常会给你一些比赛的条件,再告诉你谁先手,让你输出这个人先手的情况下,到底那个人能赢。这类问题的答案通常是某个人的id或者yes/no

常见的公平组合游戏

  1.巴什博弈

          是公平组合游戏中最简单的一种,题目一般为:一共n个物品,某人先手,每次至少从n个物品中拿出一个,最多拿出k个,拿走最后一件物品的人获胜。注意:公平组合游戏一定不存在环的,上面说的例子中,每次取出物品一定是不能为0个的,不然就会形成一个死循环,两个人每次都取0个,这样游戏就无法结束。

公平组合游戏一定能在有限步内结束

   巴什博弈的解决方法依赖于一个方程,n=(k+1)*m+r,我们知道任何数都能通过其他数字表示成方程右侧的形式,对于这个方程我们不关心m的大小,只关心k+1,n,r的关系,当r=0的时候,先手不论取多少物品(在条件范围内),假设取了c个,后手都可以取k+1-c,这样一轮游戏后就会取走k+1个物品,m轮之后必定是后手去完最后一个。当r\neq0的时候,大家可以自行推到一下,会发现,先手有必胜的策略。因此解决巴什博弈就是找到k的取值。这里给大家留几个巴什博弈的题目:hdu1846 hdu4764 hdu1847。

        其他公平组合游戏再更新。。。。

SG函数和SG定理

        说到ICG肯定离不开SG函数,ICG有很多种类型,如果一一的划分他们的求解方法就太麻烦了,有没有解决ICG问题的通用解法呢?有!那就是SG函数,说SG之前再说一个博弈。Nim博弈

题目都是这样类型的: n堆物品,每堆有ai个,两个玩家轮流取走任意一堆的任意个物品,但不能不取。这种题目的解法不妨告诉你,就是把所有的ai取异或,如果异或和为0则后生胜,否则先手胜。至于为什么。。回头有空再写QAQ.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值