Seminar on Boolean Constraint Reasoning (Autumn 2010)

Introduction

Constraint reasoning techniques provide generic means for attacking extremely hard combinatorial problems. This approach is based on expressing problems declaratively through mathematical constraints, and using automated tools (constraint solvers) to reason about (find solution to) the problems on the level of the constraints. Today, state-of-the-art constraint reasoning methods find applications in various domains, ranging from hardware and software verification (e.g., in guaranteeing the correctness of processors and device drivers) and testing to scheduling, planning, and bioinformatics. Particularly exciting is the progress seen within the last 10 years in the development of highly efficient Boolean constraint reasoning techniques, especially Boolean satisfiability solving methods, SAT solvers.

The aim of the seminar is to provide a summary of state-of-the-art constraint reasoning techniques, with an emphasis on Boolean satisfiability (SAT solving) and its extensions. Both theoretical and practical aspects and applications will be covered based on handbook chapters complemented with recently published scientific papers.

Course Information

Course Requirements

Guidelines

Keep in mind that the written report and the oral presentation have partially different goals.

Interesting Pointers

Schedule

Date Topic(s) Presenter(s) Opponent(s)
Sep 8 Practical arrangements, short introduction, distribution of topics
See also:
J. Marques-Silva's ECAI 2010 tutorial and SAC 2010 tutorial
J. Rintanen's AAAI 2007 tutorial
M.J. -
Break in the schedule
(Students prepare reports and presentations)
Nov 3 Topic 1 Martin Janne
Topic 6 Niko Joel R.
Nov 10 Graph coloring by SAT Joel R. Joel K.
Topic 11 Janne - (informal)
Nov 17 Topic 13 Chen Helle
Topic 2 (cancelled)
Nov 24 Topic 4 Helle Niko
Topic 9 Preston Martin
Dec 1 Topic 15 Lokesh Chen
Topic 16 Joel K. Lokesh, Preston

Topics

Below are listed possible topics for giving a presentation and writing a report. Each student chooses one topic, and one topic can be chosen only by one student. The provided articles for each topic serve as the main references, but it is a plus if you independently consult additional suitable references. The topics will be assigned during the first two seminar meetings (introduction to the topic presented by the teacher) on a first-come-first-served basis. You can also reserve a topic before the first meeting by contacting the teacher.

It is also possible suggest a topic outside this list; if you wish to suggest one, please contact the teacher in advance for fixing the details.

Algorithms
  1. Conflict-driven clause learning (CDCL)
    • Chapter 4 of Handbook of Satisfiability
    • A well-known solver: Niklas Eén, Niklas Sörensson: An Extensible SAT-solver. SAT 2003: 502-518
  2. Stochastic local search (SLS)
Extensions
  1. Non-Clausal / Circuit Satisfiability
  2. Unsatisfiable cores / subformulas
  3. Max-SAT
  4. Parallel SAT solving using computing clusters
  5. Pseudo-Boolean and cardinality constraints
  6. Model Counting (#SAT)
Applications
  1. Automated planning
  2. Haplotype inference
  3. Combinatorial designs
  4. Automatic test pattern generation (ATPG)
  5. Synthesizing circuits and finding circuit complexity upper bounds by SAT
  6. Probabilistic inference by #SAT
Foundations and theory
  1. Relative efficiency of CDCL algorithms and Resolution
  2. Parameterized complexity
  3. Proof complexity lower bounds for Resolution
    • Classic paper: Armin Haken: The Intractability of Resolution. Theor. Comput. Sci. 39: 297-308 (1985)
    • Paul Beame, Toniann Pitassi: Simplified and Improved Resolution Lower Bounds. FOCS 1996: 274-282
    • Chapters 5.1-5.2 and 5.4 (especially 5.4.1) of P. Colte, E. Kranakis: Boolean Functions and Computation Models, Springer 2002.
  4. Worst-case upper bounds