【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
【オセロ,将棋】ボードゲーム Part3【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
295: 535 [sage] 2020/05/18(月) 18:55:35.95 ID:ErVFXYqV 次のアイディアもなくすっかりさぼりモード http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/295
296: 310 [sage] 2020/05/18(月) 21:57:15.59 ID:lyHQ6R5E Hash関数変更 DBのハッシュキーの効率が悪かったので、ちょっと考えてみた。 今まではshuffle_epi8でバイト単位シャッフルしていたのを、BMIのpextでビット単位の シャッフルと、rotateしたものを、xorでまとめていく方法。以前よりは、ちょっと良くなった 気がする。 何をもってよくなったかの指標が欲しくなり、ネットを探索したけど、数値指標みたいなの は見つからない。確率論の誕生日問題の反対みたいな状況なのでしばらく考えてみる。 要するに、1万人くらいの生徒がいる学校で、誰一人誕生日ではない日が何%くらい存在 するのかという類の問題です。 また、そう考えてみると、現状では直観よりかなり未使用キーが多い気がしています。 xorを繰り返してビットのオンオフをすると、いずれ立っているビット数が32個を平均と した正規分布(二項分布)になって、一様分布にならないのではないかという疑念が。 正規分布だと、中央に近いところは重複しやすく、立っているビット数が0とか64とか の出現確率が下がる事になります。xor繰り返すと正規分布に本当に近づいていくのか、 ちょっと検証してみたい。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/296
297: 310 [sage] 2020/05/18(月) 22:17:24.43 ID:lyHQ6R5E DBの件 たぶんあるだろうとネットで検索してみたら、Kyoto Cabinetなるキーバリュー型の 簡易DBライブラリがある事が判明。ほかにもLevelDBとか、何種類かあるみたい。 RDB使うまでもないけど、データ量が多いとメモリーだとリソース勿体ないみたいな。 やはりみんな考える事は一緒だなと。せっかくなので導入の方向で検討。 DBの速度問題 また、おそらく1棋譜単位でのBook更新は速度的に問題ないのですが、DAG(合流) 時に、棋譜外の合流元の方の更新がされないという問題があり、学習前に一括で 再構築しています。この一括更新が件数の関係ですごく時間がかかる事が問題です。 一応、1棋譜単位で更新した時に、DAG分もちゃんと処理するロジックを検討中です。 バグさえなければ速度問題はかなり解消できるはず。とはいえ、何回もループを回す 処理となるため、速度に自信なし。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/297
298: 310 [sage] 2020/05/18(月) 23:50:13.18 ID:lyHQ6R5E DBの件… 確定探索の時にはメモリーに確定分だけおいとくと考えていましたが、 今件数確認したらおよそ2/3は確定分として確保しなきゃならない 事に気づきました(汗 棋譜作成時はメモリーでやるしかないかも。 1棋譜更新でのDAG問題回避はやりたいかな。 Book再構築にだいたい20分くらいかかる。 DAG回避で1棋譜分更新するのが1秒として1000棋譜追加でおよそ16分。 これ以下の時間で済むならやる価値ありそう。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/298
299: 310 [sage] 2020/05/20(水) 01:15:22.70 ID:Xgj8E+2H 久々に完全読み切りでバグ発生。 ProbCutを広げながらmtd(f)している時に、どうもパス絡みで発生しているっぽい。 ProbCutによるIterative Wideningを止めたらちゃんと読み切る。 まあ、置換表絡みなんだとは思うけど、事例が少なすぎて(数か月に1回程度)、 前の記録消しちゃったので、とりあえず記録を残し、絆創膏当てて続行。 気が向いたらデバッグしてみる。可能性があるところはなんとなくわかっている つもりだけど。 Book更新時のDAG回避は、かなり悩ましい。というか頭がこんがらがる。 未使用Hashの期待値計算も頭が未だにこんがらがってます。。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/299
300: 名前は開発中のものです。 [sage] 2020/05/20(水) 03:14:41.24 ID:kE3dJxL+ お姉さん問題で有名な、北大の湊教授のZDD を使えないの? 本も出てる http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/300
301: 535 [sage] 2020/05/20(水) 16:25:53.99 ID:BUng/tdF katagoを使った9路囲碁の巨大Book作成、やってみようかなぁ。 難しそうだけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/301
302: 310 [sage] 2020/05/20(水) 17:28:20.84 ID:Xgj8E+2H Hash関数の効率判断基準できました。 同じキーにデータが8つくらい入っているようなものもあり、それが適正かどうか 判断できなくてゴチャゴチャしていましたが、昨夜しれっと書いたように未使用キー の数の期待値に着目したら簡単でした。 キーサイズと、データ件数からExcelなどで簡単に計算できます。 3件程度調べてみましたが、理想的な一様ランダム値で生じる未使用キー数の 期待値との差は0.1%未満で、このHash関数も一様ランダム化するものと言って 良いレベルでした。 逆に言えば、自分の典型的な使用方法だと20〜30%のキーが未使用になる という事のようです。これはこれで…。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/302
303: 535 [sage] 2020/05/20(水) 18:41:29.84 ID:BUng/tdF やっぱライフゲーム囲碁やりてぇなぁ。 ウーム悩ましい。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/303
304: 310 [sage] 2020/05/21(木) 00:46:28.65 ID:ahADKaci Hash値、1件2件…と期待値出そうと思ったら、なんとなく昔の記憶が戻ってきて、 0件の時は不要だけど、こちらではPとかCとかが必要になるような気がしてきた。 確率の勉強するかな。 ZDDちらっと見てみたけど、ちょっと目的と違うような感じがしている。 本買ってみるけど。 脱線はこれくらいにして、DAG考慮したBook更新に戻ろう。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/304
305: 535 [sage] 2020/05/22(金) 19:57:06.06 ID:khQY98T/ 自己流でライフゲーム囲碁に取り組むべきか。 なぜalpha zeroがうまく行かなかったのかを調査すべきか。 まあしばらくさぼりモードだけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/305
306: 名前は開発中のものです。 [age] 2020/05/26(火) 02:09:09.91 ID:dgMv5Qb/ ・19路盤での定石の発見とかを可視化して、強さを判断する ・まず5〜9路盤で最強目指す 俺なら後者を選択する バグが出なくなったら前者に取り組む http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/306
307: 535 [sage] 2020/05/26(火) 18:51:39.27 ID:QRHJU3eS >>306 実際に自分で手を動かす人なら歓迎するぞ? 口先だけならいらない。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/307
308: 310 [sage] 2020/05/29(金) 00:49:53.42 ID:wYh6jGrP DAG時のBook更新の件、めっちゃ悩み中。 普通にやったら1件更新に14秒とかかかって使い物にならない。 逆引きDBを作ろうかと思うのだけど、結構なサイズになるので、それこそメモリーに 置きたくない。形としてはunordered_multimapになるんだけど、Kyoto Cabinetが重複 キーを許すのか英文読まなきゃならないので止まってる。 そうこうするうちに完全読み切りのバグがまた発生して、事例が3件になったので、 調査開始。2か所間違いを発見。一つ目はケアレスミス。 2つ目は最善手の直後にパスが来るケース。置換表登録はパス後、オーダリングなどで 読む時はパス前の盤面になっていた。これで値が狂う理由がいまいち理解できないの だけど、修正したら正しい答えが出るようになった。パスの処理は本当に鬼門。 たぶんバグは取れたけど、50%くらい速度低下。どこかにまだバグがありそう。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/308
309: 310 [sage] 2020/05/29(金) 00:56:37.17 ID:wYh6jGrP 速度低下は50%どころではなかった…150〜200%だorz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/309
310: 310 [sage] 2020/05/29(金) 20:25:58.86 ID:wYh6jGrP orderingの中でパス処理をしていたのでmobility関数を呼びまくっているのが遅い原因 ではないかと思い、パスの処理の仕方を変えて、パスも1手とするように変更したところ、 15〜20%の速度低下まで戻りました。他にも、つられてバグが発覚したので修正。 かなりのレアケースでしか発生しないバグですが、今まで自信満々で完全読み切りは 間違っていないと思っていましたが、なんか自信なくなった。 中盤探索も同様に修正したら、浅い探索の読み筋が変わったみたいで、少しは精度が 良くなるのかなぁと期待しています。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/310
311: 535 [sage] 2020/05/30(土) 18:11:38.04 ID:TznaFVwY 以前もちょろっと触れたけど囲碁ディープラーニングプログラミングという本の12章にあるactor-critic法というのがまた気になり始めた。 自分なりに解釈して実装してみようかな。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/311
312: 310 [sage] 2020/05/31(日) 10:02:44.30 ID:/CnVYfEH またエラーが… なんとなく記憶をたどっていくと、初段で並列処理してMap-Reduceすると、βカットの関係で 評価値は合っていても、ordering次第で間違った手を返す事を思い出しました。 で、たまたま回避策となっていた処理を>>201で外してしまったのではないかと。 並列探索だと本質的に回避できない気がするので、初段を順次処理に変更。残り空きマス 26での平均処理時間。一時は20〜25秒くらいまで来ていたのが、30秒程度に悪化orz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/312
313: 535 [] 2020/06/04(木) 21:00:10.17 ID:asDXFlye 藤井センセw http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/313
314: 310 [sage] 2020/06/05(金) 22:28:59.18 ID:TnykYlJh 藤井7段凄かったね。今年中に8段行っちゃうんじゃないかと思った。 エラーの原因を冷静に見直したところ、どこをどう変えたか覚えていないレベルの ちょっとした修正を加えたところからドツボって、修正するたびに更にバグを仕込んで いたような。結局、元々のプログラムに戻して、速度も復旧しました。むむむ。 こういうのがあるからから、終盤探索に手を入れたくないorz Bookの遡り修正ですが…行き詰っています。 Kyoto Cabinetはやはり単一キーしか扱えず。 メモリー上に逆引きDBを作ると、たぶんBookよりサイズが大きくなるためメモリーにおけない。 しばし悩み中。 息抜きで、棋譜作成のロジックをちょこっと修正。 同じような評価値が並んでいたり、最善手より評価値が良くなる分岐について、今までは 見つけて気になったところだけ手で追加していましたが、適度なペースで見つけて自動的 に追加する様にしました。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/314
315: 535 [sage] 2020/06/15(月) 22:53:27.40 ID:SQc2KJ2b 長期サボりモードに突入 なんか本で読んだけどモンテカルロ木探索の訪問回数をdnnの教師データとして使うようなやり方もあるらしい http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/315
316: 310 [sage] 2020/06/15(月) 23:12:30.86 ID:r41RfhWg DB化、未だに方法が見いだせずストップしてます。 パブリックドロー臭いのにそうじゃない筋を手動で修正して、20件ほどもとに戻った。 その間に、棋譜が100万件突破しました。 が、Book眺めていると、まだまだ間違い多い。 Zebraも結構間違えているけどね。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/316
317: 535 [sage] 2020/06/17(水) 21:35:01.75 ID:nCYZMpcd 2020/05/11 グロービス、囲碁AI「GLOBIS-AQZ」のプログラムをオープンソース化 プロジェクトの集大成としてソースコードを公開 https://www.globis.co.jp/news/release/20200511_globis.html 知らなかった。 ちょっと見てみようかなぁ http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/317
318: 535 [sage] 2020/06/17(水) 23:13:34.58 ID:nCYZMpcd なお、公開しているソースコードは対局・解析のみの実装で、学習に関する機能は含まれていません。 駄目じゃんorz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/318
319: 535 [sage] 2020/06/18(木) 19:28:02.18 ID:i+asT3Px ライフゲーム囲碁でモンテカルロ木探索の訪問回数をdnnの教師データにするのやり始めました。 今教師データを収集してるところです。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/319
320: 535 [sage] 2020/06/19(金) 19:58:32.47 ID:Y5lRzoqU 教師データを学習させてみましたがあんまり強くなりませんでした。orz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/320
321: 535 [sage] 2020/06/19(金) 20:44:26.89 ID:Y5lRzoqU そもそもモンテカルロ木探索を教師にしてる時点で、モンテカルロ木探索の強さを大きくは超えられないわけで。 根本的に駄目な気はしてきたorz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/321
322: 535 [sage] 2020/06/19(金) 23:03:06.10 ID:Y5lRzoqU 結局、現状、良い教師データがないと厳しい。 アルファゼロ方式の自己対局で強くなるのは1000年かかりそうだし。 むうぅ http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/322
323: 535 [sage] 2020/06/22(月) 19:37:12.00 ID:q97LdCHr katago最後のリリース https://github.com/lightvector/KataGo/releases http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/323
324: 535 [sage] 2020/06/28(日) 20:46:44.93 ID:7SoJ+c30 藤井センセw 棋聖戦2勝目か http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/324
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 312 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s