Explainable Constraint Solving - A Hands-On Tutorial (video)

Date:

Explainable constraint solving is a sub-field of explainable AI (XAI) concerned with explaining constraint (optimization) problems. Although constraint models are explicit: they are written down in terms of individual constraints that need to be satisfied, the solution to such models can be non-trivial to understand. Driven by the use-case of nurse scheduling, we will demonstrate the type of questions a user can have about (non)-solutions, as well as reviewing what kind of computational tools are available today to answer such questions. We will cover classical methods such as MUS/MCS extraction, and more recent advances in the field such as step-wise explanations, constraint relaxation methods and counterfactual solutions. We will demonstrate and give special attention to techniques that we have successfully (re)implemented on top of the CPMpy constraint solving library, and hence can be readily used today.

The tutorial source code and notebook can be found here