[過去ログ]
【オセロ,将棋】ボードゲーム Part2【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム Part2【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
427: 310 [sage] 2018/06/23(土) 00:43:44.99 ID:MYOaLSBl 長いと4時間… 出張中に丸48時間動かしっぱなしにしましたが、3つしかできなかった。 一つ16時間w http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/427
440: 310 [sage] 2018/07/01(日) 09:58:13.46 ID:rTgUJVKi 強化学習は一通り失敗をして、ダメな手を覚えていくものですからね。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/440
441: 310 [sage] 2018/07/01(日) 16:25:08.28 ID:rTgUJVKi 過去に途中でプログラム止めて、中途半端な状態になっている記譜(棋譜としては 成立しているけど、他の記譜との接点が無い)を見つけて、続きを実行するような 仕組みを作りました。 これで心置きなく途中で止められる。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/441
449: 310 [sage] 2018/07/12(木) 23:01:05.40 ID:x4U4b182 相変わらずひたすら記譜作成中。 現状の記譜の中に、ランダム着手の記譜が混じっていて、そいつらを 遡るのにものすごく時間がかかる事が経験的にわかっています。 つまり、そこそこ最善に近い手を打っている記譜の遡りは早く、悪い手 ばかりの記譜は遅い。 現状、最善に近い手に対しては、そこそこまともな評価関数になっている という事は言えるので、一旦遡り対象の記譜を消して、この評価関数で 作られる新しい記譜で継続学習させた方が良いかもと思い始めています…。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/449
451: 310 [sage] 2018/07/16(月) 22:12:02.39 ID:99JpH5NZ 棋譜作成のロジックをだいぶ変更。 過去の奴に当てはめると結構面倒な事になるので、 >>449の予告通り記譜はいったんリセット。 あと、パブリックドロー(残り40手最善)な記譜が いくつか見つかったので、そいつらも棋譜に混入。 もっとパブリックドローな記譜が欲しい。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/451
457: 310 [sage] 2018/07/27(金) 22:29:42.44 ID:yYgmXJLn あれれ。大変ですね。 うちは、ここ2〜3日回線ダウンでした。本日ようやくNTTに連絡して再開。 暑さでONUが死んでたみたいです。 棋譜作成は、結局元の棋譜もマージしてしまいました。 おかげさまでえらく時間がかかっています。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/457
459: 310 [sage] 2018/08/09(木) 22:24:55.93 ID:86sArqqe 最近はボーっとしながらひたすら棋譜作成です。 そろそろハイクラスPCを買って、完全に放置プレーしようかと思っていたりします。 DCNNに対する興味はすっかり薄れてしまいました。 しばらくはゆっくりしたいですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/459
464: 310 [sage] 2018/08/27(月) 09:30:35.26 ID:QOs+gZK+ PC新調するとか言って、またプログラムいじってます。 もうやる事はないだろうとか思っても、なんか出てくるんですよね。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/464
465: 310 [sage] 2018/08/27(月) 09:34:46.66 ID:QOs+gZK+ BIOS上がらないんだとすると、保証期間があるうちに 販売店に持ち込んでチェックしてもらった方が良いかと思う。 ハード障害の切り分けとかスキルとしては面白いけど、今の本題じゃないし。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/465
469: 310 [sage] 2018/10/02(火) 09:01:31.04 ID:Rgg2Um0o ご無沙汰です。 地味に棋譜作成を続けていますが、そろそろ色々と重くなってきたので、 裏で新バージョンを作り始めています。探索に関係ないところは、色々 整理して結構軽くなった(と思う)のですが、探索部分の速度が大幅に 低下してしまって悩み中。 現バージョンとまったく同じ条件で比較したところ中盤探索で3倍弱は遅い。 比較してないけど終盤探索は下手すると10倍近く遅い感じ。 中身はほぼ一緒なので、何が原因で遅くなっているのか不明。 コンパイルオプションなんかは一緒。共通で使用しているclassのどこかに 原因が潜んでいそうなんだけど、違いが見当たらない… http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/469
470: 310 [sage] 2018/10/02(火) 23:18:16.56 ID:odJoEjbT まさかまさかの__vectorcallが原因だった。 全部取っ払ったら中盤探索については逆に速度30%アップ。 変な事考えないでコンパイラに任せましょうというお話でした。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/470
471: 310 [sage] 2018/10/10(水) 09:51:58.44 ID:+G+W4fz+ 28コア56スレッド… 18コア36スレッドが安くなるかなぁ。 棋譜作成を新バージョンに乗り換えました。 全体的に速くなる修正については、10〜20%程度なので効果不明。 あと特定の条件で遅くなる原因を見つけて地味に潰しています。 後者については、一つ原因わかっていて直しようが無いものが。 並列処理にPPL使っているのですが、parallel_forではせっかく並び替えしても ランダムに処理が走ってしまう事。ybwcなのでPVを最初に実行する事は保証され ているのですが、PVが間違っていた時に、parallel_for内部で2番目の順位の スレッドがいつキックされるのかわからないどころか、最悪一番最後の可能性も ある点です。null window searchでβカットに強く依存しているので、ここは非常に 困ります。 解決策1)parallel_forの改良版を自分で書く 解決策2)スレッド数の多いPCに乗り換えて、この問題が起きる確率を下げる どうしよう(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/471
473: 310 [sage] 2018/10/12(金) 23:00:16.66 ID:CTNeLPXP 結局あきらめて解決策3)初段のみYBWCのお兄さんを2人にして様子を見てます。 forwardのロジック(最善手の手順で着手可能な手を展開)を全面改訂。 今まで降りていく手を、BitboardのLSBに近い方から1つだけ選択してましたが、 これによって局面の偏りが生じていたようなので、全て展開するようにしました。 棋譜の増殖が凄い事になっちゃうんだけど、仕方ありません。 同じ仕掛けでbackwardも書き直し。 Eigenの並列化、リソースモニタ見ても2コアしか使っていない感じ。4コア使う指定 しているのに。謎。 その他、並列化できるところは並列化を検討。 やっぱPC欲しい…12コアくらいでも良いかという気がしてきた。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/473
474: 310 [sage] 2018/10/14(日) 23:06:48.18 ID:Z3+yTgkQ 局面の偏りが結構酷い事になっていました。 新しいforwardでは反復深化の評価値を表示するようにしたのですが、探索が進む ほどに0になっていきます。そこで盤面のパターンが一回も出てこないケース(0値) を調べたところ、後ろの方が大量に…。前回書いたLSB問題の影響がかなり大きい という事です。 というわけで、棋譜作成の時には、少なくとも複数選択しあるときにはランダムに 選択するように変更し、既存の棋譜については、仕方がないので後ろの方をランダム を導入した仕組みで再探索したものを追加していく事にしました。 1件1秒程度でできるので、折に触れてランダム化していこうと思います。 全部展開すると件数が大変な事になるので、様子を見ながらこの辺でお茶を濁して みようと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/474
477: 310 [sage] 2018/10/21(日) 22:20:35.21 ID:wV/AjJxk >>475 はじめまして。新規参入嬉しいですね。 50万記譜計画の記譜は今はHPからダウンロードできないですね。懐かしい。 評価関数が正しくないと、探索時間かかりますからね。 自分は今は、自作の記譜を後ろから順番に訂正していってます。 が、やはりすごく時間がかかりまするorz http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/477
478: 310 [sage] 2018/10/21(日) 22:39:45.97 ID:wV/AjJxk 先日、局面の偏りで反復深化で評価値がゼロになっていく件を書きましたが、 もっと大きな問題な気がしてきました。 マイナスの評価値になるはずの局面から、中盤探索を反復深化で深くしていく時、 途中で評価関数的に未知の局面に入って、評価値0を返すようになる事があります。 もともと期待される評価値はマイナスなので、評価値0のルートに乗り換えてしまい ます。どうもこの様な現象が起きる事で、探索を間違える事がありそうです。 これから、デバッグ用のプログラム書いて、現象を確認してみようと思います。 もしかしたら、評価関数の初期値をゼロから始めるのが、良くないのかもしれません。 初期値を−1にすると、未知の局面は−66点(パターンの種類)になるし、1つ2つ 混入したくらいでは、評価値への影響も小さいのかなと思っています。 評価関数のゼロデータを−1にして動かしてみる方が早いかなぁ? http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/478
479: 310 [sage] 2018/10/22(月) 22:40:29.62 ID:cyPX+oid 一応、ゼロデータをすべて−1に置き換えてみたところ、それなりな感じで、 頻度はだいぶ減りました。が、まだ時々おかしな時があります。 デバッグ用のプログラムが案外簡単にできたので、評価値の計算を確認して みたところ、反復深化の計算のどこかにバグがありそうだという結論に…。 ただ、ほとんどのケースでは正しそうなんだなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/479
480: 310 [sage] 2018/10/22(月) 22:53:50.11 ID:cyPX+oid ソース見てたら、一瞬で判明(汗 ほぼtypoの類でしたorz これで探索少し早くなるかな? http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/480
481: 310 [sage] 2018/10/23(火) 01:08:22.60 ID:rwBd0O0t ウェイトのゼロデータを−1にしてみましたが、関係なさそうなので0に戻しました。 原理的にはマイナス評価値の問題は起きそうなのですが、評価値ゼロはあまり 発生していない感じです。 残り27手読み切りあたりから今のやり方では追い付かなくなって来ていますので、 MPCモドキの導入を考えています。MPCのスレッショルドの計算を真面目に やると、それだけで日が暮れてしまいそうなので、あくまでモドキですが(汗 置換表から作り直しになるし、記譜作り直しで、まだ27手まで時間がたっぷりある ので、1週間くらいじっくり考えてから始めようかと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/481
484: 310 [sage] 2018/11/01(木) 00:10:54.87 ID:D90j6hyj MPCですが、完全読み切りをIterative Wideningで速度アップするためのProbCutを 作ってます。とりあえずスレッショルド計算のところまでできました。線形近似と誤差の 標準偏差の計算ですが、以前はループでゴリゴリ計算してました。今回はEigen使って 行列で計算するようにしたら超簡単でびっくりするほど早くなりました。 結局、計算時間の大半は浅い探索になります。 で、結果を見れば見るほど、無理に計算しなくてよいのではないかと思えてきます(汗 誤差は1σ=4〜5程度の固定値。線形近似は、1次係数は1.0で0次の定数(バイアス) を、深さが偶数で+1〜+2、奇数−1〜−2くらい。探索の深さを変えると、誤差は 減っていきますが、あまり頑張るとオーバーヘッドになります。 そもそもIterative Wideningでは、探索精度ではなく、徐々に探索対象を広める事で、 置換表の精度を上げていく事で高速化をしますので、アドホックな値でも良いのかなと。 誤差やバイアスは今の自分の評価関数での値ですが、気が向いた時に再度チェック するくらいで良いのかなと思う次第。 というわけで、大幅に簡素化・定数化して、読み切り処理の方に移る事にしました。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/484
488: 310 [sage] 2018/11/10(土) 22:53:18.40 ID:MAqAiuT/ ぬぬぬ。 ProbCutのバグ取りに時間がかかりました。というか、なかなか高速化できません。 むしろ倍以上時間がかかってしまいます。 もっとひどい事に、今までのやり方のうち、比較的単純なやつが最も早い可能性が 高いという事に気が付いてしまいました…。下手すると40%くらい早いかも。 ProbCut比では3〜4倍速いという事です。 もともとProbCu自体は中盤探索で前方枝刈するための仕組みです。 これを読み切りしながら順次探索範囲を広げる事でソート順を修正する方向で 活用しようとしているのですが、下位のところを何度も読むオーバーヘッドがあり、 そこを置換表で高速化と考えていましたが、どこかがおかしい…。 そうこうするうちに、評価関数の精度が上がって、反復深化で十分実用になる ソート順がセットできる事になった模様です。 まだバグの可能性は捨てきれませんが、一旦諦めようかな。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/488
489: 310 [sage] 2018/11/15(木) 23:13:39.64 ID:Gy98Zi+i ProbCutは一旦放置して、地道にSolverの速度アップを始めました。 作り直した時に、末端ノードの処理を結構簡素化しちゃったので、やり直しです。 で、Zebraの初期バージョンのオーダリングを日本語で解説した資料を見つけて 色々とノウハウを得まして、Fastest Fastの処理を見直したり、その他色々やった ところ、速度が倍になりました。 が、見たくない現実としては、まだZebraの当時のFFOテストより若干遅い感じです。 以前はFFO#20限定で0.3秒くらいまで行っていたのですが、まだ1〜2秒前後。 ちなみに、似たスペックのPCでの計測値が公表されているマスターオセロは、 更に10倍程度高速です。ぬぬぬ。 棋譜作って学習していくと、探索時間が地味に短くなっていくし、時にはオーダリング の間違いが直ってジャンプするように特定の盤面で高速化する事がありますので、 まだまだ辛抱かなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/489
502: 310 [sage] 2018/11/18(日) 01:01:51.11 ID:CiNHjYBr おお。大体僕の倍くらいの速度ですね。 なお、気が短いし、記譜訂正が26手目くらいまでしかできていないので、 今は#40-#44の5つしか計測していません。昔から#41がピンポイントで遅い。 空きマスのビット演算、ちょうどやったところです。 mobility使わずに、flip関数がゼロだと着手不能ってパターンです。 静的オーダリングを使っていますが、角優先×最後って事で。 パターン配列作ってループ回してAND版と、先に空きマスをpextで並び替えて、 テーブル引いて元に戻して着手する版と2種類トライしまいしたが、速度差は 誤差としか言いようが無いレベルでしたorz 元に戻す演算を思いついたらまたトライする予定。 本日はProbCutを再トライ。今度はちゃんと高速化しているようです。 スレッショルド1.0σで反復無しで、その結果を用いてアスピレーションウィンドウ サーチして、少し高速化できたかなぁと言う感じ。 ただ、投機的に高速化しているので、FFOで比較しても、苦手盤面がありそうです。 棋譜が揃って来たら投機のヒット率が上がると信じて、しばらく使ってみます。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/502
503: 310 [sage] 2018/11/18(日) 01:13:00.25 ID:CiNHjYBr 535さんニューマシンおめ! 自分はSurface3で、i7-4650Uの1.7GHz(2.29GHz)×4です。 キャッシュとかどこで見れるのかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/503
504: 310 [sage] 2018/11/18(日) 01:19:18.37 ID:CiNHjYBr ちなみに、偶数理論は何度かトライしていますが、速度低下してしまうので 使えずにいます。 ZebraはUndo方式で空きマスリストを常時更新しているようです。 僕はCopy方式で、末端の該当ノードで空きマスリストを作ろうとしているので すが、なかなかうまくできません。 過去にpaint処理みたいな方法で完全な空きマスリストを作成しましたが、 当然オーバーヘッドが大きくて使い物になりませんでした。 最近は「どうせ4隅でしょ?」という事で、盤面を4分割して空きマス計算して いますが、それでも遅い。 「どうせ4隅」が良くないのか、偶数理論の理解が間違っているのか… http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/504
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.061s