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 FSpaceMethods
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) constGets the index of the maximum value in an array.
Parameters
Vector(const TArray<float>)
GetNumDimensions
virtual int GetNumDimensions() const overrideGets the number of dimensions in this space.
Validate
virtual ESpaceValidationResultValidate(const TInstancedStruct<FPoint> &InPoint) const overrideValidates that a point conforms to this space.
Parameters
InPoint(const TInstancedStruct<FPoint>)
GetFlattenedSize
virtual int GetFlattenedSize() const overrideGets the flattened size of this space.
IsEmpty
virtual bool IsEmpty() const overrideChecks 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) constAccepts 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.