poli.objective_repository.ehrlich.register

poli.objective_repository.ehrlich.register#

This module implements Ehrlich functions as black boxes in poli.

Ehrlich functions were proposed by Stanton et al. [1] as a quick-and-easy alternative for testing discrete sequence optimizers (with protein optimization in mind). They are deviced to

  1. be easy to query,

  2. have feasible and unfeasible sequences,

  3. have uninformative random samples (i.e. randomly sampling

and evaluating should not be competitive, as many of these should be unfeasible).

  1. be maximized when certain motifs are present in the sequence. These motifs can be long-range within the sequence, and are meant to be non-additive.

Check the references for details on the implementation.

References

[1] Stanton, S., Alberstein, R., Frey, N., Watkins, A., & Cho, K. (2024).

Closed-Form Test Functions for Biophysical Sequence Optimization Algorithms. arXiv preprint arXiv:2407.00236. https://arxiv.org/abs/2407.00236

Classes

EhrlichBlackBox(sequence_length, ...[, ...])

Ehrlich functions were proposed by Stanton et al. [1] as a quick-and-easy alternative for testing discrete sequence optimizers (with protein optimization in mind).

EhrlichProblemFactory()

A factory for creating Ehrlich functions and initial conditions.