Multi-Step Greedy and Approximate Real Time Dynamic Programming