Constraint Satisfaction and Satisfiability

Google Scholar

You can also find out about my published research on Google Scholar, which, as well as providing links to the papers and their abstracts, additionally provides the latest citation counts and index values.

Overview

After completing my honours research in nurse rostering I continued to work on algorithms designed to simulate aspects of human intelligence. Not that I thought these algorithms were actually intelligent, it was more a case of showing that something we think requires intelligence (like playing chess) is finally only a matter of brute calculation. This interest in intelligence led me to enrol in a PhD in artificial intelligence, specialising in the area of constraint satisfaction. This was a natural evolution from my honours research, as the nurse rostering problem is itself an example of a constraint satisfaction problem.

In my PhD I started to refine the local search approach I had used in my honours work. This approach takes a rough and ready answer to a problem and then improves it by making small changes until there is no single change that could make the answer any better. The difficulty is that for many interesting problems this leads the algorithm into a local minimum, i.e. a place where no single change can improve the answer, but where a change that initially makes things worse could still lead to an even better solution. One way out of a local minimum is to randomly restart the algorithm as soon as it gets stuck and let it improve that new random starting place until it reaches another local minimum, and to keep doing this until a perfect (or at least a good enough) answer is found. Alternatively you can avoid a complete restart by every now and then taking a random move that makes things a bit worse, and then continuing to try and make improvements. The unsatisfying aspect of these algorithms, even though they can be effective, is that they do not learn from their mistakes, because they have no memory.

I remember my first significant breakthrough was to see that an algorithm could remember the past by penalising the constraints it could not satisfy in a local mimimum. For example, let’s say a search gets stuck in a roster where there are not enough nurses on a Thursday morning shift. That means that every single possibility of moving a nurse from another shift in order to fix the Thursday shift makes the solution just as bad or even worse. My answer here was to make getting enough nurses on a Thursday morning more important than for any other single shift . In this way the algorithm learns that Thursday morning is hard to fill by making it more costly. This changes the cost space of the problem so that other alternative solutions (such as one without enough nurses on Tuesday afternoon) will now cost less than the Thursday morning shortage. But, of course, we can now equally become stuck in the Tuesday afternoon shortage. And so we increase the cost of the Tuesday afternoon shift, and try again, continuing like this, adding weights to the constraints we cannot satisfy, until we find a solution that satisifies all the constraints (or until we give up and get a nurse from another ward).

It turned out that this constraint weighting approach was far better than the other randomised algorithms I had been using. This entire weighting idea struck me as if from nowhere one sunny afternoon in 1996 and I had it coded up in a matter of an hour or so. When I discovered it actually worked, I thought my research career was about to take off. I immediately wrote a paper and submitted it to one of the world’s great artificial intelligence conferences (AAAI) only to be told that someone else (Paul Morris) had had the same idea three years earlier. But still, I was underway.

The papers below tell the rest of this story. Finally I developed a constraint weighting algorithm that was worth publishing in AAAI, called PAWS (see AAAI 2004). By then I was no longer working on nurse rostering, but on the universal computational form of the satisfiability (SAT) problem – in which many different kinds of real world scenarios can be represented and then solved by super-fast algorithms specially optimised for the SAT formalism. For a while PAWS was the state-of-the-art in this area, but it was soon superceded by a series of other algorithms, some of which were developed by my own PhD students. The most notable of these was presented in an IJCAI 2007 paper entitled Building Structure into Local Search for SAT (which went on to gain a prestigious IJCAI distinguished paper award). Most of the rest of my work in this area has involved applying and developing the constraint weighting approach to other problem domains, including over-constrained problems (e.g. AAAI 2014), temporal reasoning problems (see the Temporal and Probabilistic Reasoning page), developing more sophisticated ways of weighting different classes of constraints (e.g. AI 2002), and adapting the way constraints are weighted according to the way the algorithm is behaving during the search (e.g. PRICAI 2008). I also branched out and worked with Stuart Bain on algorithms that automatically evolve new constraint satisfaction algorithms (see the Robotics and Evolutionary Computing page).

Finally, I should mention that although I was involved the development of the key ideas and concepts presented in the papers below, as my academic career continued, most of the hard work of coding and experimenting was increasingly taken over by the PhD students whom I was fortunate enough to be supervising. Here, as a rule of thumb, you can tell who did the most work on a particular paper by the order in which the authors are listed. Of these authors, I was a primary PhD supervisor for Stuart Bain, Valnir Ferreira Jnr., Raouf Ishtaiwi and Duc Pham Nghia, and secondary PhD supervisor for Matthew Beaumont and Lingzhong Zhou.

