やねうらお について

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

利きを活かした評価関数

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

CODE VS4.0、エントリーまだ間に合います!

今年もCODE VSの季節がやってきました。プログラマ日本一決定戦だそうです。

問題についてのヒントになるといけないのであまり詳しいことは書けませんが、今回は同時に多くの自軍のゲームユニットに命令を出して敵軍と戦うタイプの戦略型ゲームとなっています。

続きを読む

Stockfish DD – movepick 指し手オーダリング

今回はmove pickerと言って、指し手を段階的に生成して、生成した指し手のなかから1つ一番よさげな指し手を取り出す部分(いわゆる指し手オーダリング)について見ていきます。

killerが2本あったり、なるべくソートが要らないように工夫してあったり、なかなか興味深いです。

続きを読む

棋譜のコンバーターはどこにありますか?

棋譜からの学習なり何なりで入力棋譜がCSA形式やKIF形式ということはよくあります。しかし、いまや将棋ソフトの思考エンジンはUSIプロトコルでやりとりするのが標準的であり、USIプロトコルでの局面形式(sfen)の入出力部しか書いていない & 書きたくないという開発者の方も多数おられることでしょう。

続きを読む

クレクレ乞食がうpをはじめました

私の家の先月の電気代の請求が来ました。消費電力から計算してみると定跡生成のために使用したPCの電気代はおおよそ5万円。まだ1ヶ月ほど回さないと思っているところまで生成が終わらないので結局定跡生成には10万円ほどかかる見込みです。

続きを読む

Stockfish DD – movegen 指し手生成

今回はStockfishの指し手生成についてです。チェスと将棋では駒の特性が全く違うので、チェスを将棋に変更する場合、この部分は全面的に書き直しが必要となります。

面白いことにチェスではポーン(pawn = 将棋で言う歩)以外は移動に上下の対称性があるので先後の区別がありません。先手も後手も盤上で同じ動きをするので、将棋のように先手用の指し手生成と後手用の指し手生成とを分ける必要がありません。
続きを読む

やねうら王が弱すぎた件

今回、電王戦でponanzaと戦う村山慈明(むらやま やすあき)七段の電王戦公式動画が非常に興味深いです。

村山七段「ポナンザとやるっていうのがちょっと誤算なんですね。ポナンザ以外だと結構僕も勝率良かったんですよ。やねうら王とか習甦とかもよくやってたんですけど。(電王戦出場が)決まる前に。やねうら王とか全然…少なくともその入っているパソコンで勝負した感じは全然僕のほうが強かったですね。ポナンザは全然次元が違うんですよ。強さの次元も違う上に感覚の次元が違いすぎて、ついていけないんですよ。」
続きを読む