[過去ログ]
【オセロ,将棋】ボードゲーム Part2【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム Part2【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
536: 535 [sage] 2018/12/02(日) 21:28:29.33 ID:tVJh9ePf >>535 その手がありましたねww 作業中は12プロセス位にしとくか なにはなくとも棋譜取りだけはコツコツつづけます。 一日で多分3〜4000局くらい取れるはず。 ちなみに今これ見てるけど速攻挫折しそうorz https://github.com/HerveFrezza-Buet/RLlib http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/536
537: 535 [sage] 2018/12/03(月) 20:43:08.98 ID:M6xR0Sx+ 一日回して4652局 思ったより取れてる。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/537
538: 535 [sage] 2018/12/03(月) 23:14:26.77 ID:M6xR0Sx+ 平日まとまった時間が取れなくてもちょっとづつでも進んでいかないとねぇ。 まあ、棋譜取りしてるだけでもいくらか気がまぎれるけど。 100万局目指すか。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/538
539: 535 [sage] 2018/12/08(土) 23:40:47.79 ID:BUSkl7iI RLlibやっとサンプルがコンパイルできた ここまで長かった つかリンクオプションで-lgslつけなきゃいけないとかずっぽり嵌ったわ http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/539
540: 310 [sage] 2018/12/09(日) 13:20:20.42 ID:j5g2lrg3 まったりと記譜取りしてても仕方ないので、速度アップできないか色々あがいてました。 久々にプロファイラで確認したところflip関数が30%、mobility関数が8%ほどでした。 Edaxのソース見つけたので禁断の答え合わせ。flip関数は一つ昔のタイプなので、 恐らく自分の方が早い。mobilitiy関数は少し早そうなので、考え方を導入。でも誤差 範囲の効果しかなかった。 速度計測ルーチンを作って、並列単体速度比が1.2程度しか無い事が判明。 並列処理で排他待ちしそうなところに無駄がないかチェックしたところ、ほぼ全部無駄 だった事が判明(汗。無駄箇所を全て削除したけど、誤差範囲(汗 後方枝刈(ヒューリスティックスなオーダリング)が気になるので、ノード採取してみた。 やはり2割程度速度ダウンするので、プリプロセッサで普段は切り離す事に。 その他もろもろ誤差範囲の改良を積み上げた結果、なんとなく1〜2割は速度アップ した気がしますが、並列処理の効率が悪いのと、後方枝刈の工夫が足りていないの 2か所が、これからの課題かなと思います。 あれ?なんか、ループしてmin-Max探索の高速化に目的が戻ってきている(笑) http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/540
541: 535 [sage] 2018/12/09(日) 15:16:13.02 ID:jd/NSaBy んあ?RLlibって強化学習のライブラリではあるけどalpha zeroとは直接関係ないのか? 全部無駄だった? www http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/541
542: 535 [sage] 2018/12/09(日) 20:10:15.58 ID:jd/NSaBy ふらふら浮気しまくりww 浮き草のような人生だ。 今これ見ようとしてます。 https://github.com/novoselov-ab/ai-zero http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/542
543: 535 [sage] 2018/12/09(日) 21:08:44.25 ID:jd/NSaBy g++ にfilesystemってヘッダがないorz とりあえずいまVSインストールしてる http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/543
544: 535 [sage] 2018/12/09(日) 21:40:01.98 ID:jd/NSaBy 動いたっぽい。 久しぶりに一歩進んだ気分。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/544
545: 535 [sage] 2018/12/10(月) 22:15:43.67 ID:wVpZGnnS なんか非合法手を選んでしまうみたいなんだが? うーんなんだろ? http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/545
546: 535 [sage] 2018/12/12(水) 22:24:55.51 ID:eFK7VQKv 他人のコードに頼るのやめて自力実装に走るべきだろうか? 他人のコードってなによりいまいち情熱が湧いてこない。 でも他人のコードも読めるようにならないと先はないんだろうなぁ。 我流じゃすぐ限界迎えそう。 悩ましい。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/546
547: 535 [sage] 2018/12/14(金) 00:02:46.12 ID:52LN5bpq まただよ(再起動) windows10でも変わらずか… http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/547
548: 535 [sage] 2018/12/14(金) 22:52:23.39 ID:52LN5bpq コーディングは進まないけど棋譜だけは溜まっていきます。 今、LV3 vs LV3の棋譜が61950局分溜まってます。 ファンがうるさいから夜中は回してないから日中だけなのにこのペース。 8コアはさすがといったところか。 アルファ碁Leeが16万局分の棋譜を使ったらしいからとりあえずその辺目指すか。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/548
549: 310 [sage] 2018/12/18(火) 00:10:23.05 ID:4TPQUuZQ FFOテスト(#40−#49)、色々誤差範囲の改良を加えてじわじわスピードアップ していたけど、ある日突然20%くらい悪化。元に戻せるところは戻したけど、 結局ダメで、裏で評価関数の学習し続けた結果、途中経過でたまたま探索が 悪化するところにはまってしまったと言う事かなぁと。 実際、悪化しているの#49だけで他は改善していたし、学習都度表示している FFO問題の8手読みの次の一手の合否が、14/20から11/20に悪化している。 こういうのあると、速度アップで何を信じて良いのかわからなくなるよね… http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/549
550: 310 [sage] 2018/12/18(火) 00:14:29.31 ID:4TPQUuZQ という問題もありながら、ノード数表示して、>>492さんの結果と比較すると、 ノード数に圧倒的な差が。NPSは速いけど、それ以上にノード数が多い。 枝刈の差というにはあまりに大きな差で、一桁近い差です。 これ、Iterativeな手法で生じる置換表探索の差じゃないかと思う。 自分のは置換表の動作が遅いので、あまり深い探索まで置換表を適用できず、 読切において後ろの方は置換表が無い(そもそも使用していない)事で、何度も 再探索しているからかなと。 concurrent_unordered_mapを使っているけど、自前でハッシュDB作った方が 良いかもと思い始めた。そこで速度アップすると、置換表適用深度を深くできる。 こういう時、自前で作る人はチェーンハッシュ使っているのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/550
551: 535 [sage] 2018/12/18(火) 23:29:10.84 ID:N5ttC8SJ 昔自前でハッシュ作ったことありますが素朴な実装だとさほど性能出なかった記憶がありますね。 自分の場合STLでいいじゃんみたいな結果でした。 テーブルのサイズをでかくすると意外と巡回が遅くなるみたいな。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/551
552: 535 [] 2018/12/19(水) 21:16:40.83 ID:REA/9P4B スマホでconnect4のパーフェクトソルバーをちょくちょく遊んでるのですが パターンをかなり覚えて7割くらい勝てるようになりました 囲碁とかも真の棋理が明らかになった方が 逆に人間がコンピュータに勝てるようになるかもしれませんね http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/552
553: 310 [sage] 2018/12/19(水) 22:48:18.33 ID:T2sH1fj1 ハッシュの構想し始めましたが、確かに自分が作って早くなる保証はないですね。 インターフェースを既存のstlに合わせようとか思って調べ始めたら面倒になりました。 で、色々見ていたら、そのまんま効率化できそうな使い方を見つけた。 有れば読み込んで更新、無ければ追加の方法です。 あとバケットサイズとか個数とか、その辺を調べていった方が早くなるかも。 並列処理だとtry_emplaceが使えないのね。これが使えたらきっと早くなるのに。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/553
554: 535 [sage] 2018/12/20(木) 23:32:19.98 ID:zB5frbtZ また再起動してる。。。 まあいいけど、もう諦めぎみ。 なんか仕事が急に忙しくなってますますコーディングから遠ざかってますが、 棋譜だけは地味に溜まってます。今82889局分溜まってます。 並列化ハッシュってどんななんですかね。そういえば知らない。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/554
555: 310 [sage] 2018/12/21(金) 00:04:37.10 ID:kvniGc89 いや。まぁ。バケットか中のレコードか、どちらかの単位で排他かけるだけです。 Hash関数がきちんとばらけさせてくれたら、基本的にあんまり排他で捕まる事は 無いので、それほど気にしなくてもパフォーマンスに影響ないかなぁと。実際に concurrent_unordered_mapの配列用意して、適当にハッシュでばらけさせて格納 してみたら(つまり、同じmapじゃなければ排他はおきない)、排他で遅くなっている 訳ではない事が確認できています。 と言いながら、iteratorとか考えだすと、何を並列セーフにして、何をアンセーフに するかみたいな事で悩んじゃいます。 先日の続きでmax_load_factorとかbacketサイズとかいじってみましたが、 パフォーマンスにほとんど影響がないです。というか、どうせ後で逐次的に拡張する くらいならと、backetサイズを増やしても性能は上がらないし、max_load_factorを 増やしても、性能が落ちるだけだったり…。 棋譜作成だけなら並列化レベルをもう1段上げて、4記譜同時作成とかすれば、 個々の読み切りはシングルスレッドに下げられて、ただのunordered_mapが使えるし その方が棋譜作成的には速度アップしそうな気がしてきた(汗 FFO的には別処理になるけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/555
556: 535 [sage] 2018/12/22(土) 00:08:33.74 ID:w0ekMTPt 採りためた棋譜をもとに序盤DBを更新してみましたが、 確かにうち筋は変わってる気がしますが強くなってるかはよくわからないというorz まあ序盤DBは誤魔化しみたいなものだから期待しすぎもよくないか。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/556
557: 535 [sage] 2018/12/22(土) 00:42:25.73 ID:w0ekMTPt 序盤DB更新で強くなってるか統計とってみたいけどモンテカルロが遅すぎてそれもままならないというorz やはりモンテカルロに代わる何かを実装しなければ… http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/557
558: 535 [sage] 2018/12/26(水) 00:12:59.86 ID:2Tvqp++w 棋譜USBメモリにコピーしたらめっちゃ時間かかるorz 130MBくらいなのにUSBメモリってやっぱ遅いんだな。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/558
559: 310 [sage] 2018/12/26(水) 00:20:29.39 ID:Rkthqh0l 4記譜並列作成実装してみました。ただいま本番状態でテスト中。 並列処理の基本は、なるべく上位の層で並列化すべしでした。 現状、並列探索の速度は、シングル探索の2倍程度です。 1つ1つの探索には時間が2倍かかるけど、4つ並列なので、トータルでは 半分の時間で処理できるので、実質2倍みたいな。 探索中のオーバーヘッドはほぼ無いはずで、待ち合わせロスくらいなので、 大量に一気に処理する分には、ほぼ無視できるかなと。 これやると、スレッドの数がモロに効いてくるんで…48並列くらいできたら… http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/559
560: 535 [sage] 2018/12/26(水) 00:30:44.15 ID:2Tvqp++w 310さんはintel派なんでしたっけ? AMDでもzen2はかなりコスパいいものが来ると思いますが… http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/560
561: 535 [sage] 2018/12/26(水) 00:40:17.50 ID:2Tvqp++w 試しにSSDに棋譜コピーしてみたらかなり速いw やっぱそうなのか。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/561
562: 310 [sage] 2018/12/26(水) 03:07:45.74 ID:Rkthqh0l あれれ。思ったほど速度が出ない…というか、単体の速度が半分どころか、 1/4くらいになっているイメージ…。深さが深いものほど遅いという事は、 置換表周りかなぁ。 棋譜作成する対象によって速度が結構変わるので、評価しづらい。 メモリー配置等の問題も考えないといかんような気がしてきた。 いかん。夜も更けていく…。 >>561 なんか、フラッシュメモリー自体は書き込みが遅くて、SSDだとその辺を並列 化とかキャッシュとかで回避しているらしいです。USBメモリーは、その辺真面目 にやっているもの(高価)と、そうじゃないもの(安価)で差があるけど、それでも SSDには敵わないとか。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/562
563: 535 [sage] 2018/12/26(水) 21:06:48.31 ID:2Tvqp++w 明日か明後日あたりで棋譜10万局分溜まりそう 深層学習のプログラム、組みたいなぁ でも難しいんだよなぁ http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/563
564: 310 [sage] 2018/12/27(木) 00:00:43.02 ID:APLuuq5f 悩ましい。 シングルmin-Maxの並列動作と、パラレルmin-Maxのシングル動作。 どうも速度的には大差ない感じ。 2倍くらい速度出ると思ったのに…。 スレッド数が増えたら差が出てくるのかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/564
565: 535 [sage] 2018/12/27(木) 20:54:08.52 ID:gYB4tQZF 10万局いきました。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/565
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 437 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s