- 1、本文档共105页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 搜索技术 第三节 博弈树搜索 四、带剪枝的博弈树搜索算法 使用静态估值函数以及?-剪枝和?-剪枝,形成带剪枝的博弈树搜索算法 1、建立一个空的棋局栈PS[i,j], 其中,对每个i: PS[i,1]是棋局内容,PS[i,2]是“与”或“或” PS[i,3]是搜索深度,PS[i,4]是估计值 PS[i,5]是生成子节点数 2、确定正整数depth为最大推理深度 第三章 搜索技术 第三节 博弈树搜索 四、带剪枝的博弈树搜索算法 3、建立已知结果的棋局库PB,PB的元素与PS的元素形式相同,并且每个元素的第一、第二和第四分量都已有确定的值; 4、建立根节点: PS[1,1]=初始棋局 PS[1,2]=“或” PS[1,3]=0 PS[1,4]=-? PS[1,5]=0 5、t=1 第三章 搜索技术 第三节 博弈树搜索 四、带剪枝的博弈树搜索算法 6、若PS[t,1]=X[1],PS[t,2]=X[2],且X?PB,则 (1)PS[t,4]=X[4] (2)转10 7、若PS[t,3]=depth,则 (1)PS[t,4]=f(PS[t,1]) (f是估值函数) (2)转10 8、若PS[t,1]不能生成新的后代,则 (1)若PS[t,5]=0,则PS[t,4]=f(PS[t,1]) (2)转10 第三章 搜索技术 第三节 博弈树搜索 四、带剪枝的博弈树搜索算法 9、生成PS[t,1]的一个新后代: (1)PS[t,5]=PS[t,5]+1 (后代计数) (2)t=t+1 (3)PS[t,1]=新棋局 (4)PS[t,2]=if PS[t-1,2]=“或” then “与” else “或” (5)PS[t,3]=PS[t-1,3]+1 (6)PS[t,4]=if PS[t,2]=“或” then -? else +? (7)PS[t,5]=0 (8)转6 10、若t=1则算法运行结束,最后的估计值已算出 第三章 搜索技术 第三节 博弈树搜索 四、带剪枝的博弈树搜索算法 11、t=t-1 12、若PS[t,2]=“或”,则 (1)若PS[t+1,4]PS[t,4],则PS[t,4]=PS[t+1,4] (取极大值),否则转8 (2)若t=1,则转8 (3)若PS[t,4]PS[t-1,4],则t=t-1 (?剪枝) (4)转8 第三章 搜索技术 第三节 博弈树搜索 四、带剪枝的博弈树搜索算法 13、若PS[t,2]=“与”,则 (1)若PS[t+1,4]PS[t,4],则PS[t,4]=PS[t+1,4] (取极小值),否则转8 (2)若t=1,则转8 (3)若PS[t,4]PS[t-1,4],则t=t-1 (?剪枝) (4)转8 #算法完 第三章 搜索技术 第三节 博弈树搜索 四、带剪枝的博弈树搜索算法 注:1)该算法是从开局先行者的立场出发的,计算所得根节点的值是对先行者前途的预测 2)该算法只给出对先行者前途的估计值,以及第一步应该怎么走,而没有给出全局棋每一步的走法 3)该算法的缺陷就是需说明是从某人的立场出发,若换一个立场,则要做一个对称的改变 第三章 搜索技术 第三节 博弈树搜索 五、带剪枝的博弈树搜索算法的改进 1、采用负极大值原理 兼顾双方立场,消除与或节点差别,以统一方式处理,形式上只取极大值。若一节点的估计值代表一方的前途预测,则其负值代表另一方的前途预测。 对无后代的节点和搜索层次达到极限的节点,仍用静态估计函数来计算它们的估计值,对于其它节点,均令父结点的估计值为各子节点的估计值的负数的极大值,即 PS[i,4]=max(-PS[i+1,4]) (i+1遍及i的所有子节点) 第三章 搜索技术 第三节 博弈树搜索 五、带剪枝的博弈树搜索算法的改进 2、B*算法 (1)尽早查出不合用的坏分枝,并把它剪掉(改进?-?剪枝) (2)合理地确定搜索的深度限制 (3)每个节点设立两个估计值:乐观估计和悲观估计,且两个估计值可动态可变
文档评论(0)