//#include #include //CHANGE #include "WeightUpdate.h" //CHANGE //#include #include "RandomGenerator.h" //CHANGE extern tRandomGenerator _RandomProbGenerator; const double TINY = 10e-7; void tWeightUpdate::SetTemperature(double temp) { _temp = temp; if ( _temp == 0.0 ) { // need to restore to original weights for ( int i=0 ; i<_origWeights.size() ; i++ ) _prevWeights[i] = _origWeights[i]; } }; vector const& tWeightUpdateRandom::UpdateWeights(double newtemp,vector const& gradient) { // cerr << "Updating weight for random\n"; SetTemperature(newtemp); if ( newtemp == 0.0 ) return CurrentWeights(); vector& prevWeights = PrevWeights(); vector const& origWeights = OrigWeights(); //mn130103 double scale = sqrt(newtemp); double var = 1.0/newtemp; double wsum = 0.0; double origsum = 0.0; int i; // go over the instances and update new weights for ( i=0 ; i