【オセロ,将棋】ボードゲーム Part3【囲碁,War】at GAMEDEV
【オセロ,将棋】ボードゲーム Part3【囲碁,War】 - 暇つぶし2ch131:310
20/02/23 00:56:57.70 9FygPBnT.net
間違い探しを続けるうちに、何故Zebraの評価値の方がまともに見えるか問題に
突き当りました。で、評価関数を手数毎に60種類に分割している事で、学習データ
が不足しているとか、スムージングしていないために、2手前の自分の番の盤面との
差分が取れないとかの問題があるのかなぁと思い立ちまして…。
また、4対称採用した事で学習時間も4倍になってしまいまして…。
思い切って、評価関数を1つにまとめてみたらどうだろうと思い立って、専用の学習
プロジェクトを作ってやってみました。通常数百回学習しないとまともな学習ができ
ないのですが、20回学習したところで、意外とフィットしてしまいました。学習時間も
少し減ってる気がする。
一旦評価関数の癖を変えたほうが強化学習も進むかなと思い、とりあえず本番採用
してみました。気持ち速度も速くなった気がしています。もっとも、評価関数の学習具合
によってαβのorderingも変わって速度が変わったりするので、今後学習を積み重ね
て、過学習気味になったりした時にどうなるのかは不明。
これから数日動かしてみて、良かったらこっちにしようかと思います。強いオセロAIを
作るのなら、対戦してどっちが強いとかやるのが本来なのですが、特にそういう目標も
現状あるわけでなし(汗

132:310
20/02/23 01:08:08.23 9FygPBnT.net
>>127に捕捉しとくと、
自分はGreedyな手法の精度をあげるために、浅い探索(9手)と組み合わせて、
評価値が少しだけ悪い手とか、Book登録ないのに評価値が良いとか、いくつかの
基準の訂正ロジックを作って、明らかに悪い手を排除したGreedy法をとって、
既存の棋譜に対して順次分岐を生成していく事で、Bookを埋めて行っています。
分岐は13手読みで作成していますが、この分岐も間違いがそれなりにあるため、
間違いを積み上げているのではないかという懸念もあります(汗
オセロの場合、黒白両者とも最善の場合、引き分けに収束する可能性が濃厚なため
初手から最善引き分けとなるツリーについては、先頭側からこのGreedy法で分岐を
生成し、また(後ろから)確定読み切りを優先して実行する事で、引き分け手順だけ
優先的に精度を上げています。
評価関数作るのに、こういう制約をつけた方法が良いのかは不明です。現に極端に
形勢が傾いた盤面の読み切りは、学習データが不足しているために、引き分け盤面
よりずっと時間がかかるように感じています。

133:310
20/02/23 03:01:39.99 9FygPBnT.net
げげ。>>131の奴、本番に入れて学習させたらうまく動かん…。
原因箇所は特定できたけど、そもそもBook分だけで学習していて、後半の棋譜から
教師データ作ってなかったので、件数が大幅に違う。後ろ15手分が抜けている。
が、これが入ると学習の途中で無限ループに入ってしまう。
何かのオーバフローなんだと思うけど、今は原因不明orz

134:310
20/02/23 10:00:35.35 9FygPBnT.net
たぶんなおった。
学習の進行具合インジケータの*印の数を作るところでオーバーフローして
延々と*を表示し続けてるだけだったw
こういうところで適当にint使っているのがいかん。
と、怪しそうなところをsize_tに直したら、整合性が取れなくなってワーニングの嵐w
適当にsize_tにすればよいというものでもなかったw

135:535
20/02/23 22:36:15.39 xJvwRHu1.net
オーバーフローが嫌だからついlong longを使ってしまうw
メモリ余計に食うけど。

136:535
20/02/24 18:53:46 S84dSY4F.net
タイルゲーム、完全解析した後でもそれなりに楽しめる不思議。自力では勝てないからな。
そういやconnect4より複雑で完全解析されててネットで遊べるゲームってなにかあるのかな?

137:535
20/02/25 20:37:07.39 10rOW9ls.net
データ取りなおしたので再度DNN学習させてみます。
ついでにネットワーク少し大きくしてみます。

138:535
20/02/26 20:24:56 LbNvrAvP.net
なんかDNNほぼ最悪の手を打つんだが…
真逆の学習させちまったか?

139:535
20/02/26 20:40:14 LbNvrAvP.net
試しに評価値に*-1してみたがやっぱり悪い手を打つ。
真逆ってわけでもないのか?
わけわからん

140:535
20/02/26 20:50:37.02 LbNvrAvP.net
モンテカルロ木探索の部分が間違ってたっぽい

141:535
20/02/26 21:22:57 LbNvrAvP.net
うーん、なんかアルファ碁Leeみたいに、数手前の手順を学習データとして食わせるといいかもなぁ。
石がぶつかってる時の判断がちょっとおかしいんだよなぁ

142:535
20/02/26 21:35:19 LbNvrAvP.net
もうヒューリスティックもモリモリ入れちゃおうかなぁ

143:535
20/02/27 19:12:50 7f4H7cqb.net
お、微妙に勝ち越している。
でも微妙すぎw

144:535
20/02/27 21:11:32 7f4H7cqb.net
先制攻撃を仕掛ける体制が整っているかどうかの判定が今後の課題ですね。

145:535
20/03/01 21:57:12 X+Ti9n7n.net
先制攻撃を仕掛けた時に反撃で逆に取られる確率とか学習させたら駄目かなぁ?

146:535
20/03/02 06:27:35.74 Td8MIT1I.net
ある局面に対し、それぞれの点が黒の地になる確率のベクタを返すようにDNNを学習したらどうだろう?

147:535
20/03/03 21:11:27.98 PL4UDoSq.net
前回はスコア差を評価値に学習させましたが、今回は勝率で学習させてみます。
結局セオリー通りがいいのかもしれないので。
ホントはスコア最大化はぜひともやりたいんだけど。

148:535
20/03/04 20:23:35.42 Q7ItuMwb.net
勝率で学習させたら黒番は勝ち越してますが、白番は負け越してますね。
白番でも勝てると思いましたが。

149:535
20/03/04 20:44:28.42 Q7ItuMwb.net
うお、バグ発見w
DNNが全く働いてなかったww
黒番で勝ち越したのはたまたまやなこれは。

150:535
20/03/04 21:10:05 Q7ItuMwb.net
うーん、石をくっつけて打つなぁ
もっとばらけさせたほうがいいと思うんだけど。

151:535
20/03/04 21:14:38 Q7ItuMwb.net
うーん、石がくっついているか離れているか標準偏差のようなものを出して学習パラメータに渡すとか

152:535
20/03/04 21:17:15 Q7ItuMwb.net
ホントはあんま手動で特徴量出そうとするのよくないアイディアなんだろうけど。

153:535
20/03/04 21:43:12 Q7ItuMwb.net
結局モンテカルロの勝率データだけだとだめっぽくて、いろんな戦略の中からより良いものを探すようにしたいなぁ

154:535
20/03/04 22:34:42 Q7ItuMwb.net
あれ、黒番、白番ともダブルスコアで勝ち越してる??
まだ対局数少ないからあれだけど。

155:310
20/03/04 22:39:44.37 XCbeW9Ri.net
自分は、最近、学習効率アップさせようと入れていたヒューリスティックなロジックは
見つけ次第外す方向だったりします。
棋譜作成の元ネタだけは、結構たくさん手動で追加していますが、見つけ次第追加
みたいなやり方で、偏りが出そうな気がするのと、手動追加だと入力ミスも結構あって
面倒なので、どこかで後続棋譜が少ない手順を順次自動で追加していくようにしちゃ
おうかなと思ったりしています。ただ、本当に見てるだけになっちゃうのがちょっと嫌。
そんな事より、棋譜作成のペースが速すぎて、逆順での読み切り(スコア確定)が
追い付かない。

156:535
20/03/05 20:28:15.73 P4JeNRVF.net
黒番 188勝 48敗
白番 176勝 55敗
めっちゃ勝ってる!!

157:535
20/03/05 20:45:33.61 P4JeNRVF.net
結局ポスグレ全く使ってないというw
ま、当面ポスグレは保留かなぁ

158:535
20/03/05 21:05:27 P4JeNRVF.net
とりあえず、この新しいAIで勝率データ取りなおして更に学習させるスパイラルへもっていくか。

159:535
20/03/06 20:19:27.94 1GJjUnMY.net
うお、人間(俺)に勝った!
まぐれっぽいけど

160:310
20/03/06 21:29:36.82 76Zol1eh.net
小人閑居して不善をなす…
評価関数の学習周りをいじっていたら、学習エラーが大きく(4~5倍)なってしまった。
オプティマイザーをAdamにしてみたのが悪かったのか(バグ?)、それとも他にいじった
ところが悪かったのか。オプティマイザーを戻して、追加学習してみたけど、全然もとに
戻らない。
と言いながら、色々と溜まっていた懸案も機能追加してしまった。
結局、どうにも直らないのでウェイトを一旦クリアしてRMSpropで再学習してる最中です。
明日の朝にはまともになっているかなぁ。

161:310
20/03/06 21:39:02.84 76Zol1eh.net
行列パッケージEigenにユーザ拡張のサポート無し機能がいくつか追加されていて、
その中にTensorクラスがある事に気づいた。
速度は期待できないけど、もう一度DCNNやってみようかなぁ。
つか、もう一台PCがあれば、棋譜が既にあるので、テストできるんだよなぁ。

162:310
20/03/06 22:53:37 76Zol1eh.net
RMSpropで一から学習しなおしで、もうすぐ20エポックだけど、順調な感じ。
前回同様20回+αも回せば結構よいところに行きそうな感じ。

おかしかった時は、もともとの場所から離れて、変な局所解にトラップされていた
ような感じになっていたんだよなぁ。現状のAdamのコードにバグがあるのか調べ
たいけど、もともと参考にしたサイトが見つからない。今見つかるやつはChainerの
類の疑似コードらしく、ちょっとやそっとでは解読できないレベルの記号の羅列orz

163:535
20/03/07 01:06:05 NIcvsU6/.net
モンテカルロ+ヒューリスティックAIにも勝利!!
いい感じだ。

164:535
20/03/07 21:53:01 NIcvsU6/.net
あーもう、計算時間かかりすぎ!
あと3~4日は計算回さないとデータが集まらない。

こんなときスレッドリッパー3990xがあれば…

165:535
20/03/07 22:30:53.08 NIcvsU6/.net
ぶっちゃけ1週間かかる計算が1日で終わるとしたら3990x買うのもありなんじゃないか…???
金がないけど。

166:310
20/03/07 22:53:18 6tZRBA6n.net
まあまあ。

自分は棋譜作成開始して、既に数年経ってる気がする(汗
途中データ飛んだりしているから、実際はもっと長い。

だんだんコツがわかって収集速度は加速的に高速化してきているけど、
今度はメモリー溢れが恐怖。

167:535
20/03/10 21:38:55.27 IkE5Ol6x.net
データもぼちぼち溜まったしDNN学習に移ります。

168:310
20/03/11 19:25:55.84 N0CjcdIm.net
Eigen UnsupportedのTensorクラスを見つけて、またぞろDCNNに興味が沸いて来ま
した。で、思い出しがてらウェブを眺めていました。前回断念したのは畳み込み層の
計算を行列で行うためのim2colのロジックを高速に行う方法が見つからなかったから
だと思い出しました(汗
しかし、気が付いてしまいました。所詮8×8のマスの定型変換で、汎用性いらないので
64ビットのローテーションとマスク値とのandというビット演算で、前処理ができてしまい
ます。そのあとで行列に変換すれば良いだけの事でした。つまりim2col関数はいらん。
もう少しDCNNの最新動向をフォローしてから、同じ棋譜を学習させて試してみたいと
思います。

169:535
20/03/11 20:59:47.72 kvcp7+Sq.net
DNN学習、損失もいい感じで減ってきました。
素のモンテカルロとの対戦に移ります。

170:535
20/03/11 21:02:33.51 kvcp7+Sq.net
実を言えば私は畳み込みはやってないんですな。
全結合でやってます。

171:535
20/03/11 21:13:45.28 kvcp7+Sq.net
お、
黒番 7勝2敗
白番 9勝0敗
これは期待が高まる!!!

172:535
20/03/11 22:57:19.64 kvcp7+Sq.net
黒番 22勝3敗
白番 20勝5敗
いいね~いいね~

173:535
20/03/11 23:19:03.17 kvcp7+Sq.net
そろそろソースコードのバージョン管理とかやったほうがいいのかなぁ
GitHubとか

174:310
20/03/12 00:31:25.32 CNvjXxHZ.net
GitHubとかよーわからんのだけど、コメント適当だったり、変数や関数名の英語が
変だったりするソース公開する度胸ないのを言い訳に、調べようとしていない(汗

175:名前は開発中のものです。
20/03/12 00:34:39.55 TwK5c7NK.net
プライベートプロジェクトにすればいい。昔はパブリックだけプロジェクト数無制限だったけど今はプライベートも無制限。

176:310
20/03/12 00:39:06 CNvjXxHZ.net
情報ありがとうございます。
ちと調べてみます。

前みたいにソースもデータも丸ごと飛んだら困るので。

177:名前は開発中のものです。
20/03/12 10:02:43.61 c8m7GwVr.net
GitHubの前にGitを使おう
使えるようになってからでいいよ、GitHubは

178:535
20/03/12 19:58:09.43 so1xRnaL.net
ありゃ、
黒番111勝 29敗
白番105勝 33敗
おもったほどじゃなかったorz

179:535
20/03/13 22:42:10.14 vmr0Tb8m.net
業を煮やしてヒューリスティックを実装した。
さてどうなるか。

180:535
20/03/13 23:28:51.32 vmr0Tb8m.net
ちなみにヒューリスティックの内容は石がぶつかってないときは相手の石からも自分の石からも一間以上離して打つというもの。

181:535
20/03/14 18:49:30.64 z7EfFQTc.net
くそーうまく行かねー

182:535
20/03/14 23:30:28.50 z7EfFQTc.net
あーなんか気が抜けちゃったな
次のアイディアもないし

183:310
20/03/16 00:36:34.84 FpZgJFeI.net
しばらくは棋譜の遡りを優先しようと思っていたのですが、やっぱり暇ができると
どうしても何かやりたくなってしまい、結局序盤中盤の貪欲法絡みのブラッシュアップ
をしてしまい、またまた遡り対象の棋譜を増殖させています(汗。
DLやろうか、将棋AIの勉強しようかと思い立ち、将棋AIの本などを買い込んでつらつら
眺めていたら、実現確率探索なるものを見つけてしまいました。遷移確率は評価値の
Softmaxで作れる気がしています。現在、前方の打ち切りはProbCutでやっていますが、
途中の1つの盤面の評価値が酷い状態だと、その時点で問答無用でカット対象となって
しまう懸念があります。その点、実現確率探索の方が多少ロバストなのかなぁと。逆に、
手が広い局面では探索深さが浅くなってしまう悪影響も想定できます。
とはいえ、中盤探索のロジック自体は多少の改良で済むのですが、置換表使って中盤
探索の結果を終盤探索のオーダリングに使うところは結構修正が必要な気がします。
最悪反復深化をまるっとあきらめなきゃならないかも知れません。あと、なぜか評価値
に+1~2程度の手番加算がついたみたいになっている事から、探索深さを揃えられ
ないと、そっちからも悪影響が出る可能性があります。
かなり大幅な変更と、テストが必要なので、ちょっと躊躇しています。
プロジェクト全体コピーして別プロジェクト建てるレベルです。むむむ。

184:535
20/03/17 21:33:11.60 7xvLqO5q.net
DNN評価値の上位7手を初手から全展開するというのをやろうとしたのですが、意外とDNNの計算が重たいですね。
すぐにメモリ溢れるだろうとみていたのですが、牛歩のような計算の進み具合で、溢れるまでかなり時間かかりそうです。

185:535
20/03/17 22:41:35.63 7xvLqO5q.net
60万局面展開するのに33分かかる。
遅い。

186:535
20/03/17 22:44:36.96 7xvLqO5q.net
DNN使わないと100万局面展開するのに4秒www
うーむ

187:310
20/03/18 00:47:20.72 Wk4mfxEa.net
結局、実現確率探索に取り掛かってしまいました(汗
新規ソリューション作ってコピペ始めたところで、いずれ評価関数を整数化したかった
事を思い出して、あちこち修正開始となりました。
一応、普通のDepthバージョンと同じ深さになるように調整して、速度比較してみるつもり。

188:535
20/03/18 20:17:58.60 4pnoWutQ.net
DNNの評価値上位7手を全展開してポスグレに詰めるのを実行に移すべきかどうか迷ってる。
一応そのつもりで8TBのHDDもポスグレも用意したんだけど、あんまりいいアイディアに思えなくなってきたというか。

189:310
20/03/18 23:45:39.14 Wk4mfxEa.net
実現確率探索の中盤探索、プロトタイプのαβ版を作って癖を見ています。
実現確率は、評価値のSoftmaxで各要素を足して1.0になるように正規化するより、
最大値が1.0になるようにした方が使いやすいです。というのも、最大値をひたすら
追った枝の終了条件が綺麗に決まって最大深さを指定できるようになるからです。
1.0そのままだと終わらないので、例えば0.5にしておくと、深さnにしたい時は1÷2^n
が閾値になります。0.1の時は1÷10^nです。まあ、なんでもよいという事です。
後は各要素の差のつき具合を決める定数を調整すると、評価値が悪い手について、
どこまで探索の深さを確保するのかが決まります。ここが職人的作業なのがネック。
絞ると爆速。∞だと、ただの全幅探索になります。
速度は結構出てるのですが、調整ミスると全くダメみたいな様子が見え隠れしていて、
本当に常に使えるのか、まだ心配です。おそらくProbCutでも同じような問題がおきて
いるんじゃないかと思いますが。
次は置換表ですが、合流が発生した時の実現確率がルートによって違うので、その
時の置換表の評価値を使って良いのか悩みどころです。また、上述のように最大探索
深さを調整できるので、反復進化的に閾値を下げて行く事が可能性です。そうすると、
反復深化的に使いたくなるのが人情ですが、オーダリングにどのように反映するのが
良いのか。これも悩みどころだったりします。
要するにあと1週間くらいは遊べそうです(笑)

190:310
20/03/18 23:56:29.62 Wk4mfxEa.net
あと、裏で棋譜作成進行中ですが、評価関数の学習時に、既存データに対する
エラーが増加を始めて、過学習の傾向を示しているのですが、例えばFFOの盤面
のように教師データ中に現れない盤面に対するエラーは減少しています。
状況的には、極端な石差がついている盤面の評価値が、石差ほどの評価値になって
おらず、じわじわと汎化が進んでいる一方、±0近傍の盤面は既に多いため、過学習
気味になっているのかなぁと推測しています。
とはいえ、非常に気持ち悪いです。
というわけで、ちょっと工夫をして石差が大きい棋譜を優先的に遡りチェック対象にしたり、
新規の自己対局するときに石差が大きくなる(悪い)進行も作るようにする事で、ほんの
少しですが、石差が大きい棋譜が増えるようにしてみました。まあ気休めです。

191:310
20/03/19 23:17:05 opMYHtHc.net
実現確率探索の中盤探索ができました。置換表と並列処理のところまでです。
反復深化→読み切り処理までです。置換表というか、オーダリング処理を結構修正。

反復深化まではそこそこ機能していますが、置換表経由で読み切り処理の高速化が
性能が出ません。置換表経由で、中盤探索の結果を用いて終盤探索のオーダリング
をするところで、置換表データの不足があったり、オーダリングの間違いが生じて、
無駄な探索をしているように思います。

とすると、これは読み切り処理を前提とすると結構致命的な問題な気がします。
もちろん、まだバグや仕様ミスの可能性もありますが。というわけで、Solver関係には
使えない可能性が出てきました。

また、評価関数で実現確率を導いているので、浅い段階での間違いに対して、探索
対象をロックしてしまいやすく、深く探索していっても間違いがなかなか改まらない
傾向が見受けられます。

まあ、仮にダメでも、新バージョンにする過程で、これまでペンディングしていた細かい
修正ができますし、既存タイプの中盤探索も作ってあるので、このまま進めてみます。

192:535
20/03/20 23:24:37.61 7lhYYUd2.net
DNNの上位7手を幅優先に展開していき200万局面を上限にストップ
展開したものをminmaxで評価値を再計算。
その結果をDNNに学習させようとしています。
ポスグレの出番はいまのところないw

193:310
20/03/21 02:31:57.66 XYOBIhf/.net
実現確率探索で、探索幅広げる方向の反復を試してみましたが効果はあまりなし。
単体で使用するとかなり早いのですが、置換表使った探索との相性がいまいち。
とりあえずSolverまで作って速度計測していますが、既存の反復深化より遅く、反復
深化無しよりは若干早いという感じで、単体の速度を利用して幅を思いっきり広げて
みましたが、こちらは逆に遅くなるという体たらく。
置換表周りでどこか間違いがあるのかなぁという気もしていますが、今のところ不明。
Solver周りでの活用は一旦置いといて、自己対局で使ってみる事にします。

194:535
20/03/21 17:30:57.63 cG9Ai74P.net
メモリ欲しい…
256GBくらい

195:535
20/03/21 18:19:45.50 cG9Ai74P.net
えー駄目だ負けるorz orz orz
なんで駄目なの???

196:535
20/03/21 18:23:26.64 cG9Ai74P.net
今回のはかなり期待してたのにorz orz orz

197:535
20/03/22 12:02:13 upkGajEt.net
棋譜見ると素のモンテカルロの動きが思っているよりずっといい。
なんでだろう?

198:310
20/03/28 00:29:51 vtZj/mQ8.net
実現確率探索というか、ソース全体見直し版が、だいたいできました。
まだデバッグ全部済んだわけではありませんが、後はログメッセージなんかの
細かいところくらいの修正かなと。

実現確率探索自体は、棋譜作成にフックを入れる感じでの使用にとどめていますが、
しばらく動かして、結果がよさそうなら切り替えようかなと思います。というか、対戦版
作るときには、中盤探索は実現確率探索で行くと思います。

で、実現確率探索と呼んでいますが、実際のところは違います。本来の実現確率は
「プロ棋譜など別途棋譜集から、よく出てくる手を回帰分析で確率化したもの」で、
よく出る手については深く探索しましょうという内容です。自分の奴は、確率を1手読み
の評価値から生成しています。1手読みにした理由は、差分計算で速く計算できる
からです。というわけで、本来は別の名前にした方が良いのですが、ネーミングセンス
が無いので放置です(笑)

他にも、本来と違う形で実装してるけど、放置してある名前が結構ありますorz

199:535
20/03/28 21:52:44.02 XqE/6uS7.net
囲碁AIでKatagoという凄く強いAIがあるのですがライフゲーム囲碁に流用できないかと思い始めた。

200:310
20/03/28 22:16:21.29 vtZj/mQ8.net
見直し版のチェックを本番やりながら進めてます。
今のところ、学習の速度が30%程度ダウンしたものの、終盤探索の速度が
30~50%高速化している感じ。どちらも原因不明。

201:310
20/03/31 00:30:27 1mhY2vrp.net
見直し版で、遡りチェックで無駄な処理を見つけて直しました。
更に速度アップして、トータル50%強の速度アップとなりました。
まだ探索自体の速度は上がってませんが、まだ無駄があったとは。

202:310
20/04/01 23:58:19.45 SRR0rDGm.net
急に探索自体の速度アップを思い立ちまして、いくつか実行。
ヒープ領域に作っていたオーダリング処理をスタック領域に来るように修正。
置換表のHash関数の修正で、置換表のキーエントリーの偏りを減らす。
これらにより更に高速化して、トータルで前バージョンの倍速近くなった感じです。
残り26手探索処理が1時間に90件弱→160件くらい。
あと、もうちょっとやってみたい事があります。

203:名前は開発中のものです。
20/04/02 03:15:04.40 iWlfdZP3.net
katago聞いたことない
alpha zeroは使わないの?

204:535
20/04/02 19:14:11.82 9cAiWeM1.net
deep mindのオリジナルのalpha zeroは公開されてないはず。
github行くとクローンがいくつかあるけど。
katagoはKGSってネット碁会所で最高段位9dで打ってる。

205:535
20/04/02 20:00:58.76 9cAiWeM1.net
でも当たり前だけどkatagoも相当高度なプログラムなので流用するのはかなり難しそう。

206:535
20/04/02 21:24:35.34 9cAiWeM1.net
あかん、やっぱkatago相当難しい。
githubから簡単そうな奴探してお茶を濁すか…

207:310
20/04/06 22:33:27 eOx9NvDZ.net
更に少し高速化しました。

オーダリングのvectorをスタック領域の配列に変更する部分ですが、並列探索部分
にも適用しました。配列も&でアドレス渡せばSTLのalgorism周りが使えるの知りました(^^;
スレッド間でのlockも他の処理と一緒にできるので、オーバーヘッドはありません。
あと、地味にセーブの時間がかかっていたので、回数減らしました。

残り26手1000件で10時間半が、5時間40~50分くらいまで来ました。平均20秒強。
残り25手の読み切りができていてBookで時短しているので、まったくの新規棋譜の
読み切りはもっと遅くなります。

sort部分も何とかならないかと思いましたが、もともと32件以下(オセロはたまたま
ですが次の手の上限は32)は挿入ソートになっているようです。コピペで挿入ソート
を組んで、速度比較してみましたが、有意差は出ませんでした。

件数少ない時に早くかつ安定ソートな方法が他にないか調べてみようかと思います。

208:535
20/04/10 20:40:22.22 KcO1uf/C.net
今これ見てます。
URLリンク(github.com)
libraryをビルド通るところまで行ったんだけどpythonでそのライブラリ読み込むと以下のようなエラーになる。
K:\alpha-zero-gomoku-master\test>python library_test.py
Traceback (most recent call last):
File "library_test.py", line 6, in <module>
from library import Gomoku, MCTS
File "../build\library.py", line 15, in <module>
import _library
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

209:名前は開発中のものです。
20/04/12 04:59:53.78 DFViLwjz.net
その環境の内容見てないから詳しくはわからないけど…原因は大体これ
1. 読み込もうとしているdllが適切なパスに存在してるか
2. 読み込むdllは64bitか32bitか(ビルド構成と一致していないとダメ

210:535
20/04/12 10:52:42 lk7abFDy.net
32bitか64bitかは64bitしか選べないみたいです。
適切なパスに存在しているかというのはどうやってしらべればよいでしょうか。
library.pyと_library.pydをカレントディレクトリに置いたりもしてみたのですが駄目でした。

ちなみにこれはswigというのを使っていてC++をpythonから読めるようにしているようです。
library.pyと_library.pydが生成されてlibrary.pyから_library.pydをインポートするときにこけています。

211:名前は開発中のものです。
20/04/13 02:33:11.01 q8ASrlIp.net
github見てみましたが、中国人が下で同じような質問してますね
buildディレクトリにコンパイルされたファイルを配置しないと駄目なようです
Pythonとかライブラリのバージョンも書いてあるので合わせたほうがいいかもですね
URLリンク(github.com)

212:535
20/04/13 20:06:39 E8a4txq0.net
ありがとうございます。
今python が3.6だったので3.7にしてみようとしたらpytorchがpipで入らず苦戦しています。

213:535
20/04/13 20:47:56.22 E8a4txq0.net
結局python 3.8.2を入れたんですが駄目っぽいorz
やっぱ無理にでも3.7にすべきか…

214:535
20/04/14 20:06:25 ezpleFZl.net
python 3.7.6を試してみましたが駄目。
pytorchももう1.1手に入らないっぽい。
手詰まりです。

215:535
20/04/14 23:01:32 ezpleFZl.net
>>208 動いたらめっちゃよさそうなんだけど悔しいな~

216:名前は開発中のものです。
20/04/15 20:25:07.80 4FzrEabb.net
Ruby なら、require/load で相対パスで指定されたときに、ファイルを検索する時の場所は、$LOAD_PATH だけど、
Python にはそういうパスが無いのか?
これで、site_ruby, vendor_ruby などが、ずらずらと表示される
ruby -e 'puts $LOAD_PATH'
Python は、よく知らないけど、import _library
で、拡張子 .pyd まで探してくれるのか?
_library.pyd

217:535
20/04/15 21:11:30 rifVao0V.net
レスありがとうございます。

ファイルを検索する場所はsys.pathというのがあるみたいです。
表示させたら以下のようになりました。

['K:\\temp\\alpha-zero-gomoku-master_orig\\test',
'C:\\Users\\nagat\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip',
'C:\\Users\\nagat\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',
'C:\\Users\\nagat\\AppData\\Local\\Programs\\Python\\Python37\\lib',
'C:\\Users\\nagat\\AppData\\Local\\Programs\\Python\\Python37',
'C:\\Users\\nagat\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages',
'..\\build']

import _library.pyd はエラーになりました。

218:535
20/04/15 21:32:18.35 rifVao0V.net
ん、neural_network_test.pyは動いた。
どういうことだ???

219:535
20/04/15 21:34:10.97 rifVao0V.net
import libraryの前にimport torchをつければいいのか???もしかして

220:535
20/04/15 21:42:29.92 rifVao0V.net
うおお、動いたっぽい!!!!
ありがとうございます!!

221:535
20/04/15 21:59:07.45 rifVao0V.net
leaner_test.py train 動きました!!
GUIが起動してポチポチ自己対局を始めました!!
これは期待が高まる!!

222:535
20/04/15 22:01:14 rifVao0V.net
とりあえず、五目並べでちゃんと強くなるかどうか2~3日学習させてみます。

223:535
20/04/15 22:19:15.19 rifVao0V.net
ん、GPUの使用率が1%くらいから上がりませんね。
でも0%じゃないからちゃんと使ってんのかな…

224:535
20/04/15 22:36:14 rifVao0V.net
お、早くも石が中央に寄り始めた??
そうだとしたら凄い。

225:535
20/04/15 22:48:39 rifVao0V.net
しかし、4すら止めないw。
ホントに0からの学習なんだなぁ

226:535
20/04/16 19:32:35 y39ZfUyK.net
お、凄い!たった一日で五目並べっぽくなってる!
たまにそっぽ打つのは乱数でランダムな手を打つようになってるんでしょうね。

227:名前は開発中のものです。
20/04/16 19:37:25 y39ZfUyK.net
うお、早くも人間(俺)に勝った!!
あり得ね~~~!!!

228:名前は開発中のものです。
20/04/16 19:38:07 y39ZfUyK.net
ヤバイ、これはヤバイww

229:535
20/04/16 19:40:53.49 y39ZfUyK.net
15路という非常に広い盤面でここまで早く強くなるとは…

230:535
20/04/16 19:44:25.68 y39ZfUyK.net
もう五目並べの学習は十分ですね。
となると次のステップはライフゲーム囲碁か囲連星を移植ですね。

231:535
20/04/16 19:54:51.08 y39ZfUyK.net
ライフゲーム囲碁はパスを実装しないといけないからまずは9路囲連星かなぁ

232:535
20/04/16 20:15:49.42 y39ZfUyK.net
すぐにでもコード書き始めたくなるけどぐっと我慢して>>208のソースを少し読み解かねば。。。

233:535
20/04/16 21:57:22 y39ZfUyK.net
あれ、モチベすげー湧いてくると思ったのに意外とそうでもないな…
仕事で疲れてんのかな…

234:535
20/04/18 17:12:26 FJQxs35t.net
実はライフゲーム囲碁を移植しようとしてたのですがパスの実装がやはり意外と難しそうです
9路囲連星に転進しようかな

235:535
20/04/18 20:23:03 dW+TeRwf.net
は~目の前に理想のalpha zeroがあるというのになぜかモチベが湧いてこない、踏ん張りがきかない。
さぼりモードに入りつつあるorz。
ていうか思ってるより移植が工数かかる作業なのかもしれない。

236:535
20/04/19 14:29:45.72 w4GEcYV8.net
9路囲連星はコードを消失していたので19路囲連星を移植してます。

237:535
20/04/19 17:44:45 w4GEcYV8.net
多分移植完了した。バグが無ければ。
学習フェーズへ移項します。

238:535
20/04/19 17:58:16 w4GEcYV8.net
うーん。これGUIの盤のひろさとプログラム上での盤の広さが違いますね。
まあ論理的には整合性は取れているので見た目だけの問題なので放置。

239:535
20/04/19 18:02:39 w4GEcYV8.net
まだ学習始めたばっかなので全然見当違いのところに打ちまくるの見てて切ないw
でもまあ、五目並べではわずか一日で人間(俺)に勝てるところまで来たのだから期待して待ちましょう。

240:535
20/04/19 18:42:21.72 w4GEcYV8.net
メモリ10GBくらい使ってる。
思ったよりでかい。

241:535
20/04/19 21:12:09.10 w4GEcYV8.net
GPUのファンが五月蠅い。
タスクマネージャーだと1%とかなのに。
タスクマネージャーじゃ使用率ちゃんと測れないのかな?

242:535
20/04/20 18:56:48 fRC4t5vc.net
強くなってないと思ったら致命的なバグがorz
勝敗データをパイソンに渡す個所にバグがあったようです。
丸一日の学習がパーorz

243:535
20/04/20 21:27:15 fRC4t5vc.net
ん、付けにははねよを覚えたっぽい?
だとしたら凄い。

244:535
20/04/21 20:44:10.63 JovHD0OJ.net
1日学習させたけど強くなってるように見えませんね
15路五目並べと19路囲連星じゃ勝手が違うか
とりあえず1週間位は粘ってみます

245:535
20/04/22 18:48:41 mXEm0GNy.net
強くなってませんね。
完全なランダムでないにせよ。
もう少し様子見します。

246:535
20/04/22 20:21:27.03 mXEm0GNy.net
は~じれったい。ハード性能があと10000倍くらいあればな~

247:535
20/04/22 20:23:13.93 mXEm0GNy.net
むしろ一生懸命7並ばないようにしているとさえ思えるw
バグなのかなぁ

248:310
20/04/22 20:43:03.08 ZptezZKq.net
相変わらず棋譜作成中。
プログラムはそれなりに改良しているつもりだけど、成果は全くなし。
まあ、思いついて試すのが楽しいんだけどね。
つか、逆順探索での棋譜訂正。やってるそばからあまりに間違っている筋を
見つけて、修正かける過程で、新しい棋譜どんどん増えて、バックログがどんどん
増えていく地獄になっています。まだまだ重要な分岐でも間違いというか未探索
が多すぎる。
手作業で修正箇所見つけるの面倒なので、延々やらないといけないけど、
ε-Greedy的な何か導入しようかなぁと思い始めています。

249:535
20/04/22 21:56:00 mXEm0GNy.net
お、もしかしてポン抜き覚えたか?
しかしこの学習速度で線形の速度で強くなるとしたらとてもじゃないが時間かかりすぎるが、
ある地点から爆発的に強くなったりしないのかなぁ

250:310
20/04/22 22:21:38 ZptezZKq.net
あるところまでは、間違いは間違いと学習するための時間かも知れませんね。

251:535
20/04/23 18:58:28.20 ynaVt4IB.net
うーん、少し囲連星っぽくなってきてるかなぁ?
ま、当分様子見かな。

252:535
20/04/23 21:04:31.79 ynaVt4IB.net
でもまあディープラーニングってルールも知らないネットワークが勝敗結果だけで強くなるって凄いことだよな。
人間がルール知らずに勝敗結果だけで強くなろうとしたら発狂するw

253:535
20/04/24 19:11:09 aNVKQhdF.net
囲連星本来の棋譜とはまだまだ程遠いけど、何かをつかみつつあるような気配がする。。。
様子見続行。

254:535
20/04/24 19:47:38 aNVKQhdF.net
あーネットワークの層増やしてみたいな。
囲連星は7目並べだから7層がちょうどよかったかも…
今デフォルトの4層でやってるんだけど。
でもいまさら後に引けないか。

255:310
20/04/24 19:50:11 wU9GyZ2x.net
DCNNなら層数よりもフィルタ数の方が大事かも。

256:535
20/04/24 19:55:02 aNVKQhdF.net
まじすか
現状でもフィルタは256(デフォルト)とかなり贅沢に使ってるんですが。。。
オリジナルの作者もフィルタ数が大事と思ったのかもしれませんね。

257:310
20/04/24 22:19:55 wU9GyZ2x.net
>>256
256フィルタあるんなら流石に大丈夫そうだね。

258:535
20/04/25 21:48:41.17 wwp+rt8W.net
やっぱ9路囲連星にしとけばよかったかな~
でもいまさら後に引けない…orz

259:535
20/04/26 17:31:58 73Aw05p/.net
うーむ、進むべきか引き返すべきか段々悩ましくなってきた。
まあもうちょい様子見続行か。。。

260:535
20/04/26 19:51:54 73Aw05p/.net
知性の芽生えみたいなものを全く感じないわけじゃないから打ち切るのも躊躇われるが、
いかんせん成長速度が遅いんだよなぁ。ウーム悩ましい。

261:535
20/04/27 17:44:36.98 bKact/KJ.net
囲めば石取れることはわかってるっぽいんだよなぁ
もう少し粘ろう

262:535
20/04/27 21:17:34 bKact/KJ.net
あーパソコン複数台ほしいなぁ
でも置き場所がないからなぁ
となるとAWSとかGCPとかかなぁ
でもあれ、金がやばいらしいからなぁ

263:535
20/04/27 21:37:15 bKact/KJ.net
囲連星もやりたいけど、ライフゲーム囲碁もやりたいんだよなぁ。
>>208のやつはパス実装するのが難しいからなんか別の奴探してこようかなぁ。
ルール的にはオセロのクローンから移植すればライフゲーム囲碁移植しやすいはず。

264:535
20/04/28 19:29:54.42 VfQhex7P.net
打ち筋は確かに改善されてるような気がするんだよなぁ。
ただ、あまりに上達が遅い。

265:535
20/04/28 20:06:48.30 VfQhex7P.net
何で五目並べはあんなうまく行くんだろう?
やっぱ複雑度が全然違うのだろうか?

266:535
20/04/30 18:36:10 6uxMdcsM.net
どんなに早くてもleela zeroが強くなるのに必要だったぐらいの時間はかかるのかもしれないなこれ…

267:535
20/05/02 20:07:05.00 ppsdwWbz.net
あかん、超長期戦になりそうorz
マシンパワーがあと10000倍あればorz

268:535
20/05/03 19:21:36 6By0oz27.net
らちが明かないので19路囲連星はいったん止めて9路囲連星に移行します。
でもいつかは戻ってきたい。
I shall return.

269:535
20/05/03 22:42:03 6By0oz27.net
お、9路囲連星は結構強くなるかも。
早くもランダムではない何かを感じる。

270:535
20/05/03 23:03:31.98 6By0oz27.net
もしかしたら19路囲連星は層の数が足りなかったってことなのかも。
9路囲連星は6層でやってます。
5目並べが4層でうまく行ったから7目並べの囲連星なら6層かな?と思ったのですが当たりだったかも。

271:535
20/05/03 23:32:54 6By0oz27.net
これは…
明らかに知性がある…

272:535
20/05/05 17:29:46.91 3PlXxhBg.net
おっとバグがあったorz
でもこれで行けるはず。

273:535
20/05/06 10:40:38 Oyc/dCE2.net
うおお、公式ボットに勝った~
凄い!!

274:535
20/05/06 15:40:57 Oyc/dCE2.net
しかしalpha zero てこの手のゲームの最終解答にちかいな。
単に移植しただけで既存ボットに勝つとは。

275:535
20/05/07 19:53:48 LRbJj7fv.net
学習が進んだので既存ボットと対戦してみましたが、大幅に負け越しますね。。。
過学習?

276:535
20/05/07 20:07:16 LRbJj7fv.net
うーん、わからん。層数をさらに増やして学習させてみようかな…
囲碁AIにならって20層くらい一気にいってみるかな…

277:535
20/05/07 20:19:50 LRbJj7fv.net
チャネル数 384
層数 20

の超ビッグネットワークで再挑戦します。

278:535
20/05/07 20:59:06 LRbJj7fv.net
ん、CPU使用率が上がらない?
ネットワークでかすぎたか?

279:535
20/05/07 21:03:55 LRbJj7fv.net
GPUのメモリが溢れてるっぽいorz
しょうがない、小さくするか。

280:535
20/05/07 21:25:17 LRbJj7fv.net
GTX 1080 でもメモリ足らんとかorz
気安くいってくれるぜ

281:535
20/05/07 21:27:42 LRbJj7fv.net
バッチサイズもでかくしたのまずかったっぽい

282:535
20/05/07 22:52:16.50 LRbJj7fv.net
うーん、もしかしたらCPUはあんま必要なくてGPUに金使ったほうがいいのかもしれないな。これは。

283:535
20/05/08 20:21:50 vYlFFPu/.net
層増やしたけどあんまうまく行ってないのかなぁ。
それともまだまだ学習が足りないだけなのか…

284:310
20/05/09 00:56:41.26 tOwbW1Pp.net
棋譜作成触りすぎるとなかなかはかどらなくなるので、しばし回しっぱなし。
そろそろBookが巨大化しすぎているので、メモリーからSDDに移せないか検討中。
concurrent_unordered_mapを自作した経緯があるので、同じような感じでランダム
アクセスなDB化をしてます。確定分は探索で使うのでメモリーにおいて、速度を
必要としないアクセスをDBにしようかなと。
巨大Bookの作成処理の類を並列処理にしているので、何とか並列にできないかと
色々やっていますが、色々と罠がある。複数プロセスからの並列更新はあきらめた
けど、単一プロセスからの並列更新でロック範囲がまだいまいち。
専門書買ってコード見て勉強した方が早いんだろうけど、まあ、しばらく楽しみます。

285:535
20/05/12 21:24:42.90 autiDqQV.net
1ゲームすら勝てない…
何が悪いんだ?

286:535
20/05/12 21:56:06 autiDqQV.net
いままで新旧のAIを比較するとき10戦中6勝以上でAI更新にしてたのを50戦中30勝以上で更新にしてみます。
もしかしたら試行回数が少なすぎて弱くなっていてもAI更新してたかもしれないので。

287:310
20/05/12 23:05:51.81 AcB4a3UT.net
うぬぬ。DB化は並列諦めてみたけど、やはり更新が遅すぎる。
もうちょっと工夫してみるけど。

288:535
20/05/14 19:16:54 7UgQPtyV.net
ただ待ってるだけってのもつらいな。
結果も出ないし。

289:535
20/05/15 18:59:37.53 55GCUZ0E.net
心が折れそうorz

290:535
20/05/15 19:20:34.85 55GCUZ0E.net
自己対局みてると結構強そうに見えるだけどな。
公式AIと対局すると勝てねんだよな。

291:535
20/05/15 19:53:09.72 55GCUZ0E.net
ギブアップです。
何か次のこと考えよう。

292:名前は開発中のものです。
20/05/16 11:39:42 n0PK2vlL.net
AlphaGoは計算資源をコスト度外視で使って1000年分対局してるから……

293:名前は開発中のものです。
20/05/16 15:42:40 G8tru4l4.net
IT掲示板群 URLリンク(x0000.net)

学術の巨大掲示板群 - アルファ・ラボ URLリンク(x0000.net)<)
UIライブラリ (C#, 2D) を作ったよ
URLリンク(x0000.net)
連続と離散を統一した!
URLリンク(x0000.net)
4Dエンジン
URLリンク(x0000.net)
matrixのライブラリ
URLリンク(x0000.net)
ある強力なFor関数
URLリンク(x0000.net)
SQLライブラリ
URLリンク(x0000.net)

294:535
20/05/16 18:10:49.03 BsSPHqoG.net
>>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
20/05/18 18:55:35 ErVFXYqV.net
次のアイディアもなくすっかりさぼりモード

296:310
20/05/18 21:57:15.59 lyHQ6R5E.net
Hash関数変更
DBのハッシュキーの効率が悪かったので、ちょっと考えてみた。
今まではshuffle_epi8でバイト単位シャッフルしていたのを、BMIのpextでビット単位の
シャッフルと、rotateしたものを、xorでまとめていく方法。以前よりは、ちょっと良くなった
気がする。
何をもってよくなったかの指標が欲しくなり、ネットを探索したけど、数値指標みたいなの
は見つからない。確率論の誕生日問題の反対みたいな状況なのでしばらく考えてみる。
要するに、1万人くらいの生徒がいる学校で、誰一人誕生日ではない日が何%くらい存在
するのかという類の問題です。
また、そう考えてみると、現状では直観よりかなり未使用キーが多い気がしています。
xorを繰り返してビットのオンオフをすると、いずれ立っているビット数が32個を平均と
した正規分布(二項分布)になって、一様分布にならないのではないかという疑念が。
正規分布だと、中央に近いところは重複しやすく、立っているビット数が0とか64とか
の出現確率が下がる事になります。xor繰り返すと正規分布に本当に近づいていくのか、
ちょっと検証してみたい。

297:310
20/05/18 22:17:24.43 lyHQ6R5E.net
DBの件
たぶんあるだろうとネットで検索してみたら、Kyoto Cabinetなるキーバリュー型の
簡易DBライブラリがある事が判明。ほかにもLevelDBとか、何種類かあるみたい。
RDB使うまでもないけど、データ量が多いとメモリーだとリソース勿体ないみたいな。
やはりみんな考える事は一緒だなと。せっかくなので導入の方向で検討。
DBの速度問題
また、おそらく1棋譜単位でのBook更新は速度的に問題ないのですが、DAG(合流)
時に、棋譜外の合流元の方の更新がされないという問題があり、学習前に一括で
再構築しています。この一括更新が件数の関係ですごく時間がかかる事が問題です。
一応、1棋譜単位で更新した時に、DAG分もちゃんと処理するロジックを検討中です。
バグさえなければ速度問題はかなり解消できるはず。とはいえ、何回もループを回す
処理となるため、速度に自信なし。

298:310
20/05/18 23:50:13 lyHQ6R5E.net
DBの件…
確定探索の時にはメモリーに確定分だけおいとくと考えていましたが、
今件数確認したらおよそ2/3は確定分として確保しなきゃならない
事に気づきました(汗

棋譜作成時はメモリーでやるしかないかも。

1棋譜更新でのDAG問題回避はやりたいかな。
Book再構築にだいたい20分くらいかかる。
DAG回避で1棋譜分更新するのが1秒として1000棋譜追加でおよそ16分。
これ以下の時間で済むならやる価値ありそう。

299:310
20/05/20 01:15:22.70 Xgj8E+2H.net
久々に完全読み切りでバグ発生。
ProbCutを広げながらmtd(f)している時に、どうもパス絡みで発生しているっぽい。
ProbCutによるIterative Wideningを止めたらちゃんと読み切る。
まあ、置換表絡みなんだとは思うけど、事例が少なすぎて(数か月に1回程度)、
前の記録消しちゃったので、とりあえず記録を残し、絆創膏当てて続行。
気が向いたらデバッグしてみる。可能性があるところはなんとなくわかっている
つもりだけど。

Book更新時のDAG回避は、かなり悩ましい。というか頭がこんがらがる。
未使用Hashの期待値計算も頭が未だにこんがらがってます。。

300:名前は開発中のものです。
20/05/20 03:14:41.24 kE3dJxL+.net
お姉さん問題で有名な、北大の湊教授のZDD を使えないの?
本も出てる

301:535
20/05/20 16:25:53 BUng/tdF.net
katagoを使った9路囲碁の巨大Book作成、やってみようかなぁ。
難しそうだけど。

302:310
20/05/20 17:28:20.84 Xgj8E+2H.net
Hash関数の効率判断基準できました。
同じキーにデータが8つくらい入っているようなものもあり、それが適正かどうか
判断できなくてゴチャゴチャしていましたが、昨夜しれっと書いたように未使用キー
の数の期待値に着目したら簡単でした。
キーサイズと、データ件数からExcelなどで簡単に計算できます。
3件程度調べてみましたが、理想的な一様ランダム値で生じる未使用キー数の
期待値との差は0.1%未満で、このHash関数も一様ランダム化するものと言って
良いレベルでした。
逆に言えば、自分の典型的な使用方法だと20~30%のキーが未使用になる
という事のようです。これはこれで…。

303:535
20/05/20 18:41:29 BUng/tdF.net
やっぱライフゲーム囲碁やりてぇなぁ。
ウーム悩ましい。

304:310
20/05/21 00:46:28 ahADKaci.net
Hash値、1件2件…と期待値出そうと思ったら、なんとなく昔の記憶が戻ってきて、
0件の時は不要だけど、こちらではPとかCとかが必要になるような気がしてきた。
確率の勉強するかな。

ZDDちらっと見てみたけど、ちょっと目的と違うような感じがしている。
本買ってみるけど。

脱線はこれくらいにして、DAG考慮したBook更新に戻ろう。

305:535
20/05/22 19:57:06.06 khQY98T/.net
自己流でライフゲーム囲碁に取り組むべきか。
なぜalpha zeroがうまく行かなかったのかを調査すべきか。
まあしばらくさぼりモードだけど。

306:名前は開発中のものです。
20/05/26 02:09:09.91 dgMv5Qb/.net
・19路盤での定石の発見とかを可視化して、強さを判断する
・まず5~9路盤で最強目指す
俺なら後者を選択する
バグが出なくなったら前者に取り組む

307:535
20/05/26 18:51:39 QRHJU3eS.net
>>306
実際に自分で手を動かす人なら歓迎するぞ?
口先だけならいらない。

308:310
20/05/29 00:49:53.42 wYh6jGrP.net
DAG時のBook更新の件、めっちゃ悩み中。
普通にやったら1件更新に14秒とかかかって使い物にならない。
逆引きDBを作ろうかと思うのだけど、結構なサイズになるので、それこそメモリーに
置きたくない。形としてはunordered_multimapになるんだけど、Kyoto Cabinetが重複
キーを許すのか英文読まなきゃならないので止まってる。
そうこうするうちに完全読み切りのバグがまた発生して、事例が3件になったので、
調査開始。2か所間違いを発見。一つ目はケアレスミス。
2つ目は最善手の直後にパスが来るケース。置換表登録はパス後、オーダリングなどで
読む時はパス前の盤面になっていた。これで値が狂う理由がいまいち理解できないの
だけど、修正したら正しい答えが出るようになった。パスの処理は本当に鬼門。
たぶんバグは取れたけど、50%くらい速度低下。どこかにまだバグがありそう。

309:310
20/05/29 00:56:37.17 wYh6jGrP.net
速度低下は50%どころではなかった…150~200%だorz

310:310
20/05/29 20:25:58 wYh6jGrP.net
orderingの中でパス処理をしていたのでmobility関数を呼びまくっているのが遅い原因
ではないかと思い、パスの処理の仕方を変えて、パスも1手とするように変更したところ、
15~20%の速度低下まで戻りました。他にも、つられてバグが発覚したので修正。

かなりのレアケースでしか発生しないバグですが、今まで自信満々で完全読み切りは
間違っていないと思っていましたが、なんか自信なくなった。

中盤探索も同様に修正したら、浅い探索の読み筋が変わったみたいで、少しは精度が
良くなるのかなぁと期待しています。

311:535
20/05/30 18:11:38 TznaFVwY.net
以前もちょろっと触れたけど囲碁ディープラーニングプログラミングという本の12章にあるactor-critic法というのがまた気になり始めた。
自分なりに解釈して実装してみようかな。

312:310
20/05/31 10:02:44 /CnVYfEH.net
またエラーが…

なんとなく記憶をたどっていくと、初段で並列処理してMap-Reduceすると、βカットの関係で
評価値は合っていても、ordering次第で間違った手を返す事を思い出しました。
で、たまたま回避策となっていた処理を>>201で外してしまったのではないかと。

並列探索だと本質的に回避できない気がするので、初段を順次処理に変更。残り空きマス
26での平均処理時間。一時は20~25秒くらいまで来ていたのが、30秒程度に悪化orz

313:535
20/06/04 21:00:10.17 asDXFlye.net
藤井センセw

314:310
20/06/05 22:28:59 TnykYlJh.net
藤井7段凄かったね。今年中に8段行っちゃうんじゃないかと思った。

エラーの原因を冷静に見直したところ、どこをどう変えたか覚えていないレベルの
ちょっとした修正を加えたところからドツボって、修正するたびに更にバグを仕込んで
いたような。結局、元々のプログラムに戻して、速度も復旧しました。むむむ。
こういうのがあるからから、終盤探索に手を入れたくないorz

Bookの遡り修正ですが…行き詰っています。
Kyoto Cabinetはやはり単一キーしか扱えず。
メモリー上に逆引きDBを作ると、たぶんBookよりサイズが大きくなるためメモリーにおけない。
しばし悩み中。

息抜きで、棋譜作成のロジックをちょこっと修正。
同じような評価値が並んでいたり、最善手より評価値が良くなる分岐について、今までは
見つけて気になったところだけ手で追加していましたが、適度なペースで見つけて自動的
に追加する様にしました。

315:535
20/06/15 22:53:27.40 SQc2KJ2b.net
長期サボりモードに突入
なんか本で読んだけどモンテカルロ木探索の訪問回数をdnnの教師データとして使うようなやり方もあるらしい

316:310
20/06/15 23:12:30 r41RfhWg.net
DB化、未だに方法が見いだせずストップしてます。
パブリックドロー臭いのにそうじゃない筋を手動で修正して、20件ほどもとに戻った。

その間に、棋譜が100万件突破しました。
が、Book眺めていると、まだまだ間違い多い。
Zebraも結構間違えているけどね。

317:535
20/06/17 21:35:01.75 nCYZMpcd.net
2020/05/11 グロービス、囲碁AI「GLOBIS-AQZ」のプログラムをオープンソース化 プロジェクトの集大成としてソースコードを公開
URLリンク(www.globis.co.jp)
知らなかった。
ちょっと見てみようかなぁ

318:535
20/06/17 23:13:34.58 nCYZMpcd.net
なお、公開しているソースコードは対局・解析のみの実装で、学習に関する機能は含まれていません。

駄目じゃんorz

319:535
20/06/18 19:28:02.18 i+asT3Px.net
ライフゲーム囲碁でモンテカルロ木探索の訪問回数をdnnの教師データにするのやり始めました。
今教師データを収集してるところです。

320:535
20/06/19 19:58:32 Y5lRzoqU.net
教師データを学習させてみましたがあんまり強くなりませんでした。orz

321:535
20/06/19 20:44:26.89 Y5lRzoqU.net
そもそもモンテカルロ木探索を教師にしてる時点で、モンテカルロ木探索の強さを大きくは超えられないわけで。
根本的に駄目な気はしてきたorz

322:535
20/06/19 23:03:06.10 Y5lRzoqU.net
結局、現状、良い教師データがないと厳しい。
アルファゼロ方式の自己対局で強くなるのは1000年かかりそうだし。
むうぅ

323:535
20/06/22 19:37:12.00 q97LdCHr.net
katago最後のリリース
URLリンク(github.com)

324:535
20/06/28 20:46:44.93 7SoJ+c30.net
藤井センセw
棋聖戦2勝目か

325:535
20/06/29 19:50:03 gKYec+q1.net
ライフゲーム囲碁で打った石が最終的に取られるかどうかを学習させてみようかと考え中

326:310
20/07/03 01:33:21.30 ULg6SDrD.net
相変わらず棋譜作成しながら評価関数学習を続けています。ようやく100万件突破。
推定パブリックドローは大体700件くらいで増えたり減ったりしています。
対称形や合流も重複させていますので、重複除くと400件くらいかなぁ。
終盤は比較的多数の分岐を試しているのですが、序中盤の分岐が不足していて、
棋譜が偏っているような気がしてきたので、棋譜作成のロジックを大幅に変更して
序中盤の分岐が多くなるように。また、評価値とBook値が大きく違う分岐を再検証
するようにしてみました。これで、抜けている筋がだいぶ拾えるようになると期待。
棋譜作成中に暇な時間が多いので、試しにZebraと対戦。Zebraはランダムに
パブリックドロー筋から外れる様にできているようですが、外れたら勝てるはずが、
なかなか勝てない。Zebra26手読み、こちらは時間の都合で20手読みくらいなので
仕方が無いのですが、それにしてもBook外れた時の評価関数の精度が悪いという事に。
あと、やはり中盤探索の速度に大きな差があり、とても26手読みなどできない。
むむむ。

327:310
20/07/03 01:35:54.46 ULg6SDrD.net
つか、藤井先生強すぎ。
1回勝負なら時々一発入るけど、番勝負で勝ち越せる人いないんじゃないかな。
竜王戦勝ち進んで、豊島竜王名人との番勝負が見てみたい。

328:535
20/07/04 11:25:12 aqVM5XYH.net
そこに打ったらn手以内に反撃で取られてしまうか?を判定するルーチンを書いてAIに組み込んだら、かなり動きがよくなった。

329:535
20/07/05 17:58:06 pswe4q4i.net
結局、強化学習できない限り、DNNあんま意味ないんじゃ?という状態。

330:535
20/07/09 22:57:20 j8dvyCDa.net
藤井センセ今日は駄目だったか。次回に期待。

331:310
20/07/11 00:47:07.96 UjRsM2rb.net
残念だったね<F7先生。相当疲れているんじゃないかな。まだ連戦続くので心配。

こちらは棋譜じゃんじゃか追加中。もう逆順探索で正確さを高めるなんて言ってられない。
いちいち遡りチェックするより、分岐を増やしてしまった方が早い気がしてきた。
で、Zebraと対戦させると、まだまだ穴だらけ。Zebraがわざとパブリックドローから外した
ところからが本番の対局となるのですが、そこから10~20手の間に2回くらい間違えて
逆転される感じ。逆にZebraがほとんど間違えていない事に驚いています。評価値は怪しい
ところもあるけど、選択する手のミスが本当に少ない。Zebra24手読みに変えましたが、
こちらは17手。読む深さの差もあるのか。
デバッグ用のBookチェックプログラムを改良して、簡易対戦と棋譜訂正が外から簡単
にできるようにしました。今まではプログラム動かしていると、気が付いた訂正箇所も
いちいちプログラム止めないと追加できなかったのですが、動かしっぱなしのままで
訂正済棋譜にして適宜放り込めるようになりました。ただ、Bookが凄い勢いで増大して
いるので、メモリーがかなり危機的状況になってきました。BookチェッカーもBook全体を
読み込むので、ダブルで効いてくる。今16Gなのですが32Gは欲しい。
Zebraに負けた棋譜の手を遡って最善手順っぽいの探して訂正していくと、まだまだ
パブリックドローっぽい手順が結構見つかる。過去に間違えてパブリックドローではない
と判断している奴も結構ありそうなので、見つけられたら最終800件くらいは行くと思う。
中盤探索の速度差は、ただのProbCutとMulti-ProbCutの差かなぁ。あれ、再計算が重くて
以前は実装していたんだけど、PC壊れてソース全滅して以来手を出していないのよね。

332:535
20/07/16 19:51:32.84 5lwAwdbR.net
藤井センセええええええええええ!!!

333:310
20/07/17 13:10:16.58 wiyFtChq.net
王位戦第二局も含めて、ツエーーーーーーーーーー!って、今更ながらに思った。
人間相手ならabemaAI的40:60で不利な局面程度はひっくり返せるという事なんだろうなぁ。
あと、木村王位の体育座りが悲しかった。

棋譜作成は、自動作成で一気に大量に貪欲法かけたところ、既存の推定パブリックドロー筋
の4割くらいが、事前の分岐でパブリックドローから外れる事態に(汗
想定からズレた箇所は、見つけ次第ログに書き出して、そこから貪欲法でチェックするの
ですが、それでもパブリックドローから外れる筋については、Zebra使って徹底チェック。
自分のAIとZebraが同意見でも、読みが深まるにつれて揺れ動くZebraの評価値を見ていた
ら、なんとなくZebraが間違えていそうな着手がわかるようになってきて、その手をさらに
深堀してチェックする事で、ほぼ元の数まで戻す事ができました。たぶん、「パブリック
ドローから外れるのが正解」という筋が2系統ありまして、逆に周辺を掘って行ったら別の
パブリックドロー筋が見つかったりして、現在のところ残り30手推定パブリックドローが
780通り程度となりました。
増えたり減ったりはあるけど、今週だけで80件近く増えているので最終は1000件程度に
なってもおかしくない気がします。
もろに、人間が判断して手作業で修正みたいなのが、悲しいところ。
Zebraが無ければこんな事できないわけで。

334:535
20/07/19 18:17:42.01 ZoPMvH5f.net
とりあえず、>>328のAIで棋譜取り始めることにしました。
棋譜取った後の方針はまだあんまり固まってませんが。

335:535
20/07/20 21:59:52.85 Jx63yD56.net
ちょっと寄り道して4x4タイルゲームの最善手順計算してみた。
双方最善で20手で後手勝利みたい。
結構手順長いですね。

336:535
20/07/21 20:43:23.14 bqi5P5mB.net
あれ、ちがう?
22手かな?

337:535
20/07/23 21:12:02.22 ly3edh17.net
ふとやねうらおさんのサイトちょっとみてみたら、やっぱレベルたけーんだなって感じ。

338:535
20/07/29 22:17:32.28 X7Evhq9+.net
さぼりまくってます。

339:310
20/07/31 00:20:53.97 EPRjv06N.net
一括貪欲法を何度か繰り返す事で少し落ち着いてきたみたいで、パブリックドロー候補は
850件くらいになりました。
別途、Bookの再構築を速度アップしました。今までは文字通り再構築でしたが、直したい
のはDAGから生じる矛盾の修正だったので、トップから再帰で潜って戻りながら評価値など
を更新する形にして、再構築分の手間を削減しようという目論見です。が、シングルスレッド
でしか動作しないため非常に遅い。最終的に、基本の対称形を一括処理するようにして、
2手目の分岐単位でスレッドを分割して、何とか20分から5分に短縮できました。
まだ、スレッド3つしか使えていないので、もうちょっと工夫して8スレッド全部使えるように
しようかと思っています。目論みでは2分~3分くらいまで行けかな。

340:310
20/07/31 00:22:31.35 EPRjv06N.net
>>335
タイルゲームの最善手計算凄いですね。
5×5とか6×6にしたらどうなるんでしょうね。

341:310
20/08/10 01:12:51.32 ABN1ddg2.net
bookの再構築は1分50秒台まで短縮しました。
30手読み切りのパブリックドロー候補は900件超え。
割と淡々と増えているので、ホンマかいなと不安になってきています。
過去にパブリックドローとみなした筋が、パブリックドローを外れた時に、原因となった
着手を追いかけて、間違い箇所探していて、大抵直す事ができるのですが、この新しく
棋譜にした筋の評価値が結構へんてこになっています。Zebraも時々そういう局面が
ありますが、結構遭遇します。おそらく過学習の絞り尻が、棋譜に出現していない局面
に押し込められているのだと思います。という訳で貪欲法のロジックを変更して、評価値
が怪しい局面から分岐をさせるように変更。とにかく棋譜を作りたいし、過去に間違えた
筋の訂正にもなるので、これをメインにしてみます。遡りチェックは、諦めて、棋譜の数の
暴力で正解筋を引く方向に変更。
そろそろ合流筋が増えて来たのと、FFOテストの局面が3つ棋譜から生成されたので、
手筋のカバー度は結構上がってきていると思うんだけどなぁ。
ちなみに現在118万棋譜。どこかで区切りつけたい気もしてきた。

342:535
20/08/20 17:45:24 g83UO1Ed.net
2冠とかやば過ぎ

343:310
20/09/04 16:05:06.49 h5QFISg8.net
棋譜数の暴力で130万棋譜突破。
Book確認用画面の方で手修正を掛けられるようにして、通常の棋譜作成プログラム
を動かしながら、おかしなBook値のところから後続の棋譜作成を手作業で指示して
修正がかけられるようにしました。最初は1件単位だったのが、縦深型の貪欲法で
チェック掛けられるようになり、処理時間はかかるけど効率よく修正できるようになり
ました。
となると、以前からパブリックドローの可能性が否定できないと思っている筋(Zebraで
+0~-1程度の変化)を重点的に調べる事ができるようになりました。調査自体はドロー
ではないと確信できるまで、Zebra参考に縦深貪欲法を適用するだけですが、結構な
筋でドローが見つかりました。続いて、既存の幅優先貪欲法と30手まで遡りチェックで
ドロー筋である事を確認。幅優先貪欲法は間違いが多いので、ここで外れた筋はもう
1回縦深貪欲法でチェック。これを繰り返して、

344:310
20/09/04 16:15:15.87 h5QFISg8.net
途中で送信しちゃった。
まあ、要するに、色々棋譜作成していたら、現在ドロー候補が1000件超えました。
FJTは生きてますが、LOGISTELLOは消えました。F5d6C4g5筋がそこそこ充実。
斜め取りはF5f6E6f4G5d6からE3は消えましたが、F3とD7、もしかしたらC5も候補として浮上。
まだ、間違いがあって消える筋もあり、場合によっては200件単位でボツという事もありえ
ますが、最初は100件程度から始まった事を思えば、増えたものです。
今はとりあえずリストアップ優先ですが、最後の最後に、ガッツリとチェックの篩にかける
つもりです。どれくらい残るかなぁ。

345:310
20/09/10 17:54:29.45 4Zp+kLKC.net
やっちまった。操作ミスで棋譜データ飛ばした。たまたま8月20日のバックアップと、
現時点でのパブリックドローリストがあったので、現在そこから復旧中。
消えた棋譜は恐らく10万件以上orz
こういうミスが起きそうなのは認識していたし、色々プログラムも整理したいので、また
プロジェクト一から作り直しするかなぁ。

346:535
20/10/01 19:43:08.37 nw9XcH/L.net
ちょっとわけあって長期で活動から離れていました。
また活動再開する予定もないのですが、このままフェードアウトするのも寂しいのでLifeGameGoのAIを公開します。
アルゴリズムはモンテカルロ木探索+>>328のヒューリスティックですね。
URLリンク(drive.google.com)

347:535
20/10/01 20:04:23.49 nw9XcH/L.net
>>346のAIはそこそこ強いと思います。
vectorで公開してるやつより若干強いはず。

348:310
20/10/06 23:13:30.11 RrvANMT6.net
棋譜件数とパブリックドローリストはほぼ復活。
パブリックドロー件数は、1200件くらいのところで落ち着きそうな気が
してますが、まだしばらく増減があると思います。
ソースも整理して、気になっていたところを直しました。
これでデータ飛ばすリスクはかなり減りました。
ただ、Bookはまだまだスカスカだし、評価値もギザギザです。
棋譜が間違っていると思ったら、評価値(自作もZebraも)が間違っていた
というケースも散見され、そろそろBuroさん型の評価関数の限界が見えて
きた気がしています。
今ある棋譜を生かして、もっとフィット率が良い評価関数が作れないものか。
とはいえ、NN系は計算が重すぎるし、いまいちモチベーションがわかない。

349:535
20/10/08 20:45:51.47 1JnWon84.net
AI作成はやってないのですがライフゲーム囲碁ってタイルゲームみたいに千日手存在するのだろうか?というのがちょっと気になってツラツラ考えています。
きちんと証明しようとすると意外と難しい

350:535
20/10/09 21:35:50.16 xNMc+C8z.net
ライフゲーム囲碁では千日手はなさそう。
でもうまく証明できないな。

351:535
20/10/12 19:22:24.77 Vplf5eGF.net
全ての棋理を表現できる構造体作れないかな、とかちょっと妄想したけど、
もしかしてCNNでほぼ実現できてるのかな、とも思ったり。

352:310
20/10/16 00:09:49.89 5RABX7jk.net
やねうら王2019のソースを見つけてダウンロードしたけど、やっぱり他人のソースを
見るモチベーションが沸きません(汗。NNUEとかLazySMPとか興味はあるんだけど。
LazySMPは8スレッド以上だと効果が出るそうで、自分の
CNNは十分な複雑さがあれば万能近似関数になりうるので、可能性はありますが、

353:535
20/10/17 21:21:42.37 /ZY5iNBP.net
単純すぎる棋理で勝てちゃうゲームもつまらないし
棋理らしい棋理もなく逆転逆転ばっかりのゲームもつまらないし
理想のゲームバランスってどんなんなんだろね

354:535
20/10/18 11:57:29.71 YswYLMUk.net
DeepMindのMuzeroってAtari 2600のゲームも解けるらしいけど、
冷静に考えるととんでもないことですね。

355:310
20/10/19 14:10:40.58 pQ38Gazt.net
書き込み途中で送信しちゃった直後から、BBQになってます。
とりあえず仕事場からカキコ。

356:310
20/10/22 21:49:58.25 1yysGYXi.net
そろそろ書けるかな?
CNNは色の無い万能近似関数で、汎化性能なるものが幻想ならば、という前提で。
万能近似関数が正しく学習できるためには、全局面分の教師データが必要となります。
その時、万能近似関数で学習する暇があったら、全局面分の教師データでTHE BOOK
を作ってしまえば良い。これで絶対に間違えなくなる。
という事で、可能性はあるけど、それが実現できるレベルに至ったら、そもそもCNNが
必要ないという事になるのではないかと思います(汗
評価関数なるものは、そもそも全局面を列挙する事が不可能な時に、とりあえず重要そう
な局面のセットで学ばせるものではないかと思います。

357:535
20/10/23 19:27:05.19 rxutEBUW.net
>>356
どもです。
>THE BOOKを作ってしまえば良い。
最近タイルゲームでTHE BOOKをどれだけコンパクトに表現できるか?
みたいなことをツラツラ考えていたりします。
勝利局面を列挙する以上にコンパクトにできたら素敵だなと。
羽生さん100期がんばれ!

358:535
20/10/24 10:09:31.57 fFCFDrI6.net
cnnが汎化性能出せるかどうかはゲームによるところもあるのかな、と思ったり

359:535
20/10/25 19:16:15.46 aUU7qa3J.net
タイルゲームのTHE BOOKをテキストでダンプしてみました。
266MBくらいになった。
>>300のZDDで圧縮、ちょっとやってみたいかも?

360:310
20/10/29 23:07:11.56 ZYSZpPVA.net
藤井二冠の自作PCについて最強将棋ソフト開発者に聞いたらトンデモないことが判明した件
URLリンク(originalnews.nico)
コンピュータ将棋スレで拾って読んだけど、めちゃうなずいてしまった。
あと、テラショック定跡という名前でビビッて劣等感を感じていたけど100万局面とな。
今140万超の棋譜なので、局面ではその60倍になる。重複外しても1000万はあるはず。
でも、オセロの様な単純なゲームにとっても、まだ全然スカスカ。
貪欲法の効率が上がり、ついでにおかしそうな棋譜の訂正もかけるようにしたので、
以前よりは、ゴミ棋譜が減ったと思う。過去のゴミ棋譜除去にはまだ時間かかるけど。

361:名前は開発中のものです。
20/10/31 15:36:57.51 gkuxF2zq.net
タイルゲームがかんたんそうだからやってみる

362:535
20/11/01 17:36:13.31 WsZt6LBI.net
>>361
がんばれ~
俺はもうかなりさぼりモード入ってるからスレを盛り上げてくれると嬉しい。

363:535
20/11/01 18:23:47.85 WsZt6LBI.net
ちなみにタイルゲームは盤面が小さいからしらみつぶしできるってだけで、
盤面が大きくなったら全然簡単じゃないからね。

364:535
20/11/03 10:39:48.77 PG2hl+5T.net
ライフゲーム囲碁はルール上、パス機能が必須だと思ってたけど、
片方が一回合法手がなくなった時点で終局図は確定してしまうから
パス機能なしでも大丈夫だということに気づいた。
すなわちgithubからひろってきたalpha zeroで
パスを実装しなくてもライフゲーム囲碁を移植できる!

365:名前は開発中のものです。
20/11/03 10:57:52.07 lQNtzFqi.net
パスしないと負け、パスすれば勝ちのケースはあるのでは?
ルール上、パスがオーケーなら組み込まないと別ゲームになってしまう
囲碁や将棋やオセロではパスはできないが
ルールはしらないが

366:名前は開発中のものです。
20/11/03 10:59:51.84 lQNtzFqi.net
いや間違えた
オセロは手がなくなればパスに自動的だが
戦略上、パスもできるゲームはパスいれないと駄目だが、正確なルールは把握してない

367:名前は開発中のものです。
20/11/03 11:19:49.85 lQNtzFqi.net
いやさらにまちがってたかも?
囲碁もいまいちで
囲碁はパスしていいルールだった気もしてきた

368:535
20/11/03 12:25:56.24 PG2hl+5T.net
ライフゲーム囲碁はどんな着手であってもパスより自分の不利に働くことがないゲームなのです。

369:535
20/11/06 21:02:13.20 2Q8zXTlZ.net
ryzen 5000シリーズ発売ですね。

370:535
20/11/09 18:39:21.46 dBz3DOja.net
羽生さん、99期で終わったら死んでも死にきれないだろ

371:535
20/11/11 18:24:55.16 ffgIJO2s.net
羽生さん大丈夫か?

372:310
20/11/11 19:16:52.71 PnPV3j+5.net
入院したみたいですね。
お寺対局って寒そうだし。

373:535
20/11/12 23:01:44.49 elKbgDlH.net
コロナではないようですね。
100期は何とか達成してほしいですね~。

374:535
20/11/15 20:53:35.50 AsfZgPnz.net
ちょっとgoogle colabに手を出し始めました。

375:535
20/11/17 22:57:35.19 N4TMVNAS.net
google colab(python)上でライフゲーム囲碁のルールが大体実装できてきました。
あとはgit hubでも漁ってalpha zeroなりmuzeroなりを移植できれば。

376:535
20/11/22 11:58:41.04 wvqeKXn/.net
タイルゲームの作者って絶対、完全解析、達成してるはずなんだよな。
でもしなかったってのは完全解析より成長するAIのほうがおもしろいと思ったってことかな?

377:名前は開発中のものです。
20/11/22 12:07:01.75 +vYtv0Hx.net
コネクト6はどうですか

378:535
20/11/22 14:39:25.83 wvqeKXn/.net
なんかalpha zero も muzeroも全然できそうにないな。
まるでRPGでまだフラグが立ってないからこれ以上先に進めない、みたいなのと同じ感覚に陥る。

379:535
20/11/22 16:00:21.78 wvqeKXn/.net
なんとか簡単なやつはないかと色々ググってます。
今これ見てる。
URLリンク(qiita.com)

380:535
20/11/22 17:13:40.44 wvqeKXn/.net
一応動いてるっぽいな。

381:535
20/11/22 19:11:20.07 wvqeKXn/.net
あかん、これはGPUないと計算時間がとてつもないかも。

382:535
20/11/27 19:51:59.28 zSE0X91F.net
羽生さん駄目か?
がんばれ、超がんばれ!

383:310
20/11/27 22:44:47.70 hZcTJqyt.net
ご無沙汰です。
現在棋譜は160万くらいになっています。縦掘り型の貪欲法が良い調子なので、学習より
棋譜作成を優先しています。残り30手推定パブリックドローは相変わらず1100~1300件
くらいを行ったり来たりしています。まだ、知られていないドロー筋がありそうです。
やねうら王さんのサイト見ていたら、終盤近辺のヒューリスティックスオーダリングのアイデア
(偶数理論がらみ)を思いついてしまった。どうしよう(汗
羽生さん残念だったね。
正月のabemaTVトーナメントスピンオフ企画が楽しみです。

384:535
20/11/29 21:42:15.48 lBJkRKj0.net
まじで神様からお前はまだフラグ立ててないから進んじゃダメって言われてるみたいだ。
なんなんだこの進まない感覚は。

385:名前は開発中のものです。
20/12/05 01:05:58.42 XcLbFWqx.net
【中田敦彦 vs DaiGo】カードゲーム「XENO」論理vs心理の頂上バトル~前編~
URLリンク(www.youtube.com)
【XENO】中田敦彦 vs DaiGo完全決着~後編~
URLリンク(www.youtube.com)
【中田敦彦 vs ヒカル】カードゲーム「XENO」~前編~
URLリンク(www.youtube.com)
【XENO】中田敦彦 vs ヒカル~後編~頭脳と強運のバトルはドラマチックな展開に…
URLリンク(www.youtube.com)
【XENO】中田敦彦 vs QuizKnock伊沢拓司 ?完璧な挑戦者?【前編】
URLリンク(www.youtube.com)
【XENO】中田敦彦 vs QuizKnock伊沢拓司 ?芸術の領域?【後編】
URLリンク(www.youtube.com)

386:535
20/12/06 21:30:13.60 baHgIGiz.net
羽生さん駄目だったか。残念。

387:535
20/12/06 22:09:48.86 baHgIGiz.net
セブンってショップのBTOのページすごい便利ね。
ryzen 5950x
Geforce RTX 3080
memory 64GB
これで約50万円。
ほしいなー
でも金がなー

388:535
20/12/08 18:07:01.06 K/1BOoLK.net
>>379にライフゲーム囲碁を移植しました。
ようやくバグも収束してきたかなという感じです。
しかし学習の計算時間が半端なく実用にはならないかも?

389:535
20/12/08 18:08:55.86 K/1BOoLK.net
まじであまりの計算の遅さに新PCに50万ぶっこみかねないです。金がないけど。

390:310
20/12/08 20:01:53.15 XtZeNl55.net
羽生さん残念でしたね。
自分はDL系は諦めました(汗
将棋で別ルートのアイデア考え中ですが、その前にオセロ片付けねば。

391:535
20/12/08 20:11:06.20 K/1BOoLK.net
片付けるってゼブラに勝つとかですか?

392:310
20/12/09 00:40:30.93 yA++6X4X.net
どっちかというと、パブリックドローがどんだけあるのかに興味が移っています。
残り30手ドロー筋が1100~1300くらいとか言っていましたが、色々やっていたら
1700超えしてしまいまして。大半は、やっぱり違いましたという事になるのだと思い
ますが、まだまだ定跡が整ったと言える状態では無いという事で…。
将棋は序盤定跡だけちょっとやってみたい事があります。まだまだ妄想の域ですが。
だけど、盤面をどう表現するのか、まだ悩み中です。方針が決まったら手を付け始める
かも知れません。

393:名前は開発中のものです。
20/12/09 11:55:34.00 VQRdiu7F.net
パブリックドロー網羅したら必勝では?!

394:310
20/12/09 13:01:28.38 EZH7kLVs.net
パブリックドロー筋を-2~-4程度で相手が外した時に、勝ち切るだけの
精度を持った評価関数が別途必要なのですが、まだ自信はありません。
ただ、相手が悪い変化にした時の話なので、確率的には勝ちやすくはなって
いると思います。

395:310
20/12/09 13:04:14.67 EZH7kLVs.net
あと、極端に悪い手の教師データが極端に少ないため、評価値が団子状態になって
しまっていて差がつかず、そういう局面が来ると大悪手をやらかす傾向が見えます。

396:535
20/12/13 19:39:52.85 xFVu6j34.net
>>379のプログラムですが学習に2~3ヶ月かかりそうなかんじ orz

397:535
20/12/19 17:20:17.46 j5eaZ9rt.net
>>379はいったん保留します。

398:535
20/12/25 19:39:30.88 Nvyj4q8t.net
AMD株買おうかな?
AMD株で儲けた金でAMD製品を買ってさらにAMD株が上がるという夢のような話が実現したら最高なのに。

399:310
20/12/30 10:36:36.53 RKjDooRQ.net
どもです。
現在棋譜173万件、推定ドローは1800件ちょい。
まだ、推定ドローの出入りが激しい状態なので、200万件くらいまでは
継続しないと確からしくならないかなぁと思っています。
将棋は、盤面をどう持つのかでまだ悩み中。
オセロでBitboardがパワー発揮しすぎだったのに引っ張られて、できない
事をやろうとしていた感じです。諦めをつけるのに時間がかかった(汗

400:535
20/12/30 10:43:26.87 wKEDyl8s.net
お、ついに将棋やるんですか。

401:310
20/12/30 23:51:04.47 HmP9SqUG.net
急がず、気が向いたら少しづつね。
というか、最初にやりたい事は、AI開発じゃなかったりする。

402:535
21/01/01 00:02:50.83 s0PQz8qc.net
あけおめ

403:名前は開発中のものです。
21/01/01 13:08:38.24 j1d2+ErK8
ゲームマーケット初出展で自作のボードゲーム380個を売った話 - 当日・収支まとめ編
URLリンク(note.mu)
はじめてボードゲームを作ってはじめてゲームマーケットに出店した ので、ひとり反省会をしてみる。
URLリンク(datecocco.hatenablog.com)
はじめて作ったボードゲームを売った話
URLリンク(nrmgoraku.hateblo.jp)
自作ボードゲーム販売への道・販売場所編
URLリンク(kdsn.xyz)
はじめての同人ボードゲーム作り
URLリンク(ameblo.jp)
アナログゲーム市場が「クラウドファンディング」で盛り上がるワケ
URLリンク(www.sbbit.jp)
ボードゲームイベント「ゲームマーケット」から業界が見えた!
URLリンク(entertainmentstation.jp)
オトナも遊べるボードゲーム!自作するといくらになるのか
URLリンク(www.d-laboweb.jp)
ゲームマーケットに挑む人向けガイド
URLリンク(spa-game.com)

404:名前は開発中のものです。
21/01/01 13:09:19.87 j1d2+ErK8
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
URLリンク(bodoge.hoobby.net)
アナログゲーム市場が「クラウドファンディング」で盛り上がるワケ
URLリンク(www.sbbit.jp)
フリーランスのデザイナーが一人でおもちゃメーカーを立ち上げた~「オインクゲームズ」
URLリンク(kaigyou.dreamgate.gr.jp)
ゲームデザイナー座談会 in 名古屋
URLリンク(studio.oinkgms.com)
イベント起業家が“ボードゲーム”を開催している9つの理由とは
URLリンク(tsunagu-smile.jp)
ゲームソフトの有名企業を辞めて3人でボードゲームを開発
URLリンク(shikin-pro.com)
ボードゲーム市場規模まるわかり!ゲームマーケット、展示会、ボドゲカフェまとめ
URLリンク(tsunagu-smile.jp)
新作ボードゲームのクラウドファンディングを終えて。
URLリンク(note.mu)
クラウドファンディングで1000万円超を集めた! 「7つの習慣ボードゲーム」を
成功させるため、プレスリリースを活用した理由とは
URLリンク(prtimes.co.jp)
「29歳既婚、2年前に会社を辞めた。ボードゲーム作りを始めて3700万円を
売り上げたけど何か聞きたいことはある?」回答いろいろ
URLリンク(labaq.com)

405:535
21/01/05 19:05:10.85 C1a8ji8d.net
SQLiteに興味がわき始めた。

406:535
21/01/06 12:17:35.49 IgBznju4.net
うおお、amd株買いました!!
100株!!
絶対負けられない!!!

407:535
21/01/06 22:01:15.53 mpAvhUax.net
なんか円高来そうなふいんき(なぜか変換できない)
やばいか?

408:535
21/01/07 19:09:01.69 HUrKK7Mn.net
ちなみにAMD株100株の買値は約96万円です。

409:535
21/01/20 23:11:10.89 qy20bOnv.net
SQLite遅えええええええっ
なんか間違えてんのか??

410:535
21/01/21 17:55:33.22 rClapu4e.net
トランザクション使ったら速くなったww
俺があほなだけだったか。

411:535
21/01/22 19:20:17.01 imvdWv6b.net
今、DNNに現状の局面から終局図を予測させる、というのをやってます。

412:535
21/01/23 15:07:46.59 Qz/TWYaP.net
ランダムな打ち手で棋譜を取る

棋譜から対局途中の盤面と終局図を取り出しDNNで現局面から終局図を予想するように学習

学習したDNNを使って1手読みAIを作成

そのAIで棋譜取り

棋譜から途中の盤面と終局図を取り出しDNNで終局図を予想するように学習

学習したDNNを使って1手読みAIを作成 ←今ここ
現状全然弱いですが、何世代も繰り返したら強くならないかと淡い期待を抱いてます。

413:535
21/01/23 18:01:00.15 Qz/TWYaP.net
CPUパワーが欲しい!

414:535
21/01/23 20:32:11.62 Qz/TWYaP.net
学習だけで強くなることが理想だけど時間かかりすぎるんでヒューリスティック入れます。
このヒューリスティックはかなり強力なので。

415:535
21/01/24 08:14:24.23 t0z9Z/qG.net
AI結構つよくなったかも。
勝てないわけじゃないけど負かされるときは大差で負かされるというなかなか面白いAIができた。
思考時間も超サクサクだしかなりいい感じ。
100世代くらい学習させてみたいな。

416:535
21/01/24 08:22:38.13 t0z9Z/qG.net
世代を重ねるごとにDNNの損失が減りやすくなっているな。
これはどういうことだろう?

417:535
21/01/24 11:03:56.91 t0z9Z/qG.net
終局図を予想する方法は囲連星でも有効な気がする。
ライフゲーム囲碁が落ち着いたら囲連星もやってみたいな。

418:535
21/01/26 07:51:11.81 P7Cvj06g.net
終局図予想はなかなかいいアイディアだったけど
人間に100%勝てるようになるにはあと3つはブレークスルーが要るかな

419:535
21/01/26 18:17:37.19 O4pdiTCM.net
DNNが結構うまくいったのでDNNとMCTS組み合わせたらすげー強くなるんじゃないかと思ったがうまくいかない。
なんでだろ?

420:535
21/01/26 18:41:59.71 O4pdiTCM.net
現状のライフゲーム囲碁を公開します。
URLリンク(drive.google.com)
思考時間サクサクでそこそこ強いですよ

421:名前は開発中のものです。
21/01/27 16:34:25.09 IWsBUGLO.net
大人も子供も白熱!最新ゲーム「ノッカノッカ」が面白い
URLリンク(ima.goo.ne.jp)
同時多発競りの建設ゲーム『スクエアオンセール』
URLリンク(www.tgiw.info)
オセロの作者が生み出した究極のボードゲーム「SKYGUEST(スカイゲスト)
URLリンク(readyfor.jp)
このアブストラクトがすごい『FILLIT(フィリット)』の感想
URLリンク(www.unjyou.com)
新定番「CUBOID」はリビングに飾ってもおしゃれなボードゲーム
URLリンク(hintos.jp)
オシャレで簡単、だけど深いボードゲーム
URLリンク(sweetint.com)
LOGY GAMES ボードゲームカタログ
URLリンク(www.logygames.com)
トルコ製 バックギャモン&チェス 
URLリンク(www.topkapi-kilim.jp)
インスタ映え必至!独自のデザインの将棋ばかり集めてみました
URLリンク(kifulog.net)
ゲームマーケット2018秋 新作 「teardrop将棋 2018ver.」
URLリンク(sadayablog.hatenablog.jp)
エクストリーム将棋の企画から販売まで
URLリンク(nakagawa-hands.com)

422:名前は開発中のものです。
21/01/27 16:35:17.27 IWsBUGLO.net
ビビットカラーを使ったポップなデザインの二人用ボードゲーム「ガブル」
URLリンク(boardgame-kikou.blog.jp)
コンポーネントに酔いしれて、戦略にゆったり溺れる「箱庭の国」
URLリンク(sake.saloon.jp)
『すずめ雀』初心者でも本格的な駆け引きを楽しめるミニマル麻雀ゲームが登場
URLリンク(www.inside-games.jp)

423:535
21/01/28 11:56:52.27 nsxxdxe+.net
ぎゃああああ
AMD株さがってます!
でも絶対損切りません!
ガチホールドです!!

424:535
21/01/29 08:42:23.68 b5Y+zFv5.net
AMD株更に暴落!
        / /|        /|   |ヽ      ヽ,ヽ,   |
.       // .|        <l./u |  レ'      ヽ,ヽ,  |    そんなっ・・・!
      〃   |  / / ,.へ |!  >  _、へ |\     ヽ,ヽ,|    バカなっ・・・! バカなっ・・・!
.          | /| ./!イ==`、  iレ´==== ヽ    ヽ,ヽ,    なんでこんなことがっ・・・・・・!
.           | / レ  ト、_。_)  (      ,、 | |⌒i  iヽ,\
、_          レ    /|  ̄/.|j~ `.=°=´   | |つ.|  ゝ.\.\   なんでこんな・・・・・・
、_`'-、_         / .レ´    u u _ ,、-'´  .| |ノ/   ヽ \ \  あってはならないことがっ・・・・・・!
 `' -、,`' -、/`7―-/ r'__   __ `  ̄    |j~ ||ノ.      \ \ \
     `'ァ、\/―- 、 __| f========ニ`i   /|       |\ \ \ .\   どうして・・・
     /  \ \       | |          }  / |       | / ̄ "'' ‐-\ .\  なんで・・・ こんな・・・
    i.   / \.\   / ||- ―‐-r―‐-/ / レ     N ̄ "'' ―‐ --\  こんな・・・・・・・・・
.    |   /   \.\〃! |` ―' -----'/    |      |
    |        \.\| .| u==  ,、- '´  u ./|     |   こんな理不尽なことが
    |           \ \l_ ,.、- ' ´         /| |.    N   オレの身ばかりにっ・・・・・・・・・!
    |            | |\ \        |j~  / | レ   |
    |         | レ |\ \       / |   |   |
    |.         | | |  \ \  u  /  |   |   |

425:535
21/01/31 16:13:13.54 VZ57vNLN.net
次のアイディアが欲しいですね。

426:310
21/02/01 00:01:08.19 8O6JXncr.net
だんだん時間かける事に鈍感になってきて、棋譜作成のサイクル一回回すのに
既に1ヵ月以上経過w
手作業で掘る作業が追い付かなくなって、まだ1ヵ月くらいかかりそう。

427:535
21/02/04 19:48:36.88 gu71a/9B.net
セブンってショップでRyzen 9が売り切れてんだが?
まじか?
かなり異常事態のような。

428:535
21/02/05 23:04:45.07 y8QVdHw1.net
結構タイルゲームで遊んでるんだけど、もしかしたらAIの勝ちが人間の勝ちの2倍程度になるように調整してるのかもしれないな。
AIの勝ちが増えすぎるとわざと負けてくれてるような気がする?

429:535
21/02/16 19:10:58.66 uo6Sp06Y.net
アイディアとモチベが湧いてこないですねぇ。
もう何週間もさぼってる。
それはそうと最近、天頂7の9段に9路の白番で勝つ手順を丸暗記するという割とむなしい遊びをしています。
相手が手順通りに打ってくれば天頂7に白番で勝てるというw
いま勝てるパターンを2つ暗記しました。

430:310
21/02/17 13:17:00.68 s846FVIG.net
すっかり手掘り作業が癖になってしまい、棋譜は190万件突破。
FFO(フランスのオセロ団体で、FFOテストで有名)のサイトを久々に見ていたら、
今更ながらに棋譜集を見つけてしまいました。トータル5万件ちょい。
試しにいくつか読み込んでみました。残り24手以後はこちらで読み切り処理してます。
結構スコア差がついている棋譜が多くて、読み切りの結果全滅している棋譜も数%。
それでも、24手目以後ドローで、現在の自分のBookでは推定パブリックドローと
判断すべき棋譜も2000件中5件程度はあります。
現状、石差が大きい棋譜が不足しているのと、推定パブリックドローが100件程度は
拾えそうなので、順次読み込んでみたいと思います。
時々、末端に近いノードのヒューリスティックスによるオーダリングのアイデアを考えて
いますが、プログラム修正して速度計測するのが面倒くさい(汗

431:535
21/02/17 19:54:58.58 PoPm8b/n.net
天頂に白番で勝てる手順w
もちろん変化されたら無力ww
(;GM[1]FF[4]AP[Zenith:7.0]SZ[9]HA[0]KM[6.5]CA[UTF-8]
PB[天頂の囲碁 九段]BR[9d]PW[あなた]WR[]ZT[10]DT[2021-02-17]
RE[W+Resign];B[ed];W[ef];B[ff];W[fg];B[gf];W[gg];B[eg];W[dg];B[eh];W[ee];
B[fd];W[dh];B[hg];W[fh];B[cd];W[gc];B[gd];W[fb];B[eb];W[hb];B[ga];W[hd];
B[fa];W[he];B[hf];W[ha];B[bf];W[bg];B[cf];W[cg];B[ag];W[ah];B[af];W[bh];
B[ie];W[id];B[gh];W[ei];B[gi];W[de];B[ce];W[dc])

432:535
21/02/20 18:00:17.43 xZ5jGFrw.net
ライフゲーム囲碁で軽くて強いAIができたらUnityでiOSアプリとして出して広告収入を得るという野望ができたw
ぼちぼち頑張っていこう。

433:535
21/02/22 20:58:56.14 ggZ1GkKi.net
終局図を予想するんじゃなくて終局図を3 x 3ごとの領域に分割して
その領域の石の数の和を予想するようにしてみた。
そしてそのDNNをつかったAIは盤面全体でなるべく万遍なく地を取るようにパラメータを調整した。
結構強くて面白い打ち筋のAIができた。

434:535
21/02/22 21:03:00.51 ggZ1GkKi.net
UnityってC#限定らしい。
tiny-dnn使いたいけどどうしようかな。

435:535
21/02/23 10:26:22.42 Rv/NZ5p8.net
AMD 株 あかんなぁ
長い目で見るしかないか

436:535
21/02/23 16:30:33.88 O6xcYKK2.net
ヤバイ、かなり強くなった。
しかも思考時間サクサク。
IPadの計算能力でも十分実用に耐えると思う。
広告収入の夢がひろがりんぐ。

437:535
21/02/23 18:41:42.62 O6xcYKK2.net
あれっはるか昔に作ったモンテカルロAIに勝てないな?
こんなはずでは…

438:535
21/02/24 20:57:06.87 htf3noQ0.net
今まで収集した棋譜から50万局面サンプリングしてDNN学習してたけど
150万局面サンプリングにしたら結構質が上がるっぽい

439:535
21/02/24 20:58:56.65 htf3noQ0.net
メモリが欲しい!
1TBくらい!!

440:535
21/02/24 21:46:44.77 htf3noQ0.net
Unityの勉強したいと思ってるけど、なんとなく先延ばしにしてしまう。
C#ならライフゲーム囲碁のGUI作ったことあるから楽勝かと思われたが案外苦戦するかも。

441:535
21/02/25 19:00:45.14 JkW/Ydgx.net
メモリがDDR5になると一枚128GBとかになるそうですね。
ここはZen4まで待ちか?

442:535
21/02/25 19:14:21.53 JkW/Ydgx.net
現在のライフゲーム囲碁のAIを公開します。
多分、かなり強い。素人ではまず勝てないくらい強いと思う。
しかも思考時間サクサク。
URLリンク(drive.google.com)

443:535
21/02/25 21:13:33.07 jSHB0UOb.net
ライフゲーム囲碁では現在石のあるところに終局時も同じ石がある事が多いから終局図予想が有効なんだろうな
オセロだと石がコロコロ変わるから役に立たないかも

444:535
21/02/25 23:31:19.86 jSHB0UOb.net
本当にオセロで役に立たないかちょっと試してみたいかも
まあ当面はライフゲーム囲碁に注力するけど

445:535
21/02/26 12:06:16.47 SaD/jMLU.net
うあああああ、AMD株ゲロ下げ! orz orz orz
意地でも損切りしません!!

446:535
21/02/26 22:06:51.79 SaD/jMLU.net
あれ、ある程度強いAI出来たらなんかライフゲーム囲碁への興味が薄れてきたんだが。。。
俺の情熱はこの程度のものだったのか?

447:535
21/02/27 17:31:30.09 9RP+gzxY.net
一旦AI強化はストップしてiOSアプリとして世に出すことに注力しようかな。。。
そしたらライフゲーム囲碁は一区切りつく気がする。

448:535
21/02/27 18:19:13.71 9RP+gzxY.net
囲連星の時はLV3という素晴らしいライバルがいたけど、
ライフゲーム囲碁AIはある意味、独り相撲(という言い方があってるかあれだが
強い相手が欲しい。

449:535
21/02/27 21:57:13.04 9RP+gzxY.net
app storeにアプリ出すのって年会費10000円以上かかるとかなんとかorz
はやくも暗礁に乗り上げたorz

450:535
21/02/27 23:02:26.05 9RP+gzxY.net
一応unityダウンロードしてみたんだけど。。。
鶏を割くにいずくんぞ牛刀を用いん、って感じなんだが。。。

451:535
21/02/27 23:05:00.12 9RP+gzxY.net
もっと手軽な碁石と碁盤使ったゲームのツクール系ツールみたいなのないんか?

452:535
21/02/28 11:18:18.67 WgCf/gfB.net
ちょっとunityからは撤退しようかな。。。w
明らかに碁盤を使ったゲームを作るのには不向きだろこれ。。。

453:310
21/02/28 19:10:49.74 G409jqAr.net
棋譜200万件突破。
FFOの棋譜を読み込んだら、一気に推定ドロー数が半減してしまった。
一部チェックしてみたら、当然だけど最善進行になっていない棋譜が多い。
誤手1回目でドロー筋から外れて、2回目で逆転するような棋譜があると、
本当はドローなのに、ドローじゃない事になってしまうので、その可能性が高い。
もしかしたら、本当に正しくドローじゃないのかも知れないけど。
気が付いた一部の棋譜を手で修正していたら、あっという間に200万件突破。
この後、タイミング見て、前回ドローだった筋がドローから外れたところを重点チェック
する処理をかけたいけど、かなり大量になりそうです。普段ですら100件程度出てくる
んだけど1000件単位になりそう。終わった頃には棋譜が250万件超えているだろう
と思います(汗。

454:535
21/02/28 22:25:07.17 WgCf/gfB.net
unityがあきらめきれず、まだもがいてます。
多分良いチュートリアルが見つかればなんとかなる。はず。

455:310
21/03/01 10:17:05.78 taYKBNAm.net
FFOから追加したのが2200件、これを見つけ出して後ろから訂正するから途方に
くれるのであって、前からドロー筋をチェックしていけば、比較的簡単じゃないかと
閃いて、前からチェックでいくつか直したけど、1/3ほどしか治らんかった。
後は、重点チェックの自動処理に任そうと思う。
手動訂正飽きてきたし。

456:535
21/03/01 19:02:13.63 Slm2BpgX.net
youtubeでunity入門のいい動画が見つかって、一気に進みました!
碁盤に碁石をポチポチ置けるところまですでに出来てます!
ライフゲーム囲碁のルールを実装するのはそれほど難しくないから
あとはtiny-dnnをなんとかすればやりたいことはほぼクリア出来たも同然です!!

457:535
21/03/02 19:37:14.29 /udWcgwN.net
tiny-dnn使うのむずかしいかもorz

458:名前は開発中のものです。
21/03/03 18:45:49.72 OWIkwRfR.net
>>456
その動画教えてください

459:535
21/03/03 19:41:03.40 ASkT+B/n.net
>>458
Unityゲームスタジオ スタジオしまづ 倉庫番 で検索してください。

460:535
21/03/04 18:51:15.39 UVMmpKWT.net
AMD株が瀕死 orz 絶対損切らない T△T
tiny-dnnもダメかも?
最悪Unityで使えるフレームワークで学習しなおしになるかも。
教師データが残ってるのがせめてもの救いか。

461:名前は開発中のものです。
21/03/04 20:34:46.32 /vJAcDps.net
靴磨きの少年w

462:310
21/03/04 22:39:22.91 jFz4sVNV.net
重点チェック処理完了。思ったより少なかったのでおよそ1.5万件で済みました。
ドロー筋は、FFO棋譜読み込む直前の状態に近いところまで戻りました。
もう二度と人間の棋譜は入れない(汗
なんつーか、Thread Ripperが欲しくなってきた。
そろそろBookが大きくなってメモリーパンパンだし。

463:535
21/03/04 23:18:30.21 UVMmpKWT.net
AMD株が200$になったらスレッドリッパー買うんだ。。。(死亡フラグ)

464:535
21/03/08 20:02:03.03 SbIJl68m.net
tiny-dnnどうするかまだ悩んでます。
一応、今考えているのが
C++をC#へトランスレートするようなものを目指すか、
tiny-dnnをすててpytorchなどで学習しなおすか。
どっちも結構な工数がかかりそう、かつ技術的ハードルも高めで踏ん切りがつかない。
特にC++をC#へトランスレートは成功する保証が全くない。
迷ってる間に両方やればいいのかもしれないけど、そこまでの体力とモチベーションもない。
悩ましい。

465:535
21/03/09 12:27:05.11 TGn9I9xg.net
    ,.へ           /`',
  //ヽ.\      (二二  .二二二)
.//    \ヽ._      / ./
` '       \_`,    .//      ∩∩  ,へ
              /_,-‐-‐‐- 、  ∪∪//
            -=ニ ̄      \  // O O O
           /            l__
          /      __   /|     _\
          ( i'^'l r‐ ' ̄| .| i /  |   、\ ̄    嘘だ…
        //-iノr-'⌒ヽ|/ / /二|/  l |ヽ|
      _<  ((/((._ ,@ v,  =、、 |/| | |i |
    <     / u_ιu~= u/_ @ ヾ//| |l/     夢だろ…これ…
 < ̄      l/ニヽ-、_r _  {ι、,-'´/ レ
 ─┬─ |   /ヾニヾ、ヽ、\J /
  ./  // / `i v ヾ ニ、_ノノ          夢に決まってる…!
/  / // /  ヽ ミ u,/'//
' ̄i/   //   /`-'/´///
AMD下げ止まらない!

466:535
21/03/09 12:29:57.24 TGn9I9xg.net
絶対損切りません!!!

467:535
21/03/09 18:55:47.52 TGn9I9xg.net
pytorcで学習しなおすにはC++で書いたLifeGameGoのコードをpython に移植する必要があると思ってたけど、
swigうまく使えばかなりコード使いまわせるかも、と思いついた。

468:535
21/03/10 18:34:37.01 dPa6OG1W.net
python から教師データにアクセスすることに成功しました。
あとはpytorchで学習する部分が書ければ。。。

469:535
21/03/10 18:37:07.10 dPa6OG1W.net
AMD株は少し戻しましたね。
ガチホで耐え抜く!

470:310
21/03/11 12:23:53.12 j4c7ib4A.net
4か所ほど改造したくなってきました。
ソースの混乱を避けるためまた新ソリューションで作ろうかと思っていますが、
例のFFO棋譜で生じたBookのダメージ箇所を見つけて直す作業がかなり時間が
かかりそうです。削除しちゃえば早かったんだけど、活かして訂正かける方向に
しちゃったので、後に引けない。
どうしよう。
あと、NTESTのソース見つけた(今頃)。
NTESTの引き分けBOOKは公開されていないらしい。残念。

471:535
21/03/11 19:00:03.56 7j7hDg2j.net
意外とwebの情報だけだとpytorchがとっつきにくくて、入門本をキンドルで買いました。

472:名前は開発中のものです。
21/03/13 12:06:31.87 1qokcCaU.net
>>470
URLリンク(www.orbanova.com)
は?

473:535
21/03/14 16:18:09.63 WU5JnbUY.net
なんかいまいち情熱が湧き上がってこない。
あまり気負わないほうがいいかもだけど。

474:310
21/03/14 16:39:25.01 Gv94SmBp.net
>>472
ありがと。それで良いんだ。
早速ダウンロードしました。

475:535
21/03/16 18:57:07.07 Sqpz5BC1.net
まだpytorch進めていいフラグが立ってないみたい。orz

476:535
21/03/17 18:43:23.41 uEwzZ7oA.net
pytorchフラグ立ったかも?

477:535
21/03/17 20:14:02.76 uEwzZ7oA.net
pytorchでの学習に成功したようです。
それっぽい値が返ってきてます。
素晴らしい。
次はonnx形式にエクスポートしてunityから参照ですね。
ゴールが近づいてきたっ

478:535
21/03/19 11:53:43.84 LtMPHDsm.net
unityでonnx使えました!!
全ての技術的障壁はとりはらわれました!!!
あとは整えるだけです!!!!

479:535
21/03/19 20:26:47.27 LtMPHDsm.net
整えるだけとか言ったけど、それが地味にボリュームあることに気づいたorz

480:535
21/03/22 20:47:19.59 17zL1ZBs.net
unityですが基本的なゲーム部分はほぼ形になりました。
あとはどういう形で公開するかですね。。。
収益化とか興味あったけど、どうせ大した額にはならないだろうし
iOSアプリはちょっとハードル高いのでWebGLでunityroomにでも上げてしまうか?
まあぼちぼち考えていきます。

481:535
21/03/23 21:56:22.71 UAwn5kzx.net
Githubで公開しました。
GithubでLifeGameGoWebGLで検索してください。
収益化はとりあえず見送りかな。。。

482:名前は開発中のものです。
21/03/23 22:01:10.82 Zn9OSq50.net
フラッピーワールドみたいなゲームやりたいな

483:535
21/03/25 17:40:59.94 f/gFYoAO.net
LifeGameGo AI かなり強いと思いましたが、囲碁高段者とかには普通に負かされるっぽいorz
まだまだ修行が必要か。。。

484:535
21/03/25 17:46:40.81 f/gFYoAO.net
でもまあライフゲーム囲碁は一区切りかなぁ?
なんか目先を変えて違うゲームやりたいな。
ライフゲーム囲碁では終局図予想が結構うまくいったから
ほかのゲームにも応用してみたいな。

485:535
21/03/25 18:33:15.38 f/gFYoAO.net
一週間くらい活動休もうかな?w
若干、燃え尽きた感がww

486:535
21/03/30 19:37:45.37 49D9zVZt.net
9路囲碁やろうかな?
終局図予想の応用として相性がよさげ

487:535
21/03/30 19:42:10.14 49D9zVZt.net
それに囲碁ならいくらでも強い相手がいるし。

488:535
21/04/01 21:32:01.41 aNe43Nri.net
1カ月くらいさぼろうかな?ww
完全に燃え尽きたww

489:310
21/04/01 22:39:57.60 oZ+Ylys+.net
色々改造中。たくさん改造するのでバージョン2にして全面見直し中。
棋譜210万件を超えて、メモリーがいよいよヤバいので、棋譜へのランダムアクセスは
色々工夫してファイルシステム任せ、BookはSQLite化して外だしを進めています。移植し
ながらの修正がまだ完了していないので、テストどころかコンパイルすらしてません(汗
片や、現行のバージョンでは、棋譜作成のロジックを修正して、結構効率よく要チェック
できるようになりましたが…こちらの処理を優先しているのも、なかなかコンパイルに至ら
ない原因だったりしますorz


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch