生物医学网络科学Biomedical Network Science
研究论文难度:进阶

寻找控制复杂网络的全部可能输入节点的高效算法

An efficient algorithm for finding all possible input nodes for controlling complex networks

Zhang X, Han J, Zhang W · Scientific Reports 2017 · DOI: 10.1038/s41598-017-10744-w

可能输入节点交替路径Hopcroft–Karp 算法替代节点最大匹配

一句话

证明只需一个最大匹配及其交替路径即可找出全部可能输入节点,把复杂度降到与最大匹配相同,并输出每个输入节点的替代节点集。

相关专题:网络可控性与稳定性

VIDEO讲解视频

寻找控制复杂网络的全部可能输入节点的高效算法3 分 27 秒
文字稿

大家好,这一期我们精读2017年发表的一篇算法论文。它解决一个很实际的问题:哪些节点有资格成为控制网络的输入节点?

我们知道,一个最大匹配下的非匹配节点,构成一个最小输入节点集。最大匹配不唯一,所以最小输入节点集也有很多个。所有这些集合的并集,就是全部可能输入节点。知道这个集合,才能在有约束时挑选合适的控制方案,比如避开无法干预的蛋白。

已有方法先求一个最大匹配,这一步本身是很快的。然后对网络中的节点一个一个地检验,看它能不能在别的最大匹配里不被匹配。逐点检验让总复杂度达到节点数乘以边数的量级,大网络上要算好几个小时。

我们先把有向网络拆成二分图,每个节点分成入端和出端两个点。从当前的输入节点出发,沿着非匹配边和匹配边交替的路径往前走。定理说,这条交替路径能到达的入端节点,全都是可能输入节点。反过来,任何交替路径都到不了的节点,就一定是冗余节点。

连接两个入端节点的交替路径,长度一定是偶数。它从输入节点的一条非匹配边开始,以目标节点的一条匹配边结束。把路径上每条边的匹配状态全部翻转,匹配边数不变,仍是最大匹配。于是原来的输入节点被匹配,路径终点的节点变成了新的输入节点。这同时告诉我们,路径能到达的节点都是这个输入节点的替代节点。

看一个小网络,它有四条边,从 1 指向 2 和 3,从 4 指向 3 和 5。取最大匹配为 1 到 2 和 4 到 3 两条边。这时 1、4、5 没有被匹配入边,是一组输入节点。从 5 出发走交替路径,依次到达 3 和 2,所以它们都能替换节点 5。

Hopcroft–Karp 算法会反复寻找增广路径,不断把匹配扩大。最后一轮找不到增广路径时,它其实已经搜遍了从输入节点出发的交替路径。我们只需在这一轮顺手记录到达过的入端节点,就得到了全部可能输入节点。所以总复杂度和求一次最大匹配完全相同,只多了一点记录工作。

在 500 万个节点的无标度网络上,新算法只用了约 3.3 秒。同样的任务旧方法要算 6 个多小时,加速约 7330 倍。在 Amazon0601 这样 40 多万节点的真实网络上,加速约 1.7 万倍。而且网络越稠密,新算法的优势越明显。

总结一下,只要一个最大匹配,就能找出全部可能输入节点。算法还会给出每个输入节点的替代节点集,靶点不可用时可以快速换靶。它把 2016 年输入图论文里的控制路径思想,变成了高效可用的算法。后续删边和反转边改变控制模式的工作,也都建立在这套交替路径分析之上。建议大家在可控性专题代码示例的基础上,自己动手实现这个算法。

一句话看懂

一个网络的所有最小输入节点集(MIS)的并集,就是全部可能输入节点。这篇论文证明:只要算出一个最大匹配,再从它的输入节点出发沿交替路径搜索,路径能到达的节点就是全部可能输入节点。这一步恰好可以并入 Hopcroft–Karp 算法的最后一轮,因此总复杂度与求一次最大匹配相同,为 O(N1/2L)O(N^{1/2}L);在大型真实网络上比已有方法快几个数量级。

研究背景与问题

结构可控性与最大匹配中讲过:驱动节点(本文称输入节点)由最大匹配中的非匹配节点给出,最大匹配不唯一,所以 MIS 不唯一。知道”哪些节点有资格当输入节点”在应用中很有用:理解节点在控制中的角色、在约束条件下设计 MIS、在信号通路中识别关键基因。

