Every-SG 博弈论 mark定义和结论】的更多相关文章

http://blog.sina.com.cn/s/blog_51cea4040100h3l9.html 这种类型,可以想成这样,有N组游戏,有N个穿红色衣服的人代表先手,有N个穿蓝色衣服的人代表后手,这个时候,编号相同的人和游戏分到一组游戏,既第i号穿红色衣服人和第i号穿蓝色衣服的人做第i个游戏.游戏开始后,首先所有穿红衣服的人先操作,然后所有穿蓝色衣服的人再操作,这样轮流下去.直到最后还没游戏完的一组,这组如果是红色衣服的人胜利,那么该游戏先手必胜,如果是蓝色衣服的人胜利,就是先手必败. 很…
题目链接:BZOJ - 1874 题目分析 这个是一种组合游戏,是许多单个SG游戏的和. 就是指,总的游戏由许多单个SG游戏组合而成,每个SG游戏(也就是每一堆石子)之间互不干扰,每次从所有的单个游戏中选一个进行决策,如果所有单个游戏都无法决策,游戏失败. 有一个结论,SG(A + B + C ... ) = SG(A)^SG(B)^SG(C) ... 这道题每堆石子不超过 1000 , 所以可以把 [0, 1000] 的 SG 值暴力求出来,使用最原始的 SG 函数的定义, SG(u) = m…
SG函数 个人理解:SG函数是人们在研究博弈论的道路上迈出的重要一步,它把许多杂乱无章的博弈游戏通过某种规则结合在了一起,使得一类普遍的博弈问题得到了解决. 从SG函数开始,我们不再是单纯的同过找规律等方法去解决博弈问题,而是需要学习一些博弈论中基本的定理,来找到他们的共同特点 那么就先介绍几个最基本的定理(也可以叫常识)吧 基本定理 ICG游戏 1.游戏有两个人参与,二者轮流做出决策.且这两个人的决策都对自己最有利. 2.当有一人无法做出决策时游戏结束,无法做出决策的人输.无论二者如何做出决策…
写这篇博客之前,花了许久时间来搞这个SG函数,倒是各路大神的论文看的多,却到底没几个看懂的.还好网上一些大牛博客还是性价比相当高的,多少理解了些,也自己通过做一些题加深了下了解. 既然是博弈,经典的NIM游戏不得不提一下,这也是要不断提醒自己别忘了NIM游戏才是SG函数由来的核心关键! 1. 若干堆石头. 2. 甲和乙轮流从任意堆中取任意个石头. 3. 谁不能取就输. 分析: 对于一个博弈来说,P-position表示previous,代表先手必败,即后手必胜,N-position表示next,…
题目链接:BZOJ - 1188 题目分析 我们把每一颗石子看做一个单个的游戏,它的 SG 值取决于它的位置. 对于一颗在 i 位置的石子,根据游戏规则,它的后继状态就是枚举符合条件的 j, k.然后后继状态就是 j 与 k 这两个游戏的和. 游戏的和的 SG 值就是几个单一游戏的 SG 值的异或和. 那么还是根据 SG 函数的定义 , 即 SG(u) = mex(SG(v)) ,预处理求出每个位置的 SG 值.一个位置的 SG 值与它后面的位置有关,是取决于它是倒数第几个位置,那么我们预处理求…
题目描述 两人进行 $T$ 轮游戏,给定参数 $F$ ,每轮给出 $N$ 堆石子,先手和后手轮流选择石子数大于等于 $F$ 的一堆,将其分成任意(大于1)堆,使得这些堆中石子数最多的和最少的相差不超过1(即尽量均分).求先手和后手谁必胜. 输入 输入第一行包含两个正整数T和F,分别表示游戏组数与给定的数.接下来T行,每行第一个数N表示该组游戏初始状态下有多少堆石子.之后N个正整数,表示这N堆石子分别有多少个. 输出 输出一行,包含T个用空格隔开的0或1的数,其中0代表此时小A(后手)会胜利,而1…
SG函数的定义: g(x) = mex ( sg(y) |y是x的后继结点 ) 其中mex(x)(x是一个自然是集合)函数是x关于自然数集合的补集中的最小值,比如x={0,1,2,4,6} 则mex(x)=3: 什么是后继结点? 所谓后继结点就是当前结点经过一个操作可以变成的状态.比如对于娶4石子游戏,假如每次可以取的数目是1,2,4,当前的石子数目也就是当前状态是5,那么5的后继结点就是{5-1, 5-2, 5-4}={4,3,1}: 如果5的三个后继结点的SG函数值分别为0,1,3,那么5的…
目录 预备知识 普通的Nim游戏 SG函数 预备知识 公平组合游戏(ICG) 若一个游戏满足: 由两名玩家交替行动: 游戏中任意时刻,合法操作集合只取决于这个局面本身: 若轮到某位选手时,若该选手无合法操作,则这名选手判负: 则称该游戏为一个公平组合游戏. Nim游戏 有若干堆石子,每堆石子的数量都是有限的,合法的移动是"选择一堆石子并拿走若干颗(不能不拿)",如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动). mex(minimal exdudant…
版权声明:欢迎关注我的博客,本文为博主[炒饭君]原创文章.未经博主同意不得转载 https://blog.csdn.net/a1061747415/article/details/32336485 Calendar Game Problem Description Adam and Eve enter this year's ACM International Collegiate Programming Contest. Last night, they played the Calendar…
某个状态的SG函数被定义为 除该状态能一步转移到的状态的SG值以外的最小非负整数. 有如下性质:从SG值为x的状态出发,可以转移到SG值为0,1,...,x-1的状态. 不论SG值增加与否,我们都可以将当前所有子游戏的SG值异或起来从而判断胜负状态. 常采用记忆化搜索来计算SG函数. #include<cstdio> #include<set> #include<cstring> using namespace std; int fib[1001],a[3],SG[10…