sot-core  4.11.6
Hierarchical task solver plug-in for dynamic-graph.
gradient-ascent.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2018,
3  * Julian Viereck
4  *
5  * CNRS/AIST
6  *
7  */
8 
9 #ifndef __SOT_GRADIENTASCENT_H__
10 #define __SOT_GRADIENTASCENT_H__
11 
12 /* --------------------------------------------------------------------- */
13 /* --- INCLUDE --------------------------------------------------------- */
14 /* --------------------------------------------------------------------- */
15 
16 #include <dynamic-graph/entity.h>
17 #include <dynamic-graph/signal-ptr.h>
18 #include <dynamic-graph/signal-time-dependent.h>
19 #include <sot/core/config.hh>
20 
21 namespace dynamicgraph {
22 namespace sot {
23 
24 /* --------------------------------------------------------------------- */
25 /* --- TRACER ---------------------------------------------------------- */
26 /* --------------------------------------------------------------------- */
27 
28 using dynamicgraph::Entity;
29 using dynamicgraph::SignalPtr;
30 using dynamicgraph::SignalTimeDependent;
31 
32 class SOT_CORE_DLLAPI GradientAscent : public Entity {
33  DYNAMIC_GRAPH_ENTITY_DECL();
34 
35 public:
36  SignalPtr<dynamicgraph::Vector, int> gradientSIN;
37  SignalPtr<double, int> learningRateSIN;
38  SignalTimeDependent<int, int> refresherSINTERN;
39  SignalTimeDependent<dynamicgraph::Vector, int> valueSOUT;
40 
41 public:
42  GradientAscent(const std::string &n);
43  virtual ~GradientAscent(void);
44 
45 protected:
46  dynamicgraph::Vector &update(dynamicgraph::Vector &res, const int &inTime);
47 
48  dynamicgraph::Vector value;
49 
50  double alpha;
51  bool init;
52 };
53 
54 } /* namespace sot */
55 } /* namespace dynamicgraph */
56 
57 #endif /* #ifndef __SOT_TRACER_H__ */
dynamicgraph::sot::GradientAscent
Definition: gradient-ascent.hh:32
dynamicgraph
Definition: abstract-sot-external-interface.hh:17
dynamicgraph::sot::GradientAscent::alpha
double alpha
Definition: gradient-ascent.hh:50
dynamicgraph::sot::GradientAscent::learningRateSIN
SignalPtr< double, int > learningRateSIN
Definition: gradient-ascent.hh:37
dynamicgraph::sot::GradientAscent::gradientSIN
SignalPtr< dynamicgraph::Vector, int > gradientSIN
Definition: gradient-ascent.hh:36
dynamicgraph::sot::GradientAscent::value
dynamicgraph::Vector value
Definition: gradient-ascent.hh:48
dynamicgraph::sot::GradientAscent::refresherSINTERN
SignalTimeDependent< int, int > refresherSINTERN
Definition: gradient-ascent.hh:38
dynamicgraph::sot::GradientAscent::valueSOUT
SignalTimeDependent< dynamicgraph::Vector, int > valueSOUT
Definition: gradient-ascent.hh:39
dynamicgraph::sot::GradientAscent::init
bool init
Definition: gradient-ascent.hh:51