The SUMO toolbox  2018a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | List of all members
EureqaFactory Class Reference

ModelFactory for the Eureqa Symbolic Regression Tool. More...

Inheritance diagram for EureqaFactory:
Inheritance graph
[legend]

Public Member Functions

function EureqaFactory (var varargin)
 Class constructor. More...
 
function supportsComplexData ()
 Does this model support complex outputs? More...
 
function supportsMultipleOutputs ()
 Does this model support multiple outputs? More...
 
function getBounds ()
 Return the lower bounds and upper bounds (each a row. More...
 
function getDoStart ()
 Should SUMO start eureqa server or not flag. More...
 
function getPort ()
 Get port of eureqa server. More...
 
function getMaxCores ()
 Get maximal number of CPU cores allowed. More...
 
function getForceCores ()
 Get the number of CPU cores which have to be used. More...
 
function getFitness ()
 Get the INTEGER code for the function with which the equations are scored. More...
 
function getDuration ()
 Get the number of seconds the search is allowed to run. More...
 
function getPathToServerExe ()
 Get the path to this m-file. More...
 
function getOperators ()
 Get the string defining which operators can be used. More...
 
function getDebug ()
 Get the debug flag. More...
 
function getHost ()
 Get the host string. More...
 
function getScaleFactors ()
 Get the host string. More...
 
function createModel (var parameters)
 Creates the model. More...
 
function getModelType ()
 
function setSamples (var samples, var values)
 TODO. More...
 
function getSamples ()
 TODO. More...
 
function getDimensions ()
 TODO. More...
 
function createRandomModel ()
 TODO. More...
 
function getObservables ()
 TODO. More...
 
function getParallelMode ()
 TODO. More...
 
function getMode ()
 TODO. More...
 
function createInitialModels (var number, var wantModels)
 Generate 'number' models. More...
 

Detailed Description

ModelFactory for the Eureqa Symbolic Regression Tool.

Note
For eureqa to work properly, the eureqa server executable must be placed in the same directory as EureqaFactory.m. Also, an executable of eureqa_select must be in the SUMO path. Since Eureqa performs a GP search, no additional model builder needed.
The Matlab interface to Eureqa and the Eureqa server do not support all the functionalities of the "normal" version of Eureqa.
  • Eureqa server: does not support the special differential building blocks. To have the server look for this sort of solutions manually calculate the derivatives and add them as a variable.
  • Matlab interface: currently does not support all building blocks, only constant, +, -, *, /, ^, exp, log, sin, cos, abs, tan are supported. -> TODO.
IMPORTANT! When constructing and evaluating the model via SUMO, the data will be scaled from [-1 1] to their original bounds!
Parameters
fitnessFitness is an integer which tells the eureqa code what measure to use when evaluating models. This is hardcoded and therefore SUMO error function cannot be used. The list with available integers and their corresponding measure can found here: http://code.google.com/p/eureqa-api/wiki/doc_fitness_types.
operatorsa string of mathematical operators which should be included in the GP search. A comprehensive list of allowed operators can be found in eureqa_select_SUMO.cpp

website eureqa: http://creativemachines.cornell.edu/eureqa website eureqa_select: http://www.mathworks.com/matlabcentral/fileexchange/32225-interface-with-eureqa-featuring-symbolic-regression

TODO: input checks; support for more building blocks

Constructor & Destructor Documentation

function EureqaFactory ( var  varargin)
inline

Class constructor.

Returns
instance of the class

Member Function Documentation

function createInitialModels ( var  number,
var  wantModels 
)
inlineinherited

Generate 'number' models.

if wantModels=true they should be model objects, else a matrix should be returned with each row containing the parameters of one model This method should internally use createModel(..) where possible.

function createModel ( var  individual)

Creates the model.

Given an individual containing the hyperparameters of a MOVF model, return a real MOVF model.

If no parameters are given return a default model

function createRandomModel ( )
inlineinherited

TODO.

function getBounds ( )
inline

Return the lower bounds and upper bounds (each a row.

function getDebug ( )
inline

Get the debug flag.

function getDimensions ( )
inlineinherited

TODO.

function getDoStart ( )
inline

Should SUMO start eureqa server or not flag.

function getDuration ( )
inline

Get the number of seconds the search is allowed to run.

function getFitness ( )
inline

Get the INTEGER code for the function with which the equations are scored.

function getForceCores ( )
inline

Get the number of CPU cores which have to be used.

function getHost ( )
inline

Get the host string.

function getMaxCores ( )
inline

Get maximal number of CPU cores allowed.

function getMode ( )
inlineinherited

TODO.

function getModelType ( )
inline
function getObservables ( )
inlineinherited

TODO.

function getOperators ( )
inline

Get the string defining which operators can be used.

function getParallelMode ( )
inlineinherited

TODO.

function getPathToServerExe ( )
inline

Get the path to this m-file.

function getPort ( )
inline

Get port of eureqa server.

function getSamples ( )
inlineinherited

TODO.

function getScaleFactors ( )
inline

Get the host string.

function setSamples ( var  samples,
var  values 
)
inlineinherited

TODO.

function supportsComplexData ( )
inline

Does this model support complex outputs?

function supportsMultipleOutputs ( )
inline

Does this model support multiple outputs?


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