BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy Init函数 然后统计就ok B. 博弈 题 不懂 推了半天的SG..... 结果这个题.... C 数据结构题 我写了半个小时分块 然后发现 改的是颜色.... 我的天 炸炸炸 D. 没看懂 ...
分类:
编程语言 时间:
2016-12-18 12:05:13
阅读次数:
196
关于剪枝问题 前面讲到的通过Alpha-Beta剪枝和启发式搜索可以将4层搜索的平均时间降低到1秒以下。只有这两个优化方式其实目前最多可以做到6层搜索,就是把AI和玩家各向后推算三步。 6层搜索的棋力其实相当弱,碰到经常玩五子棋的人基本都会输,更不要说对五子棋有研究的玩家。以目前的平均一个节点有50 ...
分类:
编程语言 时间:
2016-10-21 16:10:49
阅读次数:
403
AI实现的基本思路-极大极小值搜索算法 五子棋看起来有各种各样的走法,而实际上把每一步的走法展开,就是一颗巨大的博弈树。在这个树中,从根节点为0开始,奇数层表示电脑可能的走法,偶数层表示玩家可能的走法。 假设电脑先手,那么第一层就是电脑的所有可能的走法,第二层就是玩家的所有可能走法,以此类推。 我们 ...
分类:
编程语言 时间:
2016-10-21 13:37:25
阅读次数:
548
一、用计算机解决问题的步骤: 1、抽象出合适的数学模型 2、设计解决模型算法 3、编程,测试。 二、数值问题(可用数学方程解决)和非数值问题 数值问题比如:求解梁的受力;人口预测等; 非数值问题:图书馆书目的查找(线性结构);棋盘的博弈(树结构);路口交通灯设计(图结构) ...
分类:
其他好文 时间:
2016-09-12 13:57:43
阅读次数:
163
从这一篇文章开始,笔者开始了对《算法的乐趣》一书的学习。与以往笔者看的面向竞赛的算法数和经典教材不同,这本书接介绍的算法多为在现实生活中或者已经应用在生产实践当中的算法,比如说这篇文章所介绍的博弈树,就是前段时间非常火的人与AI的围棋大战的基础。 需要提前说明的一件事情是,由于本书当中的算法有非常好 ...
分类:
编程语言 时间:
2016-05-30 19:54:20
阅读次数:
1278
Game tree :博弈树有双人/多人博弈树,如下two-ply game tree一般博弈树从leaf开始向上搜索,leaf深度为0,依次往上加,每层代表不同方状态。比如上图0层我有9种可能的状态,对应于我不同的得分,我的目标就是MAX,即操作使得我能得分最大,而1层是对手可能的状态,他的目标是...
分类:
其他好文 时间:
2015-11-22 00:20:27
阅读次数:
612
一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的 应用(二叉排序树,判定树,博弈树,解答树等) 3,文件操作(从文本文件中读入数据并输出到文本文 件中) 4,图(基本概念,存储结构,图的运算) 数学知识 ...
分类:
其他好文 时间:
2015-09-21 11:48:45
阅读次数:
286
序:博弈是信息学和数学试题中常会出现的一种类型,算法灵活多变是其最大特点,而其中有一类试题更是完全无法用常见的博弈树来进行解答。寻找必败态即为针对此类试题给出一种解题思路。此类问题一般有如下特点:1、博弈模型为两人轮流决策的非合作博弈。即两人轮流进行决策,并且两人都使用最优策略来获取胜利。2、博弈是...
分类:
其他好文 时间:
2015-05-25 18:05:57
阅读次数:
101
对于一个或节点P(MAX),只有α剪枝.有子节点确定是α,另外的子节点的估值是β,如果α>=β,则可以α剪枝.对于一个与节点(MIN),只有β剪枝.有子节点确定是β,另外的子节点的估值是α,如果α>=β,则可以β剪枝.
分类:
其他好文 时间:
2015-04-23 13:03:20
阅读次数:
221
树形DP 这题在考场上直接写的TreeDP……当时也没想出一个像样的暴力来对拍……好像只能这么直接做了……? 都说是博弈树了,转移关系都给的这么直接了……也没啥难度了吧= =(怪不得大家都不愿意写题解) 我的思路是这样的: 如果黑方想赢,那么: 1.在一个决策方为黑方的节点,对于它来说,最...
分类:
其他好文 时间:
2015-04-22 20:17:30
阅读次数:
122