APP下载

一种改进遗传算法在标枪飞行预测中的应用

2020-06-19周洋

软件导刊 2020年4期
关键词:平抛运动标枪熵权法

摘要:主要以2019年五一数学建模竞赛A题为背景,目的是研究运动员出手时的状态以及风向风速对标枪飞行轨迹的影响。通过分析理想状态下的平抛运动构建实际标枪飞行模型,运用改进后的神经网络遗传算法找到能够使标枪飞行更远的条件。该方法有效增强了模型的传递性和适应性,并在此基础上使用熵权法分析影响因素的相对重要性。实验结果表明,改进后的模型能够很好地模拟真实条件下的标枪飞行状态,且预测值符合实际要求。

关键词:标枪;遗传算法;神经网络;平抛运动;熵权法

DOI: 10. 11907/rjdk. 191725

开放科学(资源服务)标识码(OSID):

中图分类号:TP312

文献标识码:A

文章编号:1672-7800(2020)004-0055-06

Research on an Improved Genetic Algorithm in Javelin Flight

ZHOU Yang"1.ngineering , Hubei University ;

2. Chucai Honors College, Hubei Univer.sity. Wuhan 430062 . China )Abstract: This paper mainly studies the state of' athletes' shots and the influence of wind direction on the state of' the javelin flight tra-jectory based on the question A of the mathematical modeling competition in 2019. The flight model of the actual javelin is constructedby analyzing the flat throw motion in the ideal state. By using the improved neural network genetic algorithm to find the conditions thatthe javelin can fly f'urther. this method effectively enhances the transferability and adaptability of' the model. On the basis of this. theentropy weight method is used to analyze the relative importance of the influencing f'actors. The experimental results show that the im-proved model can simulate the state of the javelin flight under real conditions . and the predicted value meets the actual requirements.Key Words : javelin ; genetic algorithm; neural network ; flat throw motion; entropy weight method

O 引言

标枪运动始于远古时期的狩猎捕食和战争活动,如今已成为一项奥林匹克赛事。在田径运动项目中,标枪是一项器械轻、技术比较复杂的投掷项目,其比赛过程可分为握枪、助跑以及最后的投掷,其中技术难度最大的就是运动员助跑后的投掷过程,其投掷质量直接影响到标枪在飞行过程中的轨迹以及最后落地距离。飞行过程中的标枪状态主要取决于投掷者在投掷过程中给予标枪的运行形态以及标枪本身的性能指标。

国内外学者对于物体飞行轨迹预测进行了大量研究,如孙淑光等[l]通过在飞机上安装感应器对地面物体进行模拟,但该方法成本过高,无法加以普及;张振兴等。[2]提出一种基于贝叶斯正则化的Elman-NARX神经网络方法预测飞行员飞行轨迹,但是该方法运用范围较窄,不易于推广;陈筱等[3]提出一种基于Ly apunove动态逆泛函的飞行轨迹偏离误差反馈控制数学模型,使用4个约束变量模拟真实环境,实现了轨迹预测的低误差。本文提出的方法影响变量较为简单,因此相比于以上方法适用性更广。

1标枪模型构建

根据【国家标准】GB/T 22765-2008-标枪相关参数以及A题附件中给出的数值,计算标枪的中轴线剖面面积、标枪表面积和标枪形心位置。题目中所给出的标枪形状类似于一根横截面始终为定值的规则网形状,但查阅国家标准时,其形状与题目所述略有区别。因此,首先介绍国标下 的标枪形状,见图l。

图l中的左手边即标枪头部,其中假设D6为标枪形心所在部位,D1-D9之间长度即枪尾部分,记为Part I,手把部位Do-D,记为PartⅡ,手把至枪头部位D4-Do为标枪中部,记为PartⅢ,剩余枪头D3往左记为PartⅣ。

