Dynamic Programming and Stochastic Control by Dimitri P Bertsekas