Static and Dynamic Structural Symmetry Breaking - CiteSeerX

0 downloads 0 Views 283KB Size Report
we compare the search trees under static and dynamic structural symmetry ... this paper we focus on unconditional (or global) symmetries, that is we do not.
AMAI manuscript No. (will be inserted by the editor)

Static and Dynamic Structural Symmetry Breaking Pierre Flener1,2! , Justin Pearson2 , Meinolf Sellmann3 1

Faculty of Engineering and Natural Sciences Sabancı University, Orhanlı, Tuzla, TR – 34956 ˙Istanbul, Turkey

2

Department of Information Technology Uppsala University, Box 337, SE – 751 05 Uppsala, Sweden e-mail: {Pierre.Flener,Justin.Pearson}@it.uu.se

3

Department of Computer Science Brown University, Box 1910, Providence, RI 02912, USA e-mail: Meinolf [email protected]

The date of receipt and acceptance will be inserted by the editor

Abstract We reconsider the idea of structural symmetry breaking for constraint satisfaction problems (CSPs). We show that the dynamic dominance checks used in symmetry breaking by dominance-detection search for CSPs with piecewise variable and value symmetries have a static counterpart: there exists a set of constraints that can be posted at the root node and that breaks all the compositions of these (unconditional) symmetries. The amount of these symmetry-breaking constraints is linear in the size of the problem, and yet they are able to remove a super-exponential number of symmetries on both values and variables. Moreover, we compare the search trees under static and dynamic structural symmetry breaking when using fixed variable and value orderings. These results are then generalised to wreath-symmetric CSPs with both variable and value symmetries. We show that there also exists a polynomial-time dominance-detection algorithm for this class of CSPs, as well as a linear-sized set of constraints that breaks these symmetries statically. 1 Introduction Symmetry breaking for constraint satisfaction problems (CSPs) has been the topic of intense research in recent years, as symmetries naturally arise in many real-life applications. Substantial progress was achieved in many directions, often exhibiting significant speedups, for instance in configuration and network design. It is outside the scope of this introduction to review the wealth of research in this area. ! Most of the work by this author was done while on leave of absence in 2006/07 as a Visiting Faculty Member and Erasmus Exchange Teacher at Sabancı University.

However, it is important to highlight some recent research avenues to position this paper properly. One of the interesting developments has been the design of general symmetrybreaking schemes such as symmetry breaking by dominance detection (SBDD) and symmetry breaking during search (SBDS). SBDD [3,7] is particularly appealing for our purposes as it combines low memory requirements with a number of dominance checks linearly proportional to the depth of the search tree. It then became natural to study which classes of symmetries for CSPs are tractable, i.e., admit polynomial-time dominance-detection algorithms. This issue was first studied in [18], where symmetry breaking for various classes of value symmetries was shown to take constant time and space. In [16], this result was generalised elegantly to all value symmetries. We next revisited the issue for CSPs with simultaneous piecewise variable and value symmetry in [17], where a polynomialtime dominance-detection algorithm was given and the name ‘structural symmetry breaking’ was coined. The same paper also presented intractability results for setCSPs under variable and value interchangeability, leaving open whether wreath symmetric CSPs (formally defined later in this paper) with variable and value symmetries were tractable with respect to symmetries. Moreover, some recent interesting results (see [19,12]) have indicated the possibility of automatically detecting certain classes of symmetries. These results taken together offer an opportunity to address the need for more automation, which was presented as one of the main challenges faced by constraint programming in industry [11]. In parallel, researchers have investigated, and this for many years (e.g., [10]) static symmetry breaking, which consists in the idea of adding constraints to a CSP in order to remove symmetries. That is, by breaking symmetries statically, we mean the addition of constraints that leave exactly one representative solution in each equivalence class of solutions. Lexicographic constraints [2] are one traditional way of breaking symmetries in this way. This paper is an extension and revision of our [5]. It addresses two open issues in structural symmetry breaking. First, it reconsiders CSPs with piecewise interchangeable variables and values and studies whether the polynomial-time dominance-detection algorithm of [17] has a static counterpart. In other words, it studies whether there exists a set of constraints that, when added to the CSP at hand, produces a symmetry-free search tree. Second, the paper studies wreath symmetric CSPs with interchangeable variables and values. Note that throughout this paper we focus on unconditional (or global) symmetries, that is we do not handle any symmetries that appear during search. The results of this paper can be summarised as follows: – We show that the polynomial-time dominance-detection algorithm of [17] has a static counterpart, namely that there exists a set of constraints for CSPs with piecewise symmetric variables and values that, when added to the CSP, results in a symmetry-free search tree. – We establish a clear link between this static structural symmetry breaking (SSSB) scheme and the dynamic structural symmetry breaking (DSSB) scheme of [17] by comparing their search trees under various forms of consistency for 2

