20 #ifndef BACKPROPAGATIONALGO_H
21 #define BACKPROPAGATIONALGO_H
24 #include "learningalgorithm.h"
26 #include "matrixlinker.h"
54 void setUpdateOrder(
const UpdatableList& update_order );
63 void setTeachingInput(
Cluster* output,
const DoubleVector& ti );
68 virtual void learn(
const Pattern& );
71 virtual double calculateMSE(
const Pattern& );
94 void enableMomentum();
122 DoubleVector getError(
Cluster* );
176 static void describe( QString type );
179 virtual void neuralNetChanged();
188 UpdatableList update_order;
191 class FARSA_NNFW_API cluster_deltas {
195 DoubleVector deltas_outputs;
196 DoubleVector deltas_inputs;
197 DoubleVector last_deltas_inputs;
198 QList<MatrixLinker*> incoming_linkers_vec;
199 QVector<DoubleVector> incoming_last_outputs;
202 QMap<Cluster*, int> mapIndex;
204 QVector<cluster_deltas> cluster_deltas_vec;
208 void addCluster( Cluster*,
bool );
210 void addLinker( Linker* );