And, as is customary, if we think of these relationships as a kind of family tree, then the grandfather here is my own PhD supervisor, Professor Abdul Sattar, who has so diligently guided and assisted me throughout my career, and remains a dear friend and brother to this day.

2021

Newton, M. A. H., Polash, M. M. A., Pham, D. N., Thornton, J. R., Su, K. & Sattar, A. (2021, In Press). Evaluating Logic Gate Constraints in Local Search for Structured Satis ability Problems. Artificial Intelligence Review, Springer, ISSN 0269-2821.

2014

Cai, S., Luo, C., Thornton, J. R. & Su, K. (2014). Tailoring Local Search for Partial MaxSAT. In: AAAI 2014, Proceedings of the 28th Conference on Artificial Intelligence, Quebec, Canada, MIT Press, pp. 2623-2629.

2008

Pham, D. N., Thornton, J. R., Gretton, C. & Sattar, A. (2008). Combining Adaptive and Dynamic Local Search for Satisfiability. Journal on Satisfiability, Boolean Modeling and Computation. 4, 149-172, The SAT Association, ISSN 1574-0617.

Pham, D. N., Thornton, J. R. & Sattar, A. (2008). Efficiently Exploiting Dependencies in Local Search for SAT. In AAAI 2008: Proceedings of the 23rd Conference on Artificial Intelligence, MIT Press, pp. 1476-1478.

Pham, D. N., Thornton, J. R. & Sattar, A. (2008). Modelling and Solving Temporal Reasoning as Propositional Satisfiability. Artificial Intelligence. 172(15), 1752-1782, ISSN 0004-3702.

Thornton, J. R. & Pham, D. N. (2008). Using Cost Distributions to Guide Weight Decay in Local Search for SAT. PRICAI 2008: 10th Pacific Rim International Conference on Artificial Intelligence. Lecture Notes in Computer Science, 5351, 405-416, Springer, ISSN 0302-9743.

2007

Ishtaiwi, A., Thornton, J. R. & Sattar, A. (2007). Weight Redistribution for Unweighted MAX-SAT. AI 2007: Advances in Artificial Intelligence, 20th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 4830, 687-693, Springer, ISSN 0302-9743.

Pham, D. N., Thornton, J. R., Gretton, C. & Sattar, A. (2007). Advances in Local Search for Satisfiability. AI 2007: 20th Australian Joint Conference on Artificial Intelligence. Lecture Notes in Computer Science, 4830, 213-222, Springer, ISSN 0302-9743.

Pham, D. N., Thornton, J. R. & Sattar, A. (2007). Building Structure into Local Search for SAT. In: IJCAI 2007, Proceedings of the 20th International Joint Conference on Artificial Intelligence, pp. 2359-2364. Winner of Distinguished Paper Award.

2006

Ishtaiwi, A., Thornton, J. R., Anbulagan, Sattar, A. & Pham, D. N. (2006). Adaptive Clause Weight Redistribution. CP 2006: 12th International Conference on the Principles and Practice of Constraint Programming. Lecture Notes in Computer Science, 4204, 229-243, Springer, ISSN 0302-9743.

Pham, D. N., Thornton, J. R. & Sattar, A. (2006). Towards an Efficient SAT Encoding for Temporal Reasoning. CP 2006: 12th International Conference on the Principles and Practice of Constraint Programming. Lecture Notes in Computer Science, 4204, 421-436, Springer, ISSN 0302-9743.

2005

Bain, S., Thornton, J. R. & Sattar, A. (2005). Evolving Variable-Ordering Heuristics for Constrained Optimisation. CP 2005: 11th International Conference on Contraint Programming. Lecture Notes in Computer Science, 3709, 732-736, Springer, ISSN 0302-9743.

Bain, S., Thornton, J. R. & Sattar, A. (2005). A Comparison of Evolutionary Methods for the Discovery of Local Search Heuristics. AI 2005: 18th Australian Joint Conference on Artificial Intelligence. Lecture Notes in Computer Science, 3809, 1068-1074, Springer, ISSN 0302-9743.

Ferreira Jr., V. & Thornton, J. R. (2005). Tie Breaking in Clause Weighting Local Search for SAT. AI 2005: 18th Australian Joint Conference on Artificial Intelligence. Lecture Notes in Computer Science, 3809, 70-81, Springer, ISSN 0302-9743.

