[宋史学习] 满城、瓦桥关之战

摘录

满城之战,宋军大获全胜,其关键在于宋将敢于在阵前废弃宋太宗诏定的八阵而改为前后二阵,相对集中了兵力,同时又设置了潜行于敌后的伏兵,而且最后参战的宋军总数达八万人之多,这是出乎辽军意外的,辽军最初面对的只是原驻守定州的崔翰所部的大约二三万人的一镇之兵。此外,辽军的轻敌之心也是导致其失败的原因之一。在辽军将帅看来,败军之将、败军之兵不足以言勇,因而轻信伪降而不为备,又不曾料到原驻守镇州李汉琼部的中途参战,加上辽军统帅惊慌失措,将士无所适从,因而当宋军再次发起冲锋后,辽军即开始奔逃,“众既奔”(24),一发不可收拾。在宋军对奔逃的辽军发起第三次冲击后,败退的辽军又遭宋伏兵邀击,“敌众(辽军)崩溃,悉走西山,投坑谷中”(25),争相逃命。即使是在高梁河之战中打败宋军的主力耶律休哥所部,也只得随着溃军后退,虽然做到了“全军还”,还收取他军“所弃兵械”(26),但也无力组织反击,一直退到遂州后才“整兵进击”(27),阻止了宋军的追击。

因雄州原称瓦桥关,史称瓦桥关之战,亦称雄州之战。这场战役,宋辽双方各称战胜,实际上是辽军胜多败少,但并未取得决定性的胜利;宋军虽胜少败多,损失可能较辽军为多,但雄州仍坚守未被攻陷。崔彦进因抗辽有功,即升为关南兵马都部署。

笔记

赵光义遥控军队,战略战术上都干预。

战略上
  • 赵光义为了制衡,满城之战有5个主将参与
    • 作为皇帝,让武将互相牵制也可以理解,比如和 当年 刘裕 派傅弘之,王镇恶和沈田子等七路军队同时出军长安。但是容易出事:沈田子杀了王镇恶,王修又杀了沈田子。多可惜,王镇恶是王猛的孙子,爷孙俩都入选武庙,就这么被自己人给杀了
  • 这五个主将之中,让官衔低的去管官衔高的。
  • 赵光义给其中四个人分别下了“便宜行事” 的指示,这就太奇葩了。
战术上

赵光义搞出了阵图这个怪东西,必须按照阵图打,否则就是抗旨。

早在军队出征前,赵光义就向各路大军的主将,预授了阵图,要求他们按照自己的规划来行军打仗。并且在军队中派出监军,监督武将们是否按照阵图行军。如果不按照阵图来,就是死罪。

阵图 大体就是后来完善定型的平戎万全阵,发明专利自然归属赵光义。《武经总要》有详细记载:结阵的步骑士兵需要14万人,床子弩、战车以及刀剑骨朵等轻重武器夹杂其间,关键是步兵、骑兵以及重武器要分布在上百平方里的战场上。
在这里插入图片描述
组织此阵的难度系数,会有多高?

你可以类比一下国庆70周年阅兵。先不说筹备了多少时间,只看国庆阅兵的规模,总共也就1.5万军队、580台套装备。而这个平戎万全阵呢?除了十几万军队,光床子弩这种大型装备就干了3000多架,这还不算拒马和战车。关键是十四万人的通讯你怎么解决?现代有手机、电话、对讲机,而古代通讯基本靠吼。

更要命的是“阵相去百步,士众疑惧,略无斗志”,方阵与方阵之间的间隔能有上百步之遥。这个距离就是前面去送死、中间被吓死、后面赶紧跑。于是,久经战阵的河北诸将立即没了斗志,这么打仗就没法打,因为怎么打怎么死。

更奇葩的是:每次出征,军队有一个官职叫做:布阵使,他专门管按图布阵

满城之战 能赢,有4个原因。

  • 准备充分,准备了几个月。

  • 宋将严格按照伏兵,夹击的策略安排。

  • 宋将不听话,自己改阵图,结果取胜了(原计划的阵图是脑残阵图,分8个阵,每个阵之间间隔1000米,敌人一冲就乱了,而且布阵时间需要太久,辽军也不是傻子,非要等你布阵好了再冲击)。

  • 为什么敢于不按照阵图打?因为有关系户。

    • 右龙武将军赵延进,监军李继隆 都支持不按照阵图打。
      • “主上委吾等以边事,盖期于克敌尔。今敌众若此,而我师星布,其势悬绝,彼若持我,将何以济!不如合而击之,可以决胜。违令而获利,不犹愈于辱国乎?
      • “兵贵适变,安可预定?违诏之罪,继隆请独当之”。
    • 赵延进、李继隆敢这样表态,是有原因的。赵延进是赵光义的连襟,他老婆是赵光义第一任妻子的妹妹;李继隆是赵光义的大舅子,他妹妹是赵光义第二任的夫人,也是后来的明德李皇后。
  • 辽将脑残,居然相信宋军伪降。

    • 宋将伪降应该就是为了争取时间改阵图。
参考

从满城之战的“非典型胜利”,看赵光义的“将从中御”策略

皇帝亲授阵图、将军集体抗旨,大宋满城大捷屠戮契丹万余甲士

### 改进UNet模型以适应宋史相关数据 #### 数据预处理 对于特定领域如宋史的数据,数据预处理阶段至关重要。考虑到历史文档可能存在的特殊字符、古汉语表达方式以及手写体识别等问题,可以采用专门针对这些特点的技术手段来增强模型的表现力[^1]。 ```python import cv2 from skimage import io, transform def preprocess_image(image_path): image = io.imread(image_path, as_gray=True) resized_image = transform.resize(image, (target_height, target_width)) normalized_image = (resized_image - np.mean(resized_image)) / np.std(resized_image) return normalized_image ``` #### 更换激活函数 为了提高模型对复杂特征的学习能力,在原有基础上尝试替换不同类型的激活函数是一个有效的策略。例如ReLU及其变种Leaky ReLU可以在一定程度上缓解梯度消失问题;而像Swish这样新型的自门控激活函数则能进一步提升性能表现[^2]。 ```python class UNetBlock(nn.Module): def __init__(self, in_channels, out_channels, activation=nn.ReLU(inplace=True)): super(UNetBlock, self).__init__() self.conv1 = nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=(3, 3), padding='same') self.actv1 = activation self.conv2 = nn.Conv2d(in_channels=out_channels, out_channels=out_channels, kernel_size=(3, 3), padding='same') self.actv2 = activation def forward(self, x): y = self.conv1(x) y = self.actv1(y) z = self.conv2(y) output = self.actv2(z) return output ``` #### 特征融合机制 引入多尺度上下文信息有助于捕捉到更多细节层次上的变化规律,这对于理解古代文献中的细微差别尤为重要。可以通过设计更精细的空间金字塔池化模块(SPP),或者借鉴DenseNet的思想增加跨层连接等方式实现这一点。 #### 自定义损失函数 鉴于宋史资料可能存在标注不一致的情况,调整损失计算方法也是必要的考虑因素之一。比如利用Dice系数作为补充评价指标,它特别适合于衡量二分类任务下的区域重叠程度,从而帮助改善边界模糊样本点预测精度不足的问题。 ```python def dice_loss(preds, targets, smooth=1e-7): intersection = torch.sum(targets * preds) union = torch.sum(targets) + torch.sum(preds) score = (2.0 * intersection + smooth) / (union + smooth) loss = 1.0 - score return loss ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值