Research Article

Constraint Satisfaction for Motion Feasibility Checking

Algorithm 1

Backtracking with propagation.
function BWP (assignment = {}, csp= (V, D, C)) returns a solution or failure
if assignment is complete then return assignment end if
var = ordered_unassigned_variable (V)
for each val in D (var)
  if val is consistent with assignment then
   add {var = val} to assignment
   result = forward_checking (csp, var, assignment)
   if result is failure then return failure end if
   add neighbors to assignment
   result = BWP (assignment, csp)
   if result is not failure then return result end if
   remove {var = value} from assignment
  end if
 end for
return failure