Variable ordering - Forward checking:
Hence this is different from variable ordering in two important ways as:
- Whether this is a dead end when we will end up visiting all the values for this variable anyway then fail-first does not make sense for values. In fact we try and keep our options open as much more as possible but this will help whether there is a solution ahead of us.
- Thus unlike the variable ordering heuristics there this heuristic carries an extra cost on top of forward checking this means the reduction in domain sizes of future variables for every assignment of the current variable utilizes to be checked. Therefore it is possible that this kind of value ordering will slow things down. In such a scenario this is what happens for randomly constructed binary CSPs. In fact on occasions however there it can sometimes be a very good idea to employ dynamic value ordering also.