一个经典的跑位规划方法―FC Portugal的SBSP(Situation Based Strategic Positioning)
(s)情况下的选择什么样的a,由于系统实现的时候引入了噪音,因此环境不具有Markov性,也就是不可再现性,原则上说他就不具有使用强化学习的可能。当如果简化这些影响,也可以把这个过程看成马尔可夫过程,进而采用强化学习的方法。
强化学习的关键是Agent与环境的交互可以看成是一个马尔可夫模型,也就是说,环境应该具有再现性。
在Robocup中,我们考虑“战术”任务是这样一种情况:进攻一方在一活动范围内试图保持控球权,同时另一方试图夺回控球权。无论何时防守方获得控球权或球离开此区域,这个时间段就结束,球员便放置到另一个时间段(进攻方再次被给予控球权)。
区域设定为20M*20M的正方形,并总有3个进攻队员和2个防守队员。球员涉及的动作主要有:
GetOpen( ):跑位,跑到一个空旷的位置,在这个位置能得到传出的球。
ballbet贝博
所有防守方都采用固定的策略GOTOBALL( ),也就是说他们试图阻截球,拿到球后用HOLDBALL( )保持控球权。
在学习的时候,使用一个全能的教练Trainer(也是agent)在控制比赛,当防守队员在设定时间里获得控球权或球离开区域时Trainer就结束此时间段,就完成了一次对抗。在每个时间段开始,他在区域内随机的置球和球员的位置,两个防守方队员从区域的一个角落开始,而每个进攻球员随机放在其他三个角落,每个角落一个球员。
Minimum(ang(F2,F1,D1),ang(F2,F1,D2))
Minimum(ang(F3,F1,D1),ang(F3,F1,D2))
采用Tile coding方法来进行,状态用一个13维的空间来表示,用网格表示每个具体状态,在分析的时候,每个格对应一个二进制状态,或是1(当状态在这个格内)或是0(状态不在这个格内)。
这里γ是学习率,一个固定的参数,T是从s开始的时间段内经过了T个时间步。规定,进攻队员能确切控球的状态有最高值0;所有其他状态是负值,立即失球的状态值接近-1。
使用Q-learning,即每个进攻队员独立学习。这样,所有的进攻队员都能学会相似的策略或不同的策略。每个进攻队员有三个动作选择,对应于控球时的每个可能动作(GetOpen( ),GotoBall( ),{HoldBall(),PassBall(f)})这是我们的策略评价试验中最有效的情况。
给出一个被用于每个进攻队员的学习算法。函数UpdateRL(r)在后面定义。
If (counter 0) UpdateRL(-1)
LastAction=Max(ActionValue(a,current state variables));