SlideShare a Scribd company logo
Isomorph-free exhaustive generation*
Jayant Apte
ASPITRG
B. D. McKay, Isomorph-free exhaustive generation, Journal of Algorithms, 26 (1998) 306-324.
Some Background
Isomorphism
● An isomorphism between two combinatorial
objects is a map that preserves sets and
relations among elements
● eg. two undirected graphs are isomorphic if
there exists a bijection between their vertex
sets s.t. edge relations are preserved
● An isomorphism class is a collection of objects
all isomorphic to one another
Isomorphism
a g
b h
c i
d j 4 3
5 6
8 7
21
Labeled vs. Unlabeled
● Labeled object means an object with labels
● Unlabeled object means an entire isomorphism
class
Problem
● Generate a list of all objects in a class up to a
certain size
● Make sure there are no isomorphic objects in
the list
Read-Faradzev type algorithm
● Define the notion of a canonical labeled object in an
isomorphism class
● Make sure that there exists at least one maximal (in
some sense) sub object contained in the canonical
object which is also canonical
● Developed independently by Read and Faradzev
● No relabeling at intermediate steps
I. A. Faradzev, Generation of nonisomorphic graphs with a given degree sequence
(Russian), in “Algorithmic Studies in Combinatorics” (Nauka, Moscow, 1978) 11–19
I. A. Faradzev, Constructive enumeration of combinatorial objects. Problemes Com-
binatoires et Theorie des Graphes Colloque Internat. CNRS 260. CNRS Paris (1978)
131–135.
R. C. Read, Every one a winner, Annals Discrete Math., 2 (1978) 107–120.
Examples of RF-type algorithms
● Cubic graph* generator:
● Regular graph* generator:
● Generator for 1-factorizations* of complete graphs:
G. Brinkmann, Fast generation of cubic graphs, J. Graph Theory, 23 (1996) 139–149.
M. Meringer, Erzeugung regul arer Graphen, Diplomarbeit, Univ. Bayreuth, 1996.
J. H. Dinitz, D. Garnick and B. D. McKay, There are 526,915,620 nonisomorphic
one-factorizations of K 12 , J. Combinatorial Designs, 2 (1994) 273–285.
*Cubic graphs are undirected graphs with every vertex of degree 3
*Regular graphs are graphs with all vertices having same degree
*A 1-factor of a graph is collection of edges with every vertex appearing only once.
A 1-factorization is partition of edges into 1- factors
Examples of RF-type algorithms
● Matroid generator:
Yoshitake Matsumoto, Sonoko Moriyama, Hiroshi Imai, and David Bremner. Matroid
enumeration for incidence geometry. Discrete Comput. Geom., 47(1):17–43, January
2012.
McKay-type algorithms
● Canonical Construction Path
● Only objects generated via a canonical augmentation
are output
● Similar to RF-type algorithm in a sense that a
tree/forest amongst unlabeled objects is traversed
● However, labels are not important. Objects may be
relabeled freely at intermediate steps
● Canonical augmentation might lead to isomorphs, so
some way of rejecting them is needed
Examples of McKay-type algorithms
● Cubic graph generator:
● Matroid generator:
B. D. McKay and G. F. Royle, Constructing the cubic graphs on up to 20 vertices,
Ars Combinatoria, 21A (1986) 129–140.
Mayhew, D., Royle, G.F.: Matroids with nine elements. J. Comb. Theory, Ser. B 98,
415–431 (2008)
Other Methods
● Method of Homomorphisms
T. Grüner, R. Laue, M. Meringer: Algorithms for Group Actions: Homomorphism Principle
and Orderly Generation Applied to Graphs. DIMACS Series in Discrete Mathematics and
Theoretical Computer Science 28, 113-122, 1997.
McKay-type algorithms
Part 1: Theoretical Background
General framework
Example: TFGs
General framework
General framework
Example: TFGs
Example: TFGs
Axioms C1-C7
Since they are different
types of objects
L and U commute with group action
Every lower object has non-empty f
f respects orbits under G
f' respects orbits under G
f respects orbits under G
g=Identity permutation?
f' respects orbits under G
g=Identity permutation?
Order is unchanged by group action
A result of complementarity
Verify axioms for TFGs
Verify axioms for TFGs
(By construction)
(By construction)
(Every vertex deletion can be undone with
addition of a vertex, except for K_1)
(By construction)
(By construction)
(By construction)
(By construction)
Isomorphism and automorphism
Part 1: Theoretical Background
Towards a forest
Types of unlabeled objects
The m function
The m function
L(X) is fixed setwise under action of Aut(X)
The m function
The m function
Example: TFGs
Example: TFGs
L(X)
0
1 2
3
1
2
3
0
2
3
0
1
3 0 2 1
Sage to the rescue
Orbits in L(G) under Aut(G)
0
1 2
3
1
2
3
0
2
3
0
1
3 0 2 1
m function for TFGs
Orbits in L(G) under Aut(G)
0
1 2
3
1
2
3
0
2
3
0
1
3 0 2 1
W
INNER!
Completely arbitrary choices
Existence
Example: TFGs
0
1 2
3
0
1
2
1
0
2
2
0
0
0
2
1
2
0
1
1
2
0
Example: TFGs
0
1 2
3
0
1
2
1
0
2
2
0
0
0
2
1
2
0
1
1
2
0
Uniqueness
Ancestors and Descendants
Part II: Traversing the tree
What if we can't compute
automorphism groups?

