《算法概论》习题8.20

问题描述

在一个无向图G=(V,E)中,我们称D⊆V为一个占优集,是指每个v∈V都属于D或与D中一个节点为邻。在占优集问题中,输入为一个图和预算b,目标是求图中的一个规模不超过b的控制集——如果该集存在,证明该问题是NP-完全的。


解答

可以将顶点覆盖问题归约到占优集问题。若要在图G(V, E)中求得不大于b的一个顶点覆盖,可以先对图G 做一个预处理:对每条边(u,v)∈E ,添加一个辅助顶点w,及两条边(u,w)和(v,w),如下图所示:



对每条边都这样处理后得到一个新图G'。容易看出,若原图G 中存在不大于b 的顶点覆盖,这个顶点覆盖也是新图G'的一个占优集。反过来,若新图G'中存在一个不大于b 的占优集,那么对这个支配集进行一些处理后也能得到一个图G 的不大于b 的顶点覆盖。处理过程如下:设该占优集为D,对于每条边(u,v)及相应的辅助顶点w,若w∉D ,则不用做任何处理,若w∈D 且u,v∉D,那么可以在D中将w替换成u 或v,若w∈D 同时u∈D∨ v∈D,则直接将w从D中删掉即可。


综上,因为顶点覆盖问题是NP-完全的,所以占优集问题也是NP-完全的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值