Orbital library

orbital.algorithm.template
Class MarkovDecisionProblem.DefaultTransition

java.lang.Object
  extended by orbital.algorithm.template.MarkovDecisionProblem.DefaultTransition
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable, MarkovDecisionProblem.Transition, TransitionModel.Transition
Enclosing interface:
MarkovDecisionProblem

public static class MarkovDecisionProblem.DefaultTransition
extends java.lang.Object
implements MarkovDecisionProblem.Transition, java.io.Serializable

Default implementation of transition options for Markov decision processes.

Author:
André Platzer
See Also:
Serialized Form
Stereotype:
Structure, Implementation

Constructor Summary
MarkovDecisionProblem.DefaultTransition(double probability, double cost)
          Deprecated. convenience constructor, prefer to use ValueFactory.valueOf(double)..
MarkovDecisionProblem.DefaultTransition(Scalar probability, Real cost)
          Create a new option ⟨p,c⟩.
 
Method Summary
 int compareTo(java.lang.Object o)
          Compares transition options.
 Real getCost()
          Get the cost of taking the action leading to this transition.
 Scalar getProbability()
          Get the transition probability.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface orbital.algorithm.template.TransitionModel.Transition
equals, hashCode
 

Constructor Detail

MarkovDecisionProblem.DefaultTransition

public MarkovDecisionProblem.DefaultTransition(Scalar probability,
                                               Real cost)
Create a new option ⟨p,c⟩.

Parameters:
probability - the probability of reaching a state sʹ.
cost - the immediate cost of taking the action which took us to that state sʹ.

MarkovDecisionProblem.DefaultTransition

public MarkovDecisionProblem.DefaultTransition(double probability,
                                               double cost)
Deprecated. convenience constructor, prefer to use ValueFactory.valueOf(double)..

Method Detail

compareTo

public int compareTo(java.lang.Object o)
Description copied from interface: TransitionModel.Transition
Compares transition options. In nondeterministic cases, implementations will usually compare transition options according to their probabilities. Deterministic cases, however, may prefer comparisons involving cost or accumulated cost. Those comparisons can also be combined. In any case, implementations are not required to use any specific order.

Specified by:
compareTo in interface java.lang.Comparable
Specified by:
compareTo in interface TransitionModel.Transition

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getProbability

public Scalar getProbability()
Description copied from interface: TransitionModel.Transition
Get the transition probability.

Specified by:
getProbability in interface TransitionModel.Transition
Returns:
the transition probability p∈[0,1] of taking this transition.

getCost

public Real getCost()
Description copied from interface: MarkovDecisionProblem.Transition
Get the cost of taking the action leading to this transition.

Note: Since c:S×A→R is a function, the cost should only depend on the action a taken, and the state s in which it was taken, not the actual outcome (which is unknown a priori). Otherwise, subset construction would not be applicable, etc.

Specified by:
getCost in interface MarkovDecisionProblem.Transition
Returns:
c(s,a) the cost of taking the action a∈A(s) that took us here from state s∈S.

Orbital library
1.3.0: 11 Apr 2009

Copyright © 1996-2009 André Platzer
All Rights Reserved.