プログラム開発の際に工夫したことをアピールする文書

プログラム開発の際に工夫したことをアピールする文書を3月末までに提出することが推奨となりました。
※大会ルール 第2章「参加資格」 第3条 第1項の「参加プログラムは、思考部について、自力で十分な工夫を施したものに限る。」を満たすことをアピールしていただくためのものです。

http://www.computer-shogi.org/wcsc20/


そんな作文に専念しているとプログラムがいつまでたっても完成しないよ!!



■ いま出来ていることおよび、提案/実装したアイデア


・x64環境に適したRBB(Redundant Bitboards)を提案/実装(→ http://d.hatena.ne.jp/LS3600/20091225 )
・ソース全体がYaneLisp(→ http://labs.yaneu.com/20090905/ )を駆使して書かれている。
・YaneLispを採用することにより、C++ templateを一切使わずにC++ templateを駆使したコードと同等レベルの指し手生成速度。Bonanzaとの指し手生成速度の比較では平均して2〜3倍の速度を達成。(→ http://d.hatena.ne.jp/LS3600/20091106 )
・pin判定機能つきMakeMoveを提案/実装(→ http://d.hatena.ne.jp/LS3600/20091229 )
・超高速3手詰み判定ルーチンを搭載。Core i7 1コアにて4M yields(make_move + unmake_move + 1手詰み判定)/secを達成。Bonanzaの3手詰み判定ルーチンの5倍以上の探索速度、かつ、合い駒の多い局面で30倍以上の探索効率(→ http://d.hatena.ne.jp/LS3600/20100105 など) また中合いの応手生成の省略技法は、このあとBonanzaにも採用されました!


■ いま出来ているが、解説はあとで書く


・飛・角の利きを求めるための64bit occupied bitboard(→ あとで書く)
・逐次的指し手生成および、生成時指し手オーダリング(→ あとで書く)


■ たぶん出来ること


・局面評価関数の効率的な差分計算。(→ あとで書く)
・局面評価のために4GB以上の巨大テーブルを使用。(→ あとで書く)
・bitboardを用いたdf-pn探索手法の提案/採用(→ あとで書く)


■ 出来ればやりたいこと


・差分指し手生成(→ http://d.hatena.ne.jp/LS3600/20091129 )による高速指し手生成
・BonanzaMethodを用いずかつ人間の対局棋譜を用いない自動パラメータ調整(→ 考え中)
JITエンジンによる動的コード生成に基づく探索高速化。(→ 考え中)