1 / 19

Applying Structural Decomposition Methods to Crossword Puzzle Problems

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. Structural decomposition methods. HYPERTREE

deva
Download Presentation

Applying Structural Decomposition Methods to Crossword Puzzle Problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Zheng – DocProg CP’05

  2. Structural decomposition methods HYPERTREE Gottlob et al., 2002 HYPERCUTSET Gottlob et al., 2000 HINGETCLUSTER Gyssens et al., 1994 HINGE+ CaT TRAVERSE TCLUSTER Dechter & Pearl, 1989 HINGE Gyssens et al., 1994 CUT CUTSET Dechter, 1987 BICOMP Freuder, 1985 Criteria for comparing decomposition methods: • Width of an x-decomposition = largest number of hyperedges in a node of the tree generated by x-decomposition • CPU time for generating the tree Zheng – DocProg CP’05

  3. Constraint hypergraph S3 S5 S9 S6 S7 S8 • 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 S10 S17 S1 S16 S2 S15 S4 S11 S12 S13 S14 Zheng – DocProg CP’05

  4. HINGE [Gyssens et al., 94] S9 S3 S5 S6 S7 S8 S10 S17 S1 S16 S2 S15 S4 S11 S12 S13 S14 In HINGE, the cut size is limited to 1 S9 S10 S3 S5 S6 S7 S8 S2 S9 S1 S2 S9 S16 S4 S11 S12 S13 S14 width = 12 S9 S15 S11 S17 Zheng – DocProg CP’05

  5. HINGE+: maximum cut size is a parameter S9 S3 S5 S6 S7 S8 S10 S17 S1 S16 S2 S15 S4 S11 S12 S13 S14 HINGE+ with maximum cut size of 2: S9 S10 S3 S8 S8 S6 S4 S6 S2 S14 S14 S12 S1 S2 S9 S16 S5 S12 S4 S7 S7 S9 S11 S5 S13 width = 5 S13 S9 S15 S11 S17 Zheng – DocProg CP’05

  6. CUT S9 S3 S5 S6 S7 S8 S10 S17 S1 S16 S2 S15 S4 S11 S12 S13 S14 A tree node contains at most 2 of the selected cuts S9 S10 S3 S6 S6 S8 S8 S2 S4 S12 S12 S14 S14 S1 S2 S3 S9 S16 S5 S5 S7 S7 S9 S4 S11 S13 S11 S13 width = 4 S9 S15 S6 S12 S17 Zheng – DocProg CP’05

  7. TRAVERSE-I S9 S3 S5 S6 S7 S8 S10 S17 S1 S16 S2 S15 S4 S11 S12 S13 S14 • TRAVERSE-I starts from one set of hyperedges, and • Sweeps through the network S6 S9 S2 S5 S8 S7 S12 S16 S10 S1 S3 S11 S13 S14 width = 3 S15 S17 S4 Zheng – DocProg CP’05

  8. TRAVERSE-II S9 S3 S5 S6 S7 S8 S10 S17 S1 S16 S2 S15 S4 S11 S12 S13 S14 • TRAVERSE-II starts from one set of hyperedges {s1}, • Sweeps the network, and • Ends at another set of hyperedges {s9, s16}. S6 S9 S2 S5 S8 S9 S16 S7 S12 S10 S1 S3 S11 S13 S14 width = 3 S15 S17 S4 Zheng – DocProg CP’05

  9. CaT: combines CUT and TRAVERSE S9 S3 S5 S6 S7 S8 S10 Original S17 S2 S1 S16 S15 S4 S11 S12 S13 S14 S5 S5 S9 S10 CUT S7 S7 S2 S3 S4 S11 S9 S11 S13 S13 S2 S8 S9 S16 S6 S8 S6 S1 S3 S14 width = 4 S14 S12 S4 S12 S9 S15 S6 S17 S12 S10 CaT S3 S6 S7 S5 S8 S1 S2 S9 S16 S11 S12 S13 S14 S4 width = 2 S15 S17 Zheng – DocProg CP’05

  10. Experiments • Test problems: • Random CSPs • 51 instances of fully interlocked CPPs, from Crossword Puzzle Grid 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 Zheng – DocProg CP’05

  11. Results on random CSPs • CPU time: • Width: TRAVERSE HINGE CUT CaT  HINGE+ HYPERTREE    HYPERTREE  CaT HINGE+ CUT HINGE TRAVERSE   Zheng – DocProg CP’05

  12. CPPs: CPU time (ms) HINGE+ CaT TRAVERSE HINGE Instance ID Zheng – DocProg CP’05

  13. CPPs: width HINGE HINGE+ CaT TRAVERSE Instance ID Zheng – DocProg CP’05

  14. CPP: Notable exception • On only 1 CPP, HINGE outperforms CaT CaT HINGE Zheng – DocProg CP’05

  15. 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) Zheng – DocProg CP’05

  16. Thank you for your attention. Research supported by CAREER Award #0133568 from NSF. Experiments conducted on PrairieFire of the Research Computing Facilities (RCF) of CSE-UNL. Questions… Zheng – DocProg CP’05

  17. Additional Slides Zheng – DocProg CP’05

  18. How do we choose a cut? 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. S9 S3 S5 S6 S7 S8 8 S17 S2 S4 S11 S12 S13 S14 S9 S3 S5 S6 S7 S8 S17 7 S2 S4 S11 S12 S13 S14 Zheng – DocProg CP’05

  19. 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. Zheng – DocProg CP’05

More Related