雙手互搏

舍己從人,必勝之道。
個人資料
正文

ZT 進攻是最好的防守

(2014-10-29 20:04:16) 下一個

紙上談兵:為什麽進攻是最好的防守?

夢裏醉逍遙 發表於  2011-09-22 18:30
守則不足,攻則有餘。——《孫子兵法•軍形篇》

守尚不足,攻而有餘?豈不怪哉?這句話千百年來困擾了無數先賢,甚至有人幹脆把這句話改成了“守則有餘,攻則不足”。然而在我看來,這句話並無任何錯誤之處,事實上,“守不足”的情況下,確可以“攻有餘”。不信?來看看死理性派分析吧。

即使攻方兵力不足,也未必會輸

美國普林斯頓大學的“博弈論”課程中曾經有這樣一道題目:

如果給你 2 個師,讓你攻破一座由敵方 3 個師守禦的城市。規定雙方都隻能整師調動部隊。通往這座城市的道路總共有甲、乙兩條。當你發動進攻的時候,如果你的兵力大於敵方,那麽你將獲勝;如果你的兵力小於或者等於敵方,那麽你就會戰敗。你將如何製定攻城方案?

也許你會覺得這是一個“不可能完成的任務”:在兵力相等的情況交戰還會戰敗,更別提對方的兵力還比你多出整整50% 來。但這樣的情形卻是比較真實的,實際作戰中防守方確實比進攻方有更多的補給,而且如果再在以逸待勞的情況下,借助各種防禦工事,隻要雙方科技水平和兵員素質不是太過懸殊,守方的戰力總是比相同兵力的攻方要高。

但即便如此,這次作戰中雙方獲勝的概率卻都是50%。不相信?讓我們來看一看雙方可能的戰略部署。

敵軍的三個師的兵力部署方案有 4 種:

A 3 個師都布置在甲道路上;

B 2 個師布置在甲,1 個師布置在乙;

C 1 個師布置在甲,2 個師布置在乙;

D 3 個師都布置在乙道路上。

我軍則有以下 3 種進攻方案:

1,2 個師都從甲道路上進攻

2,2 個師分別從甲、乙兩條道路上進攻

3,2 個師都從乙道路上進攻

讓我們根據這幾種方案列一張表格:

/gkimage/e1/io/e3/e1ioe3.png

如果我們假定雙方采取每一種方案的可能性是相等的,那麽攻方獲勝的概率就是 6/12 = 1/2,即我們在前麵所說的 50%。

先等一等!這是我們假設守方會等可能性地采取 A,B,C,D 四種策略的情況下所得到的結論。但如果考察一下 A,D 兩個方案就會發現,采取這兩個方案時攻方獲勝的可能性更大。再進一步對比我們還可以發現,B 方案一定比 A 方案好,而 C 方案也一定比 D 方案好。那守方有什麽理由會選擇 A,D 兩種方案呢?換言之,其實可供守方選擇的隻有 B,C 兩個方案而已,它們的可能性各是50%。那麽這種情況下攻方獲勝的可能性隻有 1/3 而已。

但是再等一等!守方不是傻瓜,難道攻方就是白癡嗎?如果守方隻會采取 B,C 兩種方案,那麽攻方也不會會采取必敗的 2 號方案。所以其實可供攻方選擇的也隻有 1,3 兩個方案而已,他們的可能性也都是 50%。於是我們可以得到一張新的表格:

/gkimage/kr/m1/ma/krm1ma.png

雙方獲勝的概率依然都是 50%。是不是有點不可思議?守方擁有更多的兵力以及更優良的作戰條件,但是雙方獲勝的概率卻是相等的。

在兵力相等的情況下,攻方勝算更大

我相信讀者讀到這裏一定還會好奇,如果是攻守雙方的兵力相等的情況下,各自的勝算又是多少呢?我們不妨給守軍削減一個師的兵力,再來看看守方這時候的策略:

A 2 個師全力防守甲

B 2 個師分兵防守甲、乙

C 2 個師全力防守乙

攻方依然可以采取前麵中的 1,2,3 三種策略。那麽此時雙方的對陣情況如下:

