【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
【オセロ,将棋】ボードゲーム Part3【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
176: 310 [sage] 2020/03/12(木) 00:39:06.73 ID:CNvjXxHZ 情報ありがとうございます。 ちと調べてみます。 前みたいにソースもデータも丸ごと飛んだら困るので。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/176
177: 名前は開発中のものです。 [sage] 2020/03/12(木) 10:02:43.61 ID:c8m7GwVr GitHubの前にGitを使おう 使えるようになってからでいいよ、GitHubは http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/177
178: 535 [sage] 2020/03/12(木) 19:58:09.43 ID:so1xRnaL ありゃ、 黒番111勝 29敗 白番105勝 33敗 おもったほどじゃなかったorz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/178
179: 535 [sage] 2020/03/13(金) 22:42:10.14 ID:vmr0Tb8m 業を煮やしてヒューリスティックを実装した。 さてどうなるか。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/179
180: 535 [sage] 2020/03/13(金) 23:28:51.32 ID:vmr0Tb8m ちなみにヒューリスティックの内容は石がぶつかってないときは相手の石からも自分の石からも一間以上離して打つというもの。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/180
181: 535 [sage] 2020/03/14(土) 18:49:30.64 ID:z7EfFQTc くそーうまく行かねー http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/181
182: 535 [sage] 2020/03/14(土) 23:30:28.50 ID:z7EfFQTc あーなんか気が抜けちゃったな 次のアイディアもないし http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/182
183: 310 [sage] 2020/03/16(月) 00:36:34.84 ID:FpZgJFeI しばらくは棋譜の遡りを優先しようと思っていたのですが、やっぱり暇ができると どうしても何かやりたくなってしまい、結局序盤中盤の貪欲法絡みのブラッシュアップ をしてしまい、またまた遡り対象の棋譜を増殖させています(汗。 DLやろうか、将棋AIの勉強しようかと思い立ち、将棋AIの本などを買い込んでつらつら 眺めていたら、実現確率探索なるものを見つけてしまいました。遷移確率は評価値の Softmaxで作れる気がしています。現在、前方の打ち切りはProbCutでやっていますが、 途中の1つの盤面の評価値が酷い状態だと、その時点で問答無用でカット対象となって しまう懸念があります。その点、実現確率探索の方が多少ロバストなのかなぁと。逆に、 手が広い局面では探索深さが浅くなってしまう悪影響も想定できます。 とはいえ、中盤探索のロジック自体は多少の改良で済むのですが、置換表使って中盤 探索の結果を終盤探索のオーダリングに使うところは結構修正が必要な気がします。 最悪反復深化をまるっとあきらめなきゃならないかも知れません。あと、なぜか評価値 に+1〜2程度の手番加算がついたみたいになっている事から、探索深さを揃えられ ないと、そっちからも悪影響が出る可能性があります。 かなり大幅な変更と、テストが必要なので、ちょっと躊躇しています。 プロジェクト全体コピーして別プロジェクト建てるレベルです。むむむ。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/183
184: 535 [sage] 2020/03/17(火) 21:33:11.60 ID:7xvLqO5q DNN評価値の上位7手を初手から全展開するというのをやろうとしたのですが、意外とDNNの計算が重たいですね。 すぐにメモリ溢れるだろうとみていたのですが、牛歩のような計算の進み具合で、溢れるまでかなり時間かかりそうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/184
185: 535 [sage] 2020/03/17(火) 22:41:35.63 ID:7xvLqO5q 60万局面展開するのに33分かかる。 遅い。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/185
186: 535 [sage] 2020/03/17(火) 22:44:36.96 ID:7xvLqO5q DNN使わないと100万局面展開するのに4秒www うーむ http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/186
187: 310 [sage] 2020/03/18(水) 00:47:20.72 ID:Wk4mfxEa 結局、実現確率探索に取り掛かってしまいました(汗 新規ソリューション作ってコピペ始めたところで、いずれ評価関数を整数化したかった 事を思い出して、あちこち修正開始となりました。 一応、普通のDepthバージョンと同じ深さになるように調整して、速度比較してみるつもり。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/187
188: 535 [sage] 2020/03/18(水) 20:17:58.60 ID:4pnoWutQ DNNの評価値上位7手を全展開してポスグレに詰めるのを実行に移すべきかどうか迷ってる。 一応そのつもりで8TBのHDDもポスグレも用意したんだけど、あんまりいいアイディアに思えなくなってきたというか。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/188
189: 310 [sage] 2020/03/18(水) 23:45:39.14 ID:Wk4mfxEa 実現確率探索の中盤探索、プロトタイプのαβ版を作って癖を見ています。 実現確率は、評価値のSoftmaxで各要素を足して1.0になるように正規化するより、 最大値が1.0になるようにした方が使いやすいです。というのも、最大値をひたすら 追った枝の終了条件が綺麗に決まって最大深さを指定できるようになるからです。 1.0そのままだと終わらないので、例えば0.5にしておくと、深さnにしたい時は1÷2^n が閾値になります。0.1の時は1÷10^nです。まあ、なんでもよいという事です。 後は各要素の差のつき具合を決める定数を調整すると、評価値が悪い手について、 どこまで探索の深さを確保するのかが決まります。ここが職人的作業なのがネック。 絞ると爆速。∞だと、ただの全幅探索になります。 速度は結構出てるのですが、調整ミスると全くダメみたいな様子が見え隠れしていて、 本当に常に使えるのか、まだ心配です。おそらくProbCutでも同じような問題がおきて いるんじゃないかと思いますが。 次は置換表ですが、合流が発生した時の実現確率がルートによって違うので、その 時の置換表の評価値を使って良いのか悩みどころです。また、上述のように最大探索 深さを調整できるので、反復進化的に閾値を下げて行く事が可能性です。そうすると、 反復深化的に使いたくなるのが人情ですが、オーダリングにどのように反映するのが 良いのか。これも悩みどころだったりします。 要するにあと1週間くらいは遊べそうです(笑) http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/189
190: 310 [sage] 2020/03/18(水) 23:56:29.62 ID:Wk4mfxEa あと、裏で棋譜作成進行中ですが、評価関数の学習時に、既存データに対する エラーが増加を始めて、過学習の傾向を示しているのですが、例えばFFOの盤面 のように教師データ中に現れない盤面に対するエラーは減少しています。 状況的には、極端な石差がついている盤面の評価値が、石差ほどの評価値になって おらず、じわじわと汎化が進んでいる一方、±0近傍の盤面は既に多いため、過学習 気味になっているのかなぁと推測しています。 とはいえ、非常に気持ち悪いです。 というわけで、ちょっと工夫をして石差が大きい棋譜を優先的に遡りチェック対象にしたり、 新規の自己対局するときに石差が大きくなる(悪い)進行も作るようにする事で、ほんの 少しですが、石差が大きい棋譜が増えるようにしてみました。まあ気休めです。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/190
191: 310 [sage] 2020/03/19(木) 23:17:05.43 ID:opMYHtHc 実現確率探索の中盤探索ができました。置換表と並列処理のところまでです。 反復深化→読み切り処理までです。置換表というか、オーダリング処理を結構修正。 反復深化まではそこそこ機能していますが、置換表経由で読み切り処理の高速化が 性能が出ません。置換表経由で、中盤探索の結果を用いて終盤探索のオーダリング をするところで、置換表データの不足があったり、オーダリングの間違いが生じて、 無駄な探索をしているように思います。 とすると、これは読み切り処理を前提とすると結構致命的な問題な気がします。 もちろん、まだバグや仕様ミスの可能性もありますが。というわけで、Solver関係には 使えない可能性が出てきました。 また、評価関数で実現確率を導いているので、浅い段階での間違いに対して、探索 対象をロックしてしまいやすく、深く探索していっても間違いがなかなか改まらない 傾向が見受けられます。 まあ、仮にダメでも、新バージョンにする過程で、これまでペンディングしていた細かい 修正ができますし、既存タイプの中盤探索も作ってあるので、このまま進めてみます。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/191
192: 535 [sage] 2020/03/20(金) 23:24:37.61 ID:7lhYYUd2 DNNの上位7手を幅優先に展開していき200万局面を上限にストップ 展開したものをminmaxで評価値を再計算。 その結果をDNNに学習させようとしています。 ポスグレの出番はいまのところないw http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/192
193: 310 [sage] 2020/03/21(土) 02:31:57.66 ID:XYOBIhf/ 実現確率探索で、探索幅広げる方向の反復を試してみましたが効果はあまりなし。 単体で使用するとかなり早いのですが、置換表使った探索との相性がいまいち。 とりあえずSolverまで作って速度計測していますが、既存の反復深化より遅く、反復 深化無しよりは若干早いという感じで、単体の速度を利用して幅を思いっきり広げて みましたが、こちらは逆に遅くなるという体たらく。 置換表周りでどこか間違いがあるのかなぁという気もしていますが、今のところ不明。 Solver周りでの活用は一旦置いといて、自己対局で使ってみる事にします。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/193
194: 535 [sage] 2020/03/21(土) 17:30:57.63 ID:cG9Ai74P メモリ欲しい… 256GBくらい http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/194
195: 535 [sage] 2020/03/21(土) 18:19:45.50 ID:cG9Ai74P えー駄目だ負けるorz orz orz なんで駄目なの??? http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/195
196: 535 [sage] 2020/03/21(土) 18:23:26.64 ID:cG9Ai74P 今回のはかなり期待してたのにorz orz orz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/196
197: 535 [sage] 2020/03/22(日) 12:02:13.16 ID:upkGajEt 棋譜見ると素のモンテカルロの動きが思っているよりずっといい。 なんでだろう? http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/197
198: 310 [sage] 2020/03/28(土) 00:29:51.53 ID:vtZj/mQ8 実現確率探索というか、ソース全体見直し版が、だいたいできました。 まだデバッグ全部済んだわけではありませんが、後はログメッセージなんかの 細かいところくらいの修正かなと。 実現確率探索自体は、棋譜作成にフックを入れる感じでの使用にとどめていますが、 しばらく動かして、結果がよさそうなら切り替えようかなと思います。というか、対戦版 作るときには、中盤探索は実現確率探索で行くと思います。 で、実現確率探索と呼んでいますが、実際のところは違います。本来の実現確率は 「プロ棋譜など別途棋譜集から、よく出てくる手を回帰分析で確率化したもの」で、 よく出る手については深く探索しましょうという内容です。自分の奴は、確率を1手読み の評価値から生成しています。1手読みにした理由は、差分計算で速く計算できる からです。というわけで、本来は別の名前にした方が良いのですが、ネーミングセンス が無いので放置です(笑) 他にも、本来と違う形で実装してるけど、放置してある名前が結構ありますorz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/198
199: 535 [sage] 2020/03/28(土) 21:52:44.02 ID:XqE/6uS7 囲碁AIでKatagoという凄く強いAIがあるのですがライフゲーム囲碁に流用できないかと思い始めた。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/199
200: 310 [sage] 2020/03/28(土) 22:16:21.29 ID:vtZj/mQ8 見直し版のチェックを本番やりながら進めてます。 今のところ、学習の速度が30%程度ダウンしたものの、終盤探索の速度が 30〜50%高速化している感じ。どちらも原因不明。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/200
201: 310 [sage] 2020/03/31(火) 00:30:27.16 ID:1mhY2vrp 見直し版で、遡りチェックで無駄な処理を見つけて直しました。 更に速度アップして、トータル50%強の速度アップとなりました。 まだ探索自体の速度は上がってませんが、まだ無駄があったとは。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/201
202: 310 [sage] 2020/04/01(水) 23:58:19.45 ID:SRR0rDGm 急に探索自体の速度アップを思い立ちまして、いくつか実行。 ヒープ領域に作っていたオーダリング処理をスタック領域に来るように修正。 置換表のHash関数の修正で、置換表のキーエントリーの偏りを減らす。 これらにより更に高速化して、トータルで前バージョンの倍速近くなった感じです。 残り26手探索処理が1時間に90件弱→160件くらい。 あと、もうちょっとやってみたい事があります。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/202
203: 名前は開発中のものです。 [sage] 2020/04/02(木) 03:15:04.40 ID:iWlfdZP3 katago聞いたことない alpha zeroは使わないの? http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/203
204: 535 [sage] 2020/04/02(木) 19:14:11.82 ID:9cAiWeM1 deep mindのオリジナルのalpha zeroは公開されてないはず。 github行くとクローンがいくつかあるけど。 katagoはKGSってネット碁会所で最高段位9dで打ってる。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/204
205: 535 [sage] 2020/04/02(木) 20:00:58.76 ID:9cAiWeM1 でも当たり前だけどkatagoも相当高度なプログラムなので流用するのはかなり難しそう。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/205
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 431 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s