Main Content

rlTable

値テーブルまたは Q テーブル

説明

値テーブルと Q テーブルは、それぞれ価値関数と Q 値関数内で使用できる近似モデルの 1 つです。値テーブルには、観測値の有限集合に対する報酬が格納されます。Q テーブルには、対応する観測値とアクションの有限のペアに対する報酬が格納されます。

rlTable オブジェクトを使用して価値関数近似器を作成するには、rlValueFunctionrlQValueFunction、または rlVectorQValueFunction オブジェクトを使用します。

作成

説明

T = rlTable(obsinfo) は、与えられた離散観測値の値テーブルを作成します。

T = rlTable(obsinfo,actinfo) は、与えられた離散観測値とアクションの Q テーブルを作成します。

入力引数

すべて展開する

観測仕様。rlFiniteSetSpec オブジェクトとして指定します。

アクション仕様。rlFiniteSetSpec オブジェクトとして指定します。

プロパティ

すべて展開する

報酬テーブル。配列として返されます。Table は以下のようになります。

  • 値テーブルでは、NO 個の行が含まれます。ここで、NO は有限観測値の数です。

  • Q テーブルでは、NO 個の行と NA 個の列が含ます。ここで、NA は可能な有限アクションの数です。

オブジェクト関数

rlValueFunctionValue function approximator object for reinforcement learning agents
rlQValueFunction Q-Value function approximator object for reinforcement learning agents
rlVectorQValueFunction Vector Q-value function approximator for reinforcement learning agents

すべて折りたたむ

環境インターフェイスを作成し、その観測仕様を取得します。

env = rlPredefinedEnv("BasicGridWorld");
obsInfo = getObservationInfo(env)
obsInfo = 
  rlFiniteSetSpec with properties:

       Elements: [25x1 double]
           Name: "MDP Observations"
    Description: [0x0 string]
      Dimension: [1 1]
       DataType: "double"

観測仕様を使用して値テーブルを作成します。

vTable = rlTable(obsInfo)
vTable = 
  rlTable with properties:

    Table: [25x1 double]

これで、離散観測空間をもつエージェント用の価値関数の近似モデルとしてテーブルを使用できるようになりました。詳細については、rlValueFunctionを参照してください。

この例では、rlTable を使用して Q テーブルを作成する方法を示します。このようなテーブルは、有限の観測空間と行動空間をもつエージェントのアクターまたはクリティックを表すために使用できます。

環境インターフェイスを作成し、その観測仕様とアクション仕様を取得します。

env=rlMDPEnv(createMDP(8,["up";"down"]));
obsInfo = getObservationInfo(env)
obsInfo = 
  rlFiniteSetSpec with properties:

       Elements: [8x1 double]
           Name: "MDP Observations"
    Description: [0x0 string]
      Dimension: [1 1]
       DataType: "double"

actInfo = getActionInfo(env)
actInfo = 
  rlFiniteSetSpec with properties:

       Elements: [2x1 double]
           Name: "MDP Actions"
    Description: [0x0 string]
      Dimension: [1 1]
       DataType: "double"

観測仕様とアクション仕様を使用して Q テーブルを作成します。

qTable = rlTable(obsInfo,actInfo)
qTable = 
  rlTable with properties:

    Table: [8x2 double]

これで、離散行動空間と観測空間をもつエージェント用の Q 値関数の近似モデルとしてテーブルを使用できるようになりました。詳細については、rlQValueFunctionを参照してください。

バージョン履歴

R2019a で導入