Markov Decision Processes: Discrete Stochastic Dynamic Programming