存储增强路径以实现最大图形匹配

时间:2019-05-01 20:13:55

标签: algorithm graph matching

我正在尝试为我的论文写一个最大的图匹配算法。我坚持在算法的扩充步骤中如何存储扩充路径。首先,我将写出我要解决的实际问题。然后,我将尝试简化它。

假设您有一个图,其中一个节点可以与其邻居之一匹配,并且您正在尝试计算最大匹配。每个节点正好连接到其他三个节点。您已尽力而为,但有些节点无法匹敌,因此您需要进行扩充。至此,您已经知道匹配项和未匹配的节点列表。 扩展过程如下:您从不匹配节点列表中选择了两个节点,并在它们之间找到了一条替代路径。 替代路径由上述两个节点以及之间的匹配节点列表组成。之所以称为交替路径,是因为节点之间的匹配边缘和未匹配边缘沿该路径交替。

您可以在任意两个不匹配的节点之间找到一条交替的路径,但是选择较近的节点对于算法的性能更好。因此,您选择一个不匹配的节点并执行 BFS ,直到到达另一个不匹配的节点。当您找到一条这样的路径(满足交替路径规则)时,便交换了匹配项,以便现在匹配不匹配的节点。

简而言之,我需要运行某种BFS算法,其中存在两种类型的边(比如红色和黑色),并且这些边将沿着路径交替变化,直到到达目的地。最后,我需要从我的来源到满足红/黑规则的所有可能的目的地中最近的路径。

我能够提出算法的伪代码,但是我不知道如何存储算法找到的替代路径。怎么办也欢迎任何其他策略。

0 个答案:

没有答案