@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
170 lines (169 loc) • 4.46 kB
TypeScript
/**
* Real number range state/actioin
*/
export class RLRealRange {
/**
* @param {number} min Minimum value
* @param {number} max Maximum value
*/
constructor(min: number, max: number);
min: number;
max: number;
/**
* Returns spaces.
* @param {number} resolution Resolution value
* @returns {number[]} Representative value
*/
toSpace(resolution: number): number[];
/**
* Returns array.
* @param {number} resolution Resolution value
* @returns {number[]} Array of center values
*/
toArray(resolution: number): number[];
/**
* Returns index of the value.
* @param {number} value Check value
* @param {number} resolution Resolution value
* @returns {number} Index of the value
*/
indexOf(value: number, resolution: number): number;
}
/**
* Integer number range state/actioin
*/
export class RLIntRange {
/**
* @param {number} min Minimum value
* @param {number} max Maximum value
*/
constructor(min: number, max: number);
min: number;
max: number;
/**
* Length
* @type {number}
*/
get length(): number;
/**
* Returns array.
* @param {number} resolution Resolution value
* @returns {number[]} Representative value
*/
toArray(resolution: number): number[];
/**
* Returns index of the value.
* @param {number} value Check value
* @param {number} resolution Resolution value
* @returns {number} Index of the value
*/
indexOf(value: number, resolution: number): number;
}
/**
* Base class for reinforcement learning environment
* @property {(*[] | RLRealRange | RLIntRange)[]} actions Action variables
* @property {(*[] | RLRealRange | RLIntRange)[]} states States variables
*/
export class RLEnvironmentBase {
_epoch: number;
/**
* Epoch
* @type {number}
*/
get epoch(): number;
/**
* Reward reviver
* @param {function (RLStepResult): number} reviver Reward reviver function that returns modified reward value
*/
set rewardReviver(reviver: (arg0: RLStepResult) => number);
_rewardReviver: (arg0: RLStepResult) => number;
/**
* Returns cloned environment.
* @returns {RLEnvironmentBase} Cloned environment
*/
clone(): RLEnvironmentBase;
/**
* Reset environment.
*/
reset(): void;
/**
* Returns current state.
* @param {*} agent Agent
* @returns {*[]} Current state
*/
state(agent: any): any[];
/**
* Set new state.
* @param {*[]} state New state
* @param {*} agent Agent
*/
setState(state: any[], agent: any): void;
/**
* Do action and returns new state.
* @param {*[]} action Actions to be performed by the agent
* @param {*} agent Agent
* @returns {RLStepResult} state, reward, done
*/
step(action: any[], agent: any): RLStepResult;
/**
* Do actioin without changing environment and returns new state.
* @param {*[]} state Environment state
* @param {*[]} action Actions to be performed by the agent
* @param {*} agent Agent
* @returns {RLStepResult} state, reward, done
*/
test(state: any[], action: any[], agent: any): RLStepResult;
/**
* Sample an action.
* @param {*} agent Agent
* @returns {*[]} Sampled action
*/
sample_action(agent: any): any[];
}
export class RLStepResult {
/**
* @param {RLEnvironmentBase} env Environment
* @param {*[]} state State
* @param {number} reward Reward
* @param {boolean} done Done
* @param {boolean} invalid Invalid action
*/
constructor(env: RLEnvironmentBase, state: any[], reward: number, done: boolean, invalid: boolean);
_env: RLEnvironmentBase;
_state: any[];
_reward: number;
_done: boolean;
_invalid: boolean;
/**
* State
* @type {*[]}
*/
get state(): any[];
/**
* Reward
* @type {number}
*/
get reward(): number;
/**
* Done
* @type {boolean}
*/
get done(): boolean;
/**
* Invalid action
* @type {boolean}
*/
get invalid(): boolean;
}
/**
* Empty environment
*/
export default class EmptyRLEnvironment extends RLEnvironmentBase {
actions: any[];
states: any[];
reward: any;
reset(): any[];
state(): any[];
setState(): void;
test(): RLStepResult;
}