【オセロ,将棋】ボードゲーム Part2【囲碁,War】
■ このスレッドは過去ログ倉庫に格納されています
比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
前スレ
【オセロ,将棋】ボードゲーム【囲碁,War】
http://mevius.2ch.net/test/read.cgi/gamedev/1057763418/ 12並列対戦
29局目 黒(airandom.dll)の勝利回数: 12 白(ai-lv3.dll)の勝利回数: 17
30局目 黒(airandom.dll)の勝利回数: 17 白(ai-lv3.dll)の勝利回数: 13
28局目 黒(airandom.dll)の勝利回数: 11 白(ai-lv3.dll)の勝利回数: 17
28局目 黒(airandom.dll)の勝利回数: 10 白(ai-lv3.dll)の勝利回数: 18
36局目 黒(airandom.dll)の勝利回数: 13 白(ai-lv3.dll)の勝利回数: 23
25局目 黒(airandom.dll)の勝利回数: 11 白(ai-lv3.dll)の勝利回数: 14
31局目 黒(airandom.dll)の勝利回数: 14 白(ai-lv3.dll)の勝利回数: 17
28局目 黒(airandom.dll)の勝利回数: 13 白(ai-lv3.dll)の勝利回数: 15
32局目 黒(airandom.dll)の勝利回数: 13 白(ai-lv3.dll)の勝利回数: 19
33局目 黒(airandom.dll)の勝利回数: 17 白(ai-lv3.dll)の勝利回数: 16
31局目 黒(airandom.dll)の勝利回数: 17 白(ai-lv3.dll)の勝利回数: 14
25局目 黒(airandom.dll)の勝利回数: 8 白(ai-lv3.dll)の勝利回数: 17
156勝200敗 勝率 43.8%
弱くなったのか誤差の範囲なのか、うーん。 >>742の棋譜を序盤DBに取り込んで、その序盤DBをもとにDNNの学習をやり足しました。
DNNは序盤DB拡張と学習のサイクルを繰り返し行っているので秘伝のタレみたいになってますw
これで今夜からもう一度対LV3対戦やってみます。 7局目 黒(airandom.dll)の勝利回数: 3 白(ai-lv3.dll)の勝利回数: 4
7局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 3
7局目 黒(airandom.dll)の勝利回数: 3 白(ai-lv3.dll)の勝利回数: 4
5局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 1
7局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 3
5局目 黒(airandom.dll)の勝利回数: 3 白(ai-lv3.dll)の勝利回数: 2
4局目 黒(airandom.dll)の勝利回数: 1 白(ai-lv3.dll)の勝利回数: 3
5局目 黒(airandom.dll)の勝利回数: 3 白(ai-lv3.dll)の勝利回数: 2
9局目 黒(airandom.dll)の勝利回数: 7 白(ai-lv3.dll)の勝利回数: 2
6局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 2
6局目 黒(airandom.dll)の勝利回数: 2 白(ai-lv3.dll)の勝利回数: 4
7局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 3
42勝33敗 勝率56%
出だしは好調!
明日一日回してどうなるか… 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b) ありゃなんかRock54ついとる。
文章の繰り返しが駄目なんか? 残念ながら駄目でしたorz
155勝 209敗 勝率 42.6%
やっぱ対局回数増やすとこの辺に落ち着くのか、うーん >>746から対戦を止めずに継続していましたが
211勝289敗 勝率42.2%
となりました。
やっぱこの辺が真の値なのかな。 まじでZen2スリッパでたら買ってしまいたい衝動に駆られる 8勝2敗だと95%の確率で強いといえるらしいが、12並列もしてると1つは8勝2敗ぐらいになったりするw。
まあ確率的にはそうなのかも。
結局1000局くらいやらないと駄目ってことかな? やっぱ弱くなってるかもT△T
143勝 220敗 勝率 39.4%
このままこの学習サイクルを進めていいか迷うorz 禁断のモンテカルロ木探索の封印を解くか?
しかしあれは計算時間が半端ないからな。
出来れば避けたい。 プロのタイトル戦が7番勝負とかだけど7番ぽっちじゃ真の強者はわからんってことやなw モンテカルロ実装したけど、なんか素朴な手を選ぶようになってしまった。
うーん、コレジャナイ感がorz なんかおかしい。
LV3が強すぎる気がするw
もしかしてLV3には学習機能がついていて計算回せば回すほど強くなるとか?w
んなわけないか。 祝日だって油断してたらこんな時間w
弱くなってもいいから計算量削る方向で調整しています。 対戦統計とってます。
66勝 70敗 勝率48.5%
今のところむしろ勝率上がってます!
速度も若干だけど速くなったはず…
勝率50%が欲しい! 久々です。
新型版はテストのためにいちいち学習を止めるのが面倒で、放置しています。
一晩耐久テストやらないとわからないので。
で、未だずーっと棋譜作成&学習を続けています。
もともと800件強の記譜をベースに間違い訂正をしたり、確定しているところ以降
の全分岐を作成したりして学習データにしていたのですが、昔作った記譜なので
序盤で結構間違いが多く、効率よく学習できないのではないかと考えました。
で、最近は序盤の定石6〜20手からスタートして記譜を作成したりしていました。
そこそこ序盤の間違いが訂正されてきたのですが、まだところどころおかしい
ところがあって、Zebraで並べてみながら、多分間違えたであろう箇所を特定して
それ以後の記譜を作らせる事で、強制的に正しい手順に戻すなんていう、禁断の
ドーピング技を始めてしまいました。
現在は1200記譜くらいまで増えていますが、まだまだ間違いも散見されますし、
パブリックドローの変化っぽいのに、記譜が無いものもあり、まだまだ記譜が足り
ていない感じです。
あと、ドーピング作業やりながらZebraの評価値見ていると、20〜30手目あたりは
進行の種類によってはZebraの評価値もあまりあてにならないなぁと言う事に気付い
てしまいました。ここら辺の精度を上げると、もっと強くできるのではないかと思います。
自動対戦してくれる序盤DB付きのオセロプログラムがあると、ドーピング作業が更に
楽になるんだけど(汗
現在残り20手目以後の学習に使う盤面は70万件くらいになっています。それでも
残り20手以後の初見の盤面の評価値では結構な誤差があります。本当にBuroさん
の線形評価関数で良いのかというのも相変わらず悩ましいところです。 197勝 233敗 勝率 45.8%
悪くない。
一旦対局中断します。 やっぱ1手1秒くらいで打ちたいなぁ。
そうすれば対戦統計も棋譜も全然もっと取れるのに LV2と対戦してみました。
50局目 黒(airandom.dll)の勝利回数: 48 白(ai-lv2.dll)の勝利回数: 2
勝率 96% LV1ともやってみました。
50局目 黒(airandom.dll)の勝利回数: 45 白(ai-lv1.dll)の勝利回数: 5
勝率 90% ふーむ、損失が減らない地点まで学習が進んでしまったようです。
一回止めるか。 うーん、やっぱ現状を打破する画期的なアイディアが必要かな。
ちなみにいまは強さよりも速度が欲しいかも。 対戦してます。
黒番 対 LV3 107勝 102敗 勝率 51.2%
200戦以上して勝率50%超えはすごい!
今日一日回してみます。 結局負け越しでした
165勝 174敗 勝率48.7%
でも決して悪い結果ではない! まだ回してました
239勝 237敗 勝率 50.2%
キター!
まあ、今だと50%行くかどうかはホント運しだいなんだろな。 うお、棋譜が多すぎてls */*.sgfがコアダンプするようになったw
分割しないと駄目か〜 そろそろ人間(俺)相手に勝利が欲しいところだがまだむずかしいかな。
素人相手なら勝てるんだろうか? 既知のパブリックドローのリストが見つかったというか、
今年になってブログでまとめて発表してくれている人がいた。
ちょうど良いタイミングすぎる(汗
2種類あるのと、自分がZebraから拾った奴を合体して、32手目まででカット。
ソートして重複削除したら450件程度に。多分既存の記譜と多少重複してると思う。
全部やるとかなり記譜が偏る気がするけど、やっちゃうかな。 序盤DBを劇的に改善する方法ないかな?
不利なオープニングを避けるだけで勝率めちゃくちゃ上がりそうな予感がするんだが。 作ってるですがそれでも不利な局面になったりしますorz 棋譜から序盤DB作る時に、その盤面からの勝率入れて、勝率が高い手を指す
ようにするとか。まあ、ぶっちゃけ記譜単位でmctsやってるような事になるの。 いや、それに近いイメージのものはすでに実装してあるんですが、たまに変な手を打つのです。 普通DB化すると同じ手順だと毎回同じに間違えるはず。
だとするなら、DBの棋譜をテキストに吐き出すなどして、チェックしたら?
間違いっぽい分岐見つけたら、正解着手させてその後を対戦させて記譜を
強制的に正しい分岐を学習させるの。そのあとでも間違えて、なかなか治らない
事もあるけど。
これが>>760で書いたドーピング。 >>774のリスト。パブリックドローはFJT分だけだった。
2種類あって、もう一つは代表的な序盤定石から適度に着手した後で、
残り30手を読み切ったリストで、ドローとは限らなかった。
遡りチェックの時にあり得ない奴があったので、気が付いた。
試しにZebraで並べて評価値見てみたら、中盤で結構変な手順になっていたりする。
まあ記譜の足しにはなるかなぁという感じ。 手動でDB書き換えるのは工数的に地獄の苦しみなのですw
まあ、負けた棋譜だけ水増ししてDBに登録するのはあるかも? 自動対局プログラムに手を入れて棋譜のファイル名に黒が勝ったか白が勝ったか入れるようにしました。 やっぱ手動で棋譜を訂正するのはムリゲーだなぁ。
棋譜訂正も自動化すべきかな。
うーん そうか。オセロだとある程度定石はあるし、ZebraやEdaxで並べれば
終局スコアの予想はできて、間違いが見つけやすいけど、囲連星では
そうはいかないですね。
途中で変な手を打つのは、恐らく記譜が足りていないからではないかと
思います。オセロでもドーピングやらないで純粋に自己対局学習だけで
やった場合、1万〜10万対局くらいは必要かなと思っています。 勝った棋譜水増しするのと負けた棋譜水増しするのどっちがいいんだろ?
おんなじ割合で水増ししたら意味ないかもw
とりあえず負けたほう増やすか とりえあず、負けた棋譜を100倍にして序盤DBに注入してます。
定型パターンにはまりやすいLV2にはかなり効果あるのですが
変幻自在なLV3には今一つみたいです。 負けた棋譜だけ増やすとバランス崩れるかも?と思い始めました。
うーん。 やはり大量、多種類の棋譜が欲しい。
棋力が下がっても計算量を抑えて、速度を稼ぐ方向で行くべきか? 2手読みだったところを1手読みにしたら大分早くなったけど、やっぱ棋力は落ちるな。
これはちょっと採用するか迷う。 ん、なんか白番が絶望的に負けてる。
なんか評価値の計算まちがえたか? それとも棋譜水増しで入れた序盤DBが狂ったのかな? 白番で、相手が初手端のほうに打ってきたときに、盤が狭くなって序盤DBどおりに打つのが悪くなるみたい?
とりあえず、白番持った時に相手が初手天元付近に打たなかったときは、中央寄りの斜めに打つように変えた。
これで少しでも緩和されるといいな。 水増しした分の棋譜はいったん削りました。
確率の理論を根底から壊してしまうみたいなので。
やっぱ遅いようでもじっくり行くのが確実っぽい。 今、極端な水増しはやめてほどほどの水増しにしてます。
新しい棋譜が古い棋譜の1〜2%程度になるくらいに水増ししてます。 どんより…
バグを見つけてしまった。
今ある記譜50万件の数%くらいに間違いがありそう。
直管的には、全データに対して読み切り処理を噛まさないと間違いの有無すら確認できない。
多分、逆順探索処理を簡素化した時にバグが入り込んだのだと思う。
暇なのでログ書き出しの処理を作ってたら見つかった。
うぐぐ。
もうしばらく様子を確認して、他にもバグが無いか見た上で…どうしよう。
一旦記譜をリセットして作り直すべか。 と、書いた直後に気が付いた。
ログの側のバグだった事に…
お騒がせ様でした。 いままで8対称中4対称で学習してましたが、のこりの4対称も学習させてみることにしました。
8対称すべてはメモリに収まらないので半分づつ学習させます。 178勝192敗 勝率 48.1%
8対称、勝率あんまり上がらないですね。
うーん、うち筋は悪くないと思うんだけど。
なにかブレークスルーが欲しいですね。 154勝178敗 勝率46.4%
2手読みに戻したらかえって勝率さがりましたね。
誤差の範囲かもわかんないですが。 お、素晴らしい勝ち方した。
必勝形のダブルリーチ
これほど少ない石数でこの形を作れるとは…
(;SZ[19]
;B[jj];W[kj];B[jk];W[li];B[ji];W[lh];B[kl];W[jm]
;B[ih];W[lk];B[ig];W[jf];B[il];W[ik];B[hk];W[if]
;B[im];W[ij];B[hj];W[lg];B[ii];W[in];B[ik];W[jn]
;B[ij]) ふーむ、いままで勝率のいい手かつ沢山選ばれた手を優先的に選択するように序盤DB周りを組んでいたのだけど、
それだと手が固定されてしまうかなと思って勝率のいい手かつあまり選ばれてない手を優先的に選ぶようにしたら
147勝 220敗 勝率40.1%
これは誤差とは言えないほどの差ですねぇ。 205勝 246敗 勝率45.5%
棋譜取り&序盤DBへの取り込みを継続したら少し勝率戻りました。
50%付近まで頑張ろう。 なかなかの快勝だった
こういう風に毎回打てるといいんだけど
(;SZ[19]
;B[jj];W[ij];B[ki];W[ii];B[ik];W[ih];B[jh];W[ji]
;B[kj];W[jg];B[kh];W[if];B[hj];W[ig];B[lk];W[jk]
;B[jl];W[hk];B[kk];W[km];B[hl];W[gk];B[gm];W[fn]
;B[kg];W[kf];B[lf];W[mg];B[lg];W[gi];B[le];W[lh]
;B[mh];W[mi];B[li];W[ie];B[id];W[md];B[lh];W[nd]
;B[lj]) 192勝 212敗 勝率 47.5%
棋譜取り、序盤DB更新、DNN更新だけでは50%の壁は突破できないかもな。 130勝 195敗 勝率40.0%
ん、勝率かなり落ちた。
何が起きた? どもです。
ひたすら記譜作成中に、やっぱり暇なので、記譜管理周りをリニューアルしていたら、
結局記譜ファイルの形式を大きくいじってしまい、かなり全面的なリニューアルに。
そしたら、あちこちバグが出て、結局記譜作成より新作デバッグ優先に(汗
>>809-810
序盤DBは、記譜溜めていくと途中で弱くなるけど、いずれ直ってくるものだと思う。
正しい手順があるとして、1回間違えると、間違えた側が負ける記譜ができる。
負ける事で、その手は選ばれない事が記譜に登録される。
しかし、探索の精度が低い状態で記譜作ると、2回間違える記譜ができて、本来
負けのルートで勝ってしまう。これが記譜に登録されると、この2回目の間違いが
訂正されるまでは勝率が下がる。
どのくらいで直るのかは、直接なのか評価関数経由の間接なのかなど、フィード
バックのかかり方で変わってくる。直接的なら割とすぐに直るはず。
自分のは間接なのでかなり時間がかかりそうで面倒なので、Zebraで2つ目の間違い
箇所を特定して、そこまで着手した後探索をする棋譜を作って、かなり強制的に直し
ちゃった。
序盤は大体良いのだけど、確定値で学習している箇所と、序盤DBで学習している
箇所の境目で、確定値が足りないまま過学習になっている評価値ステージがあって
そこらあたりで大抵間違える(汗 天頂の囲碁を使って9路を徹底的に調べたら面白いかも
ま、やらないけどね 新作の探索周りを、例のバグ付のやつにしたら、案の定バグ発生。
色々と入れ替えながらバグ発生箇所を特定に成功しました。
が、なぜそこでバグっているのかわかりませんorz
まともに動いたから良しとするしかない感じ。
あと2か所改良したいところがあります。
あと2日では無理だなぁ。 と思ったら、またいきなりバグ発生。
原因は複数ありそうですorz 原因判明。アホなミスでした。
やっぱり当初の置換表に変なデータが登録されているのが正解だった。
残した課題のうち1つもできた。 最後の課題は、学習の速度アップを目論みましたが、まったくダメでしたorz
さて、何をしよう。 序盤DBがおかしくなってたので、序盤DBの手の採用基準をもとに戻しました。
あと中盤終盤でDNNの値の比重を大きくしました。 59勝 62敗 勝率48.8%
なんとか勝率50%弱まで戻せました。 来たっ
262勝 248敗 勝率51.4%
誤差の範囲かもしれないけど嬉しいっ そろそろ白番も着手していくか、もうちょっと黒番を突き詰めるか。
悩ましいい。 ありゃ、わずかな棋譜を序盤DBに加えただけなのに勝率めっちゃさがった
149勝 202敗 勝率 42.5%
そんなに微妙なものではないと思ってたが?? 棋譜さらっと見てみたけど序盤DBが壊れたって感じでもないなぁ
実は微妙なものだったのか、誤差の範囲なのか? 163勝 202敗 勝率44.7%
±5%くらいは誤差ででるのかもしれないなぁ こんな時統計の知識があれば真の勝率は○○%〜××%の間とか論じられるんだろうなぁ うお、すげぇ
179勝 149敗 勝率54.6%
この数字をどう解釈すればいいのか… まだ勝ってる。
222勝 194敗 勝率53.4%
そろそろ棋譜反映させるか。 長連対策、完全じゃないけど簡単な判定入れてみた。
さてどうかな? かなりいい
対LV2 白番はもうちょっと勝ちたいかな
対LV1
黒番 61勝 9敗 勝率87.1%
白番 49勝 4敗 勝率92.5%
対LV2
黒番 57勝 0敗 勝率100.0%
白番 10勝 28敗 勝率26.3%
対LV3
黒番 25勝 16敗 勝率61.0%
白番 13勝 28敗 勝率31.7% ふむ。かなりいい。
一回止めるか。
対LV1
黒番 90勝 10敗 勝率90.0%
白番 64勝 6 敗 勝率91.4%
対LV2
黒番 78勝 0敗 勝率100.0%
白番 14勝 33敗 勝率29.8%
対LV3
黒番 39勝 23敗 勝率62.9%
白番 19勝 40敗 勝率32.2% LV3 vs LV3の黒番の勝率が65%くらいだったはずだから、黒番で勝率70%位いけばLV3越えといえるかも 地味な学習も必要だとは思うけどアイディア一発でドカンと強くなるのも諦めきれない。 ん、なんかDNN学習させたらうち筋はそんなに悪くなってないと思うんだけど勝てなくなったな。
なんだろう? 173勝 176敗 勝率 49.6%
対戦してみたけど思ったほど負けてないな? 初期アルファ碁のようにポリシーネットとバリューネットに分けてみるか? そこそこの精度でも軽い評価関数は結構ほしいかも。
モンテカルロで役に立つし。 というわけで、今使ってるDNNより大幅に簡素化したネットワークで学習させてみる。
データは同じ。 あれ、大幅に簡素化したのに学習時間が思ったより短くならないな。
10倍速くらい早くなると思ってたのに3倍速くらいだ。 ■ このスレッドは過去ログ倉庫に格納されています