Struct FMultiDiscreteSpace
Struct FMultiDiscreteSpace
- Defined in File MultiDiscreteSpace.h
Inheritance Relationships
Base Type
public FSpace(Struct FSpace)
struct FMultiDiscreteSpace : public FSpaceSource: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Dependencies: ConstSpaceVisitor, FPoint, SpaceVisitor
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.
Public Functions
| Symbol | Details |
|---|---|
FMultiDiscreteSpace | Constructs an empty MultiDiscreteSpace. |
FMultiDiscreteSpace | Constructs a MultiDiscreteSpace from an array of upper bounds. |
FMultiDiscreteSpace | Constructs a MultiDiscreteSpace from a raw array. |
FMultiDiscreteSpace | Copy constructor. |
Merge | Merges another MultiDiscreteSpace into this one. |
Add | Adds a dimension to this MultiDiscreteSpace. |
~FMultiDiscreteSpace | Virtual destructor. |
GetMaxValue | Gets the index of the maximum value in an array. |
GetNumDimensions | Gets the number of dimensions in this space. |
Validate | Validates that a point conforms to this space. |
GetFlattenedSize | Gets the flattened size of this space. |
IsEmpty | Checks if this space is empty. |
Accept | Accepts a mutable visitor for the visitor pattern. |
Accept | Accepts a const visitor for the visitor pattern. |
FMultiDiscreteSpace
FMultiDiscreteSpace()Constructs an empty MultiDiscreteSpace.
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
FMultiDiscreteSpace
FMultiDiscreteSpace(const TArray<int> &High)Constructs a MultiDiscreteSpace from an array of upper bounds.
Parameters
High – [in] Array of exclusive upper bounds for each dimension.
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
FMultiDiscreteSpace
inline FMultiDiscreteSpace(const int *Data, int Size)Constructs a MultiDiscreteSpace from a raw array.
Parameters
-
Data – [in] Raw array of upper bounds.
-
Size – [in] Size of the array.
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
FMultiDiscreteSpace
FMultiDiscreteSpace(FMultiDiscreteSpace &Other)Copy constructor.
Parameters
Other – [in] The MultiDiscreteSpace to copy from.
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
Merge
void Merge(const FMultiDiscreteSpace &Other)Merges another MultiDiscreteSpace into this one.
Parameters
Other – [in] The space to merge.
| # | Direction | Name | Type | Description |
|---|---|---|---|---|
| 1 | — | Other | const FMultiDiscreteSpace & | The space to merge. |
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
Add
void Add(int DimSize)Adds a dimension to this MultiDiscreteSpace.
Parameters
DimSize – [in] The exclusive upper bound for the new dimension.
| # | Direction | Name | Type | Description |
|---|---|---|---|---|
| 1 | — | DimSize | int | The exclusive upper bound for the new dimension. |
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
~FMultiDiscreteSpace
virtual ~FMultiDiscreteSpace()Virtual destructor.
Attributes: virtual
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
GetMaxValue
int GetMaxValue(const TArray<float> &Vector) constGets the index of the maximum value in an array.
Parameters
Vector – [in] The vector to find the maximum value in.
Returns:
The index of the maximum value.
| # | Direction | Name | Type | Description |
|---|---|---|---|---|
| 1 | — | Vector | const TArray< float > & | The vector to find the maximum value in. |
Attributes: const
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
GetNumDimensions
virtual int GetNumDimensions() const overrideGets the number of dimensions in this space.
Returns:
The number of dimensions in the High array.
Attributes: const, virtual
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
Validate
virtual ESpaceValidationResultValidate(const TInstancedStruct<FPoint> &InPoint) const overrideValidates that a point conforms to this space.
Parameters
InPoint – [in] The point to validate.
Returns:
Validation result indicating success or failure reason.
| # | Direction | Name | Type | Description |
|---|---|---|---|---|
| 1 | — | InPoint | const TInstancedStruct< FPoint > & | The point to validate. |
Attributes: const, virtual
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
GetFlattenedSize
virtual int GetFlattenedSize() const overrideGets the flattened size of this space.
Returns:
The sum of all High values.
Attributes: const, virtual
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
IsEmpty
virtual bool IsEmpty() const overrideChecks if this space is empty.
Returns:
True if High array is empty, false otherwise.
Attributes: const, virtual
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Implementation: Source/Schola/Private/Common/Spaces/MultiDiscreteSpace.cpp
Accept
inline virtual void Accept(SpaceVisitor &InVisitor)Accepts a mutable visitor for the visitor pattern.
Parameters
InVisitor – [inout] The visitor to accept.
| # | Direction | Name | Type | Description |
|---|---|---|---|---|
| 1 | — | InVisitor | SpaceVisitor & | The visitor to accept. |
Attributes: inline, virtual
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Accept
inline virtual void Accept(ConstSpaceVisitor &InVisitor) constAccepts a const visitor for the visitor pattern.
Parameters
InVisitor – [inout] The const visitor to accept.
| # | Direction | Name | Type | Description |
|---|---|---|---|---|
| 1 | — | InVisitor | SpaceVisitor & | The visitor to accept. |
Attributes: inline, virtual
Source: Source/Schola/Public/Common/Spaces/MultiDiscreteSpace.h
Public Members
| Symbol | Details |
|---|---|
High | Array of exclusive upper bounds (maximum value + 1) for each dimension. |
High
TArray<int> High = TArray<int>()Array of exclusive upper bounds (maximum value + 1) for each dimension.
The lower bound for each dimension is always 0. For example, High[i]=2 gives valid values {0,1} for dimension i.