Skip to content

IImitationScholaEnvironment

A type-erased interface for a variety of Schola Environments (single and multi agent)

This interface provides a common abstraction for both single-agent and multi-agent imitation learning environments, allowing them to be managed uniformly.

Subclassed by TImitationScholaEnvironment< T >

class IImitationScholaEnvironment

Methods

InitializeEnvironment

virtual void InitializeEnvironment(
TMap<FString, FInteractionDefinition> &OutAgentDefinitions) = 0

Initialize the environment and retrieve agent definitions.

Parameters

  • OutAgentDefinitions (TMap<FString, FInteractionDefinition>)

SeedEnvironment

virtual void SeedEnvironment(int Seed) = 0

Set the random seed for the environment.

Parameters

  • Seed (int)

SetEnvironmentOptions

virtual void SetEnvironmentOptions(const TMap<FString, FString> &Options) = 0

Configure environment options.

Parameters

  • Options (const TMap<FString, FString>)

Reset

virtual void Reset(TMap<FString, FInitialAgentState> &OutAgentState) = 0

Reset the environment to its initial state.

Parameters

  • OutAgentState (TMap<FString, FInitialAgentState>)

Step

virtual void Step(TMap<FString, FImitationAgentState> &OutAgentStates) = 0

Execute one step of the environment with expert demonstrations.

Parameters

  • OutAgentStates (TMap<FString, FImitationAgentState>)

IImitationScholaEnvironment

virtual ~IImitationScholaEnvironment() = default

Virtual destructor for proper cleanup.

Source: Source/ScholaImitation/Public/Environment/ImitationEnvironmentInterface.h