I have the following question.
The Forward Check Strategy is explained visually in the paper Chronological Backtracking versus Formal Methods for Solving CSPs on page 3. The idea is, to place the queen somewhere on the board, figuring out in which direction the queen gives a check, then place the second queen on the board and also try out in which direction she gives a check and so forth. A bit more complicated is the idea to bring Artificial Intelligence into the “constraint satisfaction problem“. According to the literature, it is possible to solve such problems with a “Apprenticeship learning”. That means, we are not using an algorithm to place the queen but observe what a human expert is doing. A demonstration consists of a graph which is growing and each node has a feature. The feature is given by the check-pattern, that means which board elements are in check. If we are recording enough demonstration we get some kind of database. For example:
On the chessboard, 2 queens are placed already. The AI software has the obligation to find the remaining 2 positions. He is asking his feature-database for similar patterns in the past and reproduces the action of a human teacher. It is comparable to a hierarchical opening database. The main problem is to define the feature set. The feature set defines, which possible action of placing a queen will be recognized as equal or not. For example, the board can be rotated, so that some nodes are equal. Instead of using an exploring algorithm like RRT the idea is, to grow the graph with human guidance. That means, the graph consists only of such games which were given by the demonstration.