- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五章节 博弈与搜索
;5.1 博弈与对策;5.1 博弈与对策;非零和对策的例子有:囚犯难题(The prisoner dilemma)。该问题是有两个嫌疑犯A和B,暂时还没有获得他们犯罪的确定的证据。现对他们判刑的规则是:;博弈虽然自古就是人与人的对弈,但自从有了计算机以后,人们开始就有用计算机下棋的想法,早在60年代就已经出现若干博弈程序,并达到较高的水平,现已出现计算机博弈程序能够与人类博弈大师抗衡的局面。
举世瞻目的人机对弈是1997年IBM公司编制的深蓝(deep blue)计算机与国际象棋大师卡斯帕罗夫对弈,取得了三胜二和一负的好成绩。博弈的研究不断为人工智能提出新的课题,可以说博弈是人工智能研究的起源和动力之一。;博弈问题对人的深层次的知识研究提出了严峻的挑战。如何表示博弈问题的状态,博弈过程和博弈取胜的知识,这是目前人类仍在探讨之中的问题。要提高博弈问题求解程序的??率,应作到如下两点:
改进生成过程,使之只生成好的走步,如按棋谱的方法生成下一步;
改进测试过程,使最好的步骤能够及时被确认。 ;要达到上述目的有效途径是使用启发式方法引导搜索过程,使其只生成可能赢的走步。而这样的博弈程序应具备:
一个好的(即只产生可能赢棋步骤的)生成过程。
一个好的静态估计函数。
下面介绍博弈中两种最基本的搜索方法。;5.2 极小极大搜索过程 ;这里规定:
MAX代表程序方
MIN代表对手方
P 代表一个棋局(即一个状态)
f(P)的大小由棋局势态的优劣来决定:
有利于MAX的势态,f(P)取正值
有利于MIN的势态,f(P)取负值
势态均衡,f(P)取零;使用静态函数进行估计必须以下述两个条件为前提:
(1)双方都知道各自走到什么程度、下一步可能做什么。
(2)不考虑偶然因数影响。
在这个前提下,博弈双方必须考虑:
(1)如何产生一个最好的走步。
(2)如何改进测试方法,能尽快搜索到最好的走步。;MINMAX的基本思想是:
(1)当轮到MIN走步的结点时,MAX应考虑最坏的情况(因此,f(p)取极小值)。
(2)当轮到MAX走步的结点时,MAX应考虑最好的情况(因此,f(p)取极大值)。
(3)当评价往回倒推时,相应于两位棋手的对抗策略,不同层上交替的使用(1)、(2)两种方法向上传递倒推值。;5.2.2 极小极大搜索算法;4. IF n可直接判定为赢、输或平局
THEN f(n):= ∞∨-∞∨0, GO LOOP1
ELSE EXPAND( n )→ni , ADD ({ ni }, T )
IF d({ ni }) k THEN ADD_TO_LAST ({ni}, OPEN ), GO LOOP1
ELSE 计算f(ni), GO LOOP1;
{ n达到深度k,计算各端结点f值}
5. LOOP2: IF CLOSED=NIL THEN GO LOOP3
ELSE np:= LAST(CLOSED);;6. IF (np∈MAX)∧(f(nc ∈ iMIN)有值)
(其中nci为np的下一层节点)
THEN f( np):=MAX{ f(nci)}, REMOVE(np,CLOSED);
{若MAX所有子节点均有值,则该MAX取其极大值。}
IF (np ∈ MIN)∧(f(nci ∈ MAX)有值)
THEN f( np):=MIN{ f(nci)}, REMOVE(np,CLOSED);
{若MIN所有子节点均有值,则该MIN取其极小值。};7. GO LOOP2;
8. LOOP3: IF f(s)=NIL
THEN EXIT(END∨Mark (Move, T ));
{s有值,或结束或标记走步}
其中ADD_TO_LAST约定加入节点到表的尾部,END表示失败或成功或平局退出,MARK标记一个走步。;5.2.3 算法分析与举例 ;例5.1 在九宫格棋盘上两位选手轮流在棋盘上摆各自的棋子,每次一枚,谁先取得三子一线的结果就取胜。
设程序方MAX的棋子用X表示
对手方MIN的棋子用O表示. ;;; 作者 朱福喜 朱三元; 作者 朱福喜 朱三元; 作者 朱福喜 朱三元;5.3 α-β剪枝算法;
您可能关注的文档
最近下载
- 五年级语文作文《“漫画”老师》写作指导.pptx VIP
- 手持式电动工具安全培训.pptx VIP
- 架空输电线路无跨越架不停电跨越架线施工工艺.docx VIP
- 2025年统编版(2024)小学道德与法治二年级上册(全册)教学设计(附目录P84).docx
- 学习科学家精神袁隆平先进事迹心得体会(10篇).docx VIP
- 3500词(带音标)——完整打印版 .pdf VIP
- 3hac18153 3 reve应用手册机器人控制器robotware5.pdf VIP
- 环境影响评估投标方案(技术标).pdf
- 416例晚期妊娠合并贫血治疗分析.doc VIP
- 生物医学传感纳米生物传感器.ppt VIP
文档评论(0)