/gkimage/42/ns/tr/42nstr.png

可以看出無論守方采取那種策略,攻方獲勝的概率都是 2/3,所以總的獲勝概率也是 2/3。這個結果非常有趣,表麵上看來對守方有利的博弈,占優勢的卻是攻方。這也恰恰印證了那句話:“進攻是最好的防守。”

為什麽進攻是最好的防守

但是,為什麽呢?也許答案可以用漢朝賈誼的著作《過秦論》中的六個字來概括:“攻守之勢異也。”對於攻方來說,他們的目的隻是“攻進城市”,在這場博弈遊戲中,不論他們在甲、乙中哪條道路上取得優勢,都能達到目的。相比起來守方的任務則艱巨許多,他們必須針對各種進攻策略作出部署,在這個例子中,他們就必須要在甲和乙兩條道路上同時抵禦住攻進。換言之,戰爭中的作戰規則可能對守方有利,但是在勝利條件上卻是偏袒攻方的。《孫子兵法•軍形篇》中說道:“不可勝者,守也;可勝者,攻也。”此句恰好在“守則不足,攻則有餘”一句的前麵,也恰好印證了我們的理論。

我們不妨以《星際爭霸2》為例:如果你隻打算死守,就必須防範所有可能的進攻進攻方式。對手有可能使用前期爆兵流,或者後期科技流;有可能從正麵進攻,也可能可能繞到背後空投地麵部隊。這樣的話,你就既要在前期就保證足夠的兵力應對rush,同時還要攀升科技打後期;既要建造地麵戰鬥單位和防禦工事,還得擁有對空防禦。在不知道對方策略的時候,相同數量的資源,攻方隻需要集中起來打造一種部隊,你卻需要把幾乎所有的單位和建築給建造一遍!而這些最終不過全是徒勞而已,正如《孫子兵法》所說的那樣:“無所不備,則無所不寡。”

值得一提的是,強大的信息情報收集能力能夠為守方扳回一局,這就好像玩《星際爭霸2》如果開了全圖,詳細了解敵方的生產情況的話,就可以開展有針對性的防守。隻是,信息不對稱博弈就不是本文所討論的內容了。

結語

至此,雖不排除我們按照理工科的思維曲解了孫子的原意,但畢竟他老人家的這句“守則不足,攻則有餘”在死理性派手裏,得到了一個頗好的詮釋。也許對付“全世界三麵來襲”的最好辦法,就是像莎士比亞的《約翰王》裏所說的那樣,“給他們一個迎頭痛擊”。

本文用一個簡單卻非常新穎的計算,從一個特定的角度解釋了進攻為什麽是最好的防守。當然,現實中的戰爭遠非本文簡單的計算就能全麵概括的,畢竟三裏之城,七裏之郭,也有環而攻之而不勝的時候。








紙上談兵:薩爾滸之戰以少勝多的原理

夢裏醉逍遙 發表於  2011-08-16 17:00

小時候我們都學過紙上談兵這個詞。其實曆史上紙上談兵的並非隻有趙括一人,還有數學家。1914年一戰期間,英國工程師弗雷德裏克•蘭徹斯特(我敢打賭這家夥是一個死理性派)異想天開地用數學解析戰爭,創立了著名的蘭徹斯特戰鬥模型。通過它,我們能很容易地發現以少勝多背後的數學故事,比如經典的薩爾滸之戰。

但在故事開始前,有必要說明的是,這隻是 一個簡化的數學模型 ,忽略了一些難以量化的因素,譬如天時、地利、人和以及政治因素,而它們對戰爭也有舉足輕重的影響。事實上,從科學角度講,研究結果僅對研究的模型有效。不過我們都知道,研究總是從基礎模型開始的。

用蘭徹斯特模型解析戰爭

/gkimage/uq/dm/t9/uqdmt9.png

