FBoxSpace
A struct representing a box (continuous) space of possible observations or actions.
A BoxSpace is a Cartesian product of BoxSpaceDimensions, where each dimension defines a continuous range with upper and lower bounds. This is commonly used for continuous control problems where actions or observations are real-valued vectors within specified ranges.
struct FBoxSpace : public FSpaceMethods
FBoxSpace
FBoxSpace()Constructs an empty BoxSpace with no dimensions.
FBoxSpace
FBoxSpace(const TArray<float> &Low, const TArray<float> &High, const TArray<int> &Shape = TArray<int>())Constructs a BoxSpace with the given bounds arrays.
Parameters
-
Low(const TArray<float>) -
High(const TArray<float>) -
Shape(const TArray<int>, default:TArray<int>())
FBoxSpace
FBoxSpace(const TArray<FBoxSpaceDimension> &Dimensions, const TArray<int> &Shape = TArray<int>())Constructs a BoxSpace from an array of BoxSpaceDimensions.
Parameters
-
Dimensions(const TArray<FBoxSpaceDimension>) -
Shape(const TArray<int>, default:TArray<int>())
FBoxSpace
FBoxSpace(std::initializer_list<float> Low, std::initializer_list<float> High, std::initializer_list<int> Shape = std::initializer_list<int>())Constructs a BoxSpace from initializer lists.
Parameters
-
Low(std::initializer_list<float>) -
High(std::initializer_list<float>) -
Shape(std::initializer_list<int>, default:std::initializer_list<int>())
FBoxSpace
FBoxSpace(const TArray<int> &Shape)Constructs a BoxSpace with a specific shape and uninitialized dimensions.
Parameters
Shape(const TArray<int>)
Copy
void Copy(const FBoxSpace &Other)Copies the contents of another BoxSpace into this one.
Parameters
Other(const FBoxSpace)
GetNormalizedObservationSpace
FBoxSpace GetNormalizedObservationSpace() constGets a normalized version of this BoxSpace with all dimensions in [0, 1].
FBoxSpace
virtual ~FBoxSpace()Virtual destructor.
Add
void Add(float Low, float High)Adds a dimension to this BoxSpace.
Parameters
-
Low(float) -
High(float)
Add
void Add(const FBoxSpaceDimension &Dimension)Adds a dimension to this BoxSpace.
Parameters
Dimension(const FBoxSpaceDimension)
GetNumDimensions
virtual int GetNumDimensions() const overrideGets the number of dimensions in this space.
GetFlattenedSize
virtual int GetFlattenedSize() const overrideGets the flattened size of this space.
IsEmpty
virtual bool IsEmpty() const overrideChecks if this space is empty.
Validate
virtual ESpaceValidationResultValidate(const TInstancedStruct<FPoint> &Point) const overrideValidates that a point conforms to this space.
Parameters
Point(const TInstancedStruct<FPoint>)
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)
NormalizeObservation
FBoxPoint NormalizeObservation(const FBoxPoint &Observation) constNormalizes an observation in this space to the range [0, 1].
Parameters
Observation(const FBoxPoint)
Attributes
Dimensions
TArray<FBoxSpaceDimension> Dimensions = TArray<FBoxSpaceDimension>()The dimensions of this BoxSpace.
Shape
TArray<int> Shape = TArray<int>()The shape of the Box Space.