第六篇《虚实篇》

《孙子兵法》第四篇为《虚实篇》,主要探讨如何通过“虚实”变化掌握战场主动权,灵活应对敌人。核心思想是“避实击虚”,强调根据敌我态势的变动,创造有利条件,以最小代价取得胜利。


原文

孙子曰:凡先处战地而待敌者佚,后处战地而趋战者劳。故善战者,致人而不致于人。能使敌人自至者,利之也;能使敌人不得至者,害之也。故敌佚能劳之,饱能饥之,安能动之。
出其所不趋,趋其所不意。行千里而不劳者,行于无人之地也。攻而必取者,攻其所不守也;守而必固者,守其所不攻也。故善攻者,敌不知其所守;善守者,敌不知其所攻。微乎微乎,至于无形;神乎神乎,至于无声,故能为敌之司命。
进而不可御者,冲其虚也;退而不可追者,速而不可及也。故我欲战,敌虽高垒深沟,不得不与我战者,攻其所必救也;我不欲战,画地而守之,敌不得与我战者,乖其所之也。
故形人而我无形,则我专而敌分。我专为一,敌分为十,是以十攻其一也,则我众而敌寡;能以众击寡者,则吾之所与战者,约矣。吾所与战之地不可知,不可知,则敌所备者多;敌所备者多,则吾所与战者,寡矣。
故备前则后寡,备后则前寡,备左则右寡,备右则左寡,无所不备,则无所不寡。寡者,备人者也;众者,使人备己者也。
故知战之地,知战之日,则可千里而会战。不知战地,不知战日,则左不能救右,右不能救左,前不能救后,后不能救前,而况远者数十里,近者数里乎?
以吾度之,越人之兵虽多,亦奚益于胜败哉?故曰:胜可为也。敌虽众,可使无斗。
故策之而知得失之计,作之而知动静之理,形之而知死生之地,角之而知有余不足之处。故形兵之极,至于无形。无形,则深间不能窥,智者不能谋。因形而错胜于众,众不能知;人皆知我所以胜之形,而莫知吾所以制胜之形。故其战胜不复,而应形于无穷。
夫兵形象水,水之形,避高而趋下,兵之形,避实而击虚。水因地而制流,兵因敌而制胜。故兵无常势,水无常形,能因敌变化而取胜者,谓之神。
故五行无常胜,四时无常位,日有短长,月有死生。


译文

孙子说:凡先到战地而等待敌人的就从容、主动,后到战地而仓促应战的就疲劳、被动。所以,善于指挥作战的人,能调动敌人而不被敌人所调动。
能使敌人自己来上钩的,是以小利引诱的结果;能使敌人不能到达其预定地域的,是以各种方法阻碍的结果。所以,敌人休整得好,能设法使它疲劳;敌人给养充分,能设法使它饥饿;敌军驻扎安稳,能够使它移动。
出兵要指向敌人无法救援的地方,行动要在敌人意料不到的方向。行军千里而不疲困的,是因为行进在没有敌人及其没有设防的地区。进攻必然得手的,是因为攻击敌人不注意防守或不易守往的地方;防守必然巩固的,是因为扼守敌人不敢攻或不易攻破的地方。
所以,善于进攻的,能使敌人不知怎样防守;善于防御的,敌人不知道怎样进攻。微妙呀!微妙到看不出一点形迹;神奇呀!神奇到听不出一点声息。这样,就能主宰敌人的命运。
前进时,敌人无法抵御的,是因为冲击敌人空虚的地方;退却时,敌人无法追及的,是因为退得迅速使敌人追赶不上。所以,我若求战,敌人即使坚守深沟高垒,也不得不出来与我交战,是由于进攻敌人所必救的地方;我若不想交战,即使画地而守,敌人也无法和我交战,是因为我设法改变了敌人的进攻方向。
所以,用示形的办法欺骗敌人,诱使其暴露企图,而自己不露形迹,使敌人捉摸不定,就能够做到自己兵力集中而使敌人兵力分散。我军兵力集中于一处,敌人兵力分散于十处,我就能以十倍于敌的兵力打击敌人,造成我众而敌寡的有利态势;能做到以众击寡,那么与我军直接交战的敌人就少了。我们所要进攻的地方使敌人不知道;不知道,它就要处处防备;敌人防备的地方越多,兵力越分散,这样,我所直接攻击的敌人就不多了。
所以,注意防备前面,后面的兵力就薄弱;注意防备后面,前面的兵力就薄弱;注意防备左翼,右翼的兵力就薄弱;注意防备右翼,左翼的兵力就薄弱;处处防备,就处处兵力薄弱。敌人兵力所以少,是由于处处防备的结果;我方兵力所以多,是由于迫使敌人分兵防我的结果。
能预料同敌交战的地点,能预料同敌人交战的时间,就是跋涉千里也可同敌人交战。如果既不能预料交战的地点,又不能预料交战的日期,就会左不能救右,右不能救左,前不能救后,后不能救前,何况远到几十里,近的也有好几里呢!
依我分析,越国的兵虽多,对于决定战争的胜败又有什么补益呢?所以说,胜利是可以争取到的。敌军虽多,也可以使具无法用全部力量与我交战。
所以要认真分析判断,以求明了敌人作战计划的优劣长短;挑动敌人,以求了解其行动的规律;示形诱敌,以求摸清其所处地形的有利与不利;进行战斗侦察,以求探明敌人兵力部署的虚实强弱。
所以,示形诱敌的方法运用到极妙的程度,能使人们看不出一点形迹,看不出一点形迹,即使有深藏的间谍,也无法探明我方的虚实,即使很高明的敌人,也想不出对付我的办法来。根据敌情而取胜,把胜利摆在众人面前,众人还是看不出来。人们只知道我是根据敌情变化取胜的,但是不知道我是怎样根据敌情变化取胜的。所以每次战胜,都不是重复老一套的方法,而是适应不同的情况,变化无穷。
用兵的规律像水,水流动的规律是避开高处而向低处奔流,用兵的规律是避开敌人坚实之处而攻击其虚弱的地方。水因地势的高下而制约其流向,作战则根据敌情而决定取胜的方针。所以,作战没有固定不变的方式方法,就像水流没有固定的形态一样;能依据敌情变化而取胜的,就称得上用兵如神了。
用兵的规律就像自然现象一样,“五行” 相生相克,四季依次交替,白天有短有长,月亮有缺有圆,永远处于变化之中。


