廣宇方程和蘭切斯特法則及蘭切斯特方程的關係
摘要:當廣宇方程中的命中率趨近於1時,廣宇方程計算的結果和蘭切斯特第一方程計算的結果相同;當廣宇方程中的命中率趨近於0時,廣宇方程的計算結果和蘭切斯特第二方程計算的結果相同。也就是說蘭切斯特第一方程和第二方程是廣宇方程的兩個極端狀態,廣宇方程可以覆蓋2個蘭切斯特方程。蘭切斯特法則只能計算命中率趨近於0和趨近於1時兩隊的最終剩餘人數,並且不能計算在戰鬥中間某個時刻兩隊的剩餘人數。而廣宇方程則可以計算命中率從0到1這個完整區間內,兩隊的最終剩餘人數,還可以計算任意時刻兩隊的剩餘人數。廣宇方程不僅可以完美覆蓋蘭切斯特法則,還可以真實的反應兩隊的實時作戰情況(如圖2-18所示)。
圖2-18 廣宇方程和蘭切斯特方程的關係
當殺傷率趨近於1時,也就是1發子彈打死一個人時,廣宇方程計算的結果和蘭切斯特法則第一法則計算的結果相同,廣宇方程計算的結果也和蘭切斯特第一方程計算的結果相同。
分別把X0=9,Y0=6,a=b=1/3分別帶入廣宇方程、蘭切斯特法則和蘭切斯特方程,可以使用MATLAB的limit函數求極限,廣宇方程的計算A隊最後的剩餘人數為3人。
其中
蘭切斯特第一法則計算的A隊最後剩餘3人。
蘭切斯特第一方程計算的A隊最後剩餘3人。
也就是說,當殺傷率趨近於1時,廣宇方程計算的結果和蘭切斯特第一法則及蘭切斯特第一方程計算的結果相同。
廣宇方程和蘭切斯特法則的關係推導過程
蘭切斯特法則,第一法則為E=mv,當A軍和B軍的武器性能m相同時,可以得到勝利一方的勝利人數為:
失敗一方的人數為0,即被全部消滅。
第一法則為E=mvv,當A軍和B軍的武器性能m相同時,可以得到勝利一方的勝利人數為:
失敗一方的人數為0,即被全部消滅。
蘭切斯特第一方程的解為:
蘭切斯特第二方程的解為:
當A軍和B軍的殺傷率相同時,即a=b時,蘭切斯特第二方程得到:
廣宇方程如下:
當兩隊的殺傷率相同時,即a=b時,可以簡化得到
我們假設A軍和B軍的武器性能或者命中率相同,是為了方便計算。
我們首先來分析一下蘭切斯特第一方程和第一法則之間的關係。
當A軍和B軍戰鬥到最後時,其中假設a=b,
而蘭切斯特第一法則的計算結果為
可以看到二者完全等同。即蘭切斯特第一方程和蘭切斯特第一法則計算的最終結果是相同的,表達式也是相同的。
蘭切斯特第二方程和廣宇方程由於計算複雜,我們使用MATLAB進行計算,並且給出計算過程。我們首先計算蘭切斯特第二方程和蘭切斯特第二法則之間的關係。
由於A軍消滅B軍的時間為T,此時B軍全軍覆滅,即y=0,而A軍的剩餘數量可以通過上述方程計算出。在x的方程中,將T帶入x的方程,得到
可以看到關於A軍剩餘人數的方程中已經沒有命中率a了,也就是A軍的剩餘數量只和兩軍的初始兵力X0和Y0相關,這是和現實不符的。比如A軍9人和B軍6人戰鬥,命中率是1/3(即3槍打死一個敵人)和1/2,A軍剩餘的數量是不一樣的,而上述方程計算得的的結果是命中率趨於0時得到的結果。
在MATLAB中輸入如下函數:
syms a x y;
Xn=(x/2+y/2)*exp(-1/2*log((x+y)/(x-y)))+ (x/2-y/2)*exp(1/2*log((x+y)/(x-y)))
得到:
Xn =(x/2 - y/2)*((x + y)/(x - y))^(1/2) + (x/2 + y/2)/((x + y)/(x - y))^(1/2)
輸入簡化函數:
factor(Xn)
得到:
Xn =(x + y)/((x + y)/(x - y))^(1/2)
化簡得到:
而蘭切斯特第二法則的計算結果為
可以看到二者完全等同。即蘭切斯特第二方程和蘭切斯特第二法則計算的最終結果是相同的,最終表達式也是相同的。
下邊我們來推導廣宇方程,當命中率趨近於0時,廣宇方程和蘭切斯特第二法則計算表達式相同,當命中率趨近於1時,廣宇方程和蘭切斯特第一法則計算表達式相同,下邊我們來推導。
由於
所以
令
同理得到
令
在MATLAB輸入如下函數,求a趨近於0時的極限:
syms a;
k1=limit(((1+a)^(1/(log((1-a)/(1+a))))),a,0)
得到:
k1 =exp(-1/2)
在MATLAB輸入如下函數:
k2=limit(((1-a)^(1/(log((1-a)/(1+a))))),a,0)
得到:
k2 =exp(1/2)
令
在MATLAB輸入如下函數:
syms x y;
b=log((x-y)/(x+y))
Xn=(x/2-y/2)*exp(-b/2)+ (x/2+y/2)*exp(b/2)
得到:
Xn =(x/2 - y/2)/((x - y)/(x + y))^(1/2) + (x/2 + y/2)*((x - y)/(x + y))^(1/2)
在MATLAB輸入如下函數:
factor(Xn)
得到
Xn = (x - y)/((x - y)/(x + y))^(1/2)
化簡得到:
而蘭切斯特第二法則的計算結果為
可以看到二者完全等同。即當命中率趨近於0時,廣宇方程和蘭切斯特第二法則計算的最終結果是相同的,表達式也是相同的。
驗證一下Yn是否為0。
在MATLAB輸入如下函數:
Yn=(y/2- x/2)*exp(-b/2)+ (x/2+y/2)*exp(b/2)
得到:
Yn = (x/2 + y/2)*((x - y)/(x + y))^(1/2) - (x/2 - y/2)/((x - y)/(x + y))^(1/2)
在MATLAB輸入如下函數:
factor(Yn)
得到:
Yn = 0
我們來計算當廣宇方程中命中率趨近於1時的情況。
在MATLAB輸入如下函數,求a趨近於1時的極限:
syms a;
k1=limit(((1+a)^(1/(log((1-a)/(1+a))))),a,1)
得到:
k1 = 1
在MATLAB輸入如下函數:
k2=limit(((1-a)^(1/(log((1-a)/(1+a))))),a,1)
得到:
k2 = exp(1)
在MATLAB輸入如下函數:
syms x y;
b=log((x-y)/(x+y))
Xn=(x/2-y/2)*1^(b)+ (x/2+y/2)*exp(b)
得到:
Xn = x/2 - y/2 + ((x/2 + y/2)*(x - y))/(x + y)
在MATLAB輸入如下函數:
factor(Xn)
得到:
Xn = x - y
而蘭切斯特第一法則的計算結果為:
可以看到二者完全等同。即當命中率趨近於1時,廣宇方程和蘭切斯特第一法則計算的最終結果是相同的,最終表達式也是相同的。
驗證一下Yn此時是否為0。
在MATLAB輸入如下函數:
Yn=(y/2- x/2)*1^(b)+ (x/2+y/2)*exp(b)
得到:
Yn = y/2 - x/2 + ((x/2 + y/2)*(x - y))/(x + y)
在MATLAB輸入如下函數:
factor(Yn)
得到:
Yn = 0
結論:所以,當命中率趨近於0時,廣宇方程和蘭切斯特第二法則計算的結果相同;當命中率趨近於1時,廣宇方程和蘭切斯特第一法則計算的結果相同。蘭切斯特法則只能計算命中率趨近於0和趨近於1時兩隊的最終剩餘人數,並且不能計算在戰鬥中間某個時刻兩隊的剩餘人數。而廣宇方程則可以計算命中率從0到1這個完整區間內,兩隊的最終剩餘人數,還可以計算任意時刻兩隊的剩餘人數。廣宇方程不僅可以完美覆蓋蘭切斯特法則,還可以真實的反應兩隊的實時作戰情況。
當殺傷率趨近於0時,也就是需要無窮多子彈才能打死一個人時,廣宇方程計算的結果和蘭切斯特法則第二法則計算的結果相同,廣宇方程計算的結果也和蘭切斯第二方程計算的結果相同。
蘭切斯特第二法則計算的A隊最後剩餘6.7082人。
蘭切斯特第二方程計
算的A隊最後剩餘6.7082人。
也就是說,蘭切斯特第二法則和第二方程是殺傷率趨近於0的極端形式,武器性能越差,結果越趨近於蘭切斯特第二法則。實際應用中,廣宇方程比蘭切斯特第二法則更能準確地表達現實的戰鬥情況。
在團戰遊戲和戰鬥模擬中,遞歸方程可以準確反映戰鬥情況,比微分方程計算的結果更加準確。系統的輸入包括對戰雙方的初始人數X0和Y0,殺傷率a和b。也可以增加武器性能和命中率,A隊的殺傷率a=A×k,其中A表示武器性能,k表示命中率,B隊的殺傷率b=B×h。
這樣就形成了一個6輸入的系統,包括雙方初始人數,雙方初始武器性能和命中率。假設1架機槍的命中率是0.5,性能是0.8,那麼殺傷率就是0.8*0.5=0.4,;而如果一架狙擊步槍的性能是0.6,命中率是0.8,那麼它的殺傷率就是0.6*0.8=0.48。提高武器性能和提高命中率都可以提高殺傷率。武器性能和命中率的取值範圍均大於0,小於1(如圖2-19所示)。
圖2-19 六輸入的戰鬥模型
在各種團戰遊戲和戰鬥模擬中,如果有援軍在某一時刻加入,計算當時兩軍的剩餘人數,然後將援軍人數加入,就可以繼續進行模擬計算了。
摘自《可以量化的軍事學》