24.12.2013 Views

Here - Combinatorial algorithms and algorithmic graph theory

Here - Combinatorial algorithms and algorithmic graph theory

Here - Combinatorial algorithms and algorithmic graph theory

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

32 Generation of cubic <strong>graph</strong>s<br />

the mapping φ ′ from V (T (G, S ′ )) to V (G) similarly. The permutation γ 0 of V (G)<br />

defined by γ 0 (φ(v)) = φ ′ (γ(v)) for all v ∈ V (T (G, S)) is an automorphism of G.<br />

Moreover, γ 0 maps S onto S ′ with the possible exception that when S contains<br />

one extremal vertex w, <strong>and</strong> no other vertex, of a K4<br />

− sub<strong>graph</strong> H, S ′ might<br />

contain either γ 0 (w) or the other extremal vertex of the K4<br />

− sub<strong>graph</strong> γ 0(H). In<br />

either case, S ≡ S ′ by the definition of equivalence.<br />

Since for every <strong>graph</strong> with reducible triangles the <strong>graph</strong> resulting from a<br />

bundled triangle reduction is uniquely determined (i.e. every <strong>graph</strong> obtained by<br />

a bundled triangle insertion operation is canonical), we get the following Lemma:<br />

Lemma 2.5. If exactly one representative of every isomorphism class of cubic<br />

connected <strong>graph</strong>s up to n − 2 vertices is given, then applying bundled triangle<br />

insertion to one member of each equivalence class of extensible sets that leads<br />

to a cubic connected <strong>graph</strong> on n vertices generates exactly one representative for<br />

every isomorphism class of cubic connected <strong>graph</strong>s on n vertices that contain<br />

reducible triangles.<br />

Thus no isomorphism rejection is needed for <strong>graph</strong>s with reducible triangles<br />

(other than the equivalence relation on extensible sets): <strong>graph</strong>s constructed by<br />

the bundled triangle operation are always canonical <strong>and</strong> pairwise non-isomorphic.<br />

This is one of the main advantages of the triangle insertion bundling, as checking<br />

whether the last operation was canonical can be very expensive in general. This<br />

does not only avoid the time for canonicity checking, but also the time needed<br />

for constructing <strong>graph</strong>s that are rejected after construction because they are not<br />

canonical. Also note that <strong>graph</strong>s with r reducible triangles <strong>and</strong> n vertices are<br />

generated from <strong>graph</strong>s with n − 2r vertices. So as can be seen from Table 2.2 at<br />

the beginning of this section, <strong>graph</strong>s with reducible triangles are often generated<br />

from much smaller <strong>graph</strong>s.<br />

2.4.3 Optimisations<br />

One of the routines that can be time consuming in structure generation programs<br />

is the computation of automorphism groups. We used nauty for this task.<br />

Although nauty is very efficient, the large number of calls can be expensive.<br />

The argument used in the proof of Lemma 2.4 shows that a non-trivial automorphism<br />

of T (G, S) must come from a non-trivial automorphism of G. So if<br />

Aut(G) is trivial, this implies that Aut(T (G, S)) is also trivial. Thus if Aut(G)<br />

is trivial, we do not have to call nauty to compute Aut(T (G, S)). This is another

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!