要想计算出标枪中轴线剖面面積、标枪表面积和标枪形心位置,需要求出外表面的函数表达式。首先观察题目给出的“某型标枪测量尺寸表”,可以将标枪分为以上4部分。由于在这里考虑了曲线连续性和光滑性得出的4个部分,实际过程中也可以分为3部分等,但为了便于计算,仍将其分为4部分。其中Part I对应的长轴范围为[O,1200),并且随着轴长度逐渐变大,标枪也逐步变粗。手把部位PartⅡ的长轴范围为[1200,1800),其横截面半径保持不变,这与国家标准提供的图片有所区别。另外数据中给出的手把是考虑将标枪手把部位缠上防滑绳后的直径参数,在之后的计算中将会分开考虑。PartⅢ的长轴范围为[1800,2362),横截面半径逐渐减小,最后的枪头PartⅣ范围为[2362,2640],其形状类似于一个凸锥形。由于PartⅡ部位的对应形状是一个柱体,因此不需要作过多考虑,其余部位可通过拟合非线性函数求得。

将不同长轴范围下的直径取半,使用Google的深度学习[4]框架TensorFlow对半径参数进行拟合,损失函数采用真实值与预测值差值的平方进行计算[5],优化损失采用随机梯度,学习率设置为0.01,学习次数迭代1000次,在可视化学习工具TensorBoard[6]下得到最后的误差值大小,见图2。

由图2可以看出,除PartⅡ本身的横截面半径不变外,其余部分在经过拟合之后效果均较好,相对误差分别为0.227、0.008和0.132,符合本文要求。将各部分得到的曲线表达式列举如下:

有了上述表达式后,即可根据曲线积分相关公式得到标枪中轴线剖面面积,计算公式见式(5)。

如果不考虑手把部分表面所缠绕防滑布的影响,计算得到的中轴线剖面面积S,为41 121.428 8mm2,否则S,为44 907.428 8mm2。同理,根据曲面积分计算公式求得标枪表面积S2为129 152.443 082mm2,否则表面积S2为142 382.122 97lmm2。形心是标枪的截面几何中心,因此根据所得的外表面曲线方程(不考虑握手部分的防滑布,即认为直径为30.14mm),得到形心在长轴的1717.83mm处。

2标枪飞行运动规律

题目要求根据附件中24名运动员的实测数据找出标枪飞行过程中的运动规律。本文将该过程分为两步:第一步是建立有关的传统平抛运动模型,其次是将风阻等因素考虑进去,并优化传统平抛模型。

2.1传统平抛运动问题建模

传统平抛运动遵循物理规律[7],并且是分析任何运动学问题的基石。抛出去的物体遵循严格的运动学相关定律,物体在飞行过程中只会受到重力影响,因此分析过程相对简单,见图3。

根据经典运动学分析得到以下计算公式。首先是物体运动到最高点过程中所满足的表达式:标枪越过最高点直到落地过程遵循计算公式如下:

综合式(6)、式(7),得到对于初始速度为vo、出手角为0的标枪落地后距离抛出点的水平距离s,如式(8)所示。

将题目附件中24名运动员的出手速度与出手角带入式(8)进行计算,将得到的距离与附件中的距离进行对比,列出前5名与后5名运动员对比数据见表3。

可以看出,经典运动学得出的计算公式在不考虑初始攻角以及标枪风阻时表现较好,相对误差控制在Sm左右,说明由于初始攻角和风阻对标枪运动产生的影响不是很大,但是如果需要更高的精度(Im左右),该公式显然有很多缺陷。因此,接下来需要对得到的公式进行优化,以达到所需的精度要求。

2.2模型优化

由于运动员在投掷过程中无法保证标枪初始速度 与标枪轴方向完全一致,因此中间形成的夹角称为初始攻角 .当初始攻角 与水平面夹角大于出手角 时,该初始攻角p大于零,反之则小于零。因此,将持枪角记为^y时,各种夹角满足初始攻角p=持枪角^y一出手角α。

为了便于模型优化,本文假设标枪在飞行过程中不会发生白旋转现象,且各种力的着力点都落在标枪重心部位。标枪飞行到最高点时,认为标枪状态处于水平状态。此时在无风状态,或风向为水平时,认为不受到风阻影响。当标枪落地时,其速度方向与标枪长轴方向也被认为存在一定夹角,为了简化分析,也将其大小认为与初始状态一致[8-10]。对于风阻的影响,本文进行如下处理:当处于无风状态时,认为风阻方向是相对于标枪速度方向的反方向,大小与当前速度的平方成正比,同时还与空气风阻系数c、空气密度p及标枪相对于速度方向的受力面积大小有关,标枪投掷瞬间的受力与即将落地时的受力情况见图4。

