Presentation is loading. Please wait.

Presentation is loading. Please wait.

电脑棋手的思维 王金一.

Similar presentations


Presentation on theme: "电脑棋手的思维 王金一."— Presentation transcript:

1 电脑棋手的思维 王金一

2 你可曾听说过“深蓝”? 1997年5月11日,IBM开发的“深蓝”击败了国际象棋冠军卡斯帕罗夫。 卡氏何许人也?
1980年他获得世界少年组冠军 1982年他并列夺得苏联冠军 1985年22岁的卡斯帕罗夫成为历史上最年轻的国 际象棋冠军 现在的积分是2849,这一分数是有史以来最高分。 远远领先于第二位的克拉姆尼克的2770

3

4 电脑棋手:永不停歇的挑战! 1988年“深思”击败了丹麦特级大师拉森。 1993年“深思”第二代击败了丹麦世界优秀女棋手小波尔加。

5 电脑棋手:永不停歇的挑战! 2001年“更弗里茨” 击败了除了克拉姆尼克之外的所有排名世界前十位的棋手。
2002年10月“更弗里茨”与世界棋王克拉姆尼克在巴林交手,双方以4比4战平。 2003年1至2月“更年少者”与卡斯帕罗夫在纽约较量,3比3战平。

6 领域在延伸 Checkers Sokoban Chinese chess Go Poker Othello
Lines of action Hex Awari Amatons Shogi Rosambo Domineering …… ……

7 许多人在努力                   

8 他们来自于何方? Canada、America、England、China、Japan、Holland、Mexico……
University of Alberta、University of Wisconsin、University of Maryland、 MIT、University of Tokyo、University of Albama、University of California、 Erasmus University、Cambrige University……

9 解谜:电脑是怎样下棋的 ——人机博弈程序的一般设计方法
解谜:电脑是怎样下棋的 ——人机博弈程序的一般设计方法 以中国 棋为例

10 (1)第一步该做什么? 数据结构的选取 ——棋盘表示 在机器中表示棋局,让程序知道 博弈状态。 占用空间-〉少 操作速度-〉快
是否方便-〉方便

11 九列十行 十四种不同的棋子 三十二个棋子

12 几种棋盘表示的方式 二维数组——直观 紧凑的数据结构——省空间,不直 观,速度? 比特棋盘——用于8*8棋盘(国际象 棋),64位主机

13 (2)接下来怎么办? 产生合法走步的规则,使博弈能公正的进行,并且能够判断对手是否乱走。依赖于具体棋类特征。
是一段将局面所有可能的正确走法罗列出来的程序。称之为走法产生。

14 几种走法产生的实现方式 一般做法 建立小型数据库 位运算

15 位运算走法产生之例 寻找象的可走步

16 位运算走法产生之要求 一个基于比特棋盘的完善的数据库 该数据库应位于内存中

17 (3)终于到核心了 从所有的走法中找出最佳的走法, 也就是—— 搜索

18 搜索的基本方法 极大极小值 负极大值 Alpha-Beta搜索

19 极大极小值搜索 对抗性搜索 静态估值 有限深度 深度优先

20 负极大值算法 重点在于:父节点的值是各子节点的值的负数的极大值。 红走 黑走

21 Alpha-Beta剪枝

22 在奇数层进行Alpha剪枝,偶数层Beta剪枝。
和极大极小搜索结合 在奇数层进行Alpha剪枝,偶数层Beta剪枝。 和负极大值搜索结合 在每一层都进行Beta剪枝。

23 优化的搜索算法 渴望搜索 极小窗口搜索 置换表 哈希表 Zobrist哈希技术

24 优化的搜索算法 迭代深化 历史启发 杀手启发 SSS*/DUAL*算法 MTD(f)算法

25 (4)最后 评估局面优劣,配合搜索技术做出智能的选择——估值技术
棋子价值评估 SideValue=Sum(piecenumber*piecevalue) 棋子灵活性 Mobility=Sum(movenumber*movevalue) 棋盘控制 棋子关系的评估(威胁、保护、形、定势。并且要考虑到谁走棋)

26 估值的几种形式 终点估值 思路清晰,容易设计,模块独立性高, 同搜索算法耦合程度低 速度慢 棋子价值表
T[pieceType][boardWidth][boardHeight] 二者结合 动态棋子价值表

27 估值函数的内容及其调试 Score=aX+bY+cZ+dK+…… X=车+马+炮+……

28 参数确定的方法 手工调整 爬山法 蒙特卡罗 模拟退火 遗传算法

29 爬山法的缺陷——初值依赖

30 蒙特卡罗 使用多种初始参数,从不同的地方开始多次爬山 有足够多次的爬山,出现频率最高的结果是最优解的概率就会足够大
不同初值的大量采样,使运算效率低

31 模拟退火 MetroPolis重要性采样的基本思想:在寻优的开始使用较高的概率进行随机突跳,随着寻优过程的深入逐步降低这一接受不佳参数概率。并且随着搜索的深入,可接受的参数的不佳程度也越来越小。

32 模拟退火 一次对参数改变一点,测试。 提高,保留 不提高,在一定概率上继续 由粗到细,逼近最优参数

33 遗传算法 随机产生一组初始个体构成初始种群,并评价每一个体的适配值。 判断算法收敛准则是否满足,若满足则输出搜索结果,否则执行以下步骤。
根据适配值大小以一定方式执行复制操作。 按交叉概率pc之行交叉操作。 按变异概率pm执行变异操作。 返回上面第二步骤。

34 遗传算法 适配值:对个体进行评价的指标,算法优化的主要信息,与个体的目标值对应 复制:复制概率正比于适配值
交叉:交换父代个体中的部分信息产生后代,继承 变异:随机改变个体中的某些信息产生新个体,增加种群多样性

35 标准遗传算法优化框图

36 使用遗传算法优化参数估值的过程

37 Genetic Algorithms 优越性
全空间并行搜索,重点集中在高性能部分,防止陷入局部最优

38 孰优孰劣? 名局测试 和其他博弈程序对弈 选不同的参数,自相对弈 同向下几层的搜索结果比较

39 OK啦!


Download ppt "电脑棋手的思维 王金一."

Similar presentations


Ads by Google