UNPKG

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

Version:

Data analysis model package without any dependencies

147 lines (146 loc) 3.85 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 * @param {object} value Reward object */ set reward(value: any); /** * 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 {{state: *[], reward: number, done: boolean, invalid?: boolean}} state, reward, done */ step(action: any[], agent: any): { state: any[]; reward: number; done: boolean; invalid?: boolean; }; /** * 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 {{state: *[], reward: number, done: boolean, invalid?: boolean}} state, reward, done */ test(state: any[], action: any[], agent: any): { state: any[]; reward: number; done: boolean; invalid?: boolean; }; /** * Sample an action. * @param {*} agent Agent * @returns {*[]} Sampled action */ sample_action(agent: any): any[]; } /** * Empty environment */ export default class EmptyRLEnvironment extends RLEnvironmentBase { actions: any[]; states: any[]; reset(): any[]; state(): any[]; setState(): void; test(): { state: any[]; reward: number; done: boolean; }; }