《人工智能导论-第二章对抗搜索.ppt》由会员分享,可在线阅读,更多相关《人工智能导论-第二章对抗搜索.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章 对抗搜索l对抗搜索:博弈l博弈问题l极小极大方法l-剪枝l蒙特卡洛博弈方法122.1 博弈问题l博弈问题双人一人一步双方信息完备零和3分钱币问题(7)(6,1)(5,2)(4,3)(5,1,1)(4,2,1)(3,2,2)(3,3,1)(4,1,1,1)(3,2,1,1)(2,2,2,1)(3,1,1,1,1)(2,2,1,1,1)(2,1,1,1,1,1)对方先走我方必胜4中国象棋l一盘棋平均走50步,总状态数约为10的161次方。l假设1毫微秒走一步,约需10的145次方年。l结论:不可能穷举。502.2 极小极大过程5-333-3022-30-23541-30689-30-33-
2、3-3-21-36-30316011极大极小ab0262.3-剪枝l极大节点的下界为。l极小节点的上界为。l剪枝的条件:后辈节点的值祖先节点的值时,剪枝后辈节点的 值祖先节点的值时,剪枝l简记为:极小极大,剪枝极大极小,剪枝7486-315035-剪枝(续)-33-3022-30-2309-300-303305411-31661abcdefghijkmn2.4 蒙特卡洛博弈方法l为什么-剪枝方法在围棋上失效?-剪枝方法存在的问题l依赖于局面评估的准确性局面评估问题l大量专家知识l知识的统一性问题l人工整理8围棋落子模型l围棋对弈过程可以看做一个马尔科夫过程:l五元组:T,S,A(i),P(|i
3、,a),r(i,a)T:决策时刻S:状态空间,S=iA(i):可行动集合(可落子点)P(|i,a):状态i下选择行动a的概率r(i,a):状态i下选择行动a后课获得的收益9蒙特卡洛方法l二十世纪40年代中期S.M.乌拉姆和J.冯诺伊曼提出的一种随机模拟方法多重积分矩阵求逆线性方程组求解积分方程求解偏微分方程求解随机性问题模拟10蒲丰投针问题l1777年法国科学家蒲丰提出一种计算的方法:l取一张白纸,在上面画上许多条间距为d的等距平行线,另取一根长度为l(ld)的针,随机地向该纸上投掷针,并记录投掷次数n以及针与直线相交的次数m,据此计算值。1112dlxl(x,)决定了针的位置l针与直线的相交
4、条件:x (l/2)sinl其中:x0,d/2,0,l黄颜色部分与长方形面积之比即为针与直线相交的概率13d/2014蒙特卡洛评估l从当前局面的所有可落子点中随机选择一个点落子l重复以上过程l直到胜负可判断为止l经多次模拟后,选择胜率最大的点落子15蒙特卡洛规划l解决马尔科夫决策问题的有效方法之一l基本思想与特点:将可能出现的状态转移过程用状态树表示从初始状态开始重复抽样,逐步扩展树中的节点某个状态再次被访问时,可以利用已有的结果,提高了效率在抽样过程中可以随时得到行为的评价16蒙特卡洛规划的步骤l选择从根节点出发自上而下地选择一个落子点l扩展向选定的点添加一个或多个子节点l模拟对扩展出的节点
5、用蒙特卡洛方法进行模拟l回溯根据模拟结果依次向上更新祖先节点估计值17更新过程l设ni为当前要模拟的节点,为模拟获得的收益l对ni及其祖先的模拟次数加1lni的收益加l更新ni的祖先的收益,同类节点加,非同类节点减(这里节点的类型按照极大极小节点划分)18蒙特卡洛规划算法流程19选择落子点的策略l两方面的因素:对尚未充分了解的节点的探索对当前具有较大希望节点的利用20多臂老虎机模型21多臂老虎机模型l1952年Robbins提出的一个统计决策模型l多臂老虎机多臂老虎机拥有k个手臂,拉动每个手臂所获得的收益遵循一定的概率且互不相关,如何找到一个策略,使得拉动手臂获得的收益最大化l用于解决蒙特卡洛
6、规划中选择落子点的问题22信心上限算法UCB1lfunction UCB1l for each 手臂j:l 访问该手臂并记录收益l end forl while 尚未达到访问次数限制 do:l 计算每个手臂的UCB1信心上界Ijl 访问信心上界最大的手臂l end while23l其中:l 是手臂j所获得回报的均值ln是到当前这一时刻为止所访问的总次数l 是手臂j到目前为止所访问的次数l上式考虑了“利用”和“探索”间的平衡24信心上限树算法UCTl将UCB1算法应用于蒙特卡洛规划算法中,用于选择可落子点可落子点不是随机选择,而是根据UCB1选择信心上限值最大的节点实际计算UCB1时,加一个参数
7、c进行调节:25l引入符号:lv:节点,包含以下信息:s(v):v对应的状态a(v):来自父节点的行为Q(v):随机模拟获得的收益N(v):v的总访问次数26l信心上限树算法(UCT)l function UCTSEARCH(S0)l 以状态S0创建根节点v0;l while 尚未用完计算时长 do:l vl=TREEPOLICY(v0);l =DEFAULTPOLICY(s(vl);l BACKUP(vl,);l end whilel return a(BESTCHILD(v0,0);27l全部算法的伪代码,请见课程资料2829模拟 胜(1,1)(1,-1)模拟 负(1,-1)(2,0)模拟 负(1,-1)(2,2)(3,-1)模拟 负(1,-1)(3,3)(4,-2)到时!UCT算法示例