the symmetry-breaking constraints whenever the variable and value orderings are fixed. – We show that wreath symmetric CSPs, with piecewise interchangeable variables and wreath interchangeable values, pose a tractable dominance detection problem. The dominance check is rather complex, but we also provide a set of constraints that break all these symmetries. – To our knowledge, this is the first time that, for some classes of symmetries for CSPs, static symmetry breaking has been shown capable of breaking all compositions of variable and value symmetries at the same time, using an amount of symmetry-breaking constraints that is polynomial in the size of the problem, and yet removing, in general, a super-exponential number of symmetries on both values and variables. In fact, the number of constraints is even linear in the size of the problem. – With the case of wreath values closed, the only classes of symmetries for which intractability results have been proven [17] involve variable and value symmetries over set CSPs or 0/1 representations of these as matrix models. The tractability results in this paper thereby also improve our understanding of what can and what cannot make symmetry breaking hard. The remainder of the paper is organised as follows. Section 2 reviews the basic concepts. Section 3 presents the symmetry-breaking constraints for CSPs with piecewise variable and value interchangeability. Section 4 then establishes a link between static and dynamic symmetry breaking for such piecewise symmetric CSPs. Sections 5, 6, and 7 present the analogous, generalised concepts and results for wreath symmetric CSPs. Finally, Section 8 concludes the paper and discusses future research directions. 2 Basic Concepts In this section, we fix some standard notation that we will use throughout the paper. Particularly, we define what we understand by piecewise variable and value symmetry, and what in this context we mean by dominance detection. Definition 1 (CSP, Assignment, Solution) – A constraint satisfaction problem (CSP) is a triplet !V, D, C", where V denotes the set of variables, D denotes the set of possible values for these variables and is called their domain, and C : (V → D) → Bool is a constraint that specifies which assignments of values to the variables are solutions. – An assignment for a CSP P = !V, D, C" is a function α : V → D. – A partial assignment for a CSP P = !V, D, C" is a function α : W → D, where W ⊆ V . The scope of α, denoted by scope(α), is W . – A solution to a CSP P = !V, D, C" is an assignment σ for P such that C(σ) = true. The set of all solutions to a CSP P is denoted by Sol (P). We want to reason about a special class of CSPs, namely those where subsets of variables or values are pairwise interchangeable. For instance, imagine an actor 3

scheduling problem where days are divided into morning and afternoon sessions; actors probably have strong preferences (and thus different fees for the morning and afternoon sessions) but the day of the session may not matter. To provide a formal definition, we first define: Definition ! 2 (Partition) Given a set S and a set of sets P = {P 1 , . . . , Pn } such that S = i Pi and the Pi are pairwise non-overlapping, we say " that P is a partition of S and that each P i is a component, and we write S = i Pi .

Piecewise interchangeability implies that any reshuffling of variables or values within each component results in the same problem. Consequently, the corresponding permutations cannot mingle elements from different components: " Definition 3 (Piecewise Bijection) Let S =" i Pi be a partitioned set. A bijection b : S → S is a piecewise bijection over i Pi if and only if {b(e) | e ∈ Pi } = Pi . Equipped with this notion, we can now define formally:

