|
IterOrbit
Subgraph isomorphism with iterative graphlet-orbit filtering
|
Symmetry-breaking constraints for counting embeddings. More...
Go to the source code of this file.
Classes | |
| struct | SymmetryBreaking |
| Symmetry-breaking constraints for counting embeddings (Grochow and Kellis). More... | |
Functions | |
| SymmetryBreaking | computeSymmetryBreaking (const AppGraph &pattern, const OrbitCounts &orbits, const std::vector< int > &order, long long budget=20000000) |
Computes the constraints for pattern under the matching order order (node IDs). | |
Symmetry-breaking constraints for counting embeddings.
| SymmetryBreaking computeSymmetryBreaking | ( | const AppGraph & | pattern, |
| const OrbitCounts & | orbits, | ||
| const std::vector< int > & | order, | ||
| long long | budget = 20000000 |
||
| ) |
Computes the constraints for pattern under the matching order order (node IDs).
Vertices are fixed one at a time in matching order; at each step the orbit of the vertex under the automorphisms that fix the earlier ones is found by individualisation-refinement, starting from a colouring by label and orbit-count vector (orbits, by internal index). budget bounds the total refinement work.