続・入玉用評価項目のプラン
http://d.hatena.ne.jp/Gasyou/20130507/1367931096
王将のいる段より、王将が敵陣に進むまでのステップ数を基準にしてrankFactorから値を引いて来た方がいいかも。
あ、でもそれならrankFactorを廃止して、ステップ数ごとに重み付けすれば良いか。
うーん、擬似コードで書くとこんな感じ?
// 敵陣までのステップ数を計算 // 敵陣にいれば0、ルートがあれば1〜6、ルートが無ければ∞になる const size_t stepCount = this->calcStepCount( 局面, 先手 ); // 敵陣に進むルートが有るか判定 if( stepCount != ∞ ){ // ステップ数による評価 this->score += this->stepWeights[ stepCount ]; // 敵陣にいる駒の枚数による評価 this->score += 敵陣にいる駒の枚数 * this->pieceNumWeighst[ stepCount ]; // 大駒・小駒の点数による評価 this->score += 点数 * this->pointWeights[ stepCount ]; }// if(...)
うん、なんか洗練出来てきて、上手く行きそうな気がする。