hyphi_gym.common.base#

Module Contents#

Classes#

Base

Base Env Implementing

Attributes#

hyphi_gym.common.base.RAND_KEY = ['Agent', 'Target']#
hyphi_gym.common.base.RAND_KEYS = ['Agents', 'Targets']#
hyphi_gym.common.base.RAND#
class hyphi_gym.common.base.Base(detailed=False, sparse=False, explore=False, can_fail=False, random=[], RADD=[], seed: int | None = None, max_episode_steps=100)#

Bases: gymnasium.Env

Base Env Implementing • Truncated Episodes (via max_episode_steps) • Sparse Rewards (defaults to False) • Detailed Rewards (defaults to False) • Reward Threshold for Early Stopping • Exploration Mode without reward / target • Supporting randomization upon init (Agent and Target), or, upon reset (Agents, Targets and items in RADD) • Seeding nondeterministic environments • Generating dynamic spec obejct and env name based on the configuration

property name: str#

Generates the dynamic environent name

property spec: gymnasium.envs.registration.EnvSpec#

Getter function to generate the dynmaic environment spec

_name: str#
layout: numpy.ndarray | None#
seed(seed: int | None = None)#
abstract _validate(layout: numpy.ndarray, error: bool, setup: bool) int#

Overwrite this function to validate layout return steps to solution

abstract _randomize(layout: numpy.ndarray, key: str) tuple[numpy.ndarray]#

Overwrite this function to randomize layout w.r.t. key Return old and new position

randomize(layout, keys=RAND, setup=False)#

Helper function to randomize all keys in self.random. Randomization can be forced via setup

abstract _generate() numpy.ndarray#

Random generator function for a layout of self.specs

_reset(layout)#
reset(layout=None, **kwargs) tuple[gymnasium.spaces.Space, dict]#

Gymnasium compliant function to reset the environment

_reward_threshold(layout: numpy.ndarray | None = None, setup=False)#

Given a layout, calculates the min and max returns

abstract execute(action: gymnasium.spaces.Space) tuple[gymnasium.spaces.Space, dict]#

Overwrite this function to perfom step mutaions on the actual environment.

step(action: gymnasium.spaces.Space) tuple[gymnasium.spaces.Space, float, bool, bool, dict]#

Gymnasium compliant fucntion to step the environment with action using the internal _step