A Non-Parametric Approach to Dynamic Programming