UNPKG

@ai-on-browser/data-analysis-models

Version:

Data analysis model package without any dependencies

170 lines (169 loc) 4.46 kB
/** * 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; }