ブラウザで動くBonanzaを作られた方がおられるので紹介させていただきます。
C/C++のソースコード → コンパイルしてLLVMのバイトコード → EmscriptenでJavaScriptのソースコードに変換という手順で動かしてあるようです。
育毛剤最新比較極
ミュゼ 口コミ 特徴 まとめ
ブラウザで動くBonanzaを作られた方がおられるので紹介させていただきます。
C/C++のソースコード → コンパイルしてLLVMのバイトコード → EmscriptenでJavaScriptのソースコードに変換という手順で動かしてあるようです。
今回はmisc.h/cppの解説です。このmisc.cppで実装されているロギング機構はなかなか興味深いhackによって実現されています。
ロギングのためにstd::cin/coutに対する入出力をファイルにリダイレクトしたいことがあるわけですが、既存のコード部分には手を加えずに、これを簡単に実装する方法があるのです。
Bonanzaを代表格とするbitboard型の将棋ソフトと、GPS将棋やなのはを代表格とする非bitboard型の将棋ソフトとで、一般的には前者のほうが全体的に見て速いと私は思うのですが、利きを活かした評価関数にするなら、話は違ってきます。今回は、どんな評価関数が考えられるか考えてみます。
続きを読む
今年もCODE VSの季節がやってきました。プログラマ日本一決定戦だそうです。
問題についてのヒントになるといけないのであまり詳しいことは書けませんが、今回は同時に多くの自軍のゲームユニットに命令を出して敵軍と戦うタイプの戦略型ゲームとなっています。
今回はmove pickerと言って、指し手を段階的に生成して、生成した指し手のなかから1つ一番よさげな指し手を取り出す部分(いわゆる指し手オーダリング)について見ていきます。
killerが2本あったり、なるべくソートが要らないように工夫してあったり、なかなか興味深いです。
今日はクレクレ乞食をやってみたいという人向けに、私のような有名人(?)がネットでクレクレ乞食をするとどうなるかご紹介しましょう。
https://twitter.com/tb158/status/554942780611371008
羽生先生がTata Steel Chess Tournamentのインタビューに答える形で将棋とチェスの違いを語っています。
Tata Steel Chess 2015 – En passant – Yoshiharu Habu
棋譜からの学習なり何なりで入力棋譜がCSA形式やKIF形式ということはよくあります。しかし、いまや将棋ソフトの思考エンジンはUSIプロトコルでやりとりするのが標準的であり、USIプロトコルでの局面形式(sfen)の入出力部しか書いていない & 書きたくないという開発者の方も多数おられることでしょう。
私の家の先月の電気代の請求が来ました。消費電力から計算してみると定跡生成のために使用したPCの電気代はおおよそ5万円。まだ1ヶ月ほど回さないと思っているところまで生成が終わらないので結局定跡生成には10万円ほどかかる見込みです。
今回はStockfishの指し手生成についてです。チェスと将棋では駒の特性が全く違うので、チェスを将棋に変更する場合、この部分は全面的に書き直しが必要となります。
面白いことにチェスではポーン(pawn = 将棋で言う歩)以外は移動に上下の対称性があるので先後の区別がありません。先手も後手も盤上で同じ動きをするので、将棋のように先手用の指し手生成と後手用の指し手生成とを分ける必要がありません。
続きを読む