相似图查询的有效图同构


10

给定图形G1,G2和G3,我们要在G1和G2以及G1和G3之间执行同构测试F。如果G2和G3非常相似,使得G3是通过从G2删除一个节点并插入一个节点而形成的,并且我们得到了F(G1,G2)的结果,那么我们可以计算F(G1,G3)而不必从头开始计算它吗通过扩展任何现有的最新方法?

例如,如果G2由节点2、3、4、5组成,而G3由节点3、4、5、6组成,我们可以利用F(G1,G2)的结果来计算F(G1, G3)更有效?


我现在没有争论。但是我的直觉是,您的问题在道德上与重建设想有关(en.wikipedia.org/wiki/Reconstruction_conjecture)。
曹艺新

Answers:


6

这是一个简单的多项式时间缩减,可以证明问题是GI完整的:即使您知道是同构的,也要检查由删除并添加节点构成的是否同构于,同图同构一样困难本身(在最坏的情况下)。G1,G2G3G2G1

给定两个图构建G=(V,E),G=(V,E)

G1=(VV{u},EE{(vi,u)viV})

即,两个图的并集加上连接到所有顶点的额外节点uV

选择 ; 显然,它们是同构的。G2=G1

现在构建删除并添加连接到所有顶点:G3uuV

G3=(VV{u},EE{(vi,u)viV})

G1,G3是同构,而是同构。G,G


2
这是一个很好的减少!但是,我要补充一点,仅GI完整性并不一定意味着没有优势,而只是在最坏的情况下它们的复杂性与多项式相关。再举一个例子,请注意顶点着色的GI也是GI完整的,但是我所知道的大多数算法仍然可以通过有用的方式利用顶点颜色。
约书亚·格罗肖

@JoshuaGrochow:谢谢,我澄清了这一点。
Marzio De Biasi

@MarzioDeBiasi:谢谢您的解释。根据我对您的解释的理解,如果连接到u和u'的顶点不同(不一定连接到V或V的所有顶点),我们就无法利用已知F(G1,G2)来计算F(G1,G3)。 V'),即使我们知道G和G'是同构的。那是对的吗?在这种情况下,这个问题与图同构本身一样难吗?
Eric Huang

@EricHuang:还原说,给出了两个同构的图和明确的方式来构建通过删除/添加一个节点(和一些边缘)到检查是否问题是同构是硬如图同构。顺便说一句,这个结果还扩展到相关的promise问题,在该问题中,您没有得到显式的方式来构建,而仅给出了是同构的,直到节点删除/添加操作为止。G 3 G 2 G 1G 3 G 3 G 1G 3G1,G2G3G2G1,G3G3G1,G3
Marzio De Biasi

您可以尝试使用Weisfeiler-Lehman方法或其变体,特别是如果您的原始图具有平面,树形,区间图或有界树宽图之类的结构时,其Weisfeiler-Lehman维数是一个小常数,在细化步骤中,我想您可以利用两个图之间的关系。
Rupei Xu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.