【オセロ,将棋】ボードゲーム Part2【囲碁,War】

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2017/10/15(日) 17:34:58.03ID:RaMh0le2
比較的地味なボードゲーム専用のスレが欲しくて立ててみました。

前スレ
【オセロ,将棋】ボードゲーム【囲碁,War】
http://mevius.2ch.net/test/read.cgi/gamedev/1057763418/
609535
垢版 |
2019/01/20(日) 15:00:24.16ID:O7gh4nMQ
やっぱり全く同じ結果返してる??
混乱してきたorz
610535
垢版 |
2019/01/20(日) 15:40:18.18ID:O7gh4nMQ
層が多すぎたのが悪かったみたい?
層減らしたら違う値になった。
611535
垢版 |
2019/01/20(日) 17:41:45.52ID:O7gh4nMQ
お、LV1に勝った!
まあDNNの学習の効果の勝利というよりも序盤DBと詰みルーチンの補助による勝ちなんだけどね。
でもとりあえず、それっぽく動くところまで来ました。
612535
垢版 |
2019/01/20(日) 17:54:10.26ID:O7gh4nMQ
序盤DBが良すぎてDNNの真価がわからないから序盤DB外してみるか…
613535
垢版 |
2019/01/20(日) 17:59:21.27ID:O7gh4nMQ
酷すぎwwww
でもランダムよりはマシに見える。
614535
垢版 |
2019/01/20(日) 18:24:44.15ID:O7gh4nMQ
やっぱ序盤DBに頼るか…
こんなにプログラムが楽しいの久しぶりやな
615535
垢版 |
2019/01/20(日) 20:01:09.83ID:O7gh4nMQ
たぶんだけどまだまだ棋譜増やしたほうがいい。
ていうかあればあるほどいいい。まだまだ良くなる。
可能なら100万局を目指したい。
616310
垢版 |
2019/01/22(火) 00:34:53.58ID:9pySCUmT
赤黒木大体できたけど…ただの二分木よりほんの少し遅い…。

元々ハッシュでランダマイズしているから、二分木の末端ノードまでの深さは
綺麗な正規分布になっていて、赤黒木にしても木の最頻高さで3割程度しか
小さくならないという事で、ツリーを修正するオーバーヘッドが効いているのか、
それとも木全体でしか排他できないのが原因なのか。

