鄒偉豪,劉 江
(西南交通大學(xué)體育學(xué)院 四川 成都 610031)
當(dāng)今時代,體育強(qiáng)國是國家發(fā)展和追求的目標(biāo)。在2008年北京奧運(yùn)會中,我國金牌數(shù)位居榜首,成為名副其實(shí)的體育大國。但是,我國離體育強(qiáng)國還存在一定差距?;谶@種情況,我國運(yùn)動員仍在加緊訓(xùn)練,以期在未來的各大賽事中取得優(yōu)異的成績。體育項(xiàng)目種類繁多,其中籃球有廣泛的受眾群體。要想在籃球賽事中獲得勝利,投籃訓(xùn)練必不可少。理想的投籃水平不是一朝一夕就能達(dá)到的,需要經(jīng)過長期反復(fù)地訓(xùn)練。隨著科學(xué)技術(shù)的進(jìn)步,先進(jìn)的技術(shù)或手段引入到投籃訓(xùn)練中,其中,利用智能算法預(yù)規(guī)劃最優(yōu)投籃軌跡是重點(diǎn)之一。通過運(yùn)動員實(shí)際投籃軌跡與預(yù)規(guī)劃的理想軌跡的對比,為其訓(xùn)練提供重要的參考標(biāo)準(zhǔn),從而提高訓(xùn)練效率。
基于上述背景,最優(yōu)投籃軌跡預(yù)規(guī)劃問題成為專家和學(xué)者研究的重點(diǎn)課題。軌跡規(guī)劃問題研究大致分為兩部分,一部分是設(shè)置目標(biāo)函數(shù),另一部分是對目標(biāo)函數(shù)進(jìn)行求解,得到最優(yōu)軌跡規(guī)劃方案。相比較前一部分,后一部分是該問題研究的重點(diǎn),因此,關(guān)于該部分的研究也更多,該部分的關(guān)鍵是選取智能尋優(yōu)算法。目前,智能尋優(yōu)算法有很多,如(鳥群覓食算法)、粒子群算法、蟻群算法、遺傳算法、魚群算法、灰狼算法等。不同的尋優(yōu)算法求解路徑不同,獲得的軌跡規(guī)劃方案也不同。智能尋優(yōu)算法普遍存在容易早熟、收斂速度慢的缺陷,導(dǎo)致預(yù)規(guī)劃出來的軌跡缺乏全局性,從而無法達(dá)到全局最優(yōu)。此外,易陷入局部最優(yōu)的缺陷使得求得的解更適用于短距離軌跡規(guī)劃,越遠(yuǎn)距離,規(guī)劃效果越差。
針對上述問題,本文設(shè)計了一種遠(yuǎn)距離籃球最優(yōu)投籃軌跡預(yù)規(guī)劃算法,該算法針對傳統(tǒng)智能尋優(yōu)算法存在的缺陷,進(jìn)行優(yōu)化組合,以期提高求解質(zhì)量,獲得全局最優(yōu)解。
籃球訓(xùn)練中投籃訓(xùn)練最為重要,其訓(xùn)練成果直接關(guān)系到在賽場上的表現(xiàn)。遠(yuǎn)距離投籃最優(yōu)軌跡預(yù)規(guī)劃是輔助運(yùn)動員投籃訓(xùn)練的重要手段。通過規(guī)劃出來的投籃軌跡能夠給投籃訓(xùn)練提供重要的參考。本文分為兩部分,即多目標(biāo)函數(shù)設(shè)置及其求解,下面進(jìn)行具體分析。
獲取遠(yuǎn)距離投籃最優(yōu)軌跡預(yù)規(guī)劃的前提是對其運(yùn)動進(jìn)行準(zhǔn)確描述并建立待求取的目標(biāo)方程。假設(shè)投籃出手角為?,籃球在此刻的運(yùn)動速度為vt。由此建立籃球投射時的水平方向速度和垂直方向速度,即
式中,a代表重力加速度。X(vt)、Y(vt)分別代表t時刻籃球投射時的水平方向速度和垂直方向速度。
基于X(vt)、Y(vt),結(jié)合物理學(xué)斜拋運(yùn)動原理,建立籃球投籃后的運(yùn)動軌跡方程S,即
式中,H代表投射點(diǎn)到地面的垂直高度。
對運(yùn)動軌跡方程S進(jìn)行求導(dǎo),然后建立最佳投籃角度目標(biāo)函數(shù),即
式中,maxG代表最佳投籃角度目標(biāo)函數(shù)。G達(dá)到最大值時的?就是最佳投籃角度。
除了投籃角度是最優(yōu)軌跡規(guī)劃中要實(shí)現(xiàn)的目標(biāo)外,球心與筐心重合度也是軌跡規(guī)劃中要實(shí)現(xiàn)的目標(biāo)。建立球心與筐心重合的條件方程,即
式中,B代表投球出手點(diǎn)到籃筐中心的水平距離;d代表投射點(diǎn)到地面的垂直高度。
將上述條件方程組合在一起,構(gòu)建球心與筐心重合度目標(biāo)函數(shù)。
針對建立的目標(biāo)函數(shù),設(shè)置的約束條件如下:
式中,?min、?max代表投籃出手角的最大值和最小值;Bmax、Bmin代表投球出手點(diǎn)到籃筐中心的水平遠(yuǎn)距離的上下限。
將上述構(gòu)建的兩個目標(biāo)函數(shù)組合在一起,構(gòu)成一個多目標(biāo)函數(shù),即
式中,F(xiàn)代表多目標(biāo)函數(shù);W1、W2分別代表兩個目標(biāo)函數(shù)的權(quán)重。
上述多目標(biāo)函數(shù)求解后,就需要求取滿足目標(biāo)函數(shù)的解,該解就是本文所要設(shè)計的最優(yōu)投籃軌跡。一般來說,滿足目標(biāo)函數(shù)的解往往有多個,本文中需要從這些可行解中找出最優(yōu)的一個,完成最優(yōu)投籃軌跡預(yù)規(guī)劃方案設(shè)計。從可行解中找出最優(yōu)的一個,本質(zhì)上來說是一個不斷優(yōu)勝劣汰的過程,通過不斷迭代將劣解淘汰掉,最終剩下一個最優(yōu)解。基于這種機(jī)制,雖然尋優(yōu)算法是解決上述問題的主要手段。尋優(yōu)算法有很多,但是單一的尋優(yōu)算法普遍存在早熟、收斂速度慢、易陷入局部最優(yōu)的問題。針對上述問題,本文中將3種尋優(yōu)算法結(jié)合在一起,以期提高全局求解能力。首先利用鳥群覓食算法隨機(jī)產(chǎn)生N個初始解,然后將這N個初始解作為帝國競爭算法的初始種群,在帝國競爭算法求解過程中,對殖民地進(jìn)行差分進(jìn)化。具體過程如下:
(1)鳥群覓食算法生成初始解
鳥群覓食算法是模擬鳥群尋找食物過程而開發(fā)的一種尋優(yōu)算法,該算法也稱為粒子群算法。利用該算法生成初始解的過程如圖1所示。
圖1 鳥群覓食算法生成初始解的基本流程
鳥群覓食算法生成的初始可行解有N個,記為Q={q1,q2,...,qN}。每個可行解都是一個初始投籃軌跡。
(2)帝國差分競爭算法求取最優(yōu)解
將鳥群覓食算法生成的初始解Q={q1,q2,...,qN}作為帝國差分競爭算法的初始國家。Q中每一個目標(biāo)函數(shù)的可行解Q={q1,q2,...,qN}都代表一個國家。具體求解流程如下:
步驟1:設(shè)置帝國差分競爭算法的初始參數(shù)。
步驟2:初始化種群Q={q1,q2,...,qN}。
步驟3:利用章節(jié)1.1構(gòu)建的多目標(biāo)函數(shù)[公式(8)]構(gòu)建適應(yīng)度函數(shù),計算每個可行解的適應(yīng)度函數(shù)值。即
式中,f(qi)代表第i個初始可行解的適應(yīng)度函數(shù)值,也就是第i個國家的所擁有的力量值。
步驟4:將計算得到的f(qi)按照從小到大升序排列。
步驟5:將f(qi)數(shù)值排名前M個對應(yīng)的初始解作為初始殖民國家,后M個對應(yīng)的初始解作為殖民地。這樣就將初始種群Q={q1,q2,...,qN}劃分為了兩個種群,分別記為L1、L2。
步驟6:對L1中每個殖民國家分配種群L2中的殖民地。
式中,Ui代表L1中第i個殖民國家在L1種群中的競爭力;M代表L1包含的殖民國家的數(shù)量;N-M代表L2中殖民地的數(shù)量;Ki代表分配給第i個殖民國家的殖民地數(shù)量。
步驟7:殖民地同化。即上述分配結(jié)果讓分配后的殖民地向著所屬殖民帝國方向移動,也就是讓可行解向著較優(yōu)的投籃軌跡移動。
步驟8:移動后更新殖民地位置。
步驟9:殖民地革命,該環(huán)節(jié)的目的是增加可行解的多樣性,重新生成部分新的軌跡。在這里引入差分進(jìn)化算法來代替帝國競爭算法原始的革命操作。具體過程如下:
(1)從被分配的殖民地種群選出3個殖民地,記為Or1,Or2,Or3。其中r1,r2,r2代表[0,1]之間的標(biāo)準(zhǔn)隨機(jī)數(shù)。
(2)由Or1,Or2,Or3使分配給殖民帝國的每一個殖民地變異,生成新的殖民地,即
式中,Obest代表全局最優(yōu)值;T代表縮放因子;Oi代表分配給殖民帝國的第i個殖民地。
(3)將變異前、后的解進(jìn)行交叉操作,即
式中,λ代表交叉概率;rand代表[0, 1]取值的隨機(jī)數(shù);Ji代表交叉后產(chǎn)生的新的殖民地。
(4)計算變異前、后的解適應(yīng)度值,然后采取貪婪選擇的方式選擇殖民地進(jìn)入下一代,也就是是否需要讓變異、交叉后Ji代替原始Oi。
式中,f(Oi)、f(Ji)分別代表Ji、Oi的適應(yīng)度函數(shù)值。
步驟10:重新計算殖民地和殖民國家的適應(yīng)度函數(shù)值并進(jìn)行比較,以實(shí)現(xiàn)位置交換。前者大于后者,二者位置對調(diào);否則保持不變。
步驟11:綜合每個殖民國家的適應(yīng)度函數(shù)值總和。
步驟12:統(tǒng)一相似投籃軌跡。
步驟13:通過帝國競爭,也就是讓適應(yīng)度函數(shù)值較大的殖民國家占有適應(yīng)度函數(shù)值較小的殖民國家的殖民地,也就是投籃軌跡逐漸收斂至全局最優(yōu)。
步驟14:當(dāng)適應(yīng)度函數(shù)值較小的殖民國家所有殖民地都被較強(qiáng)殖民國家占據(jù)時,該殖民國家消亡,即適應(yīng)度值較高投籃軌跡被適應(yīng)度值較低的投籃軌跡吞并。
步驟15:是否達(dá)到最大迭代次數(shù)?若是,輸出當(dāng)前群體中適應(yīng)度最大的殖民國家,該殖民國家就是最優(yōu)解,也就是規(guī)劃出來的遠(yuǎn)距離籃球最優(yōu)投籃軌跡;否則,回到步驟3。
經(jīng)過上述兩個步驟的研究,完成遠(yuǎn)距離籃球最優(yōu)投籃軌跡預(yù)規(guī)劃算法研究。
基于Matlab軟件建立一個用于投籃軌跡預(yù)規(guī)劃算法的虛擬測試環(huán)境,如圖2所示。
圖2 投籃軌跡預(yù)規(guī)劃算法的虛擬測試環(huán)境
該環(huán)境基本參數(shù)如表1所示。
表1 虛擬測試環(huán)境基本參數(shù)表
本文的算法是針對遠(yuǎn)距離籃球最優(yōu)投籃軌跡的。距離球籃中心6.50 m以外的區(qū)域被稱為遠(yuǎn)距離投籃。由此設(shè)置3種不同的工況,具體見表2。
表2 投籃工況設(shè)置表
利用本文所研究的改進(jìn)帝國競爭算法以及3種對比尋優(yōu)算法(傳統(tǒng)帝國競爭算法、傳統(tǒng)粒子群算法、傳統(tǒng)差分進(jìn)化算法)對公式(8)多目標(biāo)函數(shù)進(jìn)行求解,預(yù)規(guī)劃出遠(yuǎn)距離籃球最優(yōu)投籃軌跡,結(jié)果如圖3所示。
圖3 遠(yuǎn)距離籃球最優(yōu)投籃軌跡預(yù)規(guī)劃結(jié)果
模擬運(yùn)行圖3預(yù)規(guī)劃出來的遠(yuǎn)距離籃球最優(yōu)投籃軌跡,進(jìn)行100次投籃,統(tǒng)計投籃命中率,命中率越高,證明所規(guī)劃出來的遠(yuǎn)距離籃球投籃軌跡越優(yōu)秀。
從圖4中可以看出,改進(jìn)帝國競爭算法求解得到的遠(yuǎn)距離籃球投籃軌跡的投籃命中率要更高,由此說明改進(jìn)帝國競爭算法的投籃軌跡規(guī)劃能力要高于傳統(tǒng)帝國競爭算法、傳統(tǒng)粒子群算法、傳統(tǒng)差分進(jìn)化算法,彌補(bǔ)了傳統(tǒng)尋優(yōu)算法的步驟,使得規(guī)劃出來的投籃軌跡達(dá)到最優(yōu)。
圖4 投籃命中率對比圖
籃球訓(xùn)練的重點(diǎn)的項(xiàng)目之一就是投籃訓(xùn)練,投籃命中率越高,越能夠取得比賽的勝利。在投籃訓(xùn)練中遠(yuǎn)距離投籃的訓(xùn)練難度最大。面對這種情況,為提高遠(yuǎn)距離投籃訓(xùn)練效率,改善訓(xùn)練難度,研究一種遠(yuǎn)距離籃球最優(yōu)投籃軌跡預(yù)規(guī)劃算法。在該算法研究中,先是設(shè)置了投籃軌跡預(yù)規(guī)劃的目標(biāo)函數(shù),然后利用改進(jìn)帝國競爭算法對其進(jìn)行了求解。通過對傳統(tǒng)帝國競爭算法的改進(jìn),在仿真實(shí)驗(yàn)中,使得求得的投籃軌跡達(dá)到最優(yōu),與傳統(tǒng)帝國競爭算法、傳統(tǒng)粒子群算法、傳統(tǒng)差分進(jìn)化算法相比,提高了投籃命中率,證明了該算法的求解效果。雖然取得了一定的效果,但是還存在不足且需要加以改進(jìn)和完善。投籃軌跡會受到自然環(huán)境因素的影響,如風(fēng)力、空氣阻力等,本研究中設(shè)置的目標(biāo)函數(shù)并沒有將環(huán)境因素考慮進(jìn)去,因此還有待進(jìn)一步完善。