核心思想

  • 避实击虚

    • 这是《虚实篇》的核心战略思想。在战争中,要善于发现敌人的弱点,并集中力量攻击这些弱点,而不是试图解决所有问题。

    • 通过种种办法调动敌人,造成我强敌弱、我实敌虚的态势,集中兵力打击敌人,以获得战争的胜利。

  • 兵无常势,水无常形

    • 作战没有固定的打法,就像流水没有固定的形状一样。要根据敌情的变化而灵活调整战略和战术。

    • 强调了在战争中要根据具体情况灵活运用策略的重要性。

  • 致人而不致于人

    • 善于运用策略调动敌人,使其按照我方的意愿行动,而不被敌人所牵制。

    • 这体现了对战争主动权的掌握和追求。


现实意义

  • 商业竞争:通过差异化策略(避实),聚焦对手忽视的市场(击虚)。

  • 个人决策:集中资源攻克关键问题,避免分散精力。

  • 谈判技巧:隐藏真实需求,引导对方暴露底线。


虚实

  • 释义:虚和实,泛指实际情况或内部情况。在兵法中,虚通常指敌人的弱点或空虚之处,实则指敌人的强大或防守严密之处。
  • 应用:通过分析和判断敌人的虚实,可以制定出相应的战略和战术,以实击虚,取得胜利。

②致人而不致于人

  • 释义:调动敌人而不被敌人调动。
  • 应用:在战争中,要设法调动敌人,使其按照我们的意愿行动,而不是被敌人牵着鼻子走。这需要我们掌握战争的主动权,通过灵活多变的战术来调动敌人。

③出其所不趋,趋其所不意

  • 释义:出兵要朝向敌人无法救援的地方,行军于敌人意料不到的方向。
  • 应用:在战争中,要选择敌人无法预料或无法及时救援的时机和地点进行攻击,以达到出奇制胜的效果。

④形人而我无形

  • 释义:使敌情暴露而我情不露痕迹。
  • 应用:通过伪装和示形等手段,使敌人暴露其真实意图和兵力部署,而我方则保持隐蔽和灵活,以便根据敌人的情况制定出相应的战略和战术。

⑤因形而措胜于众

  • 释义:根据敌情的变化而取胜,即使把胜利摆在众人面前,众人还是看不出其中的奥妙。
  • 应用:在战争中,要善于根据敌人的变化而灵活调整战术和策略,以取得胜利。同时,还要保持战术和策略的隐蔽性,使敌人无法窥破我们的真实意图。

⑥佚(yì)

  • 释义:安逸、从容。在兵法中,通常指先占据战场迎击敌人的状态。

