“团树又使用另一种节点身份:每个节点是一个极大团,以逐顶点出现连通组织共享边界。消元树的一列一节点与团树的一团一节点不能直接共用父数组;后者需要先得到完整极大团清单,并核对相邻团交集。”
形式陈述
节点是全部极大团
设G是非空有限简单无向弦图,其全部极大团为
一棵以这k个团为节点的树T称为G的团树,若对每个原顶点v,所有包含v的团节点在T中诱导一个连通子树。等价地,任意两团Cᵢ、Cⱼ之间的唯一路径上,每个团都包含Cᵢ∩Cⱼ。这称为运行交性质。
团袋自动覆盖所有原顶点和原边,因此这是一类特殊的树分解:每袋恰是一个极大团,且每个极大团恰出现一次。一般树分解允许非团袋、非极大袋和重复袋,不能仅凭“袋排成树”就称为团树。[1, §§3.1–3.3]
本页允许G非连通:不同图分量的团树可用交集为空的边连接成一棵树。若G为空,单独返回空团表和空边表;不把零节点对象称作通常定义下的非空树。
直觉
一个变量的出现不能在树上断开
若v同时出现在两个袋里,而中间有袋不含v,就无法只沿树边携带共同边界来协调v。运行交性质要求v的全部出现形成一个连续区域;检查的是每个原顶点,不只是相邻两袋恰好有非空交集。
从一个团节点切下一条树边,两边公共的原顶点恰等于该边端点团的交集:若某点在两边都出现,连接那两次出现的路径必经过这条边,故它出现在两个端点团中。这个交集因此保存了两侧需要共同处理的全部名字。
逆向插回单纯顶点,为什么总能构造
用完美消去序反向插回顶点。假设旧图已有团树,新点v的旧邻居S构成团。旧图非空时,取一个包含S的旧极大团C;S为空时任取C。新图中含v的唯一极大团为S∪{v}。
若S=C,用S∪{v}替换原树节点C并保留其树边。其他旧极大团不可能包含C,故仍极大;所有原顶点的出现区域没有断开,新v只出现于替换后的节点。
若S严格包含于C,所有旧极大团仍然极大,新增叶节点S∪{v}并接到C。S中的顶点多出一个邻接叶出现,S外顶点的出现不变,新v只在新叶出现,所以运行交性质保持。旧图为空时以{v}作为第一节点。归纳得到每个非空弦图都存在团树。[1, §3.1]
例子与边界
四个极大团中,有两个并非最大团
对边01、02、12、23、04、14、45,全部极大团为
取树A—C—D—B,三个交集依次是{4}、{0,1}、{2}。顶点0、1分别出现在相邻的C、D;2出现在D、B;4出现在A、C;3、5各只出现一次。因此运行交性质成立。
A、B的大小为2,小于最大团大小3,却不能删掉。删A就失去顶点5,删B就失去顶点3。把“找一个最大团”的答案交给团树构造器,输入的团族已经不完整。
总权较小的树会断开同一顶点
仍用A、B、C、D,若取边AC、CB、BD,交集大小为1、0、1,总权2。0和1出现在C、D,但路径C—B—D的中间袋B不含它们,运行交失败。团节点都正确、边数也是k−1,并不足以保证团树正确。
非连通图则允许零交树边。例如一条边01和一个孤立点2的极大团为{0,1}、{2},唯一连接边权为0,它仍是合法团树。这里没有顶点同时出现在两个分量,零交连接不会割断任何出现区域。
不同于逐顶点消元树
消元树以矩阵列或原顶点为节点,父指针编码列消元依赖;本页树节点是可能含多个顶点的极大团。六点例的团树只有四个节点,不能直接把同一个父数组改名使用。二者可以在稀疏计算中关联,接口、节点身份和要验证的不变量仍不同。
推论与应用
最大交集权的生成树恰是团树
以全部极大团为顶点建完整无向图,边权
等号成立,当且仅当每个含v的诱导森林都有kᵥ−1条边,即它连通。于是等号与运行交性质完全等价。前面的归纳已经保证存在团树,它达到这个上界,所以完整交图的每一棵最大权生成树都是团树;反过来每一棵团树也都是最大权生成树。[1, §3.4]
六点例的上界为2+2+3+3−6=4,A—C—D—B恰有权1+2+1=4。要最大化交集权,不是最小化;将边权取负后才可交给通常的最小生成树接口。
透明实现及其实际成本
给定合法完美消去序π,为每点v建立候选袋Cᵥ={v}∪N⁺(v)。任意极大团的最早顶点v满足该团包含于Cᵥ,而Cᵥ自身是团,极大性迫使二者相等。因此只需从这n个候选中删掉严格包含于其他候选的袋,即得到全部极大团。
不同v产生的候选不会相同:若v早于u,则Cᵥ含v,而Cᵤ不含v。故极大团数k≤n,无须指数枚举所有顶点子集。附件用n长布尔成员行判包含,最多n²对、每对扫描至多n个成员,时间O(n³)、空间O(n²)。它优先把清单正确性写清,不声称采用了更精细的线性极大团枚举算法。
接着构造k×k交集权矩阵,时间O(k²n)、空间O(k²)。以Prim算法维护每个未入树团到当前树的最大连接权,每轮选权最大的团并更新一行;这是把常见最小权比较反向后的同一割安全规则,稠密实现O(k²)。加上前面的包含检查,整个透明建树流程最坏O(n³)时间、O(n²)额外空间,单位成本RAM口径。
验证器另外核每袋是极大团、团身份互异、树连通无环、边权等于真实交集,再逐顶点检查出现节点连通。教学附件的小图测试还用全部子集枚举独立对照极大团清单;这个指数测试器不属于建树复杂度。
团数、树宽和真正的终点
团树最大袋大小为ω(G),所以给出宽ω(G)−1的树分解。反方向,任何树分解都必须在某个袋中装下任意一个团,旧树分解条目的树上Helly论证给出宽度至少ω(G)−1。因此非空弦图满足tw(G)=ω(G)−1;这没有为一般图提供快速求树宽算法。
终结任务要求同时交出一个最大团、全部极大团、树边交集和逐顶点连通检查,再把一条正确树边替换成较小交集边观察何处断开。每一份输出验证不同承诺,只有颜色数正确还不足以说明团结构正确。
参考资料
- Jean R. S. Blair、Barry W. Peyton,An Introduction to Chordal Graphs and Clique Trees,ORNL/TM-12203,1992,原报告PDF,§3.1团树存在性、§§3.2–3.3子树/运行交刻画、§3.4最大权生成树刻画;§5.2另讨论消元树,不应混淆节点接口。