うらお世界コンピュータ将棋選手権のライブラリ登録申請日の締め切りが今日までだ。いまから探索部を書けるだけ書いて申請する。8時間ぐらいで書けるのかどうかは知らん。実は、一度申請したのだけど、GitHubのURL自体を登録することは出来なくて、スナップショット的なものを渡さないといけないらしい。評価関数バイナリ、以前のやねうら王のものと形式が違うのでその変換コードを書いて変換したのだけど、これがきちんと変換できているかだとか、この新しい形式に不備がないかだとかは、実際に探索部を書いてテストをしないとよくわからない。そこで、そのテストが終わってからライブラリ申請をしようと思っていたら今日になってしまった。そんなわけでいまからリアルタイムで実況しながら探索部を書いていく。この記事の末尾に追加していく。11:15とは言え、やねうら王miniをライブラリとして使う(かも)と表明しているのは、きふわらべ(の作者)だけである。それに対して、Aperyチルドレン多すぎ。Aperyチルドレンの場合、いまのAperyより弱いということは考えられないので、大激戦である。それに対して、やねうら王miniライブラリを採用する(かも知れない)きふわらべは、C++を知らない(こらから勉強する)&打ち歩詰めの判定すらまともに出来なかったプログラミング能力の持ち主なので、ソフトの棋力面ではまったく期待はできない。うら王miniライブラリのマイナスの宣伝にしかならない。「やねうら王miniライブラリ駄目じゃん」「Aperyチルドレンつえーーー」こうなるのが目に見えてる。うら王miniは超高速1手詰め判定や、利きも持っているし、高速な王手の指し手生成ルーチンもあるし、それらを使う/使わないということに対して柔軟にコンフィギュレーションできるし、汎用的な将棋ライブラリとして見たときにAperyよりは格段に上であるのだが、それを使う唯一の存在がきふわらべ...。夜道を歩いててレイプ魔に襲われた女性はこんな気持ちなんだろうな...。気を取り直して、探索部をいまから書く。きふわらべがやねうら王miniを使おうが使うまいが、使えようが使えまいが知ったことではないが、書くものは書く。15:00https://github.com/yaneurao/YaneuraOu/blob/1664e1d144e4a7bd37178c57a724a9a85430d0d7/source/engine/nano-engine/nano_search.cppやねうら王nano用の探索部は書けた(気がする)が、指し手おかしすぎ。原因究明するために読み筋きちんと表示させようと思ったら、置換表かき集めてきて読み筋として表示するためのヘルパー関数やら何やらが必要なのであった。(いまから作る)18:00https://github.com/yaneurao/YaneuraOu/blob/d442dc806f180a6a103c07586aafc9f9c4f0936d/source/engine/nano-engine/nano_search.cppだいぶ書いたのだが、指し手がおかしいのまだなおらん。評価関数バイナリ自体はきちんと読み込めているようなのだが(やねうら王2015と比較して同じ評価値が返る)、盤面の更新のときに駒番号を振った駒をきちんと移動させないといけないのだが、そこが出来ていないような気がする。うら王nanoの探索部(枝刈りはαβ以外は無い)+読み筋表示までは、3時間ほどで書けたのに、それ以外の部分が色々時間がとられる。あと1,2時間で動いてくれないと俺は餓死する。20:00評価関数バイナリをクレクレと言う声が聞こえてきたのでとりあえず貼り付けておきます。CSAのライブラリのダウンロードページからダウンロードできるようになりましたのでそちらからどうぞ。http://www.computer-shogi.org/library/それで、結局、評価関数は正しく読み込めていて、undo_move()のときに捕獲した駒を駒箱に戻すときの駒番号を間違えてたようで、これ修正したところ、うまく動いているっぽいです。チルダ記号(“~”)一つ間違えただけで結果がこんなにおかしくなるだなんて、プログラミング怖すぎ!それで現状、nanoはシングルスレッドでかつαβ探索のみの枝刈りなしなので持ち時間3分だと深さ5ぐらいまでしか読めないです。これではいくら評価関数が優秀でもBonanzaには勝てないです。R1300~1600ぐらいなんですかね。やってないのでよくわかりません。それにしても評価値がブレすぎなので、何かもうひとつ、ふたつバグがある気がします。お腹すいたのでご飯食べてきます。23時になったらCSAライブラリの登録申請のメール書きます。22:00https://github.com/yaneurao/YaneuraOu/blob/0a3d563cec7036979073351413def3e8b0496ac8/source/engine/nano-engine/nano_search.cppもういいや。αβ以外の枝刈りなしだとさすがに全く強くならない。と金作られる筋とか5手では読めない。(他に何かバグがあるのかも..?)とりあえず、やねうら王nanoはこのぐらいにして、あとはやねうら王miniのほうの探索部は、このブログで解説記事を書きながらぼちぼち作っていきます。CSAのライブラリ申請をしておきますので、評価関数バイナリはそちらからダウンロードしてもらうといいのかな...。:本家より弱い○○チルドレンは大会でもよく見る気がします。:やねうら王miniの200行で書かれた探索部のサンプルコードより大幅に弱い、やねわらべはさすがに見たくないでござる...。:なんかサイトが重いですねぇ。ウチとの相性でしょうか。午前5時くらいにプログラミングしなきゃと思って初めて、バグにはまって気が付いたらこんな時間。俺は一体何をやっていたんだ~~。いうことが先ほどありました。コンソールプログラムやろうとしてる自分っていったい。思ったところで興ざめしたのが今日のハイライトです。探索部を書くということは一応将棋所に登録すれば動くところまで作るという解釈でいいのでしょうか。こりゃ、ずいぶん進みましたね。なんかサイトが重いですねぇ。探索部を書くということは一応将棋所に登録すれば動くところまで作るはい、そうです。それは(やねうら王miniがライブラリとして完成しているなら)1から書いても10時間もあれば出来るのではないかと...。うら王miniがまだ色々書きかけのところがあるので、今回10時間で収まるかどうかはわかりませんが...。:>きふわらべがやねうら王miniを使おうが使うまいが、使えようが使えまいが知ったことではないが、書くものは書く。:そんなことはGitHubのほうを見ればわかるではありませんか。ソフトはあと・・・同意します。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。