需要说明的是,由于原题中不涉及到外部风速影响,因此风阻仅需考虑由于标枪运动导致的相对速度方向产生的阻力,并且其大小随着角度 β的变化而改变,而β大小是标枪长轴与速度方向之间的夹角。在上升阶段,认为其夹角不断减小,在下降阶段,α大小可以认为在增大到一定程度之后保持不变。

根据以上分析,并结合经典牛顿运动学定律与动量守恒定律,在上升阶段满足的表达式如下:标枪从最高处至落地时满足的表达式如下:

综合式(9)、式(10),得到本题中所需构建的标枪飞行运动函数如下:因此,后义中所有标枪的飞行模型满足上式。

3投掷距离最优解求解方案

假设某运动员投掷出手速度为30m/s,求解最佳出手角和初始攻角,使得投掷距离最大,并估算出标枪投掷距离。从构建的标枪飞行模型可以看出,优化函数是一个包含积分的非线性二元函数,因此采用传统的梯度下降(Gra-dient Descent)[11]、共轭梯度法(Conjugate Gradient)[12]以及部分启发式算法很难求得最优解。主要原因首先是量纲不同,以及由于飞行中出手角α及初始攻角β与时间t的关系不是很明确,因此无法构建其之间的函数表达式,从而对优化造成一定困难。

3.1神经网络框架建立

近年来,由于各种不规则的训练数据和资料如图片、文本等在特征提取方面较为困难,因此2006年Hinton[13]在机器学习基础上提出深度学习概念。

深度学习的目的是通過构建一个多层神经网络,在此网络上通过计算机白动进行学习,并得到数据在内部的隐含关系,提取出更高维、抽象的数据,使学习到的特征更具有表达力。其依赖的原理是内部各层之间建立的神经网络框架,最具有代表性的算法有卷积神经网络(CNN)、循环神经网络( RNN)等。以CNN为例,其主要由卷积层(Con-volutional Laver).池化层(Pooling Layer)以及全连接层(Ful-lv Connected Laver)组成[14]。因此,如何构建出一个连接完全且合适的神经元网络层成为问题的关键。

在本文问题中,要想得到问题最优解,必须使神经网络在每次迭代过后均能保证收敛,还要能够进行反向传播,使得每一次迭代能够找出一个合理的解。模仿神经网络解决回归问题,并通过构建4层隐含层解决网络每次无法找到一个最优解的问题。

输入每次迭代后的两个变量——出手角α与初始攻角β及其平方值,为便于作图,将这两个变量分别命名为x1与x2,并将学习率( Learning rate)设置为0.1,激活函数使用Tanh,正规化率(Regularization rate)设置为0.003。整体隐含层包含4层,每个隐含层分别包含5个、4个、4个、6个细胞元[15],将题目所给出的24名运动员实测数据作为训练数据输入,最后输出回归效果。

回归结果损失值仅为0.009,同时将24名运动员测试数据作为测试集,得到的损失率仅为0.013,说明本文构建的网络可以实现较好的优化效果。同时还应该注意,各神经元之间连线颜色深浅和粗细代表其之间的权值(Weightvalues),在输入变量经过第一层隐含层时,权值达到最大,之后随着层数的增多,权值越来越小,到最后一层时,权值最小的仅有0.0017。因此,尽管隐含层越多,其优化回归效果越好,但计算时间也会逐步延长,若能够保证一定的准确度,这种盲目增加隐含层的策略并不可取。

3.2遗传算法模型构建

遗传算法(GA)[16]是利用白然界存在的“物竞天择,适者生存”自然进化规律构建出的算法模型。白然界在物种选择过程中会发生基因交叉、变异、选择等各种变化,并通过漫长的时间筛选出最有能力适应白然环境的生物个体,从而得到最后的优化物种。

