web-dev-qa-db-ja.com

Spaces.DiscreteはOceai Gymで意味します

Oceai Gymを使用してブラックジャックに適用されたMc - Monte Carloメソッドを学びます。そして私はこれらの行を理解していません:

def __init__(self, natural=False):
    self.action_space = spaces.Discrete(2)
    self.observation_space = spaces.Tuple((
        spaces.Discrete(32),
        spaces.Discrete(11),
        spaces.Discrete(2)))
    self.seed()
 _

出身地: https://github.com/openai/gym/blob/master/gym/envs/toy_text/blackjack.py

4
doob

観測スペースとアクションスペースはコメントで定義されています ここ

観測スペース:

_The observation of a 3-Tuple of: the player's current sum,
the dealer's one showing card (1-10 where 1 is ace),
and whether or not the player holds a usable ace (0 or 1).

eg: (14, 9, False) means the current sum is 14, card shown is 9 and there is no usable ace(because ace can be used as 1 or 11)
_

アクションスペース:

_The player can request additional cards (hit=1) until they decide to stop
(stick=0) or exceed 21 (bust).
_

環境内で定義される離散的な行動/観測スペースがある場合には、離散空間が使用されます。 sospaces.Discrete(2)は、2つの可能な値のうちの1つを取り得る離散変数を持つことを意味します。

ブラックジャック環境では、

_self.action_space = spaces.Discrete(2)
# here spaces.Discrete(2) means that action can either be True or False.

self.observation_space = spaces.Tuple((
        spaces.Discrete(32),
        spaces.Discrete(11),
        spaces.Discrete(2)))
# here spaces.Discrete(32) corresponds to the 32 possible sum of card number possible
# here spaces.Discrete(11) corresponds to the 11 possible cards which can be dealed
# by the dealer: [1,2,3,4,5,6,7,8,9,10(king,queen,jack),11(ace if possible)]
# here spaces.Discrete(2) corresponds to the two possible uses of the ace: [True, False]
# True if it can be used as 11.

_
4
nsidn98