Table of Contents

Class QMIXOptions<T>

Namespace
AiDotNet.Models.Options
Assembly
AiDotNet.dll

Configuration options for QMIX agents.

public class QMIXOptions<T> : ReinforcementLearningOptions<T>

Type Parameters

T

The 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

int

AgentHiddenLayers

public List<int> AgentHiddenLayers { get; init; }

Property Value

List<int>

GlobalStateSize

public int GlobalStateSize { get; init; }

Property Value

int

MixingHiddenLayers

public List<int> MixingHiddenLayers { get; init; }

Property Value

List<int>

NumAgents

public int NumAgents { get; init; }

Property Value

int

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

int