[過去ログ]
【オセロ,将棋】ボードゲーム【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
872: 535 [sage] 2017/06/25(日) 22:41:07.34 ID:f6fx6Sdx おお〜囲碁ですか。 打倒Masterですよ!! http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/872
873: 310 [sage] 2017/06/26(月) 23:49:18.52 ID:GJUXvwb3 藤井君凄かったね。 abemaの解説でも言ってたけど、互角のまま進行していたのに、 気が付いたら圧勝の情勢になるとか、AIチックな差し回しだよね。 じわじわとライブラリ構築中。 オセロ専用ライブラリはほぼ完成。 明日から終盤読み切り処理に取り掛かります。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/873
874: 535 [sage] 2017/06/26(月) 23:59:45.84 ID:EmG0vEj8 結局オセロですか。ちょっと残念w まあ、結局自分の情熱が湧くものをやらないとですよね。 ライブラリほぼ完成とか流石に仕事速いですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/874
875: 535 [sage] 2017/06/28(水) 00:10:44.15 ID:aRb2YNw2 Connect4やってます。 自己対局棋譜を取りまくってDBを作成。 勝利数の多い手を高い確率で着手するようにします。 いま40万局棋譜集めてDBなしAIに対してDBありAIで勝率8割りくらい。 やっぱDBの効果はConnect4でも有効のようだ。 でも先手で完全ソルバに一発入るまでにはいくかどうか? 行ったら楽しいけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/875
876: 535 [sage] 2017/06/28(水) 21:56:23.76 ID:aRb2YNw2 DBありの勝率9割まできました。 そろそろ自己対局は一旦打ち切りかな。 完全ソルバとやらせてみよう。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/876
877: 535 [sage] 2017/06/28(水) 22:15:10.75 ID:aRb2YNw2 だめだ、5手目で間違える。 やっぱ自己対局じゃ完全解析までたどり着かないかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/877
878: 535 [sage] 2017/06/29(木) 23:11:55.06 ID:VtwtdSs0 Connect4,対人だとなかなか強いんですが、 それでも全然勝てないってわけでもないですねぇ。 自分でプレーして一回勝ってしまった。 まだまだですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/878
879: 535 [sage] 2017/07/01(土) 00:13:06.32 ID:A/qufpQM http://web.mit.edu/sp.268/www/2010/connectFourSlides.pdf 前半は読みやすくてわかりやすいけど後半一気に難しくなって結局理解できてない。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/879
880: 310 [sage] 2017/07/01(土) 02:11:20.40 ID:HltHgVcC 終盤探索とりあえずのところまで完成。 盤面の持ち方をちょっと変えて__mm128iにしてみた。 パスの処理を変えてみた。 これで、FFO#40で時間計測。 YBWCで1200msくらい 置換表までで、1800msくらい negascoutまでで、2200msくらい nodeカウントを入れると15%くらいスピードダウンする(汗 そこから逆算して、200万nps以上出てる。 まあ結構な速度になりました。 偶数理論も作ってみましたが、空白マスを連続する単位で分離するオーバーヘッド が大きく、採用すると70万nps程度に落ちてしまう。この処理の良い方法が見つから ないため、いまだに偶数理論は使っていません。むむむ。 現在、素のMCTSに着手してます。 これができたら、対局集めて、EigenでMLPのライブラリ作って、評価関数(仮)作成。 評価関数をもとにPUCTにアップグレードして強化学習という予定です。 まだ先は長い(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/880
881: 310 [sage] 2017/07/01(土) 02:18:02.59 ID:HltHgVcC >>877 自己対局だと局所解にはまっちゃう時ありますよね。 DBの内容がわからないので、以下頓珍漢かもしれませんが。 解消法としては、開始後数手については、ランダム着手にする。 途中でε-greedyみたいに、ランダムな着手を挟む。 こういった方法で、局所解から外れたところも学習対象に入れる工夫があります。 気持悪いやり方だけど、5手目だけif分で強制的に直して修正済み自己対戦データ を蓄えて学習するという方法もあります。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/881
882: 535 [sage] 2017/07/01(土) 18:28:17.34 ID:A/qufpQM ランダム着手をまぜるのはいいかもしれませんね。 ありがとうございます。 アルファ碁もやってる手法なんでしたっけ? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/882
883: 535 [sage] 2017/07/01(土) 23:24:59.13 ID:A/qufpQM 局所解を避けつつ有望な局面を多く調べるというのはまさにMCTSでやってることなんじゃ? 一回駄目出し食らった案ですが、モンテカルロ木をDBに保存して無限に成長させるという案がどうしても忘れられない。 局面数が大きくなるゲームだと木が大きくなりすぎて駄目ですがConnect4なら… http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/883
884: 535 [sage] 2017/07/02(日) 00:25:04.48 ID:iRJ6TibI 完全ソルバで遊んでるんですが、Connect4って思ったよりゲームバランス良いゲームなのかも。 先手が圧倒的優位かとおもってたけど、後手が完璧に打ってくるとき、 先手も正解が一手しかないという局面が結構あるんですね。 意外と奥が深い。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/884
885: 310 [sage] 2017/07/03(月) 20:45:11.36 ID:rpYi4lNg MCTS自己対戦させながらデバッグ。そろそろバグはなくなりましたが… 勝っていると緩んで、負けているとギャンブルする癖と、お互いに緩みあっている間に 引き分けに収束してしまう事から、そのままでは記譜に使えない事を自覚中。 とはいえ、記譜を真面目にZebraで並べて見てしまうと、疑問手だらけで、そこを直したく なって、強化学習にならなくなってしまいますね。 序盤はMCTSで探索し、残り20手で終盤探索して後半中心の評価関数をまず作る事かな。 もともと、前半の何手かはランダム着手して、オープニングの種類が偏らないようにしよう かと思っていましたが、この調子だと、最初の40手はランダム着手にして、残り20手を 読み切りにした方が、記譜数が稼げる気がしてきました(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/885
886: 535 [sage] 2017/07/03(月) 22:52:12.07 ID:NTU08E7X 40手もランダムに打たせるんですか?うーん。 にわかには信じられないですが偏らないようにするためには有効なんですかね〜 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/886
887: 310 [sage] 2017/07/06(木) 23:41:11.66 ID:uY9At7Gi 終盤20手の盤面集めなので、ばらけた方がよいし、ランダム着手の方が速いかなと。 とはいえ、今はMCTS5秒読み+残り20マス完全読みで記譜集めしてます。 1譜3分弱で、今のところ重複記譜なしで、700譜くらい集まったところです。 さっきまで藤井四段のabemaTVにCPUを15%くらい持っていかれていました(汗 改良したいところはあちこちありますが、とりあえずニューラルネットのライブラリに専念。 optimizerをどうやって作ったか、まったく思い出せない(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/887
888: 310 [sage] 2017/07/08(土) 20:32:28.67 ID:bOmPmg/w ニューラルネットの計算でけました。たぶん。 頭が行列に切り替わるまでが憂鬱なんだよなぁ。 optimizerは計算式なぞるだけで楽勝でした。が、理解しないまま行列計算 に置き換えているので、何が何だかわからなくて、忘れちゃうんでしょうね。 続いて、tiny_dnnのstl的なインターフェースに憧れて、ミニバッチの処理 とかのインターフェースに凝りだしてしまった。 本当はレイヤー階層定義のところも凝りたかったのだけど、今のところ MLPレベル(2層)までしかやらないと自分に言い聞かせて自粛中。 学習データは1200局くらい集まりましたが、全滅の時の完全読み切り の手順取得処理にバグがあって、無限ループ入り。せっかくの全滅に 至る記譜が採れませんでした。無念。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/888
889: 535 [sage] 2017/07/09(日) 21:54:20.93 ID:DDYaMcZG >モンテカルロ木をDBに保存して無限に成長させる これやってます。 5手目は正解できるようになったようですが、まだまだ完全ソルバには勝てません。 メモリはそんな簡単に爆発しないみたいだけど、木が大きくなるにつれ速度がかなり遅くなる。 UCBの計算が遅いのだろうか? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/889
890: 310 [sage] 2017/07/10(月) 00:58:02.21 ID:NRizRRec 自分のはロールアウト関数がボトルネックなので、木が深くなると速度が上がっていき ます。MCTSの設定も、どんどん深く行く方向で調整してます。UCBの計算は普通に cmathのlogとかsqrtとか使ってます。 結局、今日は一日、ニューラルネットのライブラリのインターフェースをしこしこと 作って直して、してました。template使いまくりです。 まだやりたい事があるのですが、今の状況では不要だし、泥沼に入りそうなので、 いったんこの辺で。 記譜は1500超えたので、明日から終盤の評価関数作ってみる予定。 できたようなら、MCTSの探索方法を変えて、更に良い記譜を集めるか、それとも 置換表付き完全読み切りのバグを探すか。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/890
891: 535 [] 2017/07/10(月) 22:57:52.54 ID:Ioy9WIYD きたああああああぁぁぁぁあああああ!! 完全ソルバに勝利!!!! http://connect4.gamesolver.org/?pos=44444222242555777711776655625636363333111 この勝利を引くために数十回リトライしましたw http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/891
892: 535 [sage] 2017/07/10(月) 23:09:01.53 ID:Ioy9WIYD ちなみにDBは初期曲面のプレイアウト回数が約36万回になりました。 少なそうに見えるかもだけどDBつくるのに結構時間かかってる。 囲連星にも応用したいな〜 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/892
893: 535 [sage] 2017/07/10(月) 23:24:06.47 ID:Ioy9WIYD DBの木の深さは一番深いところで37。 結構、深いところまで読んでるんじゃないでしょうか。 もちろん、途中で読んでない局面に分岐されると困ってしまうんですが… http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/893
894: 535 [sage] 2017/07/10(月) 23:38:14.93 ID:Ioy9WIYD UCBの係数をいじれば木を浅く広くにもできそう? 完全ソルバに勝つにはそっちのほうがいいかもしれないですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/894
895: 535 [sage] 2017/07/11(火) 00:01:35.20 ID:XEOuAfue >>890 プロファイル取ってみました。 logとかsqrtとかはインライン展開されて?計算時間がよくわからなかったですけど多分ボトルネックじゃなさそう。 ちなみに局面と勝率を保持するクラスのコピーコンストラクタに全体の60%の時間がかかってるという 完全に意味不明のプロファイル結果が出ました。 どう解釈すればいいんですかね? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/895
896: 535 [sage] 2017/07/11(火) 20:08:54.72 ID:XEOuAfue んーもしかしてツリーを丸っとコピーしちゃってる? 問題の個所はどこだろう? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/896
897: 535 [sage] 2017/07/11(火) 21:20:27.73 ID:XEOuAfue え、めっちゃ早くなった?ww 我ながらこれはヒドスwwww http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/897
898: 535 [sage] 2017/07/11(火) 21:50:40.06 ID:XEOuAfue うおっ一瞬でメモリパンクしたwwww 310さんの言ったとおりだったwwwww http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/898
899: 535 [sage] 2017/07/11(火) 22:02:05.79 ID:XEOuAfue 局面の合流を検知しないでベタに木を展開してんのがまずいのかなぁ。 まあモンテカルロ木DB化はこの辺が限界かなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/899
900: 535 [sage] 2017/07/11(火) 22:31:32.07 ID:XEOuAfue 本線じゃない分岐の間違いを修正するには指数的な試行回数が必要になるなこれは。 まあしょうがないか。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/900
901: 310 [sage] 2017/07/12(水) 20:10:09.86 ID:b5nvOjQF 直ったようで何より(^^/ 自分は合流させてません。 合流させるメリットよりデメリットの方が大きそうだったので考える事をやめました。 モンテカルロ木DB化って、よくよく考えたらQ学習みたいなものではないかと思います。 Q学習だと全部のノードにQ値を持つので、結局全局面保持することになります。 現在Deep Q学習が主流になってるのは、Q値をディープラーニングで近似計算する 事で、全局面のQ値を保持しなくても良くするためという側面もあるかと思います。 で、Q学習だと考えるなら、時々変な手を混ぜて木をきちんと分岐させるってのが、 強化学習の肝ではないかと思います。 当方、完全読み切りのバグとり完了。 ニューラルネットのライブラリも大体できて、1900譜で40手目以後を学習してみました。 やっぱ、疎行列対応の行列パッケージでの計算は、tiny_dnnと比較して圧倒的に早い です。 データが少ないのと、同一の記譜内からテストデータ取っているのもあるのですが、 テスト誤差は十分小さな値になるのですが、FFOの盤面を評価させると、いまいち 合っていない感じで、あまり汎化できていない感じす。もっと記譜増やします。 やっつけで作ったmcts部分をきちっとさせるのと、とりあえず持っている評価関数 で、puct化できるか、ロールアウトの後半の精度を上げられるか、検討開始です。 強化学習までまだ遠いなぁ。でも、少し背中が見えてきたかな。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/901
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 101 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s