1. A system for scheduling events in a Boolean satisfiability (SAT) solver, the system comprising: a first engine operable to collect one or more first-order statistics on a search for a valid solution to an SAT problem; a second engine operable to derive one or more second-order statistics on the search from the one or more first-order statistics; and a third engine operable to schedule events in the search according to one or more of the second-order statistics.