hanabiapp.game.agent.random_agent_pyhanabi

 1import random
 2from .agent import Agent
 3
 4class PyhanabiRandomAgent(Agent):
 5  """
 6  Google の Hanabi Learning Environment(HLE)形式に対応した,
 7  ランダムに合法なアクションを選択するエージェント.
 8  """
 9
10  def __init__(self, name, player_number,config={}):
11    """
12    RandomAgent のコンストラクタ.
13
14    Args:
15        name (str): エージェントの名前
16        player_number (int): プレイヤーの番号
17    """
18
19    super().__init__(name, player_number)
20    self.need_hle_convert= False
21
22  def act(self, game_ins):
23    """
24    Google HLE 形式に基づいて,観測情報からランダムなアクションを選択する関数.
25
26    Args:
27        observation (dict): HLE 形式の観測情報(現在のゲーム状態)
28        rand_ins (random.Random): 乱数生成インスタンス
29
30    Returns:
31        dict or None: ランダムに選択された合法なアクション,または None(現在のプレイヤーでない場合)
32    """
33    # for action in game_ins.valid_actions():
34    #     print(action)
35    return game_ins.random.choice(game_ins.valid_actions())
class PyhanabiRandomAgent(hanabiapp.game.agent.agent.Agent):
 5class PyhanabiRandomAgent(Agent):
 6  """
 7  Google の Hanabi Learning Environment(HLE)形式に対応した,
 8  ランダムに合法なアクションを選択するエージェント.
 9  """
10
11  def __init__(self, name, player_number,config={}):
12    """
13    RandomAgent のコンストラクタ.
14
15    Args:
16        name (str): エージェントの名前
17        player_number (int): プレイヤーの番号
18    """
19
20    super().__init__(name, player_number)
21    self.need_hle_convert= False
22
23  def act(self, game_ins):
24    """
25    Google HLE 形式に基づいて,観測情報からランダムなアクションを選択する関数.
26
27    Args:
28        observation (dict): HLE 形式の観測情報(現在のゲーム状態)
29        rand_ins (random.Random): 乱数生成インスタンス
30
31    Returns:
32        dict or None: ランダムに選択された合法なアクション,または None(現在のプレイヤーでない場合)
33    """
34    # for action in game_ins.valid_actions():
35    #     print(action)
36    return game_ins.random.choice(game_ins.valid_actions())

Google の Hanabi Learning Environment(HLE)形式に対応した, ランダムに合法なアクションを選択するエージェント.

PyhanabiRandomAgent(name, player_number, config={})
11  def __init__(self, name, player_number,config={}):
12    """
13    RandomAgent のコンストラクタ.
14
15    Args:
16        name (str): エージェントの名前
17        player_number (int): プレイヤーの番号
18    """
19
20    super().__init__(name, player_number)
21    self.need_hle_convert= False

RandomAgent のコンストラクタ.

Arguments:
  • name (str): エージェントの名前
  • player_number (int): プレイヤーの番号
need_hle_convert
def act(self, game_ins):
23  def act(self, game_ins):
24    """
25    Google HLE 形式に基づいて,観測情報からランダムなアクションを選択する関数.
26
27    Args:
28        observation (dict): HLE 形式の観測情報(現在のゲーム状態)
29        rand_ins (random.Random): 乱数生成インスタンス
30
31    Returns:
32        dict or None: ランダムに選択された合法なアクション,または None(現在のプレイヤーでない場合)
33    """
34    # for action in game_ins.valid_actions():
35    #     print(action)
36    return game_ins.random.choice(game_ins.valid_actions())

Google HLE 形式に基づいて,観測情報からランダムなアクションを選択する関数.

Arguments:
  • observation (dict): HLE 形式の観測情報(現在のゲーム状態)
  • rand_ins (random.Random): 乱数生成インスタンス
Returns:

dict or None: ランダムに選択された合法なアクション,または None(現在のプレイヤーでない場合)