More Related Content

Similar to McKay's Algorithm for Isomorph-free Exhaustive Generation

S. Duplij. Polyadic algebraic structures and their applications
S. Duplij. Polyadic algebraic structures and their applicationsS. Duplij. Polyadic algebraic structures and their applications
S. Duplij. Polyadic algebraic structures and their applications
Steven Duplij (Stepan Douplii)
 
Hyers ulam rassias stability of exponential primitive mapping
Hyers  ulam rassias stability of exponential primitive mappingHyers  ulam rassias stability of exponential primitive mapping
Hyers ulam rassias stability of exponential primitive mapping
Alexander Decker
 
Polyadic systems and multiplace representations
Polyadic systems and multiplace representationsPolyadic systems and multiplace representations
Polyadic systems and multiplace representations
Steven Duplij (Stepan Douplii)
 
g-lecture.pptx
g-lecture.pptxg-lecture.pptx
g-lecture.pptx
RadharamanDas5
 
Turning Krimp into a Triclustering Technique on Sets of Attribute-Condition P...
Turning Krimp into a Triclustering Technique on Sets of Attribute-Condition P...Turning Krimp into a Triclustering Technique on Sets of Attribute-Condition P...
Turning Krimp into a Triclustering Technique on Sets of Attribute-Condition P...
Dmitrii Ignatov
 