Ishtaiwi, A., Thornton, J. R., Sattar, A. & Pham, D. N. (2005). Neighbourhood Clause Weight Redistribution in Local Search for SAT. CP 2005: 11th International Conference on the Principles and Practice of Constraint Programming. Lecture Notes in Computer Science, 3709, 772-776, Springer, ISSN 0302-9743.

Pham, D. N., Thornton, J. R., Sattar, A. & Ishtaiwi, A. (2005). SAT-based versus CSP-based Constraint Weighting for Satisfiability. In AAAI 2005: Proceedings of the 20th National Conference on Artificial Intelligence, MIT Press, pp. 455-460.

Pham, D. N., Thornton, J. R. & Sattar, A. (2005). Modelling and Solving Temporal Reasoning as Satisfiability. Proceedings of the 4th International Workshop on Modelling and Reformulating Constraint Satisfaction Problems, Sitges, Spain. pp. 117-131.

Thornton, J. R. (2005). Clause Weighting Local Search for SAT. Journal of Automated Reasoning. 35(1-3), 97-142, Springer, ISSN 0168-7433.

2004

Bain, S., Thornton, J. R. & Sattar, A. (2004). Methods of Automatic Algorithm Generation. PRICAI 2004: 8th Pacific Rim International Conference on Artificial Intelligence. Lecture Notes in Computer Science, 3157, 144-153, Springer, ISSN 0302-9743.

Bain, S., Thornton, J. R. & Sattar, A. (2004). Evolving Algorithms for Constraint Satisfaction. In: CEC 2004: Proceedings of the 2004 Congress on Evolutionary Computation, IEEE, pp. 265-272.

Beaumont, M., Thornton, J. R., Sattar, A. & Maher, M. (2004). Solving Over-constrained Temporal Reasoning Problems using Local Search. PRICAI 2004: 8th Pacific Rim International Conference on Artificial Intelligence, Lecture Notes in Computer Science, 3157, 134-143, Springer, ISSN 0302-9743..

Ferreira Jr., V. & Thornton, J. R. (2004). Longer-Term Memory in Clause Weighting Local Search for SAT. In AI 2004: 17th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 3339, 730-741, Springer, ISSN 0302-9743.

Thornton, J. R., Pham, D. N., Bain, S. & Ferreira Jr., V. (2004). Additive versus Multiplicative Clause Weighting for SAT. In AAAI 2004: Proceedings of the 19th National Conference on Artificial Intelligence, The MIT Press, pp. 191-196.

Thornton, J. R., Beaumont, M., Sattar, A. & Maher, M. (2004). A Local Search Approach to Modelling and Solving Interval Algebra Problems. Journal of Logic and Computation, 14(1), 93-112, Oxford University Press, ISSN 0955-792X.

Zhou, L., Thornton, J. R. & Sattar, A. (2004). Dynamic Agent-Ordering and Nogood-Repairing in Distributed Constraint Satisfaction Problems. In FLAIRS 2004: Proceedings of the 17th International Florida Artificial Intelligence Research Society Conference, AAAI Press, pp. 20-25.

2003

Anbulagan, Thornton, J. R., & Sattar, A. (2003). Dynamic Variable Filtering for Hard Random 3-SAT Problems. AI 2003: 16th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 2903, 100-111, Springer, ISSN 0302-9743.

Pullan, W., Zhao, L., & Thornton, J. R. (2003). Estimating Problem Metrics for SAT Clause Weighting Local Search. AI 2003: 16th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 2903, 137-149, Springer, ISSN 0302-9743.

Zhou, L., Thornton, J. R., & Sattar, A. (2003). Dynamic Agent Ordering in Distributed Constraint Satisfaction Problems. AI 2003: 16th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 2903, 427-439, Springer, ISSN 0302-9743.

2002

Kravchuk, O., Pullan, W., Thornton, J. R. & Sattar, A. (2002). An Investigation of Variable Relationships in 3-SAT Problems. AI 2002: 15th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 2557, 579-590, Springer, ISSN 0302-9743.

Thornton, J. R., Bain, S., Sattar, A. & Pham, D. (2002). A Two Level Local Search for MAX-SAT Problems with Hard and Soft Constraints. AI 2002: 15th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 2557, 603-614, Springer, ISSN 0302-9743.

Thornton, J. R., Beaumont, M., Sattar, A. & Maher, M. (2002). Applying Local Search to Temporal Reasoning. In: TIME 2002: 9th International Symposium on Temporal Reasoning and Representation, IEEE, pp. 94-99, ISSN 1530-1311.

