图与网络——支配集问题

定义:无向图G=(V,E)的支配集U\subseteq V,每个属于V-U的点v,至少有一个邻居在U中。

定理:n点图G=(V,E),节点的最小度数\delta>1,则G有一个支配集,最多n[1+ln(\delta+1)]/(\delta+1)个点。

证明1(概率方法:非构造性证):

求解思路:先以p概率做n次伯努利实验构造一个概率子集合X, X有较大概率是不满足支配 集的定义的,因此定义集合Y表示没有被概率子集合X所支配的节点集合,X\cup Y一定是支配集。

证明过程:

  1. 以p概率做n次伯努利实验构造一个概率子集合X:E[|X|] = np

  2. Y_X是V-X中没有被X支配的点的集合,集合Y_X出现的概率:

    P(v\in Y_X) =(1-p)^{d(v)+1}\le(1-p)^{\delta+1}

    E[|Y_X|]\leq n\cdot(1-p)^{\delta+1}
  3. 支配集U=X\cup Y_X

    E[U]=E[|X|+|Y_X|]\leq n\cdot p+n\cdot (1-p)^{\delta+1}

  4. 优化最小支配集U_{min},对E[|U|]求偏导:

    E[|U|]\le np+n(1-p)^{\delta+1}\le np+ne^{-p(\delta+1)}

        \frac{\partial[np + ne^{-p(\delta+1)}]}{\partial p}=n + n \cdot [-(\delta+ 1)]e^{-p(\delta+1)} = 0

        p=\frac{ln(\delta + 1)}{\delta+ 1}​​​​​​​​​​​​​​​​​​​​​​​​​​​​

        E[|U|]\le n\cdot \frac{ln(\delta + 1)}{\delta + 1} + ne^{-\frac{ln(\delta+1)}{\delta+1}(\delta+1) }=\frac{n[1 + ln(\delta + 1)]}{\delta+1}

证明2(贪心算法):

设每次都是选取度数最高的节点放到预备支配集U中去。执行了若干步之后还有r个节点没有被支配,这说明了这r个节点和其邻居都没有被选进去。倘若一个节点被选进去,那个就可以支配d(v) + 1个节点。所以从平均值角度考虑,每次选进去一个节点可以支配至少\frac{r(\delta+1)}{n}个节点。r(\delta+1)是最少的余下r个节点可以支配的节点,再选一个大一点的n来做平均。所以选一次之后节点余下r-\frac{r(\delta+1)}{n}个节点。假设从个节点开始做$t$步贪心算法,并设最后余下了\frac{n}{\delta+1}个节点,即:

        n (1 -\frac{\delta+1}{n})^t \le \frac{n}{\delta +1}

对这个表达式进行优化:

        n(1 -\frac{\delta+1}{n})^t \le ne^{-\frac{\delta+1}{n}t} \le \frac{n}{\delta +1}

        t \le n\cdot \frac{ln(\delta + 1)}{\delta + 1}

所以支配集的个数为t+ \frac{n}{\delta+1} \le \frac{n[1+ln(\delta+1)}{\delta+1}​​​​​​​即为所求。

你可能感兴趣的:(图论)