忍者ブログ
コンピュータ将棋など…。
[19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Ponanza が Bonasse に勝ち越し、決勝レベル(?)になってます!(d.hatena.ne.jp/issei_y/20110327)
C++ 化と更なる改良で強くなったようです。

がんばってなのはも差を広げられないようにしないと…。
(あわよくば差を縮めたい)
PR
やさしい1手3手詰め問題を3手詰めルーチンで解かしてみたところ、1000回ループでだいたい20~200ms程度で何らかの結果が返ってきていたんだけど、次の問題が異様に遅く14.7秒もかかっていました。
香車を1段下げると116秒。
3手詰めルーチンとはいえ、無駄合いと判断した場合は延長をしていて、その処理が適当すぎたみたいです。
110327三手詰


ちなみに3手詰めルーチンは2種類持っていて、通常探索から呼ぶ証明数を計算しないのとWPNS詰ルーチンから呼ぶ証明数を計算するのとあって、通常探索から呼ぶ3手詰めルーチンではちゃんと1000回ループ時に50msで23桂成と返ってきました。
こういうことがあるので、少しだけ違う似た処理を別々に書かないで、template でひとつにまとめたほうがよさそうですね…。
昔のNHK将棋講座の付録についてきたやさしい1手3手の詰将棋の問題を高速1手詰ルーチンにかけてみたところ、次の問題が解けませんでした。
110326一手詰NG01

今のデータ構造だと影の利きを持っていないので、先手が2二の地点に1枚(2三の金)しか利いていないという判断になってしまい、2三に駒を動かす王手を生成しないためでした…。
この類型はすべて解けないんですが、対応すると確実に遅くなるだろうし3手詰ルーチンなら解けるのでこれはそのままにしておくかな。

思考部の強化をしなければいけないのにGUIの変更をしたくなってしまいました(汗)。
マルチスレッドでの思考とPonderの対応はしたい。
Ponderは思考部自体がシングルスレッドでも問題ないので検討を開始しました。
GUIと思考部を別スレッドにして、スレッド間通信をUSIライクでやればいいかなぁ~、なんて考え始めています。
positionの受け渡しとかけっこう面倒な感じがします。
ちょっと、いろいろ影響範囲が大きい変更になるので、オープン戦までに新しい構成で終局までいけるようにしないと。。。

開発に時間を費やせていません…。
土日がなんだかんだで結局何も出来ていないので、平日に少しずつでも進めていかないと…。

どこまで出来るかわからないけど、とりあえずやりたいこと:
・思考部をワーカスレッド化
・TBBで思考部のお手軽(?)マルチスレッド化
・オーダリングの改善
・ハッシュ周りの作り直し
・勝ち宣言対応
・千日手対応
・Ponder対応
・内部ノードから詰ルーチンコール
・詰め部分木対応
etc

とりあえず、次のオープン戦までに1つか2つは消化しておきたい(←目標低い!)。


忍者ブログ [PR]
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[04/27 とおりすがり]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
[01/08 sakura]
最新TB
プロフィール
HN:
かず
性別:
非公開
バーコード
ブログ内検索
最古記事
カウンター
アクセス解析