parameters: (self, payoff_table, writeable=False)
docstring: Initializes an immutable payoff table.
  
      Let p be the number of players, k be the number of strategies. Then, there
      are Combinations(p + k - 1, k - 1) distinct configurations for the
      strategies of the p players.
  
      The payoff table is of shape [(p + k - 1)! / (p! * (k - 1)!), 2 * k].
  
      The first k columns encode the number of players playing each strategies.
  
      The second k columns encode the average payoff of each strategy in that
      game.
  
      Args:
        payoff_table: A numpy heuristic payoff table, which is assumed to be
          correctly constructed.
        writeable: Whether the numpy array payoff_table should be writeable. See
          https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.ndarray.flags.html.
            However, locking a base object does not lock any views that already
            reference it,
docstring_summary: Initializes an immutable payoff table.
docstring_tokens: Initializes an immutable payoff table .
function: def __init__(self, payoff_table, writeable=False):
      """Initializes an immutable payoff table.
  
      Let p be the number of players, k be the number of strategies. Then, there
      are Combinations(p + k - 1, k - 1) distinct configurations for the
      strategies of the p players.
  
      The payoff table is of shape [(p + k - 1)! / (p! * (k - 1)!), 2 * k].
  
      The first k columns encode the number of players playing each strategies.
  
      The second k columns encode the average payoff of each strategy in that
      game.
  
      Args:
        payoff_table: A numpy heuristic payoff table, which is assumed to be
          correctly constructed.
        writeable: Whether the numpy array payoff_table should be writeable. See
          https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.ndarray.flags.html.
            However, locking a base object does not lock any views that already
            reference it,
      """
      self._writeable = writeable
      self._payoff_table = payoff_table
  
      [self._num_rows, num_columns] = self._payoff_table.shape
      assert num_columns % 2 == 0
      self._num_strategies = int(num_columns / 2)
      self._num_players = np.sum(self._payoff_table[0, :self._num_strategies])
function_tokens: def __init__ ( self , payoff_table , writeable = False ) : self . _writeable = writeable self . _payoff_table = payoff_table [ self . _num_rows , num_columns ] = self . _payoff_table . shape assert num_columns % 2 == 0 self . _num_strategies = int ( num_columns / 2 ) self . _num_players = np . sum ( self . _payoff_table [ 0 , : self . _num_strategies ] )