もうちょっと調べてから諦めます。
617535
垢版 |
2019/01/22(火) 22:52:21.02ID:jAP2hLDv
要素が100個未満ならぶっちゃけvectorでいいと思いますが。。。
618535
垢版 |
2019/01/22(火) 23:02:42.33ID:jAP2hLDv
前も同じこと言ったような気がするけど、学習させるなら局面の勝率より次の一手のほうがいいのだろうか?
619名前は開発中のものです。
垢版 |
2019/01/22(火) 23:17:25.29ID:LaaXTOn4
いまきたんですがここはどんなゲームを開発してるんですか
じぶんで開発したとして対戦相手=プログラムありますか
620535
垢版 |
2019/01/22(火) 23:34:54.50ID:jAP2hLDv
>>619
とりあえず、落ち着いて。
過去ログから読んでください。
621310
垢版 |
2019/01/23(水) 01:56:46.43ID:QHWWUXAJ
置換表に使ってるので要素数は現在残り28手で100万超える事もあります(汗
まあ、βカットの具合でだいぶ変わるので、学習進むと減るんですが。
最低でも残り30手まで行くつもりなので、1000万くらいは想定したいです。

次の一手ソート用の配列は、Array型にしています。32個確保すれば足ります。
こちらも比較したところ、明確に速度差がありました。この辺から、領域をチマチマ
確保されるオーバーヘッドが気になりだした次第です。

で、赤黒木ですが、実装が悪いのだと思いますが、現時点で2分木と比較して
およそ3倍時間がかかります。シングル動作でも同じくらいの差になるので、
排他待ちではなく、木のつなぎ替え処理の重さが原因かなと。置換表は追加が
の比率が大きいので、ポインタたどるロスは優位ではない感じ。

というわけで、赤黒木はちょっと放置。

というか、二分木もシングル動作は10倍くらい速い感じなので、今一度シングル
探索の並列化を試そうと思っています。
622310
垢版 |
2019/01/23(水) 02:07:28.76ID:QHWWUXAJ
>>618
min-Max前提だと、探索値を求める際には勝率(点数)が必須で、
次の1手評価関数はオーダリングや前方枝刈向きではないですか?
探索深さ1なら次の1手で行けますが。

初代アルファ碁も、両方組み合わせていますが、次の1手評価関数で
手の優先順位をつける事で読み深さを実現した変則mctsで、最終的には
評価値で判断していますよね。
623535
垢版 |
2019/01/23(水) 20:43:46.28ID:B65SvCza
ふーむ、勝率のほうが応用が利くってことですかね?
もうしばらく勝率で学習させてみます。
624535
垢版 |
2019/01/23(水) 21:07:20.14ID:B65SvCza
ついネットワークを大きくしたくなっちゃうけど。
本当は小さいネットワークでエポック数を稼いだほうがいいのかもしれない。
625535
垢版 |
2019/01/23(水) 21:28:27.72ID:B65SvCza
そういえば、対称局面も学習データとして使ったほうがいいんでしたっけ?
626310
垢版 |
2019/01/24(木) 01:32:42.88ID:cGqmeFv+
囲連星は初期配置ないんでしょ?
だったら対象局面ありの方が良いと思う。

オセロは悩み中。
初手をF5固定にした時に、本当に対称局面が出てくるのかわからない。
対称局面が同じ重要性で生じないのであれば、評価値を希釈しちゃうだけ。
学習の時間も単純に倍々で増えるので、今はやっていない。

強いて言うなら、F5F6E6の次がF4とD6で斜め対称になるので、ここだけは
記譜作成時にはF4固定にして、D6の対称局面を作っている。
627310
垢版 |
2019/01/24(木) 01:49:46.37ID:cGqmeFv+
置換表自作の件、目的を見失っている(汗
一旦リセットして、最初からやり直して、当初の目的に戻ろうと思うorz
628578
垢版 |
2019/01/24(木) 01:53:14.72ID:mzMMzuaC
私は教師データの数が8倍になるのは大きいと思って対称局面も入れて学習させてます
とくにDeep Learningさせてると(ネットワークの規模にもよりますが)だいぶ過学習しなくなります
もっとも、Deep Learningするんだったら対称性を考慮したネットワークにしたほうがいいのかもしれないですが・・・
629310
垢版 |
2019/01/24(木) 02:08:25.51ID:cGqmeFv+
着手できる場所の自由度が高いゲームは回転させるべきだと思う。
オセロは着手可能場所が限られるので、現れない局面が結構ありそう。

ちなみに、オセロは8倍じゃなくて4倍。初期配置が4対称だから。
囲連星は初手天元固定なのかな?
630578
垢版 |
2019/01/24(木) 07:09:21.18ID:mzMMzuaC
>オセロは8倍じゃなくて4倍
たしかに棋譜で考えると4対称しか無いですね
今のところ、学習させるときには現局面しか渡してないので、
90度回転で一致する局面が存在するかもしれないから8倍で良いはず…
631535
垢版 |
2019/01/24(木) 22:03:23.55ID:gSjgdU9w
うーん。今のやり方だとLV0やLV1とはいい勝負になるけどLV3には一生勝てないかも?
出来れば自己対戦による強化学習とか取り入れたいな〜

対称局面もやってみますね。
632535
垢版 |
2019/01/24(木) 22:45:59.18ID:gSjgdU9w
なんか長時間計算回してると画面が真っ暗になってマウスやキーボード押しても復帰しないことがあるんだが?
スリープは解除してるはずなんだけどなんなんだろう?
633535
垢版 |
2019/01/25(金) 23:18:39.41ID:gNQn5rdl
LV0ってやっぱ棋力低いな。
そんなLV0といい勝負の俺のAIもあれだけど。
やればやるほどLV3の完成度の高さが際立つ。
634310
垢版 |
2019/01/26(土) 17:00:37.38ID:VyVaK4H+
自作置換表ですが、大体のところがまとまりました。
結局のところ、unordered_mapを作っていた形になります(汗

当初は領域の追加について、データ部分をまとめて追加する方向で改造し、
ハッシュ配列については22ビット固定で、高速化をしました。で、ハッシュ配列が
22ビット固定は芸がないと、二分木・赤黒木などを試しましたが、速度大幅低下。
要するに、unordered_mapにmapを組み合わせて、ハッシュのメリットを相殺して
しまっていたという事で。

最終的に、ハッシュ配列の追加方法をようやく思いつき、組んでみたところ、それが
そのままunordered_mapのrehashだと気が付きました(汗。その後、max_load_factor
などを追加して、unordered_mapと条件を揃えて速度比較となりました。

iteratorと削除が無い分だと思いますが、unordered_map、concurrent_unordered_map
に対して、それぞれシングル版、concurrent版とも若干高速になりました。

新たな課題は…stlも自作版も、どちらも並列に動かしたconcurrent版の方が遅いと
言う事です。もともとそういうものなのか…テスト方法が並列向けじゃないのか。
635535
垢版 |
2019/01/26(土) 17:38:15.71ID:VGsbBdjp
8対称はメモリがやばいので4対称にします。
4対称で16GB位食ってる。
636535
垢版 |
2019/01/26(土) 17:54:22.18ID:VGsbBdjp
思い切っていいPC買ったけどまだ足りないとかorzorzorz
ケチらず64GB積むべきだったか?
637535
垢版 |
2019/01/26(土) 18:59:37.97ID:VGsbBdjp
1エポック4539秒
これは厳しいorzorzorz
GPUが使えれば…
638535
垢版 |
2019/01/26(土) 19:45:15.05ID:VGsbBdjp
ん、1エポック目だけど損失がかなり少ない。。
対称局面を入力とすることで特徴量がよりはっきりしたということだろうか?
639535
垢版 |
2019/01/26(土) 19:46:56.43ID:VGsbBdjp
ん、動きが断然よくなってる?
まだわからんが。
640535
垢版 |
2019/01/26(土) 19:53:15.64ID:VGsbBdjp
対称局面学習以前はどちらかというとランダムに近かったが
対称局面学習以後はどちらかというと知性があるっぽく見える。
まだわからんが。
641535
垢版 |
2019/01/26(土) 20:02:51.02ID:VGsbBdjp
これでエポックが進めばとんでもなく強くなる?
まだわからんが。
642535
垢版 |
2019/01/26(土) 20:15:10.01ID:VGsbBdjp
マシンパワーが欲しい!
Googleに匹敵するマシンパワーが!
643535
垢版 |
2019/01/26(土) 20:40:08.93ID:VGsbBdjp
まだLV3には遠く及ばないな。
でも希望が出てきた。
644535
垢版 |
2019/01/26(土) 21:34:58.78ID:VGsbBdjp
学習用、棋譜採取用、対戦統計用、開発用で4台マシンほしいw
645535
垢版 |
2019/01/26(土) 22:03:09.49ID:VGsbBdjp
やっぱ思考時間短いのはいいな。
モンテカルロは強いけど思考時間長すぎたからな。
646535
垢版 |
2019/01/26(土) 23:04:44.42ID:VGsbBdjp
棋力が低すぎてすさまじい泥仕合になるの切ないorz
647535
垢版 |
2019/01/26(土) 23:32:04.39ID:VGsbBdjp
メモリがもっとあれば異なるネットワークを並列に学習とかもできたかもなぁ
まさか32GBで足りないとは…
648535
垢版 |
2019/01/27(日) 14:58:44.29ID:RY/5cpPz
DNNの評価値とMM法の評価値の和で最終評価値を算出するようにしてみました。
多分DNNのみより強くなってます。
649535
垢版 |
2019/01/27(日) 15:49:50.57ID:RY/5cpPz
黒番で軽く動かしてみました。

10局目
黒(airandom.dll)の勝利回数: 8
白(ai-lv1.dll)の勝利回数: 2

まずまずの結果かな。
ちなみに白番はうまく動いてなくて1の1とか打っちゃうので途中で中断しました。
650535
垢版 |
2019/01/27(日) 16:41:37.92ID:RY/5cpPz
うお、猛烈に追い上げられてるorz
悪くない手ごたえがあったと思いましたが…

25局目
黒(airandom.dll)の勝利回数: 15
白(ai-lv1.dll)の勝利回数: 10
651535
垢版 |
2019/01/27(日) 19:54:22.32ID:RY/5cpPz
ちょっとヒューリスティックを入れました。
詰めろがあるときは詰めろを優先的に打つ。
当たりの点数を恣意的に上げる。
652535
垢版 |
2019/01/27(日) 21:09:49.27ID:RY/5cpPz
うおお、キター
DNNでLV3に初勝利!

(;SZ[19]
;B[jj];W[kj];B[ji];W[jk];B[kk];W[kl];B[lk];W[ih]
;B[li];W[mj];B[lj];W[kh];B[ki];W[mi];B[lh];W[ll]
;B[lg];W[lf];B[kf];W[ik];B[le];W[mf];B[jh];W[mk]
;B[ke];W[ml];B[kj];W[kg];B[jg];W[mh];B[mg];W[mm]
;B[mn];W[kd];B[kh];W[ld];B[kg])

対LV1も流しなおしててこんな感じ

24局目
黒(airandom.dll)の勝利回数: 18
白(ai-lv1.dll)の勝利回数: 6
653535
垢版 |
2019/01/27(日) 21:11:57.38ID:RY/5cpPz
ついDNNの学習に計算リソースを使いたくなっちゃうけど
ぐっとこらえてすべての源泉である棋譜取りにリソースを回すのが正解かも?
654535
垢版 |
2019/01/27(日) 21:39:45.24ID:RY/5cpPz
いやーこんなに充実してるの久しぶりだな。
長いトンネルを抜けたようだ。
655535
垢版 |
2019/01/27(日) 22:08:36.61ID:RY/5cpPz
うお、またLV3に勝った!
まだまだ負け越すだろうけど、偶然の勝利じゃないってことか。

(;SZ[19]
;B[jj];W[ik];B[ii];W[jk];B[kk];W[lk];B[ll];W[kj]
;B[kl];W[hh];B[mm];W[ji];B[ij];W[ih];B[nn];W[oo]
;B[jm];W[ml];B[hg];W[hk];B[om];W[lm];B[ln];W[nl]
;B[nm];W[im];B[pm];W[km];B[kn];W[pp];B[km];W[qp]
;B[lm])
656535
垢版 |
2019/01/27(日) 22:25:29.35ID:RY/5cpPz
明日は仕事だから夜更かしは社会人として自制しなければwwwww
そろそろ切り上げるかwwww
657535
垢版 |
2019/01/28(月) 19:44:18.33ID:m5wr/yMi
そういえば赤黒木って深さキャッシュして置くんですか?オーダーlogで深さを求める方法が思いつかない
658535
垢版 |
2019/01/28(月) 21:07:17.34ID:LAfUnJ6o
長連判定入れなかったのが意外と響いてるな。
ちょくちょく長連に引っかかる
659535
垢版 |
2019/01/28(月) 21:36:36.08ID:LAfUnJ6o
ん、DNN学習の裏で棋譜取りしたら計算速度落ちてるな。
コア数は足りてるはずだがメモリ帯域が足を引っ張ったのだろうか?
660535
垢版 |
2019/01/28(月) 22:36:38.66ID:LAfUnJ6o
こちらの棋力が上がるのに呼応するようにLV3も素晴らしい手を返してくる。
奥が深いすな。
661535
垢版 |
2019/01/28(月) 22:50:40.16ID:LAfUnJ6o
LV3との対戦統計とってみたいけどまだ時期尚早かな。
まずは大量の棋譜を手に入れる。
量が質に転換する地点が必ずあるはず。
662535
垢版 |
2019/01/28(月) 22:57:44.79ID:LAfUnJ6o
将来的には自己対戦による強化学習は絶対取り入れたい。
663535
垢版 |
2019/01/29(火) 20:45:33.27ID:PoANmAul
今一手読みで打ってるから、3手読みとかモンテカルロか入れたらもちっと改善するかな?
でも計算量がどうなるかだなぁ。
遅いのはコリゴリ。
664535
垢版 |
2019/01/29(火) 22:13:06.04ID:PoANmAul
とりあえず2手読みにしてみたけど2手読みが限界かなぁ
3手は計算量的に相当厳しそう。
665535
垢版 |
2019/01/29(火) 22:33:10.05ID:PoANmAul
2手読み、なかなかいい感じ。
1手読みから明らかにうち筋が良くなっている。
もし3手読みにしたら…
666535
垢版 |
2019/01/30(水) 21:21:00.00ID:d36pZkYy
3手読みを仮組してみました。
計算時間がやばいので前方枝刈で思いっきり枝刈してます。
667535
垢版 |
2019/01/30(水) 22:07:01.71ID:d36pZkYy
あああ、惜しいなぁ!
今すごくいい勝ち方しそうだったのに!

(;GM[1]FF[4]AP[Zenith:7.0]SZ[19]HA[0]KM[6.5]CA[UTF-8]PB[]BR[]PW[]WR[]
ZT[60]DT[]RE[];B[jj];W[ik];B[kk];W[hj];B[ii];W[jk];B[ll];W[hh];B[mm];
W[nn];B[hi];W[gi];B[jl];W[hl];B[ki];W[km];B[lh];W[mi];B[kg];W[kl];B[ke];
W[kf];B[jf];W[lf];B[jd];W[ie];B[je];W[ig](;B[jg];W[jh];B[ih];W[ji];B[kh];
W[jh];B[ji];W[gg];B[jh])(;B[kh];W[jg];B[ih];W[gg];B[nm];W[gk];B[fh];W[gh];
B[gj];W[fj];B[gl];W[ek];B[fk];W[fl];B[mk];W[gm];B[mh];W[gl];B[jh];W[gj]))

もしこの勝ち方ができてたら瞬間最大棋力は名人に届く、ってくらいすごかった。
668535
垢版 |
2019/01/30(水) 22:44:38.83ID:d36pZkYy
実装もひと段落ついた感じがあるので対戦統計とってみます。
669535
垢版 |
2019/01/31(木) 20:38:25.44ID:wmRSa8/r
やはりLV3は強いですね。
正直、もっと勝てるかと思ってました。
まだまだ精進せねば。


41局目
黒(airandom.dll)の勝利回数: 33
白(ai-lv1.dll)の勝利回数: 8

58局目
黒(airandom.dll)の勝利回数: 48
白(ai-lv2.dll)の勝利回数: 10

32局目
黒(airandom.dll)の勝利回数: 6
白(ai-lv3.dll)の勝利回数: 26
670535
垢版 |
2019/02/01(金) 20:50:18.97ID:YKCFM9Y9
序盤DBがlv3 vs lv3の生の勝率データだからちょっと加工したらもっと有益なデータにならないかな
671535
垢版 |
2019/02/01(金) 23:25:50.28ID:c38ZEsSq
バグは小説よりも奇なり
672535
垢版 |
2019/02/03(日) 19:29:39.51ID:AT8t8or9
(;SZ[19]
;B[jj];W[ij];B[ik];W[hk];B[hj];W[ii];B[hl];W[gk]
;B[gm];W[ki];B[jl];W[fl];B[km];W[gi];B[ji];W[jh]
;B[lm];W[im];B[il];W[in];B[ml];W[ll];B[lk];W[gl]
;B[nl];W[kl];B[kk];W[ol];B[ll];W[pl];B[kl])
673535
垢版 |
2019/02/03(日) 20:43:10.48ID:AT8t8or9
(;SZ[19]
;B[jj];W[ij];B[ik];W[hk];B[hj];W[ii];B[hl];W[jk]
;B[gk];W[hi];B[jl];W[kk];B[gi];W[km];B[kl];W[im]
;B[il];W[gl];B[gm];W[fl];B[ki];W[fn];B[lk];W[mk]
;B[fk];W[lh];B[kj];W[jn];B[kk];W[mg];B[hk];W[ng]
;B[jk])
674535
垢版 |
2019/02/04(月) 21:24:20.28ID:xSiFrXwQ
コア数が足りていたとしても性能が落ちるのは
ターボブーストが利かなくなる分クロックが落ちるということだろうか?
675535
垢版 |
2019/02/04(月) 21:32:25.91ID:xSiFrXwQ
単独で学習流すと1エポック5000秒強くらいだが棋譜取りと並列にすると1エポック8000秒弱かかる。
結構違いますね。
676535
垢版 |
2019/02/05(火) 19:35:44.19ID:LeUKzWtY
自分からすぐ取られる手を打たない、必敗の手順をちゃんと読む、などの地味な改良をした結果だいぶ改善したようです。

38局目
黒(airandom.dll)の勝利回数: 37
白(ai-lv1.dll)の勝利回数: 1

28局目
黒(airandom.dll)の勝利回数: 28
白(ai-lv2.dll)の勝利回数: 0

30局目
黒(airandom.dll)の勝利回数: 12
白(ai-lv3.dll)の勝利回数: 18
677535
垢版 |
2019/02/05(火) 19:37:52.43ID:LeUKzWtY
そろそろ白番もちゃんと動くようにしなければ…
678535
垢版 |
2019/02/05(火) 20:01:16.79ID:LeUKzWtY
白番が動かないことには自己対局による強化学習も不可能…
679535
垢版 |
2019/02/05(火) 20:07:09.73ID:LeUKzWtY
>>676の棋譜を見ていますが自分からすぐ取られる手を打たなくしたはずなのですが打ってますね。。。
バグか。
680535
垢版 |
2019/02/05(火) 20:47:39.46ID:LeUKzWtY
すげぇぇぇええええぇえ!
ゲタ打った!!!


(;SZ[19]
;B[jj];W[ji];B[ki];W[ii];B[ik];W[kh];B[jh];W[kj]
;B[li];W[hi];B[lh];W[mg];B[kk];W[lj];B[mi];W[mj]
;B[ni];W[ij];B[jk];W[hk];B[nk];W[gl];B[kg];W[fm]
;B[en];W[hm];B[gj];W[il];B[mh];W[hh];B[hj];W[gi]
;B[oh];W[fi];B[ih];W[ei];B[di];W[jg];B[nh];W[ig]
;B[kh])
681535
垢版 |
2019/02/05(火) 20:55:47.56ID:LeUKzWtY
ゲタなんか一切教えてないのにゲタ打った。
この衝撃がみんなに伝わるかなぁ。
682535
垢版 |
2019/02/05(火) 21:18:10.97ID:LeUKzWtY
あれ、ネットワークのファイル更新したらLV2に負けるようになっちゃった。
なぜ?
683535
垢版 |
2019/02/05(火) 23:23:47.50ID:LeUKzWtY
ネットワークじゃなくて序盤DBがおかしいのかなぁ。
684310
垢版 |
2019/02/06(水) 01:11:54.97ID:uzcir1oY
久々です。

置換表は、だいぶ前にリハッシュ対応して、この辺にしとこうか状態になってます。
多分unordered_mapの仕組みはそこそこ理解できたと思います。
deleteとガベージコレクション、iteratorを除いてですが。

Edaxのソースを解析しようと、VC++で読み込んでみましたが、Edaxは裸のCで…
_s地獄とコンパイラの違いで、動かすところまで持ち込むのが相当大変な感じ。
一番の地獄は、探索部のソースを見ても何がなんだかわからない事。
せめて偶数理論のところは見つけたいんだけど。滅茶諦めモード。

というわけで、記譜作成を動かし続けるしかなくなってしまいましたorz

WZebraのソースが見たい…。
685310
垢版 |
2019/02/06(水) 01:14:08.23ID:uzcir1oY
>>675
メモリバスの帯域とか、L2キャッシュ溢れとか…
わかっているけど、エビデンスが取れないので、認められないorz
686535
垢版 |
2019/02/06(水) 20:19:19.81ID:s2iJEq7C
ゲタっぽい手また打った。
パッと見成立しないんだけど、なんとなく味が悪いことわかってるんだな。
すごい!

(;SZ[19]
;B[jj];W[ji];B[ki];W[ij];B[ii];W[jk];B[jh];W[li]
;B[kk];W[kg];B[ik];W[jl];B[hj];W[lj];B[lh];W[hl]
;B[jg];W[if];B[mk];W[lk];B[ll];W[kl];B[kj];W[lm]
;B[ml];W[mm];B[mi];W[il];B[mj];W[gj];B[nj];W[lj]
;B[li];W[jm];B[lk];W[oi];B[ij];W[pi];B[lj])

>>685
マルチ性能も大事だけどシングル性能も結構大事で
並列計算するか結構悩みどころですね。
学習結果が早くほしい時は棋譜取りしないというのもありっちゃあり。
687535
垢版 |
2019/02/06(水) 21:11:19.34ID:s2iJEq7C
ん、なんかいままでは序盤DBの力で勝ってきたようなものだけど、
むしろ中盤力のほうが勝り始めてる気がする。
序盤DBが物足りなく感じる。。。
688535
垢版 |
2019/02/06(水) 21:50:52.85ID:s2iJEq7C
いろいろ試してみたくなるけど、やっぱ棋譜取りがすべての源泉な気がする。
日中は棋譜取りに専念するのが吉か?
689535
垢版 |
2019/02/07(木) 21:28:54.73ID:GJ+3NG1C
やはり更なる上を目指すには強化学習が必須か?
690535
垢版 |
2019/02/07(木) 21:49:04.85ID:GJ+3NG1C
どうやっても勝ちってかんじではあるけど
17手目が面白い手でうまく必勝形につなげた。
正直この手は俺にも見えてなかった。

(;SZ[19]
;B[jj];W[ij];B[ii];W[hi];B[ik];W[ih];B[hj];W[gh]
;B[gi];W[fj];B[hh];W[hg];B[fh];W[jl];B[gg];W[kk]
;B[kh];W[ig];B[li];W[fi];B[mi];W[ji];B[jh];W[km]
;B[ki];W[ln];B[hi];W[mn];B[ji])
691310
垢版 |
2019/02/08(金) 00:11:00.05ID:Ar3tbH3V
偶数理論なかなか良い実装を思いつきました。

オーバーヘッドが極小なのは、オーダリングへ影響する値だけゼロにして、
ほぼ速度低下が無い事で確認済です。が…何をどうしても速度がダウンします。

というわけで、またしても偶数理論挫折。

次ネタ考え中。
ネタを一つ見つけたけど、結構全面改訂になりそう。
692535
垢版 |
2019/02/09(土) 16:38:22.33ID:Y3QZLQMW
なんかひと段落ついちゃったら次何すればいいかわかんなくなっちゃったな。
とりあえず、棋譜取りだけは地味に続けるけど。
693535
垢版 |
2019/02/09(土) 16:39:13.34ID:Y3QZLQMW
白番がバグってるの直すのあったなそういえば。。。
694310
垢版 |
2019/02/09(土) 21:06:41.89ID:bf+o2ihZ
次ネタ結構大変だと思ったら、意外と簡単にできた。
FFO40-49のタイムは30%強短縮した。
FFO40が悪化して、49はだいぶ短縮しているので、探索深さが深い方が
効果が出る傾向に見える。という事は、残り28か所空きをやっている棋譜
作成では、もっと改善する可能性あるかも。

思い込みって怖い。正直、何故今まで思い付かなかったのだろうというレベルorz
695535
垢版 |
2019/02/10(日) 00:11:19.28ID:CIRPPqWT
白番動くようになったみたいです。
白番でLV2に勝ちました!

(;SZ[19]
;B[ef];W[eg];B[fg];W[fh];B[eh];W[dg];B[gh];W[fi]
;B[gf];W[di];B[df];W[fe];B[cg];W[dh];B[gi];W[ff]
;B[gg];W[ge];B[hi];W[ej];B[ij];W[de];B[hd];W[hj]
;B[he];W[if];B[hf];W[ih];B[hh];W[ig];B[hc];W[hg]
;B[gj];W[hk];B[gl];W[gk];B[fj];W[ei];B[cd];W[cf]
;B[jk];W[kl];B[ed];W[ee];B[ek];W[dj];B[jh];W[dk]
;B[il];W[df])
696310
垢版 |
2019/02/10(日) 09:57:20.94ID:WWsJbkKo
パラメータの調整というか、使い方変えたら、更に5%くらい改善。

残り28手空きの記譜作成は、トータル倍弱まで速度アップした模様。
とはいえl、記譜作成の方は、解く問題によってばらつきが大きすぎる
ので、もう少し様子を見ないと、どれくらい早くなったかはなんとも
言えない。早くなったのは確実。

さて、またネタが無くなった(汗
697535
垢版 |
2019/02/10(日) 14:13:32.91ID:CIRPPqWT
分かってたつもりだったけどLV2の黒番のうち筋が思ったより良くて、
序盤DBに取り込んでもいいかなってちょっと思うようになった。
698535
垢版 |
2019/02/10(日) 14:38:22.21ID:CIRPPqWT
lv2 vs lv3で棋譜取りしてlv2のいいところを抽出しようとしたら
lv3が強すぎてlv2のいいところが取れないっぽいんだがwwww
これは計算外
699535
垢版 |
2019/02/10(日) 16:41:39.34ID:CIRPPqWT
lv2 vs lv3はlv2の勝率が3割3分くらい。
思ったよりはlv2が善戦してるかな?
700535
垢版 |
2019/02/11(月) 00:03:36.62ID:upj5oiO/
lv2の棋譜を取り込んで対戦統計とり始めました。

15局目
黒(airandom.dll)の勝利回数: 13
白(ai-lv1.dll)の勝利回数: 2

14局目
黒(airandom.dll)の勝利回数: 14
白(ai-lv2.dll)の勝利回数: 0

7局目
黒(airandom.dll)の勝利回数: 0
白(ai-lv3.dll)の勝利回数: 7

10局目
黒(ai-lv1.dll)の勝利回数: 1
白(airandom.dll)の勝利回数: 9

6局目
黒(ai-lv2.dll)の勝利回数: 3
白(airandom.dll)の勝利回数: 3

6局目
黒(ai-lv3.dll)の勝利回数: 3
白(airandom.dll)の勝利回数: 3

lv1には文句なく勝ってますね。
lv2もトータル勝ち越せるかも。
lv3は白番でいい勝負なのはすごいですが、
黒番で勝ててないのが気になりますね。
701535
垢版 |
2019/02/11(月) 19:03:47.89ID:N2auq0Bn
黒番対lv2は勝率100% w
序盤DBが完全に筋に入ってる感じですかね。
対lv3の戦績もlv2 vs lv3の戦績と比較して決して悪くないです。

40局目
黒(airandom.dll)の勝利回数: 36
白(ai-lv1.dll)の勝利回数: 4

42局目
黒(airandom.dll)の勝利回数: 42
白(ai-lv2.dll)の勝利回数: 0

25局目
黒(airandom.dll)の勝利回数: 9
白(ai-lv3.dll)の勝利回数: 16

50局目
黒(ai-lv1.dll)の勝利回数: 7
白(airandom.dll)の勝利回数: 43

30局目
黒(ai-lv2.dll)の勝利回数: 22
白(airandom.dll)の勝利回数: 8

33局目
黒(ai-lv3.dll)の勝利回数: 24
白(airandom.dll)の勝利回数: 9
702535
垢版 |
2019/02/11(月) 21:10:52.87ID:N2auq0Bn
でも悲しいことに俺のAIには怖さがないんだよなぁ。
ちょっと気を抜くと負かされてしまうような怖さが。
lv2とlv3にはそれがある。
703535
垢版 |
2019/02/12(火) 20:26:23.49ID:G3iO6dyJ
こんな感じです。

50局目
黒(airandom.dll)の勝利回数: 45
白(ai-lv1.dll)の勝利回数: 5

50局目
黒(airandom.dll)の勝利回数: 50
白(ai-lv2.dll)の勝利回数: 0

40局目
黒(airandom.dll)の勝利回数: 14
白(ai-lv3.dll)の勝利回数: 26

50局目
黒(ai-lv1.dll)の勝利回数: 7
白(airandom.dll)の勝利回数: 43

48局目
黒(ai-lv2.dll)の勝利回数: 39
白(airandom.dll)の勝利回数: 9

46局目
黒(ai-lv3.dll)の勝利回数: 32
白(airandom.dll)の勝利回数: 14

ホントは全部50局打ちたかったんだけど時間がかかるので打ち切りました。
704535
垢版 |
2019/02/13(水) 19:55:00.78ID:7bnMzRQL
DNNの教師データを棋譜からの生勝率ではなく、少し探索した結果にしてみようかと思ってます。
705535
垢版 |
2019/02/14(木) 22:04:12.79ID:yW8Bcw4A
なんか変な手打つorz
結局、生勝率が一番いいのかな…
706名前は開発中のものです。
垢版 |
2019/02/15(金) 23:01:57.18ID:szQyRPlV
>>684
https://github.com/okuhara/edax-reversi-AVX
は VC でもコマンドラインならビルド可能です。(NMakefile)
(本家の Edax も NMakefile は付いているが、多少変更が必要)
Edax の偶数は基本的に Zebra と同じ。QUADRANT_ID あたりを追ってみては?
707310
垢版 |
2019/02/15(金) 23:44:55.03ID:fcveN5+T
>>706
情報ありがとうございます。そのソースなのですが、コマンドラインなのですね。

ビルドしたかった理由はデバッグモードを使いたかったからです。
QUADRANT_IDのあたりは追っかけたのですが、もともとの探索の構造が
読めなくて、デバッグモードに頼ろうとした次第です。

で、処理内容を予想して自分で組んでみたのですが、FFOテストでは速度が
若干ですが、落ちてしまうのです。


あと、実はVC++しか使った事ないというか、オセロ開発でC++使い始めたので、
makefileが何やってるのかわからないです(汗
というわけで、ちと調べてみます。
動くだけでも、自動対戦の相手になってもらえる可能性ありますから。
708535
垢版 |
2019/02/16(土) 00:14:31.55ID:MvwJSI7c
310さんってC++のエキスパートなのかと思ってたっす。
ちょっと意外。
709535
垢版 |
2019/02/17(日) 21:11:39.54ID:23WhPvCR
ネタがなくなってちょっと熱も冷めた感じ。
とりあえず、自己対局による強化学習をぼちぼち何とかしたい。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況