" " Definition 4 (Piecewise Symmetric CSP) A CSP P = ! k Vk , " D" , C" is a piecewise symmetric CSP (P), each " if and only if, for each solution α ∈ Sol" piecewise bijection τ over " D" , and each piecewise bijection σ over k Vk , we have τ ◦ α ◦ σ ∈ Sol (P). Piecewise symmetric CSPs were studied in [17], where a polynomial-time algorithm was devised to detect symmetric dominance between two partial assignments: Definition 5 (Dominance Detection) two partial assignments α and β for "Given" we say that α dominates a piecewise symmetric CSP P = ! k Vk , " D" , C"," " β if and only if there exist piecewise bijections σ over k Vk and τ over " D" such that α(v) = τ ◦ β ◦ σ(v) for all v ∈ scope(α). Then, we call the problem of determining whether α dominates β the dominance detection problem. Dominance detection constitutes the core operation of symmetry breaking by dominance detection (SBDD) [3,7], and its tractability immediately implies that we can efficiently limit ourselves to the exploration of symmetry-free search trees only. For piecewise symmetric CSPs, [17] showed that dominance detection is tractable. This was accomplished by dynamic structural symmetry breaking (DSSB), where structural abstractions, so-called value signatures, generalise from an exact assignment of values to variables by quantifying how often a given value is assigned to variables in each component: Definition 6" (Signature) " Given a partial assignment α for a piecewise symmetric CSP P = ! k Vk , " D" , C", the signature of value d under α is the tuple that counts, for each variable component V k , by how many variables in the component the value is taken in α: sigα (d) := (|{v ∈ Vk ∩ scope(α) | α(v) = d}|)k where k indexes the different variable components. 4

In [17], we showed how this structural abstraction allows us to check dominance between partial assignments α and β: We set up a bipartite graph where, for each value d, there is one node on the left and one node on the right. An edge connects two nodes with associated values d and e from the same value component if and only if sig α (d) ≤ sigβ (e), where ≤ denotes the point-wise ordering of two sequences (and not their lexicographic ordering). Then, α dominates β if and only if the bipartite graph contains a perfect matching. Example 1 Consider the piecewise symmetric CSP !{v 1 , v2 , v3 , v4 } + {v5 , v6 }, {1, 2} + {3, 4}, C" and the partial assignments α = {v 1 )→ 2, v2 )→ 2, v3 )→ 3, v5 )→ 2} and β = {v1 )→ 1, v2 )→ 1, v3 )→ 1, v4 )→ 3, v5 )→ 1, v6 )→ 4}. The signatures of the values 1, 2, 3, 4 are (0, 0), (2, 1), (1, 0), (0, 0) under α and (3, 1), (0, 0), (1, 0), (0, 1) under β. See the bipartite graph G of Figure 5 later in this paper (and ignore its caption). The rounded boxes indicate the components of the partition of the value set. There is an edge (d, e) whenever sig α (d) ≤ sigβ (e). As there exists a perfect matching in G, given by the solid edges, we conclude that α dominates β. Based on this dominance-detection algorithm, DSSB filters values from domains if and only if setting the respective variable to some value would lead to a symmetric choice point. Since symmetry-based filtering anticipates when variable assignments will result in symmetric configurations, within DSSB we have to distinguish two different types of filtering: ancestor-based filtering where we compare extensions to the current partial assignment with previously fully expanded search nodes, and sibling-based filtering where we compare extensions to the current partial assignment with other such extensions. When employing these filtering techniques, DSSB leads to symmetry-free search trees while causing only polynomial-time overhead. For a more detailed description of the method and a worst-case asymptotic runtime analysis, we refer the reader to [17]. 3 Static SSB for Piecewise Symmetric CSPs We now show how the idea of structural symmetry breaking, i.e., dominance detection based on signature analysis, can be used to devise a set of symmetry-breaking constraints for piecewise symmetric CSPs. For the first time, we will show that a polynomial, and even linear, amount of symmetry-breaking constraints is able to simultaneously break super-exponentially many compositions of variable and value symmetries efficiently. 3.1 Symmetry-Breaking Constraints "b "a Consider "aapiecewise symmetric CSP ! k=1 Vk , "=1 D" , C", with V = {v1 , . . . , vn } = k=1 Vk a set of piecewise interchangeable variables and D = {d 1 , . . . , "b dm } = "=1 D" a set of piecewise interchangeable values. Assume a total ordering of the variables V and the values D. 5

