sig
  val rule_num : int
  val rule_table : int list list
  val init_density : float
  val nb_states : int
  val init_min_state_value : int
  val init_max_state_value : int
  val grain_probability : float
  val threshold : int
  val beta : float
  val initializer_prng : Random.State.t
  val rule_prng : Random.State.t
end