[過去ログ]
【オセロ,将棋】ボードゲーム【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
903: 535 [sage] 2017/07/14(金) 21:11:11.02 ID:TTQj/Kki Connect4もひと段落ついたし囲連星もアイディア湧かないし 気分転換にライフゲーム囲碁のAIやろうかな。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/903
904: 310 [sage] 2017/07/15(土) 02:17:52.56 ID:qcpUcaKf 再帰呼出は関数オブジェクトを使うと速いというのを見つけて、あちこち試してみました。 static constな再帰関数は速くなるみたい。 クラス内でthisを参照するような類は効果が無いようです。 が…、なんか数か所おかしいような。 やっぱり、どこかでバグを仕込んでしまった模様。むむむ。 続きは明日だなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/904
905: 535 [sage] 2017/07/15(土) 02:40:13.20 ID:+mfEtycW 関数オブジェクトを使うと速いってのはどんな理屈なんですかね? ちょっと想像つかない。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/905
906: 310 [sage] 2017/07/16(日) 00:06:25.07 ID:z0mkcRg4 なんかもともと関数呼び出しの方が速いという事で数字で実証するサイトがありました。 まあ、コンパイルの最適化のかかり具合なのかなぁ。わからないです。 コンパイラのバージョンで違うのかも。 バグの原因はわかりました。関数呼び出しにするときに、同時にパスの扱いを変えた のが原因だと思います。が、確かめる際にもとに戻したら、普通の関数の方が速かった という結果に。バグってるときの実行時間なので、あてになりませんが。 というわけで、全部もとに戻して、少しだけ確認しましたが、あまり差はない模様orz 記譜の中に間違った読み切り手順が混じってしまったので、全部再計算。 こちらもパスの扱いを変えたのが原因で、別のバグが出ました(汗 二次災害大です。 再計算は2400記譜で1時間半くらいで、着手は最善手の中でのランダムなので、 1回実行してアペンドすると倍、2回で3倍というように、記譜の増殖が可能と思い 当たりました。これを使えば学習データを簡単に増やすことができます。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/906
907: 310 [sage] 2017/07/17(月) 22:52:41.07 ID:GI+vwgP1 評価関数まわりを作ってデバッグ。 その中で致命的がバグが発覚しました。 学習用に溜めた記譜データにおかしなデータがいくつかあるというもの。 学習やり直しです。 記譜データ消した後で気が付きましたが、復旧できないわけではなかった。 後の祭りですorz http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/907
908: 535 [sage] 2017/07/19(水) 21:46:51.76 ID:oWNrCACG うヴぉあー プログラム組むのすっごいだるい。 心ときめくアイディアが欲しいところ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/908
909: 535 [sage] 2017/07/20(木) 20:57:58.92 ID:5PqobJjm ライフゲーム囲碁、DB使ったほうが弱くなる? どういうことだこれは… http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/909
910: 535 [sage] 2017/07/20(木) 21:13:01.54 ID:5PqobJjm 弱くなってるわけではなく互角のよう? DBの情報量が少なすぎるだけだろうか? よくわからん。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/910
911: 535 [sage] 2017/07/20(木) 21:56:32.91 ID:5PqobJjm 攻め合いが全然めちゃくちゃだなぁ 5x5のパターンマッチ入れるか。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/911
912: 310 [sage] 2017/07/22(土) 02:06:09.72 ID:6HI7Rmqm 結局40手までランダム+残り20手完全読みな記譜集めて、残り20手の評価関数と Policyを作ってます。ランダム1000件に対して30件のMCTS自己対戦混ぜたもので 学習してます。ランダムだけで十分学習になるようで、悩むより数を集める方が大事な 感じです。40手以後の評価関数ですが、30手過ぎくらいから、そこそこ使えるみたい です。 で、これを使ってPUCTな形にしてます。 完全読みが使えないので、20〜40手あたりで最善手(に近い手順)をどうやって 作ろうかという感じです。 まずは、後ろから探索で、何手までまともな手だったか遡るプログラムを作って、 残り25手くらいまで遡れたら良いかなぁと。 つか、強化学習に行っちゃおうかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/912
913: 310 [sage] 2017/07/22(土) 20:32:19.70 ID:6HI7Rmqm 逆順チェックのプログラムして、学習時に、正解手順で遡れる盤面も含むようにして みました。仕組みとしては、最終盤面からヌルウィンドウサーチして、もっと良い評価に なる手が無いことをチェックして、OKなら1手遡ります。置換表にてPVの評価は即求まる のと、ヌルウィンドウサーチを使っているので、25手までなら楽勝です。 MCTSで対戦したデータには27手より前まで遡れるものもあるようですが、丸1日 チェックしても終わりそうにないので、25手で打ち切り処理を入れました。 記譜に正解手順で遡れる手数を持たせて、学習時には、その手番以後の盤面を使用 する事で、30手過ぎの評価の精度を上げられたら良いなぁと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/913
914: 535 [sage] 2017/07/23(日) 00:28:11.37 ID:IndxNOGW 5x5のパターン入れたらむしろ弱くなってるような… え〜なんで〜? 絶対効果あると思ったのに。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/914
915: 535 [sage] 2017/07/23(日) 20:45:11.86 ID:IndxNOGW ライフゲーム囲碁も囲連星も完全に手詰まり。 それはそれとしてスレッドリッパーが欲しすぎる。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/915
916: 310 [sage] 2017/07/23(日) 23:50:20.93 ID:DIga1NIH 遡りチェックしていたのですが、普通のUCT時代の方が精度が高い。 そこで気合入れてPUCTのチェックをしてみたら、案の定符号がひっくり返って いる箇所があったり、パスの処理が抜けてたり。 たぶん、これで大丈夫だと思います…。 これでしばらくは、高速化しながら、記譜集めですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/916
917: 535 [sage] 2017/07/24(月) 21:00:27.54 ID:+gAaelkw もうずっと諦めてたディープラーニングに再トライするか… http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/917
918: 310 [sage] 2017/07/29(土) 22:16:52.30 ID:YHqII1DK 遡りチェックの高速化で迷走中。 28手までなら問題なさそうなので、現在チェック中。 28手まで35分で遡れる記譜で29手目が1日経っても最善手か否かがわからない。 あまりに極端な差なので、何か条件があるのか、たまたまそういう記譜なのかを調べる ために、いったん28手まで遡れる記譜を探すという段取りです。 その間、PPLのキャンセル処理について、厳密に考えていたら、今のやり方ではベータ カットでのキャンセルが効いていないのではないかという疑念が。ループの中で再帰し ているので、そこにcancellation_token_sourceオブジェクトを渡してやって、ポーリングを して、下ノードでもキャンセル処理をしないといけないが、していなかったので結局中断 せずに、普通に終了待ちしてしまっているという事。 で、キャンセル処理を直したのだけど、時間変わらず。メッセージ出すようにしてデバッグ したところ、ベータカットが1件も起きていないという謎な事態が確認されました。出てくる 答えは合っているので、しばらく考えることになります。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/918
919: 535 [sage] 2017/08/06(日) 01:16:09.87 ID:OuLT6Ytw ここのところさぼりっぱなし スレッドリッパーも15万以上らしいし テンション下がる http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/919
920: 310 [sage] 2017/08/06(日) 10:08:36.68 ID:zi8YR8lq キャンセル処理については確認完了。たぶん大丈夫。 ただ、キャンセルが多発するはずの、最善手じゃなかったときに、通常より時間がかかる 傾向に見えるのが気になる。mctsが間違えるくらい枝分かれが多いからかもしれないけど。 遡りチェックはやはり遡り29手目から日単位で時間がかかるものが出てくる。 28手まで遡ると、最大数時間くらいな感じなので全部チェックするなら28手が限界かも。 当分の間、記譜集めという事になりそうですが、1日動かして数十記譜では終わる目途が立たない。 精度落とせばスピードアップできるけど。 あと、mctsで末端ノード100万単位まで探索して引き分けの時に、完全読みかけるとそう じゃないときが結構ある。どこかで枝の探索漏れが生じてるっぽい。Policyの方はかなり 小さくても探索はかかってるようなので、Valueの方じゃないかと思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/920
921: 310 [sage] 2017/08/06(日) 21:21:02.06 ID:zi8YR8lq 最善手じゃなかったときの時間問題、原因判明。オーダリングでした。 オーダリングでは置換表にあるものを優先していたのですが、遡りチェックの時には ベータカットを起こすには置換表に無い方から探索しなければいけないわけで。 遡りOKの時は、どういう順番から探索しても、全て探索するしαは更新されないので かかる時間がほぼ一緒ですから、順番変えてOKです。 でも、これ通常探索時には逆になります。条件的には、ヌルウィンドウサーチの時と そうじゃないときで区別できそうですが、ちょっと考えてみます。 探索の方の問題は、やはりValueの評価値とRolloutの勝率がともに悪いと、本当は勝ち 手順でも簡単にはチェックがかからなくなってしまうという問題かなと思います。この辺は 精度アップで対応するしかなさそうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/921
922: 310 [sage] 2017/08/07(月) 20:08:24.65 ID:3J92NhXM オーダリングを詰めて、さらにヌルサーチ専用の処理を追加。 ベータカットが早めに起きるようにしたのもありますが、それ以外の部分でも 倍速近くなっていると思います。が、まあ、それでも28手目以前まで遡りチェック するのに時間がかかるという点では焼け石に水。 記譜集めからの逃避はこの辺にして、記譜集めに戻らないと…。 ここまで来ると準確定石によるアルファカットも再度実装してみたい。 準確定石を求める処理も、ソースごと消失しています。 以前は盤面与えると都度再計算していましたが、石を置くごとに更新していく ような方法にできないか考えています。とはいえ、なかなか良い方法が思い 浮かばないので、あくまで記譜集めしながら考えてみる程度ですが。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/922
923: 535 [sage] 2017/08/07(月) 22:11:24.15 ID:PWzU5nmf うあああああ、だめだああああ 俺の才能は枯れ果てた 全然何もできない 一歩も進まない http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/923
924: 310 [sage] 2017/08/07(月) 22:15:17.79 ID:3J92NhXM がんがれー。 自分も実をいうとかなり行き詰ってるけど、やれることを少しづつやってる感じ。 まあ、一回ソース全滅したの書き直すイベントのおかげで、リセットできたってのもあるけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/924
925: 535 [sage] 2017/08/11(金) 00:46:45.11 ID:gdLNX0jm スレッドリッパー遂に発売ですね。 ベンチによれば1950Xに乗り換えればCPU性能は現状の3倍以上になりそうです。 うーん欲しい。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/925
926: 310 [sage] 2017/08/11(金) 17:12:37.06 ID:3ANYT76m 自分の場合、何倍になるんだろ。単純に考えて10倍くらいになるのかなw まあ、アムダールの法則あるから、そこまではいかないだろうけど。 メモリーも、8Gだと遡り30手あたりでスワップ始まるので、もう少しほしいなぁ。 最近、PC通販サイトを時々覗いています。 スレッドリッパーほしいですねぇ。 相変わらず遡りチェックの高速化を地味に実行中。 min-Max探索の並列処理は粒度が大きいので、待ち合わせロスが多くなりますが、 その辺を何とかしました。遡りチェックはヌルサーチにおけるベータカット検出がメイン であるという点に依存しますので、普通の探索では使えませんが。 平行して確定石の計算作ってますが、なかなかうまくSIMD演算に落とし込めない。 しばし悩み中です。ただ、30手遡りとかまで行くと、確定石を使ったアルファカットが かなり効きそうなので、早くなんとかしたいです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/926
927: 535 [sage] 2017/08/12(土) 22:58:25.64 ID:BGqwTvwq 確定石という言葉で思い出しましたが ライフゲーム囲碁にも確定石という概念がありますね やれる事が一個見つかりました http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/927
928: 310 [sage] 2017/08/13(日) 23:11:58.30 ID:icrdxDk8 確定石とりあえずできました。 自分の実装で3ステップあるうちの2ステップでSIMD化できましたが、 最後の1つはまだシフトとループの組み合わせです。 で、さっそく敵確定石数からアルファ値アンダー検出のカットロジックを 入れてみましたが、遡りチェックに入れると、途中でバグるという状態。 しばし長考が必要です。 というわけで、記譜集めに戻りましたが、こちらもランダム着手付 の探索で、稀に間違った着手をするというバグが出てます。こちら も、しばし長考が必要かもしれません。 むむむ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/928
929: 310 [sage] 2017/08/14(月) 23:05:49.41 ID:4KkLvd6h 記譜側のバグ取りしてました。 というか、ランダム着手部分を全面的に作り替えました。かなり簡単になりました。 が、テスト中に突然のあり得ないレベルの速度低下。 原因は、ふと並列探索にできる箇所を追加した事にありましたorz 丸一日大損です。 ついでに速度を調べていたら、ただの探索より置換表の方が遅いという恐るべき事態。 オーダリングもおかしくなっていましたので、ここも修正。 それでも、まだybwc探索と置換表探索の速度が変わらないという問題あり。 あちこちいじりすぎてわけわからなくなってます。むむむ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/929
930: 535 [sage] 2017/08/17(木) 18:25:09.94 ID:3P8/JKah zenおめ http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/930
931: 310 [sage] 2017/08/19(土) 00:06:36.46 ID:+u+2ZNgB なんか優勝したみたいだね。 強いAI同士で戦うと、ぎりぎりの攻防の結果、人間には穴があるように見えて しまうのかも知れん、と、ふと思ったりして。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/931
932: 535 [sage] 2017/08/20(日) 19:27:44.87 ID:6W3WD1Mu 盆休みはまるまるさぼってしまいました。 心機一転なにか始めたいなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/932
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 70 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s