Symbolic Dynamic Programming for Discrete and Continuous State MDPs