class_docstr: Augmented Random Search 
  Mania et al. (2018) https://arxiv.org/pdf/1803.07055.pdf
class_docstr_tok: ["Augmented","Random","Search","Mania","et","al",".","(","2018",")","https",":","\/\/arxiv.org\/pdf\/1803.07055.pdf"]
code: def tell(self, fitness):
      pos = fitness[: self.directions]
      neg = fitness[self.directions :]
  
      selected_dir_ids = jnp.minimum(pos, neg).argsort()[
          : self.elite_pop_size
      ]
      selected_fitness_stdev = (
          jnp.std(
              jnp.concatenate(
                  [pos[selected_dir_ids], neg[selected_dir_ids]]
              )
          )
          + 1e-05
      )
      fitness_diff = pos[selected_dir_ids] - neg[selected_dir_ids]
      selected_noise = self.noise[selected_dir_ids]
      update = (
          1
          / (self.elite_pop_size * selected_fitness_stdev)
          * jnp.dot(selected_noise.T, fitness_diff)
      )
  
      self.opt_state = self.opt_update(
          self._t // self.lr_decay_steps, -update, self.opt_state
      )
      self._t += 1
      self.mean_params = self.opt_get_params(self.opt_state)
  
      self.stdev = jnp.maximum(
          self.stdev * self.decay_stdev, self.limit_stdev
      )
  
file_path: evojax/evojax/algo/ars_native.py
imports: import jax
  import jax.numpy
  import numpy
  from evojax.algo.base import NEAlgorithm
  from typing import Union
  import logging
  from evojax.util import create_logger
label_desc: Use image node_id 3 for calling the ARS_native obj's underlying member method code with example usage: obj.tell(fitness) without return types