11 #include <tracking/trackFindingVXD/trackSetEvaluator/OverlapResolverNodeInfo.h>
45 HopfieldNetwork(
float omega = 0.5,
float T = 3.1,
float Tmin = 0.1,
float cmax = 0.01):
60 unsigned short doHopfield(std::vector<OverlapResolverNodeInfo>& overlapResolverNodeInfos,
unsigned short nIterations = 20);
78 static constexpr
result_type max() {
return std::numeric_limits<result_type>::max(); }
Hopfield Algorithm with number based inputs.
float m_omega
tuning parameter of the hopfield network
float m_T
start temperature of annealing
float m_cmax
maximal change of weights between iterations
unsigned short doHopfield(std::vector< OverlapResolverNodeInfo > &overlapResolverNodeInfos, unsigned short nIterations=20)
Performance of the actual algorithm.
HopfieldNetwork(float omega=0.5, float T=3.1, float Tmin=0.1, float cmax=0.01)
Constructor taking parameters for the algorithm.
float m_Tmin
minimal temperature allowed
Abstract base class for different kinds of events.
Wrap TRandom to be useable as a uniform random number generator with std algorithms like std::shuffle...
static constexpr result_type max()
Maximum value returned by the random number generator.
result_type operator()()
Return a random value in the range [min(), max()].
static constexpr result_type min()
Minimum value returned by the random number generator.
unsigned int result_type
Define the result type to be a normal unsigned int.