}}次に40c80tのPCで80スレッドで対局させてみた。用いた評価関数はtanuki-の2018年度版(『将棋神やねうら王』に収録)である。対局時の設定にミスがあったので計測しなおしました。b1000とあるのは1秒対局、b2000が2秒、以下略である。秒数が増えても強くはならなさそうではある。SMPで20スレッド→40スレッドや、40スレッド→80スレッドでどれくらい強くなっているのかという問題もある。(あまり強くなっていない可能性も高い)いずれにせよ今回は残念な結果となったが、PCは我が家にとって良い暖房器具としての役割は十分に果たしたと言っておこう。SMPで20スレッド→・・・→80スレッドでどれくらい強くなっているのか採用した手はどこまで深く読んでいたのかみたいのを見るとか。SMPって思考時間が切れた瞬間そのときに一番深いdepthで探索していたスレッドの結果が返ってきます。:うーむ...思いつきを並べてみます。そもそもLazySMPのスレッド効率の無駄が生じるのはどんな場合なのか。同じ局面の評価値差分計算中に別スレッドが飛び込む場合か、本筋に適切なスレッド資源が投入されてない場合なのか。軽量化した仮想の無限木宝探しゲームを想定なり実装すれば電気代を節約できるのではないか。分岐数やリーフノードの作業の重さによるスレッド配分のハイパーパラメータの最適理論値を考察すべきではないか。同じ局面の評価値差分計算中に別スレッドが飛び込むそれ自体は極めて稀だと思いますよ。あるnodeで、(他スレッドが同じnodeを探索中で)まだ値が確定してなくて(置換表に書き出せてなくて)、そこを重複して計算してしまうことは多々あるでしょうけども。これは、その子nodeがスレッドごとにばらつけば(違う子nodeになれば)それらの計算は無駄とは言えないので、まあ、仕方ないかなと。:だとすると、先行スレッドの評価済みノードをチェックするばっかりで、一向に掘り進んでないスレッドとかが無駄?アリンコの餌探索のように単純で局所的情報のみで、群として最適に動けるアルゴリズムがあるのかも。近場のスレッドとはちょっとだけ離れたノードを掘る(大きく離れない)とか、最深ノードが伸び悩んだら集まれフェロモン出すとか、飽きると全然違うとこにジャンプするとか、巣の周りをキレイにする趣味のが1匹居るとか。近場のスレッドとはちょっとだけ離れたノードを掘るまあ、それがうまく出来ると理想なんですけども、そのためには他のスレッドと協調動作をする必要が出てくるので、その同期をとるためのコストがスレッドが増えてきたときにスケールアウトするかという問題があり...。KLMNOの順に探索これだとどうやってもダメだと思う。そもそもLazySMPのスレッド効率の無駄が生じるのはどんな場合なのか。置換表からあふれまくり=無駄で同じ計算のような場合。:それはマルチスレッドの問題でなく置換表メモリ不足ですよね。シングルスレッドでも起きますし。(また、逆に、並列処理を最高効率にしてれば置換表消費はより早い...でしょうし。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。