已有方法(Jia 等 2013,Nature Communications)先求一个最大匹配,再逐个检验匹配节点:对每个节点判断它能否在某个最大匹配中成为非匹配节点。求最大匹配需 O(N1/2L)O(N^{1/2}L),逐点检验需 O(NL)O(NL),总复杂度 O(NL)O(NL)。对几十万、上百万节点的网络,这意味着数小时甚至十几小时的计算。

Zhang、Lv 与 Pu(2016)的输入图论文已经证明:从输入节点出发沿控制路径可达的节点都是可能输入节点,反之不可达者为冗余节点。本文的问题是:能否不构建完整输入图、不逐点检验,以求一次最大匹配的代价拿到全部可能输入节点?

核心思想与方法

二分图与交替路径

把有向网络 G(V,E)G(V,E) 拆成二分图:每个节点 nn 拆成入端 ninn_{in} 和出端 noutn_{out},有向边 u→vu\to v 对应 uoutu_{out}–vinv_{in} 的无向边。最大匹配下,VinV_{in} 中的非匹配节点就是输入节点。交替路径是匹配边与非匹配边交替出现的路径;两端都是非匹配节点的交替路径称为增广路径,Berge 定理说最大匹配等价于不存在增广路径。

定理 1:给定有向网络 GG 及其一个最大匹配 MM,节点 nn 是可能输入节点,当且仅当满足以下之一:

  1. nn 是 MM 下的输入节点;
  2. 在二分图中,存在从某个输入节点 minm_{in} 出发、到达 ninn_{in} 的交替路径 pnmp_{nm}。

推论 1(替代节点):设 mm 是 MIS DD 中的输入节点,KmK_m 是从 minm_{in} 沿交替路径可达的节点集合,则对任意 n∈Kmn\in K_m,D′=D−{m}+{n}D'=D-\{m\}+\{n\} 仍是一个 MIS。

充分性的证明很像”翻转”:minm_{in} 和 ninn_{in} 都在入端,所以连接它们的交替路径长度为偶数,以 minm_{in} 处的非匹配边开始、以 ninn_{in} 处的匹配边结束。把路径上所有边的匹配状态翻转,匹配边数不变,得到新的最大匹配 M′M';此时 minm_{in} 被匹配,ninn_{in} 失去匹配,成为输入节点。必要性用反证:若 nn 在另一个最大匹配 M′M' 中未被匹配,可以构造一条偶数长度的路径,回到 MM 下会发现它恰好从 MM 的某个输入节点出发到达 ninn_{in},与”不可达”矛盾。

小例子:边为 1→21\to2、1→31\to3、4→34\to3、4→54\to5,取最大匹配 {1→2,4→3}\{1\to2, 4\to3\},输入节点为 1、4、5(1 和 4 入度为 0)。从 5in5_{in} 出发:非匹配边到 4out4_{out},匹配边到 3in3_{in},非匹配边到 1out1_{out},匹配边到 2in2_{in}。这条交替路径经过的入端是 3in3_{in}、2in2_{in},所以 3 和 2 都是可能输入节点,也都是 5 的替代节点:MIS {1,4,5}\{1,4,5\} 可以换成 {1,4,3}\{1,4,3\} 或 {1,4,2}\{1,4,2\}。全部可能输入节点为 {1,2,3,4,5}\{1,2,3,4,5\}。

把搜索并入 Hopcroft–Karp 算法

Hopcroft–Karp 算法反复做两件事:从所有非匹配节点出发搜索交替路径,若找到增广路径就沿其扩大匹配。当某一轮再也找不到增广路径时,算法结束——而这最后一轮恰好已经搜索了从所有输入节点出发的交替路径。根据定理 1,这一轮经过的入端节点就是答案。算法 All_Input(G):

  1. 由有向网络构建二分图,初始匹配为空;
  2. 从 VinV_{in} 中所有非匹配节点出发找交替路径,把路径上的入端节点记为候选;
  3. 若存在增广路径,扩大匹配、清空候选,回到第 2 步;
  4. 若不存在增广路径,候选节点即全部可能输入节点,当前非匹配节点构成一个 MIS。

由于只是在原算法中”顺手记录”候选节点,复杂度保持 O(N1/2L)O(N^{1/2}L)。同时,每个输入节点的交替路径可达集就是它的替代节点集。

