跳到主要内容

QLearner的类对象

描述:

  用于创建QLearner对象的类。

用法示例:

local ML = require("ML")
local qLearner = ML.QLearner()

pack

类型: 函数。

描述:

  根据给定的离散条件有多少种可能的提示和当前的条件数值构造状态值。

签名:

pack: function(self: QLearnerClass, hints: {integer}, values: {integer}): --[[state]] integer

参数:

参数名类型描述
hints{integer}表示离散条件有多少种可能的提示。假设有两组条件,取值范围均为0, 1, 2,则提示数组为{3, 3}。
values{integer}离散值形式的条件值。

返回值:

返回类型描述
integer生成的状态值。

unpack

类型: 函数。

描述:

  通过给定的离散条件有多少种可能的提示,解析状态值以获取条件值。

签名:

unpack: function(self: QLearnerClass, hints: {integer}, state: integer): {integer}

参数:

参数名类型描述
hints{integer}表示离散条件有多少种可能的提示。假设有两组条件,取值范围均为0, 1, 2,则提示数组为{3, 3}。
stateinteger要解析的状态整数。

返回值:

返回类型描述
{integer}包含离散值形式的条件值列表。

__call

类型: 元方法。

描述:

  创建一个新的QLearner对象,并设定好gamma、alpha和maxQ参数。

签名:

metamethod __call: function(
self: QLearnerClass,
gamma?: number --[[0.5]],
alpha?: number --[[0.5]],
maxQ?: number --[[100.0]]
): QLearner

参数:

参数名类型描述
gammanumber计算奖励的调节因子。默认为0.5。
alphanumber更新Q值的学习速率。默认为0.5。
maxQnumber最大Q值。默认为100.0。

返回值:

返回类型描述
QLearner新创建的QLearner对象。