This algorithm tries the current direction and a slightly perturbed direction at each step. If the perturbed direction resulted in faster improvement, it becomes the new current direction. As long as the current direction yields improvement, it accelerates, otherwise it decelerates.
More...
#include <GHillClimber.h>
|
| GAnnealing (GTargetFunction *pTargetFunc, double initialDeviation, double decay, GRand *pRand) |
|
virtual | ~GAnnealing () |
|
virtual double * | currentVector () |
| Returns the best vector yet found. More...
|
|
virtual double | iterate () |
| Performs a little more optimization. (Call this in a loop until acceptable results are found.) More...
|
|
void | setDeviation (double d) |
| Specify the current deviation to use for annealing. (A random vector from a Normal distribution with the specified deviation will be added to each candidate vector in order to simulate annealing.) More...
|
|
| GOptimizer (GTargetFunction *pCritic) |
|
virtual | ~GOptimizer () |
|
double | searchUntil (size_t nBurnInIterations, size_t nIterations, double dImprovement) |
| This will first call iterate() nBurnInIterations times, then it will repeatedly call iterate() in blocks of nIterations times. If the error heuristic has not improved by the specified ratio after a block of iterations, it will stop. (For example, if the error before the block of iterations was 50, and the error after is 49, then training will stop if dImprovement is > 0.02.) If the error heuristic is not stable, then the value of nIterations should be large. More...
|
|
This algorithm tries the current direction and a slightly perturbed direction at each step. If the perturbed direction resulted in faster improvement, it becomes the new current direction. As long as the current direction yields improvement, it accelerates, otherwise it decelerates.
GClasses::GAnnealing::GAnnealing |
( |
GTargetFunction * |
pTargetFunc, |
|
|
double |
initialDeviation, |
|
|
double |
decay, |
|
|
GRand * |
pRand |
|
) |
| |
virtual GClasses::GAnnealing::~GAnnealing |
( |
| ) |
|
|
virtual |
virtual double* GClasses::GAnnealing::currentVector |
( |
| ) |
|
|
inlinevirtual |
virtual double GClasses::GAnnealing::iterate |
( |
| ) |
|
|
virtual |
Performs a little more optimization. (Call this in a loop until acceptable results are found.)
Implements GClasses::GOptimizer.
void GClasses::GAnnealing::reset |
( |
| ) |
|
|
protected |
void GClasses::GAnnealing::setDeviation |
( |
double |
d | ) |
|
|
inline |
Specify the current deviation to use for annealing. (A random vector from a Normal distribution with the specified deviation will be added to each candidate vector in order to simulate annealing.)
double GClasses::GAnnealing::m_decay |
|
protected |
double GClasses::GAnnealing::m_dError |
|
protected |
double GClasses::GAnnealing::m_deviation |
|
protected |
size_t GClasses::GAnnealing::m_dims |
|
protected |
double GClasses::GAnnealing::m_initialDeviation |
|
protected |
double* GClasses::GAnnealing::m_pBuf |
|
protected |
double* GClasses::GAnnealing::m_pCandidate |
|
protected |
GRand* GClasses::GAnnealing::m_pRand |
|
protected |
double* GClasses::GAnnealing::m_pVector |
|
protected |