jmarkov.jmdp

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

- java.lang.Object
- - jmarkov.jmdp.MDP<S,A>
  - - jmarkov.jmdp.InfiniteMDP<S,A>

- Type Parameters:
    `S` - States class.
    `A` - Actions class.
  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. It represents a general Infinite horizon MDP problem. It is extended for discrete and continuous problems.
  Author:
    Andres Sarmiento, Germán Riaño - Universidad de Los Andes
  See Also:
    `PolicyIterationSolver`, `ValueIterationSolver`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `InfiniteMDP(States<S> initial)` Creates a new INFINITE Dynamic Programming (DP) Problem.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract Actions<A>` | `feasibleActions(S i)` Returns the set of actions available at this state.
    `StatesSet<S>` | `getAllStates()` Complete set of states explored
    `int` | `getNumStates()` Returns the number of states in the model.
    `AbstractInfiniteSolver<S,A>` | `getSolver()`

    - ### Methods inherited from class jmarkov.jmdp.MDP

      `debug, debug, debug, getDebugLevel, getOptimalPolicy, getOptimalValueFunction, getReporter, isFinite, isSolved, operation, printSolution, printSolution, setDebugLevel, setReporter, setSolver, solve`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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.
      Parameters:
        `i` - Current State
      Returns:
        set of Actions that can be taken at this state.

    - #### getNumStates

          public final int getNumStates()

      Returns the number of states in the model. It causes the model to be generated.
      Returns:
        The number of ststes in the system.

    - #### getAllStates

          public StatesSet<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