|
|
|
@ -46,6 +46,7 @@ public interface PathFullInfo |
|
|
|
|
|
|
|
/** |
|
|
|
* Get a state reward for the state at a given step of the path. |
|
|
|
* If no reward info is stored ({@link #hasRewardInfo()} is false), returns 0.0. |
|
|
|
* @param step Step index (0 = initial state/step of path) |
|
|
|
* @param rsi Reward structure index |
|
|
|
*/ |
|
|
|
@ -53,12 +54,14 @@ public interface PathFullInfo |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the total time spent up until entering a given step of the path. |
|
|
|
* If no time info is stored ({@link #hasTimeInfo()} is false), returns 0.0. |
|
|
|
* @param step Step index (0 = initial state/step of path) |
|
|
|
*/ |
|
|
|
public abstract double getCumulativeTime(int step); |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the total (state and transition) reward accumulated up until entering a given step of the path. |
|
|
|
* If no reward info is stored ({@link #hasRewardInfo()} is false), returns 0.0. |
|
|
|
* @param step Step index (0 = initial state/step of path) |
|
|
|
* @param rsi Reward structure index |
|
|
|
*/ |
|
|
|
@ -66,12 +69,14 @@ public interface PathFullInfo |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the time spent in a state at a given step of the path. |
|
|
|
* If no time info is stored ({@link #hasTimeInfo()} is false), returns 0.0. |
|
|
|
* @param step Step index (0 = initial state/step of path) |
|
|
|
*/ |
|
|
|
public abstract double getTime(int step); |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the index of the choice taken for a given step. |
|
|
|
* If no choice info is stored ({@link #hasChoiceInfo()} is false), returns 0. |
|
|
|
* @param step Step index (0 = initial state/step of path) |
|
|
|
*/ |
|
|
|
public abstract int getChoice(int step); |
|
|
|
@ -80,18 +85,21 @@ public interface PathFullInfo |
|
|
|
* Get the index i of the action taken for a given step. |
|
|
|
* If i>0, then i-1 is the index of an action label (0-indexed) |
|
|
|
* If i<0, then -i-1 is the index of a module (0-indexed) |
|
|
|
* If no action info is stored ({@link #hasActionInfo()} is false), returns 0. |
|
|
|
* @param step Step index (0 = initial state/step of path) |
|
|
|
*/ |
|
|
|
public abstract int getModuleOrActionIndex(int step); |
|
|
|
|
|
|
|
/** |
|
|
|
* Get a string describing the action/module of a given step. |
|
|
|
* If no action info is stored ({@link #hasActionInfo()} is false), returns "". |
|
|
|
* @param step Step index (0 = initial state/step of path) |
|
|
|
*/ |
|
|
|
public abstract String getModuleOrAction(int step); |
|
|
|
|
|
|
|
/** |
|
|
|
* Get a transition reward associated with a given step. |
|
|
|
* If no reward info is stored ({@link #hasRewardInfo()} is false), returns 0.0. |
|
|
|
* @param step Step index (0 = initial state/step of path) |
|
|
|
* @param rsi Reward structure index |
|
|
|
*/ |
|
|
|
@ -99,16 +107,44 @@ public interface PathFullInfo |
|
|
|
|
|
|
|
/** |
|
|
|
* Does the path contain a deterministic loop? |
|
|
|
* If no loop info is stored ({@link #hasLoopInfo()} is false), returns false. |
|
|
|
*/ |
|
|
|
public abstract boolean isLooping(); |
|
|
|
|
|
|
|
/** |
|
|
|
* What is the step index of the start of the deterministic loop, if it exists? |
|
|
|
* If no loop info is stored ({@link #hasLoopInfo()} is false), returns 0. |
|
|
|
*/ |
|
|
|
public abstract int loopStart(); |
|
|
|
|
|
|
|
/** |
|
|
|
* What is the step index of the end of the deterministic loop, if it exists? |
|
|
|
* If no loop info is stored ({@link #hasLoopInfo()} is false), returns 0. |
|
|
|
*/ |
|
|
|
public abstract int loopEnd(); |
|
|
|
|
|
|
|
/** |
|
|
|
* Does this object store information about rewards? |
|
|
|
*/ |
|
|
|
public abstract boolean hasRewardInfo(); |
|
|
|
|
|
|
|
/** |
|
|
|
* Does this object store information about which choices were taken? |
|
|
|
*/ |
|
|
|
public abstract boolean hasChoiceInfo(); |
|
|
|
|
|
|
|
/** |
|
|
|
* Does this object store information about rewards? |
|
|
|
*/ |
|
|
|
public abstract boolean hasActionInfo(); |
|
|
|
|
|
|
|
/** |
|
|
|
* Does this object store information about time elapse (for continuous-time models)? |
|
|
|
*/ |
|
|
|
public abstract boolean hasTimeInfo(); |
|
|
|
|
|
|
|
/** |
|
|
|
* Does this object store information about loops in the path? |
|
|
|
*/ |
|
|
|
public abstract boolean hasLoopInfo(); |
|
|
|
} |