Skip to content

FMultiDiscreteSpace

A struct representing a multi-discrete space (vector of integers) of possible observations or actions.

A multi-discrete space represents multiple independent discrete choices, where each dimension can have a different number of options. This is useful for representing multiple independent categorical selections, where each category may have a different number of choices.

struct FMultiDiscreteSpace : public FSpace

Methods

FMultiDiscreteSpace

FMultiDiscreteSpace()

Constructs an empty MultiDiscreteSpace.


FMultiDiscreteSpace

FMultiDiscreteSpace(const TArray<int> &High)

Constructs a MultiDiscreteSpace from an array of upper bounds.

Parameters

  • High (const TArray<int>)

FMultiDiscreteSpace

inline FMultiDiscreteSpace(const int *Data, int Size)

Constructs a MultiDiscreteSpace from a raw array.

Parameters

  • Data (const int)

  • Size (int)


FMultiDiscreteSpace

FMultiDiscreteSpace(FMultiDiscreteSpace &Other)

Copy constructor.

Parameters

  • Other (FMultiDiscreteSpace)

Merge

void Merge(const FMultiDiscreteSpace &Other)

Merges another MultiDiscreteSpace into this one.

Parameters

  • Other (const FMultiDiscreteSpace)

Add

void Add(int DimSize)

Adds a dimension to this MultiDiscreteSpace.

Parameters

  • DimSize (int)

FMultiDiscreteSpace

virtual ~FMultiDiscreteSpace()

Virtual destructor.


GetMaxValue

int GetMaxValue(const TArray<float> &Vector) const

Gets the index of the maximum value in an array.

Parameters

  • Vector (const TArray<float>)

GetNumDimensions

virtual int GetNumDimensions() const override

Gets the number of dimensions in this space.


Validate

virtual ESpaceValidationResult
Validate(const TInstancedStruct<FPoint> &InPoint) const override

Validates that a point conforms to this space.

Parameters

  • InPoint (const TInstancedStruct<FPoint>)

GetFlattenedSize

virtual int GetFlattenedSize() const override

Gets the flattened size of this space.


IsEmpty

virtual bool IsEmpty() const override

Checks if this space is empty.


Accept

inline virtual void Accept(SpaceVisitor &InVisitor)

Accepts a mutable visitor for the visitor pattern.

Parameters

  • InVisitor (SpaceVisitor)

Accept

inline virtual void Accept(ConstSpaceVisitor &InVisitor) const

Accepts a const visitor for the visitor pattern.

Parameters

  • InVisitor (ConstSpaceVisitor)

Attributes

High

TArray<int> High = TArray<int>()

Array of exclusive upper bounds (maximum value + 1) for each dimension.

Source: Source/Schola/Public/Spaces/MultiDiscreteSpace.h