算法作业 NP-complete problems 8.22

8.22 

In task scheduling,it is common to use a graph representation with a node for each task and  a directed edge from task i to task j if i is a precondition for j.This directed graph depicts the precedence constraints in the scheduling problem.Clearly,a schedule is possible if and only if the graph is acyclic;if it isn't,we'd like to identify the smallest number of constraints that must be dropped so as to make it acyclic.

Given a directed graph G=(V,E),a subset E'≤E is called a feedback arc set if the removal of edges E' renders G acyclic.

FEEDBACK ARC SET(FAS):Given a directed graph G=(V,E) and a budget b,find a feedback arc set of <=b edges,if one exists.

(a)Show that FAS is in NP

FAScan be shown to be NP-complete by a reduction from VERTEX COVER.Given an instance (G,b) of VERTEX COVER,where G is an undiected graph and we want a vertex cover of size <=b,we construct a instance (G',b) of FAS as follows.If G=(V,E) has n vertices v1,...,vn,then make G'=(V',E') a directed graph with 2n vertices w1,w1',...,wn.wn',and n+2|E|(directed) edges:

1.(wi,wi') for all i=1,2,...,n.

2.(wi',wj) and (wj',wi) for every (vi,vj)∈E.

(b)Show that if G containsa vertex cover of size b,then G' contains a feedback arc set of size b.

(c)Show that if G' contains a feedback arc set of size b,then G contains a vertex cover of size (at most) b.(Hint:Given a feedback arc set of size b in G',you may need to first modify it slightly to obtain another one which is of a more convenient form,but is of the same size or smaller.Then,argue that G must contain a vertex cover of the same size as the modified feedback arc set.)



(a)  显然FAS是可在多项式时间内验证的,因此属于NP。
(b)  设G的一个大小为b的顶点覆盖为C,对于任意顶点vi∈C ,设其在 ' G中相对应的顶点为wi和wi ',则将边(wi,wi'),添加到 E'。对C中的每个顶点都这样处
理后,所得到的边集E'即是G'的一个大小为b的feedback arc set。因为对于顶点wi和wi',当去掉边(wi,wi')后,所有与wi相连的边都不可能位于任何一个
环中,因为wi不存在出边,同样,所有与wi'相连的边也不可能位于任何一个环中,因为wi'不存在入边。
(c)  对于G中的任意一条边(vi,vj),设其在G'中相对应的顶点为wi,wi',wj,wj',相对应的边为(wi,wi'),(wj,wj'),(wi',wj),(wj',wi). 若E'是G'的一个大小为b的feedback arc set,显然,在这四条边中至少有一条边e属于E',否则就会形成环,而边e必然有个端点属于{wi,wj}.若wi是e的端点,则将vi加入到C,否则将vj加入到C。容易看出,在经过上述处理后,C即是G的一个大小不超过b的顶点覆盖。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值