Algorithm 二部图中是否存在k个不同的完全匹配?

Algorithm 二部图中是否存在k个不同的完全匹配?,algorithm,graph-algorithm,matching,np,bipartite,Algorithm,Graph Algorithm,Matching,Np,Bipartite,首先是一些定义。协NP问题是一个决策问题,其中答案“否”可以在多项式时间内得到验证。二部图中的完美匹配是一组节点对(一对是图中的一条边),其中每个节点在此集中恰好出现一次 给我一个nxn二部图,我试图找出图中是否存在k个不同的完美匹配的问题,其中k=多项式(n),是否是一个co-NP问题 迄今为止完成的工作 为了简化问题,我认为如果k=2,那么这是一个协NP问题。我认为这是正确的,因为如果两个节点之间不存在邻居交换,二部图没有两个不同的完美匹配。我将邻居的交换定义如下。设G1是图中的第一个集合,

首先是一些定义。协NP问题是一个决策问题,其中答案“否”可以在多项式时间内得到验证。二部图中的完美匹配是一组节点对(一对是图中的一条边),其中每个节点在此集中恰好出现一次

给我一个nxn二部图,我试图找出图中是否存在k个不同的完美匹配的问题,其中k=多项式(n),是否是一个co-NP问题

迄今为止完成的工作

为了简化问题,我认为如果k=2,那么这是一个协NP问题。我认为这是正确的,因为如果两个节点之间不存在邻居交换,二部图没有两个不同的完美匹配。我将邻居的交换定义如下。设G1是图中的第一个集合,G2是图中的第二个集合。当我们有G1的一个子集,S1={a,B},和G2的第二个子集,S2={X,Y},其中{(a,X),(a,Y),(B,X),(B,Y)}属于边集E时,交换就发生了。我称之为交换,因为如果a最初与X匹配,B与Y匹配,那么当a与Y配对,B与X,a和B交换了它们的邻居。我相信拥有两个不同的完美配对的唯一方法就是至少有一个这样的交换


现在,我们可以验证在多项式时间内不存在这样的交换。这是正确的,因为获取所有可能的子集S1和S2具有O(n^4)时间复杂度。这是因为我们需要G1中的(n选择2)乘以G2中的(n选择2),这给了我们n^4的上界。

我不确定这是否是一个协NP问题,但它肯定是NP问题。我认为你把“验证答案”的定义弄混了。在复杂性理论中,验证答案意味着您提供了一个证明您的答案正确的证书,并且可以在多项式时间内检查(验证)该证书

例如,在您的问题中,如果您有一组k个不同的完美匹配,这将是一个好的证书,验证它意味着检查它是否确实是输入图中的一组完美匹配。您可以在多项式时间内检查所有边是否都在图形中,并且在每个匹配中没有两条边共享一个顶点,并且所有边都不同。由于匹配中的边数是线性的,那么可以在多项式时间内验证每个匹配,然后,由于k是多项式,我们也在多项式时间内验证所有匹配的属性。最后,可以用k平方乘以n上的某个多项式来检查所有元素是否不同,从而产生多项式复杂性。是的,你的问题可以在多项式时间内得到验证,因此它是NP

现在,若你们能在多项式时间内找到这样的证明,这将足以证明你们的问题在p中,p中的所有问题都在NP和co-NP中。所以我看到了两种可能的方法来解决这个问题,你可以证明你的问题在P中,这会给你的问题一个肯定的答案,或者你可以证明你的问题是NP完全的,这会证明你的答案是否定的,因为所有的NP完全问题都不在协NP中(除非P=NP)


证明你的问题是否在协NP中的任何其他方法都可能非常困难和混乱,事实上,你迄今为止所做的工作是证明你可以在多项式时间内决定负的情况,这与验证负的情况是不同的,这将证明它是协NP,但因为你证明了这是在P中。

这似乎是一个更适合表达谢意的问题。我会在那里复印的。谢谢。但我相信你写的句子“现在,如果你能在多项式时间内找到这样的证明,这将足以证明你的问题在P中”是错误的,因为你能找到很多NP完全问题的“是”答案的证明。对于NP中的所有问题,你都能找到证明,事实上这就是NP的定义。查找证书也被称为搜索版本的决策问题。由于NP决策中的问题总是归结为搜索,NP完全问题的一个优点是搜索归结为决策。请看一看,见第1页最后第二段。看起来您对某些定义感到困惑。