匹配非同构图

时间:2018-10-01 06:01:08

标签: algorithm graph-theory graph-algorithm isomorphism

我有两个图G1和G2,它们不是同构的。我需要制作一个新图G1',以使G1的变化最小,它将具有G1和G2的节点。例如,假设G1中有一个节点n1,其中有三个连接节点n11,n12,n13。如果现在G2中的“对应”节点n2具有5个节点n21,n22,n23,n24,n25,则G1'中的n1'也需要具有五个节点n11',n12',n13',n14',n15'。从G1复制的前三个和另外两个节点,其值将是三个中最后一个的值。从额外节点发出的树将是全新创建的,或者将包含一些来自G1的额外节点,这些额外节点在G2中没有等效节点(从某种意义上来说并不是“用尽”)。

问题是1)找到最合适的种子作为起点,以使起始视图尽可能相似2)从额外的节点构建树,使添加的节点数保持最小

编辑:

我将尝试借助插图进一步解释这一点。我对图论的知识很肤浅,因此,如果听起来有些愚蠢,请原谅。

我广泛地希望获得一个图,该图在节点操作最少的情况下可以采用两个非同构源图之一的形式。

Generic Graph For the Non-isomorphic Ones

在上面的示例中,图G'可以采用G或H的两种形式,并带有一定数量的pf节点改组。

1)为了使它成为G,我们将所有橙色节点保持在其位置。点状节点将“合并”到其相邻节点。因此,B21'将具有A21的值,并且将在相同位置(溶解相应的边)。对B31'-A31,B14'-A15 B25'-B23,A32'-A22和A23'-A32也将发生。通过这种配置,图形将完全类似于G,而没有任何边缘“伸出”

2)为了使其与H,A11和A12同构,将采用A23的A13,A32和A32'的值,A22的A23'的值。虚线节点将从合并位置“出来”。

问题是找到G'。也许没有现成的图形操作或不可能的解决方案,但是任何欢迎以任何程度的逼近度和效率实现此目标的指针。

NB:起始节点A1和B1是任意的。问题的前半部分是识别这些节点,以使视图尽可能相似。

1 个答案:

答案 0 :(得分:2)

这至少与graph isomorphism problem一样困难,{{3}}目前尚无法在多项式时间内求解。因此,您不应期望能够找到解决问题的有效算法。

很容易看出对应关系,因为如果G1G2实际上是同构的,则您将拥有G1' = G1,因此可以使用解决此问题的算法来求解图同构问题。