utils

Functions

base_epistasis

inline void ioh::problem::utils::base_epistasis(const std::vector<int> &xIn, const int start, const int nu, std::vector<int> &xOut)

dummy

inline std::vector<int> ioh::problem::utils::dummy(const int n_variables, const double select_rate, const long seed)

Returns a set of indices selected randomly from the range [0, n_variables].

Selects floor(n_variables * select_rate) indices with replacement.

Parameters:
  • n_variables – The range of the index

  • select_rate – The probability of selection for any given index.

  • seed – The random seed for the random number generator

Returns:

A list of selected indices, in ascending order.

epistasis

inline std::vector<int> ioh::problem::utils::epistasis(const std::vector<int> &variables, int v)

epistasis_compute

inline void ioh::problem::utils::epistasis_compute(const std::vector<int> &xIn, std::vector<int> &xOut, const int nu)

identity

template<typename T, typename ...Args>
T ioh::problem::utils::identity(T p, Args&&...)

Helper function which forwards its first argument.

layer_epistasis_compute

inline void ioh::problem::utils::layer_epistasis_compute(const std::vector<int> &x, std::vector<int> &epistasis_x, const int block_size)

layer_neutrality_compute

inline void ioh::problem::utils::layer_neutrality_compute(const std::vector<int> xIn, std::vector<int> &xOut, const int mu)

max_gamma

inline int ioh::problem::utils::max_gamma(int q)

neutrality

inline std::vector<int> ioh::problem::utils::neutrality(const std::vector<int> &x, const int mu)

ruggedness1

inline double ioh::problem::utils::ruggedness1(double y, int number_of_variables)

ruggedness2

inline double ioh::problem::utils::ruggedness2(double y, int number_of_variables)

ruggedness3

inline std::vector<double> ioh::problem::utils::ruggedness3(const int number_of_variables)

ruggedness_raw

inline std::vector<int> ioh::problem::utils::ruggedness_raw(int gamma, int q)

ruggedness_translate

inline int ioh::problem::utils::ruggedness_translate(int gamma, int q)