Constraint Satisfaction Search Algorithms