public static enum BoundedRTDP.StateSelectionMode extends java.lang.Enum<BoundedRTDP.StateSelectionMode>
MODELBASED is a standard RTDP-like sampling from the transition dynamics. This is the default mode and in practice, we found it gives faster performance than the reccomeneded approach in the Bounded RTDP paper. Additionally, if the domain has an efficient performAction state sampler, this mode will provide some computational gains over the other approaches.
WEIGHTEDMARGIN is the state selection method suggested in the original Bounded RTDP paper, which we found to be somewhat slower than MODELBASED. In this approach, each possible outcome state is selected randomly from a distribution that is the transition dynamics probability weighted by the margin in the lower bound and upper bound of the next state's value function. This promotes exploration towards states that are more uncertain.
MAXMARGIN selects the state with the maximum margin between the lower bound and upperbound of the value function. Ties are broken randomly. This method is much more exploratory, but results in significantly longer initial rollouts.
Enum Constant and Description |
---|
MAXMARGIN |
MODELBASED |
WEIGHTEDMARGIN |
Modifier and Type | Method and Description |
---|---|
static BoundedRTDP.StateSelectionMode |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static BoundedRTDP.StateSelectionMode[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final BoundedRTDP.StateSelectionMode MODELBASED
public static final BoundedRTDP.StateSelectionMode WEIGHTEDMARGIN
public static final BoundedRTDP.StateSelectionMode MAXMARGIN
public static BoundedRTDP.StateSelectionMode[] values()
for (BoundedRTDP.StateSelectionMode c : BoundedRTDP.StateSelectionMode.values()) System.out.println(c);
public static BoundedRTDP.StateSelectionMode valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null