やねうらお について

BM98,BMSの生みの親 / ヒルズにオフィスのある某社CTO / プログラミング歴37年(5歳から) / 将棋ソフト「やねうら王」開発者 / 音楽理論ブログ / 天才(らしい) / 毎日が楽しすぎて死にそう

Stockfish DD – thread スレッド

今回はスレッド周りです。

探索を並列化するために並列数だけスレッドの生成が必要です。あと思考時間を監視して、時間になったときに思考を打ち切る判定をするためのスレッドも必要です。

GitHubのC++11用のコードだとスレッド生成はstd::threadを使って実装されています。なお、ここで紹介しているのはC++11用のブランチです。

続きを読む

電王戦FINALへの道はそこまで見せちゃうんですか?

前回の電王戦出場バージョンのやねうら王との対局だけかと思っていたら、今回の電王戦FINALバージョンのやねうら王との1分将棋での対局がありました。「そこまで見せちゃうんですか?」と思うのですが、見せちゃうみたいです。
続きを読む

いま乞食力が試されている!?

このブログでは普通に『乞食』とか書いていますが、言うまでもなく放送禁止用語です。私は探索の枝刈りは賛成派でありますが、言葉狩りには反対派でありまして、今後もなりふり構わず放送禁止用語を連発していこうと思っております。(そのうちニコファーレ出入り禁止になると思います。)

続きを読む

CODE VS 4.0 途中経過 その1

先日、CODE VS 4.0の紹介記事を書いたついでに、AIをサクっと実装してsubmitしてみました。

結果。44点 48位。超即席のAIとは言え、まさかこの天才プログラマーの私が20位にすら入れないとは…。ちょっとCODE VSを舐めてました。まあ、それぞれの敵AIとは個別に対戦できる機能が用意されているのでそれぞれのAIに対してチューンしていけばもう少し順位は上がるとは思いますが。

続きを読む

Stockfish DD — misc ロギング機構など

今回はmisc.h/cppの解説です。このmisc.cppで実装されているロギング機構はなかなか興味深いhackによって実現されています。

ロギングのためにstd::cin/coutに対する入出力をファイルにリダイレクトしたいことがあるわけですが、既存のコード部分には手を加えずに、これを簡単に実装する方法があるのです。

続きを読む

利きを活かした評価関数

Bonanzaを代表格とするbitboard型の将棋ソフトと、GPS将棋やなのはを代表格とする非bitboard型の将棋ソフトとで、一般的には前者のほうが全体的に見て速いと私は思うのですが、利きを活かした評価関数にするなら、話は違ってきます。今回は、どんな評価関数が考えられるか考えてみます。
続きを読む