图与网络——支配集问题

定义:无向图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}​​​​​​​即为所求。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值