hanabiapp.game.agent.random_agent

 1import random
 2from .agent import Agent
 3
 4class RandomAgent(Agent):
 5  """
 6  ランダムに合法なアクションを選択するエージェント.
 7  
 8  Note:
 9      本エージェントは Google の Hanabi Learning Environment(HLE)形式には対応していない.
10  """
11
12  def __init__(self, name, player_number):
13    """
14    PyhanabiRandomAgent のコンストラクタ.
15
16    Args:
17        name (str): エージェントの名前
18        player_number (int): プレイヤーの番号
19        config (dict, optional): エージェントの設定(デフォルトは空の辞書)
20    """
21    super().__init__(name, player_number)
22    self.need_hle_convert= True
23
24  def act(self, observation,rand_ins):
25    """
26    与えられた観測情報に基づいてランダムなアクションを選択する関数.
27
28    Args:
29        game_ins (Game): 現在のゲームインスタンス
30
31    Returns:
32        dict: ランダムに選択された合法なアクション
33    """
34    if observation['current_player_offset'] == 0:
35      return rand_ins.choice(observation['legal_moves'])
36    else:
37      return None
class RandomAgent(hanabiapp.game.agent.agent.Agent):
 5class RandomAgent(Agent):
 6  """
 7  ランダムに合法なアクションを選択するエージェント.
 8  
 9  Note:
10      本エージェントは Google の Hanabi Learning Environment(HLE)形式には対応していない.
11  """
12
13  def __init__(self, name, player_number):
14    """
15    PyhanabiRandomAgent のコンストラクタ.
16
17    Args:
18        name (str): エージェントの名前
19        player_number (int): プレイヤーの番号
20        config (dict, optional): エージェントの設定(デフォルトは空の辞書)
21    """
22    super().__init__(name, player_number)
23    self.need_hle_convert= True
24
25  def act(self, observation,rand_ins):
26    """
27    与えられた観測情報に基づいてランダムなアクションを選択する関数.
28
29    Args:
30        game_ins (Game): 現在のゲームインスタンス
31
32    Returns:
33        dict: ランダムに選択された合法なアクション
34    """
35    if observation['current_player_offset'] == 0:
36      return rand_ins.choice(observation['legal_moves'])
37    else:
38      return None

ランダムに合法なアクションを選択するエージェント.

Note:

本エージェントは Google の Hanabi Learning Environment(HLE)形式には対応していない.

RandomAgent(name, player_number)
13  def __init__(self, name, player_number):
14    """
15    PyhanabiRandomAgent のコンストラクタ.
16
17    Args:
18        name (str): エージェントの名前
19        player_number (int): プレイヤーの番号
20        config (dict, optional): エージェントの設定(デフォルトは空の辞書)
21    """
22    super().__init__(name, player_number)
23    self.need_hle_convert= True

PyhanabiRandomAgent のコンストラクタ.

Arguments:
  • name (str): エージェントの名前
  • player_number (int): プレイヤーの番号
  • config (dict, optional): エージェントの設定(デフォルトは空の辞書)
need_hle_convert
def act(self, observation, rand_ins):
25  def act(self, observation,rand_ins):
26    """
27    与えられた観測情報に基づいてランダムなアクションを選択する関数.
28
29    Args:
30        game_ins (Game): 現在のゲームインスタンス
31
32    Returns:
33        dict: ランダムに選択された合法なアクション
34    """
35    if observation['current_player_offset'] == 0:
36      return rand_ins.choice(observation['legal_moves'])
37    else:
38      return None

与えられた観測情報に基づいてランダムなアクションを選択する関数.

Arguments:
  • game_ins (Game): 現在のゲームインスタンス
Returns:

dict: ランダムに選択された合法なアクション