Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’051 Applying Structural Decomposition Methods to Crossword Puzzle Problems Student: Yaling Zheng Advisor: Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science & Engineering University of Nebraska-Lincoln
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’052 HINGE TCLUSTER Gyssens et al., 1994 HYPERCUTSET Gottlob et al., 2000 TCLUSTER Dechter & Pearl, 1989 BICOMP Freuder, 1985 HYPERTREE Gottlob et al., 2002 HINGE Gyssens et al., 1994 CaT CUT HINGE + TRAVERSE CUTSET Dechter, 1987 Structural decomposition methods Criteria for comparing decomposition methods: 1.Width of an x-decomposition = largest number of hyperedges in a node of the tree generated by x-decomposition 2.CPU time for generating the tree
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’053 S1S1 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S 15 S8S8 S 12 S 13 S 14 S 11 S 10 S9S9 S 16 S 17 Constraint hypergraph A vertex represents a variable A hyperedge represents a constraint (delimits its scope) Cut is a set of hyperedges whose removal disconnects the graph Cut size is the number of hyperedges in the cut
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’054 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S8S8 S 12 S 13 S 14 S 11 S9S9 width = 12 S1S1 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S 15 S8S8 S 12 S 13 S 14 S 11 S 10 S9S9 S 16 S 17 S 10 S9S9 S 16 S9S9 S 15 S9S9 S 17 S 11 S1S1 S2S2 In HINGE, the cut size is limited to 1 HINGE [Gyssens et al., 94]
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’055 HINGE + : maximum cut size is a parameter S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S 12 S 13 S 11 S9S9 S 16 S 17 S9S9 S 11 S5S5 S4S4 S6S6 S 12 S8S8 S 14 width = 5 S1S1 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S 15 S8S8 S 12 S 13 S 14 S 11 S 10 S9S9 S 16 S 17 S8S8 S 14 S7S7 S 13 S 10 S9S9 S 15 S9S9 S1S1 S2S2 HINGE+ with maximum cut size of 2:
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’056 CUT S2S2 S4S4 S3S3 S7S7 S8S8 S 13 S 14 S 11 S9S9 S 17 S5S5 S6S6 S 12 S7S7 S 13 S8S8 S 14 S6S6 S 12 S4S4 S3S3 S 11 S5S5 S6S6 S 12 S1S1 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S 15 S8S8 S 12 S 13 S 14 S 11 S 10 S9S9 S 16 S 17 width = 4 S 10 S9S9 S 16 S9S9 S 15 S9S9 S1S1 S2S2 A tree node contains at most 2 of the selected cuts
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’057 TRAVERSE-I S1S1 S2S2 S3S3 S4S4 S5S5 S 11 S6S6 S 12 S 17 S7S7 S 13 S8S8 S 14 S9S9 S 10 S 15 S 16 S1S1 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S 15 S8S8 S 12 S 13 S 14 S 11 S 10 S9S9 S 16 S 17 width = 3 TRAVERSE-I starts from one set of hyperedges, and Sweeps through the network
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’058 TRAVERSE-II S2S2 S3S3 S4S4 S5S5 S 11 S6S6 S 12 S 17 S7S7 S 13 S8S8 S 14 S9S9 S 10 S 15 S 9 S 16 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S 15 S8S8 S 12 S 13 S 14 S 11 S 10 S9S9 S 16 S 17 width = 3 TRAVERSE-II starts from one set of hyperedges {s 1 }, Sweeps the network, and Ends at another set of hyperedges {s 9, s 16 }. S1S1 S1S1
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’059 CaT: combines CUT and TRAVERSE S1S1 S2S3S4S2S3S4 S7S7 S8S8 S 13 S 14 S 11 S 10 S9S9 S 17 S2S2 S9S9 S5S5 S6S6 S 12 S7S7 S 13 S6S6 S 12 S 11 S5S5 CUT S1S1 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S 15 S8S8 S 12 S 13 S 14 S 11 S 10 S9S9 S 16 S 17 S4S4 S3S3 S6S6 S 12 S8S8 S 14 S 16 S9S9 S 15 S9S9 S1S1 S7S7 S8S8 S 13 S 14 S 11 S 10 S9S9 S 17 S5S5 S4S4 S3S3 S6S6 S 12 S 16 S 15 S2S2 width = 2 Original CaT width = 4
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0510 Experiments Test problems: –Random CSPs –51 instances of fully interlocked CPPs, from Crossword Puzzle Grid Library puzzles.about.com/library puzzles.about.com/library Compared: –HINGE, HINGE+, CUT, TRAVERSE, and CaT –(Hypertree was too expensive to run on CPPs) Criteria: width and CPU time
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0511 Results on random CSPs CPU time: Width: TRAVERSE CUT CaT HINGE + HYPERTREE TRAVERSE HYPERTREE CaTHINGE + CUT HINGE HINGE
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0512 CPPs: CPU time (ms) HINGE HINGE + CaT TRAVERSE Instance ID
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0513 CPPs: width HINGE HINGE + CaT TRAVERSE Instance ID
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0514 CPP: Notable exception On only 1 CPP, HINGE outperforms CaT HINGE CaT
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0515 Current investigations Test on special constraint hypergraphs Study the cost of solving the CSPs after decomposition [Jégou and Tierroux, 03] Preprocessing by ‘subproblem’ elimination –Recursively eliminate vertices that appear in one hyperedge –Solve and eliminate subproblems that have few solutions (tight constraints)
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0516 Thank you for your attention. Research supported by CAREER Award # from NSF. Experiments conducted on PrairieFire of the Research Computing Facilities (RCF) of CSE-UNL. Questions…
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0517 Additional Slides
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0518 How do we choose a cut? S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S8S8 S 12 S 13 S 14 S 11 S9S9 S 17 S2S2 S4S4 S3S3 S5S5 S7S7 S6S6 S8S8 S 12 S 13 S 14 S 11 S9S9 S 17 When there are multiple cuts to choose, we choose the cut whose removal makes the greatest number of hyperedges in a connected hypergraph the smallest. 8 7
Constraint Systems Laboratory October 2 nd, 2005Zheng – DocProg CP’0519 TRAVERSE When applying TRAVERSE to these CPPs, we choose the decomposition whose width is the smallest among all the decompositions that starts from an arbitrary hyperedge.