Problem solvers, both human and machine, have at their disposal many heuristics that may support effective search. The efficacy of these heuristics, however, varies with the problem class, and their mutual interactions may not be well understood. The long-term goal of our work is to learn how to select appropriately from among a large body of heuris-tics, and how to combine them into a mixture that works well on a specific class of problems. The principal result re-ported here is that randomly chosen subsets of heuristics can improve the identification of an appropriate mixture of heu-ristics. A self-supervised learner uses this method here to learn to solve constraint satisfaction problems quickly and effectively.