令 G (U u V, E) 为加权有向二部图(即 U 和 V 是二部图的两组节点,E 包含从 U 到 V 或从 V 到 U 的有向加权边)。这是一个例子:
在这种情况下:
U = {A,B,C}
V = {D,E,F}
E = {(A->E,7), (B->D,1), (C->E,3), (F->A,9)}
定义: DirectionalMatching(我创造了这个术语只是为了让事情更清楚):一组可以共享开始或结束顶点的有向边。也就是说,如果 U->V 和 U'->V' 都属于DirectionalMatching,则 V /= U' 和 V' /= U 但可能是 U = U' 或 V = V'。
我的问题:如何有效地找到一个DirectionalMatching,如上所述,用于最大化其边权重总和的双向加权图?
高效,我的意思是多项式复杂性或更快,我已经知道如何实现一种天真的蛮力方法。
在上面的示例中,最大加权DirectionalMatching为:{F->A,C->E,B->D},值为 13。
正式证明这个问题与图论中任何其他众所周知的问题的等价性也是有价值的。
谢谢!
注 1: 此问题基于最大加权二分匹配 _with_ 有向边,但额外放松允许匹配中的边共享起点或终点。由于这种放松有很大的不同,我创建了一个独立的问题。
注2:这是一个最大重量匹配。基数(存在多少边)和匹配覆盖的顶点数与正确结果无关。只有最大重量很重要。
注2:在我研究解决问题的过程中,我发现了这篇论文,我认为这对试图找到解决方案的其他人会有所帮助:Alternating cycles and paths in edge-colored multigraphs: a survey
注意 3:如果有帮助,您也可以将图视为等效的 2 边彩色无向二部多重图。然后问题公式将变成:找到具有最大权重和的没有颜色交替路径或循环的边集。
注 4:我怀疑这个问题可能是 NP 难的,但我对减少没有那么经验,所以我还没有设法证明它。
又一个例子:
想象一下你有
4个顶点:{u1, u2}
{v1, v2}
4条边:{u1->v1, u1->v2, u2->v1, v2->u2}
那么,不管它们的权重如何,u1->v2
和v2->u2
不能在同一个DirectionalMatchingv2->u2
中,和也不能u2->v1
。但是u1->v1
and u1->v2
can, and so can u1->v1
and u2->v1
.