system: [SYSTEM]

user: 3. 一类有向三角形树的匹配数 刘和Barabasi等人 [ 3 ] 给出了有向网络匹配的定义以及有向网络可控节点数等于顶点数减去最大匹配包含的边数的结论。自然的问题是研究有向网络的所有匹配数目。本文中主要研究有向三角形树的所有匹配数的计数问题。首先给出与有向树F和有向三角形树D相关的一些基本定义，给出一类有向三角形树匹配数的计算方法、表达式，确定有最大和最小匹配数的有向三角形树的结构，其次根据本文的主要内容给出计算一类有向三角形树匹配数的算法。 3.1. 有向树的基本定义 有向树T被称为有向树F = (V， E)，则有向树T中的有向边的方向均是由上一层中的父节点指向下一层中的子节点的。如图2。 其中顶点集： ，边集： ；其中入度为0的节点称为树根，出度为0的节点称为树叶；若有向边(u， v)∈E，则称u是v的父节点，v是u的子节点。 有向星图F*是恰好只有一个节点出度为n-1，其余节点均为叶子节点的n个节点的有向树F。有向路Fp是节点出度为1或0的有向树F。 3.2. 有向三角形树的基本定义 有向三角形树D = (V， E)的过程为：t = 1时，以v 0 为根节点，以v 1 ，v 2 为左右子节点，生成两条有向边v 0 v 1 ，v 0 v 2 ，且节点v 1 ，v 2 之间生成一条有向边v 1 v 2 (第三边)，这时节点{v 0 ，v 1 ，v 2 }构成一个有向三角形，记为D 1 ；t = 2时，D 1 恰好包含3个节点{v 0 ，v 1 ，v 2 }∈V，在D 1 的任意一个节点上粘贴D 1 的节点v 0 ，生成有向三角形树D 2 ；以此类推，在有向三角形树D i 的任意一个节点上，粘贴D 1 的节点v 0 ，生成有向三角形树D i +1 ；以时间步生成有向三角形树D n 。图3是其中一种生成结果。 其中顶点集： ，边集： ；其中入度为0的节点称为树根，出度为0的节点称为树叶；若有向边(u， v)∈E，则称u是v的父节点，v是u的子节点。 有向三角形星图 是在每一时间步都将D 1 的节点v 0 粘贴到节点v 0 而生成的。有向三角形路D pn (D pn ) 图2. 有向树F 图3. 有向三角形树D 3 在每一时间步都将D 1 的节点v 0 粘贴到有向三角形树的最左(右)端的节点而生成的。 有向三角形树D的匹配数：n个三角形的有向三角形树D的边的子集E * 称为是一个匹配集，如果E * 中的任意两条有向边都没有公共的始点，也没有公共的终点。有向三角形树D的一个匹配是由若干条有向边构成的集合，故其大小就是有向边的条数。有向三角形树D的一个极大匹配是不能再通过添加有向边来使其变大的匹配。有向三角形树D的一个最大匹配是有向三角形树D的所有匹配中有向边数达到最大值的匹配，即含有向边数最多的匹配。有向三角形树D的k匹配是指含k条有向边的匹配；有向三角形树D的k匹配数指含 条有向边的匹配的选择方法数；有向三角形树D的匹配数指所有k匹配数的和，记为Z(D)；这里规定有向三角形树D的0匹配为1，即，空图(记为O)或只包含孤立点的有向树的匹配数为1。显然图3中有向三角形树D 3 的1匹配数为9：v 0 v 1 ，v 0 v 2 ，v 1 v 2 ，v 1 v 3 ，v 1 v 4 ，v 3 v 4 v 2 v 5 ，v 2 v 6 ，v 5 v 6 ；2-匹配数为28：{v 0 v 1 ， v 1 v 3 }，{v 0 v 1 ， v 1 v 4 }，{v 0 v 1 ， v 3 v 4 }，{v 0 v 1 ， v 1 v 2 }，{v 0 v 1 ， v 2 v 5 }，{v 0 v 1 ， v 2 v 6 }，{v 0 v 1 ， v 5 v 6 }，{v 0 v 2 ， v 1 v 3 }，{v 0 v 2 ， v 1 v 4 }，{v 0 v 2 ， v 3 v 4 }，{v 0 v 2 ， v 2 v 5 }，{v 0 v 2 ， v 2 v 6 }，{v 0 v 2 ， v 5 v 6 }，{v 1 v 2 ， v 3 v 4 }，{v 1 v 2 ， v 2 v 5 }，{v 1 v 2 ， v 2 v 6 }，{v 1 v 2 ， v 5 v 6 }，{v 1 v 3 ， v 3 v 4 }，{v 1 v 3 ， v 2 v 5 }，{v 1 v 3 ， v 2 v 6 }，{v 1 v 3 ， v 5 v 6 }，{v 1 v 4 ， v 2 v 5 }，{v 1 v 4 ，v 2 v 6 }，{v 1 v 4 ， v 5 v 6 }，{v 3 v 4 ， v 2 v 5 }，{v 3 v 4 ， v 2 v 6 }，{v 3 v 4 ， v 5 v 6 }，{v 2 v 5 ， v 5 v 6 }；同理，3-匹配数为36；4-匹配数为17；5-匹配数为3；有向三角形树D 3 的匹配数：0匹配数 + 1匹配数 + 2匹配数 + 3匹配数 + 4匹配数 + 5匹配数 = 95。 3.3. 一类有向三角形树匹配数的计算方法 设D=(V， E)是在有向完全二叉树中的每一个节点的左右子节点上，添加一条从左子节点到右子节点的有向边所得的图，它是一类特殊的有向三角形树图。下面给出这一类有向三角形树匹配数的多项式算法。 定理3.3.1设D = (V， E)是在有向完全二叉树中的每一个节点的左右子节点上，添加一条从左子节点到右子节点的有向边所得的的图，设D = (V， E)是有n个三角形的有向三角形树，v 1 ，v 2 分别是有向三角形树D的根节点v 0 的左、右子节点，则 这里D vi 是以v i 为根节点的有向三角形树；D vi -v i 是从有向三角形树D vi 中删除根节点v i 形成的有向子图； 设v 3 ，v 4 分别是v 1 的左、右子节点，则 这里D v 3 -v 3 是D v 1 -v 1 的有向子图。 证明：用归纳法证明，n = 1时，有向三角形树D仅包含一个三角形，Z(D) = 5，定理成立。 假设对小于n个三角形的有向三角形树D定理成立。设v 1 ，v 2 分别是v 0 的左、右子节点，见图4。 则有向三角形树D的匹配数可分为以下两类： 第一类：不包含根节点v 0 的匹配，即有向子图D-v 0 的匹配数Z(D-v 0 )，见图5。 第二类：恰好包含根节点v 0 的有向边v 0 v 1 或v 0 v 2 的匹配，即有向子图D 1 ，D 2 的匹配数Z(D 1 )，Z(D 2 )，见图6。 因此 注意到有向子图 的匹配可分为以下两类： 第一类：不包含有向边v 1 v 2 的匹配，即有向树D v 1 的匹配数Z(D v 1 )与有向树D v 2 的匹配数Z(D v 2 )的乘积，见图7。 第二类：恰好包含有向边v 1 v 2 的匹配，即有向子图D 3 的匹配数Z(D 3 )，见图7。 因此 而有向子图D 1 的匹配可以分为以下两类： 第一类：不包含有向边v 1 v 2 的匹配，即有向子图D 4 的匹配数Z(D 4 )，见图8。 第二类：恰好包含有向边v 1 v 2 的匹配，即有向子图D 5 的匹配数Z(D 5 )，见图8。 图4. 有向三角形树D 图5. 有向子图D-v 0 图6. 有向子图D 1 ，有向子图D 2 图7. 有向树D v 1 ，有向树D v 2 ，有向子图D 3 图8. 有向子图D 4 ， 有向子图D 5 因此 ; . 则有向三角形树D的匹配数 注意到有向子图 与有向子图 的结构相同，则 由归纳假设得：对有向三角形树D v 3 ，D v 4 定理成立。 证毕。 定理3.3.2设D是含n个三角形的有向三角形树，则 其中 当且仅当D是有向三角形星 ； 当且仅当D是有向三角形路D pn 。 证明：用数学归纳法证明。N = 1时，有向三角形树D 仅包含一个三角形， ，定理成立。N = 2时，有向三角形树D包含两个三角形，这两个三角形构成的有向三角形树图有三种结构：有向三角形星图 ，有向三角形路 和D p 2 。计算得 ， ， ，定理成立。 假设对小于n个三角形的有向三角形树图结论成立。(1) 用数学归纳法证明右边不等式。设D n 是具有n个三角形的有向三角形树图，则D n 可以在某一个具有n-1个三角形的有向三角形树图D n -1 的任意节点与新 的节点v 0 粘贴得到。D n 和D n -1 的匹配有如下两种关系： 1) D n -1 的任意一个匹配和D 1 的任意一个匹配都没有公共始点和终点，注意到 ，此时有 2) D n -1 的某些匹配和D 1 的某些匹配有公共的始点，此时有 由归纳假设有 显然 ，因此得 且等式成立当且仅当 。 (2) 用数学归纳法证明左边不等式。设D n 可以在某一个具有n-1个三角形的有向三角形树图D n -1 的任意节点与新 的节点v 0 粘贴得到， 在 的中心与 的v 0 粘结得到，其中 的有向边为v 0 v 1 ，v 0 v 2 ，v 1 v 2 。类似(1)的证明考虑 和D n 的匹配，分下面几种情况考虑： a) 的匹配由v 1 v 2 与 匹配组成，D n 的匹配由v 1 v 2 与D n -1 的匹配组成，根据归纳假设这种情形下 。 b) 的匹配由v 0 v 1 ，v 0 v 2 ，v 0 v 1 v 2 分别与 三角形的第三边生成的匹配组成，D n 的匹配由v 0 v 1 ，v 0 v 2 ，v 0 v 1 v 2 分别与D n -1 三角形的第三边生成的匹配组成，这种情形下他们匹配数相等。 c) 的匹配只能是v 0 v 1 ，v 0 v 2 ，v 0 v 1 v 2 ，或者是 包含中心点v 0 的匹配，D n 的匹配由v 0 v 1 ，v 0 v 2 ，v 0 v 1 v 2 ，或者D n -1 三角形的非第三边生成的匹配组成，或者由v 0 v 1 ，v 0 v 2 ，v 0 v 1 v 2 ，和D n -1 中与v 0 不相交的D n -1 三角形的非第三边生成的匹配组成，这种情形下 。 由以上讨论得： 且等式成立当且仅当 。下面计算 。 根据定理3.3.1设含n个三角形的有向三角形星图 的中心节点为 是v 0 的邻居节点，见图9，则有向三角形星图的匹配可分为以下两类： 第一类：不包中心节点v 0 的匹配，即有向子图 的匹配数 ，见图9。 第二类：恰好包含中心节点v 0 的有向边v 0 v i ( )$的匹配，即有向子图 ( )的匹配数 ，见图10。 如图10所示，共有n个有向子图 ，因此 注意到 的每一个匹配必须包括有向边v 0 v i ，当包含的有向边v 0 v i 是v 0 的右节点时， 的匹配数 当包含的有向边v 0 v i 是v 0 左节点时， 的匹配数 而有向三角形星图 左节点数等于右节点数等于n。从 的一个k-匹配中删除左节点得到 的一个(k-1)-匹配，反之在 的(k-1)-匹配中添加左节点得到 的一个k-匹配， 则有 所以 图9. 有向三角形星图 ，有向子图 图10. 有向子图 证毕。 3.4. 有向三角形树匹配数的算法 本小节中，我们给出有向三角形树匹配数的算法。 设D = (V， E)是在有向完全二叉树中的每一个节点的左右子节点上，添加一条从左子节点到右子节点的有向边所得的图，设D n = (V， E)是包含n个三角形的有向三角形树，输出Z(D i )值。假设D 0 表示只含有一个节点的有向图，D vl 和D vr 分别表示D v 的左、右子图。 开始 ， ， For each bottom up do 显然，该算法的时间复杂度为 。