80 likes | 195 Vues
This work explores advanced techniques in modeling constraint satisfaction problems (CSPs) using multi-dimensional matrix structures. Through various applications, such as balanced incomplete block designs, social golfers, and warehouse location problems, it highlights the role of symmetry and value distinctions within decision variables. The paper delves into the transformation of symmetry indices, investigating lexicographic ordering and the challenges of achieving generalized arc consistency. By leveraging these matrix strategies, significant efficiencies in problem-solving can be attained.
E N D
Reducing Symmetry in Matrix Models Alan Frisch, Ian Miguel, Toby Walsh (York) Pierre Flener, Brahim Hnich, Zeynep Kiziltan, Justin Pearson (Uppsala)
Matrix Models • Many CSP Problems can be modelled by a multi-dimensional matrix of decision variables. • Balanced Incomplete Block Design • Set of Blocks (I) • Set of objects in each block (I) • Rack Configuration • Set of cards (PI) • Set of rack types • Set of occurrences of each rack type (I)
Matrix Models (2) • Social Golfers • Set of rounds (I) • Set of groups(I) • Set of golfers(I) • Steel Mill Slab Design • Printing Template Design • Warehouse Location • Progressive Party Problem • …
Transforming Value Symmetry to Index Symmetry • a, b, c, d are indistinguishable values • a 1000 b 0100 • {a, b} 1100 {a, c} 1010 • The indices of these vectors are indistinguishable.
Index Symmetry in One Dimension • Indistinguishable Rows • 2 Dimensions • [A B C] lex [D E F] lex [G H I] • General • flatten([A B C]) lex flatten([D E F]) lex flatten([G H I])
Index Symmetry in Multiple Dimensions Consistent Consistent Inconsistent Inconsistent
Properties • Incomplete in general • Challenge: break all symmetries • Complete in special cases • All variables take distinct values • Push largest value to a particular corner • 2 distinct values, one of which has at most one occurrence in each row or column.
Enforcing Lexicographic Ordering • BUT • Not transitive • GAC(V1lexV2) and • GAC(V2lexV3) does not imply • GAC(V1lexV3) • GAC(V1lexV2) provided by Eclipse. • Not pair-wise decomposable does not imply GAC(V1lexV2 lex … lex Vn)