Breaking the Symmetries of Indistinguishable Objects

📅 2025-03-21
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
In constraint programming, indistinguishable objects—e.g., social golfers—induce combinatorial symmetries that cause redundant exploration of the search space. This paper addresses the problem by formally defining symmetry for unnamed types in the high-level modeling language Essence, and introduces a complete symmetry-breaking mechanism tailored to complex types such as indexed matrices. Our method models symmetries via group actions and automatically generates symmetry-breaking constraints, integrating seamlessly with Essence language extensions and backend solvers. The approach supports modeling indistinguishable objects within composite structures and ensures strict, exhaustive symmetry elimination. Empirical evaluation on multiple benchmark problems demonstrates substantial search-space reduction and improved solving efficiency. Key contributions include: (i) a formal theoretical characterization of symmetry for unnamed types; (ii) a provably complete symmetry-breaking algorithm for complex, nested types; and (iii) the first end-to-end implementation of symmetry breaking for unnamed types within Essence.

Technology Category

Application Category

📝 Abstract
Indistinguishable objects often occur when modelling problems in constraint programming, as well as in other related paradigms. They occur when objects can be viewed as being drawn from a set of unlabelled objects, and the only operation allowed on them is equality testing. For example, the golfers in the social golfer problem are indistinguishable. If we do label the golfers, then any relabelling of the golfers in one solution gives another valid solution. Therefore, we can regard the symmetric group of size $n$ as acting on a set of $n$ indistinguishable objects. In this paper, we show how we can break the symmetries resulting from indistinguishable objects. We show how symmetries on indistinguishable objects can be defined properly in complex types, for example in a matrix indexed by indistinguishable objects. We then show how the resulting symmetries can be broken correctly. In Essence, a high-level modelling language, indistinguishable objects are encapsulated in"unnamed types". We provide an implementation of complete symmetry breaking for unnamed types in Essence.
Problem

Research questions and friction points this paper is trying to address.

Breaking symmetries in indistinguishable objects modeling
Defining symmetries in complex types like matrices
Implementing complete symmetry breaking in Essence language
Innovation

Methods, ideas, or system contributions that make the work stand out.

Breaking symmetries of indistinguishable objects
Defining symmetries in complex types
Implementing symmetry breaking in Essence
🔎 Similar Papers
No similar papers found.
O
Ozgur Akgun
School of Computer Science, University of St Andrews, UK
M
Mun See Chang
School of Computer Science, University of St Andrews, UK
I
Ian P. Gent
School of Computer Science, University of St Andrews, UK
Christopher Jefferson
Christopher Jefferson
University of St Andrews
AIComputational Group TheoryConstraint Programming