As it is commonly done in the literature, we can break the variable symmetries within each variable component by requiring that earlier variables take smaller or equal values. To break the value symmetries, we resort to the same structural abstractions as DSSB, namely value signatures, which generalise from an exact assignment of values to variables by quantifying how often a given value is assigned to variables in each component. Let the frequency fik = |{v ∈ Vk | α(v) = di }| denote how often each value d i is taken under solution α by the variables in each variable component V k . For a solution α, we then denote by sigα (di ) := (fi1 , . . . , fia ) the signature of d i under α. Then, for all consecutive values d i , di+1 in the same value component, we require that their signatures are lexicographically non-increasing, i.e., sigα (di ) ≥lex sigα (di+1 ). So the problem boils down to computing the signatures of values efficiently. Fortunately, this is an easy task when using the existing global cardinality constraint (gcc) [15]. We summarise the resulting structural symmetry-breaking constraints: – For each variable component V k = {vp , . . . , vq }, there is a variable ordering chain: (1) vp ≤ · · · ≤ vq hence a total of n − a ordering constraints. – For each value d i and each variable component V k = {vp , . . . , vq }, the frequencies fik = |{v ∈ Vk | α(v) = di }| under partial assignment α are calculated by the constraints

k gcc(vp , . . . , vq , d1 , . . . , dm , f1k , . . . , fm )

(2)

for each Vk , hence a total of a global cardinality constraints. – For each value component D " = {dp , . . . , dq }, there is an ordering chain for the value signatures: (fp1 , . . . , fpa ) ≥lex · · · ≥lex (fq1 , . . . , fqa ) hence a total of m − b lexicographic ordering constraints.

(3)

Note that the number of constraints added is linear in the size of the problem, unlike in the more general method in [13], and yet that they are able to break super-exponentially many compositions of variable and value symmetries. Although value signatures are here defined in essentially the same way as in Definition 6 in the framework of dominance detection, for static symmetry breaking we require them to be lexicographically rather than point-wise ordered. Indeed, in dynamic dominance detection, we are not interested in constructing the lexicographically minimal solution of any class of symmetrically equivalent solutions, but just in detecting specialisation of partial assignments. Also, in static structural symmetry breaking, we require a total order between value signatures, but the point-wise order is not total. 6

3.2 Example Consider scheduling study groups for two sets of five indistinguishable students each. There are six identical tables with four seats each. Let {v 1 , . . . , v5 }+{v6 , . . . , v10 } be the partitioned set of piecewise interchangeable variables, one for each student. Let the domain {t 1 , . . . , t6 } denote the set of tables, which are fully interchangeable. The structural symmetry-breaking constraints are: v1 ≤ v2 ≤ v3 ≤ v4 ≤ v5 v6 ≤ v7 ≤ v8 ≤ v9 ≤ v10 gcc(v1 , . . . , v5 , t1 , . . . , t6 , f11 , . . . , f61 ) gcc(v6 , . . . , v10 , t1 , . . . , t6 , f12 , . . . , f62 ) (f11 , f12 ) ≥lex · · · ≥lex (f61 , f62 ) Consider the assignment α = {v 1 )→ t1 , v2 )→ t1 , v3 )→ t2 , v4 )→ t3 , v5 )→ t4 } ∪ {v6 )→ t1 , v7 )→ t2 , v8 )→ t2 , v9 )→ t3 , v10 )→ t5 }. Within each variable component, the ≤ ordering constraints are satisfied. Having determined the frequencies using the gcc constraints, we observe that the ≥ lex constraints are satisfied, because (2, 1) ≥lex (1, 2) ≥lex (1, 1) ≥lex (1, 0) ≥lex (0, 1) ≥lex (0, 0). If student 10 moves from table 5 to table 6, producing a symmetrically equivalent assignment because the tables are fully interchangeable, the ≥ lex constraints are no longer satisfied, because (2, 1) ≥lex (1, 2) ≥lex (1, 1) ≥lex (1, 0) ≥lex (0, 0) -≥lex (0, 1). If students 9 and 10 swap their assigned tables, producing a symmetrically equivalent assignment because both students are of the same student component, the signatures do not change and the ≥ lex constraints remain satisfied; however, we then have v9 -≤ v10 . 3.3 Analysis We now establish the correctness and completeness of the introduced symmetrybreaking constraints. The key observation that we need to make is captured by the following lemma: " " Lemma 1 Given an assignment γ to a piecewise symmetric CSP ! k Vk , " D" , C", let the associated tuple of signature multisets be TSM γ := ({sigγ (d) | d ∈ D" })" . It holds that assignments α and β are symmetric if and only if TSM α = TSMβ . " " Proof ⇒: Assume there exist piecewise bijections σ over k Vk and τ over " D" such that α = τ ◦ β ◦ σ. Recall that signatures just count how many variables in each component take a given value. Therefore, the permutation of variables within a component cannot change the signatures of values. It follows that 7

