或者我是否需要为每个独特的图形开发算法?给用户一种类型的图形,然后他们应该使用该接口将节点和边缘添加到初始图形。然后他们提交图表,算法应该确认用户的图表是否与给定的图表匹配。
算法不仅需要确认每个节点的邻居,还需要确认每个节点和每个边缘都具有正确的值。初始图形将始终具有根节点,这是算法可以从哪里开始的。
我想知道我是否可以在一般意义上为这样的算法开发逻辑,或者我是否需要为每个唯一图形实际编码唯一算法。如果是后一种情况,这不是什么大问题,因为我只有大约20个独特的图表。
感谢。我希望我很清楚。
答案 0 :(得分:2)
Graph isomorphism problem可能并不难。但很难证明这个问题并不难。
这个问题有三种可能性
图形同构问题是NP-hard
图形同构问题有一个多项式时间解
图形同构问题既不是NP-hard也不是P.
如果两个图是同构的,则存在这种同构的置换。以此排列作为证书,我们可以证明这两个图在多项式时间内彼此同构。因此,图同构位于NP集的领域。然而,30多年来没有人可以证明这个问题是NP难还是P。因此,尽管问题描述简单,但这个问题本质上很难。