20 #ifndef LIBOUTPUTFUNCTIONS_H
21 #define LIBOUTPUTFUNCTIONS_H
47 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
49 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
82 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
84 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
118 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
120 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
154 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
156 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
190 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
192 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
231 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
233 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
282 RampFunction(
double minX,
double maxX,
double minY = -1,
double maxY = +1 );
286 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
288 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
333 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
335 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
373 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
375 virtual bool derivate(
const DoubleVector& x,
const DoubleVector& y, DoubleVector& d )
const;
415 void zeroingStatus();
419 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
421 virtual void clusterSetted();
462 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
513 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
515 virtual void clusterSetted();
537 std::auto_ptr<OutputFunction> first;
539 std::auto_ptr<OutputFunction> second;
566 bool setFirstWeight(
double v );
568 double getFirstWeight();
574 bool setSecondWeight(
double v );
576 double getSecondWeight();
580 virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
582 virtual void clusterSetted();
604 std::auto_ptr<OutputFunction> first;
605 std::auto_ptr<OutputFunction> second;
virtual ~StepFunction()
Destructor.
DoubleVector outprev
previous outputs
This file contains the common type defitions used on the whole framework.
virtual ~RampFunction()
Destructor.
virtual ~IdentityFunction()
Destructor.
Fake Sigmoid Function !! Is a linear approximation of sigmoid function.
FARSA_UTIL_TEMPLATE const T max(const T &t1, const U &t2)
double max
max is the y value when x -> +infinite
virtual ~ScaledSigmoidFunction()
Destructor.
Linear equation Function Implements a linear equation y = m*x + b.
virtual ~GainFunction()
Destructor.
virtual ~ScaleFunction()
Destructor.
virtual ~LeakyIntegratorFunction()
Destructor.
virtual ~LinearFunction()
Destructor.
double threshold
Threshold.
virtual ~LogLikeFunction()
Destructor.
This file contains the declaration of the abstract OutputFunction Class.
DoubleVector delta
delta is the leak rate of the function
double min
min is the y value when x -> -infinite
LeakyIntegrator Function !!
virtual ~SigmoidFunction()
Destructor.
double lambda
lambda is the slope of the curve
FARSA_UTIL_TEMPLATE const T min(const T &t1, const U &t2)
Linear Combination of Two Function !!
virtual ~FakeSigmoidFunction()
Destructor.
double lambda
lambda is the slope of the curve
double lambda
lambda is the slope of the curve