robocup机器人足球仿真6章.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
robocup机器人足球仿真6章

传球决策树的生成: 作业(*): 属性值:10个队友的距离及角度,11个对手的距离及角度,一共44个属性,大家训练出一个传球决策树来。 特点:44个属性值是连续值。 方法:C4.5! 方法2-BP神经网络方法 BP神经网络也可以进行传球动作的学习。 确定BP的输入 确定BP的输出 训练样本 [注]:直接使用神经网络效果可能不是很好。 方法3:基于神经网络(BP)的计算学习 计算学习一直是机器学习的重要研究内容,它主要是通过计算的方法将那些错的很离谱的假设排除出去,通过计算机的快速计算能力得出最有可能的假设并把该假设认为是可能近似正确(probably approximately correct,PAC)。 基于神经网络集成的计算学习算法。以神经网络集成作为计算学习的前端,首先利用其产生计算学习所用的数据集,在产生数据集时,采用能够较好地反映神经网络集成性能的数据生成方式,使得用于计算学习的示例能够受益于神经网络集成的强泛化能力,以最终获得较高的预测精度。 基于神经网络(BP)的计算学习 如图,假设白圆圈表示的1号队员要把球传给用黑圆圈表示的2号队员,X表示对手。线L为对手和截球队员的垂直平分线。 对于垂直平分线与球轨迹的交点p以内的点,对方队员能比我方队员能先跑到;反之,交点以外的点,我方队员先跑到。 如果传球队员踢出速度大小合适的球,使得对手在交点以内都无法截到球,那么我方队员就必然可以比对方先截到球。如果以此速度踢出球,此队员不能在该点以前截到球,而且以小于此速度的任何速度踢出球,对手都可能在该点以内截到球,那么这个速度称为对于某个队员穿越在球运动轨迹上的某一点的穿越速度。 穿越速度 注意到这个分析基于上图队友在对手后面的情况。如果反过来,队友在对手前,则传球者应该以小于队友的穿越速度的速度传球,以保证队友在交点以前截到球。对上图的情景,我们把p点以前的区域称为对手的接球区域,p点以后的称为队友的接球区域。对于队友,穿越对手的穿越速度为传球给他的速度的下限。如果考虑队友后面可能有一个对手,则给他一个传球速度上限的限制。 上图考虑了一个队友和一个对手的简单传球场景,多个对手和队友的场景也有类似的分析。在一条传球线路上,每个队员(包括对手和队友)或者没有接球区域,或者有一个接球的区域和一个传球速度的上、下限。 学习算法 首先,我们利用人工神经网络中的BP网络,训练得到在特定传球路线上面传给每个球员的穿越速度。 第一步,采集样本。确定传球队员的位置和随机置接球队员的初始位置。在训练中传球者从一个较小的速度开始,沿传球线路传球,接球者利用训练好的截球技能进行截球,如果截球点在上图的p点以前,则传球者提高速度,继续尝试;否则,穿越速度为该次训练的传球速度。如此这样收集传球队员和接球之间不同的距离和角度情况下的穿越速度。 第二步,用人工神经网络中的BP网络拟合得到传给每个球员的穿越速度。其中输入是传球队员和接球队员的距离和传球路线的方向和传接球队员之间连线的夹角,输出是穿越速度。 学习算法 利用BP得出每个球员在本方传球时自己能够接球的穿越速度作为我们计算学习的基础。如果传球到一点上面,那传球路线就确定了,我们只要计算用什么样的穿越速度就可以了。如果是传给特定的球员,可以根据穿越速度淘汰掉那些接球队员没有接球区域的传球路线,选择接球队员的穿越速度区间最大的那条传球路线(主要是增强系统的抗噪音性)作为我们的目标传球路线。计算学习要学习的就是在给定了场景(主要记录的是传球队员和场上所友队员的相对位置和角度)的情况下得出最佳的传球路线。 强化学习 强化学习的基本思想见截球 传球时强化学习主要是解决状态空间庞大的问题。 其它方面的实现都比较简单。 6.3.3 FastKick 1.问题描述 在Soccer Server中,队员的身体和球都使用一个圆来表示,前相互之间的位置不允许有相互重叠的部分。当球离队员的距离小于某个值时,这时队员就可以向Server法一个包括角度和力量两个参数的kick命令,对球施加一个矢量加速度。由于球的加速度有上下,且球有初始速度,因此常常无法通过一个kick命令才能实现把球加速到所希望的速度上面去,也就是一个踢球动作需要一系列周期的kick命令才能实现,这就需要Fastkick。 6.2.3 FastKick 2.解决方法 1)直接经验式代码:将设计者的经验直接写成代码进行踢球决策。 2)Case-base Learning:在这种方法中,控球范围被离散成为一些点的集合,每周期的状态用4个参数来描述(球员的速度、球的相对位置、期望的出球速度、可以到达的点的集合)。然后构造了若干个Case Bases,每个Case Bases都能根据输入状态来返回一个PDL,这个PDL描述了每个科到达的点作为中间点的好坏。

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档