Constraint Programming Winter School
Topic outline
-
General
-
If you continue to work on the labs and you have questions, you can push your code in the lab so we can access it and contact us:
- Hadrien: hadrien.cambazard@grenoble-inp.fr
- Arnaud: arnaud.malapert@univ-cotedazur.fr
- Charles: charles.prudhomme@imt-atlantique.fr
-
Explainable Constraint Programming
Explainable constraint solving is concerned with explaining constraint (optimization) problems and their solutions. While having roots in the well-studied topic of explaining unsatisfiability, it is getting renewed attention as part of the wider eXplainable AI (XAI) field. This raises new challenges in terms of interpretability and actionability of explanations, as well as algorithmic challenges with regards to scalability, expressivity and preferences that must be considered.
We will review two general types of explanations in XCP: deductive explanations and contrastive explanations, and provide a deeper view on techniques in these categories, including well established techniques like minimal unsatisfiable subsets and correction subsets, as well as newer techniques such as step-wise explanations, feasibility corrections, inverse optimisation techniques and more. The talk is supported by working implementations on top of the CPMpy library and includes live Python notebook demo's on nurse rostering problems.