⑦劳

  • 释义:疲劳、被动。在兵法中,通常指后到达战场仓促应战的状态。

⑧司命

  • 释义:主宰、掌控。在兵法中,指能够掌控敌人的命运,即能够决定战争的胜负。

⑨乖其所之

  • 释义:调动敌人,将敌人引向它处。在兵法中,指通过战术手段改变敌人的进攻方向,使其无法攻击我们的要害。

⑩微乎微乎,至于无形;神乎神乎,至于无声

  • 释义:微妙到看不出一点形迹,神奇到听不出一点声音。在兵法中,形容战术和策略的高超和隐蔽性。

⑩兵无常势,水无常形

  • 释义:用兵作战没有固定的态势,就像水流没有不变的形态。在兵法中,强调要根据敌人的情况灵活调整战术和策略,以适应战争的变化。

代码模拟

以下是一个简化的C语言代码示例,它试图模拟《虚实篇》中“致人而不致于人”(掌握战争主动权)和“避实击虚”(攻击敌人弱点)的思想。在这个示例中,我们假设有两个“军队”(用数组表示),每个军队有固定的“兵力”(数组元素的值),并且我们试图通过策略性地选择攻击目标来模拟“致人而不致于人”和“避实击虚”的原则。

#include <stdio.h>
 
#define MAX_SOLDIERS 100  // 假设每个军队最多有100名士兵
#define NUM_ARMIES 2      // 假设有两个军队
 
// 初始化军队兵力
void initializeArmies(int armies[NUM_ARMIES][MAX_SOLDIERS], int numSoldiers[NUM_ARMIES]) {
    for (int i = 0; i < NUM_ARMIES; i++) {
        for (int j = 0; j < numSoldiers[i]; j++) {
            armies[i][j] = 1;  // 假设每个士兵的战斗力为1
        }
        // 剩余位置填充为0,表示没有士兵
        for (int j = numSoldiers[i]; j < MAX_SOLDIERS; j++) {
            armies[i][j] = 0;
        }
    }
}
 
// 计算军队的总兵力
int calculateTotalSoldiers(int army[MAX_SOLDIERS], int numSoldiers) {
    int total = 0;
    for (int i = 0; i < numSoldiers; i++) {
        total += army[i];
    }
    return total;
}
 
// 模拟攻击,选择兵力最少的军队进行攻击(避实击虚)
void simulateAttack(int armies[NUM_ARMIES][MAX_SOLDIERS], int numSoldiers[NUM_ARMIES]) {
    int weakestArmyIndex = 0;
    int minSoldiers = numSoldiers[0];
 
    // 找到兵力最少的军队
    for (int i = 1; i < NUM_ARMIES; i++) {
        if (numSoldiers[i] < minSoldiers) {
            weakestArmyIndex = i;
            minSoldiers = numSoldiers[i];
        }
    }
 
    // 假设攻击后,被攻击的军队兵力减半(模拟损失)
    for (int i = 0; i < numSoldiers[weakestArmyIndex]; i++) {
        armies[weakestArmyIndex][i] = 0;  // 简化为完全损失,实际可以设置为部分损失
    }
    numSoldiers[weakestArmyIndex] /= 2;  // 简化处理,实际可以根据战斗情况调整
 
    // 更新剩余兵力
    for (int i = 0; i < NUM_ARMIES; i++) {
        // 重新计算剩余兵力(因为可能有完全损失的士兵)
        int newNumSoldiers = 0;
        for (int j = 0; j < MAX_SOLDIERS; j++) {
            if (armies[i][j] == 1) {
                newNumSoldiers++;
            }
        }
        numSoldiers[i] = newNumSoldiers;
    }
}
 
int main() {
    int armies[NUM_ARMIES][MAX_SOLDIERS];
    int numSoldiers[NUM_ARMIES] = {50, 30};  // 假设军队1有50名士兵,军队2有30名士兵
 
    initializeArmies(armies, numSoldiers);
 
    printf("Initial armies:\n");
    for (int i = 0; i < NUM_ARMIES; i++) {
        printf("Army %d has %d soldiers.\n", i + 1, calculateTotalSoldiers(armies[i], numSoldiers[i]));
    }
 
    simulateAttack(armies, numSoldiers);
 
    printf("\nArmies after attack:\n");
    for (int i = 0; i < NUM_ARMIES; i++) {
        printf("Army %d has %d soldiers left.\n", i + 1, calculateTotalSoldiers(armies[i], numSoldiers[i]));
    }
 
    return 0;
}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值