【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
上下前次1-新
262: 535 [] 2020/04/27(月) 21:17:34.75 ID:bKact/KJ(2/3) AAS
あーパソコン複数台ほしいなぁ
でも置き場所がないからなぁ
となるとAWSとかGCPとかかなぁ
でもあれ、金がやばいらしいからなぁ
263: 535 [sage] 2020/04/27(月) 21:37:15.24 ID:bKact/KJ(3/3) AAS
囲連星もやりたいけど、ライフゲーム囲碁もやりたいんだよなぁ。
>>208のやつはパス実装するのが難しいからなんか別の奴探してこようかなぁ。
ルール的にはオセロのクローンから移植すればライフゲーム囲碁移植しやすいはず。
264: 535 [sage] 2020/04/28(火) 19:29:54.42 ID:VfQhex7P(1/2) AAS
打ち筋は確かに改善されてるような気がするんだよなぁ。
ただ、あまりに上達が遅い。
265: 535 [sage] 2020/04/28(火) 20:06:48.30 ID:VfQhex7P(2/2) AAS
何で五目並べはあんなうまく行くんだろう?
やっぱ複雑度が全然違うのだろうか?
266: 535 [sage] 2020/04/30(木) 18:36:10.38 ID:6uxMdcsM(1) AAS
どんなに早くてもleela zeroが強くなるのに必要だったぐらいの時間はかかるのかもしれないなこれ…
267: 535 [sage] 2020/05/02(土) 20:07:05.00 ID:ppsdwWbz(1) AAS
あかん、超長期戦になりそうorz
マシンパワーがあと10000倍あればorz
268: 535 [sage] 2020/05/03(日) 19:21:36.29 ID:6By0oz27(1/4) AAS
らちが明かないので19路囲連星はいったん止めて9路囲連星に移行します。
でもいつかは戻ってきたい。
I shall return.
269: 535 [sage] 2020/05/03(日) 22:42:03.10 ID:6By0oz27(2/4) AAS
お、9路囲連星は結構強くなるかも。
早くもランダムではない何かを感じる。
270: 535 [sage] 2020/05/03(日) 23:03:31.98 ID:6By0oz27(3/4) AAS
もしかしたら19路囲連星は層の数が足りなかったってことなのかも。
9路囲連星は6層でやってます。
5目並べが4層でうまく行ったから7目並べの囲連星なら6層かな?と思ったのですが当たりだったかも。
271: 535 [sage] 2020/05/03(日) 23:32:54.33 ID:6By0oz27(4/4) AAS
これは…
明らかに知性がある…
272: 535 [sage] 2020/05/05(火) 17:29:46.91 ID:3PlXxhBg(1) AAS
おっとバグがあったorz
でもこれで行けるはず。
273: 535 [sage] 2020/05/06(水) 10:40:38.68 ID:Oyc/dCE2(1/2) AAS
うおお、公式ボットに勝った〜
凄い!!
274: 535 [sage] 2020/05/06(水) 15:40:57.35 ID:Oyc/dCE2(2/2) AAS
しかしalpha zero てこの手のゲームの最終解答にちかいな。
単に移植しただけで既存ボットに勝つとは。
275: 535 [sage] 2020/05/07(木) 19:53:48.31 ID:LRbJj7fv(1/8) AAS
学習が進んだので既存ボットと対戦してみましたが、大幅に負け越しますね。。。
過学習?
276: 535 [sage] 2020/05/07(木) 20:07:16.58 ID:LRbJj7fv(2/8) AAS
うーん、わからん。層数をさらに増やして学習させてみようかな…
囲碁AIにならって20層くらい一気にいってみるかな…
277: 535 [sage] 2020/05/07(木) 20:19:50.05 ID:LRbJj7fv(3/8) AAS
チャネル数 384
層数 20
の超ビッグネットワークで再挑戦します。
278: 535 [sage] 2020/05/07(木) 20:59:06.64 ID:LRbJj7fv(4/8) AAS
ん、CPU使用率が上がらない?
ネットワークでかすぎたか?
279: 535 [sage] 2020/05/07(木) 21:03:55.67 ID:LRbJj7fv(5/8) AAS
GPUのメモリが溢れてるっぽいorz
しょうがない、小さくするか。
280: 535 [sage] 2020/05/07(木) 21:25:17.52 ID:LRbJj7fv(6/8) AAS
GTX 1080 でもメモリ足らんとかorz
気安くいってくれるぜ
281: 535 [sage] 2020/05/07(木) 21:27:42.59 ID:LRbJj7fv(7/8) AAS
バッチサイズもでかくしたのまずかったっぽい
282: 535 [sage] 2020/05/07(木) 22:52:16.50 ID:LRbJj7fv(8/8) AAS
うーん、もしかしたらCPUはあんま必要なくてGPUに金使ったほうがいいのかもしれないな。これは。
283: 535 [sage] 2020/05/08(金) 20:21:50.28 ID:vYlFFPu/(1) AAS
層増やしたけどあんまうまく行ってないのかなぁ。
それともまだまだ学習が足りないだけなのか…
284: 310 [sage] 2020/05/09(土) 00:56:41.26 ID:tOwbW1Pp(1) AAS
棋譜作成触りすぎるとなかなかはかどらなくなるので、しばし回しっぱなし。
そろそろBookが巨大化しすぎているので、メモリーからSDDに移せないか検討中。
concurrent_unordered_mapを自作した経緯があるので、同じような感じでランダム
アクセスなDB化をしてます。確定分は探索で使うのでメモリーにおいて、速度を
必要としないアクセスをDBにしようかなと。
巨大Bookの作成処理の類を並列処理にしているので、何とか並列にできないかと
色々やっていますが、色々と罠がある。複数プロセスからの並列更新はあきらめた
けど、単一プロセスからの並列更新でロック範囲がまだいまいち。
専門書買ってコード見て勉強した方が早いんだろうけど、まあ、しばらく楽しみます。
285: 535 [sage] 2020/05/12(火) 21:24:42.90 ID:autiDqQV(1/2) AAS
1ゲームすら勝てない…
何が悪いんだ?
286: 535 [sage] 2020/05/12(火) 21:56:06.70 ID:autiDqQV(2/2) AAS
いままで新旧のAIを比較するとき10戦中6勝以上でAI更新にしてたのを50戦中30勝以上で更新にしてみます。
もしかしたら試行回数が少なすぎて弱くなっていてもAI更新してたかもしれないので。
287: 310 [sage] 2020/05/12(火) 23:05:51.81 ID:AcB4a3UT(1) AAS
うぬぬ。DB化は並列諦めてみたけど、やはり更新が遅すぎる。
もうちょっと工夫してみるけど。
288: 535 [sage] 2020/05/14(木) 19:16:54.03 ID:7UgQPtyV(1) AAS
ただ待ってるだけってのもつらいな。
結果も出ないし。
289: 535 [sage] 2020/05/15(金) 18:59:37.53 ID:55GCUZ0E(1/3) AAS
心が折れそうorz
290: 535 [sage] 2020/05/15(金) 19:20:34.85 ID:55GCUZ0E(2/3) AAS
自己対局みてると結構強そうに見えるだけどな。
公式AIと対局すると勝てねんだよな。
291: 535 [sage] 2020/05/15(金) 19:53:09.72 ID:55GCUZ0E(3/3) AAS
ギブアップです。
何か次のこと考えよう。
292(1): 名前は開発中のものです。 [age] 2020/05/16(土) 11:39:42.73 ID:n0PK2vlL(1) AAS
AlphaGoは計算資源をコスト度外視で使って1000年分対局してるから……
293: 名前は開発中のものです。 [] 2020/05/16(土) 15:42:40.24 ID:G8tru4l4(1) AAS
IT掲示板群 http://x0000.net/forum.aspx?id=15
学術の巨大掲示板群 - アルファ・ラボ http://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
http://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
http://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
http://x0000.net/topic.aspx?id=3709-0
4Dエンジン
http://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
http://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
http://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
http://x0000.net/topic.aspx?id=3675-0
294: 535 [sage] 2020/05/16(土) 18:10:49.03 ID:BsSPHqoG(1) AAS
>>292
/ ̄⌒⌒ヽ
| / ̄ ̄ ̄ヽ
| | / \|
.| | ´ ` |
(6 つ / ちくしょう・・・
.| / /⌒⌒ヽ
| \  ̄ ノ
| / ̄
,冖 ,、 冖 / // ,. - ―- 、
`,-. -、'ヽ' └ァ --'、 〔/ / _/ ヽ
ヽ_'_ノ)_ノ `r=_ノ / / ,.フ^ー- j
,冖 ,、 ,へ / ,ィ / \
`,-. -、'ヽ' く <´ 7_// / _/^ 、`、
ヽ_'_ノ)_ノ \> / / / _ 、,.;j ヽ|
n 「 | /. | -'''" =-{_ヽ{
ll || .,ヘ / ,-、 | ,r' / ̄‐-..,フ!
ll ヽ二ノ__ { / ハ `l/ i' i _ `ヽ
l| _| ゙っ  ̄フ.rソ i' l r' ,..二''ァ ,ノ
|l (,・_,゙> / { ' ノ l /''"´ 〈/ /
ll ,冖 ,、 > >-' ;: | ! i {
l| `,-. -、'ヽ' \ l l ;. l | | !
|l ヽ_'_ノ)_ノ トー-. !. ; |. | ,. -、,...、| :l
ll ,冖 ,、 |\/ l ; l i i | l
ll `,-. -、'ヽ' iヾ l l ;: l | { j {
|l ヽ_'_ノ)_ノ { |. ゝ ;:i' `ー‐-' }
. n. n. n l | ::. \ ヽ、__ ノ
|! |! |! l | ::. `ー-`ニ''ブ
o o o ,へ l :. |
295: 535 [sage] 2020/05/18(月) 18:55:35.95 ID:ErVFXYqV(1) AAS
次のアイディアもなくすっかりさぼりモード
296: 310 [sage] 2020/05/18(月) 21:57:15.59 ID:lyHQ6R5E(1/3) AAS
Hash関数変更
DBのハッシュキーの効率が悪かったので、ちょっと考えてみた。
今まではshuffle_epi8でバイト単位シャッフルしていたのを、BMIのpextでビット単位の
シャッフルと、rotateしたものを、xorでまとめていく方法。以前よりは、ちょっと良くなった
気がする。
何をもってよくなったかの指標が欲しくなり、ネットを探索したけど、数値指標みたいなの
は見つからない。確率論の誕生日問題の反対みたいな状況なのでしばらく考えてみる。
要するに、1万人くらいの生徒がいる学校で、誰一人誕生日ではない日が何%くらい存在
するのかという類の問題です。
また、そう考えてみると、現状では直観よりかなり未使用キーが多い気がしています。
xorを繰り返してビットのオンオフをすると、いずれ立っているビット数が32個を平均と
した正規分布(二項分布)になって、一様分布にならないのではないかという疑念が。
正規分布だと、中央に近いところは重複しやすく、立っているビット数が0とか64とか
の出現確率が下がる事になります。xor繰り返すと正規分布に本当に近づいていくのか、
ちょっと検証してみたい。
297: 310 [sage] 2020/05/18(月) 22:17:24.43 ID:lyHQ6R5E(2/3) AAS
DBの件
たぶんあるだろうとネットで検索してみたら、Kyoto Cabinetなるキーバリュー型の
簡易DBライブラリがある事が判明。ほかにもLevelDBとか、何種類かあるみたい。
RDB使うまでもないけど、データ量が多いとメモリーだとリソース勿体ないみたいな。
やはりみんな考える事は一緒だなと。せっかくなので導入の方向で検討。
DBの速度問題
また、おそらく1棋譜単位でのBook更新は速度的に問題ないのですが、DAG(合流)
時に、棋譜外の合流元の方の更新がされないという問題があり、学習前に一括で
再構築しています。この一括更新が件数の関係ですごく時間がかかる事が問題です。
一応、1棋譜単位で更新した時に、DAG分もちゃんと処理するロジックを検討中です。
バグさえなければ速度問題はかなり解消できるはず。とはいえ、何回もループを回す
処理となるため、速度に自信なし。
298: 310 [sage] 2020/05/18(月) 23:50:13.18 ID:lyHQ6R5E(3/3) AAS
DBの件…
確定探索の時にはメモリーに確定分だけおいとくと考えていましたが、
今件数確認したらおよそ2/3は確定分として確保しなきゃならない
事に気づきました(汗
棋譜作成時はメモリーでやるしかないかも。
1棋譜更新でのDAG問題回避はやりたいかな。
Book再構築にだいたい20分くらいかかる。
DAG回避で1棋譜分更新するのが1秒として1000棋譜追加でおよそ16分。
これ以下の時間で済むならやる価値ありそう。
299: 310 [sage] 2020/05/20(水) 01:15:22.70 ID:Xgj8E+2H(1/2) AAS
久々に完全読み切りでバグ発生。
ProbCutを広げながらmtd(f)している時に、どうもパス絡みで発生しているっぽい。
ProbCutによるIterative Wideningを止めたらちゃんと読み切る。
まあ、置換表絡みなんだとは思うけど、事例が少なすぎて(数か月に1回程度)、
前の記録消しちゃったので、とりあえず記録を残し、絆創膏当てて続行。
気が向いたらデバッグしてみる。可能性があるところはなんとなくわかっている
つもりだけど。
Book更新時のDAG回避は、かなり悩ましい。というか頭がこんがらがる。
未使用Hashの期待値計算も頭が未だにこんがらがってます。。
300(1): 名前は開発中のものです。 [sage] 2020/05/20(水) 03:14:41.24 ID:kE3dJxL+(1) AAS
お姉さん問題で有名な、北大の湊教授のZDD を使えないの?
本も出てる
301: 535 [sage] 2020/05/20(水) 16:25:53.99 ID:BUng/tdF(1/2) AAS
katagoを使った9路囲碁の巨大Book作成、やってみようかなぁ。
難しそうだけど。
302: 310 [sage] 2020/05/20(水) 17:28:20.84 ID:Xgj8E+2H(2/2) AAS
Hash関数の効率判断基準できました。
同じキーにデータが8つくらい入っているようなものもあり、それが適正かどうか
判断できなくてゴチャゴチャしていましたが、昨夜しれっと書いたように未使用キー
の数の期待値に着目したら簡単でした。
キーサイズと、データ件数からExcelなどで簡単に計算できます。
3件程度調べてみましたが、理想的な一様ランダム値で生じる未使用キー数の
期待値との差は0.1%未満で、このHash関数も一様ランダム化するものと言って
良いレベルでした。
逆に言えば、自分の典型的な使用方法だと20〜30%のキーが未使用になる
という事のようです。これはこれで…。
303: 535 [sage] 2020/05/20(水) 18:41:29.84 ID:BUng/tdF(2/2) AAS
やっぱライフゲーム囲碁やりてぇなぁ。
ウーム悩ましい。
304: 310 [sage] 2020/05/21(木) 00:46:28.65 ID:ahADKaci(1) AAS
Hash値、1件2件…と期待値出そうと思ったら、なんとなく昔の記憶が戻ってきて、
0件の時は不要だけど、こちらではPとかCとかが必要になるような気がしてきた。
確率の勉強するかな。
ZDDちらっと見てみたけど、ちょっと目的と違うような感じがしている。
本買ってみるけど。
脱線はこれくらいにして、DAG考慮したBook更新に戻ろう。
305: 535 [sage] 2020/05/22(金) 19:57:06.06 ID:khQY98T/(1) AAS
自己流でライフゲーム囲碁に取り組むべきか。
なぜalpha zeroがうまく行かなかったのかを調査すべきか。
まあしばらくさぼりモードだけど。
306(1): 名前は開発中のものです。 [age] 2020/05/26(火) 02:09:09.91 ID:dgMv5Qb/(1) AAS
・19路盤での定石の発見とかを可視化して、強さを判断する
・まず5〜9路盤で最強目指す
俺なら後者を選択する
バグが出なくなったら前者に取り組む
307: 535 [sage] 2020/05/26(火) 18:51:39.27 ID:QRHJU3eS(1) AAS
>>306
実際に自分で手を動かす人なら歓迎するぞ?
口先だけならいらない。
308: 310 [sage] 2020/05/29(金) 00:49:53.42 ID:wYh6jGrP(1/3) AAS
DAG時のBook更新の件、めっちゃ悩み中。
普通にやったら1件更新に14秒とかかかって使い物にならない。
逆引きDBを作ろうかと思うのだけど、結構なサイズになるので、それこそメモリーに
置きたくない。形としてはunordered_multimapになるんだけど、Kyoto Cabinetが重複
キーを許すのか英文読まなきゃならないので止まってる。
そうこうするうちに完全読み切りのバグがまた発生して、事例が3件になったので、
調査開始。2か所間違いを発見。一つ目はケアレスミス。
2つ目は最善手の直後にパスが来るケース。置換表登録はパス後、オーダリングなどで
読む時はパス前の盤面になっていた。これで値が狂う理由がいまいち理解できないの
だけど、修正したら正しい答えが出るようになった。パスの処理は本当に鬼門。
たぶんバグは取れたけど、50%くらい速度低下。どこかにまだバグがありそう。
309: 310 [sage] 2020/05/29(金) 00:56:37.17 ID:wYh6jGrP(2/3) AAS
速度低下は50%どころではなかった…150〜200%だorz
310(126): 310 [sage] 2020/05/29(金) 20:25:58.86 ID:wYh6jGrP(3/3) AAS
orderingの中でパス処理をしていたのでmobility関数を呼びまくっているのが遅い原因
ではないかと思い、パスの処理の仕方を変えて、パスも1手とするように変更したところ、
15〜20%の速度低下まで戻りました。他にも、つられてバグが発覚したので修正。
かなりのレアケースでしか発生しないバグですが、今まで自信満々で完全読み切りは
間違っていないと思っていましたが、なんか自信なくなった。
中盤探索も同様に修正したら、浅い探索の読み筋が変わったみたいで、少しは精度が
良くなるのかなぁと期待しています。
311: 535 [sage] 2020/05/30(土) 18:11:38.04 ID:TznaFVwY(1) AAS
以前もちょろっと触れたけど囲碁ディープラーニングプログラミングという本の12章にあるactor-critic法というのがまた気になり始めた。
自分なりに解釈して実装してみようかな。
312: 310 [sage] 2020/05/31(日) 10:02:44.30 ID:/CnVYfEH(1) AAS
またエラーが…
なんとなく記憶をたどっていくと、初段で並列処理してMap-Reduceすると、βカットの関係で
評価値は合っていても、ordering次第で間違った手を返す事を思い出しました。
で、たまたま回避策となっていた処理を>>201で外してしまったのではないかと。
並列探索だと本質的に回避できない気がするので、初段を順次処理に変更。残り空きマス
26での平均処理時間。一時は20〜25秒くらいまで来ていたのが、30秒程度に悪化orz
313: 535 [] 2020/06/04(木) 21:00:10.17 ID:asDXFlye(1) AAS
藤井センセw
314: 310 [sage] 2020/06/05(金) 22:28:59.18 ID:TnykYlJh(1) AAS
藤井7段凄かったね。今年中に8段行っちゃうんじゃないかと思った。
エラーの原因を冷静に見直したところ、どこをどう変えたか覚えていないレベルの
ちょっとした修正を加えたところからドツボって、修正するたびに更にバグを仕込んで
いたような。結局、元々のプログラムに戻して、速度も復旧しました。むむむ。
こういうのがあるからから、終盤探索に手を入れたくないorz
Bookの遡り修正ですが…行き詰っています。
Kyoto Cabinetはやはり単一キーしか扱えず。
メモリー上に逆引きDBを作ると、たぶんBookよりサイズが大きくなるためメモリーにおけない。
しばし悩み中。
息抜きで、棋譜作成のロジックをちょこっと修正。
同じような評価値が並んでいたり、最善手より評価値が良くなる分岐について、今までは
見つけて気になったところだけ手で追加していましたが、適度なペースで見つけて自動的
に追加する様にしました。
315: 535 [sage] 2020/06/15(月) 22:53:27.40 ID:SQc2KJ2b(1) AAS
長期サボりモードに突入
なんか本で読んだけどモンテカルロ木探索の訪問回数をdnnの教師データとして使うようなやり方もあるらしい
316: 310 [sage] 2020/06/15(月) 23:12:30.86 ID:r41RfhWg(1) AAS
DB化、未だに方法が見いだせずストップしてます。
パブリックドロー臭いのにそうじゃない筋を手動で修正して、20件ほどもとに戻った。
その間に、棋譜が100万件突破しました。
が、Book眺めていると、まだまだ間違い多い。
Zebraも結構間違えているけどね。
317: 535 [sage] 2020/06/17(水) 21:35:01.75 ID:nCYZMpcd(1/2) AAS
2020/05/11 グロービス、囲碁AI「GLOBIS-AQZ」のプログラムをオープンソース化 プロジェクトの集大成としてソースコードを公開
https://www.globis.co.jp/news/release/20200511_globis.html
知らなかった。
ちょっと見てみようかなぁ
318: 535 [sage] 2020/06/17(水) 23:13:34.58 ID:nCYZMpcd(2/2) AAS
なお、公開しているソースコードは対局・解析のみの実装で、学習に関する機能は含まれていません。
駄目じゃんorz
319: 535 [sage] 2020/06/18(木) 19:28:02.18 ID:i+asT3Px(1) AAS
ライフゲーム囲碁でモンテカルロ木探索の訪問回数をdnnの教師データにするのやり始めました。
今教師データを収集してるところです。
320: 535 [sage] 2020/06/19(金) 19:58:32.47 ID:Y5lRzoqU(1/3) AAS
教師データを学習させてみましたがあんまり強くなりませんでした。orz
321: 535 [sage] 2020/06/19(金) 20:44:26.89 ID:Y5lRzoqU(2/3) AAS
そもそもモンテカルロ木探索を教師にしてる時点で、モンテカルロ木探索の強さを大きくは超えられないわけで。
根本的に駄目な気はしてきたorz
322: 535 [sage] 2020/06/19(金) 23:03:06.10 ID:Y5lRzoqU(3/3) AAS
結局、現状、良い教師データがないと厳しい。
アルファゼロ方式の自己対局で強くなるのは1000年かかりそうだし。
むうぅ
323: 535 [sage] 2020/06/22(月) 19:37:12.00 ID:q97LdCHr(1) AAS
katago最後のリリース
https://github.com/lightvector/KataGo/releases
324: 535 [sage] 2020/06/28(日) 20:46:44.93 ID:7SoJ+c30(1) AAS
藤井センセw
棋聖戦2勝目か
325: 535 [sage] 2020/06/29(月) 19:50:03.30 ID:gKYec+q1(1) AAS
ライフゲーム囲碁で打った石が最終的に取られるかどうかを学習させてみようかと考え中
326: 310 [sage] 2020/07/03(金) 01:33:21.30 ID:ULg6SDrD(1/2) AAS
相変わらず棋譜作成しながら評価関数学習を続けています。ようやく100万件突破。
推定パブリックドローは大体700件くらいで増えたり減ったりしています。
対称形や合流も重複させていますので、重複除くと400件くらいかなぁ。
終盤は比較的多数の分岐を試しているのですが、序中盤の分岐が不足していて、
棋譜が偏っているような気がしてきたので、棋譜作成のロジックを大幅に変更して
序中盤の分岐が多くなるように。また、評価値とBook値が大きく違う分岐を再検証
するようにしてみました。これで、抜けている筋がだいぶ拾えるようになると期待。
棋譜作成中に暇な時間が多いので、試しにZebraと対戦。Zebraはランダムに
パブリックドロー筋から外れる様にできているようですが、外れたら勝てるはずが、
なかなか勝てない。Zebra26手読み、こちらは時間の都合で20手読みくらいなので
仕方が無いのですが、それにしてもBook外れた時の評価関数の精度が悪いという事に。
あと、やはり中盤探索の速度に大きな差があり、とても26手読みなどできない。
むむむ。
327: 310 [sage] 2020/07/03(金) 01:35:54.46 ID:ULg6SDrD(2/2) AAS
つか、藤井先生強すぎ。
1回勝負なら時々一発入るけど、番勝負で勝ち越せる人いないんじゃないかな。
竜王戦勝ち進んで、豊島竜王名人との番勝負が見てみたい。
328(2): 535 [sage] 2020/07/04(土) 11:25:12.23 ID:aqVM5XYH(1) AAS
そこに打ったらn手以内に反撃で取られてしまうか?を判定するルーチンを書いてAIに組み込んだら、かなり動きがよくなった。
329: 535 [sage] 2020/07/05(日) 17:58:06.06 ID:pswe4q4i(1) AAS
結局、強化学習できない限り、DNNあんま意味ないんじゃ?という状態。
330: 535 [sage] 2020/07/09(木) 22:57:20.80 ID:j8dvyCDa(1) AAS
藤井センセ今日は駄目だったか。次回に期待。
331: 310 [sage] 2020/07/11(土) 00:47:07.96 ID:UjRsM2rb(1) AAS
残念だったね<F7先生。相当疲れているんじゃないかな。まだ連戦続くので心配。
こちらは棋譜じゃんじゃか追加中。もう逆順探索で正確さを高めるなんて言ってられない。
いちいち遡りチェックするより、分岐を増やしてしまった方が早い気がしてきた。
で、Zebraと対戦させると、まだまだ穴だらけ。Zebraがわざとパブリックドローから外した
ところからが本番の対局となるのですが、そこから10〜20手の間に2回くらい間違えて
逆転される感じ。逆にZebraがほとんど間違えていない事に驚いています。評価値は怪しい
ところもあるけど、選択する手のミスが本当に少ない。Zebra24手読みに変えましたが、
こちらは17手。読む深さの差もあるのか。
デバッグ用のBookチェックプログラムを改良して、簡易対戦と棋譜訂正が外から簡単
にできるようにしました。今まではプログラム動かしていると、気が付いた訂正箇所も
いちいちプログラム止めないと追加できなかったのですが、動かしっぱなしのままで
訂正済棋譜にして適宜放り込めるようになりました。ただ、Bookが凄い勢いで増大して
いるので、メモリーがかなり危機的状況になってきました。BookチェッカーもBook全体を
読み込むので、ダブルで効いてくる。今16Gなのですが32Gは欲しい。
Zebraに負けた棋譜の手を遡って最善手順っぽいの探して訂正していくと、まだまだ
パブリックドローっぽい手順が結構見つかる。過去に間違えてパブリックドローではない
と判断している奴も結構ありそうなので、見つけられたら最終800件くらいは行くと思う。
中盤探索の速度差は、ただのProbCutとMulti-ProbCutの差かなぁ。あれ、再計算が重くて
以前は実装していたんだけど、PC壊れてソース全滅して以来手を出していないのよね。
332: 535 [] 2020/07/16(木) 19:51:32.84 ID:5lwAwdbR(1) AAS
藤井センセええええええええええ!!!
333: 310 [sage] 2020/07/17(金) 13:10:16.58 ID:wiyFtChq(1) AAS
王位戦第二局も含めて、ツエーーーーーーーーーー!って、今更ながらに思った。
人間相手ならabemaAI的40:60で不利な局面程度はひっくり返せるという事なんだろうなぁ。
あと、木村王位の体育座りが悲しかった。
棋譜作成は、自動作成で一気に大量に貪欲法かけたところ、既存の推定パブリックドロー筋
の4割くらいが、事前の分岐でパブリックドローから外れる事態に(汗
想定からズレた箇所は、見つけ次第ログに書き出して、そこから貪欲法でチェックするの
ですが、それでもパブリックドローから外れる筋については、Zebra使って徹底チェック。
自分のAIとZebraが同意見でも、読みが深まるにつれて揺れ動くZebraの評価値を見ていた
ら、なんとなくZebraが間違えていそうな着手がわかるようになってきて、その手をさらに
深堀してチェックする事で、ほぼ元の数まで戻す事ができました。たぶん、「パブリック
ドローから外れるのが正解」という筋が2系統ありまして、逆に周辺を掘って行ったら別の
パブリックドロー筋が見つかったりして、現在のところ残り30手推定パブリックドローが
780通り程度となりました。
増えたり減ったりはあるけど、今週だけで80件近く増えているので最終は1000件程度に
なってもおかしくない気がします。
もろに、人間が判断して手作業で修正みたいなのが、悲しいところ。
Zebraが無ければこんな事できないわけで。
334: 535 [sage] 2020/07/19(日) 18:17:42.01 ID:ZoPMvH5f(1) AAS
とりあえず、>>328のAIで棋譜取り始めることにしました。
棋譜取った後の方針はまだあんまり固まってませんが。
335(1): 535 [sage] 2020/07/20(月) 21:59:52.85 ID:Jx63yD56(1) AAS
ちょっと寄り道して4x4タイルゲームの最善手順計算してみた。
双方最善で20手で後手勝利みたい。
結構手順長いですね。
336: 535 [sage] 2020/07/21(火) 20:43:23.14 ID:bqi5P5mB(1) AAS
あれ、ちがう?
22手かな?
337: 535 [sage] 2020/07/23(木) 21:12:02.22 ID:ly3edh17(1) AAS
ふとやねうらおさんのサイトちょっとみてみたら、やっぱレベルたけーんだなって感じ。
338: 535 [sage] 2020/07/29(水) 22:17:32.28 ID:X7Evhq9+(1) AAS
さぼりまくってます。
339: 310 [sage] 2020/07/31(金) 00:20:53.97 ID:EPRjv06N(1/2) AAS
一括貪欲法を何度か繰り返す事で少し落ち着いてきたみたいで、パブリックドロー候補は
850件くらいになりました。
別途、Bookの再構築を速度アップしました。今までは文字通り再構築でしたが、直したい
のはDAGから生じる矛盾の修正だったので、トップから再帰で潜って戻りながら評価値など
を更新する形にして、再構築分の手間を削減しようという目論見です。が、シングルスレッド
でしか動作しないため非常に遅い。最終的に、基本の対称形を一括処理するようにして、
2手目の分岐単位でスレッドを分割して、何とか20分から5分に短縮できました。
まだ、スレッド3つしか使えていないので、もうちょっと工夫して8スレッド全部使えるように
しようかと思っています。目論みでは2分〜3分くらいまで行けかな。
340: 310 [sage] 2020/07/31(金) 00:22:31.35 ID:EPRjv06N(2/2) AAS
>>335
タイルゲームの最善手計算凄いですね。
5×5とか6×6にしたらどうなるんでしょうね。
341: 310 [sage] 2020/08/10(月) 01:12:51.32 ID:ABN1ddg2(1) AAS
bookの再構築は1分50秒台まで短縮しました。
30手読み切りのパブリックドロー候補は900件超え。
割と淡々と増えているので、ホンマかいなと不安になってきています。
過去にパブリックドローとみなした筋が、パブリックドローを外れた時に、原因となった
着手を追いかけて、間違い箇所探していて、大抵直す事ができるのですが、この新しく
棋譜にした筋の評価値が結構へんてこになっています。Zebraも時々そういう局面が
ありますが、結構遭遇します。おそらく過学習の絞り尻が、棋譜に出現していない局面
に押し込められているのだと思います。という訳で貪欲法のロジックを変更して、評価値
が怪しい局面から分岐をさせるように変更。とにかく棋譜を作りたいし、過去に間違えた
筋の訂正にもなるので、これをメインにしてみます。遡りチェックは、諦めて、棋譜の数の
暴力で正解筋を引く方向に変更。
そろそろ合流筋が増えて来たのと、FFOテストの局面が3つ棋譜から生成されたので、
手筋のカバー度は結構上がってきていると思うんだけどなぁ。
ちなみに現在118万棋譜。どこかで区切りつけたい気もしてきた。
342: 535 [sage] 2020/08/20(木) 17:45:24.62 ID:g83UO1Ed(1) AAS
2冠とかやば過ぎ
343: 310 [sage] 2020/09/04(金) 16:05:06.49 ID:h5QFISg8(1/2) AAS
棋譜数の暴力で130万棋譜突破。
Book確認用画面の方で手修正を掛けられるようにして、通常の棋譜作成プログラム
を動かしながら、おかしなBook値のところから後続の棋譜作成を手作業で指示して
修正がかけられるようにしました。最初は1件単位だったのが、縦深型の貪欲法で
チェック掛けられるようになり、処理時間はかかるけど効率よく修正できるようになり
ました。
となると、以前からパブリックドローの可能性が否定できないと思っている筋(Zebraで
+0〜-1程度の変化)を重点的に調べる事ができるようになりました。調査自体はドロー
ではないと確信できるまで、Zebra参考に縦深貪欲法を適用するだけですが、結構な
筋でドローが見つかりました。続いて、既存の幅優先貪欲法と30手まで遡りチェックで
ドロー筋である事を確認。幅優先貪欲法は間違いが多いので、ここで外れた筋はもう
1回縦深貪欲法でチェック。これを繰り返して、
344: 310 [sage] 2020/09/04(金) 16:15:15.87 ID:h5QFISg8(2/2) AAS
途中で送信しちゃった。
まあ、要するに、色々棋譜作成していたら、現在ドロー候補が1000件超えました。
FJTは生きてますが、LOGISTELLOは消えました。F5d6C4g5筋がそこそこ充実。
斜め取りはF5f6E6f4G5d6からE3は消えましたが、F3とD7、もしかしたらC5も候補として浮上。
まだ、間違いがあって消える筋もあり、場合によっては200件単位でボツという事もありえ
ますが、最初は100件程度から始まった事を思えば、増えたものです。
今はとりあえずリストアップ優先ですが、最後の最後に、ガッツリとチェックの篩にかける
つもりです。どれくらい残るかなぁ。
345: 310 [sage] 2020/09/10(木) 17:54:29.45 ID:4Zp+kLKC(1) AAS
やっちまった。操作ミスで棋譜データ飛ばした。たまたま8月20日のバックアップと、
現時点でのパブリックドローリストがあったので、現在そこから復旧中。
消えた棋譜は恐らく10万件以上orz
こういうミスが起きそうなのは認識していたし、色々プログラムも整理したいので、また
プロジェクト一から作り直しするかなぁ。
346(1): 535 [] 2020/10/01(木) 19:43:08.37 ID:nw9XcH/L(1/2) AAS
ちょっとわけあって長期で活動から離れていました。
また活動再開する予定もないのですが、このままフェードアウトするのも寂しいのでLifeGameGoのAIを公開します。
アルゴリズムはモンテカルロ木探索+>>328のヒューリスティックですね。
https://drive.google.com/file/d/1n-QaJ_Jhbb-yGMOzA993CjgVofZIKf4n/view?usp=sharing
347: 535 [sage] 2020/10/01(木) 20:04:23.49 ID:nw9XcH/L(2/2) AAS
>>346のAIはそこそこ強いと思います。
vectorで公開してるやつより若干強いはず。
348: 310 [sage] 2020/10/06(火) 23:13:30.11 ID:RrvANMT6(1) AAS
棋譜件数とパブリックドローリストはほぼ復活。
パブリックドロー件数は、1200件くらいのところで落ち着きそうな気が
してますが、まだしばらく増減があると思います。
ソースも整理して、気になっていたところを直しました。
これでデータ飛ばすリスクはかなり減りました。
ただ、Bookはまだまだスカスカだし、評価値もギザギザです。
棋譜が間違っていると思ったら、評価値(自作もZebraも)が間違っていた
というケースも散見され、そろそろBuroさん型の評価関数の限界が見えて
きた気がしています。
今ある棋譜を生かして、もっとフィット率が良い評価関数が作れないものか。
とはいえ、NN系は計算が重すぎるし、いまいちモチベーションがわかない。
349: 535 [sage] 2020/10/08(木) 20:45:51.47 ID:1JnWon84(1) AAS
AI作成はやってないのですがライフゲーム囲碁ってタイルゲームみたいに千日手存在するのだろうか?というのがちょっと気になってツラツラ考えています。
きちんと証明しようとすると意外と難しい
350: 535 [sage] 2020/10/09(金) 21:35:50.16 ID:xNMc+C8z(1) AAS
ライフゲーム囲碁では千日手はなさそう。
でもうまく証明できないな。
351: 535 [sage] 2020/10/12(月) 19:22:24.77 ID:Vplf5eGF(1) AAS
全ての棋理を表現できる構造体作れないかな、とかちょっと妄想したけど、
もしかしてCNNでほぼ実現できてるのかな、とも思ったり。
352: 310 [sage] 2020/10/16(金) 00:09:49.89 ID:5RABX7jk(1) AAS
やねうら王2019のソースを見つけてダウンロードしたけど、やっぱり他人のソースを
見るモチベーションが沸きません(汗。NNUEとかLazySMPとか興味はあるんだけど。
LazySMPは8スレッド以上だと効果が出るそうで、自分の
CNNは十分な複雑さがあれば万能近似関数になりうるので、可能性はありますが、
353: 535 [] 2020/10/17(土) 21:21:42.37 ID:/ZY5iNBP(1) AAS
単純すぎる棋理で勝てちゃうゲームもつまらないし
棋理らしい棋理もなく逆転逆転ばっかりのゲームもつまらないし
理想のゲームバランスってどんなんなんだろね
354: 535 [sage] 2020/10/18(日) 11:57:29.71 ID:YswYLMUk(1) AAS
DeepMindのMuzeroってAtari 2600のゲームも解けるらしいけど、
冷静に考えるととんでもないことですね。
355: 310 [sage] 2020/10/19(月) 14:10:40.58 ID:pQ38Gazt(1) AAS
書き込み途中で送信しちゃった直後から、BBQになってます。
とりあえず仕事場からカキコ。
356(1): 310 [sage] 2020/10/22(木) 21:49:58.25 ID:1yysGYXi(1) AAS
そろそろ書けるかな?
CNNは色の無い万能近似関数で、汎化性能なるものが幻想ならば、という前提で。
万能近似関数が正しく学習できるためには、全局面分の教師データが必要となります。
その時、万能近似関数で学習する暇があったら、全局面分の教師データでTHE BOOK
を作ってしまえば良い。これで絶対に間違えなくなる。
という事で、可能性はあるけど、それが実現できるレベルに至ったら、そもそもCNNが
必要ないという事になるのではないかと思います(汗
評価関数なるものは、そもそも全局面を列挙する事が不可能な時に、とりあえず重要そう
な局面のセットで学ばせるものではないかと思います。
357: 535 [sage] 2020/10/23(金) 19:27:05.19 ID:rxutEBUW(1) AAS
>>356
どもです。
>THE BOOKを作ってしまえば良い。
最近タイルゲームでTHE BOOKをどれだけコンパクトに表現できるか?
みたいなことをツラツラ考えていたりします。
勝利局面を列挙する以上にコンパクトにできたら素敵だなと。
羽生さん100期がんばれ!
358: 535 [sage] 2020/10/24(土) 10:09:31.57 ID:fFCFDrI6(1) AAS
cnnが汎化性能出せるかどうかはゲームによるところもあるのかな、と思ったり
359: 535 [sage] 2020/10/25(日) 19:16:15.46 ID:aUU7qa3J(1) AAS
タイルゲームのTHE BOOKをテキストでダンプしてみました。
266MBくらいになった。
>>300のZDDで圧縮、ちょっとやってみたいかも?
360: 310 [sage] 2020/10/29(木) 23:07:11.56 ID:ZYSZpPVA(1) AAS
藤井二冠の自作PCについて最強将棋ソフト開発者に聞いたらトンデモないことが判明した件
https://originalnews.nico/281224
コンピュータ将棋スレで拾って読んだけど、めちゃうなずいてしまった。
あと、テラショック定跡という名前でビビッて劣等感を感じていたけど100万局面とな。
今140万超の棋譜なので、局面ではその60倍になる。重複外しても1000万はあるはず。
でも、オセロの様な単純なゲームにとっても、まだ全然スカスカ。
貪欲法の効率が上がり、ついでにおかしそうな棋譜の訂正もかけるようにしたので、
以前よりは、ゴミ棋譜が減ったと思う。過去のゴミ棋譜除去にはまだ時間かかるけど。
361(1): 名前は開発中のものです。 [] 2020/10/31(土) 15:36:57.51 ID:gkuxF2zq(1) AAS
タイルゲームがかんたんそうだからやってみる
上下前次1-新書関写板覧索設栞歴
あと 275 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.071s