第22回世界コンピュータ将棋選手権アピール文書 プログラム名:AWAKE 開発者   :巨瀬 亮一 1.盤面表現とアルゴリズム ・64bit変数2つからなる128bitのbitboardと配列によって盤面の情報を保持しています。 ・利きの情報は逐次生成しています。飛角香の利きの生成にはrotated bitboardを使用しています。 ・bitboardの論理演算にSSEを使用して高速化を図っています。 ・指し手生成は指し手の分類ごとに  ・駒を取る手と銀以外の成る手 ・駒を取らない手と銀を成る手 ・駒を打つ手  ・それ以外の手…飛角歩敵陣二段目の香の不成  を逐次生成しています。それ以外の手は通常の探索では生成していません。 ・指し手生成の速度は、Core i7 2620M single thread 約3.3GHzにおいて、  初期局面で約1000万回/秒、指し手生成祭り局面において約500万回/秒生成できます。 ・C++ templateを使用して、先手用と後手用の関数をを生成しています。 3.探索 ・基本の探索にprincipal variation searchと反復深化を使用しています。 ・探索の並列化はしていません。 ・前向き枝狩りにnull move pruning、late move reductionを使用しています。 ・orderingにhash move、see ordering、killer move、 history heuristicを使用しています。 4.評価関数 ・学習が上手くいっていないため、手調整のパラメータを使用する予定です。