Consistency properties and algorithms for achieving them are at the heart of the success of Constraint Programming. In this paper, we study the relational consistency property R(*,m)C, which is equivalent to m-wise consistency proposed in relational databases. We also define wR(*,m)C, a weaker variant of this property. We propose an algorithm for enforcing these properties on a Constraint Satisfaction Problem by tightening the existing relations and without introducing new ones. We empirically show that wR(*,m)C solves in a backtrack-free manner all the instances of some CSP benchmark classes, thus hinting at the tractability of those classes.
In this thesis, we model the Sudoku puzzle, a known NP-complete problem [ Yato, 2003 ] , as a Constraint Satisfaction Problem (CSP) and investigate solving it using Constraint Processing (CP) techniques. We study and compare the effectiveness of several constraint propagation algorithms. We investigate the use of CP techniques to support interaction with the human players to guide and train them in solving Sudoku puzzles. We explore the use of the appealing and familiar setting of Sudoku puzzles as a vehicle to teach CP techniques to students in Computer Science and to explain the power of these techniques to the general public. We found empirically that algorithms that achieve relatively low levels of consistency are able to solve most (SAC [ Debruyne andBessì ere, 1997 ]) or all (SGAC [ Debruyne andBessì ere, 1997; Régin, 1994 ]) common Sudoku puzzles that have one solution. We designed and implemented a Java applet, Solver, that allows a user to interactively solve a Sudoku using CP techniques. Solver is built to maximize the interactions between the human users and CP techniques. It allows the users to apply different consistency algorithms, work specifically on certain constraints, and make assignments and domain reductions on their own. We also designed a 'hint' functionality that uses increasingly complex propagation algorithms, in a controlled manner, to guide the users and train them playing the game. ACKNOWLEDGEMENTS I would like to convey my deepest gratitude to my advisor, Professor Berthe Y. Choueiry who has given me her full support in completing this thesis. This thesis would not have been possible without her hard work testing the software, inputting new instances, explaining concepts, and revising and reviewing my writing just to name a few things. I would like to thank Dr. Charles Riedesel for serving as my co-advisor. He carefully read this manuscript and provided invaluable feedback and advice to help me improve it. I would also like to thank my committee members: Southern California. Angelo built all the mechanisms for the Constructor around my interface, search, and constraint propagation algorithms. Finally, I would like to thank my family for their support.
SOLVER is built to maximize the interactions between the human users and CP techniques. It allows users to apply various consistency algorithms to specific constraints or the entire puzzle, and interactively make assignments and domain reductions. We also designed a ‘hint’ functionality that uses increasingly complex propagation algorithms in a controlled manner to guide and train the users to play the game.
Berthe Y. Choueiry合作论文数Department of Computer Science & Engineering, University of Nebraska-Lincoln2