Algorithms for constraint-satisfaction problems: a survey | Synapse