Class QMIXOptions<T>
Configuration options for QMIX agents.
public class QMIXOptions<T> : ReinforcementLearningOptions<T>
Type Parameters
TThe numeric type used for calculations.
- Inheritance
-
QMIXOptions<T>
- Inherited Members
Remarks
QMIX factorizes joint action-values into per-agent values using a mixing network. This enables decentralized execution while maintaining centralized training.
For Beginners: QMIX solves multi-agent problems by learning individual Q-values for each agent, then combining them with a "mixing network" that ensures the team's joint action is consistent with individual actions.
Key features:
- Value Factorization: Decomposes team value into agent values
- Mixing Network: Combines agent Q-values monotonically
- Decentralized Execution: Each agent acts independently
- Discrete Actions: Value-based method for discrete action spaces
Think of it like: Each team member estimates their contribution, and a coach (mixing network) combines these to determine the team's overall performance.
Famous for: StarCraft micromanagement, cooperative games
Properties
ActionSize
public int ActionSize { get; init; }
Property Value
AgentHiddenLayers
public List<int> AgentHiddenLayers { get; init; }
Property Value
GlobalStateSize
public int GlobalStateSize { get; init; }
Property Value
MixingHiddenLayers
public List<int> MixingHiddenLayers { 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; }