【オセロ,将棋】ボードゲーム Part2【囲碁,War】 at GAMEDEV【オセロ,将棋】ボードゲーム Part2【囲碁,War】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト156:535 17/12/13 20:33:14.21 6thdoy0s.net えーそうですか? 排他制御とかしたら性能出なさそう 157:535 17/12/13 21:57:53.75 3yqEn+ak.net ID違うと思うけど535です。 DBがTXTで1.7GBに。 実行時7GB程になりました。 std::mapを別のコレクションに変えたらメモリ使用量減らないかな~? 158:535 17/12/13 22:15:01.22 3yqEn+ak.net unordered_mapにしてみたけどあんま変わんないやorz 159:310 17/12/14 00:19:28.11 9pKHf6s7.net 排他制御は、まあ普通にしてますけど、PPLのcritical_sectionでlockしたり、 int型ならatomic<int>していたりで、並列ライブラリにお任せです。 またVirtual Lossという方法があって、ツリーを下っていく時は、先に負けた事にして 降りて行って、末端から戻ってくる時に正しい勝敗に置き換える事で、並列探索 の各スレッドが同じ枝に集中しないようにして、排他がかかる可能性を減らしてます。 あとは、排他制御が必要な領域を細かい単位に分割する事ですかね。 #と思って、ソース見たらVirtual Drawになっていた(汗 あ、そうか。DB化しているって事は、合流ありだし、盤面をキーにしなきゃならないから そうなるとちょっとややこしいのかな? 自分は合流無視で、各ノードに盤面情報を保持していません。直前着手のみ持って いて、ノードをたどる時に盤面情報を更新しながら降りていきます。着手もBITBOARD の64bitは無駄なので、char型にしちゃってます(内部的にはintなんだろうけど)。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch