了解Nauty算法

时间:2017-03-14 20:41:49

标签: algorithm graph-theory canonicalization isomorphism

我想了解Nauty算法。 以下文章:http://www.math.unl.edu/~aradcliffe1/Papers/Canonical.pdf
在该算法中,顶点基于它们的程度和与其他组对应的组的相对程度(组动作)来区分。通过这种方式,我们得到了以下组:

1379|2468|5
完成此步骤后,将按照本文第7页中的说明完成拆分。 本文的一张图片是: Search Tree

我无法理解分裂是如何完成的 1379|2468|51|9|37|68|24|5 为什么19转到了不同的群组,37转到了其他群组。

1 个答案:

答案 0 :(得分:2)

简而言之,您个性化顶点,然后“粉碎”'生成的分区的单元格,直到分区变得公平。

如第5节所述:

  

达到了   公平分区,我们需要在顶点之间引入人为区分

这在定义9中有所描述。所以我们从单元格{1379}中选择{1},然后对结果分区进行细化,直到它是公平的(参见定义6及其下面的示例)。

因此,小区1 - {1} - 将小区3 - {2468} - 分成两个小区{68 | 24},原因是1个{68}中有0个邻居,{24}中有1个邻居。同样,{379}被{24}分成{9 | 37}。