【算法概论】FAS问题与顶点覆盖问题

本文探讨了FAS(Feedback Arc Set)问题与顶点覆盖问题的关联,证明了FAS问题的NP-completeness。通过从顶点覆盖问题的转换,展示了在有向图中找到FAS的条件,以及FAS存在如何推导出顶点覆盖的情况。内容包括FAS的多项式时间验证、顶点覆盖转化为FAS和FAS转化为顶点覆盖的证明。
摘要由CSDN通过智能技术生成

题目出自《算法概论》的第八章8.22

问题描述:
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.
FAS can be shown to be NP-complete by a reduction from VERTEX COVER.
(a) Show that FAS is in NP.
(b) Show that if G  contains a 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  .
G=(V,E)  has n  vertices v 1 ,...,v n   , then make G  =(V  ,E  )  a directed graph with 2n  vertices w 1 ,w 1   ,...,w n ,w n     , and n+2|E|  (directed) edges:

  • (w i ,w i   )  for all 1,2,...,n  .
  • (w i ,w j   )  and (w j ,w i   )  for every (v i ,v j )E  .
    值得注意的是, G  为无向图, G    为有向图。

问题解析:
(a) 问题a需要证明FAS是一个NP问题。首先介绍一下P问题,NP问题,以及NP完全问题(NPC, NP - Complete).

  • P问题(Polynomial Problem)即可以在多项式时间内解决的问题。
  • NP问题(Non-deterministic Polynomial Problem), 即不确定是否能在多项式时间内解决,但可以在多项式时间内验证一个解的问题。
  • NPC问题:如果所有的NP问题能够在多项式时间内规约为某个NP问题,那么这个NP问题被称为NPC问题。

我们不确定FAS问题是否能在多项式时间内得到一个解,需要证明在多项式时间内验证一个解 E    是否是FAS的解。
有如下验证:

  1. 判断 |E  |<=b 
  2. 判断对于有向图
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值