作为求解优化问题中的一种算法,由于遗传算法适合于解决复杂的非线性问题,因此常用来对构建出的多元方程进行求解,其解一般无法保证达到全局最优,但能在一定范围内保证局部最优,相比其余优化算法如粒子群优化算法( Particle Swann Optimization.PSO)[17]连一个局部最优解都很难找到的结果而言,已具有一定优越性。但是由于算法存在迭代时间过长,且算法实现与参数设置难度较大等缺点,使得在实际运用中需要花费一定时间与精力进行调试[18]。本文使用遗传算法的并行搜索机制进行求解,同时采用基于个体搜索机制的非代际遗传算法为标枪飞行模型找出最优解。该做法可以在种群每次迭代过程中保留最优个体,且可以保证整体群落的多样性。

类似于人体染色体的相互交配等机制,设计如下算法流程:

基于个体搜索机制的遗传算法流程:

Input:标枪运动员出手速度v0

Output:最佳出手角α和初始攻角β

Aims:使得投掷距离s最大

1.初始化种群Pop。

2.if终止条件不符合

3.按照每个染色体的最合适配对方法选择一个染色体α与p。

4.通过设置的softmax函数计算各个配对的概率值P 。

5.按照配对的概率值P 对染色体 与β进行交叉配对,牛成新的染色体α与α。

6.按照个体变异概率 p对新染色体α与β实施变异过程。

7.计算种群适宜度。

8.保留最佳基因染色体。

9.将变异的染色体重新赋值给a与β。

10.算法终止,输入最佳染色体α与β。

按照以上算法流程,每次都能在一定概率值之下找到最佳遗传个体,通过不断循环与迭代,最终找到一个局部最优解。

3.3 基于遗传算法的神经网络

为了克服遗传算法每次只能找到一个局部最优解的问题,将每次得到的解与真实的最优解进行比较,并将结果作为包含4层隐含层的神经网络输入,每次找出下一次迭代的方向与参数,将其结果返回给遗传算法进行下一步迭代。同样为了避免建立的神经网络框架容易陷入局部最小值的问题,采用遗传算法优化神经网络的初始权值(Weight)和偏置值(Bias),将每次变异后的最佳染色体因子作为下一次神经网络的方向,即选择适应度值最大的变量进行下一次交叉与变异,以及迭代进化过程,最后通过Bavesian函数再一次训练神经网络,每次训练过程中不断修正Weight和Bias,使神经网络输出值逐渐靠近全局最优值,将该方法運用在测试集数据上,得到最终结果。

结合以上分析,得到求解最优模型的神经网络结构如图5所示。

图5中可将结构分为两部分,左边属于遗传算法进化层,每次将更新得到的出手角α与初始攻角β作为输入,计算新一轮的最佳出手角α与初始攻角β,右边属于构建的包含4个隐藏层的神经网络层,每次将遗传算法计算出的最佳出手角α与初始攻角B作为输入,输出包含相对误差值(erro-)。每次迭代更新是由隐含层权值(Weight)、隐含层偏置(Bias)、输出层权值以及输出层偏置组成的,按照计算适应度找出最优个体,选择交配个体,进行交叉遗传与繁殖,基因保留得到最后结果。神经网络层通过计算真实值(True values)与预测值(Predict values)之间的差值构造下一次损失函数,以优化遗传模型与下次迭代的方向与次数,并在最后得到投掷最大距离[19-20].。为了说明本文优化模型的性能,将题目中给出的24名运动员实测数据作为输入,以验证模型质量。

3.4优化模型检验

选取题目附件中给出的24名运动员实测数据,将运动员的出手速度(m/s)、出手角(度)与初始攻角(度)作为模型输入,将遗传算法中的种群规模(GROUP_SCALE)设置为20,繁殖最大代数(MAX_GENS)设置为100,每次遗传过程变异概率(P_MATING) Pmuc设置为0.01,变异配对概率(P_MUTATION)设置为0.13。神经网络层设置学习率(Learning Rate)为0.1,激活函数(Activation)保持Tanh不变,正规化率(Regularization rate)设置为0.003,因此这4层神经网络连接次数满足5*4*4*6,共有480对连接,初始权值用正态分布函数随机生成,得到结果如表4所示。

