def create_pattern_neighbors(width, n_states=2):
  """
  This is a private function that returns the weights for calculating an unique
  number for each different neighborhood pattern in a random Boolean network.

  Parameters
  ----------
  width : int
      Neighborhood size.
  n_states : int
      Number of discrete state in a cell.

  Returns
  -------
  out : list
      List of weights of the neighbors.
  """
  return [n_states**p for p in range(width)[::-1]]