by Owain Evans, Andreas Stuhlmüller, John Salvatier, and Daniel Filan

Dynamic programming