TSMα = TSMτ ◦β◦σ = TSMτ ◦β . But the permutation of values within the same component D " does not affect the signature multiset {sig β (d) | d ∈ D" }. Hence TSMα = TSMτ ◦β = TSMβ . ⇐: Now assume that TSMα = TSMβ ." By reversing the previous argument, there exists a piecewise bijection τ over " D" such that sigα (d) = sigτ ◦β (d) for all d " ∈ D. Thus, according to [17], there also exists a piecewise bijection σ over k Vk such that α = τ ◦ β ◦ σ. Theorem 1 For every solution α to a piecewise symmetric CSP, there exists exactly one symmetric solution that obeys the structural symmetry-breaking constraints.

Proof At least one: We first show that, for every solution to the original CSP, there exists at least one symmetric solution that also obeys all the additional symmetrybreaking constraints. Denote by τ α,k the function that ranks the indices of the values in Dk = {dp , . . . , dq } according to the signatures over some solution α, i.e., sigα (dτα,k (p) ) ≥lex · · · ≥lex sigα (dτα,k (q) ). We obtain a symmetric solution β where we re-order the values in each D k according to τ α,k . Then, when we denote by σβ,k the function that ranks the indices of the variables in V k = {vp , . . . , vq } according to β, i.e., β(v σβ,k (p) ) ≤ · · · ≤ β(vσβ,k (q) ), we can re-order the variables in each Vk according to σ β,k , and we get a new symmetric solution γ. As we already argued in the proof of Lemma 1, the re-ordering of the variables within each component has no effect on the signatures of the values, i.e., sig γ (d) = sigβ (d) for all d ∈ D. Thus, γ is also a solution to the original CSP that also obeys all symmetry-breaking constraints. At most one: Now assume there are two solutions α and β to the piecewise symmetric CSP that both obey all the symmetry-breaking constraints, and such that there exist piecewise variable and value bijections σ and τ such that α = τ ◦ β ◦ σ. According to Lemma 1, it then holds that TSM α = TSMβ . Because of the lexicographic ordering constraints (3) on the value signatures, this implies that the signatures under α and β are identical for all d ∈ D. However, with the signatures of all the values thus fixed, and with the ordering constraints (1) on the variables, there exists exactly one assignment that gives these signatures. Hence α and β must be identical. 0 1 What we have achieved with Theorem 1 is the ability to break statically all piecewise variable and value symmetries in a given CSP. It is very important to note that this theorem is about solutions, rather than about partial assignments, hence the level of consistency enforced on the symmetry-breaking constraints does not affect the result.

4 Static versus Dynamic SSB for Piecewise Symmetric CSPs The advantage of a static symmetry-breaking method lies mainly in its ease of use and its moderate costs per search node. Constraint propagation and incrementality are inherited from the existing ≥ lex and gcc constraints. On the other hand, it is well-known that static symmetry breaking can collide with dynamic variable and 8

