Skip to content

Artificial intelligence

Textbooks

Courses

2021 DeepMind x UCL RL

  • https://deepmind.com/learning-resources/reinforcement-learning-series-2021
  • https://storage.googleapis.com/deepmind-media/UCL%20x%20DeepMind%202021/Lecture%2012-%20Deep%20RL%201%20.pdf
  • https://www.youtube.com/playlist?list=PLqYmG7hTraZDVH599EItlEWsUOsJbAodm

Constraint satisfaction problems (CSPs)

https://en.wikipedia.org/wiki/Constraint_satisfaction_problem

The input to a CSP are a set of nodes, a set of constraints between those nodes, and domains of labels that can be assigned to those nodes. The goal of a CSP is to assign labels to the nodes such that the constraints are not violated.

For example, given:

  • is a set of variables,
  • is a set of their respective domains of values, and
  • is a set of constraints,

the goal of a CSP is to chose a label for each from its corresponding domain such that none of the constraints are violated.

A programming paradigm (Constraint programming) has been developed for solving CSPs. For an example, see the Google OR-tools package.

Boolean satisfiability problems (SAT) can be throught of as a subset of CSPs, and it is often possible to represent a CSP as a SAT problem and vice versa (see Principles and Practice of Constraint Programming – CP 2000 and SAT v CSP).