Chess
萧乡月夜
这个作者很懒,什么都没留下…
展开
-
最小-最大搜索
最小-最大搜索 Bruce Moreland / 文 从浅显的地方开始 在国际象棋里,双方棋手都知道每个棋子在哪里,他们轮流走并且可以走任何合理的着法。下棋的目的就是将死对方,或者避免被将死,或者有时争取和棋是最好的选择。 国际象棋程序通过使用“搜索”函数来寻找着法。搜索函数获得棋局信息,然后寻找对于程序一方来说最好的着法。 一个浅显的搜索函数用“树状搜索”转载 2016-10-18 17:23:39 · 372 阅读 · 0 评论 -
国际象棋程序设计(六):局面评估函数
国际象棋程序设计(六):局面评估函数 François Dominic Laramée/文 已经六个月了,我知道你们有人觉得我不会闭嘴,但是你们错了,这是我的国际象棋程序设计连载的最后一篇。还有,我的Java象棋程序(看上去很烂)已经做好了,和这篇文章一起上传给了GameDev网站,这个程序还是可以验证这些连载内容的。 这个月的话题——局面评估函数——确实很特转载 2016-10-18 17:29:22 · 3904 阅读 · 0 评论 -
国际象棋程序设计(五):高级搜索方法
国际象棋程序设计(五):高级搜索方法 François Dominic Laramée/文 哇,看上去好像有很多人在看我的连载,我的脸都红了! 这是倒数第二篇文章,我们会介绍和搜索有关的高级技术,他们既能提高速度,又能增强棋力(或者只有一个作用)。他们中有很多,概念上(程序代码可能不行)可以运用到任何2人游戏中,然而让它们用到一些具体问题上,对很多转载 2016-10-18 17:28:51 · 1357 阅读 · 0 评论 -
国际象棋程序设计(四):基本搜索方法
国际象棋程序设计(四):基本搜索方法 François Dominic Laramée/文 这个烦琐、没有代码、像胶水一样的连载,已经进入第四部分了,你们还在看下去吗?如果是的,就写eMail给我,我就可以找到写这些东西的理由了。 无论如何,这个月的主题是策略类游戏的敌对搜索(Two-Agent Search)【译注:意思是站在两个立场上的搜索,我转载 2016-10-18 17:28:20 · 1256 阅读 · 0 评论 -
胜利局面中的强制过程
胜利局面中的强制过程 David Eppstein */文* 加州爱尔文大学(UC Irvine)信息与计算机科学系 如果棋局到达一个能用强制着法获胜的局面,那么Alpha-Beta搜索会找到它。但是奇怪的是,每次都走一步能赢棋,不是总能赢下来的。这个问题出现在西洋棋或国际象棋中,可以走一步棋到达强制获胜的局面,但是无法使胜利更近一步。 例转载 2016-10-18 17:27:28 · 411 阅读 · 0 评论 -
调整评价函数
调整评价函数 David Eppstein */文* 加州爱尔文大学(UC Irvine)信息与计算机科学系 上次我谈到了局面评价中的很多函数,把这些函数加起来就可以组合成评价函数。但是数值从哪里来? 例如在黑白棋中,你可以说出四种函数: (1) f(局面) = 子力(我的子数 - 对手的子数); (2) g(局面) = 角(我控制的 - 对手转载 2016-10-18 17:26:54 · 790 阅读 · 0 评论 -
评价函数
评价函数 David Eppstein */文* 加州爱尔文大学(UC Irvine)信息与计算机科学系 整体考虑 在你的程序中,评价函数综合了大量跟具体棋类有关的知识。我们从以下两个基本假设开始: (1) 我们能把局面的性质量化成一个数字。例如,这个数字可以是对取胜的概率作出的估计;但是大多数程序不给这个数字以如此确定的含义,因此这仅转载 2016-10-18 17:26:21 · 4506 阅读 · 0 评论 -
Zobrist键值
Zobrist键值 Bruce Moreland / 文 比较局面的方法 国际象棋局面包含了棋盘上的棋子、哪一方走棋、是否能易位、是否能吃过路兵等信息。 在写国际象棋的程序时,需要比较两个局面看它们是否相同。如果你比较每个棋子的位置,或许不需要花很多时间,但是实战中你每秒种需要做成千上万次比较,因此这样会使比较操作变成瓶颈的。另外,需要比较的局面数量多得惊人,转载 2016-10-18 17:25:20 · 1536 阅读 · 0 评论 -
置换表
置换表 Bruce Moreland / 文 一个多功能的数据结构 国际象棋的搜索树可以用图来表示,而置换结点可以引向以前搜索过的子树上。置换表可以用来检测这种情况,从而避免重复劳动。如果“1. e4 d6 2. d4”以后的局面已经搜索过了,那就没有必要再搜索“1. d4 d6 2. e4”以后的局面了。 这个原因可能鼓舞着早期的电脑国际象棋程序的设计师转载 2016-10-18 17:24:54 · 684 阅读 · 0 评论 -
Alpha-Beta搜索
Alpha-Beta搜索 Bruce Moreland / 文 最小-最大的问题 Alpha-Beta 同“最小-最大”非常相似,事实上只多了一条额外的语句。最小最大运行时要检查整个博弈树,然后尽可能选择最好的线路。这是非常好理解的,但效率非常低。每次搜索更深一层时,树的大小就呈指数式增长。 通常一个国际象棋局面都有35个左右的合理着法,所以用最小-最大搜索来搜索转载 2016-10-18 17:24:16 · 387 阅读 · 0 评论 -
MVV-LVA
MVV-LVA Edit 0 26…Home * Search * Move Ordering * MVV-LVAMVV-LVA (Most Valuable Victim - Least Valuable Aggressor),is a simple heuristic to generate or sort capture moves in转载 2016-10-18 17:30:57 · 646 阅读 · 0 评论