国家集训队2009论文集组合游戏略述——浅谈
- 格式:pdf
- 大小:616.94 KB
- 文档页数:24
摘抄自C博客组合数学计数与统计2001 - 符文杰:《Pólya原理及其应用》2003 - 许智磊:《浅谈补集转化思想在统计问题中的应用》2007 - 周冬:《生成树的计数及其应用》2008 - 陈瑜希《Pólya计数法的应用》数位问题2009 - 高逸涵《数位计数问题解法研究》2009 - 刘聪《浅谈数位类统计问题》动态统计2004 - 薛矛:《解决动态统计问题的两把利刃》2007 - 余江伟:《如何解决动态统计问题》博弈2002 - 张一飞:《由感性认识到理性认识——透析一类搏弈游戏的解答过程》2007 - 王晓珂:《解析一类组合游戏》2009 - 曹钦翔《从“k倍动态减法游戏”出发探究一类组合游戏问题》2009 - 方展鹏《浅谈如何解决不平等博弈问题》2009 - 贾志豪《组合游戏略述——浅谈SG游戏的若干拓展及变形》母函数2009 - 毛杰明《母函数的性质及应用》拟阵2007 - 刘雨辰:《对拟阵的初步研究》线性规划2007 - 李宇骞:《浅谈信息学竞赛中的线性规划——简洁高效的单纯形法实现与应用》置换群2005 - 潘震皓:《置换群快速幂运算研究与探讨》问答交互2003 - 高正宇:《答案只有一个——浅谈问答式交互问题》猜数问题2003 - 张宁:《猜数问题的研究:<聪明的学生>一题的推广》2006 - 龙凡:《一类猜数问题的研究》数据结构数据结构2005 - 何林:《数据关系的简化》2006 - 朱晨光:《基本数据结构在信息学竞赛中的应用》2007 - 何森:《浅谈数据的合理组织》2008 - 曹钦翔《数据结构的提炼与压缩》结构联合2001 - 高寒蕊:《从圆桌问题谈数据结构的综合运用》2005 - 黄刚:《数据结构的联合》块状链表2005 - 蒋炎岩:《数据结构的联合——块状链表》2008 - 苏煜《对块状链表的一点研究》动态树2006 - 陈首元:《维护森林连通性——动态树》2007 - 袁昕颢:《动态树及其应用》左偏树2005 - 黄源河:《左偏树的特点及其应用》跳表2005 - 魏冉:《让算法的效率“跳起来”!——浅谈“跳跃表”的相关操作及其应用》2009 - 李骥扬《线段跳表——跳表的一个拓展》SBT2007 - 陈启峰:《Size Balance Tree》线段树2004 - 林涛:《线段树的应用》单调队列2006 - 汤泽:《浅析队列在一类单调性问题中的应用》哈希表2005 - 李羽修:《Hash函数的设计优化》2007 - 杨弋:《Hash在信息学竞赛中的一类应用》Splay2004 - 杨思雨:《伸展树的基本操作与应用》图论图论2005 - 任恺:《图论的基本思想及方法》模型建立2004 - 黄源河:《浅谈图论模型的建立与应用》2004 - 肖天:《“分层图思想”及其在信息学竞赛中的应用》网络流2001 - 江鹏:《从一道题目的解法试谈网络流的构造与算法》2002 - 金恺:《浅谈网络流算法的应用》2007 - 胡伯涛:《最小割模型在信息学竞赛中的应用》2007 - 王欣上:《浅谈基于分层思想的网络流算法》2008 - 周冬《两极相通——浅析最大—最小定理在信息学竞赛中的应用》最短路2006 - 余远铭:《最短路算法及其应用》2008 - 吕子鉷《浅谈最短径路问题中的分层思想》2009 - 姜碧野《SPFA算法的优化及应用》欧拉路2007 - 仇荣琦:《欧拉回路性质与应用探究》差分约束系统2006 - 冯威:《数与图的完美结合——浅析差分约束系统》平面图2003 - 刘才良:《平面图在信息学中的应用》2007 - 古楠:《平面嵌入》2-SAT2003 - 伍昱:《由对称性解2-SAT问题》最小生成树2004 - 吴景岳:《最小生成树算法及其应用》2004 - 汪汀:《最小生成树问题的拓展》二分图2005 - 王俊:《浅析二分图匹配在信息学竞赛中的应用》Voronoi图2006 - 王栋:《浅析平面Voronoi图的构造及应用》偶图2002 - 孙方成:《偶图的算法及应用》树树2002 - 周文超:《树结构在程序设计中的运用》2005 - 栗师:《树的乐园——一些与树有关的题目》路径问题2009 - 漆子超《分治算法在树的路径问题中的应用》最近公共祖先2007 - 郭华阳:《RMQ与LCA问题》划分问题2004 - 贝小辉:《浅析树的划分问题》数论欧几里得算法2009 - 金斌《欧几里得算法的应用》同余方程2003 - 姜尚仆:《模线性方程的应用——用数论方法解决整数问题》搜索搜索2001 - 骆骥:《由“汽车问题”浅谈深度搜索的一个方面——搜索对象与策略的重要性》2002 - 王知昆:《搜索顺序的选择》2005 - 汪汀:《参数搜索的应用》启发式2009 - 周而进《浅谈估价函数在信息学竞赛中的应用》优化2003 - 金恺:《探寻深度优先搜索中的优化技巧——从正方形剖分问题谈起》2003 - 刘一鸣:《一类搜索的优化思想——数据有序化》2006 - 黄晓愉:《深度优先搜索问题的优化技巧》背包问题2009 - 徐持衡《浅谈几类背包题》匹配2004 - 楼天城:《匹配算法在搜索问题中的巧用》概率概率2009 - 梅诗珂《信息学竞赛中概率问题求解初探》数学期望2009 - 汤可因《浅析竞赛中一类数学期望问题的解决方法》字符串字符串2003 - 周源:《浅析“最小表示法”思想在字符串循环同构问题中的应用》多串匹配2004 - 朱泽园:《多串匹配算法及其启示》2006 - 王赟:《Trie图的构建、活用与改进》2009 - 董华星《浅析字母树在信息学竞赛中的应用》后缀数组2004 - 许智磊:《后缀数组》2009 - 罗穗骞《后缀数组——处理字符串的有力工具》字符串匹配2003 - 饶向荣:《病毒的DNA———剖析一道字符匹配问题解析过程》2003 - 林希德:《求最大重复子串》动态规划动态规划2001 - 俞玮:《基本动态规划问题的扩展》2006 - 黄劲松:《贪婪的动态规划》2009 - 徐源盛《对一类动态规划问题的研究》状态压缩2008 - 陈丹琦《基于连通性状态压缩的动态规划问题》状态设计2008 - 刘弈《浅谈信息学中状态的合理设计与应用》树形DP2007 - 陈瑜希:《多角度思考创造性思维——运用树型动态规划解题的思路和方法探析》优化2001 - 毛子青:《动态规划算法的优化技巧》2003 - 项荣璟:《充分利用问题性质——例析动态规划的“个性化”优化》2004 - 朱晨光:《优化,再优化!——从《鹰蛋》一题浅析对动态规划算法的优化》2007 - 杨哲:《凸完全单调性的加强与应用》计算几何立体几何2003 - 陆可昱:《长方体体积并》2008 - 高亦陶《从立体几何问题看降低编程复杂度》计算几何思想2004 - 金恺:《极限法——解决几何最优化问题的捷径》2008 - 程芃祺《计算几何中的二分思想》2008 - 顾研《浅谈随机化思想在几何问题中的应用》圆2007 - 高逸涵:《与圆有关的离散化》半平面交2002 - 李澎煦:《半平面交的算法及其应用》2006 - 朱泽园:《半平面交的新算法及其实用价值》矩阵矩阵2008 - 俞华程《矩阵乘法在信息学中的应用》高斯消元2002 - 何江舟:《用高斯消元法解线性方程组》数学方法数学思想2002 - 何林:《猜想及其应用》2003 - 邵烜程:《数学思想助你一臂之力》数学归纳法2009 - 张昆玮《数学归纳法与解题之道》多项式2002 - 张家琳:《多项式乘法》数形结合2004 - 周源:《浅谈数形结合思想在信息学竞赛中的应用》黄金分割2005 - 杨思雨:《美,无处不在——浅谈“黄金分割”和信息学的联系》其他算法遗传算法2002 - 张宁:《遗传算法的特点及其应用》2005 - 钱自强:《关于遗传算法应用的分析与研究》信息论2003 - 侯启明:《信息论在信息学竞赛中的简单应用》染色与构造2002 - 杨旻旻:《构造法——解题的最短路径》2003 - 方奇:《染色法和构造法在棋盘上的应用》一类问题区间2008 - 周小博《浅谈信息学竞赛中的区间问题》序2005 - 龙凡:《序的应用》系2006 - 汪晔:《信息学中的参考系与坐标系》物理问题2008 - 方戈《浅析信息学竞赛中一类与物理有关的问题》编码与译码2008 - 周梦宇《码之道—浅谈信息学竞赛中的编码与译码问题》对策问题2002 - 骆骥:《浅析解“对策问题”的两种思路》优化算法优化2002 - 孙林春:《让我们做得更好——从解法谈程序优化》2004 - 胡伟栋:《减少冗余与算法优化》2005 - 杨弋:《从<小H的小屋>的解法谈算法的优化》2006 - 贾由:《由图论算法浅析算法优化》程序优化2006 - 周以苏:《论反汇编在时间常数优化中的应用》2009 - 骆可强《论程序底层优化的一些方法与技巧》语言C++2004 - 韩文弢:《论C++语言在信息学竞赛中的应用》策略策略2004 - 李锐喆:《细节——不可忽视的要素》2005 - 朱泽园:《回到起点——一种突破性思维》2006 - 陈启峰:《“约制、放宽”方法在解题中的应用》2006 - 李天翼:《从特殊情况考虑》2007 - 陈雪:《问题中的变与不变》2008 - 肖汉骏《例谈信息学竞赛分析中的“深”与“广”》倍增2005 - 朱晨光:《浅析倍增思想在信息学竞赛中的应用》二分2002 - 李睿:《二分法与统计问题》2002 - 许智磊:《二分,再二分!——从Mobiles(IOI2001)一题看多重二分》2005 - 杨俊:《二分策略在信息学竞赛中的应用》调整2006 - 唐文斌:《“调整”思想在信息学中的应用》随机化2007 - 刘家骅:《浅谈随机化在信息学竞赛中的应用》非完美算法2005 - 胡伟栋:《浅析非完美算法在信息学竞赛中的应用》2008 - 任一恒《非完美算法初探》提交答案题2003 - 雷环中:《结果提交类问题》守恒思想2004 - 何林:《信息学中守恒法的应用》极限法2003 - 王知昆:《浅谈用极大化思想解决最大子矩形问题》贪心2008 - 高逸涵《部分贪心思想在信息学竞赛中的应用》压缩法2005 - 周源:《压去冗余缩得精华——浅谈信息学竞赛中的“压缩法”》逆向思维2005 - 唐文斌:《正难则反——浅谈逆向思维在解题中的应用》穷举2004 - 鬲融:《浅谈特殊穷举思想的应用》目标转换2002 - 戴德承:《退一步海阔天空——“目标转化思想”的若干应用》2004 - 栗师:《转化目标在解题中的应用》类比2006 - 周戈林:《浅谈类比思想》分割与合并2006 - 俞鑫:《棋盘中的棋盘——浅谈棋盘的分割思想》2007 - 杨沐:《浅析信息学中的“分”与“合”》平衡思想2008 - 郑暾《平衡规划——浅析一类平衡思想的应用》。
浅析字母树在信息学竞赛中的应用浙江省绍兴市第一中学董华星二〇〇八年十二月目录摘要 (3)关键字 (3)前言 (3)正文 (4)1.预备知识 (4)1.1.试题分析 (4)1.2.结构简介 (5)2.字母树在串的快速检索中的应用 (7)3.字母树在“串”排序方面的应用 (9)4.字母树在减少无效转移方面的应用 (11)5.字母树在最长公共前缀问题的应用 (13)5.1.串的最长公共前缀问题 (13)5.2.数字相关的公共前缀问题 (14)6.拓展思考 (16)6.1.字母树应用的扩展 (16)6.2.字母树的局限 (16)7.总结 (17)参考文献 (17)附录 (18)1.单词查找树 (18)2.感谢名单 (20)感谢 (21)字母树(又叫单词查找树、Trie树,Trie Tree),构造简单,并能很好地处理和“串”相关的检索(Retrieval)问题。
本文从此着手,归纳了笔者的学习经验,详细论述了其在快速查找、排序、优化转移等方面的常见应用,并对其扩展做了提示。
关键字字母树快速检索“串”排序无效转移最长公共前缀问题前言当我们走进图书馆的阅览室寻找书时,会不Array由自主地根据书架上的分类标签寻找自己所喜好的书籍;当打开电脑中的资源管理器时,我们会看到一层一层的目录结构。
它们的存在,方便了我们生活中的一个重要的问题——检索。
在信息学竞赛(Olympiad in Informatics,简称OI)的学习过程中,我们也经常会遇到关于“检索”的问题。
而通常采用的不借助任何数据结构(Data Structure)的的枚举方法,虽然简单易写,但往往存在着效率低下的弊端。
那我们如何才能图一资源管理器通过简单的途径提高算法中的检索效率?接下来笔者将浅析并推荐一种数据结构——字母树,借助它我们便能够很好地处理与“串”相关的检索问题。
1.预备知识为了更深入地让读者了解这种数据结构,本文首先将对其进行一番具体介绍并说明其构造。
浅析信息学中的“分”与“合”福建省福州第三中学杨沐目录【摘要】..................................................................... 错误!未定义书签。
【关键字】................................................................. 错误!未定义书签。
【正文】..................................................................... 错误!未定义书签。
一、引言............................................................... 错误!未定义书签。
二、例题分析 ...................................................... 错误!未定义书签。
[例一]牛奶模版 ............................................ 错误!未定义书签。
[例二]树的重建 ............................................ 错误!未定义书签。
[例三]最优序列 ............................................ 错误!未定义书签。
三、总结............................................................... 错误!未定义书签。
【感谢】..................................................................... 错误!未定义书签。
【参考文献】............................................................. 错误!未定义书签。
浅谈几类背包题浙江省温州中学徐持衡指导老师:舒春平2008年12月目录摘要 (3)关键字 (3)正文 (4)一、引言 (4)二、背包的基本变换 (5)①完全背包 (5)②多次背包 (5)③单调队列优化☆ (6)三、其他几类背包问题 (8)①树形依赖背包(获取学分)☆ (8)②PKU3093☆ (11)四、总结 (12)附录 (13)参考文献 (13)文中原题 (13)摘要背包问题作为一个经典问题在动态规划中是很基础的一个部分,然而以0-1背包问题为原题,衍生转变出的各类题目,可以说是千变万化,当然解法也各有不同,如此就有了继续探究的价值。
本文就4道背包变化的题做一些探讨研究,提出本人的一些做法,希望能起到抛砖引玉的作用。
关键字动态规划背包优化正文一、引言背包问题是运筹学中的一个经典的优化难题,是一个NP-完全问题,但其有着广泛的实际应用背景,是从生活中一个常见的问题出发展开的:一个背包,和很多件物品,要在背包中放一些物品,以达到一定的目标。
在信息学中,把所有的数据都量化处理后,得到这样的一个问题:0-1 背包问题:给定n 件物品和一个背包。
物品i的价值是W i,其体积为V i,背包的容量为C。
可以任意选择装入背包中的物品,求装入背包中物品的最大总价值。
在选择装入背包的物品时,对每件物品i ,要么装入背包,要么不装入背包。
不能将物品i 多次装入背包,也不能只装入部分物品i (分割物品i)。
因此,该问题称为0-1 背包问题。
用于求解0-1背包问题的方法主要有回溯算法、贪婪算法、遗传算法、禁忌搜索算法、模拟退火算法等。
在高中阶段,我们所谓的经典0-1背包问题,保证了所有量化后的数据均为正整数,即是一个特殊的整数规划问题,本文中如无特殊说明均以此为前提。
其经典的O(n*C)动规解法是:状态是在前i件物品中,选取若干件物品其体积总和不大于j,所能获得的最大价值为F i[j],当前的决策是第i件物品放或者不放,最终得到转移方程:F i[j] = F i-1[j] (V i>j>=0)F i[j] = max{ F i-1[j] , F i-1[j-V i]+W i } (C>=j>=V i)其中由于F i只与F i-1有关,可以用滚动数组来节省程序的空间复杂度。
组合数学论文1700字_组合数学毕业论文范文模板组合数学论文1700字(一):浅谈“组合数学”的研究性教学方法【摘要】组合数学是计算机相关专业的一门专业课程,其内容抽象,形式化程度高,如何提高该课程的教学水平,使学生真正学懂并不断提高逻辑思维和抽象思维能力是该课程教学研究和探讨的重点.【关键词】研究性教学;组合数学;启发式学习伴随着信息时代的来临,特别是计算机科学技术的迅猛发展,计算机相关专业课程的学习方法研究成为热点.组合数学作为一门应用性较强的数学分支,对于高校特别是计算机相关专业学生,培养他们运用组合数学方法分析和解决相关问题的能力已经成为必要.如何在教学过程中提高学生学习组合数学的兴趣,建立组合数学的逻辑思维并用于解决实际问题是教育工作者需要思考的问题.一、课程特点与现状分析组合数学在计算机科学、信息科学中具有重要的地位,是理科及工科院校的一门必修课,其发展改变了传统数学中分析和代数占统治地位的局面.组合数学主要研究符合一定条件的组态对象、计数及构造等方面的问题,主要内容包括排列与组合、容斥原理及其应用、递推关系、生成函数、鸽巢原理和Polya定理等.然而,組合数学课程中概念、定理、性质和证明非常多而且都比较抽象,形式化程度高,学生在学习、理解和应用时比较困难.因此,需要通过研究性教学方法来激发和增强学生的学习兴趣,从而培养和增强学生的抽象思维、逻辑思维和理论联系实际的综合能力.二、研究性教学改革与实践(一)研究性教学理念研究性教学是目前高等教育教学研究的一个热点方向[1],它是一种教师指导下的以学生为主体的自主学习和实践过程,包含了教与学两个方面:前者以教师为主导,在课堂教学中创设一种类似科学研究的情境或途径,把凝结在知识点背后的思想、方法和创新过程揭示出来,在引导学生学习和掌握新知识的同时,又能受到知识创新和科学研究方法的熏陶和训练;后者指学生在教师指导下,以科学研究的方式查阅资料、搜集信息,并通过分组协作和讨论来完成指定项目或问题的一种主动的、独创性的学习活动[2].(二)教学改革的目标通过启发式教学方法进行组合数学教学,锻炼学生的论证能力,用组合数学的思想培养学生分析问题和解决问题的能力,使学生能得到严格的逻辑推理与抽象思维能力的锻炼,了解数学中的抽象思维、建立数学模型与计算机科学实践之间的内在联系,不仅提高专业开发能力,而且为其他课程的学习打好数学基础.(三)研究性教学改革的实施方案根据组合数学的课程要求,在整个教学改革过程中,按照教学内容分成三个层次来安排:1.第一层次为基础知识的学习在研究性教学改革中,对课程的教学内容进行凝练和概括,对学时分配进行了优化.对于基础知识的学习依然采用传统的教学方法,夯实基础.2.第二层次为综合应用知识的学习为了加强学生综合应用知识的能力,对学生进行了分组,让每组学生独立完成设置好的一些案例.通过这些案例的研究性教学和讨论,可以使学生明白学习的目标不只是为了记住结论、公式、定理,而是会运用知识解决问题,真正由“学会”变为“会学”,这才是研究性教学的根本所在.3.第三层次为创新知识的学习为了培养学生创新能力,设置多个创新性课题,旨在探索并建立以问题和课题为核心的教学模式,激发学生的创新思维和创新意识,逐渐掌握思考问题、解决问题的方法,提高其创新实践的能力.三、研究性教学效果分析在组合数学的研究性教学开展中,经过不懈努力,取得了一定成果和效果.1.教师方面:教育的观念变了,教师在教学过程中真正成为学生学习的组织者、参与者、帮助者、引导者和促进者,从备课到上课,先进的教学理论得以实施,教学案例也是新颖而且有价值的.2.学生方面:改变了学生学习的方式,一改“在听中学”的单一方式,创造“在做中学”“在尝试中学”等多种学习方式;二改学生被动的学习态度;三改学生接受式学习的习惯,大力开展研究性学习;四改学生机械模仿的习惯,帮助学生进行创造性的有意义的学习.学生接受了新的教学法,能够按要求撰写学案,懂得了要合作学习,分享成果,也明白探究过程对个人的发展起到了积极的作用.四、结论通过开展组合数学课程的研究性教学改革,不仅较好地激发了学生学习的兴趣,更重要的是使学生深刻认识和领会到严谨的逻辑思维和高度的抽象思维及形式化表示在计算机科学发展及应用计算机求解等一些复杂的深层次问题中的作用.组合数学毕业论文范文模板(二):基于组合数学课程的小班化教学改革实践[摘要]小班化教学,也称“小班化教育”,是指减少班级人数、缩小班级规模、降低师生比例,以有利于教师提高教学质量。
浅析竞赛中一类数学期望问题的解决方法福建省福州第八中学汤可因摘要期望在我们生活中有着十分广泛的应用,而对于我们信息学奥赛也出现了不少求解期望值的问题。
本文对于竞赛中涉及求离散型随机变量的数学期望的题目所使用的常用方法归纳成为两大类,并进行了总结与分析。
关键字期望递推动态规划方程组目录引言 (3)预备知识 (3)一、期望的数学定义 (3)二、期望的线性性质 (3)三、全概率公式 (4)四、条件期望与全期望公式 (4)一、利用递推或动态规划解决 (4)例题一:聪聪与可可 (5)分析 (5)小结 (6)例题二:Highlander (6)分析 (6)小结 (8)例题三:RedIsGood (8)分析 (8)小结 (9)二、建立线性方程组解决 (10)引入 (10)分析 (10)需要注意的地方 (12)例题四:First Knight (12)分析 (12)例题五:Mario (15)分析 (15)总结 (16)参考文献 (17)引言数学期望亦称为期望,期望值等,在概率论和统计学中,一个离散型随机变量的期望值是试验中每次可能结果的概率乘以其结果的总和。
而期望在我们生活中有着十分广泛的应用。
例如要设计一个彩票或赌博游戏,目标为赢利,那么计算能得到的钱以及需要付出的钱的期望,它们的差则需要大于0。
又例如对于是否进行一项投资的决策,可以通过分析总结得出可能的结果并估算出其概率,得到一个期望值而决定是否进行。
期望也许与每一个结果都不相等,但是却是我们评估一个事情好坏的一种直观的表达。
正因为期望在生活中有如此之多的应用,对于我们信息学奥赛也出现了不少求解期望值的问题。
而其中大多数又均为求离散型随机变量的数学期望。
本文对于这类题目所会涉及到的常用方法进行了归纳,总结与分析。
预备知识一、期望的数学定义如果X 是一个离散的随机变量,输出值为 x 1, x 2, ..., 和输出值相应的概率为p 1, p 2, ... (概率和为1), 那么期望值 ∑=ii i x p X E )(。
组合游戏略述——浅谈SG游戏的若干拓展及变形石家庄二中贾志豪前言组合游戏是近几年新兴起的博弈游戏,随着张一飞学长关于组合游戏的论文的面世,组合游戏问题开始在国内信息学竞赛这片沃土上生根发芽,与大家一起成长、成熟、成才。
最为马上要离开高中信息学舞台的高三学生,我一直希望能为学弟学妹们留下一些我自己的心得,于是这篇论文应运而生!!!这篇论文的一些思想是我早在一年前节开始构思的,感谢计算机学会为我提供这样一个舞台,能让我的论文为更多的人所知道;同时感谢在我写论文时无私帮助过我的所有人,谢谢你们!!!先介绍一下论文的主要内容:第一章作为论文的理论基础,主要从欣赏的角度引入了SG函数、游戏图、NIM游戏等概念,重点谈我对组合游戏尤其是SG函数的体会、理解;第二章主要介绍了几种不同规则的组合游戏以及相应的应对策略,旨在告诉读者,游戏规则变化之后,我们应该如何去分析新的规则、解决新的模型;第三章主要介绍了几种竞赛中常见的组合模型,并将“她”们成功的转化成了NIM模型。
鉴于这篇论文的内容较多,在这里给读者提供一些阅读建议:第一章由于篇幅原因,并没有给出SG函数、NIM游戏解法的详细证明过程,对于刚刚接触组合游戏的读者,建议先阅读一些关于SG函数的资料(张一飞关于博弈游戏的论文1、王晓柯关于组合游戏的论文2就很不错),然后再从论文的第一章看起,相信你一定会很有收获;第二、三章是论文的重头戏,如题目所言,分别谈SG游戏的拓展和变形,对于钟情于组合游戏的读者,可以重点看一看第三章,相信一定不会让你失望!!!这篇论文主要有两个特点:基本没有例题但处处是例子。
为了让读者更好的理解论文中的思想,笔者在选题目的时候刻意将题目的背景剥掉,只剩下一个“光溜溜”的数学模型,这样读者在阅读论文时,就不必花精力去考虑背景向模型的转化,可以全身心去理解笔者想要传达的思想。
但读者不必去担心没有地方练习,笔者将这几年的自己做过的组合游戏题收录在了论文的附录里。
1《由感性认识到理性认识——透析一类搏弈游戏的解答过程》,张一飞,国家集训队2002论文2《解析一类组合游戏》,.王晓珂,国家集训队2007论文每一个模型都有详细的证明。
大多数人在学习信息学时存在的问题是“知其然,不知其所以然”,因为大多数的比赛模式是只要求结果而不要求过程。
但这会使我们对一个事物“只知表皮,不知深髓”,如果将一个我们知道的问题稍加变形的话,我们可能就不会了。
这个问题在组合游戏中体现得尤其突出。
因此笔者对于文中的每一个定理都给出了证明,希望读者对文中的思想“知其然,知其所以然”。
为了方便大家阅读,我将论文中所有的定理表述做成了“HELLO WORLD”将所有的定义表述做成了“HELLO WORLD”,希望这样的改动能引起大家的注意和兴趣。
目录感谢 (4)Chapter 1 (5)1.1本论文讨论的范围 (5)1.2组合游戏中状态空间向图的转化 (6)1.3简介SG函数 (6)1.4定义NIM-模型 (7)Chapter 2 (9)2.1走完最后一步者输——Anti-SG游戏和SJ定理 (9)2.2可以将一堆石子分成多堆——Multi-SG游戏 (14)2.3每一个可以移动的棋子都要移动——Every-SG游戏 (14)Chapter 3 (18)3.1翻硬币游戏 (18)3.2无向图删边游戏 (19)3.2.1树的删边游戏 (19)3.2.2 Christmas Game(PKU3710) (21)3.2.3 无向图的删边游戏 (23)参考资料 (24)附录 (24)关键字SG函数NIM模型Anti游戏Multi游戏Every游戏翻硬币游戏删边游戏证明拓展感谢谨以此论文献给:●我的初中同班同学,集训队队员,对ppt内容提出宝贵意见的李骥扬同学●我的高中同班同学,集训队队员,给论文指出多处缺点的武森同学●我的学长,北京大学学生,认真修改过我论文ppt的周先达同学●我的学长,复旦大学学生,认真阅读过论文修订版的杨敏达同学●在我生病时送我去医院,认真辅导我信息学的韩日旺老师●在我上高一时及时指出我的缺点,辛勤辅导我信息学的李晶老师●与我交流论文内容的唐文斌、胡伟栋教练向以上所有人表示我最诚挚的谢意!!!谢谢所有在我信息学道路上对我有帮助的人!!!●C hapter 11.1本论文讨论的范围本论文主要讨论一类组合游戏问题的解法,这列问题具有如下特征:●游戏有两个人参与,二者轮流做出决策。
且这两个人的决策都对自己最有利。
●当有一人无法做出决策时游戏结束,无法做出决策的人输。
无论二者如何做出决策,游戏可以在有限步内结束。
●游戏中的同一个状态不可能多次抵达。
且游戏不会有平局出现。
●任意一个游戏者在某一确定状态可以作出的决策集合只与当前的状态有关,而与游戏者无关。
这样一类游戏可以用SG函数解决,我们将其称之为SG-组合游戏。
对“最有利”的解释:本文所说的最有利,是指对于当前要做出决策的游戏者,如果他存在一种决策,使得后手进入到一个无论怎样做出决策都一定会输的的状态,那么结局一定是当前的游戏者胜!中国有句古话——“智者千虑,必有一失”,而组合游戏中的游戏者却可以做到“运筹帷幄,决胜千里”。
不得不说,正是组合游戏中的“智者”吸引着我们去探索、发觉组合游戏中的魅力!1.2组合游戏中状态空间向图的转化我们可以将组合游戏中的每一个状态抽象成图中的一个点,将每一步决策抽象成图中的一条边。
我们将这个图称为该组合游戏的游戏图。
这样,对于组合游戏中的每一次对弈,我们都可以将其抽象成游戏图中的一条从某一顶点到出度为0的点的路径。
组合游戏向图的转化,并不单单只是为了寻找一种对应关系,它可以帮助我们淡化游戏的实际背景,强化游戏的数学模型,更加突出游戏的数学本质!1.3简介SG函数SG函数是对游戏图中每一个节点的评估函数。
它的定义如下:fmexvf=图中有一条从uvu(|){)(的边}到其中,mex(minimal excludant)是定义在整数集合上的操作。
它的自变量是任意整数集合,函数值是不属于该集合的最小自然数。
kkmex∈∉A=∧k|Am in{}}{N事实上,所有的SG-组合游戏都存在相应的游戏图,我们完全可以根据游戏图的拓扑关系来逐一算出每一个状态点的SG函数(事实上我们只需要知道该状态点的SG函数值是否为0)。
这样,我们就可以知道对于某一个状态,是先手必胜局还是先手必败局。
这是不是说明我们已经将SG-组合游戏完满解决了呢?显然不是!!!因为我们不光要考虑算法的正确性,还要考虑算法的时空开销,而上述方法显然没有考虑算法的时空开销,上述方法的瓶颈在于没有充分利用SG-组合游戏问题的特殊性质。
我们先引出游戏的和的概念。
[定义]游戏的和:考虑任意多个同时进行的SG-组合游戏,这些SG-组合游戏的和是这样一个SG-组合游戏,在它进行的过程中,游戏者可以任意挑选其中的一个单一游戏进行决策,最终,没有办法进行决策的人输。
■上述方法在计算K个单一SG-组合游戏的和时,所消耗的时间、空间复杂度是分别计算这K个单一SG-组合游戏所消耗的时间、空间复杂度的乘积。
但如果我们能更好的利用SG-组合游戏的性质的话,我们可以将上一段的最后一字——“积”——改成“和”。
这就是我们继续研究SG-函数的意义,也是这篇论文的意义所在。
最后我们直接给出SG函数的性质:(1)对于任意的局面,如果它的SG值为0,那么它的任何一个后继局面的SG值不为0;(2)对于任意的局面,如果它的SG值不为0,那么它一定有一个后继局面的SG值为0。
1.4定义NIM-模型为了不使读者对本篇论文失去兴趣,我特意将介绍取石子游戏的内容换成小字,对这部分内容已经很熟悉的读者可以直接略过。
取石子游戏即著名的nim游戏,游戏规则如下:⏹桌子上有N堆石子,游戏者轮流取石子。
⏹每次只能从一堆中取出任意数目的石子,但不能不取。
⏹取走最后一个石子者胜。
这道题每一堆石子的SG函数值很显然为该堆石子的数目,根据SG函数的特点,最后所有堆石子的SG函数的和__⊕1=⊕⊕_SGSGnSGtot...SG_2最后,先手胜当且仅当该值为0。
证明从略。
取石子游戏虽然是组合游戏中一道最基础的题目,但是它却代表了一类经典的组合模型。
事实上,每一个简单SG-组合游戏都可以完全等效成一堆数目为K 的石子,其中K为该简单游戏的SG函数值。
这样的等效是充要的。
[定理]在我们每次只能进行一步操作的情况下,对于任何的游戏的和,我们若将其中的任一单一SG-组合游戏换成数目为它的SG值的一堆石子,该单一SG-组合游戏的规则变成取石子游戏的规则(可以任意取,甚至取完),则游戏的和的胜负情况不变。
这是SG函数的基本性质,证明可参阅相关资料。
定理的一个变形是:若只考虑游戏的和,我们可以将其中的任一游戏换成SG值相等的其他游戏,游戏的和的SG函数值不变。
定理告诉我们,在考虑游戏的和时,每一个单一游戏的具体细节是可以被忽略的,我们所关心的只是SG函数值。
所以我们可以将组成它的所有子游戏换成相应数目的一堆石子。
这样,所有的游戏的和都等价成nim游戏。
为了以后论文的方便,我们将以后的所有例题都抽象成NIM-模型。
抽象成NIM-模型后,剩下的问题就是我们所熟悉的nim游戏了。
●C hapter 22.1走完最后一步者输——Anti-SG游戏和SJ定理在谁走完最后一步谁输时,如何判断输赢?刚拿到这个问题,大多数人可能会认为要颠覆传统的SG函数解法,设计新的评估函数。
我们不妨先从最本质的nim游戏寻找突破口。
[定义](anti-nim游戏)⏹桌子上有N堆石子,游戏者轮流取石子。
⏹每次只能从一堆中取出任意数目的石子,但不能不取。
⏹取走最后一个石子者败。
[结论]先手必胜当且仅当:(1)所有堆的石子数都为1且游戏的SG值为0;(2)有些堆的石子数大于1且游戏的SG值不为0。
[证明]游戏分两种情况:●有N个堆,每个堆只有一个石子。
显然,先手必胜当且仅当N为偶数。
●其他情况。
(1)当SG不为0时若还有至少两堆石子的数目大于1,则先手将SG值变为0即可;若只有一堆石子数大于1,则先手总可以将状态变为有奇数个1。
所以,当SG不为0时先手必胜。
(2)当SG为0时至少有两堆石子的数目大于1,则先手决策完之后,必定至少有一堆的石子数大于1,且SG值不为0,由上段的论证我们可以发现,此时,无论先手如何决策,都只会将游戏带入先手必胜局,所以先手必败。
■上述关于anti-nim游戏的推导只对anti-nim这一简单游戏成立。
因为我们在证明SG函数性质时,用到了这样一个性质SG值为0的局面不一定为终止局面。
所以,上述论证能否推广到所有SG-组合游戏,我们是需要从新给出论证的。
我们现在已经充分了解到了nim游戏与SG函数之间的内在联系,所以我们很自然的会想到下述命题:[命题]先手必胜当且仅当:(1)所有单一游戏的SG值小于2且游戏的SG值为0;(2)存在单一游戏的SG值大于1且游戏的SG值不为0。