◦" !!! """"" v =3 ! ! ""1" ! !!! """ ! ! "" !! ! ◦$ ◦ $ # # %%%% $$ v3 =4 v3 =3 ## v2 =3 ## %%v2 =4 $$ # # %% $$ ## ## % # # # # v1 =1

!

!

!

v3 = {}

Fig. 1 DSSB search tree. The black-box nodes (!) mark the three solutions; all nondepicted assignments are obtained by propagation.

value orderings, whereas dynamic methods such as SBDD do not suffer from this drawback. We were interested in studying how dynamic (DSSB) and static structural symmetry breaking (SSSB) actually relate to one another. Particularly, we were curious to know how dynamic structural symmetry breaking (DSSB) and static structural symmetry breaking (SSSB) relate to one another when variable and value orderings are fixed. Before stating our main results, let us consider an insightful example. First, it demonstrates that, when static variable and value orderings are used, DSSB can discard a partial assignment explored by SSSB when the static symmetry-breaking constraints are only used to prune the search tree, i.e., when the symmetry-breaking constraints are only used to detect that a partial assignment already violates one of the constraints, but not for filtering (in fact, Theorem 3 will show that the DSSB tree is in general a non-strict subtree of such an SSSB tree). Second, it shows that SSSB can discard a partial assignment explored by DSSB when hyper-arc consistency is enforced on the conjunction of the symmetry-breaking constraints (in fact, Theorem 2 will show that such an SSSB tree is in general a non-strict subtree of the DSSB tree). Example 2 For both cases, we use the piecewise symmetric CSP !{v 1 , v2 , v3 } + {v4 }, {1, 2} + {3, 4}, C", where the constraints C are: – v1 , v2 , v3 ∈ {1, 2, 3, 4}, v4 ∈ {1, 2}. – All variables together must take values 1 and 2 at most once. – All variables together must take values 3 and 4 at most twice. The problem only has the following three solutions up to symmetry: {v 1 )→ 1, v2 )→ 3, v3 )→ 3, v4 )→ 2}, {v1 )→ 1, v2 )→ 3, v3 )→ 4, v4 )→ 2}, and {v1 )→ 3, v2 )→ 3, v3 )→ 4, v4 )→ 1}. Consider the SSSB tree when using static symmetry breaking constraints for pruning only. Clearly, the assignment {v 1 )→ 2} needs to be checked. However, DSSB completely discards this assignment as a symmetric sibling of {v 1 )→ 1}. Now consider the DSSB tree after exploring all partial assignments up to α = {v1 )→ 3, v2 )→ 4}. This node has to be explored by DSSB since neither of the nogoods {v1 )→ 1} and {v1 )→ 3, v2 )→ 3} dominates it (see Figure 1). 9

◦' &&& '''''v =3 & & & ''1 ' &&& ''' & & ' && & ◦) ! ( )) v3 =3 (( v3 =4 ) )) ( )) (( (( v1 =1

!

!

Fig. 2 SSSB search tree when hyper-arc consistency is enforced on the conjunction of the symmetry-breaking constraints; note that it is a subtree of the DSSB tree in Fig. 1.

