jmdp
Class InfiniteMDP<S extends State,A extends Action>

java.lang.Object
  extended by jmdp.MDP<S,A>
      extended by jmdp.InfiniteMDP<S,A>
Direct Known Subclasses:
CTMDP, DTMDP

public abstract class InfiniteMDP<S extends State,A extends Action>
extends MDP<S,A>

This class is a structural class and is not intended to be extended. It represents a general Infinite horizon MDP problem.

Author:
Andres Sarmiento, German Riano - Universidad de Los Andes
See Also:
PolicyIterationSolver, ValueIterationSolver

Field Summary
protected  States<S> absorbingStates
           
protected  long explorationTime
           
protected  boolean hasAbsorbingState
           
protected  ValueFunction<S> probability
           
protected  ProbabilitySolver<S,A> probabilitySolver
           
protected  States<S> states
           
 
Fields inherited from class jmdp.MDP
finite, initial, reporter
 
Constructor Summary
InfiniteMDP(States<S> initial)
          Creates a new INFINITE Dynamic Programming (DP) Problem.
 
Method Summary
protected abstract  States<S> explore(States<S> initSet)
           
abstract  Actions<A> feasibleActions(S i)
          Returns the set of actions available at this state.
 States<S> getAllStates()
          Complete set of states explored
protected  AbstractAverageSolver<S,A> getDefaultAverageSolver()
           
protected  AbstractDiscountedSolver<S,A> getDefaultDiscountedSolver()
           
protected  AbstractInfiniteSolver<S,A> getDefaultSolver()
          The class that extends MDP must define the default solver to use.
 AbstractInfiniteSolver<S,A> getSolver()
           
 void setInterestRate(double interestRate)
          Sets the interest rate to be used in the problem solving if the objective is to minimze the discounted cost.
 
Methods inherited from class jmdp.MDP
debug, getOptimalPolicy, getOptimalValueFunction, getReporter, isFinite, isSolved, operation, printSolution, printSolution, setReporter, setSolver, solve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

states

protected States<S extends State> states

probability

protected ValueFunction<S extends State> probability

probabilitySolver

protected ProbabilitySolver<S extends State,A extends Action> probabilitySolver

hasAbsorbingState

protected boolean hasAbsorbingState

absorbingStates

protected States<S extends State> absorbingStates

explorationTime

protected long explorationTime
Constructor Detail

InfiniteMDP

public InfiniteMDP(States<S> initial)
Creates a new INFINITE Dynamic Programming (DP) Problem.

Parameters:
initial - set of initial states for the exploration algorithm
Method Detail

feasibleActions

public abstract Actions<A> feasibleActions(S i)
Returns the set of actions available at this state.


explore

protected abstract States<S> explore(States<S> initSet)

setInterestRate

public void setInterestRate(double interestRate)
Sets the interest rate to be used in the problem solving if the objective is to minimze the discounted cost.

Parameters:
interestRate - effective interest rate

getDefaultDiscountedSolver

protected AbstractDiscountedSolver<S,A> getDefaultDiscountedSolver()
See Also:
MDP.getDefaultSolver()

getDefaultAverageSolver

protected AbstractAverageSolver<S,A> getDefaultAverageSolver()
See Also:
MDP.getDefaultSolver()

getDefaultSolver

protected AbstractInfiniteSolver<S,A> getDefaultSolver()
Description copied from class: MDP
The class that extends MDP must define the default solver to use.

Specified by:
getDefaultSolver in class MDP<S extends State,A extends Action>
Returns:
the solver to use for this problem.

getAllStates

public States<S> getAllStates()
Complete set of states explored

Returns:
set of states explored

getSolver

public AbstractInfiniteSolver<S,A> getSolver()
Overrides:
getSolver in class MDP<S extends State,A extends Action>
Returns:
solver of the current problem