Robot Simulator of the Robotics Group for Self-Organization of Control: AbstractModel Class Reference

- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages
- Examples

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# AbstractModel Class Reference

abstract class (interface) for a model that can be used by a controller More...

`#include <abstractmodel.h>`

Inherits Configurable, Storeable, and Inspectable.

Inherited by InvertableModel, and SOM.

Inheritance diagram for AbstractModel:

[legend]
Collaboration diagram for AbstractModel:

[legend]
List of all members.

## Public Member Functions
| AbstractModel ()
| AbstractModel (const std::string &name, const std::string &revision)
virtual | ~AbstractModel ()
virtual void | init (unsigned int inputDim, unsigned int outputDim, double unit_map=0.0, RandGen *randGen=0)=0
| initialisation of the network with the given number of input and output units
virtual const matrix::Matrix | process (const matrix::Matrix &input)=0
| passive processing of the input (this function is not constant since a recurrent network for example might change internal states
virtual const matrix::Matrix | learn (const matrix::Matrix &input, const matrix::Matrix &nom_output, double learnRateFactor=1)=0
virtual void | damp (double damping)=0
| damps the weights and the biases by multiplying (1-damping)
virtual unsigned int | getInputDim () const =0
| returns the number of input neurons
virtual unsigned int | getOutputDim () const =0
| returns the number of output neurons

## Detailed Description

abstract class (interface) for a model that can be used by a controller

## Constructor & Destructor Documentation

AbstractModel | ( |  | ) | `[inline]`

AbstractModel | ( | const std::string & | name,
|  | const std::string & | revision |
| ) |  |  | `[inline]`

virtual ~AbstractModel | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

virtual void damp | ( | double | damping | ) | `[pure virtual]`

damps the weights and the biases by multiplying (1-damping)

Implemented in Elman, FeedForwardNN, MultiLayerFFNN, OneLayerFFNN, and SOM.

virtual unsigned int getInputDim | ( |  | ) | const`[pure virtual]`

returns the number of input neurons

Implemented in MultiLayerFFNN, OneLayerFFNN, and SOM.

virtual unsigned int getOutputDim | ( |  | ) | const`[pure virtual]`

returns the number of output neurons

Implemented in MultiLayerFFNN, OneLayerFFNN, and SOM.

virtual void init | ( | unsigned int | inputDim,
|  | unsigned int | outputDim,
|  | double | unit_map = `0.0`,
|  | RandGen * | randGen = `0` |
| ) |  |  | `[pure virtual]`

initialisation of the network with the given number of input and output units

Parameters:

  | inputDim | length of input vector
  | outputDim | length of output vector
  | unit_map | if 0 the parametes are choosen randomly. Otherwise the model is initialised to represent a unit_map with the given response strength.
  | randGen | pointer to random generator, if 0 an new one is used

Implemented in Elman, MultiLayerFFNN, OneLayerFFNN, and SOM.

virtual const matrix::Matrix learn | ( | const matrix::Matrix & | input,
|  | const matrix::Matrix & | nom_output,
|  | double | learnRateFactor = `1` |
| ) |  |  | `[pure virtual]`

Implemented in Elman, MultiLayerFFNN, OneLayerFFNN, and SOM.

virtual const matrix::Matrix process | ( | const matrix::Matrix & | input | ) | `[pure virtual]`

passive processing of the input (this function is not constant since a recurrent network for example might change internal states

Implemented in Elman, MultiLayerFFNN, OneLayerFFNN, and SOM.

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

- abstractmodel.h