On the other hand, when using SSSB and enforcing hyper-arc consistency on the conjunction of the symmetry-breaking constraints at the node {v 1 )→ 3}, there is no support for v 2 )→ 4 and hence the node α = {v 1 )→ 3, v2 )→ 4} is not explored (see Figure 2). In the following first comparison theorem, we claim that SSSB explores a subtree of the DSSB tree when we enforce hyper-arc consistency on the conjunction of the symmetry-breaking constraints. By Example 2, we even know that, in that setting, SSSB sometimes explores a strict subtree of the DSSB tree. Theorem 2 For piecewise symmetric CSPs, given a fixed variable and value ordering, and posting the symmetry-breaking constraints accordingly, SSSB explores a subtree of the tree explored by DSSB when we enforce hyper-arc consistency on the conjunction of the symmetry-breaking constraints. Proof To show that a node β in an SSSB tree with hyper-arc consistency on the conjunction of the symmetry-breaking constraints is also in the DSSB tree, we prove the contrapositive: that is, β -∈ DSSB implies that β -∈ SSSB. Assume that some partial assignment β = {v 1 )→ d1 , . . . , vt )→ dt } -∈ DSSB. This means that there is some partial assignment α, explored before, that dominates β. We look at the first (in depth-first order) such node α that dominates β. The fact that α dominates β means that for all v ∈ scope(α) we have that α(v) = τ ◦ β ◦ σ(v) for some piecewise variable and value bijections σ and τ . As a reminder, given a conjunction C of constraints, a value d from the domain of a variable v is not filtered while achieving hyper-arc consistency on C iff there exists a solution α to C such that α(v) = d and α(w) ∈ dom(w) for all variables w. The assignment α is often referred to as the support of v )→ d. A hyper-arc consistency algorithm thus essentially ensures that there exist supporting assignments for all variables and all values in their domains. Thus, to prove that β -∈ SSSB, we have to show that v t )→ dt has no support, i.e., that no full extension β " of β satisfies the symmetry-breaking constraints. We prove this by contradiction. Assume such a β " exists. Then, applying τ and σ to β " yields a second full assignment: α" = τ ◦ β " ◦ σ 10

that is symmetric to β " . Moreover, α " agrees with α for all v ∈ scope(α) and hence is a child of α. According to Lemma 1, it then holds that TSM α! = TSMβ ! . Now, consider the first variable v ∈ V k (recall that we assume that variables are being assigned in order) where α and β disagree, i.e., α " (w) = α(w) = β(w) = β " (w) for all w < v and when we set d := α(v) = α " (v) and e := β(v) = β " (v), we have that d -= e. Since α was explored before β and values are also assigned in order, we can infer that d < e. However, as TSM α! = TSMβ ! and all variables in earlier variable components have been assigned in accordance between α and β, this implies that sigα! (f )h = sigβ ! (f )h for all values f and variable components h < k, and also sig α! (d)k >lex sigβ ! (d)k . As β " satisfies constraints (1) and (3), there is no match for the signature sig α! (d) in the signature multiset {sig β ! (f ) | 1 f ∈ D" } when d ∈ D" . Therefore, TSM α! -= TSMβ ! . Contradiction. 0 Note that it has been shown that achieving this level of consistency is NPhard [20]. On the other hand, it is easy to check if a partial assignment violates any individual symmetry-breaking constraint. In our following second comparison theorem, we claim that DSSB explores a subtree of the SSSB tree when we use static symmetry-breaking constraints for pruning purposes only. Example 2 showed a case where, in that setting, DSSB explores a strict subtree of the SSSB tree.

Theorem 3 For piecewise symmetric CSPs, given a fixed variable and value ordering, and posting the symmetry-breaking constraints accordingly, DSSB explores a subtree of the tree explored by SSSB when symmetry-breaking constraints are only used to prune the search tree. Proof Proof by contradiction. Assume there exists a node in the DSSB search tree that is pruned by SSSB. Without loss of generality, we may consider the first node in a depth-first search tree where this occurs. We identify this node with the assignment β := {v1 , . . . , vt } → D. First assume a variable ordering constraint is violated, i.e., β(v j ) < β(vi ) for some 1 ≤ i < j ≤ t where v i and vj are interchangeable. Consider α : {v1 , . . . , vi } → D such that α(vk ) := β(vk ) for all 1 ≤ k < i, and α(vi ) := β(vj ). Then, due to the fixed variable and value orderings, α is a node that has been fully explored before β, and α dominates β, which is clear by mapping v i to vj . Thus, β is also pruned by DSSB. Now assume a lexicographic ordering constraint on the value signatures is violated. That is, there is some pair of values d i and dj , with 1 ≤ i < j such that sigβ (di ) fjk . We pick the first such β in the search tree that violates the lexicographic ordering constraint. We now know that sig β (di )[&] = sigβ (dj )[&] for all &