I'm new in CP. Want to start preparing for my upcoming interviews. What are the questions and topics should I study in CP to get my myself confident?
-
1See this other question: Constraint programming resources. (some good links in there!) – sascha Mar 26 '24 at 13:05
1 Answers
Assuming, one is also interested in what's happening internally aka "not only black-box view".
I like the materials related to MiniCP, mostly:
The papers abstract:
This paper introduces MiniCP, a lightweight, open-source solver for constraint programming. MiniCP is motivated by educational purposes and, in particular, the desire to provide the core implementation of a constraint-programming solver for students in computer science and industrial engineering. The design of MiniCP provides a one-to-one mapping between the theoretical and implementation concepts and its compositional abstractions favor extensibility and flexibility. MiniCP obviously does not support all available constraint-programming features and implementation techniques, but these could be implemented as future extensions or exploratory projects. MiniCP also comes with a full set of exercises, unit tests, and development projects.
It seems to try to replicate what Minisat did to the SAT-community:
MiniSat has a neat, minimalist, and well-documented architecture that has enabled several generations of students and researchers to enter the field and make significant contributions
Those materials of course, have some bias towards some design-decisions which you will need to learn about from other sources if needed, an example:
- trail-based state-restoration (opposed to copy-based like gecode does)
- 505
- 4
- 11