Describir: Approximate Dynamic Programming: An Efficient Machine Learning Algorithm