Isomorphism-testing versus automorphism-finding (graphs)

From Groupprops

Description

We are interested in establishing relationships between:

  • Problems of testing whether two graphs are isomorphic (both arise from a restricted class of graphs)
  • Problems of finding a nontrivial automorphism of a graph (subject to some further conditions)
  • Problems of finding a generating set for the whole automorphism group of a graph

Here, we outline how we can relate these three problems for various classes of graphs.

Reducing isomorphism-testing to automorphism-finding

The problem is of this kind: we are given two graphs and , both known to satisfy property . We need to find a single graph such that knowing the automorphism group of can tell us whether and are isomorphic as graphs.

The simplest trick is to work with the disjoint union. This works if and are both connected graphs. The idea is as follows:

  • Consider the graph obtained as the disjoint union of and
  • Find a generating set for the automorphism group of
  • Take any vertex . Then is isomorphic to if and only if there exists at least one element of the generating set taking to inside .

The problem with this is at itself is no longer a connected graph. Thus, if we want to reduce the problem to the problem of determining an automorphism group of a connected graph, we need to do something more.

Reducing automorphism-finding to isomorphism-testing

Problem of finding an isomorphism acting in a certain way on a subset

The question: given two graphs, is there an isomorphism between them that acts in a certain way on a given subset? That is, can we have an automorphism that sends some of the vertices to fixed destinations (or some of the edges to fixed destinations)? In fact, this problem reduces to the graph isomorphism problem, by means of gadget attachment.

For making sure that vertex goes to , attach a gadget to both and such that in the graph with the attached gadget:

  • Any isomorphism between the new graphs must map to
  • Any isomorphism of the original graphs mapping to must lift uniquely to an isomorphism of the new graphs.

Finding a nontrivial graph automorphism

The idea is very similar to that of finding a satisfying assignment for a CNF formula given the ability to check circuit satisfiability. That is, we determine the isomorphism between the two graphs by means of a decision tree, where at each step, we choose where vertex of the graph goes, having decided where the previous vertices go.

Suppose we have fixed where vertices go, say the images are . Then, we need to find where could go. For every , check if there is a graph isomorphism between and which sends to , to , and so on, and send to . We are guaranteed that we will find such a because there does exist an isomorphism.

Having located such a , fix as and proceed.

Finding a generating set for the automorphism group

Here, instead of finding just one nontrivial graph automorphism, we need to find enough that generate the whole group. The idea is to use the Sims filter trimming concept even as we are constructing the generating set. That is:

  • First, for each , we find one automorphism each that sends to .
  • Henceforth, all automorphisms in the generating set must send to . Try, for every , whether there is an automorphism sending 1 to 1 and 2 to .
  • Keep proceeding like this. We'll get a generating set with at most elements.