CSP and DPLL example project essentially done as a course project. And also our funny artificial intelligence project done by uncaulked hypocrites.
We decided to implement it using pure python.
You can view .travis.yml to see how to run the tests. You can look at the tests to see how the command line user interface works.
We tried to implement it expressively.
The project definition is available here in Persian. We will add an english translation if someone requests.
As an overview the problem defined in this project is to put some colored blocks on a rectangle and satisfy the constraints as well. The constrains are as follows:
- blocks don't overlap,
- blocks don't have a common side unless they differ in color.