Source code for ribs.emitters.operators._operator_base
"""Provides OperatorBase."""
from abc import ABC, abstractmethod
[docs]class OperatorBase(ABC):
"""Base class for operators.
Operators take in parents and output new solutions when their ask method
is called. They can also be instantiated with any arguments.
"""
[docs] @abstractmethod
def ask(self, parents):
"""Operates on parents to generate new solutions.
Args:
parents (array-like): Array of solutions to be mutated. Typically
passed in by an emitter after selection from an archive.
Returns:
numpy.ndarray: ``(batch_size, solution_dim)`` array that contains
``batch_size`` mutated solutions.
"""