這個著名的蘭徹斯特戰鬥模型,實際上是一個討論參戰方戰鬥力和時間關係的模型,可以用來宏觀地描述參戰雙方的戰鬥力損耗過程。這樣說或許有些抽象,讓我們先思考一個問題,現在有兩支軍隊 A 軍和 B 軍。A 軍以精銳著稱,但兵力隻有 B 軍的一半,B 軍人多勢眾,但單兵作戰能力平均隻有A軍士兵的一半, 除此之外它們其他方麵全部是等同的。如果這兩支軍隊交戰,一支軍隊消滅另一支軍隊即為勝利,你認為誰將是這場戰鬥的贏家?讀者們不妨先選定一個答案( A 勝、B 勝或者玉石俱焚),然後再來看看蘭徹斯特戰鬥模型怎麽說。

假設現在有一場戰鬥,交戰的雙方為甲方和乙方。我們規定它們在戰鬥中某一時刻的戰鬥力(冷兵器時代,一般情況下就是部隊中士兵的人數)分別是 x( t ) 和 y( t ) ,其中t表示時間。同時為方便起見,假設 x( t ) 和 y( t ) 都是關於 t 的連續可微函數,且恒為非負。換言之,雙方的戰鬥力都是隨著時間連續變化的,不可能在某一時刻發生突變(譬如《西遊記》中的孫悟空從天宮搬來救兵),也不可能在某一時刻有變化率的突變(譬如打架的時候被對方一巴掌打通任督二脈)。

在此基礎上,我們再假設某方戰鬥力的變化都是由於敵方對它的攻擊造成的,這樣戰鬥力在某一時刻的變化量,便隻和該時刻對方的戰鬥力正相關。

據此我們可以得出下麵兩個微分方程:

/gkimage/hx/19/a0/hx19a0.png

其中係數 a 和 b 分別是乙方和甲方對對方的殺傷率,也就是某方每單位戰鬥力能夠對敵方造成的戰鬥力損耗。

這便是著名的蘭徹斯特戰鬥方程。也許現在這個方程看上去還不夠直觀,但如果把它稍作變換,就可以得到這樣的式子。

/gkimage/7o/5b/k1/7o5bk1.png

在上麵的式子中,假設等式左右兩邊的值為正,當 x = 0 時,必有 y > 0 。這也就意味著當甲方的戰鬥力消耗殆盡的時候,乙軍還有人活著,這種情況下自然是乙軍獲得了勝利。同理,當等式左右兩邊的值小於0時,甲軍將取得勝利。那當這個值等於0的時候呢?顯然雙方將慘烈地同歸於盡,最終就像電影《赤壁》收尾處所說的那般:“大家都輸了。”

更重要的是,上述這個式子還說明了 在戰鬥中雙方的軍事實力和各自軍隊戰鬥力的平方成正比 。這也就是著名的蘭徹斯特平方律。

舉個最簡單的例子,倘若兩支旗鼓相當的軍隊來火並的話,此時a=b , x 0 = y 0 = 1 ,這時候 a y? 2 = b x? 2 ,最終雙方將同歸於盡。但是倘若甲軍去和一支人數是它的兩倍,但每個士兵的實力隻有他一半的乙軍來打呢(這正是在前麵提出的問題)?由 2a = b, y 0 = 2x 0 可得 a y? 2 / b x? 2 = 2。這表明占據人數優勢的乙方將取得勝利,盡管他們的功夫都隻有對手的一半。

更進一步來看後麵這個例子,把 2a = b, y 0 = 2x 0 ,x = 0 這些條件都代入到上麵給出的等式當中,可以得到y= √2 x。這意味著在乙軍徹底消滅他的勁敵——精銳的甲軍以後,自身兵力的損失還不到一半。如此事實無疑會讓以精銳聞名的甲軍感到壓力山大,因為他們如果想要在人數不變的情況下和乙軍對敵而不敗的話,至少要讓自己的每個士兵的單兵作戰能力達到乙軍的四倍才行!

上麵的例子讓我們看到,蘭徹斯特平方率直觀地反映了對戰雙方的戰鬥力對比。金庸迷們一定記得《笑傲江湖》中東方不敗獨戰令狐衝、任我行、向左使、任盈盈的精彩片段,雙方實際上打成平手。由此根據蘭徹斯特平方率能推算出,東方不敗的戰鬥力是其餘四人戰鬥力平均值的16倍!也就是說,如果令狐衝、任我行、向左使、任盈盈戰鬥力分別是100、80、60、40的話(平均戰鬥力70),東方不敗的戰鬥力就是70 × 16 = 1120 。Ta的“天下第一”還真不是浪得虛名。

