我有一段时间一直在做作业,我一直在努力,对此我将不胜感激。这是关于选择一个已知问题的,该问题的NP完全性得到证明,然后构造从该问题到下一个问题的归约关系,我将其称为DGD(有向图诊断)。
问题
DGD 一个实例由顶点V = I组成。∪ Ø 。∪乙,向边Ë和一个正整数ķ。共有三种类型的顶点:仅具有输入边I的顶点,仅具有输出边O的顶点和具有输入和输出边B的顶点。此外,令D =O × I。
现在的问题是,我们是否可以覆盖最多D个元素的所有节点,即
其中表示从a到b的定向路径。
我认为控制集问题是我应该避免的问题,因为这也涉及用另一子集覆盖节点的子集。我尝试通过首先为控制集的每个元素创建两个节点,复制所有边,然后将DGD实例的设置为与DS实例的k相等来创建DGD实例。
假设一个简单的DS-实例与节点,2和3和边缘(1 ,2 )和(1 ,3 )。这是一个yes实例,其中k = 1;在这种情况下,支配集仅由节点1组成。用刚才描述的方法进行简化,这将导致DGD实例具有两条路径(1 → 2 → 1 ')和(1 → 3 → 1 '); 覆盖所有节点,只是一对就足够了。如果不是不能以多项式时间确定DS实例的主导集这一事实,那么这将是完美的,这是必须的。
我发现有很多好看方式转变的边缘,减少顶点的时候,但我的问题是某种表达DGD的在DS的方面ķ。统治集合似乎可以减少一个合适的问题,但是由于这个原因,我认为也许我应该尝试减少没有这样k的问题?