Main Content


Options for Q-learning agent


Use an rlQAgentOptions object to specify options for creating Q-learning agents. To create a Q-learning agent, use rlQAgent

For more information on Q-learning agents, see Q-Learning Agents.




opt = rlQAgentOptions creates an rlQAgentOptions object for use as an argument when creating a Q-learning agent using all default settings. You can modify the object properties using dot notation.

opt = rlQAgentOptions(Name,Value)sets option properties using name-value pairs. For example, rlQAgentOptions('DiscountFactor',0.95) creates an option set with a discount factor of 0.95. You can specify multiple name-value pairs. Enclose each property name in quotes.


expand all


PropertyDescriptionDefault Value
EpsilonMinMinimum value of Epsilon0.01
EpsilonDecayDecay rate0.0050


Epsilon = Epsilon*(1-EpsilonDecay)


To specify exploration options, use dot notation after creating the rlQAgentOptions object opt. For example, set the epsilon value to 0.9.

opt.EpsilonGreedyExploration.Epsilon = 0.9;

Sample time of agent, specified as a positive scalar.




Object Functions

rlQAgentQ-learning reinforcement learning agent


collapse all

This example shows how to create an options object for a Q-Learning agent.

Create an rlQAgentOptions object that specifies the agent sample time.

opt = rlQAgentOptions('SampleTime',0.5)
opt = 
  rlQAgentOptions with properties:

    EpsilonGreedyExploration: [1x1 rl.option.EpsilonGreedyExploration]
                  SampleTime: 0.5000
              DiscountFactor: 0.9900


opt.DiscountFactor = 0.95;

See Also

Introduced in R2019a