薩爾滸之戰以少勝多的原因

/gkimage/1c/2p/4t/1c2p4t.png

從蘭徹斯特到將近百年後的今天,曆史開始顯得久遠。但這並不妨礙我們做一回“事後諸葛亮”,意行沙場,也來紙上談兵,用激揚文字再指點當年戰場。而這一回,我們就從數學角度來講述那場經典的以少勝多——薩爾滸之戰。

這是發生在萬曆四十七年(公元1619年),中國遼東的一場規模浩大且影響深遠的大戰。

在這場戰役中,當時僅擁有約六萬八旗子弟的後金軍首領愛新覺羅•努爾哈赤,憑借著他老到的戰略眼光,竟將兵力二倍於他、洶洶而來的大明王師打得慘敗而歸。此戰明廷喪師近五萬,將官戰死者亦有三百餘人,其中還包括山海關總兵杜鬆這樣的高級將領,可謂精銳盡失。若說當年李成梁對待努爾哈赤的態度是“為虺弗摧”的話,經此一役的後金對明廷來說,已然是“為蛇若何”了。

然而在此戰之前,並非人人都把後金當回事,至少此次戰役中明軍方麵最高統帥、遼東經略楊鎬大人就是如此。據說在薩爾滸戰役之前,楊鎬曾與努爾哈赤修書一封,稱大明王朝集結了四十七萬大軍將襲,並將出兵日期如實相告,似乎想以天朝神威威嚇後金,好“不戰而屈人之兵”。由此可見,在當時的楊鎬看來,“消滅賊酋”不過是手到擒來的事情,根本沒有想到會有戰敗的可能。但是事實上,如果楊鎬大人了解蘭徹斯特模型,也許他就會發現,雖然他的兵力是對方的兩倍,但他的慘敗卻早在出師之日就已注定。

何出此言呢?不妨讓我們用蘭徹斯特戰鬥方程來分析薩爾滸之戰。

當時努爾哈赤麾下的八旗子弟都是久經沙場的精銳,軍隊素質自然不可小覷。但明軍亦有先進的武器和裝備可與之抗衡,再加上常年和叛軍作戰的川軍,以及由當年一代名將戚繼光精心打造的浙軍,軍隊的兵員能力也不在後金軍之下。所以雙方的殺傷率係數不妨看做是相等的。

那麽兵力情況又是怎麽樣呢?我們在前麵就已說過,後金軍的兵力約六萬人,而明朝方麵的數據則是十二萬。恰如前麵的例子一般,後者的兵力是前者的兩倍。換言之,如果楊鎬的大軍就這麽殺過來的話,似乎努爾哈赤唯一的方法,就是在對方到來之前,把自己手下兵士的作戰能力提高到原來的四倍。

但是一個很有趣的事實是,在薩爾滸之戰的交戰過程中,始終占據兵力優勢的卻是後金。原來楊鎬在進攻的時候竟把自己的軍隊分成了四路,而這四路軍隊不但沒有統一的調度,相互之間的通信也甚不靈便(實際戰爭中,有兩路軍隊已經被努爾哈赤消滅了,第三路軍竟還毫不知情)。這就使得本來兵力薄弱的努爾哈赤反倒擁有了以眾擊寡、各個擊破的局部戰略優勢。雖然後金的兵力隻有明朝的一半,但是後金每次戰鬥中麵對的兵力,卻都隻有自己的一半。

讓我們來為這種戰略局麵算一筆帳。假設後金軍和明軍的殺傷率係數都是 1,戰鬥力以萬人為單位,那麽後金軍的軍事實力是:

/gkimage/ev/8l/om/ev8lom.png

假設明朝的四路軍隊中兵力平均分配,也就是每路有 3 萬人(實際兵力部署與此相去不遠),那麽明朝的軍事實力則是:

/gkimage/k2/0n/s4/k20ns4.png

我們發現,擁有巨大人數優勢的明軍的軍事實力和後金軍其實是相當的!

