Ultra 0.9.4
Loading...
Searching...
No Matches
ultra::src::basic_oracle Class Referenceabstract

#include <oracle.h>

Inheritance diagram for ultra::src::basic_oracle:
ultra::src::basic_reg_oracle< P, true > ultra::src::basic_reg_oracle< I, S > ultra::src::basic_reg_oracle< P, false > ultra::src::basic_class_oracle ultra::src::basic_reg_oracle< P, S > ultra::src::reg_oracle_adaptor< O > ultra::src::reg_oracle< P > ultra::src::basic_binary_oracle< P, true > ultra::src::basic_binary_oracle< gp::team< I >, S > ultra::src::basic_gaussian_oracle< P, true > ultra::src::basic_gaussian_oracle< gp::team< I >, S > ultra::src::team_class_oracle< basic_binary_oracle< I, S > > ultra::src::team_class_oracle< basic_gaussian_oracle< I, S > > ultra::src::basic_binary_oracle< I, S > ultra::src::basic_gaussian_oracle< I, S > ultra::src::class_oracle_adaptor< O > ultra::src::team_class_oracle< O, C >

Public Member Functions

virtual value_t operator() (const std::vector< value_t > &) const =0
virtual bool is_valid () const =0
virtual std::string name (const value_t &) const =0
virtual classification_result tag (const std::vector< value_t > &) const =0

Friends

template<Individual P>
std::unique_ptr< basic_oracle > serialize::oracle::load (std::istream &, const symbol_set &)
bool serialize::save (std::ostream &, const basic_oracle &)

Detailed Description

The basic interface of an oracle.

An oracle predicts the answers to our problem. It's the incarnation of the individual/team we've evolved.

Note
The output of basic_oracle and src::interpreter can be similar or distinct, depending on the task (regression, classification...). E.g. for regression problems basic_oracle and src::interpreter calculate the same number. basic_oracle always calculates a meaningful value for the end-user (the class of an example, an approximation...) while src::interpreter often outputs an intermediate value that is just a building block for basic_oracle (e.g. classification tasks with discriminant functions). The typical use chain is: src::evaluator –[uses]--> basic_oracle –[uses]--> interpreter.
Another interesting function of basic_oracle is that it extends the functionalities of interpreter to teams.

Member Function Documentation

◆ is_valid()

◆ name()

◆ operator()()

◆ tag()


The documentation for this class was generated from the following file: