コード例 #1
0
ファイル: Exp3P.cpp プロジェクト: ShenWei/src
void Exp3P::initialize( vector< double >& vals )
{
	_p.resize( _numOfArms );
	_w.resize( _numOfArms );
	_tmpW.resize( _numOfArms );

	fill( _p.begin(), _p.end(), 1.0 / _numOfArms );
	fill( _w.begin(), _w.end(), 1.0 );

	copy( vals.begin(), vals.end(), _X.begin() );
	
	//one pull for all arm
	fill( _T.begin(), _T.end(), 1 );
	
	for( int i=0; i < _numOfArms; i++ ) 
	{
		_w[i] = ((_gamma * _eta ) / 3.0 ) * pow( ( _horizon / ((double)_numOfArms) ) , 0.5 ) ;
		if ( vals.size() == _numOfArms ) {
		_w[i]+=	( (_gamma / (3 * (double)_numOfArms )) * // _gamma / 3K
				(vals[i]*((double)_numOfArms ))  // x hat
				+ ( ( ( _eta * (double)_numOfArms ) / (  pow( (double)_numOfArms * _horizon,0.5 )))));
		}
	}

	setInitializedFlagToTrue();
}
コード例 #2
0
ファイル: Exp3G2.cpp プロジェクト: busarobi/MDDAG2
void Exp3G2::initialize( vector< AlphaReal >& vals )
{
	_p.resize( _numOfArms );
	_w.resize( _numOfArms );
	_tmpW.resize( _numOfArms );

	fill( _p.begin(), _p.end(), 1.0 / _numOfArms );
	fill( _w.begin(), _w.end(), 1.0 );


	//pull all arm	
	copy( vals.begin(), vals.end(), _X.begin() );
	fill( _T.begin(), _T.end(), 1 );
	
	
	for( int i=0; i < _numOfArms; i++ ) 
	{
		_w[i] = _eta * _X[i];
	}

	setInitializedFlagToTrue();
}
コード例 #3
0
ファイル: Exp3.cpp プロジェクト: junjiek/cmu-exp
    void Exp3::initialize( vector< AlphaReal >& vals )
    {
        _p.resize( _numOfArms );
        _pHat.resize( _numOfArms );

        fill( _p.begin(), _p.end(), 1.0 / _numOfArms );
        fill( _pHat.begin(), _pHat.end(), 1.0 / _numOfArms );

        //_alpha = pow( 4*_numOfArms*log((double)_numOfArms) * ( 1.0 / 100000 ), 1.0/3.0);
        //_gamma = pow( (_numOfArms*log((double)_numOfArms))/( 2.0 * 100000 ) , 0.5);
        //if ( _gamma > 1.0 ) _gamma = 1.0;


        //copy the initial values to X
        copy( vals.begin(), vals.end(), _X.begin() );

        for( int i=0; i < _X.size(); i++ ) _X[i] *= ( _gamma /(double) _numOfArms* _numOfArms);

        //one pull for all arm
        fill( _T.begin(), _T.end(), 1 );


        setInitializedFlagToTrue();
    }