可以看到,计算得到的投掷距离与实际投掷距离吻合度较好,其相对误差值控制在1%左右,比传统理想状态求得的解更佳,充分说明了本文方法的有效性。改进后的模型不仅解决了遗传算法得出的结果容易集中在某一个局部最优范围内的问题,还克服了其算法参数难以确定的缺点,并且灵活的神经网络隐藏层使得模型能够被应用于更广泛的数据集中[21]。

4 影响因素相对重要性求解

4.1 熵权法介绍

熵最先由香农引入信息论,目前已在工程技术、社会经济等领域得到了广泛应用。由于任何事件的发生都有一定概率,因此任何事件都包含一定信息量,其反映了一个事件的不确定性,并且一个事件发生的概率越大,其携带的信息量就越少。例如对于一个事件X,其发生的概率值为P(X),则该事件的信息量满足式(12)。

可以看出对于一个确定事件,即P(X)=1时,I(X)=O,也即该信息没有任何信息量可言,而对于由多个事件组成的系统,如果将其中所有信息的信息量相加,即得到该系统的熵。信息量越大,说明该系统的不确定性越大。因此,熵权法的基本思路是根据指标变异性大小确定客观权重[22]。

一般而言,如果某个影响因素信息熵Ei越小,表明该因素变异程度越大,因此能够提供的信息量也越大,在整个系统中起到的作用也越明显,白然权值也会增大。相反,如果信息熵Ei越大,表明该因素变异程度越小,能够提供的信息量越少,在整个系统中起到的作用则较小,因此在系统中的权值也较小[23]。

4.2熵权法求解步骤

假设对于某一个事件的发生包含有K个指标,将其分别命名为X1,X2,X3,…,Xk,其中对于某一个指标Xi,满足Xi= 。由于在实际中,不同指标量纲不尽相同,因此首要任务是将其所有指标值进行标准化处理,将处理后的值记为Y1,Y2,…,Yk,转化公式见式(13):

按照信息论中的信息熵计算方式,一组数据的信息熵满足式(14)。对于P 满足式(15)。

将计算出每个影响因素的信息熵E1,E2,…,Ek带入影响因素权重公式中,见式(16)。

依据以上公式计算各个影响因素权值手段,将题目中要求的运动员出手速度、出手角、初始攻角、初始俯仰角速度、风向及风速作为计算指标。其中对于风向,规定值满足1或0。为便于计算,当该值为1时为顺风、0为逆风。使用附件中24名运动员的实测数据以及要求求得的最优解作为权值确定的信息量来源,6种影响因素对应权重值见表5。

由表5可以清晰看出,要想运动员抛出的标枪飞行距离最大,主要影响因素是运动员抛出标枪时的出手速度以及出手角,其余影响因素对标枪最后飞行距离影响较小。

5 结语

本文提出一种改进遗传算法,该模型将遗传算法存在的参数难以确定等问题交给包含有4层隐含层的神经网络进行处理,并将优化好的参数反馈给遗传算法,使得在实际运用中,当算法陷入局部最优状态时能够及时进行调整。将模型运用于标枪飞行运动过程,优化后的模型能够对标枪运动过程进行预测,并且可以得到特定状态下的最优解。该方法有助于标枪运动员在实际练习过程中及时调整自己的姿态,使标枪能够飞行得更远,并且可对今后各类轨迹预测问题提供一定参考。

参考文献:

[1]孙淑光,程鹏基于航迹约束的三维飞行轨迹仿真生成器[J].系统仿真学报,2019,31(2):275-282,293.

[2]张振兴,杨任农,房育寰.基于贝叶斯正则化的Elman-NARX神经网络飞行轨迹预测[J]火力与指挥控制,2018,43(3):25-29.

[3] 陈筱,张琰.飞行轨迹偏离误差反馈控制数学模型仿真[J].微电子学与计算机,2017,34(6):104-108