Finding statistically significant interactions between continuous features (I...
Finding statistically significant interactions between continuous features (I...Finding statistically significant interactions between continuous features (I...
Finding statistically significant interactions between continuous features (I...
Thien Q. Tran
 
Interval Pattern Structures: An introdution
Interval Pattern Structures: An introdutionInterval Pattern Structures: An introdution
Interval Pattern Structures: An introdution
INSA Lyon - L'Institut National des Sciences Appliquées de Lyon
 
Extracting biclusters of similar values with Triadic Concept Analysis
Extracting biclusters of similar values with Triadic Concept AnalysisExtracting biclusters of similar values with Triadic Concept Analysis
Extracting biclusters of similar values with Triadic Concept Analysis
INSA Lyon - L'Institut National des Sciences Appliquées de Lyon
 
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in GraphsAlgorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
IJERA Editor
 
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in GraphsAlgorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
IJERA Editor
 
Bayesian hybrid variable selection under generalized linear models
Bayesian hybrid variable selection under generalized linear modelsBayesian hybrid variable selection under generalized linear models
Bayesian hybrid variable selection under generalized linear models
Caleb (Shiqiang) Jin
 
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRYON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
Fransiskeran
 
Maths 12 supporting material by cbse
Maths 12 supporting material by cbseMaths 12 supporting material by cbse
Maths 12 supporting material by cbse
nitishguptamaps
 

Similar to McKay's Algorithm for Isomorph-free Exhaustive Generation (14)

S. Duplij. Polyadic algebraic structures and their applications
S. Duplij. Polyadic algebraic structures and their applicationsS. Duplij. Polyadic algebraic structures and their applications
S. Duplij. Polyadic algebraic structures and their applications
 
EDSE 442
EDSE 442EDSE 442
EDSE 442
 
Hyers ulam rassias stability of exponential primitive mapping
Hyers  ulam rassias stability of exponential primitive mappingHyers  ulam rassias stability of exponential primitive mapping
Hyers ulam rassias stability of exponential primitive mapping
 
Polyadic systems and multiplace representations
Polyadic systems and multiplace representationsPolyadic systems and multiplace representations
Polyadic systems and multiplace representations
 
g-lecture.pptx
g-lecture.pptxg-lecture.pptx
g-lecture.pptx
 
Turning Krimp into a Triclustering Technique on Sets of Attribute-Condition P...
Turning Krimp into a Triclustering Technique on Sets of Attribute-Condition P...Turning Krimp into a Triclustering Technique on Sets of Attribute-Condition P...
Turning Krimp into a Triclustering Technique on Sets of Attribute-Condition P...
 
Finding statistically significant interactions between continuous features (I...
Finding statistically significant interactions between continuous features (I...Finding statistically significant interactions between continuous features (I...
Finding statistically significant interactions between continuous features (I...
 
Interval Pattern Structures: An introdution
Interval Pattern Structures: An introdutionInterval Pattern Structures: An introdution
Interval Pattern Structures: An introdution
 
Extracting biclusters of similar values with Triadic Concept Analysis
Extracting biclusters of similar values with Triadic Concept AnalysisExtracting biclusters of similar values with Triadic Concept Analysis
Extracting biclusters of similar values with Triadic Concept Analysis
 
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in GraphsAlgorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
 
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in GraphsAlgorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
Algorithmic Aspects of Vertex Geo-dominating Sets and Geonumber in Graphs
 
Bayesian hybrid variable selection under generalized linear models
Bayesian hybrid variable selection under generalized linear modelsBayesian hybrid variable selection under generalized linear models
Bayesian hybrid variable selection under generalized linear models
 
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRYON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
 
Maths 12 supporting material by cbse
Maths 12 supporting material by cbseMaths 12 supporting material by cbse
Maths 12 supporting material by cbse
 

More from Jayant Apte, PhD

Adjacency Decomposition Method: Breaking up problems
Adjacency Decomposition Method: Breaking up problemsAdjacency Decomposition Method: Breaking up problems
Adjacency Decomposition Method: Breaking up problems
Jayant Apte, PhD
 
Entropic Inequalities and marginal problems (Fritz and Chavez)
Entropic Inequalities and marginal problems (Fritz and Chavez) Entropic Inequalities and marginal problems (Fritz and Chavez)
Entropic Inequalities and marginal problems (Fritz and Chavez)
Jayant Apte, PhD
 
Exact Repair problems with multiple sources: CISS 2014
Exact Repair problems with multiple sources: CISS 2014Exact Repair problems with multiple sources: CISS 2014
Exact Repair problems with multiple sources: CISS 2014
Jayant Apte, PhD
 
Latex Workshop Tutorial
Latex Workshop TutorialLatex Workshop Tutorial
Latex Workshop Tutorial
Jayant Apte, PhD
 
Network Coding for Distributed Storage Systems(Group Meeting Talk)
Network Coding for Distributed Storage Systems(Group Meeting Talk)Network Coding for Distributed Storage Systems(Group Meeting Talk)
Network Coding for Distributed Storage Systems(Group Meeting Talk)
Jayant Apte, PhD
 

More from Jayant Apte, PhD (8)

Adjacency Decomposition Method: Breaking up problems
Adjacency Decomposition Method: Breaking up problemsAdjacency Decomposition Method: Breaking up problems
Adjacency Decomposition Method: Breaking up problems
 
Entropic Inequalities and marginal problems (Fritz and Chavez)
Entropic Inequalities and marginal problems (Fritz and Chavez) Entropic Inequalities and marginal problems (Fritz and Chavez)
Entropic Inequalities and marginal problems (Fritz and Chavez)
 
Exact Repair problems with multiple sources: CISS 2014
Exact Repair problems with multiple sources: CISS 2014Exact Repair problems with multiple sources: CISS 2014
Exact Repair problems with multiple sources: CISS 2014
 
Latex Workshop Tutorial
Latex Workshop TutorialLatex Workshop Tutorial
Latex Workshop Tutorial
 
Network Coding for Distributed Storage Systems(Group Meeting Talk)
Network Coding for Distributed Storage Systems(Group Meeting Talk)Network Coding for Distributed Storage Systems(Group Meeting Talk)
Network Coding for Distributed Storage Systems(Group Meeting Talk)
 
Candidacy Exam Talk
Candidacy Exam TalkCandidacy Exam Talk
Candidacy Exam Talk
 
Jayant lrs
Jayant lrsJayant lrs
Jayant lrs
 
Jayant chm
Jayant chmJayant chm
Jayant chm
 

Recently uploaded

Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 

Recently uploaded (20)

Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 

McKay's Algorithm for Isomorph-free Exhaustive Generation