Skip to content

NevarokML: Box Space

The NevarokML plugin provides a Box space implementation, representing a (possibly unbounded) box in R^n. It is commonly used to define the observation space in reinforcement learning environments where the state can have continuous values.

Box Space Overview

The Box space in NevarokML represents a Cartesian product of n closed intervals in R^n. It can have either an identical bound for each dimension or independent bounds for each dimension. Here are the key features and parameters of the Box space:

  • owner: Parameter represents the owner of the space object, usually the object creating the space.
  • size (Shape): The shape of the box space.
  • min (Low): The lower bound of the box, specifying the minimum value for each dimension.
  • max (High): The upper bound of the box, specifying the maximum value for each dimension.


Here is the API for the Box space in NevarokML, along with the corresponding default parameter settings:

#include "Spaces/NevarokMLSpace.h"

UFUNCTION(BlueprintPure, Category = "NevarokML|Space")
static UNevarokMLSpace* Box(UObject* owner, FNevarokMLIndex2D size, const TArray<float>& min, const TArray<float>& max)

To create a Box space, call the Box factory function and provide the required parameters. The function will return an instance of the UNevarokMLSpace class, representing the Box space.