Enumerate all programs by length, run them all in parallel, but allocate time to each proportional to its prior probability (shorter/simpler programs get more time). Provably optimal in a certain sense: it finds a solution at most a constant factor slower than any program that could find it, given the prior.