13#if !defined(ULTRA_SRC_PROBLEM_H)
14#define ULTRA_SRC_PROBLEM_H
45template<>
struct is_bitmask_enum<
symbol_init> : std::true_type {};
89 explicit problem(
const std::filesystem::path &,
98 [[nodiscard]] std::size_t
categories() const noexcept;
99 [[nodiscard]]
std::
size_t classes() const noexcept;
107 [[nodiscard]]
bool is_valid() const override;
114 [[nodiscard]]
bool compatible(const
function::param_data_types &,
115 const
std::vector<
std::
string> &) const;
Definition dataframe.h:76
Definition multi_dataset.h:50
bool classification() const noexcept
Just a shorthand for checking number of classes.
Definition gp/src/problem.h:96
readiness_error
Definition gp/src/problem.h:70
@ invalid_problem
Internal consistency check failed.
Definition gp/src/problem.h:71
@ empty_training_set
No examples available for training.
Definition gp/src/problem.h:72
@ missing_category_terminals
A used category has no terminals.
Definition gp/src/problem.h:75
@ missing_functions
No functions available for evolution.
Definition gp/src/problem.h:74
@ insufficient_terminals
Not enough terminals to build individuals.
Definition gp/src/problem.h:73
void setup_symbols(symbol_init=symbol_init::all)
Definition gp/src/problem.cc:354
void setup_terminals(symbol_init=def_terminal_init)
Definition gp/src/problem.cc:227
std::size_t categories() const noexcept
Definition gp/src/problem.cc:463
std::expected< void, readiness_error > ready() const
Definition gp/src/problem.cc:185
std::size_t variables() const noexcept
Definition gp/src/problem.cc:481
bool is_valid() const override
Definition gp/src/problem.cc:489
std::size_t classes() const noexcept
Definition gp/src/problem.cc:472
constexpr symbol_init def_terminal_init
Definition gp/src/problem.h:53
symbol_init
Definition gp/src/problem.h:35
@ disabled
No initialisation.
Definition gp/src/problem.h:36
@ functions
Initialises the function set.
Definition gp/src/problem.h:40
@ attributes
Initialises attributes.
Definition gp/src/problem.h:38
@ variables
Initialises input variables.
Definition gp/src/problem.h:37
@ all
Initialises everything.
Definition gp/src/problem.h:41
@ ephemerals
Initialises ephemeral values.
Definition gp/src/problem.h:39
Definition dataframe.h:187