主要发现

  1. 合成网络上提速数百到数千倍。13 个无标度网络(节点数 10510^5 到 5×1065\times10^6,平均度 6 到 16),新算法与旧方法结果一致。n=105n=10^5 时加速 52 倍;n=5×106n=5\times10^6 时新算法仅用 3.276 秒,旧方法约 24 013 秒,加速约 7330 倍。
  2. 网络越稠密,加速越明显。n=106n=10^6 时,平均度从 6 增至 16,加速比从 315 倍升至约 4097 倍。
  3. 大型真实网络上提速可达 10410^4 量级。在 20 个真实网络上,Amazon0601(403 394 个节点)用时 2.886 秒,旧方法 49 293 秒,加速约 17 080 倍;Higgs_Twitter(456 626 个节点、约 1486 万条边)用时 12.589 秒,旧方法约 66 445 秒。
  4. 生物网络中的可能输入节点比例差异很大。人类有向蛋白相互作用网络(6339 个节点、34 814 条边)的可能输入节点比例为 0.585,TRN-Yeast-1 转录网络为 0.999,E. coli 转录网络为 0.730。
  5. 不同输入节点的可替代性不同。St. Marks 食物网的一个 MIS 有 13 个输入节点,各自的替代节点集大小不同,说明有些输入节点在控制中更”稳健”、更容易被替换;Kohonen、TRN-Yeast-1、Ythan 等网络结果类似。部分输入节点替代集大小相同,是因为它们连到同一组替代节点。

怎样读这篇论文

  • 全文很短,核心是”定理 1 + 推论 1 + 算法 All_Input”。建议先看图 2(二分图与交替路径)和图 3(算法在小网络上的完整过程),再读证明。
  • 读证明时自己画一个二分图,标出入端和出端,确认”为什么连接两个入端节点的交替路径长度一定是偶数”。
  • 表 1、表 2 是运行时间对比,抓住”规模越大、越稠密,优势越大”即可;图 5、图 6 关于替代节点,体现了算法的第二个用途。
  • 若已读过 2016 年输入图论文,可以把本文的交替路径与那里的”控制路径”一一对应起来理解。

局限与后续工作

  • 理论框架仍是线性时不变系统的结构可控性和最大匹配框架,只适用于有向网络;无向网络常用的最小支配集框架不在本文讨论范围内。
  • 推论 1 只保证单个输入节点可被替换;多个输入节点同时替换时可能冲突(2016 年论文已指出共享邻居的输入节点不能同时替换)。
  • 运行时间比较依赖具体实现(JAVA 实现、单台工作站),加速倍数应理解为量级而非精确值。
  • 与系列工作的关系:
    • 本文是 2016 年输入图的算法化:输入图回答了”为什么”(控制邻接、交换定理、控制分支),本文回答了”如何快速算”,把找出全部可能输入节点的复杂度从 O(NL)O(NL) 降到 O(N1/2L)O(N^{1/2}L)。
    • 快速判定”谁是可能输入节点、谁是冗余节点”,是后续改变控制模式工作的计算基础:Zhang 与 Li(2019)通过删边、Zhang 等(2021)通过反转边,切断驱动节点与巨输入分支之间的交替路径,使大量可能输入节点变为冗余节点(2021 年论文在参考文献中引用了本文)。
    • 后续研究基于控制路径给节点分类、寻找控制核心点(见驱动节点的枚举、分类与自适应控制),其中”所有可能的头节点即所有可能的驱动节点”这一步正可用本文方法高效计算。

关联知识

  • 结构可控性与最大匹配中的二分图拆点与 Hopcroft–Karp 算法是本文的直接基础;驱动节点的枚举、分类与自适应控制提到的”在最大匹配算法最后一步的交替路径搜索中输出全部可能的驱动节点,复杂度 O(NL)O(\sqrt N L)“即本文结果。
  • 可在网络可控性与稳定性的代码示例中用 NetworkX 求出最大匹配,再从非匹配入端做交替路径的广度优先搜索,即可实现本文算法。
  • 在药物靶点研究中,替代节点集给出了”某靶点不可用时的备选靶点”,而且只改动一条匹配链,对原控制方案影响最小。

延伸思考

  1. 在小例子中,若再加一条边 2→52\to5,重新求最大匹配和全部可能输入节点。哪些节点的类型发生了变化?
  2. 为什么旧方法需要”逐点检验”,而本文只需一轮交替路径搜索?请用”翻转交替路径得到新最大匹配”的思想解释。
  3. 某输入节点的替代节点集很大,另一个很小。在设计药物干预方案时,你会如何利用这一信息?
  4. 人类蛋白相互作用网络的可能输入节点比例为 0.585。这个数字本身能否说明网络处于分布式控制模式?还需要哪些信息?