人机博弈之(四)------搜索技术

原创 2007年09月23日 15:44:00

诸如下棋、打牌、竞技、战争等一类竞争性智能活动称为博弈。博弈有很多种,我们讨论最简单的"二人零和、
全信息、非偶然"博弈,其特征如下:
  (1) 对垒的MAX、MIN双方轮流采取行动,博弈的结果只有三种情况:MAX方胜,MIN方败;MIN方胜,MAX方败;和局。
  (2) 在对垒过程中,任何一方都了解当前的格局及过去的历史。
  (3) 任何一方在采取行动前都要根据当前的实际情况,进行得失分析,选取对自已为最有利而对对方最为不利的对策
,不存在掷骰子之类的"碰运气"因素。即双方都是很理智地决定自己的行动。 在博弈过程中,任何一方都希望自己取得
胜利。因此,当某一方当前有多个行动方案可供选择时,他总是挑选对自己
最为有利而对对方最为不利的那个行动方案。此时,如果我们站在MAX方的立场上,则可供MAX方选择的若干行动方案之间
是"或"关系,因为主动权操在MAX方手里,他或者选择这个行动方案,或者选择另一个行动方案,完全由MAX方自已决定。
当MAX方选取任一方案走了一步后,MIN方也有若干个可供选择的行动方案,此时这些行动方案对MAX方来说它们之间则是
"与"关系,因为这时主动权操在MIN方手里,这些可供选择的行动方案中的任何一个都可能被MIN方选中,MAX方必须应付
每一种情况的发生。
  这样,如果站在某一方(如MAX方,即MAX要取胜),把上述博弈过程用图表示出来,则得到的是一棵"与或树"。
描述博弈过程的与或树称为博弈树,它有如下特点:
  (1) 博弈的初始格局是初始节点。
  (2) 在博弈树中,"或"节点和"与"节点是逐层交替出现的。自己一方扩展的节点之间是"或"关系,对方扩展的节点
之间是"与"关系。双方轮流地扩展节点。
  (3) 所有自己一方获胜的终局都是本原问题,相应的节点是可解节点;所有使对方获胜的终局都认为是不可解节点。
  我们假定MAX先走,处于奇数深度级的节点都对应下一步由MAX走,这些节点称为MAX节点,相应地偶数级为MIN节点。

 

人机博弈之(一)------博弈介绍

       爱好编程的大部分还是喜欢自己编写一个游戏,但较少是编写和电脑对战的游戏,因为里面毕竟涉及博弈,搜索等技术,我想来通编写一个人机博弈的中国象棋游戏,希望从中收获些东西。参考书是王小春编著的...
  • dremi
  • dremi
  • 2007年09月23日 15:36
  • 2835

中国象棋人机对弈搜索算法学习-极大极小值,负极大值,alpha-beta算法

先参考学习如下博文: http://blog.csdn.net/kingkong1024/article/details/7639401 http://hk.gamfe.com/news/2015...
  • qq_26437925
  • qq_26437925
  • 2016年04月07日 18:48
  • 2393

中国象棋的人机博弈程序

对此题目有兴趣的朋友们:    感谢你们抽出宝贵的时间来阅读这些浅显的文字。    很多人可能都知道chess的人机大战:     1996年,卡斯帕罗夫以4比2战胜“深蓝”(Deep Blue); ...
  • shaozz
  • shaozz
  • 2009年03月10日 09:53
  • 1122

五子棋人机对弈代码——之博弈树算法

#include #include #include #include /* Program of Game -- wuziqi Written by Zhang shuai, DEC.25t...
  • handsomesunshineboy
  • handsomesunshineboy
  • 2011年02月09日 07:03
  • 13199

java五子棋人机对战算法分析

五子棋人机对战采用的算法,目前大都是搜索树算法,用一棵树来表示棋局发展的 种种可能性,这种树叫做博弈树(对局树)。根节点表示对局的开始状态,每一种可 能的走法造成的结果作为其子节点,而对每一个这样的子...
  • zzzypp
  • zzzypp
  • 2015年01月13日 15:59
  • 3981

java 五子棋之人机对战思路详解

最近做了五子棋,记录下自己完成五子棋的人机对战的思路。     首先,思路是这样的:每当人手动下一颗棋子(黑子)的时候,应当遍历它周围棋子的情况,并赋予周围棋子一定的权值,当在机器要下棋子(白子)...
  • skl_TZ
  • skl_TZ
  • 2013年07月06日 21:24
  • 3836

【源码】斗地主人机对战程序算法2012完整版

点宽即时通讯(DOTWIDE)通讯员(陈飞飞),我尽情享受阳光的照射和海风的吹拂,我连忙按键盘,我最喜欢的就是小马车了,妈妈带我去乡下奶奶家,雨水在树叶上留下了亮晶晶的小水珠,可美了,原来是谭老师邀请...
  • i_like_cpp
  • i_like_cpp
  • 2012年12月13日 12:00
  • 2586

javascript人机博弈--黑白棋

最近,在研究计算机人工智能中人机博弈的一些算法,用javascript写了个人机对战的 黑白棋 游戏。 放上来大家帮忙测试一下,看看棋力强度怎么样,有没有bug,走昏招之类的。 这程序主要在研...
  • jslang
  • jslang
  • 2015年07月01日 17:48
  • 1870

博弈习题集之进阶

链接:http://bak2.vjudge.net/contest/137668#overview 水题和在上一个专题中做过的略过 NP状态:B 打表找规律:C.H. 阶梯博弈:I. ...
  • qq_30241305
  • qq_30241305
  • 2016年10月27日 18:54
  • 529

计算机博弈教程 连载【一. 计算机博弈简史】

第一章     计算机博弈简史 计算机博弈(Computer Game),在某些时候也成为机器博弈,在近年来受到了越来越大的关注。博弈(GamePlaying)是一种竞争,而竞争现象广泛存在与社会活动...
  • HeavyIndustry
  • HeavyIndustry
  • 2015年06月16日 03:08
  • 1646
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:人机博弈之(四)------搜索技术
举报原因:
原因补充:

(最多只允许输入30个字)