[4]ABADI M. BARHAM P. CHEN J,et al. Tensorflow:a svstem forlarge-scale machine learning[C] 12th USENIX Symposium on Oper-ating Systems Design and Implementation, 2016: 265-283.

[5]ABADI M. Tensorflow:learning functions at scale[C].Acm SigplanNotices,ACM. 2016. 51(9J:1.

[6]MANED Tensorboard: tensorflow's visualization toolkit FEB/OLl.https: //tensorflow.google.cn/tensorboard.

[7]郝成紅,黄耀清,王欢,等.考虑空气阻力时空竹的斜抛运动[J].大 学物理,2016,35(3):15-17,26.

[8] 陈琦,王中原,常思江,等.不确定飞行环境下的滑翔制导炮弹方案弹道优化[J].航空学报,2014, 35(9):2593-2604.

[9] 史金光,韩艳,刘世平,等.制导炮弹飞行姿态角的一种组合测量方法[J].弹道学报,2011, 23(3):37-42.

[10] 牛春峰,刘世平,王中原.制导炮弹飞行姿态的卡尔曼滤波估计方法[J]中国惯性技术学报,2012 .20(5):510-514.

[II]BENGIO Y,SIMARD P. FRASCONI P. Learning long-term depen-dencies with gradient descent is difficult[J]. IEEE transactions onneural networks. 1994.5(2): 157-166.

[12]MOLLER M F A scaled conjugate gradient algorithm for fast super- vised learningEJl Neural networks. 1993,6(4): 525-533

[13]HINTON G E,SALAKHLTDINOV R R. Reducing the dimensionali- tv of data with neural networks[J]. Science. 2006. 313 (5786):504-507

[14]KRIZHEVSKY A,SUTSKEVER I, HINTON G E Imagenet classifi-cation with deep cr,nrolutional neural networks[C].Advances in neu-ral information processing systems, 2012: 1097-1 105.

[15]SCHMIDHUBER J. Deep learniW in neural networks: an overview[Jl. Neural networks, 2015, 61: 85-117.

[16]DEB K, PRATAP A. AGARWAL S,et al.A fast and elitist multioh-jective genetic algorithm: WSGA-II[J].IEEE transactions on erolu -tionary computation, 2002,6( 2): 182-197.

[17]SHI Y. Particle swarm optimization: developments, applieations andresources[C]. Proceedings of the 2001 Congress on ErolutionarvComputation,IEEE, 2001: 81-86.

[18]周洋.基于Loctistic模型的作業专用服装设计[J].电脑知识与技术,2019.15(7):273-276

[19]郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J/OL].计算机工程与应用:1-18[2019-05-03].http://kns.cnkinet/kcms/detail/1 1.2127.TP.20190418 1447.004.html

[20] 陈深进,薛洋.基于改进卷积神经网络的短时公交客流预测[J/OL].计算机科学,2019(5):1-9[2019-05-03] http://kns.cnki.net/kcms/d etail/50. 1075.TP.201 90430.1 621 .002.htnil

[21]贺毅朝,王熙照,李文斌,等基于遗传算法求解折扣{0-1}背包问题的研究[j]计算机学报,2016, 39(12):2614-2630.

[22]王洪彬,徐亨,童晓阳,等.基于结构熵权法与故障树的智能变电站保护系统扰动度在线评估方法[JIOI].电网技术:1-9[2019-05-03] .https: //doi.org/10.13335/j. 1000-3673.pst.201 8.0493.

[23]郑琼,周梅华基于熵权法的移动社交信任分析[J]软科学报,2019(5):129-134

(责任编辑:黄健)

收稿日期:2019-05-19

基金项目:全国教育科学“十二五”规划教育部青年项目(ECA150374)

作者简介:周洋(1998-),男,湖北大学计算机与信息工程学院、湖北大学楚才学院学生,研究方向为机器学习和深度学习。

猜你喜欢

平抛运动标枪熵权法
初始条件对男子投掷标枪飞行远度影响的分析研究
物理知识点在标枪运动中的应用
基于PSO 算法的有限元仿真模型
贯穿于日常教学中的高中物理教学案例研究
“平抛运动”教材比较与教学建模*