13#if !defined(ULTRA_SRC_SEARCH_H)
14#define ULTRA_SRC_SEARCH_H
26template<Indiv
idual P = gp::indiv
idual>
class search;
28enum class metric_flags :
unsigned
42template<
template<
class>
class ES,
Evaluator E>
46 using individual_t =
typename ultra::basic_search<ES, E>::individual_t;
47 using fitness_t =
typename ultra::basic_search<ES, E>::fitness_t;
51 [[nodiscard]]
auto predictor(
const individual_t &)
const;
58 const individual_t &)
const override;
63 template<Indiv
idual>
friend class search;
65 [[nodiscard]]
problem &prob() const noexcept;
68 metric_flags metrics_;
82 using individual_t = P;
83 using fitness_t = double;
85 using after_generation_callback_t =
86 ultra::after_generation_callback_t<P, fitness_t>;
87 using on_training_new_best_callback_t =
88 ultra::on_new_best_callback_t<P, fitness_t>;
94 explicit search(
problem &, metric_flags = metric_flags::accuracy);
100 [[nodiscard]] std::unique_ptr<basic_oracle>
predictor(
const P &)
const;
105 search &messages(
bool)
noexcept;
107 template<
class F>
search &refinement(F &&);
117 using engine_t = std::variant<class_search_t, reg_search_t>;
119 [[nodiscard]]
static engine_t make_engine(
problem &, metric_flags);
120 [[nodiscard]]
bool problem_type_unchanged() const noexcept;
125 const
bool classification_;
129#include "kernel/gp/src/search.tcc"
search_stats< individual_t, fitness_t > run(unsigned=1, const model_measurements< fitness_t > &={})
Definition search.h:230
basic_search & logger(search_log &) noexcept
Definition search.h:92
basic_search & after_generation(after_generation_callback_t)
Definition search.h:166
basic_search & stop_source(std::stop_source)
Definition search.h:74
basic_search & tag(const std::string &)
Definition search.h:109
basic_search & on_training_new_best(on_training_new_best_callback_t)
Definition search.h:181
Definition search_log.h:28
Definition search_stats.h:44
Definition gp/src/search.h:44
auto predictor(const individual_t &) const
Definition gp/src/search.h:86
bool is_valid() const override
Definition gp/src/search.h:221
void tune_parameters() override
Definition gp/src/search.h:162
basic_search(problem &, metric_flags=metric_flags::accuracy)
Definition gp/src/search.h:65
model_measurements< fitness_t > calculate_metrics(const individual_t &) const override
Definition gp/src/search.h:119
Definition gp/src/evaluator.h:361
Definition gp/src/problem.h:66
Definition gp/src/search.h:79
Definition validation_strategy.h:29
Definition evaluator.h:44
Definition individual.h:93
Definition validation_strategy.h:84
avg_error_evaluator< P, rmae_error_functor< P > > rmae_evaluator
Definition gp/src/evaluator.h:254
Definition model_measurements.h:28