90 likes | 100 Views
Toulbar2 maximizes cost functions in Weighted CSP using Tree Decomposition exploitation; DFBB algorithm, variable elimination, cluster search, and open-source in C++. Implementation examples in satellite management, genomics, and more.
E N D
Max-CSP solver competition 2008toulbar2 Marti Sanchez1, Sylvain Bouveret2, Simon de Givry1, Federico Heras3, Philippe Jegou4, Javier Larrosa3, Samba Ndiaye4, Emma Rollon3, Thomas Schiex1, Cyril Terrioux4, Gerard Verfaillie2, Matthias Zytnicki1 INRA, Toulouse, France ONERA, Toulouse, France UPC, Barcelona, Spain LSIS, Marseilles, France
Framework: Weighted CSP • (X,D,W,m) • X={X1,..., Xn} nvariables • D={D1,..., Dn} nfinite domains of maximum size d • W, a set of ecost functions • WS, Wi, W∅ with scopesS, {Xi}, ∅ • WSassociates a cost in[0,m]to any assignment of S • m [1,+] is associated to completely forbidden assignments • Find a complete assignment A minimizing ∑SWWS ( A[S] ) • NP-hard problem
Depth-First Branch and Bound (DFBB) • Binary branching scheme instead of value enumeration • Dynamic variable and value ordering heuristics • No initial upper bound Each node is a soft constraint subproblem Variables (LB) Lower Bound = W under estimation of the best solution in the sub-tree Obtained by enforcing soft local consistency W m If UB then prune LB = m (UB) Upper Bound = best solution so far Time complexity: O(dn) Space complexity: O(n)
Cost projection from a unary cost function to W 2 2 1 1 1 0 1 0 1 1 0 0 0 0 1 0 Cost extension from a unary to a binary cost function Cost projection from a binary to a unary cost function W=0 W=0 W=0 X1 X2 X1 X2 X1 X2 1 2 0 0 1 0 0 W=1 X1 X2 Enforcing local consistency byEquivalencePreservingTransformations
Hierarchy Special case: CSP (m=1) NC NC*O(nd) DAC AC*O(n 2d 3) DAC*O(ed 2) Solve tree-like constraint graphs FDAC*O(end 3) AC Ternary EDAC O(ed3 max{nd,m}) EDAC*O(ed 2max{nd,m}) VAC O(ed 2 m/) [0,1] GAC Solve submodular cost functions OSAC O(poly(ed+n)) Non-binary constraints
Last-conflict variable heuristic (Lecoutre et al, 2006) Basic form of Conflict Back-Jumping
Boosting search with variable elimination(Larrosa and Dechter, 2003) • At each search node • Eliminate all unassigned variables with degree ≤ p • Select an unassigned variable x • Branch on the values of x • Properties • BB-VE(-1) is Depth-First Branch and Bound • BB-VE(w) is Variable Elimination • BB-VE(1) is similar to Cycle-Cutset • BB-VE(2) is well suited with soft local consistencies(add binary constraints only, independent of the elimination order)
t = largest cluster size, s = largest separator size Depth-First Branch and Bound exploiting a Tree Decomposition(Terrioux et al, ECAI 2004) (Givry et al, AAAI 2006) • Tree search with • Restricted variable ordering • Graph-based backjumping • Graph-based learning • Time: O(dt) • Space: O(ds) Toulbar2/BTD • MCS tree decomposition heuristic (Marseilles’ toolkit) in preprocessing • Root selection maximizing cluster size • Same search as DFBB inside clusters (DVO, CBJ, VE(2)) • Limited caching (keep only small separators, s=4) • Russian Doll Search pruning scheme (Soft-08 workshop)
toulbar2 • Open source WCSP solver in C++ (release 0.7) http://mulcyber.toulouse.inra.fr/gf/project/toulbar2 • Large set of benchmarks http://carlit.toulouse.inra.fr/cgi-bin/awki.cgi/SoftCSP • Frequency assignment (Cabon et al., 1999) n≤458, d=44, e(2)≤5000 • Satellite management (Bensana et al., 1999) n≤364, d=4, e(2-3)≤10108 • Mendelian error detection (Sanchez et al, 2008) n≤20000, d≤66, e(3)≤30000 • RNA gene finding (Zytnicki et al, 2008) n≈20, d>100 million!, e(4)≈10 • Tag SNP selection (Sanchez et al, 2008) n≤251, d≤175, e(2)≤13649 • … • Link to ILOG Solver Encapsulates a WCSP as a global constraint