[過去ログ]
【オセロ,将棋】ボードゲーム Part2【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム Part2【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
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
566: 535 [sage] 2018/12/27(木) 21:18:27.23 ID:gYB4tQZF 多分俺が世界で一番囲連星LV3の計算を回した人だろうなw http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/566
567: 310 [sage] 2018/12/27(木) 22:00:15.50 ID:APLuuq5f 色々あがいた挙句、そこそこ時間がかかる26手空きを、それぞれで解いてみた。 並列探索で6分。シングル単独動作で12分。シングル4並列動作で18分。 やはり、シングルも4並列する事でなにがしかのオーバーヘッドがあるようです。 単純計算だと並列探索6分を4個で24分に対して、シングル18分で4つ解ける 事から33%の速度アップが見込める事になるけど、体感そこまでの効果が感じ られないというか、時間がかかる問題では更に差が大きくなっていて、そいつらに 足を引っ張られている印象。 そのうえで、裏でゴソゴソやりながら計算させる時に色々弊害があるので、 CPUの増強を決断するまで放置しようかと思います。 色々あがいた結果か、並列探索ですこーし速度アップした感じ。 10%行くかいかないか。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/567
568: 535 [sage] 2018/12/27(木) 22:05:17.88 ID:gYB4tQZF よくわからんがハイパースレッディングって単純に性能2倍になるわけではないということではなくて? http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/568
569: 310 [sage] 2018/12/27(木) 23:06:53.59 ID:APLuuq5f もちろんそうなんだけど、排他待ちを要するデータも、待ち合わせロスも 無いので、もうちょっと性能出るんじゃないかと思っていたのです。 あと、うまく説明できないけど、ノード数が多い探索は、ノード数比以上に 時間がかかっている気がしています。まだ感覚の話ですが。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/569
570: 535 [sage] 2018/12/28(金) 20:37:08.10 ID:HWMCAOZD LV3は強いんだけど詰み状態から詰みを逃してる棋譜が散見される。 直せるもんなら直したほうがいいんだろうけどかなり大変だろうな http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/570
571: 310 [sage] 2018/12/29(土) 09:40:46.33 ID:hnomLa8j んー。シングル並列動作で6時間かかっても解けずに諦めた盤面とを見つけて、 パラレルで解いたら1時間40分だった。空きマス26だと通常1分程度なんだけど、 時々こういう時間がかかる盤面がある。今までテストが面倒なので、10分以内に 終わりそうな奴でテストしていたけど、もしかしたら探索ノードが多い奴ほど、 シングル並列動作での速度低下が大きいのかも知れない。 時間がかかる奴ほど、シングル・パラレル比が悪化するなら、今考えている大体 3倍程度ってのは成り立たなくなって、もっと悪い事になる。それなら感覚的に 合致する。普通に流れている時には、シングル並列で高速化できそうな手ごたえ があるんだけど、時間がかかる盤面が来ると急速に逼塞していって、なかなか 回復しないという感じ。 パフォーマンスモニタにらみながら、unordered_mapのメモリアロケーションの方法 を想像してみた。初期確保件数指定(倍々で自動追加される)してみたけど、溢れて もいないのにダラダラとメモリー使用量が増えていく。もしかしたらOSにメモリーを 貰いに行く動作が排他待ちになっているのかも知れない。どうやって検証しよう。 やっぱ自前置換表作るしかないのかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/571
572: 310 [sage] 2019/01/01(火) 10:13:37.88 ID:y24geaJt あけおめです。 ヒープをダラダラと確保するのが気になったので、色々いじりました。 ordering用のvectorを、配列にしてスタックに。ついでにクラス化してメンテ性アップ。 少しだけ速度アップした気がする。 自前ハッシュテーブル型の置換表を作ってみた。 最初に大きく領域確保して、溢れた時以外領域確保しないようにした。 基本、余計な機能は実装していないので、処理は軽いはずなんだけど… 極ほんの少しだけ速度ダウンした感じ… 記譜作成はunordered_map版で実行しながら、改良をしてみたいと思います。 とはいえ、ソース的にはあんまり改良の余地がないんだよなぁ。 速度がそん色ないところまで行けたら、シングル版の並列での速度低下が メモリー確保が原因か検証できるかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/572
573: 310 [sage] 2019/01/05(土) 09:07:42.68 ID:KwyVlHZX チェーン型でハッシュを組んでましたが、テーブルがあふれると結局ダラダラと メモリー獲得し始めるので、オープンアドレス型に変更して、まとめて領域を追加 するようにしました。 この辺、もう趣味の世界ですね。 何をしても、速度は上がりも下がりもしない(汗 やっぱり探索ノードを減らす工夫が重要ですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/573
574: 535 [sage] 2019/01/05(土) 21:26:02.72 ID:TXR2vHHf 自己対戦のみで強くなるアルファゼロは理想ですが実装が難しそうなので せっかく棋譜も集めてるので教師あり学習をやってみようかと思案中。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/574
575: 535 [sage] 2019/01/06(日) 00:55:45.70 ID:6f3tqt5A とりあえず、棋譜データからmin-max探索して黒有利の局面か白有利の局面かの2択を学習させようかな。とか思ってます。 そろそろ寝るか。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/575
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 427 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s