新加速模型下守门员扑球决策分析之二
考虑了随机误差影响的分析并没有完成,这里仅记录已经得出的结论和思路。
物理模型和参数
有关的模型:USTC_Tutorial第52页,object.cpp第508行;随机数生成器在random.h第111行。
守门员有关的参数有:player_rand=0.1。
思路
给定
、
,设不考虑随机影响时用g个周期可以跑进目标圆内,用蒙特卡洛方法得出第g-1个周期跑进目标圆和第g个周期跑进目标圆的概率,目前没有发现在g±2个周期时跑进的情况。每次生成一组随机数,作为每个周期的随机因子,搜索策略不考虑随机影响,因为正常的agent在决策时是不考虑随机影响的。
将
、
离散化后算出大量数据,训练一个神经网络以应对所有情况。
改进
随机误差包括两种——转身引起的误差和速度引起的误差。在加入速度引起的误差之前,可以得到一个只加入了转身引起的误差的位置,称为“半理想位置”。实际位置应该是以半理想位置为圆心的概率分布。
搜索到当概率圆与目标圆有相交部分时,说明此时实际位置已有可能在目标圆内,这时不再加入随机影响,而是得出半理想位置。设这个概率圆的圆心为O,半径为ρ,目标圆圆心为T,半径为R。以O为原点,
方向为极轴建立极坐标系,|d|<ρ时,如下图所示。

其中d=|OT|-R,有d>0和d<0两种情况。又因为R>>ρ,实际情形类似下图,为简化计算,将⊙T视为直线。


概率密度函数为
。设p表示实际位置在⊙T内的概率。(以下感谢王静静的辛勤劳动)
d>0时,
;
d=0时,p(0)=0.5;
d<0时,p(d)=1-p(-d)。
改进之二
由少量数据例子猜出当上述猜测是用很久之前的数据得出的,《新加速模型下守门员扑球决策分析》做了修改之后得出的数据不满足上面的猜测。
、
一定时,第g个周期跑进圆的概率是一个关于
的8次多项式,故生成数据时,这一维应该仅需8个点即可。类似的猜测还有,当
、
一定时,第g个周期跑进圆的概率是一个关于
的5次多项式。
设第g个周期跑进圆的概率是
,猜测
连续(或者可以近似看作连续),则
可以看作一张“光滑”的超曲面。用
(这是一个三维空间)截这张超曲面,可得一条关于
的曲线,类似也可得关于
、
或
的曲线。若这些曲线都比较简单,即能被低次多项式或者是其它系数较少的函数形式拟合,那么就可以用少量数据经由多次插值得到
在任意点的值。
存在问题
关于
的曲线未找到合适的拟合函数,用ZunZun.com 2D Function Finder找到的最佳拟合为
,对
(
均是用极坐标表示)的拟合结果如下图所示:

关于
的曲线未找到合适的拟合函数,用ZunZun.com 2D Function Finder找到的最佳拟合为
,对
(
均是用极坐标表示)的拟合结果如下图所示(图中x轴单位为角度):


One Response
Try a spline fit instead of using the Function finders. I would expect better results on these data sets.
James Phillips
zunzun@zunzun.com
http://zunzun.com
Reply