五章节 博弈与搜索.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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 α-β剪枝算法;

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档