Practically Handling Some Conguration Isomorphisms Laurent Henocque and Nicolas Prcovic Laboratoire des Sciences de l’Information et des Systèmes, LSIS (UMR CNRS 6168), Campus Scientique de Saint Jérôme, Avenue Escadrille Normandie Niemen, 13397 MARSEILLE Cedex 20 Abstract Conguring consists in simulating the realization of a complex product from a catalog of component parts, using known relations between types, and picking values for ob- ject attributes. A conguration can be viewed as a graph of interconnected components. An inherent difculty in solv- ing conguration problems is the existence of many struc- tural isomorphisms. A practical way of dealing with iso- morphisms is by isolating one conguration in each equiv- alence class called a canonical representative. Since no polytime algorithm is known for the general graph isomor- phism problem, it is interesting to explore sub-problems that can efciently be exploited by backtrack search pro- cedures. We describe a formalism independent approach to detect a large number of structure related congura- tion isomorphisms. The algorithm has the essential prop- erty that isomorphism detection is both incremental and can be performed in pseudo linear time, two essential con- ditions for backtrack search. Backtrack occurs as soon as a non weakly canonical DAG structure is generated for a conguration, which allows to extend the range of practi- cally tractable problems, as shown experimentally. Weakly canonical congurations explicitly expose their automor- phism group, which is readily available thanks to the lex- icographic ordering chosen. The efciency of the approach is assessed both theoretically and by experimental results obtained for a range of realistic conguration problems. 1. Introduction The main objective of this research is to reduce the undue combinatorial effort incurred by isomorphisms during con- guration search. We focus on the dynamic nature of cong- uration, hence placing ourselves outside the scope of tradi- tional symmetry elimination methods for CSPs [3, 6, 12, 17, 16], which expect a problem having a xed size (i.e. num- ber of variables). This work builds upon the results pub- lished in the short paper [7]. The original contribution in this early work was a pseudo linear canonicity testing pro- cedure for conguration tree structures allowing for early backtracks as soon a non canonical structure is being gener- ated. We wish to maintain in the sequel the essential two aforementioned properties that a/ canonicity testing must remain tractable 1 (in comparison the general graph iso prob- lem belongs to NP, in its own graph iso complete class), and b/ that the backtrack search procedure that exploits the test must be able to backtrack as soon as a non canonical struc- ture is being generated, so as to avoid a “generate and test" search pattern. This paper’s rst contribution is to provide experimental evidence of the importance of the results in [7] where only theoretical claims where made. We do so by studying the efciency of a conguration generator on a realistic prob- lem. Experimental results conrm the practical impact of the theoretical combinatorial bounds presented in [7]. Our second contribution is to generalize the application range of the canonicity test previously proposed for conguration structures being trees to directed acyclic graphs. It should be noted that extending from trees to DAGs cannot be expected to be trivial, specially under the objectives previously listed. Extending to DAGS allows for capturing many more cong- uration isomorphisms since it partly releases the restriction that isomorphism testing only concerns composition rela- tions, which are responsible for the existence of a rooted tree structure in congurations. This can be achieved while retaining an essential property : canonicity testing can be used at all the nodes of the search tree in a backtrack search procedure and trigger immediate backtrack in case of non canonicity. 1 Practical experience in constraint programming systems has shown that algorithms with a complexity exceeding pseudo linearity are of seldom interest when called at all search nodes