Skip to content

schola.core.spaces.discrete.DiscreteSpace

class schola.core.spaces.discrete.DiscreteSpace(n) : Bases: Discrete, UnrealSpace

A Space representing a single discrete value.

Parameters: : n (int) – The number of discrete values in the space. e.g. space is one value in interval [0,n]

n : The number of discrete values in the space.

Type: : int

See also

gymnasium.spaces.Discrete : The gym space object that this class is analogous to.

proto_spaces.DiscreteSpace : The protobuf representation of this space.

Methods

__init__(n)Constructor of Discrete space.
contains(x)Return boolean specifying if x is a valid member of this space.
fill_proto(msg, value)Convert a python representation of point in this space to a protobuf message.
from_jsonable(sample_n)Converts a list of json samples to a list of np.int64.
from_proto(message)Create a Space Object from a protobuf representation.
is_empty_definition(message)Returns True iff this space has magnitude 0.
merge(*spaces)Merge multiple DiscreteSpaces into a single space.
process_data(msg)Convert a protobuf message corresponding to a point in this space to a pythonic representation.
sample([mask])Generates a single random sample from this space.
seed([seed])Seed the PRNG of this space and possibly the PRNGs of subspaces.
to_jsonable(sample_n)Converts a list of samples to a list of ints.
to_normalized()Returns a normalized version of the space.

Attributes

is_np_flattenableChecks whether this space can be flattened to a spaces.Box.
np_randomLazily seed the PRNG since this is expensive and only needed if sampling from this space.
shapeReturn the shape of the space as an immutable property.

__init__(n) : Constructor of Discrete space.

This will construct the space ({\text{start}, …, \text{start} + n - 1}).

Parameters: : - n (int) – The number of elements of this space.

  • seed – Optionally, you can use this argument to seed the RNG that is used to sample from the Dict space.
  • start (int) – The smallest element of this space.

fill_proto(msg, value) : Convert a python representation of point in this space to a protobuf message. Mutates msg with the result.

Parameters: : - msg (proto_points.FundamentalPoint) – The protobuf message to fill.

  • value (Any) – The pythonic representation of the point.

classmethod is_empty_definition(message) : Returns True iff this space has magnitude 0.

Parameters: : message (proto_space) – The protobuf message to check for emptiness.

Returns: : True iff the space is empty.

Return type: : bool

classmethod merge(*spaces) : Merge multiple DiscreteSpaces into a single space.

Parameters: : *spaces (List*[Union[DiscreteSpace,* MultiDiscreteSpace]**]) – The spaces to merge.

Returns: : The merged space.

Return type: : MultiDiscreteSpace

Raises: : TypeError – If any of the spaces are not Discrete or MultiDiscrete.

See also

merge_discrete_like_spaces : Merge multiple Discrete or MultiDiscrete spaces into a single MultiDiscrete space.

process_data(msg) : Convert a protobuf message corresponding to a point in this space to a pythonic representation.

Parameters: : msg (proto_points.FundamentalPoint) – The protobuf message to convert.

Returns: : The pythonic representation of the point.

Return type: : np.ndarray

proto_space : alias of DiscreteSpace

to_normalized() : Returns a normalized version of the space. Is a noop if a space subclass does not implement to_normalized.

Returns: : The normalized space.

Return type: : UnrealSpace