Skip to content

NevarokML: MultiDiscreteStack Space

The NevarokML plugin provides a MultiDiscreteStack space implementation, which represents a stack of multi-discrete action values. This space is useful for tasks where the agent needs to maintain a memory.

MultiDiscreteStack Space Overview

The MultiDiscreteStack space in NevarokML extends the functionality of the MultiDiscrete space by adding a stack dimension. It allows you to stack multiple instances of the multi-discrete space values, creating a memory of multi-discrete values.

  • owner: Represents the owner of the space object, usually the object creating the space.
  • vec: An array of positive integers specifying the number of actions for each discrete action space.
  • stack: The size of the stack. Specifies how many values of the multi-discrete action space are stacked.


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

#include "Spaces/NevarokMLSpace.h"

UFUNCTION(BlueprintPure, Category = "NevarokML|Space")
static UNevarokMLSpace* MultiDiscreteStack(UObject* owner, const TArray<int64>& vec, int stack = 1);

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