Dynamic Programming In Reinforcement Learning