ribs.emitters.operators.IsoLineOperator

class ribs.emitters.operators.IsoLineOperator(lower_bounds, upper_bounds, iso_sigma, line_sigma, seed=None)[source]

Adds Isotropic Gaussian noise and directional noise to parents.

This operator was introduced in Vassiliades 2018.

Parameters
  • iso_sigma (float) – Scale factor for the isotropic distribution used to generate solutions.

  • line_sigma (float) – Scale factor for the line distribution used when generating solutions.

  • sigma (float or array-like) – Standard deviation of the Gaussian distribution. Note we assume the Gaussian is diagonal, so if this argument is an array, it must be 1D.

  • lower_bounds (array-like) – Upper bounds of the solution space. Passed in by emitter

  • upper_bounds (array-like) – Upper bounds of the solution space. Passed in by emitter

  • seed (int) – Value to seed the random number generator. Set to None to avoid a fixed seed.

Methods

ask(parents)

Adds Isotropic Guassian noise and directional noise to parents.

Attributes

parent_type

Parent Type to be used by selector.

ask(parents)[source]

Adds Isotropic Guassian noise and directional noise to parents.

Parameters

parents (array-like) – (2, batch_size, solution_dim) parents[0] array of solutions selected by emitter parents[1] array of second batch of solutions passed by emitter. Used for calculating directional correlation.

Returns

(batch_size, solution_dim) array that contains batch_size mutated solutions.

Return type

numpy.ndarray

property parent_type

Parent Type to be used by selector.

Type

int