Thornton, J. R., Pullan, W. & Terry, J. (2002). Towards Fewer Parameters for Clause Weighting SAT Algorithms. AI 2002: 15th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 2557, 603-614, Springer, ISSN 0302-9743.

2001

Beaumont, M., Sattar, A., Maher, M., & Thornton, J. R. (2001). Solving Overconstrained Temporal Reasoning Problems. AI 2001: 14th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 2556, 603-614, ISSN 0302-9743.

2000

Nagarajan, S., Goodwin, S., Sattar, A, & Thornton, J. R. (2000). On Dual Encodings for Non-Binary Constraint Satisfaction Problems. CP 2000: 6th International Conference on the Principles and Practice of Constraint Programming. Lecture Notes in Computer Science, 1894, 531-536, Spinger, ISSN 0302-9743.

Thornton, J. R. (2000). Contraint Weighting Local Search for Constraint SatisfactionPhD Thesis, School of Computing and Information Technology, Griffith University, Brisbane, Australia, pp. 160.

Abstract: One of the challenges for the constraint satisfaction community has been to develop an automated approach to solving Constraint Satisfaction Problems (CSPs) rather than creating specific algorithms for specific problems. Much of this work has concentrated on the development and improvement of general purpose backtracking techniques. However, the success of relatively simple local search techniques on larger satisfiability problems [Selman et al. 1992] and CSPs such as the n-queens [Minton et al. 1992] has caused interest in applying local search to constraint satisfaction. In this thesis we look at the usefulness of constraint weighting as a local search technique for constraint satisfaction. The work is based on the clause weighting ideas of Selman and Kautz [1993] and Morris [1993] and applies, evaluates and extends these ideas from the satisfiability domain to the more general domain of CSPs. Specifically, the contributions of the thesis are:

  • The introduction of a local search taxonomy. We examine the various better known local search techniques and recognise four basic strategies: restart, randomness, memory and weighting.
  • The extension of the CSP modelling framework. In order to represent and efficiently solve more realistic problems we extend the CSP modelling framework to include array-based domains and array-based domain use constraints.
  • The empirical evaluation of constraint weighting. We compare the performance of three constraint weighting strategies on a range of CSP and satisfiability problems and with several other local search techniques. We find that no one technique dominates in all problem domains.
  • The characterisation of constraint weighting performance. Based on our empirical study we identify the weighting behaviours and problem features that favour constraint weighting. We conclude weighting does better on structured problems where the algorithm can recognise a harder sub-group of constraints.
  • The extension of constraint weighting. We introduce an efficient arc weighting algorithm that additionally weights connections between constraints that are simultaneously violated at a local minimum. This algorithm is empirically shown to outperform standard constraint weighting on a range of CSPs and within a general constraint solving system. Also we look at combining constraint weighting with other local search heuristics and find that these hybrid techniques can do well on problems where the parent algorithms are evenly matched.
  • The application of constraint weighting to over constrained domains. Our empirical work suggests constraint weighting does well for problems with distinctions between constraint groups. This led us to investigate solving real-world over constrained problems with hard and soft constraint groups and to introduce two dynamic constraint weighting heuristics that maintain a distinction between hard and soft constraint groups while still adding weights to violated constraints in a local minimum. In an empirical study, the dynamic schemes are shown to outperform other fixed weighting and non-weighting systems on a range of real world problems. In addition, the performance of weighting is shown to degrade less severely when soft constraints are added to the system, suggesting constraint weighting is especially applicable to realistic, hard and soft constraint problems.

1999

Thornton, J. R., & Sattar, A. (1999). On the Behaviour and Application of Constraint Weighting. CP 1999: 5th International Conference on the Principles and Practice of Constraint Programming, Lecture Notes in Computer Science, 1713, 446-460, Springer, ISSN 0302-9743.

1998

Thornton, J. R., & Sattar, A. (1998). Using Arc Weights to Improve Iterative Repair. In AAAI 1998: 15th National Conference on Artificial Intelligence, MIT Press, pp. 367-372.

Thornton, J. R., & Sattar, A. (1998). Dynamic Constraint Weighting for Over Constrained Problems. PRICAI 1998: 5th Pacific Rim International Conference on Artificial Intelligence, Lecture Notes in Computer Science, 1531, 377-388, Springer, ISSN 0302-9743.

1997

Thornton, J. R., & Sattar, A. (1997). Applied Partial Constraint Satisfaction Using Weighted Iterative Repair. AI 1997: 10th Australian Joint Conference on Artificial Intelligence, Lecture Notes in Computer Science, 1342. Springer, ISSN 0302-9743.