Documentation/Modules/ClassesModules

Aus OpenDino
Version vom 18. März 2013, 23:07 Uhr von Dirk (Diskussion | Beiträge) (Created page with "== Need for Classes == <code>Modules</code> are connected. The information passed between these <code>Modules</code> may be a class of type * <code>Solution</code>s in the cas...")
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Need for Classes

Modules are connected. The information passed between these Modules may be a class of type

* Solutions in the case of an optimization or 
* Data in the case of learning 

Often, Modules look similar, and someone writing a new Module doesn't want to implement all interface methods by hand.

For these cases, we wrote the abstract classes


* Optimizers in the case of an optimization algorithm 
* Problems in the case of an optimization problem 
* Learners in the case of a learning algorithm 

These classes already implement most of the necessary methods. A writer of an optimizer just has to implement the algorithm itself and no other details such as checking or connecting.

Similarly, a writer of a problem just has to implement the evaluate(...) method of the Problem class.

In a learner, the method to override is run() . It executes the learning algorithm.