GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

18:30の回からLMRで強めに短縮したバージョンを投入します

 ちなみに今のLMRのコードはこんな感じ。

// この関数の返り値の分だけ浅く探索する
double ParallelAlphaBetaSearcher::calcLmrOffset( const size_t depth, // 探索深さ
					   const size_t rank,  // 手の順位
					   const Move move ) { // 手の情報



	// 深さ3以下なら短縮しない
	if( depth < 3 ) return 0.0;

	// 先頭の方の手は短縮しない
	if( rank <= 4 ) return 0.0;

	// 成る手・取る手・王手は短縮しない
	if( move.isPromotion() )                 return 0.0;
	if( ! isEmpty( move.getCaptureInfo() ) ) return 0.0;
	if( this->position->isChecked() )        return 0.0; 

	// 最初は控えめに1短縮、その後は2短縮
	return ( rank <= 10 ) ? 1.0 : 2.0;

}// calcLmtrOffset(...)