Class MADDPGOptions<T>
Configuration options for Multi-Agent DDPG (MADDPG) agents.
public class MADDPGOptions<T> : ReinforcementLearningOptions<T>
Type Parameters
TThe numeric type used for calculations.
- Inheritance
-
MADDPGOptions<T>
- Inherited Members
Remarks
MADDPG extends DDPG to multi-agent settings with centralized training and decentralized execution. Critics observe all agents during training.
For Beginners: MADDPG allows multiple agents to learn together in shared environments. During training, agents can "see" what others are doing (centralized critics), but during execution, each agent acts independently (decentralized actors).
Key features:
- Centralized Training: Critics see all agents' observations and actions
- Decentralized Execution: Actors only use their own observations
- Continuous Actions: Based on DDPG for continuous control
- Cooperative or Competitive: Works for both settings
Think of it like: Team sports where players practice together (centralized) but during the game each player makes their own decisions (decentralized).
Examples: Robot coordination, traffic control, multi-player games
Constructors
MADDPGOptions()
public MADDPGOptions()
Properties
ActionSize
public int ActionSize { get; init; }
Property Value
ActorHiddenLayers
public List<int> ActorHiddenLayers { get; init; }
Property Value
ActorLearningRate
public T ActorLearningRate { get; init; }
Property Value
- T
CriticHiddenLayers
public List<int> CriticHiddenLayers { get; init; }
Property Value
CriticLearningRate
public T CriticLearningRate { get; init; }
Property Value
- T
ExplorationNoise
public double ExplorationNoise { get; init; }
Property Value
NumAgents
public int NumAgents { get; init; }
Property Value
Optimizer
The optimizer used for updating network parameters. If null, Adam optimizer will be used by default.
public IOptimizer<T, Vector<T>, Vector<T>>? Optimizer { get; init; }
Property Value
- IOptimizer<T, Vector<T>, Vector<T>>
StateSize
public int StateSize { get; init; }
Property Value
TargetUpdateTau
public T TargetUpdateTau { get; init; }
Property Value
- T
Methods
Validate()
Validates that required properties are set.
public void Validate()