class_docstr: ARSOptimizer is supposed to maximize an objective function
code: def __init__(
      self,
      feature_dim,
      n_pert: int = 10,
      rand_ars_params: bool = False,
      alpha: int = 1,
      noise: int = 1,
      b_top=None,
  ) -> None:
      self.feature_dim = feature_dim
      self.ars_params = (
          np.random.randn(feature_dim)
          if rand_ars_params
          else np.zeros(feature_dim)
      )
      self.alpha = alpha
      self.noise = noise
      self.n_pert = n_pert
      self.b_top = b_top if b_top is not None else n_pert
      self.perturbations = []
  
imports: from operator import itemgetter
  import numpy
  import torch
label_desc: Use image node_id 1 to create a new ARSOptimizer object  with example: obj = ARSOptimizer(feature_dim, n_pert, rand_ars_params, alpha, noise, b_top)