5

I am trying to understand the Nauty algorithm. Following this article: http://www.math.unl.edu/~aradcliffe1/Papers/Canonical.pdf
In this algorithm the vertices are distinguished based on their degree and the relative degree of a group corresponding to other groups(group action). In this way we get the groups as:

1379|2468|5
After this step, splitting is done as mentioned in this paper - page 7. One image from this article is: Search Tree

I am unable to understand how the splitting is done from 1379|2468|5 to 1|9|37|68|24|5 Why 1 and 9 went to different groups and 37 went to another group.

user2314737
  • 27,088
  • 20
  • 102
  • 114
Dip
  • 192
  • 15
  • It's probably not the right place to ask the question here. You might get better help on math.stackexchange.com – hivert Mar 14 '17 at 22:06
  • I can answer this question if you like, but math stackexchange might be better I guess - also there is a very clear explanation on the nauty/traces website : http://pallini.di.uniroma1.it/Introduction.html – gilleain Mar 14 '17 at 22:12

1 Answers1

3

Briefly, you are individualizing vertices and then 'shattering' the cells of the resulting partition until the partition becomes equitable.

As it says in section 5:

Having reached an equitable partition, we need to introduce artificial distinctions between vertices

This is described in definition 9. So we have chosen {1} from the cell {1379} and then refined the resulting partition until it is equitable (see definition 6 and the example below it).

Thus cell 1 - {1} - shatters cell 3 - {2468} - into two cells {68|24} due to 1 having 0 neighbours in {68} and one in {24}. Similarly, {379} is split by {24} into {9|37}.

gilleain
  • 621
  • 3
  • 11
  • 24
  • okay, got the most part of your answer, except why `{1} from the cell {1379}`. Is that totally random ? What will happen if for some cases the first node cannot do the partition. Thanks! – Dip Mar 15 '17 at 16:48
  • @Dip This is a key part of the algorithm - the search tree. Let's say you chose each one in turn (1, then 3, then 7, then 9) then you would be guaranteed to explore all the discrete partitions (leaves). However, in highly regular graphs, many leaves of the tree are equivalent - so the algorithm prunes the search. – gilleain Mar 15 '17 at 17:10
  • 1
    I highly recommend this book : http://www.math.mtu.edu/~kreher/cages.html to understand this algorithm (also in general) – gilleain Mar 15 '17 at 17:15
  • Thanks a lot, I skimmed over chapter 7 and got the idea. Basically, if we chose each vertex one by one and use it to split the groups, it is guaranteed to refine the existing groups. AND some of the leaf nodes will be equivalent in the tree, so they will be pruned – Dip Mar 15 '17 at 18:45
  • can you please see this question once. [link](https://math.stackexchange.com/questions/2234672/nauty-shattering-of-groups) . TIA – Dip Apr 14 '17 at 23:17
  • @gilleain thanks for this link, indeed the only book that went thoroughly with examples – Sergey Ivanov Jul 10 '19 at 17:43