當然,這裏的計算有一個問題。我們給出的這種明軍兵力分配方案,恰巧是使得它的軍事實力總和最小,根據均值不等式可以知道,隻要在實際分配的時候哪怕采用3.01,2.99,3,3這樣的方案,明軍不就能夠打敗後金了嗎?

在這個模型下的確如此。但這要求當時的明軍能如同嶽飛所夢想的那樣“文臣不愛錢,武臣不惜死”,軍隊在損失慘重的情況下依然堅持戰鬥到最後一人。那樣的話,努爾哈赤老兄真的是要操心下自己腦袋的去處了。可惜實際情況並非如此。古代戰爭的一個事實是,當某方的損失超過一定數量以後(這個數量通常還並不高),往往會因為士氣低落而潰散,在接下來就變成“追亡逐北”的場麵了。這種情況下戰鬥變為屠殺,潰散軍隊的殺傷率約等於 0。所以戰爭的勝負絕大多數都不是因為一方把另一方完全殲滅,而是因為一方的士氣已經無法維係。

所以不妨讓我們假設雙方都會在自身兵力損失達到一半的時候潰敗。同時再把明軍四路兵力的實際部署情況稍加調整,用 4,3,3,2 作為它的部署策略,此時的軍事實力總值為38,高於後金軍。第一場戰鬥後,後金的殘餘兵力 x 1 滿足如下方程:

/gkimage/vq/64/gg/vq64gg.png

解之得 x 1 =2√6≈4.90 。也就是第一場戰鬥結束後後金軍的剩餘兵力約4.9萬人。我們繼續通過下麵的方程求解 x 2 , x 3 , x 4 。

/gkimage/u0/f6/gm/u0f6gm.png

解之得

/gkimage/qd/2t/vc/qd2tvc.png

計算結果表明,四場戰鬥中每一場都是後金軍的兵力占優,導致每一場戰鬥的勝者都是後金,所以最後的勝者也是後金——盡管總的軍事實力明軍更高。

要說明的是,這裏對明軍並沒有任何的不公平。事實上這個模型還有些偏袒明軍,因為在當時的曆史條件下,明軍士氣的水平其實很難達到傷亡人數約一半時才潰散。如果按照《竊明》中所說的標準——“除了處於死地外,最優秀的封建軍隊也不過能忍受一、兩成的傷亡而不崩潰”來計算,當後金軍取得勝利的時候,它所損失的兵力也不過1.28萬人,還遠不到其初始兵力的三分之一。

借助數學工具,數百年後的我們可以輕鬆地計算出努爾哈赤必將取得大勝的結果 。可惜的是當時背負十數萬將士性命的統帥楊鎬並沒有這樣的覺悟,即使當開原總兵馬林根據自身的經驗向他提出“王師當出萬全,宜並兵一路,鼓行而前,執取罪人,傾其巢穴”這一清醒建議的時候,他也隻是傲慢地堅持故我。如此無能的統帥最終葬送了大明的精銳之師。

結語

/gkimage/ar/x1/vq/arx1vq.png

後來的事情是:萬曆四十七年二月二十五日,大明王師正式出征;三月初一,西路軍遭努爾哈赤攻擊,寡不敵眾,全軍覆沒,總兵杜鬆戰死;三月初三,北路軍遭受攻擊,寡不敵眾,全軍覆沒,總兵馬林狼狽逃回;三月初五,東路軍被後金軍偷襲,猝不及防,全軍覆沒,總兵劉鋌戰死;三月初六,南路軍接到三路大軍戰敗的消息後匆忙撤兵,後金軍趁勢追擊,損傷慘重。結果正如我們這群事後諸葛亮所分析的一樣,可惜我們的分析也正如開原總兵馬林的意見一樣,終無改這場戰事的結局。

也許在因這場慘敗而下獄到他被處斬以前,楊鎬也曾多次反思過這場過戰鬥。他或許無法像我們這樣定量計算出戰鬥的結果,但至少也應該會對《孫子兵法》虛實篇裏“以眾擊寡”這個詞有一層新的理解吧。

 

 

[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.