Skip to content

IPolicy

Interface for policy implementations in the Schola framework.

A policy maps observations to actions, typically through a trained neural network model or other decision-making algorithm. This interface defines the core methods that all policies must implement for inference and initialization.

Subclassed by UBlueprintPolicy, UNNEPolicy

class IPolicy

Methods

Think

inline virtual bool Think(const TInstancedStruct<FPoint> &InObservations,
TInstancedStruct<FPoint> &OutAction)

Generates an action from the given observations.

Parameters

  • InObservations (const TInstancedStruct<FPoint>)

  • OutAction (TInstancedStruct<FPoint>)


BatchedThink

inline virtual bool
BatchedThink(const TArray<TInstancedStruct<FPoint>> &InObservations,
TArray<TInstancedStruct<FPoint>> &OutActions)

Generates actions from a batch of observations.

Parameters

  • InObservations (const TArray<TInstancedStruct<FPoint>>)

  • OutActions (TArray<TInstancedStruct<FPoint>>)


Init

inline virtual bool Init(const FInteractionDefinition &InPolicyDefinition)

Initializes the policy from an interaction definition.

Parameters

  • InPolicyDefinition (const FInteractionDefinition)

IsInferenceBusy

inline virtual bool IsInferenceBusy() const

Checks if the policy is currently performing inference.

Source: Source/Schola/Public/Policies/PolicyInterface.h