@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
147 lines (146 loc) • 3.85 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
* @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;
};
}