5.3 Network Defending Games
网络防御博弈 Network Defending Games¶
网络防御博弈(network defending game)研究防御者如何在带权网络中分配有限资源,以降低攻击者单点攻击造成的最坏损失。资源既保护所在节点,也通过邻接关系产生共享防御效果。
模型与优化目标¶
设网络为带权无向图 \(G=(V,E)\),\(N(u)\) 表示节点 \(u\) 的邻居集合。资源分配(resource allocation)为 \(r=(r_u)_{u\in V}\),满足
其中 \(R\) 是总资源预算。每个节点有最低防御阈值 \(\mathrm{LB}_u\)、完全防御阈值 \(\mathrm{UB}_u\),以及完整损失 \(g_u\) 和部分损失 \(g'_u\),且 \(\mathrm{LB}_u\le\mathrm{UB}_u\)、\(0\le g'_u<g_u\)。
共享资源与防御水平¶
边权 \(w_{uv}\ge0\) 表示相邻节点资源共享的强度。节点的防御水平(defending power)为
资源共享并非从邻居扣除资源后转移给本节点,而是同一份部署对相邻节点产生保护效果。例如,当边权均为 \(0.5\) 时,邻居的每单位资源为本节点贡献 \(0.5\) 单位防御水平。
三种防御状态¶
| 状态 | 条件 | 攻击节点 \(u\) 的损失 |
|---|---|---|
| 防御不足 | \(p_u<\mathrm{LB}_u\) | \(g_u\) |
| 部分防御 | \(\mathrm{LB}_u\le p_u<\mathrm{UB}_u\) | 有防御不足的邻居时为 \(g'_u\),否则为 \(0\) |
| 完全防御 | \(p_u\ge\mathrm{UB}_u\) | \(0\) |
因此,部分防御节点的损失不仅取决于自身防御水平,也取决于邻居是否脆弱。写成损失函数(loss function):
攻击者选择损失最大的节点,防御结果(defending result)与最优值分别为
目标是最小化最坏单点攻击损失,而不是所有节点损失之和。
课件算例¶
六个节点的资源量为 \((2,1,2,1,4,1)\),总预算为 \(11\)。共享边权为 \(0.5\) 时,课件图中防御水平为 \((5,5,5,4,7,2)\)。取 \(\mathrm{LB}=4\)、\(\mathrm{UB}=6\)、\(g=2\)、\(g'=1\),则防御水平为 \(7\) 的节点完全防御,为 \(2\) 的节点防御不足,其余节点处于部分防御状态;后者是否发生损失还须检查邻居。
固定损失目标的可行性判定¶
先固定目标值 \(\alpha\),判断是否能使 \(D(r)\le\alpha\)。定义
\(A_\alpha\) 是必须至少达到最低防御阈值的节点集合;\(B_\alpha\) 是连部分损失也不能容忍的关键节点集合。为满足目标:
- 对 \(u\in A_\alpha\),必须有 \(p_u\ge\mathrm{LB}_u\)。
- 对 \(u\in B_\alpha\),必须完全防御,或确保所有邻居至少达到各自最低防御阈值。
- 对 \(u\notin A_\alpha\),自身完整损失不超过目标,但仍可能需要保护它以消除关键邻居的部分损失。
随着 \(\alpha\) 增大,要求不会变得更严格,可在候选损失值 \(\{0\}\cup\{g_u,g'_u:u\in V\}\) 上进行二分搜索(binary search)。
单阈值模型:线性规划精确求解¶
单阈值模型(single-threshold model)要求 \(\mathrm{LB}_u=\mathrm{UB}_u\),因此没有部分防御区间。对固定 \(\alpha\),只需保证 \(A_\alpha\) 中所有节点达到门槛。
线性规划(Linear Programming,LP)可写成:
该 LP 可行,当且仅当存在损失不超过 \(\alpha\) 的分配。结合候选值搜索,可得到多项式时间精确算法。共享资源仍然存在,但损失判定已经成为线性约束。
无共享模型:最小割精确求解¶
无共享模型(isolated model)要求所有 \(w_{uv}=0\),因此 \(p_u=r_u\)。原图邻接关系仍决定部分防御节点是否受脆弱邻居影响;“无共享”不等于删除所有邻接关系。
选择哪些关键节点完全防御¶
令 \(S\subseteq B_\alpha\) 表示选择完全防御的关键节点。其他关键节点只达到最低门槛,但它们的所有邻居都必须达到最低门槛。达到目标所需资源为
第一项是固定基础成本,第二项是把关键节点升级为完全防御的额外成本,第三项是为未升级关键节点保护外部邻居的成本。一个邻居即使关联多个关键节点,也只需计一次。
加权覆盖与割网络¶
只考虑 \(B_\alpha\) 与 \(V\setminus A_\alpha\) 之间的边。每条边 \((u,v)\) 都必须由以下至少一个选择覆盖:升级 \(u\),或保护 \(v\)。这形成二分图上的最小权顶点覆盖(minimum-weight vertex cover),可用最小割(minimum cut)求解。
构造源点 \(s\)、汇点 \(t\),并加入:
- \(s\to u\),\(u\in B_\alpha\),容量 \(\mathrm{UB}_u-\mathrm{LB}_u\);
- \(v\to t\),\(v\notin A_\alpha\),容量 \(\mathrm{LB}_v\);
- \(u\to v\),对应上述两集合间的原图边,容量取大于任何有限可行成本的值。
有限割要求每条 \(u\to v\) 至少切掉对应的一个端点成本。若 \(u\) 位于汇侧,则升级 \(u\);若 \(v\) 位于源侧,则保护 \(v\)。最小割值是最小额外成本,加上基础成本即为达到 \(\alpha\) 所需的最少资源。利用最大流—最小割定理(max-flow/min-cut theorem)及候选值搜索,可精确求解该模型。
一般模型的计算困难性¶
非确定性多项式时间困难(non-deterministic polynomial-time hard,NP-hard)意味着该问题至少与 NP 中最困难的判定问题一样难。一般网络防御模型通过最大析取范式满足问题(maximum disjunctive normal form satisfiability,MAX-DNF)归约证明困难性。
MAX-DNF 给定布尔变量和若干由文字合取构成的子句,目标是最大化被满足的子句数。归约构造互补文字节点、子句节点以及文字—子句关系节点,以资源部署编码变量赋值。若至少 \(t\) 个子句可被满足,则对应网络可在预算
下获得零损失;反向也成立,其中 \(n\) 为变量数,\(m\) 为子句数。
因此,区分 \(\operatorname{OPT}=0\) 与 \(\operatorname{OPT}>0\) 已经 NP-hard。任何有限乘法比率的损失近似都必须在零最优值时返回零,否则无法满足比率保证,所以在标准复杂度假设 \(\mathrm P\ne\mathrm{NP}\) 下,一般模型没有有限乘法近似算法。
资源增强与 LP 舍入¶
资源增强(resource augmentation)改变比较方式:允许算法使用 \(\gamma R\) 资源,但要求其损失不超过预算 \(R\) 下的最优损失。课件给出 \(\gamma=2\) 的保证:
用指示变量表达两种保护选择¶
固定 \(\alpha\),对 \(u\in B_\alpha\) 设置 \(y_u\in\{0,1\}\) 表示是否完全防御;对 \(v\notin A_\alpha\) 设置 \(y_v\in\{0,1\}\) 表示是否保护到最低阈值。约束为
再加入防御水平定义、非负资源和预算约束。关键节点的邻居若在 \(A_\alpha\) 内,本来就已达到最低门槛,因此不需要额外的覆盖约束。
松弛与舍入规则¶
线性规划松弛(LP relaxation)把指示变量放宽到 \([0,1]\)。对预算 \(R\) 求得分数可行解后,采用舍入(rounding):
由于防御水平对资源线性,\(p'_u=2p_u\)。每条覆盖边满足 \(y_u+y_v\ge1\),至少一端的分数值不小于 \(1/2\),所以舍入后仍被覆盖。
若关键节点 \(y_u\ge1/2\),则
若外部邻居 \(y_v\ge1/2\),则 \(p'_v\ge2y_v\mathrm{LB}_v\ge\mathrm{LB}_v\)。其他必须保护的节点也保持满足最低门槛。因此舍入不会破坏目标损失约束,资源使用最多翻倍。
课件公式采用另一种等价记法:松弛阶段预算为 \(R/2\),舍入阶段预算为 \(R\)。两种写法都表示“使用双倍资源,匹配原预算下的最优防御质量”。
结论与模型边界¶
| 模型 | 可用方法 | 主要结论 |
|---|---|---|
| 单阈值,共享资源 | LP 与目标值搜索 | 多项式时间精确求解 |
| 双阈值,无共享资源 | 最小割与目标值搜索 | 多项式时间精确求解 |
| 双阈值,共享资源 | 整数规划、LP 松弛与舍入 | NP-hard;有 2 倍资源增强保证 |
攻击伤害传播、资源只能沿邻边移动等扩展会改变约束与困难性。课件的资源增强结论针对静态资源部署和单点攻击,使用时应先核对模型假设。