X



【オセロ,将棋】ボードゲーム Part3【囲碁,War】
0002535
垢版 |
2019/11/23(土) 19:12:08.93ID:0YM91Vba
保守って必要なんでしたっけ?
とりあえず少し書き込んどくか
0003535
垢版 |
2019/11/23(土) 19:16:02.64ID:0YM91Vba
CPUがシングルスレッド動作で遊んじゃってるから並列化したいが難しいかな?
0004310
垢版 |
2019/11/23(土) 22:24:52.69ID:SYjlCoJ6
乙です!
0005535
垢版 |
2019/11/23(土) 23:13:05.52ID:0YM91Vba
ライフゲーム囲碁のルール的に5x5のフィルタは絶大な効力があるはずだが。
今のネットワークが行き詰まったら試してみたい。
0006535
垢版 |
2019/11/25(月) 20:13:20.12ID:2wmTVw+j
ネットワークいじってみます。
0007535
垢版 |
2019/11/25(月) 21:18:17.92ID:2wmTVw+j
倍、遅くなりました。orz
でもこれで行こう。
0008535
垢版 |
2019/11/25(月) 22:30:43.24ID:2wmTVw+j
もしかしたらGPUつかってたらGPUがネックになってCPU並列にしても高速にならないとか可能性あるんだろか?
そんなもん試してみなきゃわからんか。
うーん。
0009535
垢版 |
2019/11/25(月) 22:51:45.65ID:2wmTVw+j
他人のコードをただ使うだけじゃなく、ちゃんと理解したほうがいいんだろな。
ぼちぼち読み解いていくのもやっていかないとな。
0010535
垢版 |
2019/11/26(火) 19:30:51.66ID:XeQhwPoh
今日も止まってる。
中間結果をもっとこまめに吐き出すようにして止まっても再開できるようにしないとだめかなぁ
0011535
垢版 |
2019/11/26(火) 19:50:21.34ID:XeQhwPoh
100戦ごとに中間結果を吐き出すのを20戦ごとにしました。
ベストポリシー更新も40戦中24勝で更新のところを10戦中7勝で更新にしました。
短いスパンで回数をこなす方針です。
0012535
垢版 |
2019/11/26(火) 19:55:34.68ID:XeQhwPoh
ただ固まらないで走り続けてくれるだけでいいのになんでこんなことで躓くんだろ?
これはあれか?new マシンを買えという神のお告げか?ww
0013535
垢版 |
2019/11/26(火) 21:34:32.66ID:XeQhwPoh
オープンソースの強い9路囲碁のAIをどこかから持ってきて、初手から上位候補3〜4手を展開して
HDDが溢れるまでDBに登録するというのをヒマができたらちょっとやってみたい。

>>310さんに聞いてみたいですが、これ筋悪ですかね?
0014535
垢版 |
2019/11/27(水) 19:51:58.04ID:1doHT5Qb
お、止まってない。
当たり前のことがこんなにうれしい。
0015535
垢版 |
2019/11/27(水) 23:02:57.56ID:pze7UUXG
なんかcpu特化マシンとgpu特化マシンと2台用意するのが良いのかも知れない
そんな気がする
0016535
垢版 |
2019/11/28(木) 19:26:52.13ID:v0cCrhOy
お、今日も止まってない。
0017535
垢版 |
2019/11/28(木) 19:43:10.05ID:v0cCrhOy
ランダムボットと対戦してみます。
0018535
垢版 |
2019/11/28(木) 20:27:44.97ID:v0cCrhOy
お、50戦50勝ですね。
既存AIとも対戦させてみたいですが手入力はめんどくさいですね…
0019535
垢版 |
2019/11/28(木) 20:37:24.27ID:v0cCrhOy
手入力でやってみようかと思いましたが誤入力してしまうと取り返しがつかずかなり面倒ですね。
ちょっとやってみましたがいきなり先制攻撃して反撃を食らってしまうモンテカルロの癖が見られますね。
まだ既存のモンテカルロ+ヒューリスティックAIには勝てないかな。
0020535
垢版 |
2019/12/03(火) 21:41:13.98ID:psH8GHTp
ベストポリシー更新こね〜〜〜
丸一日来なかった切なすぎる。orz
0021名前は開発中のものです。
垢版 |
2019/12/04(水) 12:01:20.94ID:DcP5cUp2
これがシンプルで初心者向きかと

TLWIN4
http://www2u.biglobe.ne.jp/~shunbook/omocha/tlwin4.htm
0022535
垢版 |
2019/12/04(水) 20:41:26.48ID:NLOWOBvY
>>21
囲碁っぽいゲームだね。
自分がそのAI作ろうとは思わないけど、作者がこのスレに書き込んでくれるなら歓迎する。
0023535
垢版 |
2019/12/04(水) 21:27:51.53ID:NLOWOBvY
結構昔のゲームなのか。
強いな。勝てない。まあ当たり前か。
アルファベータっぽいアルゴリズムなのかな?
いい枝刈りがあれば完全解析も夢ではないかも。
作者もう開発してないかもね。

センスいいゲームだと思います。
0024535
垢版 |
2019/12/04(水) 21:35:48.74ID:NLOWOBvY
ん〜16マスだとすべての局面数が高々3^16=43メガか
今のマシンなら完全解析できそうな?
ていうか多分作者がもう完全解析達成してそう?。
0025535
垢版 |
2019/12/04(水) 21:54:47.77ID:NLOWOBvY
多分今からやるなら6x6か8x8がいいサイズかな?
でも小さい盤面でも奥が深いのは確かにそう思う。
0026535
垢版 |
2019/12/04(水) 22:29:16.14ID:NLOWOBvY
310さんにもコメント頂きたいですね〜これは
0027名前は開発中のものです。
垢版 |
2019/12/05(木) 21:57:34.99ID:kfWaNk0U
タイルゲーム紹介した人だけど作者ではないけど
ちかいうちにたたき台をあげる
これで実験することで他のゲームにも応用、流用できるはずだろうと
0028535
垢版 |
2019/12/05(木) 23:28:53.86ID:TGSJx2oP
>>27
今後、継続的に書き込むなら、なんかコテつけてくれるとありがたいです。
0029535
垢版 |
2019/12/06(金) 22:26:41.60ID:oWoLkQQa
ここ3日くらい止まらないで動いてくれてる。
ありがたい。
0030535
垢版 |
2019/12/07(土) 11:40:38.80ID:g440eZAz
いきなりつける癖が抜けてないですねorz
0031310
垢版 |
2019/12/09(月) 18:07:44.19ID:U9gfgHkj
面白そうなゲームですね。このゲーム、千日手筋が出た時の引き分けの扱いが気になり
ます。引き分けにならないのかなぁ。

4×4なら、作者さんの様に盤面の勝敗情報をBook(DB)化して、幅優先探索で虱潰し
に穴埋めします。千日手検出して探索打ち切り筋決めながら。あと、Bookの遡り更新。
強いAIを作るというより、完全解析に向かっちゃいます。時間がどれくらいかかるのか
は不明だけどオセロの4×4は1秒未満で完全解析しちゃうのでいけるかなと。

8×8だと、何らかの評価関数が必要でしょうね。どういう評価関数にするか妄想膨らん
だけど、当面作る予定もない人が、先を予想するのもどうかと思うので、省略。

あと、偶数盤と奇数盤で結構必戦術が違ってきそうな気がしています。

つか、AI的に、ちょっと興味あるかも。
0032535
垢版 |
2019/12/09(月) 21:43:34.79ID:Tnj0Wr3X
ライフゲーム囲碁もうまく行かないし少しこのゲームに寄り道したい気持ちが出てきた。
まだやるかわからんけど。
0033535
垢版 |
2019/12/14(土) 21:52:48.39ID:U079ctc/
タイルゲームのルール実装しました。
多分4x4の完全解析行けそうな感じです。
0034535
垢版 |
2019/12/15(日) 00:07:31.40ID:dv2UjkPD
あれ意外と手ごわいかも?
まだメモリは尽きてないから様子見かなぁ
0035535
垢版 |
2019/12/15(日) 00:34:33.88ID:dv2UjkPD
計算上メモリは足りるはず…
頼む、足りてくれ!
0036535
垢版 |
2019/12/15(日) 02:40:07.52ID:dv2UjkPD
計算おわらねぇなぁ
310さんの言うように千日手あるのかなぁ
もう今日は徹夜だ
0037535
垢版 |
2019/12/15(日) 02:48:14.39ID:dv2UjkPD
このゲーム凄いギリギリのゲームバランスを達成してるのかもしれない。
まだ計算途中だけど白黒で必勝局面の数がほとんど変わらない。
凄い。
0038535
垢版 |
2019/12/15(日) 02:52:03.54ID:dv2UjkPD
対称局面考慮すればもうちょっと速くなりそうかな。
8対称にはならないかな?4対称?
0039535
垢版 |
2019/12/15(日) 03:12:30.90ID:dv2UjkPD
これ310さんならもっと速くとけるんじゃないかなぁ。
メモリを意識しすぎたかもしれん。
もっと贅沢にメモリ使ってもよかったかも?
0040535
垢版 |
2019/12/15(日) 03:14:21.83ID:dv2UjkPD
16手目まで読んでも探索が終わらないだと?
なんか間違えてんのかなぁ
0041535
垢版 |
2019/12/15(日) 03:50:04.48ID:dv2UjkPD
4対称いれてみました。
0042535
垢版 |
2019/12/15(日) 04:10:25.62ID:dv2UjkPD
この調子だと5x5の完全解析はかなり難しいかもな。
まだ解けてないけど4x4は行けるはず。
0043535
垢版 |
2019/12/15(日) 04:45:38.29ID:dv2UjkPD
4対称を考慮したすべての合法な局面数16050722になるっぽい。
でも完全解析はまだできてない。
反復深化っぽいアルゴリズムにしたの失敗だったか?
0044535
垢版 |
2019/12/15(日) 04:47:02.51ID:dv2UjkPD
あ、合法局面数えるの終局判定入れてなかったorz
もっと減るかな。
0045535
垢版 |
2019/12/15(日) 04:50:51.95ID:dv2UjkPD
14649602に修正
0046535
垢版 |
2019/12/15(日) 05:17:18.42ID:dv2UjkPD
反復深化やめたら72秒で完全解析完了しましたw
結果は後手の勝ち。

まあバグはあるかもしれない。
310さんもやってみてほしいな〜
答え合わせしたいw
0047535
垢版 |
2019/12/15(日) 05:22:54.38ID:dv2UjkPD
使用メモリは2GBくらい。
うーん。
なんかちょっとバグの予感がしますが。
0048535
垢版 |
2019/12/15(日) 05:43:15.98ID:dv2UjkPD
バグあるっぽいw
駄目か〜
0049535
垢版 |
2019/12/15(日) 06:32:05.02ID:dv2UjkPD
千日手が正解の可能性が浮上?
0050535
垢版 |
2019/12/15(日) 09:52:56.34ID:dv2UjkPD
勝った〜
一勝した。

必勝かどうかは確かめる気力なしwww

もう寝るwwww

これ以上バグが無ければ後手必勝と出ました。
0051535
垢版 |
2019/12/15(日) 17:50:01.09ID:dv2UjkPD
今のところ完全解析にかかる時間は2分15秒
公式AIにも勝てるし多分バグも大丈夫

ちなみに5x5完全解析は絶望的

6x6くらいをアルファゼロでやってみるのも面白いかもね。
0052535
垢版 |
2019/12/15(日) 17:55:09.82ID:dv2UjkPD
ID真っ赤だな俺ww
まあ今日は頑張ったww
久しぶりに気分いいわww
0053535
垢版 |
2019/12/15(日) 18:19:20.88ID:dv2UjkPD
公式AIのBookのフォーマット、ドキュメントがありますね。
必勝ブックを作るのもちょっと面白そうだがさすがにそこまではやらないかな。
0054310
垢版 |
2019/12/15(日) 21:32:35.89ID:PDoLh5O/
お。早速やりましたか。

必勝法の類の発想ですが、盤面に2×2のフィルタをかけたとして、3^(2×2)=81通り
を、縦接続・横接続・未定に分類して9×9の盤面に置きかえると、作戦を考えやすいの
かなと思っていたりします。
0055535
垢版 |
2019/12/16(月) 21:09:00.92ID:dJ29kvV6
AIから日本語で棋理を抽出出来たら面白いなーと妄想したり。
囲碁将棋でだれかやってくれないかな。
0056535
垢版 |
2019/12/16(月) 21:13:33.69ID:dJ29kvV6
タイルゲームはわりとツークツワンクが大事っぽいですね。
0058535
垢版 |
2019/12/17(火) 19:35:03.93ID:h0rSgjCv
あ、27さんの見せ場を奪ってしまったかな?
まあ5x5とか残っているし頑張れ
0059535
垢版 |
2019/12/19(木) 23:00:30.63ID:XsL9bSJe
アルファゼロってホントに強くなるのかなぁ?
疑念が収まらないww
0060535
垢版 |
2019/12/20(金) 22:46:58.99ID:/59V9wdU
DeepMindからAlphaZeroの進化版「MuZero」が登場
?!?
0061535
垢版 |
2019/12/22(日) 18:05:10.17ID:XpBmBKVP
ちょっと燃え尽き症候群
充電期間に入ります。
0062535
垢版 |
2019/12/26(木) 18:46:52.48ID:ocod8Evw
19路囲連星をまたやろうかとかぼんやり考えています
0063535
垢版 |
2019/12/30(月) 18:05:24.77ID:dZSTVZh/
リレーショナルDBに手を出してみたい
ポスグレが第一候補
0064535
垢版 |
2020/01/01(水) 00:57:35.38ID:w82OsQtH
あけおめことよろ
0065310
垢版 |
2020/01/01(水) 21:54:10.76ID:b8dqHZW+
あけおめー。

昨年中に確定探索遡りのバックログを消化するつもりだったのが、
怪しい筋たくさん見つけて全部訂正棋譜を掘ってしまったので、
更にバックログ増加中。
0066535
垢版 |
2020/01/07(火) 23:13:54.32ID:lg7NV8/5
ポスグレの入門本買ったけど全く手を付けてない
さぼりモード
0067535
垢版 |
2020/01/08(水) 20:25:47.47ID:cMYKNZky
ポスグレ使うとして囲碁やるかライフゲーム囲碁やるか囲連星やるか心が決まらない
0068535
垢版 |
2020/01/11(土) 16:36:11.27ID:WpEoOetb
とりあえず8TBのHDD買った
どのゲームやるかはまだ決まってない
0069535
垢版 |
2020/01/11(土) 18:23:32.55ID:WpEoOetb
うお、ケースにHDD増設するスペースがないw
外付け化できるやつ買うかw
0070535
垢版 |
2020/01/11(土) 20:01:59.75ID:k+qMG4J3
HDD無事OSに認識されました。(最初認識されなくて焦った)
さてここからどうするか。
0071535
垢版 |
2020/01/11(土) 21:11:20.06ID:k+qMG4J3
は〜心が決まらないorz
0072535
垢版 |
2020/01/12(日) 01:24:49.63ID:lXXQv4sQ
ライフゲーム囲碁はデータ取るほど弱くなるし、19路囲連星は広すぎるし9路囲連星かなぁ
0073535
垢版 |
2020/01/12(日) 01:31:22.13ID:lXXQv4sQ
あれ、おかしいな。9路囲連星のソースどこかいっちゃった。
まあ気持ちも新たに1から作るのも悪くないけど。
0074535
垢版 |
2020/01/13(月) 21:33:57.10ID:1JhgLjol
なんかちょっとしばらくさぼってたらコーディングの腕が鈍ってるかも。
勘が働かないというか。
0075535
垢版 |
2020/01/21(火) 21:15:41.22ID:fnHRizf7
マジでモチベが湧いて来ない
ここのところ忙しかったのもあるけど
0076535
垢版 |
2020/01/25(土) 16:52:30.60ID:7FFFt+eL
9路囲連星のモチベが上がらないのは本当は心の底ではライフゲーム囲碁をやりたいからなのかもしれない。
0077535
垢版 |
2020/01/25(土) 20:21:04.06ID:7FFFt+eL
いや、ちがうな。手っ取り早く結果が欲しいだけなんだ。
心が弱いんだ。
0078535
垢版 |
2020/01/28(火) 21:14:35.23ID:/HMe/KRT
やっぱ教科書の通り実装しようとするよりも自分でアイディアひねり出そうともがくほうが楽しいなぁ。
教科書が大事じゃないとは言わないけど、なによりモチベが全ての活動の源泉だからな。
0079535
垢版 |
2020/01/30(木) 22:19:32.33ID:7K5l2TPR
対称局面で候補手を絞り込む処理書いてるんだけど、もしかして8対称じゃなくて4対称しか使えないのだろうか??
0080535
垢版 |
2020/01/30(木) 22:27:50.02ID:7K5l2TPR
ちょっと言葉が足りないかな?
着手後の局面が対称局面として同型となる候補手が複数ある場合、
そのうちの一つだけを代表として選択できるようにする、みたいなイメージなんだけど。
0081310
垢版 |
2020/01/31(金) 20:42:25.38ID:Qy9oY0qS
線対称と回転対称があって、線対称は縦横斜め×2の4通りと、
180度回転対称の5通りではないかと思われます。
0082535
垢版 |
2020/01/31(金) 21:33:38.95ID:AV/HbVoo
うーむ、線対称はそれぞれ候補手が約半分になるのはわかるが180度回転対称はどうなるんだろう?
0083310
垢版 |
2020/01/31(金) 23:26:47.00ID:Qy9oY0qS
半分じゃまいかと
0084535
垢版 |
2020/01/31(金) 23:37:10.96ID:AV/HbVoo
すいません、まだわかってません。
考えてみます。
0085535
垢版 |
2020/01/31(金) 23:53:18.86ID:AV/HbVoo
0 O O O O @ @ @ @ @ | 0 O O O O O O O O O | 0 @ @ @ @ @ @ @ @ @ | 0 O O O O O O O O @
1 O O O O @ @ @ @ @ | 1 O O O O O O O O O | 1 O @ @ @ @ @ @ @ @ | 1 O O O O O O O @ @
2 O O O O @ @ @ @ @ | 2 O O O O O O O O O | 2 O O @ @ @ @ @ @ @ | 2 O O O O O O @ @ @
3 O O O O @ @ @ @ @ | 3 O O O O O O O O O | 3 O O O @ @ @ @ @ @ | 3 O O O O O @ @ @ @
4 O O O O @ @ @ @ @ | 4 @ @ @ @ @ @ @ @ @ | 4 O O O O @ @ @ @ @ | 4 O O O O @ @ @ @ @
5 O O O O @ @ @ @ @ | 5 @ @ @ @ @ @ @ @ @ | 5 O O O O O @ @ @ @ | 5 O O O @ @ @ @ @ @
6 O O O O @ @ @ @ @ | 6 @ @ @ @ @ @ @ @ @ | 6 O O O O O O @ @ @ | 6 O O @ @ @ @ @ @ @
7 O O O O @ @ @ @ @ | 7 @ @ @ @ @ @ @ @ @ | 7 O O O O O O O @ @ | 7 O @ @ @ @ @ @ @ @
8 O O O O @ @ @ @ @ | 8 @ @ @ @ @ @ @ @ @ | 8 O O O O O O O O @ | 8 @ @ @ @ @ @ @ @ @

やっぱりわからないかもしれない。
例えば線対称なら上図のようになりますよね(@が着手候補)
回転対称ってどう半分になりますか?
0086535
垢版 |
2020/02/01(土) 01:57:04.18ID:TrLaB+Vx
もしかして現局面の対称性を考えるんじゃなくて着手後の対称性を考えるとわかるのだろうか?
0087310
垢版 |
2020/02/01(土) 09:51:10.99ID:rBYht6FY
回転対称の時は、180度回した場所と対称になるので、左上と右下みたいな感じです。

(0,0)⇔(8,8)
(0,1)⇔(8,7)
(1,0)⇔(7,8)
(1,1)⇔(7,7)

(m,n)⇔(8−m,8−n)

みたいになりますので、図形ではイメージしずらいかも。
0088535
垢版 |
2020/02/01(土) 18:31:37.87ID:TrLaB+Vx
うーん、回転対称確かに使えるかも。結局8対称全部使えるってことなのかなぁ?
0089535
垢版 |
2020/02/01(土) 23:53:26.53ID:TrLaB+Vx
とりあえずpostgre sqlをインストールしました。
0090535
垢版 |
2020/02/03(月) 21:22:57.75ID:blktSoE8
スレッドリッパー3990x今週発売らしいですね。
藤井聡太7段が狙ってるとかなんとかw
0091310
垢版 |
2020/02/04(火) 22:54:13.24ID:e/vxAQDk
なんか今日のabema中継で藤井君が新PC買ったみたいな話出てたよ。
解説陣の伝聞情報だからアテにならないかも知れないけど。

相変わらず棋譜作り続けているけど、まだまだ局面的にはスカスカな感じ(汗
あと1年くらい続けてもダメかも知れないorz

あと結構たくさんのパブリックドローが、ドローじゃなさそうな感じになってきてます。
ドローから外れる良い手(+2の分岐)が見つかった時に、それが正しいのかどうかを
チェックしています。深いところの分岐なら時間かければ完全読み切りで確定できる
のですが、浅いところで外れる場合は確認しきれません。Zebraを見ながら間違い探し
をしようにも、こういうのはZebraの評価値も揺れ動いていてあんまりあてにならず。

現在パブリックドローとして拾ってきた棋譜が99本ありますが、12本が確定間違い。
13本が、おそらく間違いという状態です。後者はDAGや対称形を考慮すると4パターン
に集約されます。

ちなみに、F5f6E6f4G5の筋は全滅しそうです。F5d6C3d3C4f4C5b3C2の筋は、たくさん
生き残っています。逆に新発見のおそらくパブリックドロー候補もたくさんあるけど、
まだ怖くて確認してません。
0092310
垢版 |
2020/02/04(火) 22:57:24.54ID:e/vxAQDk
対称局面の話ですが、MCTSで探索範囲を絞るのであれば、All Moves As First法が
有効ではないかと思います。

オセロでは全く使えない方法なので僕は詳しくありませんが。
0093535
垢版 |
2020/02/05(水) 21:51:06.12ID:gbgnOMyv
うーん、All Moves As First法ですか。
ライフゲーム囲碁は囲碁に似ているゲームだから有効かもしれませんが、手順はやっぱり大事な気がするんですよね〜
実装して試したわけじゃないけど、第一感として心のどこかで納得いってない部分はあります。
0094310
垢版 |
2020/02/06(木) 19:25:08.06ID:ecERWYVc
すまんライフゲーム囲碁よくわからんで適当だった。
手順が大事なら無理だね。


こちらはF5f6の筋が全滅している…。
これから間違い探しですが、大変だぁ。
0095535
垢版 |
2020/02/06(木) 21:50:40.62ID:zVCHlYJi
いや、実はむしろ囲碁よりライフゲーム囲碁のほうが有効な可能性までありますが…
やはり心のどこかで引っかかるものがあるのです。
0096310
垢版 |
2020/02/09(日) 10:30:31.08ID:oU+8Ghci
F5f6の筋復活。

パブリックドローリスト99件に対して、6パターン12本の棋譜が確定間違い。
そのほか3パターン9本のおそらくパブリックドローじゃない疑い。
0097535
垢版 |
2020/02/09(日) 14:41:50.20ID:zJ1T76cB
あああ、まったく頑張れない
今日も虚しく時間だけが過ぎて行く
Orz
0098535
垢版 |
2020/02/09(日) 19:12:30.03ID:ojAywroZ
SQLのテーブルって一回定義しちゃって運用始まっちゃうと中々変えれないイメージがあって踏ん切りがつかない
それなら初めからテーブル分割気味に定義したほうがいいのだろうか?
0099535
垢版 |
2020/02/09(日) 19:47:31.15ID:ojAywroZ
テーブルに予備項目もたせて後から項目増やしたくなったらそれ使うみたいな手法もないことはないな。
最善策ではないにしても。
0100535
垢版 |
2020/02/10(月) 20:30:44.20ID:RVFxecd9
軽く計算してみたけど8TBのHDDをもってしても12〜13手くらいしか全記憶できないっぽいな
うーむ
0101535
垢版 |
2020/02/10(月) 21:09:48.48ID:RVFxecd9
盤面情報と勝率情報をテーブル分けてidでjoinする方向で検討。
親子関係もテーブルに持つようにするかも。
0102310
垢版 |
2020/02/10(月) 21:49:59.84ID:88R3xHqQ
F5f6の筋また死亡。
死亡復活を繰り返して3回目くらいに復活安定した筋もあるので、まだまだかかるかも(汗
というか、こういう作業が面倒臭い。
0103535
垢版 |
2020/02/11(火) 15:02:56.99ID:5mcWafyZ
C++からpostgre sqlにテストデータを1件登録することに成功した。
夢が広がるなぁ
0104535
垢版 |
2020/02/11(火) 19:46:16.02ID:5mcWafyZ
テーブル定義は段々固まってきたけどどういう順序で探索ツリーを展開するか一番肝心なところが決まってない。
0105535
垢版 |
2020/02/11(火) 21:32:51.43ID:5mcWafyZ
探索が進むほど有望な局面を選択できるようにしたいがやはりMCTS系の探索だろうか?
0106310
垢版 |
2020/02/11(火) 21:43:38.70ID:gp4irkBy
F5f6の筋復活(汗

その代わり、F5d6E6f4とF5f6E6d6(対称形)に差が出てきて、評価値がずれた。
F5f6E6d6の棋譜をすべてF5f6E6f4に変換して、Bookにはf4系とd6系の2種類登録
しているので、ここの間では差が生じないが、例えばF5f4E3〜の筋からたまたま
F5d6E6d6とかに合流してくると、その棋譜については対称変換しないので、差が
生じてしまうという事になるかなと気が付いて、対称変換で差が生じている棋譜を
Bookから逆生成してみたところ結構な件数が…というか、ざっくり見積もって既に
3万件超え。どうやって復旧するか悩むところ。というか、おそらくこれやったらまた
F5f6の筋が死亡しそうな予感。これから対策を考えます。むむむ。

そのほか、部分的に遡って完全読み切りした時に、そこまでたどり着いていない
筋の方が良い評価値になってしまうという、Bookに生じる矛盾を解消する処理を追加。
こちらは結構綺麗にできた。
0107310
垢版 |
2020/02/12(水) 00:35:06.03ID:Gx8MvMLI
対称形の合流問題、一応のプログラムできた…と思う。

ロジック的には色々なやり方があるのだけど、処理時間とどこまでやるのかという
ところが悩みどころ。今のままで動かすか、どうするか。

ちょっと悩みたいので一旦ペンディング。
0108310
垢版 |
2020/02/12(水) 22:15:37.07ID:Gx8MvMLI
一晩寝かしてプログラム破棄(汗

もともとある対称盤面の処理ロジックを生かして、F5筋しかない棋譜をC4/D3/E6に
対称変換する事で、根本的に解決しようという方向になりました。副作用はBookが
4倍に膨れるのと、F5スタート限定だった評価関数のエラーがいったん大きくなって
しまうために、学習しなおさなければならない事です。

やってみたら、Bookサイズでかすぎてメモリーギリギリ。仕方がないので60手目まで
作っていたBookを40手目までに限定。あと敢えて残して(意図的に作って)あった、
24手目以降のベストではない分岐も別途保存して一回削除しました。

メモリ64G以上欲しい…。スレッドは16くらいで十分なので。
0109535
垢版 |
2020/02/12(水) 23:03:00.16ID:OxY0+llC
メモリ欲しいですよね〜。
0110535
垢版 |
2020/02/12(水) 23:12:45.08ID:OxY0+llC
Ryzen Threadripper 3990Xに最適化したDDR4-3600 256GBメモリキットがG.SKILLから
ttp://www.gdm.or.jp/pressrelease/2020/0212/338305
0111535
垢版 |
2020/02/13(木) 20:29:06.20ID:t0qxkX+C
今更だけど、メモリよりHDDのほうがでかいわけだが、全部メモリに乗らないとするとどうやってプログラム組めばいいか悩ましいな。
ホント今更だけど。
0112310
垢版 |
2020/02/15(土) 00:33:20.86ID:aU7p7RKo
スピードが必要な部分はメモリーに無いといかんわけで。
今は探索でBookを参照しているので、Bookアクセスには速度が必要なわけで。
Bookは重要だけど棋譜は既に重要ではないわけで。
棋譜はSDDに移そうかなと思っていたりします。
どうせ要所要所で保存しているわけだし、都度読み込めばみたいな。
(HDDは遅すぎるので論外かと)

ただ…今のロジックがメモリー前提なのと、棋譜ですら読み込みに数秒かかる
状態なので、できればメモリーに置いときたい。そもそも、大した容量じゃないし。

自分の場合、本体でBook読み込むのと、同時にZebraと突き合わせながら間違い
箇所探しで掘り進める用に、Bookを確認するプログラムも同時に動かしていて、
そちらでも同じサイズのBookを読み込まざるを得ないので、16Gのメモリーが
あっても、半分くらいに抑えておかないといけないという問題があります。

頭の片隅にバイナリファイルのランダムアクセスってのがちょこっとだけありますが、
それって自分用DBを作るようなものなので、悩み中。とはいえ、最終的にもしオセロ
の対戦プログラムにするのなら、今ほど探索時間気にするわけでもなし、動作環境
として要求するメモリー量が大きすぎるのもなんだかなぁと思っていたりもします。
0113310
垢版 |
2020/02/15(土) 00:35:39.59ID:aU7p7RKo
そんな事より、対称形サポートして棋譜作っていたら、またF5f6系が全滅して
途方に暮れていたところで、知らぬ間に復活していたり。間違い可能性高い
パブリックドロー筋が復活したと思ったら、またダメだったり。

まだ棋譜作成が足りていないという事実に直面しています。
0114310
垢版 |
2020/02/18(火) 00:26:29.87ID:xu5XdmKn
対称形サポートでBookはだいぶ良くなって来た感じですが、完全読み切りの探索時間
が遅くなった。まだ新しい教師データに対して学習不足なんだと思いますが、どこまで
復活するか。

残り30手読み切り時間がかかりすぎる。棋譜作成のプログラムの方は、ほぼ出来上
がってしまったので、動作具合を見ているだけになっている。何か探索高速化のネタは
無いものか。

PC一つ買って、そちらでオセロの棋譜作成させながら、別の何かの開発を始める時な
のかも知れない。
0115535
垢版 |
2020/02/18(火) 00:27:41.65ID:kv2P7/8Y
とりあえずモンテカルロ1000poで10〜50手打ち進めてその局面で100000po回して結果の黒番の勝利回数、スコアの合計を収集するプログラムを作成。
あんまりいい方法じゃないとはおもうけどこれだというアイディアもないしこれで一回やってみます。
0116535
垢版 |
2020/02/18(火) 21:44:13.85ID:kv2P7/8Y
マシンパワー欲しいすな。
3990xでも足りないかも。

アルゴリズム見直せと言われそうだが。
0117535
垢版 |
2020/02/18(火) 22:28:54.62ID:kv2P7/8Y
まーでも310さんも言ってるけど計算にマシン取られるとヒマですね。
AWSとか使うのも面白いかもしれないけどいかんせん金が…
0118535
垢版 |
2020/02/20(木) 18:12:42.14ID:YadOsXz6
夜中動かすとファンがうるさくてねれないorz
やっぱaws…
でも金が…
0119535
垢版 |
2020/02/20(木) 20:15:56.39ID:BvOV7XJR
でもまあ、コロナでいつポックリいくともわからないならいっそ3990x買っちゃうってのも考えようによってはなくなないな。
0120310
垢版 |
2020/02/20(木) 22:03:32.96ID:KuvbYeZk
たぶん感染経路不明な感染者が1000人超えたらテレビも飽きてきて
めっきり話題にならなくると思うなw
0121535
垢版 |
2020/02/20(木) 22:44:26.40ID:BvOV7XJR
70499種類の盤面のモンテカルロ勝率スコアデータが取れました。
これをもとにDNNをトレーニングしてみます。
0122535
垢版 |
2020/02/21(金) 21:02:31.11ID:/4d3LiPl
やっぱ素のモンテカルロに勝てない!!!
どうしてなんだ…
0123535
垢版 |
2020/02/21(金) 22:56:34.67ID:/4d3LiPl
単に白番有利説が急浮上www
0124535
垢版 |
2020/02/22(土) 00:47:13.32ID:j5uEDLd9
いや、ちがうっぽい。
うーん。
0125535
垢版 |
2020/02/22(土) 17:03:42.93ID:j5uEDLd9
キター!素のモンテカルロに勝ち越しました!
黒番 31勝20敗
白番 32勝19敗
0126535
垢版 |
2020/02/22(土) 20:31:10.32ID:j5uEDLd9
モンテカルロが間違える局面で間違いを訂正してそれをDNNに学習させる方法ないかなぁ
0127310
垢版 |
2020/02/22(土) 21:32:51.12ID:wHsEFeMN
間違える局面が特定できているて、間違えた手を訂正できるんなら、
訂正後から対戦再開させて、その棋譜で局面DB更新して、学習するとか。

特定できていなくても、基本強化学習は、対戦→DB更新&学習の
繰り返しで、徐々に間違いを訂正していく方法。もうちょっと工夫する
ならε-Greedyなどの手法で既存の棋譜の途中で無理やり別の手に
分岐させていく。その手が悪くても、「悪い手である」という認識を学習
させる事ができる。

線形計画だとモデルが上手くできていないと学習が飽和しちゃうけど、
DNNだったらある程度うまく学習してくれるかも。
0128535
垢版 |
2020/02/22(土) 21:53:22.17ID:j5uEDLd9
>>127
特定も訂正も現状できてないですね。

それよりひどいバグを発見して>>115で取ったデータが全て台無しになる可能性が…
0129535
垢版 |
2020/02/22(土) 22:00:44.31ID:j5uEDLd9
あかん、なんか全然おかしいorz
ちゃんと見直さないと…
0130535
垢版 |
2020/02/22(土) 22:22:49.38ID:j5uEDLd9
データ取りからやり直しますorzorzorz
0131310
垢版 |
2020/02/23(日) 00:56:57.70ID:9FygPBnT
間違い探しを続けるうちに、何故Zebraの評価値の方がまともに見えるか問題に
突き当りました。で、評価関数を手数毎に60種類に分割している事で、学習データ
が不足しているとか、スムージングしていないために、2手前の自分の番の盤面との
差分が取れないとかの問題があるのかなぁと思い立ちまして…。

また、4対称採用した事で学習時間も4倍になってしまいまして…。

思い切って、評価関数を1つにまとめてみたらどうだろうと思い立って、専用の学習
プロジェクトを作ってやってみました。通常数百回学習しないとまともな学習ができ
ないのですが、20回学習したところで、意外とフィットしてしまいました。学習時間も
少し減ってる気がする。

一旦評価関数の癖を変えたほうが強化学習も進むかなと思い、とりあえず本番採用
してみました。気持ち速度も速くなった気がしています。もっとも、評価関数の学習具合
によってαβのorderingも変わって速度が変わったりするので、今後学習を積み重ね
て、過学習気味になったりした時にどうなるのかは不明。

これから数日動かしてみて、良かったらこっちにしようかと思います。強いオセロAIを
作るのなら、対戦してどっちが強いとかやるのが本来なのですが、特にそういう目標も
現状あるわけでなし(汗
0132310
垢版 |
2020/02/23(日) 01:08:08.23ID:9FygPBnT
>>127に捕捉しとくと、

自分はGreedyな手法の精度をあげるために、浅い探索(9手)と組み合わせて、
評価値が少しだけ悪い手とか、Book登録ないのに評価値が良いとか、いくつかの
基準の訂正ロジックを作って、明らかに悪い手を排除したGreedy法をとって、
既存の棋譜に対して順次分岐を生成していく事で、Bookを埋めて行っています。

分岐は13手読みで作成していますが、この分岐も間違いがそれなりにあるため、
間違いを積み上げているのではないかという懸念もあります(汗

オセロの場合、黒白両者とも最善の場合、引き分けに収束する可能性が濃厚なため
初手から最善引き分けとなるツリーについては、先頭側からこのGreedy法で分岐を
生成し、また(後ろから)確定読み切りを優先して実行する事で、引き分け手順だけ
優先的に精度を上げています。

評価関数作るのに、こういう制約をつけた方法が良いのかは不明です。現に極端に
形勢が傾いた盤面の読み切りは、学習データが不足しているために、引き分け盤面
よりずっと時間がかかるように感じています。
0133310
垢版 |
2020/02/23(日) 03:01:39.99ID:9FygPBnT
げげ。>>131の奴、本番に入れて学習させたらうまく動かん…。

原因箇所は特定できたけど、そもそもBook分だけで学習していて、後半の棋譜から
教師データ作ってなかったので、件数が大幅に違う。後ろ15手分が抜けている。

が、これが入ると学習の途中で無限ループに入ってしまう。
何かのオーバフローなんだと思うけど、今は原因不明orz
0134310
垢版 |
2020/02/23(日) 10:00:35.35ID:9FygPBnT
たぶんなおった。

学習の進行具合インジケータの*印の数を作るところでオーバーフローして
延々と*を表示し続けてるだけだったw

こういうところで適当にint使っているのがいかん。
と、怪しそうなところをsize_tに直したら、整合性が取れなくなってワーニングの嵐w
適当にsize_tにすればよいというものでもなかったw
0135535
垢版 |
2020/02/23(日) 22:36:15.39ID:xJvwRHu1
オーバーフローが嫌だからついlong longを使ってしまうw
メモリ余計に食うけど。
0136535
垢版 |
2020/02/24(月) 18:53:46.31ID:S84dSY4F
タイルゲーム、完全解析した後でもそれなりに楽しめる不思議。自力では勝てないからな。
そういやconnect4より複雑で完全解析されててネットで遊べるゲームってなにかあるのかな?
0137535
垢版 |
2020/02/25(火) 20:37:07.39ID:10rOW9ls
データ取りなおしたので再度DNN学習させてみます。
ついでにネットワーク少し大きくしてみます。
0138535
垢版 |
2020/02/26(水) 20:24:56.08ID:LbNvrAvP
なんかDNNほぼ最悪の手を打つんだが…
真逆の学習させちまったか?
0139535
垢版 |
2020/02/26(水) 20:40:14.06ID:LbNvrAvP
試しに評価値に*-1してみたがやっぱり悪い手を打つ。
真逆ってわけでもないのか?
わけわからん
0140535
垢版 |
2020/02/26(水) 20:50:37.02ID:LbNvrAvP
モンテカルロ木探索の部分が間違ってたっぽい
0141535
垢版 |
2020/02/26(水) 21:22:57.03ID:LbNvrAvP
うーん、なんかアルファ碁Leeみたいに、数手前の手順を学習データとして食わせるといいかもなぁ。
石がぶつかってる時の判断がちょっとおかしいんだよなぁ
0142535
垢版 |
2020/02/26(水) 21:35:19.66ID:LbNvrAvP
もうヒューリスティックもモリモリ入れちゃおうかなぁ
0143535
垢版 |
2020/02/27(木) 19:12:50.92ID:7f4H7cqb
お、微妙に勝ち越している。
でも微妙すぎw
0144535
垢版 |
2020/02/27(木) 21:11:32.40ID:7f4H7cqb
先制攻撃を仕掛ける体制が整っているかどうかの判定が今後の課題ですね。
0145535
垢版 |
2020/03/01(日) 21:57:12.55ID:X+Ti9n7n
先制攻撃を仕掛けた時に反撃で逆に取られる確率とか学習させたら駄目かなぁ?
0146535
垢版 |
2020/03/02(月) 06:27:35.74ID:Td8MIT1I
ある局面に対し、それぞれの点が黒の地になる確率のベクタを返すようにDNNを学習したらどうだろう?
0147535
垢版 |
2020/03/03(火) 21:11:27.98ID:PL4UDoSq
前回はスコア差を評価値に学習させましたが、今回は勝率で学習させてみます。
結局セオリー通りがいいのかもしれないので。
ホントはスコア最大化はぜひともやりたいんだけど。
0148535
垢版 |
2020/03/04(水) 20:23:35.42ID:Q7ItuMwb
勝率で学習させたら黒番は勝ち越してますが、白番は負け越してますね。
白番でも勝てると思いましたが。
0149535
垢版 |
2020/03/04(水) 20:44:28.42ID:Q7ItuMwb
うお、バグ発見w
DNNが全く働いてなかったww
黒番で勝ち越したのはたまたまやなこれは。
0150535
垢版 |
2020/03/04(水) 21:10:05.82ID:Q7ItuMwb
うーん、石をくっつけて打つなぁ
もっとばらけさせたほうがいいと思うんだけど。
0151535
垢版 |
2020/03/04(水) 21:14:38.18ID:Q7ItuMwb
うーん、石がくっついているか離れているか標準偏差のようなものを出して学習パラメータに渡すとか
0152535
垢版 |
2020/03/04(水) 21:17:15.27ID:Q7ItuMwb
ホントはあんま手動で特徴量出そうとするのよくないアイディアなんだろうけど。
0153535
垢版 |
2020/03/04(水) 21:43:12.15ID:Q7ItuMwb
結局モンテカルロの勝率データだけだとだめっぽくて、いろんな戦略の中からより良いものを探すようにしたいなぁ
0154535
垢版 |
2020/03/04(水) 22:34:42.21ID:Q7ItuMwb
あれ、黒番、白番ともダブルスコアで勝ち越してる??
まだ対局数少ないからあれだけど。
0155310
垢版 |
2020/03/04(水) 22:39:44.37ID:XCbeW9Ri
自分は、最近、学習効率アップさせようと入れていたヒューリスティックなロジックは
見つけ次第外す方向だったりします。

棋譜作成の元ネタだけは、結構たくさん手動で追加していますが、見つけ次第追加
みたいなやり方で、偏りが出そうな気がするのと、手動追加だと入力ミスも結構あって
面倒なので、どこかで後続棋譜が少ない手順を順次自動で追加していくようにしちゃ
おうかなと思ったりしています。ただ、本当に見てるだけになっちゃうのがちょっと嫌。

そんな事より、棋譜作成のペースが速すぎて、逆順での読み切り(スコア確定)が
追い付かない。
0156535
垢版 |
2020/03/05(木) 20:28:15.73ID:P4JeNRVF
黒番 188勝 48敗
白番 176勝 55敗

めっちゃ勝ってる!!
0157535
垢版 |
2020/03/05(木) 20:45:33.61ID:P4JeNRVF
結局ポスグレ全く使ってないというw
ま、当面ポスグレは保留かなぁ
0158535
垢版 |
2020/03/05(木) 21:05:27.39ID:P4JeNRVF
とりあえず、この新しいAIで勝率データ取りなおして更に学習させるスパイラルへもっていくか。
0159535
垢版 |
2020/03/06(金) 20:19:27.94ID:1GJjUnMY
うお、人間(俺)に勝った!
まぐれっぽいけど
0160310
垢版 |
2020/03/06(金) 21:29:36.82ID:76Zol1eh
小人閑居して不善をなす…

評価関数の学習周りをいじっていたら、学習エラーが大きく(4〜5倍)なってしまった。
オプティマイザーをAdamにしてみたのが悪かったのか(バグ?)、それとも他にいじった
ところが悪かったのか。オプティマイザーを戻して、追加学習してみたけど、全然もとに
戻らない。

と言いながら、色々と溜まっていた懸案も機能追加してしまった。

結局、どうにも直らないのでウェイトを一旦クリアしてRMSpropで再学習してる最中です。
明日の朝にはまともになっているかなぁ。
0161310
垢版 |
2020/03/06(金) 21:39:02.84ID:76Zol1eh
行列パッケージEigenにユーザ拡張のサポート無し機能がいくつか追加されていて、
その中にTensorクラスがある事に気づいた。

速度は期待できないけど、もう一度DCNNやってみようかなぁ。

つか、もう一台PCがあれば、棋譜が既にあるので、テストできるんだよなぁ。
0162310
垢版 |
2020/03/06(金) 22:53:37.48ID:76Zol1eh
RMSpropで一から学習しなおしで、もうすぐ20エポックだけど、順調な感じ。
前回同様20回+αも回せば結構よいところに行きそうな感じ。

おかしかった時は、もともとの場所から離れて、変な局所解にトラップされていた
ような感じになっていたんだよなぁ。現状のAdamのコードにバグがあるのか調べ
たいけど、もともと参考にしたサイトが見つからない。今見つかるやつはChainerの
類の疑似コードらしく、ちょっとやそっとでは解読できないレベルの記号の羅列orz
0163535
垢版 |
2020/03/07(土) 01:06:05.32ID:NIcvsU6/
モンテカルロ+ヒューリスティックAIにも勝利!!
いい感じだ。
0164535
垢版 |
2020/03/07(土) 21:53:01.55ID:NIcvsU6/
あーもう、計算時間かかりすぎ!
あと3〜4日は計算回さないとデータが集まらない。

こんなときスレッドリッパー3990xがあれば…
0165535
垢版 |
2020/03/07(土) 22:30:53.08ID:NIcvsU6/
ぶっちゃけ1週間かかる計算が1日で終わるとしたら3990x買うのもありなんじゃないか…???
金がないけど。
0166310
垢版 |
2020/03/07(土) 22:53:18.55ID:6tZRBA6n
まあまあ。

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

だんだんコツがわかって収集速度は加速的に高速化してきているけど、
今度はメモリー溢れが恐怖。
0167535
垢版 |
2020/03/10(火) 21:38:55.27ID:IkE5Ol6x
データもぼちぼち溜まったしDNN学習に移ります。
0168310
垢版 |
2020/03/11(水) 19:25:55.84ID:N0CjcdIm
Eigen UnsupportedのTensorクラスを見つけて、またぞろDCNNに興味が沸いて来ま
した。で、思い出しがてらウェブを眺めていました。前回断念したのは畳み込み層の
計算を行列で行うためのim2colのロジックを高速に行う方法が見つからなかったから
だと思い出しました(汗

しかし、気が付いてしまいました。所詮8×8のマスの定型変換で、汎用性いらないので
64ビットのローテーションとマスク値とのandというビット演算で、前処理ができてしまい
ます。そのあとで行列に変換すれば良いだけの事でした。つまりim2col関数はいらん。

もう少しDCNNの最新動向をフォローしてから、同じ棋譜を学習させて試してみたいと
思います。
0169535
垢版 |
2020/03/11(水) 20:59:47.72ID:kvcp7+Sq
DNN学習、損失もいい感じで減ってきました。
素のモンテカルロとの対戦に移ります。
0170535
垢版 |
2020/03/11(水) 21:02:33.51ID:kvcp7+Sq
実を言えば私は畳み込みはやってないんですな。
全結合でやってます。
0171535
垢版 |
2020/03/11(水) 21:13:45.28ID:kvcp7+Sq
お、
黒番 7勝2敗
白番 9勝0敗

これは期待が高まる!!!
0172535
垢版 |
2020/03/11(水) 22:57:19.64ID:kvcp7+Sq
黒番 22勝3敗
白番 20勝5敗

いいね〜いいね〜
0173535
垢版 |
2020/03/11(水) 23:19:03.17ID:kvcp7+Sq
そろそろソースコードのバージョン管理とかやったほうがいいのかなぁ
GitHubとか
0174310
垢版 |
2020/03/12(木) 00:31:25.32ID:CNvjXxHZ
GitHubとかよーわからんのだけど、コメント適当だったり、変数や関数名の英語が
変だったりするソース公開する度胸ないのを言い訳に、調べようとしていない(汗
0175名前は開発中のものです。
垢版 |
2020/03/12(木) 00:34:39.55ID:TwK5c7NK
プライベートプロジェクトにすればいい。昔はパブリックだけプロジェクト数無制限だったけど今はプライベートも無制限。
0176310
垢版 |
2020/03/12(木) 00:39:06.73ID:CNvjXxHZ
情報ありがとうございます。
ちと調べてみます。

前みたいにソースもデータも丸ごと飛んだら困るので。
0178535
垢版 |
2020/03/12(木) 19:58:09.43ID:so1xRnaL
ありゃ、
黒番111勝 29敗
白番105勝 33敗

おもったほどじゃなかったorz
0179535
垢版 |
2020/03/13(金) 22:42:10.14ID:vmr0Tb8m
業を煮やしてヒューリスティックを実装した。
さてどうなるか。
0180535
垢版 |
2020/03/13(金) 23:28:51.32ID:vmr0Tb8m
ちなみにヒューリスティックの内容は石がぶつかってないときは相手の石からも自分の石からも一間以上離して打つというもの。
0181535
垢版 |
2020/03/14(土) 18:49:30.64ID:z7EfFQTc
くそーうまく行かねー
0182535
垢版 |
2020/03/14(土) 23:30:28.50ID:z7EfFQTc
あーなんか気が抜けちゃったな
次のアイディアもないし
0183310
垢版 |
2020/03/16(月) 00:36:34.84ID:FpZgJFeI
しばらくは棋譜の遡りを優先しようと思っていたのですが、やっぱり暇ができると
どうしても何かやりたくなってしまい、結局序盤中盤の貪欲法絡みのブラッシュアップ
をしてしまい、またまた遡り対象の棋譜を増殖させています(汗。

DLやろうか、将棋AIの勉強しようかと思い立ち、将棋AIの本などを買い込んでつらつら
眺めていたら、実現確率探索なるものを見つけてしまいました。遷移確率は評価値の
Softmaxで作れる気がしています。現在、前方の打ち切りはProbCutでやっていますが、
途中の1つの盤面の評価値が酷い状態だと、その時点で問答無用でカット対象となって
しまう懸念があります。その点、実現確率探索の方が多少ロバストなのかなぁと。逆に、
手が広い局面では探索深さが浅くなってしまう悪影響も想定できます。

とはいえ、中盤探索のロジック自体は多少の改良で済むのですが、置換表使って中盤
探索の結果を終盤探索のオーダリングに使うところは結構修正が必要な気がします。
最悪反復深化をまるっとあきらめなきゃならないかも知れません。あと、なぜか評価値
に+1〜2程度の手番加算がついたみたいになっている事から、探索深さを揃えられ
ないと、そっちからも悪影響が出る可能性があります。

かなり大幅な変更と、テストが必要なので、ちょっと躊躇しています。
プロジェクト全体コピーして別プロジェクト建てるレベルです。むむむ。
0184535
垢版 |
2020/03/17(火) 21:33:11.60ID:7xvLqO5q
DNN評価値の上位7手を初手から全展開するというのをやろうとしたのですが、意外とDNNの計算が重たいですね。
すぐにメモリ溢れるだろうとみていたのですが、牛歩のような計算の進み具合で、溢れるまでかなり時間かかりそうです。
0185535
垢版 |
2020/03/17(火) 22:41:35.63ID:7xvLqO5q
60万局面展開するのに33分かかる。
遅い。
0186535
垢版 |
2020/03/17(火) 22:44:36.96ID:7xvLqO5q
DNN使わないと100万局面展開するのに4秒www
うーむ
0187310
垢版 |
2020/03/18(水) 00:47:20.72ID:Wk4mfxEa
結局、実現確率探索に取り掛かってしまいました(汗

新規ソリューション作ってコピペ始めたところで、いずれ評価関数を整数化したかった
事を思い出して、あちこち修正開始となりました。

一応、普通のDepthバージョンと同じ深さになるように調整して、速度比較してみるつもり。
0188535
垢版 |
2020/03/18(水) 20:17:58.60ID:4pnoWutQ
DNNの評価値上位7手を全展開してポスグレに詰めるのを実行に移すべきかどうか迷ってる。
一応そのつもりで8TBのHDDもポスグレも用意したんだけど、あんまりいいアイディアに思えなくなってきたというか。
0189310
垢版 |
2020/03/18(水) 23:45:39.14ID:Wk4mfxEa
実現確率探索の中盤探索、プロトタイプのαβ版を作って癖を見ています。

実現確率は、評価値のSoftmaxで各要素を足して1.0になるように正規化するより、
最大値が1.0になるようにした方が使いやすいです。というのも、最大値をひたすら
追った枝の終了条件が綺麗に決まって最大深さを指定できるようになるからです。
1.0そのままだと終わらないので、例えば0.5にしておくと、深さnにしたい時は1÷2^n
が閾値になります。0.1の時は1÷10^nです。まあ、なんでもよいという事です。

後は各要素の差のつき具合を決める定数を調整すると、評価値が悪い手について、
どこまで探索の深さを確保するのかが決まります。ここが職人的作業なのがネック。
絞ると爆速。∞だと、ただの全幅探索になります。

速度は結構出てるのですが、調整ミスると全くダメみたいな様子が見え隠れしていて、
本当に常に使えるのか、まだ心配です。おそらくProbCutでも同じような問題がおきて
いるんじゃないかと思いますが。

次は置換表ですが、合流が発生した時の実現確率がルートによって違うので、その
時の置換表の評価値を使って良いのか悩みどころです。また、上述のように最大探索
深さを調整できるので、反復進化的に閾値を下げて行く事が可能性です。そうすると、
反復深化的に使いたくなるのが人情ですが、オーダリングにどのように反映するのが
良いのか。これも悩みどころだったりします。

要するにあと1週間くらいは遊べそうです(笑)
0190310
垢版 |
2020/03/18(水) 23:56:29.62ID:Wk4mfxEa
あと、裏で棋譜作成進行中ですが、評価関数の学習時に、既存データに対する
エラーが増加を始めて、過学習の傾向を示しているのですが、例えばFFOの盤面
のように教師データ中に現れない盤面に対するエラーは減少しています。

状況的には、極端な石差がついている盤面の評価値が、石差ほどの評価値になって
おらず、じわじわと汎化が進んでいる一方、±0近傍の盤面は既に多いため、過学習
気味になっているのかなぁと推測しています。

とはいえ、非常に気持ち悪いです。

というわけで、ちょっと工夫をして石差が大きい棋譜を優先的に遡りチェック対象にしたり、
新規の自己対局するときに石差が大きくなる(悪い)進行も作るようにする事で、ほんの
少しですが、石差が大きい棋譜が増えるようにしてみました。まあ気休めです。
0191310
垢版 |
2020/03/19(木) 23:17:05.43ID:opMYHtHc
実現確率探索の中盤探索ができました。置換表と並列処理のところまでです。
反復深化→読み切り処理までです。置換表というか、オーダリング処理を結構修正。

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

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

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

まあ、仮にダメでも、新バージョンにする過程で、これまでペンディングしていた細かい
修正ができますし、既存タイプの中盤探索も作ってあるので、このまま進めてみます。
0192535
垢版 |
2020/03/20(金) 23:24:37.61ID:7lhYYUd2
DNNの上位7手を幅優先に展開していき200万局面を上限にストップ
展開したものをminmaxで評価値を再計算。
その結果をDNNに学習させようとしています。

ポスグレの出番はいまのところないw
0193310
垢版 |
2020/03/21(土) 02:31:57.66ID:XYOBIhf/
実現確率探索で、探索幅広げる方向の反復を試してみましたが効果はあまりなし。
単体で使用するとかなり早いのですが、置換表使った探索との相性がいまいち。

とりあえずSolverまで作って速度計測していますが、既存の反復深化より遅く、反復
深化無しよりは若干早いという感じで、単体の速度を利用して幅を思いっきり広げて
みましたが、こちらは逆に遅くなるという体たらく。

置換表周りでどこか間違いがあるのかなぁという気もしていますが、今のところ不明。
Solver周りでの活用は一旦置いといて、自己対局で使ってみる事にします。
0194535
垢版 |
2020/03/21(土) 17:30:57.63ID:cG9Ai74P
メモリ欲しい…
256GBくらい
0195535
垢版 |
2020/03/21(土) 18:19:45.50ID:cG9Ai74P
えー駄目だ負けるorz orz orz
なんで駄目なの???
0196535
垢版 |
2020/03/21(土) 18:23:26.64ID:cG9Ai74P
今回のはかなり期待してたのにorz orz orz
0197535
垢版 |
2020/03/22(日) 12:02:13.16ID:upkGajEt
棋譜見ると素のモンテカルロの動きが思っているよりずっといい。
なんでだろう?
0198310
垢版 |
2020/03/28(土) 00:29:51.53ID:vtZj/mQ8
実現確率探索というか、ソース全体見直し版が、だいたいできました。
まだデバッグ全部済んだわけではありませんが、後はログメッセージなんかの
細かいところくらいの修正かなと。

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

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

他にも、本来と違う形で実装してるけど、放置してある名前が結構ありますorz
0199535
垢版 |
2020/03/28(土) 21:52:44.02ID:XqE/6uS7
囲碁AIでKatagoという凄く強いAIがあるのですがライフゲーム囲碁に流用できないかと思い始めた。
0200310
垢版 |
2020/03/28(土) 22:16:21.29ID:vtZj/mQ8
見直し版のチェックを本番やりながら進めてます。

今のところ、学習の速度が30%程度ダウンしたものの、終盤探索の速度が
30〜50%高速化している感じ。どちらも原因不明。
0201310
垢版 |
2020/03/31(火) 00:30:27.16ID:1mhY2vrp
見直し版で、遡りチェックで無駄な処理を見つけて直しました。
更に速度アップして、トータル50%強の速度アップとなりました。
まだ探索自体の速度は上がってませんが、まだ無駄があったとは。
0202310
垢版 |
2020/04/01(水) 23:58:19.45ID:SRR0rDGm
急に探索自体の速度アップを思い立ちまして、いくつか実行。

ヒープ領域に作っていたオーダリング処理をスタック領域に来るように修正。
置換表のHash関数の修正で、置換表のキーエントリーの偏りを減らす。

これらにより更に高速化して、トータルで前バージョンの倍速近くなった感じです。
残り26手探索処理が1時間に90件弱→160件くらい。

あと、もうちょっとやってみたい事があります。
0204535
垢版 |
2020/04/02(木) 19:14:11.82ID:9cAiWeM1
deep mindのオリジナルのalpha zeroは公開されてないはず。
github行くとクローンがいくつかあるけど。

katagoはKGSってネット碁会所で最高段位9dで打ってる。
0205535
垢版 |
2020/04/02(木) 20:00:58.76ID:9cAiWeM1
でも当たり前だけどkatagoも相当高度なプログラムなので流用するのはかなり難しそう。
0206535
垢版 |
2020/04/02(木) 21:24:35.34ID:9cAiWeM1
あかん、やっぱkatago相当難しい。
githubから簡単そうな奴探してお茶を濁すか…
0207310
垢版 |
2020/04/06(月) 22:33:27.64ID:eOx9NvDZ
更に少し高速化しました。

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

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

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

件数少ない時に早くかつ安定ソートな方法が他にないか調べてみようかと思います。
0208535
垢版 |
2020/04/10(金) 20:40:22.22ID:KcO1uf/C
今これ見てます。
https://github.com/hijkzzz/alpha-zero-gomoku

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: 指定されたモジュールが見つかりません。
0209名前は開発中のものです。
垢版 |
2020/04/12(日) 04:59:53.78ID:DFViLwjz
その環境の内容見てないから詳しくはわからないけど…原因は大体これ

1. 読み込もうとしているdllが適切なパスに存在してるか
2. 読み込むdllは64bitか32bitか(ビルド構成と一致していないとダメ
0210535
垢版 |
2020/04/12(日) 10:52:42.02ID:lk7abFDy
32bitか64bitかは64bitしか選べないみたいです。
適切なパスに存在しているかというのはどうやってしらべればよいでしょうか。
library.pyと_library.pydをカレントディレクトリに置いたりもしてみたのですが駄目でした。

ちなみにこれはswigというのを使っていてC++をpythonから読めるようにしているようです。
library.pyと_library.pydが生成されてlibrary.pyから_library.pydをインポートするときにこけています。
0212535
垢版 |
2020/04/13(月) 20:06:39.31ID:E8a4txq0
ありがとうございます。
今python が3.6だったので3.7にしてみようとしたらpytorchがpipで入らず苦戦しています。
0213535
垢版 |
2020/04/13(月) 20:47:56.22ID:E8a4txq0
結局python 3.8.2を入れたんですが駄目っぽいorz
やっぱ無理にでも3.7にすべきか…
0214535
垢版 |
2020/04/14(火) 20:06:25.38ID:ezpleFZl
python 3.7.6を試してみましたが駄目。
pytorchももう1.1手に入らないっぽい。
手詰まりです。
0215535
垢版 |
2020/04/14(火) 23:01:32.97ID:ezpleFZl
>>208 動いたらめっちゃよさそうなんだけど悔しいな〜
0216名前は開発中のものです。
垢版 |
2020/04/15(水) 20:25:07.80ID:4FzrEabb
Ruby なら、require/load で相対パスで指定されたときに、ファイルを検索する時の場所は、$LOAD_PATH だけど、
Python にはそういうパスが無いのか?

これで、site_ruby, vendor_ruby などが、ずらずらと表示される
ruby -e 'puts $LOAD_PATH'

Python は、よく知らないけど、import _library
で、拡張子 .pyd まで探してくれるのか?

_library.pyd
0217535
垢版 |
2020/04/15(水) 21:11:30.83ID:rifVao0V
レスありがとうございます。

ファイルを検索する場所は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 はエラーになりました。
0218535
垢版 |
2020/04/15(水) 21:32:18.35ID:rifVao0V
ん、neural_network_test.pyは動いた。
どういうことだ???
0219535
垢版 |
2020/04/15(水) 21:34:10.97ID:rifVao0V
import libraryの前にimport torchをつければいいのか???もしかして
0220535
垢版 |
2020/04/15(水) 21:42:29.92ID:rifVao0V
うおお、動いたっぽい!!!!
ありがとうございます!!
0221535
垢版 |
2020/04/15(水) 21:59:07.45ID:rifVao0V
leaner_test.py train 動きました!!
GUIが起動してポチポチ自己対局を始めました!!
これは期待が高まる!!
0222535
垢版 |
2020/04/15(水) 22:01:14.83ID:rifVao0V
とりあえず、五目並べでちゃんと強くなるかどうか2〜3日学習させてみます。
0223535
垢版 |
2020/04/15(水) 22:19:15.19ID:rifVao0V
ん、GPUの使用率が1%くらいから上がりませんね。
でも0%じゃないからちゃんと使ってんのかな…
0224535
垢版 |
2020/04/15(水) 22:36:14.51ID:rifVao0V
お、早くも石が中央に寄り始めた??
そうだとしたら凄い。
0225535
垢版 |
2020/04/15(水) 22:48:39.68ID:rifVao0V
しかし、4すら止めないw。
ホントに0からの学習なんだなぁ
0226535
垢版 |
2020/04/16(木) 19:32:35.61ID:y39ZfUyK
お、凄い!たった一日で五目並べっぽくなってる!
たまにそっぽ打つのは乱数でランダムな手を打つようになってるんでしょうね。
0229535
垢版 |
2020/04/16(木) 19:40:53.49ID:y39ZfUyK
15路という非常に広い盤面でここまで早く強くなるとは…
0230535
垢版 |
2020/04/16(木) 19:44:25.68ID:y39ZfUyK
もう五目並べの学習は十分ですね。
となると次のステップはライフゲーム囲碁か囲連星を移植ですね。
0231535
垢版 |
2020/04/16(木) 19:54:51.08ID:y39ZfUyK
ライフゲーム囲碁はパスを実装しないといけないからまずは9路囲連星かなぁ
0232535
垢版 |
2020/04/16(木) 20:15:49.42ID:y39ZfUyK
すぐにでもコード書き始めたくなるけどぐっと我慢して>>208のソースを少し読み解かねば。。。
0233535
垢版 |
2020/04/16(木) 21:57:22.76ID:y39ZfUyK
あれ、モチベすげー湧いてくると思ったのに意外とそうでもないな…
仕事で疲れてんのかな…
0234535
垢版 |
2020/04/18(土) 17:12:26.15ID:FJQxs35t
実はライフゲーム囲碁を移植しようとしてたのですがパスの実装がやはり意外と難しそうです
9路囲連星に転進しようかな
0235535
垢版 |
2020/04/18(土) 20:23:03.93ID:dW+TeRwf
は〜目の前に理想のalpha zeroがあるというのになぜかモチベが湧いてこない、踏ん張りがきかない。
さぼりモードに入りつつあるorz。
ていうか思ってるより移植が工数かかる作業なのかもしれない。
0236535
垢版 |
2020/04/19(日) 14:29:45.72ID:w4GEcYV8
9路囲連星はコードを消失していたので19路囲連星を移植してます。
0237535
垢版 |
2020/04/19(日) 17:44:45.53ID:w4GEcYV8
多分移植完了した。バグが無ければ。
学習フェーズへ移項します。
0238535
垢版 |
2020/04/19(日) 17:58:16.33ID:w4GEcYV8
うーん。これGUIの盤のひろさとプログラム上での盤の広さが違いますね。
まあ論理的には整合性は取れているので見た目だけの問題なので放置。
0239535
垢版 |
2020/04/19(日) 18:02:39.80ID:w4GEcYV8
まだ学習始めたばっかなので全然見当違いのところに打ちまくるの見てて切ないw
でもまあ、五目並べではわずか一日で人間(俺)に勝てるところまで来たのだから期待して待ちましょう。
0240535
垢版 |
2020/04/19(日) 18:42:21.72ID:w4GEcYV8
メモリ10GBくらい使ってる。
思ったよりでかい。
0241535
垢版 |
2020/04/19(日) 21:12:09.10ID:w4GEcYV8
GPUのファンが五月蠅い。
タスクマネージャーだと1%とかなのに。
タスクマネージャーじゃ使用率ちゃんと測れないのかな?
0242535
垢版 |
2020/04/20(月) 18:56:48.06ID:fRC4t5vc
強くなってないと思ったら致命的なバグがorz
勝敗データをパイソンに渡す個所にバグがあったようです。
丸一日の学習がパーorz
0243535
垢版 |
2020/04/20(月) 21:27:15.82ID:fRC4t5vc
ん、付けにははねよを覚えたっぽい?
だとしたら凄い。
0244535
垢版 |
2020/04/21(火) 20:44:10.63ID:JovHD0OJ
1日学習させたけど強くなってるように見えませんね
15路五目並べと19路囲連星じゃ勝手が違うか
とりあえず1週間位は粘ってみます
0245535
垢版 |
2020/04/22(水) 18:48:41.18ID:mXEm0GNy
強くなってませんね。
完全なランダムでないにせよ。
もう少し様子見します。
0246535
垢版 |
2020/04/22(水) 20:21:27.03ID:mXEm0GNy
は〜じれったい。ハード性能があと10000倍くらいあればな〜
0247535
垢版 |
2020/04/22(水) 20:23:13.93ID:mXEm0GNy
むしろ一生懸命7並ばないようにしているとさえ思えるw
バグなのかなぁ
0248310
垢版 |
2020/04/22(水) 20:43:03.08ID:ZptezZKq
相変わらず棋譜作成中。

プログラムはそれなりに改良しているつもりだけど、成果は全くなし。
まあ、思いついて試すのが楽しいんだけどね。

つか、逆順探索での棋譜訂正。やってるそばからあまりに間違っている筋を
見つけて、修正かける過程で、新しい棋譜どんどん増えて、バックログがどんどん
増えていく地獄になっています。まだまだ重要な分岐でも間違いというか未探索
が多すぎる。

手作業で修正箇所見つけるの面倒なので、延々やらないといけないけど、
ε-Greedy的な何か導入しようかなぁと思い始めています。
0249535
垢版 |
2020/04/22(水) 21:56:00.26ID:mXEm0GNy
お、もしかしてポン抜き覚えたか?
しかしこの学習速度で線形の速度で強くなるとしたらとてもじゃないが時間かかりすぎるが、
ある地点から爆発的に強くなったりしないのかなぁ
0250310
垢版 |
2020/04/22(水) 22:21:38.60ID:ZptezZKq
あるところまでは、間違いは間違いと学習するための時間かも知れませんね。
0251535
垢版 |
2020/04/23(木) 18:58:28.20ID:ynaVt4IB
うーん、少し囲連星っぽくなってきてるかなぁ?
ま、当分様子見かな。
0252535
垢版 |
2020/04/23(木) 21:04:31.79ID:ynaVt4IB
でもまあディープラーニングってルールも知らないネットワークが勝敗結果だけで強くなるって凄いことだよな。
人間がルール知らずに勝敗結果だけで強くなろうとしたら発狂するw
0253535
垢版 |
2020/04/24(金) 19:11:09.10ID:aNVKQhdF
囲連星本来の棋譜とはまだまだ程遠いけど、何かをつかみつつあるような気配がする。。。
様子見続行。
0254535
垢版 |
2020/04/24(金) 19:47:38.96ID:aNVKQhdF
あーネットワークの層増やしてみたいな。
囲連星は7目並べだから7層がちょうどよかったかも…
今デフォルトの4層でやってるんだけど。
でもいまさら後に引けないか。
0255310
垢版 |
2020/04/24(金) 19:50:11.65ID:wU9GyZ2x
DCNNなら層数よりもフィルタ数の方が大事かも。
0256535
垢版 |
2020/04/24(金) 19:55:02.17ID:aNVKQhdF
まじすか
現状でもフィルタは256(デフォルト)とかなり贅沢に使ってるんですが。。。
オリジナルの作者もフィルタ数が大事と思ったのかもしれませんね。
0257310
垢版 |
2020/04/24(金) 22:19:55.86ID:wU9GyZ2x
>>256
256フィルタあるんなら流石に大丈夫そうだね。
0258535
垢版 |
2020/04/25(土) 21:48:41.17ID:wwp+rt8W
やっぱ9路囲連星にしとけばよかったかな〜
でもいまさら後に引けない…orz
0259535
垢版 |
2020/04/26(日) 17:31:58.54ID:73Aw05p/
うーむ、進むべきか引き返すべきか段々悩ましくなってきた。
まあもうちょい様子見続行か。。。
0260535
垢版 |
2020/04/26(日) 19:51:54.61ID:73Aw05p/
知性の芽生えみたいなものを全く感じないわけじゃないから打ち切るのも躊躇われるが、
いかんせん成長速度が遅いんだよなぁ。ウーム悩ましい。
0261535
垢版 |
2020/04/27(月) 17:44:36.98ID:bKact/KJ
囲めば石取れることはわかってるっぽいんだよなぁ
もう少し粘ろう
0262535
垢版 |
2020/04/27(月) 21:17:34.75ID:bKact/KJ
あーパソコン複数台ほしいなぁ
でも置き場所がないからなぁ
となるとAWSとかGCPとかかなぁ
でもあれ、金がやばいらしいからなぁ
0263535
垢版 |
2020/04/27(月) 21:37:15.24ID:bKact/KJ
囲連星もやりたいけど、ライフゲーム囲碁もやりたいんだよなぁ。
>>208のやつはパス実装するのが難しいからなんか別の奴探してこようかなぁ。
ルール的にはオセロのクローンから移植すればライフゲーム囲碁移植しやすいはず。
0264535
垢版 |
2020/04/28(火) 19:29:54.42ID:VfQhex7P
打ち筋は確かに改善されてるような気がするんだよなぁ。
ただ、あまりに上達が遅い。
0265535
垢版 |
2020/04/28(火) 20:06:48.30ID:VfQhex7P
何で五目並べはあんなうまく行くんだろう?
やっぱ複雑度が全然違うのだろうか?
0266535
垢版 |
2020/04/30(木) 18:36:10.38ID:6uxMdcsM
どんなに早くてもleela zeroが強くなるのに必要だったぐらいの時間はかかるのかもしれないなこれ…
0267535
垢版 |
2020/05/02(土) 20:07:05.00ID:ppsdwWbz
あかん、超長期戦になりそうorz
マシンパワーがあと10000倍あればorz
0268535
垢版 |
2020/05/03(日) 19:21:36.29ID:6By0oz27
らちが明かないので19路囲連星はいったん止めて9路囲連星に移行します。
でもいつかは戻ってきたい。
I shall return.
0269535
垢版 |
2020/05/03(日) 22:42:03.10ID:6By0oz27
お、9路囲連星は結構強くなるかも。
早くもランダムではない何かを感じる。
0270535
垢版 |
2020/05/03(日) 23:03:31.98ID:6By0oz27
もしかしたら19路囲連星は層の数が足りなかったってことなのかも。
9路囲連星は6層でやってます。
5目並べが4層でうまく行ったから7目並べの囲連星なら6層かな?と思ったのですが当たりだったかも。
0271535
垢版 |
2020/05/03(日) 23:32:54.33ID:6By0oz27
これは…
明らかに知性がある…
0272535
垢版 |
2020/05/05(火) 17:29:46.91ID:3PlXxhBg
おっとバグがあったorz
でもこれで行けるはず。
0273535
垢版 |
2020/05/06(水) 10:40:38.68ID:Oyc/dCE2
うおお、公式ボットに勝った〜
凄い!!
0274535
垢版 |
2020/05/06(水) 15:40:57.35ID:Oyc/dCE2
しかしalpha zero てこの手のゲームの最終解答にちかいな。
単に移植しただけで既存ボットに勝つとは。
0275535
垢版 |
2020/05/07(木) 19:53:48.31ID:LRbJj7fv
学習が進んだので既存ボットと対戦してみましたが、大幅に負け越しますね。。。
過学習?
0276535
垢版 |
2020/05/07(木) 20:07:16.58ID:LRbJj7fv
うーん、わからん。層数をさらに増やして学習させてみようかな…
囲碁AIにならって20層くらい一気にいってみるかな…
0277535
垢版 |
2020/05/07(木) 20:19:50.05ID:LRbJj7fv
チャネル数 384
層数 20

の超ビッグネットワークで再挑戦します。
0278535
垢版 |
2020/05/07(木) 20:59:06.64ID:LRbJj7fv
ん、CPU使用率が上がらない?
ネットワークでかすぎたか?
0279535
垢版 |
2020/05/07(木) 21:03:55.67ID:LRbJj7fv
GPUのメモリが溢れてるっぽいorz
しょうがない、小さくするか。
0280535
垢版 |
2020/05/07(木) 21:25:17.52ID:LRbJj7fv
GTX 1080 でもメモリ足らんとかorz
気安くいってくれるぜ
0281535
垢版 |
2020/05/07(木) 21:27:42.59ID:LRbJj7fv
バッチサイズもでかくしたのまずかったっぽい
0282535
垢版 |
2020/05/07(木) 22:52:16.50ID:LRbJj7fv
うーん、もしかしたらCPUはあんま必要なくてGPUに金使ったほうがいいのかもしれないな。これは。
0283535
垢版 |
2020/05/08(金) 20:21:50.28ID:vYlFFPu/
層増やしたけどあんまうまく行ってないのかなぁ。
それともまだまだ学習が足りないだけなのか…
0284310
垢版 |
2020/05/09(土) 00:56:41.26ID:tOwbW1Pp
棋譜作成触りすぎるとなかなかはかどらなくなるので、しばし回しっぱなし。

そろそろBookが巨大化しすぎているので、メモリーからSDDに移せないか検討中。
concurrent_unordered_mapを自作した経緯があるので、同じような感じでランダム
アクセスなDB化をしてます。確定分は探索で使うのでメモリーにおいて、速度を
必要としないアクセスをDBにしようかなと。

巨大Bookの作成処理の類を並列処理にしているので、何とか並列にできないかと
色々やっていますが、色々と罠がある。複数プロセスからの並列更新はあきらめた
けど、単一プロセスからの並列更新でロック範囲がまだいまいち。

専門書買ってコード見て勉強した方が早いんだろうけど、まあ、しばらく楽しみます。
0285535
垢版 |
2020/05/12(火) 21:24:42.90ID:autiDqQV
1ゲームすら勝てない…
何が悪いんだ?
0286535
垢版 |
2020/05/12(火) 21:56:06.70ID:autiDqQV
いままで新旧のAIを比較するとき10戦中6勝以上でAI更新にしてたのを50戦中30勝以上で更新にしてみます。
もしかしたら試行回数が少なすぎて弱くなっていてもAI更新してたかもしれないので。
0287310
垢版 |
2020/05/12(火) 23:05:51.81ID:AcB4a3UT
うぬぬ。DB化は並列諦めてみたけど、やはり更新が遅すぎる。
もうちょっと工夫してみるけど。
0288535
垢版 |
2020/05/14(木) 19:16:54.03ID:7UgQPtyV
ただ待ってるだけってのもつらいな。
結果も出ないし。
0289535
垢版 |
2020/05/15(金) 18:59:37.53ID:55GCUZ0E
心が折れそうorz
0290535
垢版 |
2020/05/15(金) 19:20:34.85ID:55GCUZ0E
自己対局みてると結構強そうに見えるだけどな。
公式AIと対局すると勝てねんだよな。
0291535
垢版 |
2020/05/15(金) 19:53:09.72ID:55GCUZ0E
ギブアップです。
何か次のこと考えよう。
0293名前は開発中のものです。
垢版 |
2020/05/16(土) 15:42:40.24ID:G8tru4l4
IT掲示板群 ttp://x0000.net/forum.aspx?id=15

学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
0294535
垢版 |
2020/05/16(土) 18:10:49.03ID:BsSPHqoG
>>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      :.         |
0295535
垢版 |
2020/05/18(月) 18:55:35.95ID:ErVFXYqV
次のアイディアもなくすっかりさぼりモード
0296310
垢版 |
2020/05/18(月) 21:57:15.59ID:lyHQ6R5E
Hash関数変更
DBのハッシュキーの効率が悪かったので、ちょっと考えてみた。
今まではshuffle_epi8でバイト単位シャッフルしていたのを、BMIのpextでビット単位の
シャッフルと、rotateしたものを、xorでまとめていく方法。以前よりは、ちょっと良くなった
気がする。

何をもってよくなったかの指標が欲しくなり、ネットを探索したけど、数値指標みたいなの
は見つからない。確率論の誕生日問題の反対みたいな状況なのでしばらく考えてみる。
要するに、1万人くらいの生徒がいる学校で、誰一人誕生日ではない日が何%くらい存在
するのかという類の問題です。

また、そう考えてみると、現状では直観よりかなり未使用キーが多い気がしています。
xorを繰り返してビットのオンオフをすると、いずれ立っているビット数が32個を平均と
した正規分布(二項分布)になって、一様分布にならないのではないかという疑念が。
正規分布だと、中央に近いところは重複しやすく、立っているビット数が0とか64とか
の出現確率が下がる事になります。xor繰り返すと正規分布に本当に近づいていくのか、
ちょっと検証してみたい。
0297310
垢版 |
2020/05/18(月) 22:17:24.43ID:lyHQ6R5E
DBの件
たぶんあるだろうとネットで検索してみたら、Kyoto Cabinetなるキーバリュー型の
簡易DBライブラリがある事が判明。ほかにもLevelDBとか、何種類かあるみたい。
RDB使うまでもないけど、データ量が多いとメモリーだとリソース勿体ないみたいな。
やはりみんな考える事は一緒だなと。せっかくなので導入の方向で検討。

DBの速度問題
また、おそらく1棋譜単位でのBook更新は速度的に問題ないのですが、DAG(合流)
時に、棋譜外の合流元の方の更新がされないという問題があり、学習前に一括で
再構築しています。この一括更新が件数の関係ですごく時間がかかる事が問題です。

一応、1棋譜単位で更新した時に、DAG分もちゃんと処理するロジックを検討中です。
バグさえなければ速度問題はかなり解消できるはず。とはいえ、何回もループを回す
処理となるため、速度に自信なし。
0298310
垢版 |
2020/05/18(月) 23:50:13.18ID:lyHQ6R5E
DBの件…
確定探索の時にはメモリーに確定分だけおいとくと考えていましたが、
今件数確認したらおよそ2/3は確定分として確保しなきゃならない
事に気づきました(汗

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

1棋譜更新でのDAG問題回避はやりたいかな。
Book再構築にだいたい20分くらいかかる。
DAG回避で1棋譜分更新するのが1秒として1000棋譜追加でおよそ16分。
これ以下の時間で済むならやる価値ありそう。
0299310
垢版 |
2020/05/20(水) 01:15:22.70ID:Xgj8E+2H
久々に完全読み切りでバグ発生。

ProbCutを広げながらmtd(f)している時に、どうもパス絡みで発生しているっぽい。
ProbCutによるIterative Wideningを止めたらちゃんと読み切る。

まあ、置換表絡みなんだとは思うけど、事例が少なすぎて(数か月に1回程度)、
前の記録消しちゃったので、とりあえず記録を残し、絆創膏当てて続行。

気が向いたらデバッグしてみる。可能性があるところはなんとなくわかっている
つもりだけど。


Book更新時のDAG回避は、かなり悩ましい。というか頭がこんがらがる。
未使用Hashの期待値計算も頭が未だにこんがらがってます。。
0301535
垢版 |
2020/05/20(水) 16:25:53.99ID:BUng/tdF
katagoを使った9路囲碁の巨大Book作成、やってみようかなぁ。
難しそうだけど。
0302310
垢版 |
2020/05/20(水) 17:28:20.84ID:Xgj8E+2H
Hash関数の効率判断基準できました。

同じキーにデータが8つくらい入っているようなものもあり、それが適正かどうか
判断できなくてゴチャゴチャしていましたが、昨夜しれっと書いたように未使用キー
の数の期待値に着目したら簡単でした。

キーサイズと、データ件数からExcelなどで簡単に計算できます。

3件程度調べてみましたが、理想的な一様ランダム値で生じる未使用キー数の
期待値との差は0.1%未満で、このHash関数も一様ランダム化するものと言って
良いレベルでした。

逆に言えば、自分の典型的な使用方法だと20〜30%のキーが未使用になる
という事のようです。これはこれで…。
0303535
垢版 |
2020/05/20(水) 18:41:29.84ID:BUng/tdF
やっぱライフゲーム囲碁やりてぇなぁ。
ウーム悩ましい。
0304310
垢版 |
2020/05/21(木) 00:46:28.65ID:ahADKaci
Hash値、1件2件…と期待値出そうと思ったら、なんとなく昔の記憶が戻ってきて、
0件の時は不要だけど、こちらではPとかCとかが必要になるような気がしてきた。
確率の勉強するかな。

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

脱線はこれくらいにして、DAG考慮したBook更新に戻ろう。
0305535
垢版 |
2020/05/22(金) 19:57:06.06ID:khQY98T/
自己流でライフゲーム囲碁に取り組むべきか。
なぜalpha zeroがうまく行かなかったのかを調査すべきか。

まあしばらくさぼりモードだけど。
0306名前は開発中のものです。
垢版 |
2020/05/26(火) 02:09:09.91ID:dgMv5Qb/
・19路盤での定石の発見とかを可視化して、強さを判断する
・まず5〜9路盤で最強目指す

俺なら後者を選択する
バグが出なくなったら前者に取り組む
0307535
垢版 |
2020/05/26(火) 18:51:39.27ID:QRHJU3eS
>>306
実際に自分で手を動かす人なら歓迎するぞ?
口先だけならいらない。
0308310
垢版 |
2020/05/29(金) 00:49:53.42ID:wYh6jGrP
DAG時のBook更新の件、めっちゃ悩み中。
普通にやったら1件更新に14秒とかかかって使い物にならない。
逆引きDBを作ろうかと思うのだけど、結構なサイズになるので、それこそメモリーに
置きたくない。形としてはunordered_multimapになるんだけど、Kyoto Cabinetが重複
キーを許すのか英文読まなきゃならないので止まってる。

そうこうするうちに完全読み切りのバグがまた発生して、事例が3件になったので、
調査開始。2か所間違いを発見。一つ目はケアレスミス。

2つ目は最善手の直後にパスが来るケース。置換表登録はパス後、オーダリングなどで
読む時はパス前の盤面になっていた。これで値が狂う理由がいまいち理解できないの
だけど、修正したら正しい答えが出るようになった。パスの処理は本当に鬼門。

たぶんバグは取れたけど、50%くらい速度低下。どこかにまだバグがありそう。
0309310
垢版 |
2020/05/29(金) 00:56:37.17ID:wYh6jGrP
速度低下は50%どころではなかった…150〜200%だorz
0310310
垢版 |
2020/05/29(金) 20:25:58.86ID:wYh6jGrP
orderingの中でパス処理をしていたのでmobility関数を呼びまくっているのが遅い原因
ではないかと思い、パスの処理の仕方を変えて、パスも1手とするように変更したところ、
15〜20%の速度低下まで戻りました。他にも、つられてバグが発覚したので修正。

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

中盤探索も同様に修正したら、浅い探索の読み筋が変わったみたいで、少しは精度が
良くなるのかなぁと期待しています。
0311535
垢版 |
2020/05/30(土) 18:11:38.04ID:TznaFVwY
以前もちょろっと触れたけど囲碁ディープラーニングプログラミングという本の12章にあるactor-critic法というのがまた気になり始めた。
自分なりに解釈して実装してみようかな。
0312310
垢版 |
2020/05/31(日) 10:02:44.30ID:/CnVYfEH
またエラーが…

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

並列探索だと本質的に回避できない気がするので、初段を順次処理に変更。残り空きマス
26での平均処理時間。一時は20〜25秒くらいまで来ていたのが、30秒程度に悪化orz
0313535
垢版 |
2020/06/04(木) 21:00:10.17ID:asDXFlye
藤井センセw
0314310
垢版 |
2020/06/05(金) 22:28:59.18ID:TnykYlJh
藤井7段凄かったね。今年中に8段行っちゃうんじゃないかと思った。

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

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

息抜きで、棋譜作成のロジックをちょこっと修正。
同じような評価値が並んでいたり、最善手より評価値が良くなる分岐について、今までは
見つけて気になったところだけ手で追加していましたが、適度なペースで見つけて自動的
に追加する様にしました。
0315535
垢版 |
2020/06/15(月) 22:53:27.40ID:SQc2KJ2b
長期サボりモードに突入
なんか本で読んだけどモンテカルロ木探索の訪問回数をdnnの教師データとして使うようなやり方もあるらしい
0316310
垢版 |
2020/06/15(月) 23:12:30.86ID:r41RfhWg
DB化、未だに方法が見いだせずストップしてます。
パブリックドロー臭いのにそうじゃない筋を手動で修正して、20件ほどもとに戻った。

その間に、棋譜が100万件突破しました。
が、Book眺めていると、まだまだ間違い多い。
Zebraも結構間違えているけどね。
0317535
垢版 |
2020/06/17(水) 21:35:01.75ID:nCYZMpcd
2020/05/11 グロービス、囲碁AI「GLOBIS-AQZ」のプログラムをオープンソース化 プロジェクトの集大成としてソースコードを公開
https://www.globis.co.jp/news/release/20200511_globis.html

知らなかった。
ちょっと見てみようかなぁ
0318535
垢版 |
2020/06/17(水) 23:13:34.58ID:nCYZMpcd
なお、公開しているソースコードは対局・解析のみの実装で、学習に関する機能は含まれていません。


駄目じゃんorz
0319535
垢版 |
2020/06/18(木) 19:28:02.18ID:i+asT3Px
ライフゲーム囲碁でモンテカルロ木探索の訪問回数をdnnの教師データにするのやり始めました。
今教師データを収集してるところです。
0320535
垢版 |
2020/06/19(金) 19:58:32.47ID:Y5lRzoqU
教師データを学習させてみましたがあんまり強くなりませんでした。orz
0321535
垢版 |
2020/06/19(金) 20:44:26.89ID:Y5lRzoqU
そもそもモンテカルロ木探索を教師にしてる時点で、モンテカルロ木探索の強さを大きくは超えられないわけで。
根本的に駄目な気はしてきたorz
0322535
垢版 |
2020/06/19(金) 23:03:06.10ID:Y5lRzoqU
結局、現状、良い教師データがないと厳しい。
アルファゼロ方式の自己対局で強くなるのは1000年かかりそうだし。
むうぅ
0324535
垢版 |
2020/06/28(日) 20:46:44.93ID:7SoJ+c30
藤井センセw
棋聖戦2勝目か
0325535
垢版 |
2020/06/29(月) 19:50:03.30ID:gKYec+q1
ライフゲーム囲碁で打った石が最終的に取られるかどうかを学習させてみようかと考え中
0326310
垢版 |
2020/07/03(金) 01:33:21.30ID:ULg6SDrD
相変わらず棋譜作成しながら評価関数学習を続けています。ようやく100万件突破。
推定パブリックドローは大体700件くらいで増えたり減ったりしています。
対称形や合流も重複させていますので、重複除くと400件くらいかなぁ。

終盤は比較的多数の分岐を試しているのですが、序中盤の分岐が不足していて、
棋譜が偏っているような気がしてきたので、棋譜作成のロジックを大幅に変更して
序中盤の分岐が多くなるように。また、評価値とBook値が大きく違う分岐を再検証
するようにしてみました。これで、抜けている筋がだいぶ拾えるようになると期待。

棋譜作成中に暇な時間が多いので、試しにZebraと対戦。Zebraはランダムに
パブリックドロー筋から外れる様にできているようですが、外れたら勝てるはずが、
なかなか勝てない。Zebra26手読み、こちらは時間の都合で20手読みくらいなので
仕方が無いのですが、それにしてもBook外れた時の評価関数の精度が悪いという事に。
あと、やはり中盤探索の速度に大きな差があり、とても26手読みなどできない。

むむむ。
0327310
垢版 |
2020/07/03(金) 01:35:54.46ID:ULg6SDrD
つか、藤井先生強すぎ。
1回勝負なら時々一発入るけど、番勝負で勝ち越せる人いないんじゃないかな。
竜王戦勝ち進んで、豊島竜王名人との番勝負が見てみたい。
0328535
垢版 |
2020/07/04(土) 11:25:12.23ID:aqVM5XYH
そこに打ったらn手以内に反撃で取られてしまうか?を判定するルーチンを書いてAIに組み込んだら、かなり動きがよくなった。
0329535
垢版 |
2020/07/05(日) 17:58:06.06ID:pswe4q4i
結局、強化学習できない限り、DNNあんま意味ないんじゃ?という状態。
0330535
垢版 |
2020/07/09(木) 22:57:20.80ID:j8dvyCDa
藤井センセ今日は駄目だったか。次回に期待。
0331310
垢版 |
2020/07/11(土) 00:47:07.96ID:UjRsM2rb
残念だったね<F7先生。相当疲れているんじゃないかな。まだ連戦続くので心配。


こちらは棋譜じゃんじゃか追加中。もう逆順探索で正確さを高めるなんて言ってられない。
いちいち遡りチェックするより、分岐を増やしてしまった方が早い気がしてきた。

で、Zebraと対戦させると、まだまだ穴だらけ。Zebraがわざとパブリックドローから外した
ところからが本番の対局となるのですが、そこから10〜20手の間に2回くらい間違えて
逆転される感じ。逆にZebraがほとんど間違えていない事に驚いています。評価値は怪しい
ところもあるけど、選択する手のミスが本当に少ない。Zebra24手読みに変えましたが、
こちらは17手。読む深さの差もあるのか。

デバッグ用のBookチェックプログラムを改良して、簡易対戦と棋譜訂正が外から簡単
にできるようにしました。今まではプログラム動かしていると、気が付いた訂正箇所も
いちいちプログラム止めないと追加できなかったのですが、動かしっぱなしのままで
訂正済棋譜にして適宜放り込めるようになりました。ただ、Bookが凄い勢いで増大して
いるので、メモリーがかなり危機的状況になってきました。BookチェッカーもBook全体を
読み込むので、ダブルで効いてくる。今16Gなのですが32Gは欲しい。

Zebraに負けた棋譜の手を遡って最善手順っぽいの探して訂正していくと、まだまだ
パブリックドローっぽい手順が結構見つかる。過去に間違えてパブリックドローではない
と判断している奴も結構ありそうなので、見つけられたら最終800件くらいは行くと思う。

中盤探索の速度差は、ただのProbCutとMulti-ProbCutの差かなぁ。あれ、再計算が重くて
以前は実装していたんだけど、PC壊れてソース全滅して以来手を出していないのよね。
0332535
垢版 |
2020/07/16(木) 19:51:32.84ID:5lwAwdbR
藤井センセええええええええええ!!!
0333310
垢版 |
2020/07/17(金) 13:10:16.58ID:wiyFtChq
王位戦第二局も含めて、ツエーーーーーーーーーー!って、今更ながらに思った。
人間相手ならabemaAI的40:60で不利な局面程度はひっくり返せるという事なんだろうなぁ。
あと、木村王位の体育座りが悲しかった。


棋譜作成は、自動作成で一気に大量に貪欲法かけたところ、既存の推定パブリックドロー筋
の4割くらいが、事前の分岐でパブリックドローから外れる事態に(汗

想定からズレた箇所は、見つけ次第ログに書き出して、そこから貪欲法でチェックするの
ですが、それでもパブリックドローから外れる筋については、Zebra使って徹底チェック。
自分のAIとZebraが同意見でも、読みが深まるにつれて揺れ動くZebraの評価値を見ていた
ら、なんとなくZebraが間違えていそうな着手がわかるようになってきて、その手をさらに
深堀してチェックする事で、ほぼ元の数まで戻す事ができました。たぶん、「パブリック
ドローから外れるのが正解」という筋が2系統ありまして、逆に周辺を掘って行ったら別の
パブリックドロー筋が見つかったりして、現在のところ残り30手推定パブリックドローが
780通り程度となりました。

増えたり減ったりはあるけど、今週だけで80件近く増えているので最終は1000件程度に
なってもおかしくない気がします。

もろに、人間が判断して手作業で修正みたいなのが、悲しいところ。
Zebraが無ければこんな事できないわけで。
0334535
垢版 |
2020/07/19(日) 18:17:42.01ID:ZoPMvH5f
とりあえず、>>328のAIで棋譜取り始めることにしました。
棋譜取った後の方針はまだあんまり固まってませんが。
0335535
垢版 |
2020/07/20(月) 21:59:52.85ID:Jx63yD56
ちょっと寄り道して4x4タイルゲームの最善手順計算してみた。
双方最善で20手で後手勝利みたい。
結構手順長いですね。
0336535
垢版 |
2020/07/21(火) 20:43:23.14ID:bqi5P5mB
あれ、ちがう?
22手かな?
0337535
垢版 |
2020/07/23(木) 21:12:02.22ID:ly3edh17
ふとやねうらおさんのサイトちょっとみてみたら、やっぱレベルたけーんだなって感じ。
0338535
垢版 |
2020/07/29(水) 22:17:32.28ID:X7Evhq9+
さぼりまくってます。
0339310
垢版 |
2020/07/31(金) 00:20:53.97ID:EPRjv06N
一括貪欲法を何度か繰り返す事で少し落ち着いてきたみたいで、パブリックドロー候補は
850件くらいになりました。

別途、Bookの再構築を速度アップしました。今までは文字通り再構築でしたが、直したい
のはDAGから生じる矛盾の修正だったので、トップから再帰で潜って戻りながら評価値など
を更新する形にして、再構築分の手間を削減しようという目論見です。が、シングルスレッド
でしか動作しないため非常に遅い。最終的に、基本の対称形を一括処理するようにして、
2手目の分岐単位でスレッドを分割して、何とか20分から5分に短縮できました。
まだ、スレッド3つしか使えていないので、もうちょっと工夫して8スレッド全部使えるように
しようかと思っています。目論みでは2分〜3分くらいまで行けかな。
0340310
垢版 |
2020/07/31(金) 00:22:31.35ID:EPRjv06N
>>335
タイルゲームの最善手計算凄いですね。
5×5とか6×6にしたらどうなるんでしょうね。
0341310
垢版 |
2020/08/10(月) 01:12:51.32ID:ABN1ddg2
bookの再構築は1分50秒台まで短縮しました。

30手読み切りのパブリックドロー候補は900件超え。
割と淡々と増えているので、ホンマかいなと不安になってきています。

過去にパブリックドローとみなした筋が、パブリックドローを外れた時に、原因となった
着手を追いかけて、間違い箇所探していて、大抵直す事ができるのですが、この新しく
棋譜にした筋の評価値が結構へんてこになっています。Zebraも時々そういう局面が
ありますが、結構遭遇します。おそらく過学習の絞り尻が、棋譜に出現していない局面
に押し込められているのだと思います。という訳で貪欲法のロジックを変更して、評価値
が怪しい局面から分岐をさせるように変更。とにかく棋譜を作りたいし、過去に間違えた
筋の訂正にもなるので、これをメインにしてみます。遡りチェックは、諦めて、棋譜の数の
暴力で正解筋を引く方向に変更。

そろそろ合流筋が増えて来たのと、FFOテストの局面が3つ棋譜から生成されたので、
手筋のカバー度は結構上がってきていると思うんだけどなぁ。

ちなみに現在118万棋譜。どこかで区切りつけたい気もしてきた。
0342535
垢版 |
2020/08/20(木) 17:45:24.62ID:g83UO1Ed
2冠とかやば過ぎ
0343310
垢版 |
2020/09/04(金) 16:05:06.49ID:h5QFISg8
棋譜数の暴力で130万棋譜突破。

Book確認用画面の方で手修正を掛けられるようにして、通常の棋譜作成プログラム
を動かしながら、おかしなBook値のところから後続の棋譜作成を手作業で指示して
修正がかけられるようにしました。最初は1件単位だったのが、縦深型の貪欲法で
チェック掛けられるようになり、処理時間はかかるけど効率よく修正できるようになり
ました。

となると、以前からパブリックドローの可能性が否定できないと思っている筋(Zebraで
+0〜-1程度の変化)を重点的に調べる事ができるようになりました。調査自体はドロー
ではないと確信できるまで、Zebra参考に縦深貪欲法を適用するだけですが、結構な
筋でドローが見つかりました。続いて、既存の幅優先貪欲法と30手まで遡りチェックで
ドロー筋である事を確認。幅優先貪欲法は間違いが多いので、ここで外れた筋はもう
1回縦深貪欲法でチェック。これを繰り返して、
0344310
垢版 |
2020/09/04(金) 16:15:15.87ID:h5QFISg8
途中で送信しちゃった。

まあ、要するに、色々棋譜作成していたら、現在ドロー候補が1000件超えました。
FJTは生きてますが、LOGISTELLOは消えました。F5d6C4g5筋がそこそこ充実。
斜め取りはF5f6E6f4G5d6からE3は消えましたが、F3とD7、もしかしたらC5も候補として浮上。

まだ、間違いがあって消える筋もあり、場合によっては200件単位でボツという事もありえ
ますが、最初は100件程度から始まった事を思えば、増えたものです。

今はとりあえずリストアップ優先ですが、最後の最後に、ガッツリとチェックの篩にかける
つもりです。どれくらい残るかなぁ。
0345310
垢版 |
2020/09/10(木) 17:54:29.45ID:4Zp+kLKC
やっちまった。操作ミスで棋譜データ飛ばした。たまたま8月20日のバックアップと、
現時点でのパブリックドローリストがあったので、現在そこから復旧中。

消えた棋譜は恐らく10万件以上orz

こういうミスが起きそうなのは認識していたし、色々プログラムも整理したいので、また
プロジェクト一から作り直しするかなぁ。
0346535
垢版 |
2020/10/01(木) 19:43:08.37ID:nw9XcH/L
ちょっとわけあって長期で活動から離れていました。
また活動再開する予定もないのですが、このままフェードアウトするのも寂しいのでLifeGameGoのAIを公開します。
アルゴリズムはモンテカルロ木探索+>>328のヒューリスティックですね。
https://drive.google.com/file/d/1n-QaJ_Jhbb-yGMOzA993CjgVofZIKf4n/view?usp=sharing
0347535
垢版 |
2020/10/01(木) 20:04:23.49ID:nw9XcH/L
>>346のAIはそこそこ強いと思います。
vectorで公開してるやつより若干強いはず。
0348310
垢版 |
2020/10/06(火) 23:13:30.11ID:RrvANMT6
棋譜件数とパブリックドローリストはほぼ復活。
パブリックドロー件数は、1200件くらいのところで落ち着きそうな気が
してますが、まだしばらく増減があると思います。

ソースも整理して、気になっていたところを直しました。
これでデータ飛ばすリスクはかなり減りました。
ただ、Bookはまだまだスカスカだし、評価値もギザギザです。
棋譜が間違っていると思ったら、評価値(自作もZebraも)が間違っていた
というケースも散見され、そろそろBuroさん型の評価関数の限界が見えて
きた気がしています。

今ある棋譜を生かして、もっとフィット率が良い評価関数が作れないものか。
とはいえ、NN系は計算が重すぎるし、いまいちモチベーションがわかない。
0349535
垢版 |
2020/10/08(木) 20:45:51.47ID:1JnWon84
AI作成はやってないのですがライフゲーム囲碁ってタイルゲームみたいに千日手存在するのだろうか?というのがちょっと気になってツラツラ考えています。
きちんと証明しようとすると意外と難しい
0350535
垢版 |
2020/10/09(金) 21:35:50.16ID:xNMc+C8z
ライフゲーム囲碁では千日手はなさそう。
でもうまく証明できないな。
0351535
垢版 |
2020/10/12(月) 19:22:24.77ID:Vplf5eGF
全ての棋理を表現できる構造体作れないかな、とかちょっと妄想したけど、
もしかしてCNNでほぼ実現できてるのかな、とも思ったり。
0352310
垢版 |
2020/10/16(金) 00:09:49.89ID:5RABX7jk
やねうら王2019のソースを見つけてダウンロードしたけど、やっぱり他人のソースを
見るモチベーションが沸きません(汗。NNUEとかLazySMPとか興味はあるんだけど。
LazySMPは8スレッド以上だと効果が出るそうで、自分の

CNNは十分な複雑さがあれば万能近似関数になりうるので、可能性はありますが、
0353535
垢版 |
2020/10/17(土) 21:21:42.37ID:/ZY5iNBP
単純すぎる棋理で勝てちゃうゲームもつまらないし
棋理らしい棋理もなく逆転逆転ばっかりのゲームもつまらないし
理想のゲームバランスってどんなんなんだろね
0354535
垢版 |
2020/10/18(日) 11:57:29.71ID:YswYLMUk
DeepMindのMuzeroってAtari 2600のゲームも解けるらしいけど、
冷静に考えるととんでもないことですね。
0355310
垢版 |
2020/10/19(月) 14:10:40.58ID:pQ38Gazt
書き込み途中で送信しちゃった直後から、BBQになってます。
とりあえず仕事場からカキコ。
0356310
垢版 |
2020/10/22(木) 21:49:58.25ID:1yysGYXi
そろそろ書けるかな?

CNNは色の無い万能近似関数で、汎化性能なるものが幻想ならば、という前提で。

万能近似関数が正しく学習できるためには、全局面分の教師データが必要となります。
その時、万能近似関数で学習する暇があったら、全局面分の教師データでTHE BOOK
を作ってしまえば良い。これで絶対に間違えなくなる。

という事で、可能性はあるけど、それが実現できるレベルに至ったら、そもそもCNNが
必要ないという事になるのではないかと思います(汗

評価関数なるものは、そもそも全局面を列挙する事が不可能な時に、とりあえず重要そう
な局面のセットで学ばせるものではないかと思います。
0357535
垢版 |
2020/10/23(金) 19:27:05.19ID:rxutEBUW
>>356
どもです。

>THE BOOKを作ってしまえば良い。

最近タイルゲームでTHE BOOKをどれだけコンパクトに表現できるか?
みたいなことをツラツラ考えていたりします。

勝利局面を列挙する以上にコンパクトにできたら素敵だなと。

羽生さん100期がんばれ!
0358535
垢版 |
2020/10/24(土) 10:09:31.57ID:fFCFDrI6
cnnが汎化性能出せるかどうかはゲームによるところもあるのかな、と思ったり
0359535
垢版 |
2020/10/25(日) 19:16:15.46ID:aUU7qa3J
タイルゲームのTHE BOOKをテキストでダンプしてみました。
266MBくらいになった。
>>300のZDDで圧縮、ちょっとやってみたいかも?
0360310
垢版 |
2020/10/29(木) 23:07:11.56ID:ZYSZpPVA
藤井二冠の自作PCについて最強将棋ソフト開発者に聞いたらトンデモないことが判明した件
https://originalnews.nico/281224

コンピュータ将棋スレで拾って読んだけど、めちゃうなずいてしまった。

あと、テラショック定跡という名前でビビッて劣等感を感じていたけど100万局面とな。
今140万超の棋譜なので、局面ではその60倍になる。重複外しても1000万はあるはず。
でも、オセロの様な単純なゲームにとっても、まだ全然スカスカ。

貪欲法の効率が上がり、ついでにおかしそうな棋譜の訂正もかけるようにしたので、
以前よりは、ゴミ棋譜が減ったと思う。過去のゴミ棋譜除去にはまだ時間かかるけど。
0361名前は開発中のものです。
垢版 |
2020/10/31(土) 15:36:57.51ID:gkuxF2zq
タイルゲームがかんたんそうだからやってみる
0362535
垢版 |
2020/11/01(日) 17:36:13.31ID:WsZt6LBI
>>361
がんばれ〜
俺はもうかなりさぼりモード入ってるからスレを盛り上げてくれると嬉しい。
0363535
垢版 |
2020/11/01(日) 18:23:47.85ID:WsZt6LBI
ちなみにタイルゲームは盤面が小さいからしらみつぶしできるってだけで、
盤面が大きくなったら全然簡単じゃないからね。
0364535
垢版 |
2020/11/03(火) 10:39:48.77ID:PG2hl+5T
ライフゲーム囲碁はルール上、パス機能が必須だと思ってたけど、
片方が一回合法手がなくなった時点で終局図は確定してしまうから
パス機能なしでも大丈夫だということに気づいた。

すなわちgithubからひろってきたalpha zeroで
パスを実装しなくてもライフゲーム囲碁を移植できる!
0365名前は開発中のものです。
垢版 |
2020/11/03(火) 10:57:52.07ID:lQNtzFqi
パスしないと負け、パスすれば勝ちのケースはあるのでは?
ルール上、パスがオーケーなら組み込まないと別ゲームになってしまう
囲碁や将棋やオセロではパスはできないが
ルールはしらないが
0366名前は開発中のものです。
垢版 |
2020/11/03(火) 10:59:51.84ID:lQNtzFqi
いや間違えた
オセロは手がなくなればパスに自動的だが
戦略上、パスもできるゲームはパスいれないと駄目だが、正確なルールは把握してない
0367名前は開発中のものです。
垢版 |
2020/11/03(火) 11:19:49.85ID:lQNtzFqi
いやさらにまちがってたかも?
囲碁もいまいちで
囲碁はパスしていいルールだった気もしてきた
0368535
垢版 |
2020/11/03(火) 12:25:56.24ID:PG2hl+5T
ライフゲーム囲碁はどんな着手であってもパスより自分の不利に働くことがないゲームなのです。
0369535
垢版 |
2020/11/06(金) 21:02:13.20ID:2Q8zXTlZ
ryzen 5000シリーズ発売ですね。
0370535
垢版 |
2020/11/09(月) 18:39:21.46ID:dBz3DOja
羽生さん、99期で終わったら死んでも死にきれないだろ
0371535
垢版 |
2020/11/11(水) 18:24:55.16ID:ffgIJO2s
羽生さん大丈夫か?
0372310
垢版 |
2020/11/11(水) 19:16:52.71ID:PnPV3j+5
入院したみたいですね。
お寺対局って寒そうだし。
0373535
垢版 |
2020/11/12(木) 23:01:44.49ID:elKbgDlH
コロナではないようですね。
100期は何とか達成してほしいですね〜。
0374535
垢版 |
2020/11/15(日) 20:53:35.50ID:AsfZgPnz
ちょっとgoogle colabに手を出し始めました。
0375535
垢版 |
2020/11/17(火) 22:57:35.19ID:N4TMVNAS
google colab(python)上でライフゲーム囲碁のルールが大体実装できてきました。
あとはgit hubでも漁ってalpha zeroなりmuzeroなりを移植できれば。
0376535
垢版 |
2020/11/22(日) 11:58:41.04ID:wvqeKXn/
タイルゲームの作者って絶対、完全解析、達成してるはずなんだよな。
でもしなかったってのは完全解析より成長するAIのほうがおもしろいと思ったってことかな?
0378535
垢版 |
2020/11/22(日) 14:39:25.83ID:wvqeKXn/
なんかalpha zero も muzeroも全然できそうにないな。
まるでRPGでまだフラグが立ってないからこれ以上先に進めない、みたいなのと同じ感覚に陥る。
0380535
垢版 |
2020/11/22(日) 17:13:40.44ID:wvqeKXn/
一応動いてるっぽいな。
0381535
垢版 |
2020/11/22(日) 19:11:20.07ID:wvqeKXn/
あかん、これはGPUないと計算時間がとてつもないかも。
0382535
垢版 |
2020/11/27(金) 19:51:59.28ID:zSE0X91F
羽生さん駄目か?
がんばれ、超がんばれ!
0383310
垢版 |
2020/11/27(金) 22:44:47.70ID:hZcTJqyt
ご無沙汰です。

現在棋譜は160万くらいになっています。縦掘り型の貪欲法が良い調子なので、学習より
棋譜作成を優先しています。残り30手推定パブリックドローは相変わらず1100〜1300件
くらいを行ったり来たりしています。まだ、知られていないドロー筋がありそうです。

やねうら王さんのサイト見ていたら、終盤近辺のヒューリスティックスオーダリングのアイデア
(偶数理論がらみ)を思いついてしまった。どうしよう(汗

羽生さん残念だったね。
正月のabemaTVトーナメントスピンオフ企画が楽しみです。
0384535
垢版 |
2020/11/29(日) 21:42:15.48ID:lBJkRKj0
まじで神様からお前はまだフラグ立ててないから進んじゃダメって言われてるみたいだ。
なんなんだこの進まない感覚は。
0385名前は開発中のものです。
垢版 |
2020/12/05(土) 01:05:58.42ID:XcLbFWqx
【中田敦彦 vs DaiGo】カードゲーム「XENO」論理vs心理の頂上バトル〜前編〜
https://www.youtube.com/watch?v=fnO_4f-kU7U
【XENO】中田敦彦 vs DaiGo完全決着〜後編〜
https://www.youtube.com/watch?v=Sz8mCMC5owg
【中田敦彦 vs ヒカル】カードゲーム「XENO」〜前編〜
https://www.youtube.com/watch?v=iJg5Mt6g3Rw
【XENO】中田敦彦 vs ヒカル〜後編〜頭脳と強運のバトルはドラマチックな展開に…
https://www.youtube.com/watch?v=VLcCDL5hNGU
【XENO】中田敦彦 vs QuizKnock伊沢拓司 ?完璧な挑戦者?【前編】
https://www.youtube.com/watch?v=t_-IVeONOJc
【XENO】中田敦彦 vs QuizKnock伊沢拓司 ?芸術の領域?【後編】
https://www.youtube.com/watch?v=aLu1DfPzKn4
0386535
垢版 |
2020/12/06(日) 21:30:13.60ID:baHgIGiz
羽生さん駄目だったか。残念。
0387535
垢版 |
2020/12/06(日) 22:09:48.86ID:baHgIGiz
セブンってショップのBTOのページすごい便利ね。

ryzen 5950x
Geforce RTX 3080
memory 64GB

これで約50万円。
ほしいなー
でも金がなー
0388535
垢版 |
2020/12/08(火) 18:07:01.06ID:K/1BOoLK
>>379にライフゲーム囲碁を移植しました。
ようやくバグも収束してきたかなという感じです。

しかし学習の計算時間が半端なく実用にはならないかも?
0389535
垢版 |
2020/12/08(火) 18:08:55.86ID:K/1BOoLK
まじであまりの計算の遅さに新PCに50万ぶっこみかねないです。金がないけど。
0390310
垢版 |
2020/12/08(火) 20:01:53.15ID:XtZeNl55
羽生さん残念でしたね。

自分はDL系は諦めました(汗
将棋で別ルートのアイデア考え中ですが、その前にオセロ片付けねば。
0391535
垢版 |
2020/12/08(火) 20:11:06.20ID:K/1BOoLK
片付けるってゼブラに勝つとかですか?
0392310
垢版 |
2020/12/09(水) 00:40:30.93ID:yA++6X4X
どっちかというと、パブリックドローがどんだけあるのかに興味が移っています。

残り30手ドロー筋が1100〜1300くらいとか言っていましたが、色々やっていたら
1700超えしてしまいまして。大半は、やっぱり違いましたという事になるのだと思い
ますが、まだまだ定跡が整ったと言える状態では無いという事で…。

将棋は序盤定跡だけちょっとやってみたい事があります。まだまだ妄想の域ですが。
だけど、盤面をどう表現するのか、まだ悩み中です。方針が決まったら手を付け始める
かも知れません。
0394310
垢版 |
2020/12/09(水) 13:01:28.38ID:EZH7kLVs
パブリックドロー筋を−2〜−4程度で相手が外した時に、勝ち切るだけの
精度を持った評価関数が別途必要なのですが、まだ自信はありません。

ただ、相手が悪い変化にした時の話なので、確率的には勝ちやすくはなって
いると思います。
0395310
垢版 |
2020/12/09(水) 13:04:14.67ID:EZH7kLVs
あと、極端に悪い手の教師データが極端に少ないため、評価値が団子状態になって
しまっていて差がつかず、そういう局面が来ると大悪手をやらかす傾向が見えます。
0396535
垢版 |
2020/12/13(日) 19:39:52.85ID:xFVu6j34
>>379のプログラムですが学習に2〜3ヶ月かかりそうなかんじ orz
0397535
垢版 |
2020/12/19(土) 17:20:17.46ID:j5eaZ9rt
>>379はいったん保留します。
0398535
垢版 |
2020/12/25(金) 19:39:30.88ID:Nvyj4q8t
AMD株買おうかな?
AMD株で儲けた金でAMD製品を買ってさらにAMD株が上がるという夢のような話が実現したら最高なのに。
0399310
垢版 |
2020/12/30(水) 10:36:36.53ID:RKjDooRQ
どもです。
現在棋譜173万件、推定ドローは1800件ちょい。
まだ、推定ドローの出入りが激しい状態なので、200万件くらいまでは
継続しないと確からしくならないかなぁと思っています。

将棋は、盤面をどう持つのかでまだ悩み中。
オセロでBitboardがパワー発揮しすぎだったのに引っ張られて、できない
事をやろうとしていた感じです。諦めをつけるのに時間がかかった(汗
0400535
垢版 |
2020/12/30(水) 10:43:26.87ID:wKEDyl8s
お、ついに将棋やるんですか。
0401310
垢版 |
2020/12/30(水) 23:51:04.47ID:HmP9SqUG
急がず、気が向いたら少しづつね。
というか、最初にやりたい事は、AI開発じゃなかったりする。
0402535
垢版 |
2021/01/01(金) 00:02:50.83ID:s0PQz8qc
あけおめ
0403535
垢版 |
2021/01/05(火) 19:05:10.85ID:C1a8ji8d
SQLiteに興味がわき始めた。
0404535
垢版 |
2021/01/06(水) 12:17:35.49ID:IgBznju4
うおお、amd株買いました!!
100株!!
絶対負けられない!!!
0405535
垢版 |
2021/01/06(水) 22:01:15.53ID:mpAvhUax
なんか円高来そうなふいんき(なぜか変換できない)
やばいか?
0406535
垢版 |
2021/01/07(木) 19:09:01.69ID:HUrKK7Mn
ちなみにAMD株100株の買値は約96万円です。
0407535
垢版 |
2021/01/20(水) 23:11:10.89ID:qy20bOnv
SQLite遅えええええええっ
なんか間違えてんのか??
0408535
垢版 |
2021/01/21(木) 17:55:33.22ID:rClapu4e
トランザクション使ったら速くなったww
俺があほなだけだったか。
0409535
垢版 |
2021/01/22(金) 19:20:17.01ID:imvdWv6b
今、DNNに現状の局面から終局図を予測させる、というのをやってます。
0410535
垢版 |
2021/01/23(土) 15:07:46.59ID:Qz/TWYaP
ランダムな打ち手で棋譜を取る

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

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

そのAIで棋譜取り

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

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

現状全然弱いですが、何世代も繰り返したら強くならないかと淡い期待を抱いてます。
0411535
垢版 |
2021/01/23(土) 18:01:00.15ID:Qz/TWYaP
CPUパワーが欲しい!
0412535
垢版 |
2021/01/23(土) 20:32:11.62ID:Qz/TWYaP
学習だけで強くなることが理想だけど時間かかりすぎるんでヒューリスティック入れます。
このヒューリスティックはかなり強力なので。
0413535
垢版 |
2021/01/24(日) 08:14:24.23ID:t0z9Z/qG
AI結構つよくなったかも。
勝てないわけじゃないけど負かされるときは大差で負かされるというなかなか面白いAIができた。
思考時間も超サクサクだしかなりいい感じ。
100世代くらい学習させてみたいな。
0414535
垢版 |
2021/01/24(日) 08:22:38.13ID:t0z9Z/qG
世代を重ねるごとにDNNの損失が減りやすくなっているな。
これはどういうことだろう?
0415535
垢版 |
2021/01/24(日) 11:03:56.91ID:t0z9Z/qG
終局図を予想する方法は囲連星でも有効な気がする。
ライフゲーム囲碁が落ち着いたら囲連星もやってみたいな。
0416535
垢版 |
2021/01/26(火) 07:51:11.81ID:P7Cvj06g
終局図予想はなかなかいいアイディアだったけど
人間に100%勝てるようになるにはあと3つはブレークスルーが要るかな
0417535
垢版 |
2021/01/26(火) 18:17:37.19ID:O4pdiTCM
DNNが結構うまくいったのでDNNとMCTS組み合わせたらすげー強くなるんじゃないかと思ったがうまくいかない。
なんでだろ?
0419名前は開発中のものです。
垢版 |
2021/01/27(水) 16:34:25.09ID:IWsBUGLO
大人も子供も白熱!最新ゲーム「ノッカノッカ」が面白い
https://ima.goo.ne.jp/column/article/5290.html
同時多発競りの建設ゲーム『スクエアオンセール』
https://www.tgiw.info/2019/05/squareonsale-ngo.html
オセロの作者が生み出した究極のボードゲーム「SKYGUEST(スカイゲスト)
https://readyfor.jp/projects/13361
このアブストラクトがすごい『FILLIT(フィリット)』の感想
https://www.unjyou.com/entry/2019/01/07/200000
新定番「CUBOID」はリビングに飾ってもおしゃれなボードゲーム
https://hintos.jp/articles/cuboid_20190915/

オシャレで簡単、だけど深いボードゲーム
http://sweetint.com/ic/tinttile-game
LOGY GAMES ボードゲームカタログ
http://www.logygames.com/logy/i-game.html
トルコ製 バックギャモン&チェス 
http://www.topkapi-kilim.jp/shopdetail/021006000015/
インスタ映え必至!独自のデザインの将棋ばかり集めてみました
https://kifulog.net/201802/instabae-shogi/
ゲームマーケット2018秋 新作 「teardrop将棋 2018ver.」
http://sadayablog.hatenablog.jp/entry/2018/11/18/001010
エクストリーム将棋の企画から販売まで
https://nakagawa-hands.com/digital-fabrication/ex-shogi_a2z/
0420名前は開発中のものです。
垢版 |
2021/01/27(水) 16:35:17.27ID:IWsBUGLO
ビビットカラーを使ったポップなデザインの二人用ボードゲーム「ガブル」
http://boardgame-kikou.blog.jp/archives/9311305.html
コンポーネントに酔いしれて、戦略にゆったり溺れる「箱庭の国」
http://sake.saloon.jp/dojin_miniaturized-world/
『すずめ雀』初心者でも本格的な駆け引きを楽しめるミニマル麻雀ゲームが登場
https://www.inside-games.jp/article/2018/05/02/114450.html
0421535
垢版 |
2021/01/28(木) 11:56:52.27ID:nsxxdxe+
ぎゃああああ
AMD株さがってます!
でも絶対損切りません!
ガチホールドです!!
0422535
垢版 |
2021/01/29(金) 08:42:23.68ID:b5Y+zFv5
AMD株更に暴落!

        / /|        /|   |ヽ      ヽ,ヽ,   |
.       // .|        <l./u |  レ'      ヽ,ヽ,  |    そんなっ・・・!
      〃   |  / / ,.へ |!  >  _、へ |\     ヽ,ヽ,|    バカなっ・・・! バカなっ・・・!
.          | /| ./!イ==`、  iレ´==== ヽ    ヽ,ヽ,    なんでこんなことがっ・・・・・・!
.           | / レ  ト、_。_)  (      ,、 | |⌒i  iヽ,\
、_          レ    /|  ̄/.|j~ `.=°=´   | |つ.|  ゝ.\.\   なんでこんな・・・・・・
、_`'-、_         / .レ´    u u _ ,、-'´  .| |ノ/   ヽ \ \  あってはならないことがっ・・・・・・!
 `' -、,`' -、/`7―-/ r'__   __ `  ̄    |j~ ||ノ.      \ \ \
     `'ァ、\/―- 、 __| f========ニ`i   /|       |\ \ \ .\   どうして・・・
     /  \ \       | |          }  / |       | / ̄ "'' ‐-\ .\  なんで・・・ こんな・・・
    i.   / \.\   / ||- ―‐-r――‐-/ / レ     N ̄ "'' ―‐ --\  こんな・・・・・・・・・
.    |   /   \.\〃! |` ――' -----'/    |      |
    |        \.\| .| u==  ,、- '´  u ./|     |   こんな理不尽なことが
    |           \ \l_ ,.、- ' ´         /| |.    N   オレの身ばかりにっ・・・・・・・・・!
    |            | |\ \        |j〜  / | レ   |
    |         | レ |\ \       / |   |   |
    |.         | | |  \ \  u  /  |   |   |
0423535
垢版 |
2021/01/31(日) 16:13:13.54ID:VZ57vNLN
次のアイディアが欲しいですね。
0424310
垢版 |
2021/02/01(月) 00:01:08.19ID:8O6JXncr
だんだん時間かける事に鈍感になってきて、棋譜作成のサイクル一回回すのに
既に1ヵ月以上経過w

手作業で掘る作業が追い付かなくなって、まだ1ヵ月くらいかかりそう。
0425535
垢版 |
2021/02/04(木) 19:48:36.88ID:gu71a/9B
セブンってショップでRyzen 9が売り切れてんだが?
まじか?
かなり異常事態のような。
0426535
垢版 |
2021/02/05(金) 23:04:45.07ID:y8QVdHw1
結構タイルゲームで遊んでるんだけど、もしかしたらAIの勝ちが人間の勝ちの2倍程度になるように調整してるのかもしれないな。
AIの勝ちが増えすぎるとわざと負けてくれてるような気がする?
0427535
垢版 |
2021/02/16(火) 19:10:58.66ID:uo6Sp06Y
アイディアとモチベが湧いてこないですねぇ。
もう何週間もさぼってる。

それはそうと最近、天頂7の9段に9路の白番で勝つ手順を丸暗記するという割とむなしい遊びをしています。
相手が手順通りに打ってくれば天頂7に白番で勝てるというw

いま勝てるパターンを2つ暗記しました。
0428310
垢版 |
2021/02/17(水) 13:17:00.68ID:s846FVIG
すっかり手掘り作業が癖になってしまい、棋譜は190万件突破。

FFO(フランスのオセロ団体で、FFOテストで有名)のサイトを久々に見ていたら、
今更ながらに棋譜集を見つけてしまいました。トータル5万件ちょい。
試しにいくつか読み込んでみました。残り24手以後はこちらで読み切り処理してます。

結構スコア差がついている棋譜が多くて、読み切りの結果全滅している棋譜も数%。
それでも、24手目以後ドローで、現在の自分のBookでは推定パブリックドローと
判断すべき棋譜も2000件中5件程度はあります。

現状、石差が大きい棋譜が不足しているのと、推定パブリックドローが100件程度は
拾えそうなので、順次読み込んでみたいと思います。

時々、末端に近いノードのヒューリスティックスによるオーダリングのアイデアを考えて
いますが、プログラム修正して速度計測するのが面倒くさい(汗
0429535
垢版 |
2021/02/17(水) 19:54:58.58ID:PoPm8b/n
天頂に白番で勝てる手順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])
0430535
垢版 |
2021/02/20(土) 18:00:17.43ID:xZ5jGFrw
ライフゲーム囲碁で軽くて強いAIができたらUnityでiOSアプリとして出して広告収入を得るという野望ができたw
ぼちぼち頑張っていこう。
0431535
垢版 |
2021/02/22(月) 20:58:56.14ID:ggZ1GkKi
終局図を予想するんじゃなくて終局図を3 x 3ごとの領域に分割して
その領域の石の数の和を予想するようにしてみた。
そしてそのDNNをつかったAIは盤面全体でなるべく万遍なく地を取るようにパラメータを調整した。

結構強くて面白い打ち筋のAIができた。
0432535
垢版 |
2021/02/22(月) 21:03:00.51ID:ggZ1GkKi
UnityってC#限定らしい。
tiny-dnn使いたいけどどうしようかな。
0433535
垢版 |
2021/02/23(火) 10:26:22.42ID:Rv/NZ5p8
AMD 株 あかんなぁ
長い目で見るしかないか
0434535
垢版 |
2021/02/23(火) 16:30:33.88ID:O6xcYKK2
ヤバイ、かなり強くなった。
しかも思考時間サクサク。
IPadの計算能力でも十分実用に耐えると思う。
広告収入の夢がひろがりんぐ。
0435535
垢版 |
2021/02/23(火) 18:41:42.62ID:O6xcYKK2
あれっはるか昔に作ったモンテカルロAIに勝てないな?
こんなはずでは…
0436535
垢版 |
2021/02/24(水) 20:57:06.87ID:htf3noQ0
今まで収集した棋譜から50万局面サンプリングしてDNN学習してたけど
150万局面サンプリングにしたら結構質が上がるっぽい
0437535
垢版 |
2021/02/24(水) 20:58:56.65ID:htf3noQ0
メモリが欲しい!
1TBくらい!!
0438535
垢版 |
2021/02/24(水) 21:46:44.77ID:htf3noQ0
Unityの勉強したいと思ってるけど、なんとなく先延ばしにしてしまう。
C#ならライフゲーム囲碁のGUI作ったことあるから楽勝かと思われたが案外苦戦するかも。
0439535
垢版 |
2021/02/25(木) 19:00:45.14ID:JkW/Ydgx
メモリがDDR5になると一枚128GBとかになるそうですね。
ここはZen4まで待ちか?
0441535
垢版 |
2021/02/25(木) 21:13:33.07ID:jSHB0UOb
ライフゲーム囲碁では現在石のあるところに終局時も同じ石がある事が多いから終局図予想が有効なんだろうな
オセロだと石がコロコロ変わるから役に立たないかも
0442535
垢版 |
2021/02/25(木) 23:31:19.86ID:jSHB0UOb
本当にオセロで役に立たないかちょっと試してみたいかも
まあ当面はライフゲーム囲碁に注力するけど
0443535
垢版 |
2021/02/26(金) 12:06:16.47ID:SaD/jMLU
うあああああ、AMD株ゲロ下げ! orz orz orz

意地でも損切りしません!!
0444535
垢版 |
2021/02/26(金) 22:06:51.79ID:SaD/jMLU
あれ、ある程度強いAI出来たらなんかライフゲーム囲碁への興味が薄れてきたんだが。。。
俺の情熱はこの程度のものだったのか?
0445535
垢版 |
2021/02/27(土) 17:31:30.09ID:9RP+gzxY
一旦AI強化はストップしてiOSアプリとして世に出すことに注力しようかな。。。
そしたらライフゲーム囲碁は一区切りつく気がする。
0446535
垢版 |
2021/02/27(土) 18:19:13.71ID:9RP+gzxY
囲連星の時はLV3という素晴らしいライバルがいたけど、
ライフゲーム囲碁AIはある意味、独り相撲(という言い方があってるかあれだが
強い相手が欲しい。
0447535
垢版 |
2021/02/27(土) 21:57:13.04ID:9RP+gzxY
app storeにアプリ出すのって年会費10000円以上かかるとかなんとかorz
はやくも暗礁に乗り上げたorz
0448535
垢版 |
2021/02/27(土) 23:02:26.05ID:9RP+gzxY
一応unityダウンロードしてみたんだけど。。。
鶏を割くにいずくんぞ牛刀を用いん、って感じなんだが。。。
0449535
垢版 |
2021/02/27(土) 23:05:00.12ID:9RP+gzxY
もっと手軽な碁石と碁盤使ったゲームのツクール系ツールみたいなのないんか?
0450535
垢版 |
2021/02/28(日) 11:18:18.67ID:WgCf/gfB
ちょっとunityからは撤退しようかな。。。w
明らかに碁盤を使ったゲームを作るのには不向きだろこれ。。。
0451310
垢版 |
2021/02/28(日) 19:10:49.74ID:G409jqAr
棋譜200万件突破。

FFOの棋譜を読み込んだら、一気に推定ドロー数が半減してしまった。
一部チェックしてみたら、当然だけど最善進行になっていない棋譜が多い。
誤手1回目でドロー筋から外れて、2回目で逆転するような棋譜があると、
本当はドローなのに、ドローじゃない事になってしまうので、その可能性が高い。
もしかしたら、本当に正しくドローじゃないのかも知れないけど。

気が付いた一部の棋譜を手で修正していたら、あっという間に200万件突破。

この後、タイミング見て、前回ドローだった筋がドローから外れたところを重点チェック
する処理をかけたいけど、かなり大量になりそうです。普段ですら100件程度出てくる
んだけど1000件単位になりそう。終わった頃には棋譜が250万件超えているだろう
と思います(汗。
0452535
垢版 |
2021/02/28(日) 22:25:07.17ID:WgCf/gfB
unityがあきらめきれず、まだもがいてます。
多分良いチュートリアルが見つかればなんとかなる。はず。
0453310
垢版 |
2021/03/01(月) 10:17:05.78ID:taYKBNAm
FFOから追加したのが2200件、これを見つけ出して後ろから訂正するから途方に
くれるのであって、前からドロー筋をチェックしていけば、比較的簡単じゃないかと
閃いて、前からチェックでいくつか直したけど、1/3ほどしか治らんかった。
後は、重点チェックの自動処理に任そうと思う。

手動訂正飽きてきたし。
0454535
垢版 |
2021/03/01(月) 19:02:13.63ID:Slm2BpgX
youtubeでunity入門のいい動画が見つかって、一気に進みました!
碁盤に碁石をポチポチ置けるところまですでに出来てます!
ライフゲーム囲碁のルールを実装するのはそれほど難しくないから
あとはtiny-dnnをなんとかすればやりたいことはほぼクリア出来たも同然です!!
0455535
垢版 |
2021/03/02(火) 19:37:14.29ID:/udWcgwN
tiny-dnn使うのむずかしいかもorz
0457535
垢版 |
2021/03/03(水) 19:41:03.40ID:ASkT+B/n
>>456
Unityゲームスタジオ スタジオしまづ 倉庫番 で検索してください。
0458535
垢版 |
2021/03/04(木) 18:51:15.39ID:UVMmpKWT
AMD株が瀕死 orz 絶対損切らない T△T

tiny-dnnもダメかも?
最悪Unityで使えるフレームワークで学習しなおしになるかも。
教師データが残ってるのがせめてもの救いか。
0460310
垢版 |
2021/03/04(木) 22:39:22.91ID:jFz4sVNV
重点チェック処理完了。思ったより少なかったのでおよそ1.5万件で済みました。
ドロー筋は、FFO棋譜読み込む直前の状態に近いところまで戻りました。
もう二度と人間の棋譜は入れない(汗

なんつーか、Thread Ripperが欲しくなってきた。
そろそろBookが大きくなってメモリーパンパンだし。
0461535
垢版 |
2021/03/04(木) 23:18:30.21ID:UVMmpKWT
AMD株が200$になったらスレッドリッパー買うんだ。。。(死亡フラグ)
0462535
垢版 |
2021/03/08(月) 20:02:03.03ID:SbIJl68m
tiny-dnnどうするかまだ悩んでます。

一応、今考えているのが
C++をC#へトランスレートするようなものを目指すか、
tiny-dnnをすててpytorchなどで学習しなおすか。

どっちも結構な工数がかかりそう、かつ技術的ハードルも高めで踏ん切りがつかない。
特にC++をC#へトランスレートは成功する保証が全くない。

迷ってる間に両方やればいいのかもしれないけど、そこまでの体力とモチベーションもない。

悩ましい。
0463535
垢版 |
2021/03/09(火) 12:27:05.11ID:TGn9I9xg
    ,.へ           /`',
  //ヽ.\      (二二  .二二二)
.//    \ヽ._      / ./
` '       \_`,    .//      ∩∩  ,へ
              /_,-‐−‐‐- 、  ∪∪//
            -=ニ ̄      \  // 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下げ止まらない!
0464535
垢版 |
2021/03/09(火) 12:29:57.24ID:TGn9I9xg
絶対損切りません!!!
0465535
垢版 |
2021/03/09(火) 18:55:47.52ID:TGn9I9xg
pytorcで学習しなおすにはC++で書いたLifeGameGoのコードをpython に移植する必要があると思ってたけど、
swigうまく使えばかなりコード使いまわせるかも、と思いついた。
0466535
垢版 |
2021/03/10(水) 18:34:37.01ID:dPa6OG1W
python から教師データにアクセスすることに成功しました。
あとはpytorchで学習する部分が書ければ。。。
0467535
垢版 |
2021/03/10(水) 18:37:07.10ID:dPa6OG1W
AMD株は少し戻しましたね。
ガチホで耐え抜く!
0468310
垢版 |
2021/03/11(木) 12:23:53.12ID:j4c7ib4A
4か所ほど改造したくなってきました。

ソースの混乱を避けるためまた新ソリューションで作ろうかと思っていますが、
例のFFO棋譜で生じたBookのダメージ箇所を見つけて直す作業がかなり時間が
かかりそうです。削除しちゃえば早かったんだけど、活かして訂正かける方向に
しちゃったので、後に引けない。

どうしよう。

あと、NTESTのソース見つけた(今頃)。
NTESTの引き分けBOOKは公開されていないらしい。残念。
0469535
垢版 |
2021/03/11(木) 19:00:03.56ID:7j7hDg2j
意外とwebの情報だけだとpytorchがとっつきにくくて、入門本をキンドルで買いました。
0471535
垢版 |
2021/03/14(日) 16:18:09.63ID:WU5JnbUY
なんかいまいち情熱が湧き上がってこない。
あまり気負わないほうがいいかもだけど。
0472310
垢版 |
2021/03/14(日) 16:39:25.01ID:Gv94SmBp
>>470
ありがと。それで良いんだ。
早速ダウンロードしました。
0473535
垢版 |
2021/03/16(火) 18:57:07.07ID:Sqpz5BC1
まだpytorch進めていいフラグが立ってないみたい。orz
0474535
垢版 |
2021/03/17(水) 18:43:23.41ID:uEwzZ7oA
pytorchフラグ立ったかも?
0475535
垢版 |
2021/03/17(水) 20:14:02.76ID:uEwzZ7oA
pytorchでの学習に成功したようです。
それっぽい値が返ってきてます。
素晴らしい。

次はonnx形式にエクスポートしてunityから参照ですね。
ゴールが近づいてきたっ
0476535
垢版 |
2021/03/19(金) 11:53:43.84ID:LtMPHDsm
unityでonnx使えました!!
全ての技術的障壁はとりはらわれました!!!
あとは整えるだけです!!!!
0477535
垢版 |
2021/03/19(金) 20:26:47.27ID:LtMPHDsm
整えるだけとか言ったけど、それが地味にボリュームあることに気づいたorz
0478535
垢版 |
2021/03/22(月) 20:47:19.59ID:17zL1ZBs
unityですが基本的なゲーム部分はほぼ形になりました。
あとはどういう形で公開するかですね。。。

収益化とか興味あったけど、どうせ大した額にはならないだろうし
iOSアプリはちょっとハードル高いのでWebGLでunityroomにでも上げてしまうか?

まあぼちぼち考えていきます。
0479535
垢版 |
2021/03/23(火) 21:56:22.71ID:UAwn5kzx
Githubで公開しました。
GithubでLifeGameGoWebGLで検索してください。
収益化はとりあえず見送りかな。。。
0480名前は開発中のものです。
垢版 |
2021/03/23(火) 22:01:10.82ID:Zn9OSq50
フラッピーワールドみたいなゲームやりたいな
0481535
垢版 |
2021/03/25(木) 17:40:59.94ID:f/gFYoAO
LifeGameGo AI かなり強いと思いましたが、囲碁高段者とかには普通に負かされるっぽいorz
まだまだ修行が必要か。。。
0482535
垢版 |
2021/03/25(木) 17:46:40.81ID:f/gFYoAO
でもまあライフゲーム囲碁は一区切りかなぁ?
なんか目先を変えて違うゲームやりたいな。
ライフゲーム囲碁では終局図予想が結構うまくいったから
ほかのゲームにも応用してみたいな。
0483535
垢版 |
2021/03/25(木) 18:33:15.38ID:f/gFYoAO
一週間くらい活動休もうかな?w
若干、燃え尽きた感がww
0484535
垢版 |
2021/03/30(火) 19:37:45.37ID:49D9zVZt
9路囲碁やろうかな?
終局図予想の応用として相性がよさげ
0485535
垢版 |
2021/03/30(火) 19:42:10.14ID:49D9zVZt
それに囲碁ならいくらでも強い相手がいるし。
0486535
垢版 |
2021/04/01(木) 21:32:01.41ID:aNe43Nri
1カ月くらいさぼろうかな?ww
完全に燃え尽きたww
0487310
垢版 |
2021/04/01(木) 22:39:57.60ID:oZ+Ylys+
色々改造中。たくさん改造するのでバージョン2にして全面見直し中。
棋譜210万件を超えて、メモリーがいよいよヤバいので、棋譜へのランダムアクセスは
色々工夫してファイルシステム任せ、BookはSQLite化して外だしを進めています。移植し
ながらの修正がまだ完了していないので、テストどころかコンパイルすらしてません(汗

片や、現行のバージョンでは、棋譜作成のロジックを修正して、結構効率よく要チェック
できるようになりましたが…こちらの処理を優先しているのも、なかなかコンパイルに至ら
ない原因だったりしますorz
0488535
垢版 |
2021/04/02(金) 20:29:26.79ID:+EUALkna
お、310さんもSQLite使ってるんですか。
SQLiteいいですよね、簡単に組み込めて。
0489310
垢版 |
2021/04/04(日) 20:24:01.08ID:8wrL8vAJ
>>488
相変わらず、ソースは書いたけどコンパイルしていない状態ですw

KYOTO CABINETから調べ始めてましたが、気が付いたらKYOTO CABINETは次バージョン
になってて。検索してたらNoSQLという単語を知って、その系統を色々調べて…。

所詮、Unordered Mapをメモリー外でしたいだけなので、NoSQLで良いかなと思ったのですが、
SQLiteならファイル単位くらいの粗さで複数プロセス書き込み管理ができるようなので、
選択してみました。SQLiteならやりたいことができて、やりたくない事はやらなくて良さそうなの
が良い感じ。
0490535
垢版 |
2021/04/05(月) 22:24:12.51ID:cIiQfoJO
>>やりたくない事はやらなくて良さそう
これ何気にだいじですよね。
0491535
垢版 |
2021/04/08(木) 20:15:28.95ID:4Ek1Htfr
LifeGameGoから囲碁に使えるソースを持ってきて整理したり
昔買ったコンピュータ囲碁本をちらちら見返したりしてます。
0492535
垢版 |
2021/04/09(金) 19:22:50.69ID:QT+fCeqQ
半導体関連、品薄で値上がりしてますね。
zen4がでるころには解消しててほしい。
0493535
垢版 |
2021/04/11(日) 22:54:33.07ID:En6IeUes
まじ燃え尽きたみたい。
モチベーションゼロ。
0494310
垢版 |
2021/04/13(火) 01:39:15.29ID:DfQCUB9I
SQLite化ができたので移行してみましたが、あちこちで問題が(汗

1.評価関数の形を変えてゼロリセットしたが、まだ学習回数が足りず探索が遅い
4日くらい回し続けなきゃならないかも。

2.unordered_mapの形のままSQLに置き換えたら、激遅箇所ができた。
ランダムアクセス減らす様に修正しているけど、何か所か妥協が必要かも。。

3.並列処理してもDB更新がボトルネックになってシングル動作並のCPU使用率。
諦めるかも。

4.Windowsが不安定になるときがある。メモリーリークかも。

というわけで、しばらく棋譜作成停止して、悩む事になりそうです。
0495310
垢版 |
2021/04/14(水) 20:36:06.02ID:RDUQmrym
いくつか解消。

SQL周りは何とかなりそうだけど、排他周りがまだよくわからないかも。

探索速度の低下は、SQLではなく評価関数の修正が原因の模様。
今夜修正する予定。また再学習だなぁ。

そのほかの劇遅箇所は、修正しつつあります。
0496535
垢版 |
2021/04/15(木) 20:03:24.27ID:wM5NXUdC
どんどん進んでますね。
いいなー。
0497535
垢版 |
2021/04/16(金) 11:56:39.32ID:MfLHMnw8
AMD株ちょっとあがった。
なんとかプラスになってほしい。
0498535
垢版 |
2021/04/16(金) 19:18:12.45ID:MfLHMnw8
いっそpython onlyで組んでみるか?
とちょっと思わなくもない。
0499535
垢版 |
2021/04/16(金) 19:22:13.09ID:MfLHMnw8
モダンな開発環境とか使って自動テストとかもばっちり組んで高い生産性でコーディングしてみたい。
0500名前は開発中のものです。
垢版 |
2021/04/17(土) 17:16:49.19ID:76fyq86U
jsでテスト関数?describe()なんてあったっけ?と調べたらnode.jsの関数だったわ それで何するのかも意義もよく分からんけど 使いこなせたら女にモテることは理解できた すごいな自動テスト
0501310
垢版 |
2021/04/19(月) 00:35:34.53ID:MoZY+/Mw
評価関数問題は回避しました。

でも、SQliteでBook探索という一番使うところでSQLITE_MISUSEエラーが出て、
行き詰ってます(汗。よりによって、完全読み切り処理の中で起きています。

別スレッドから同じDBポインタを引数にして…という説明があるので、DB接続を分けた
のですが直らん。

テストでparallel_for内でマルチスレッド化して使ってみましたが、普通に動作する。

SQL文のtypoでもこのエラーが出るのを見つけたのですが、他の場所では動作するので
typoとは思えない。

何か他に原因があるのだろうか…
0502310
垢版 |
2021/04/19(月) 20:51:01.20ID:MoZY+/Mw
原因判明。prepareのところでBUSYとなっていたのに、待っていなかったのが原因でした。
というわけで待つ様に偏向したところ、めっちゃ速度低下。そもそも探索1回あたりの処理が
軽すぎて、DBアクセスの準備が間に合わなくなっていたのが原因みたいです。

BUSYを待つようにしたら滅茶苦茶速度低下。並列化の意味なしパターンです。読み切り
処理で過去に読み切り済のBookを活用するための処理でBookを見ていましたが、初段
限定使用に改造して回避。

読み切り処理のテスト時にバグでBookに矛盾が生じてしまったので、矛盾解消の処理の
テスト始めたら、ここもバグってる感じ。毎回再構築した方が早いかも。

まだ先は長そうというか、長期間楽しめそうです(汗
0503310
垢版 |
2021/04/20(火) 00:26:09.25ID:APnaWVT/
Book矛盾解消もBook再構築も、どちらもBUSY地獄になりました。
一旦BUSYになったら無限ループ待ち。COMMITしてみたり試したけどダメ。

Book再構築は昔は動いていたはずなのですが、DB接続を関数ごとに分離した
ために動かなくなった感じなのかなぁ。泥縄で試していくしかないですね(汗
0504310
垢版 |
2021/04/22(木) 02:18:19.05ID:7rHLmRsN
BUSY問題解消。やっぱり更新Transaction内では参照系を別のDB接続でやっては
ダメだった模様です。

そのほか、いわゆる単体テストレベルは一通りチェックしました。後は全部繋げて
どうかという話になります。処理時間が長くて使えないものも出てきそうですが、
移行できる算段はできたかなぁ。

プログラム書いている裏で、旧版を動かしっぱなしなので、切り替えるタイミング
がなかなか作れなかったりして。
0505535
垢版 |
2021/04/23(金) 19:12:09.19ID:1dz+811c
いまさらながらライフゲーム囲碁のAIが思ったより強くないことに気づいてしまった。
でも、さらに鍛え直そうという気もさほど起きないな。
pythonの勉強も放置中ですね。
0506535
垢版 |
2021/04/23(金) 20:10:56.55ID:1dz+811c
visual stdio 2019にpython を追加してみました。
自動テストも出来るっぽい。

ちょっとづつでいいから前進しよう。
0507310
垢版 |
2021/04/23(金) 22:22:51.63ID:SZ8gbg4M
完全移行前のチャンスだからと、今更ながらに読み切り処理の見直し。

少し前にようやくKiller Moveが何なのかわかったので、組み込んでみるも…
速度が低下してしまったorz

昔試した偶数理論もダメだったし、コーディングが悪いのかなぁ。
0508535
垢版 |
2021/04/23(金) 23:50:34.12ID:1dz+811c
自動テスト動くと結構うれしいですね。
でもテスト書く工数も意外と馬鹿にならない感じもする。
今後テスト書くモチベーションが高くなるか低くなるかどっちかなぁ。
これ多分、テストは凝らずにあっさり書くのが長く続くコツだろうな。
0509535
垢版 |
2021/04/24(土) 17:53:34.18ID:XMffmkc0
テスト書くモチベーションが低下し始めたwww
さすがに根性なさすぎと思うが自分じゃどうしようもないw
0510名前は開発中のものです。
垢版 |
2021/04/27(火) 10:09:52.33ID:mKcsXLH1
自作ゲームツールで操作履歴を記録し、操作を戻す機能を作っている
それで気づいたんだけど履歴システムはテスト機能も兼ねるのでないかと...
操作名が記録されたなら、操作を行い関数実行して最後に記録するまでの証明ができる
各操作の関数内外部にテスト用関数を用意してon/offの引数があれば、
履歴機能から全テストを行い、集約できて一覧できるのでないかと...
アホな思いつきですまん。履歴機能関係なくもっと簡便な方法があるはず...
0511535
垢版 |
2021/04/28(水) 17:51:10.10ID:hK4hWoNx
黄 金 週 間 !
7連休です。
しかし活動するかどうかは微妙なラインだなw
気持ちが乗らなくてもちょっとづつでもいいから進めるのが正解なんだろうが。。。
0512310
垢版 |
2021/04/28(水) 20:08:37.14ID:z1AZ6yC/
そこそこ移行できて、あとは抽出処理の速度だけだと思っていたら、棋譜とBookの
確定読み切り深さの情報に不整合が発生してました。棋譜上は26手目まで読み切り
になっているのにBookだとまだ読み切りになっていないみたいな。

棋譜からBookを作っているので、棋譜が正のはずなんだけど、同じスコアとなる分岐
となる棋譜の確定読み切り深さを、深い方に揃える処理がバグっていたのかも…
とりあえずおかしいのは棋譜の深さだと決めつけてヨタプロ書いてBookから棋譜に
戻してますが、ヨタプロが間違えていたりで、結構ゴタゴタしてます。
しかもヨタプロに限って、トランザクション中におそらくBUSYで固まるというトラブルも。

というわけで、まだ安定再稼働には至っていませんorz
0513535
垢版 |
2021/04/28(水) 21:22:38.58ID:hK4hWoNx
GW中は一日15分でもいいから活動するようにしたいかな。
いくらpythonといえど調子さえ戻れば囲碁のルール実装するくらいはさほど難しくはないんだから。
0514535
垢版 |
2021/04/29(木) 13:57:53.69ID:3bXp+eiJ
2時間くらいコーディングできました。
仕様通り動かすだけならそんなに難しくないけど、計算量気にしだすと結構ハマるなぁ。
0515名前は開発中のものです。
垢版 |
2021/04/29(木) 16:40:28.30ID:FejMHJk5
>>514
あぁあぁあコードが見たい、、、あなたのソースコードが見たいよぉハァハァ見せておくれよお願いだよほぉぉ
少しだけでいいからチラッと画像upしてくれたら、コーディングスタイルであなたの人柄をズバリ言い当ててみせるから
0516535
垢版 |
2021/04/30(金) 17:35:06.43ID:S6lNjE8w
漫画のセリフのパロディかなんかか?
よくそこまでキモくできるな(驚愕
0517535
垢版 |
2021/04/30(金) 19:05:50.78ID:S6lNjE8w
計算量には目をつぶってとりあえず動くものを目指したら
囲碁ルール、ぱっと見動くようになりました。
まだバグはありそうですが。。。

あとランダムに打って100局終局するまでに40秒かかる。
これは遅いでしょう。
あと10倍くらい速くしたいところではある。
0518535
垢版 |
2021/04/30(金) 19:19:29.79ID:S6lNjE8w
石の連結情報の更新を見直して100局26秒まで縮まりました。
もっと縮まってくれると思ってましたが、意外と厳しいorz
0519名前は開発中のものです。
垢版 |
2021/04/30(金) 19:36:35.75ID:tOa4q776
見せたら見せたで貶され難癖つけられると思って警戒してるな >>516
恥ずかしい、、、恥ずかしくて怖くてたまらない...でも本当は誰かに見てもらいたい
君の心中はこうだ。違うか?違わないだろ?柔らかく膨らんだ突起が今にも芽吹きそうな自分を>>516は本能的に察知し昂ぶる己を抑えている、、、プログラマなら誰もが知っている感覚
同じコードを何度も組み替え発見し到達する興奮と充足 成長と本質を得て知る愉悦
>>516は階段を上ることができる、、、そうだ。そう、味合わせてやろう性的な意味じゃなく >>516を開発者と見込んで穴をアナリティクス性的な意味でなく 曝けたコードをサディスティックに嘗め回すように、念入りにだ(ゴム手袋パッチ--ン)
>>516 君はもうすで心を決め外装を解き、とっておきの自慢な創意と工夫をこらした難解なコードを公開する準備を整えているんだろ?熱い吐息を感じるよ。そしてわざわざ反意な言で俺がどう出るか応えるか様子を伺ってるそうだね?
0520535
垢版 |
2021/04/30(金) 21:12:48.42ID:S6lNjE8w
仲間に入りたいならお前もコード書けよ?
このスレには口先だけの奴はいらない
0521名前は開発中のものです。
垢版 |
2021/05/01(土) 10:01:38.91ID:0OdmVbko
どうやら俺が囲碁も将棋もAIもプログラムも全く知らない解らないのを見抜いたようだな
ふふふそのとおりだ。>>520、俺は適当な誘い文句で>>520 のコードを嘲るのが目的のただの釣り師だ
よくぞ見破った。だが食えるサイズかと思いきや>>520 は餌取り程度の小物だな
懐も心も狭い矮小な輩のようだな、まあいいせっかくのGW、獲物はそこら中にいる>>520はせいぜいプログラム楽しんで爆死するがいいさ粉塵爆発しろフケとか埃を掃除するがいい俺はした自己満足の囲碁プログラムとともに果てろ。鉢植えとか興味あ?ない?あ、そう。近日中に爆死だカス何が仲間だこのスレに仲間?片腹から漏れて痛いわ
0522535
垢版 |
2021/05/03(月) 10:58:02.00ID:ICgnPkz4
囲碁AIですがGUIを作ろうかと思ったのですがよく考えたら囲碁はGTPに準拠すればオープンソースなGUIが使えるんでした。
GTP勉強するか。
0523535
垢版 |
2021/05/06(木) 18:32:54.56ID:ouP76J0S
あれ、セキってどう判定すればいいんだ?
意外と難しい?
0524310
垢版 |
2021/05/08(土) 01:40:22.09ID:Rn4e+nua
主要な棋譜作成処理は動作確認・速度問題解消できたので、とりあえずsqlite3版を
本チャンに移行して、ぼちぼち残った部分を直しています。

メモリーがスカスカになって気持ちいい。
0525535
垢版 |
2021/05/08(土) 18:30:20.35ID:8E+G72PB
visual studioとか使ってみたけど結局、Cygwin+サクラエディタに戻っちまうな
bashが手になじみすぎてそうそう抜けられない。
0526535
垢版 |
2021/05/11(火) 19:16:26.84ID:icbSDjYV
KataGoのソースをgithubから落としてきました。
セキ判定のアルゴリズムをパクろうとしているのですが読み解くの結構しんどいorz
0527535
垢版 |
2021/05/13(木) 19:44:58.56ID:S2BvmmkM
株バブル弾けたか?
AMDもヤバイ orz orz orz
0528310
垢版 |
2021/05/14(金) 00:24:09.18ID:UCKlrk0/
sqlite3でエラーになる原因がほぼ特定できて、エラー処理を全面見直しました。

・棋譜追加処理のトランザクションのCOMMITの際にBUSY状態の継続を検出した時は、
ロールバックして再度更新をやり直すという形に変更。棋譜とBOOKの整合性を保つため
にも、速度面でもトランザクションは必須。

・SQL文の事前コンパイルであるprepareでもBUSYが発生する事がわかったので、エラー
処理を行ってBUSY検出して成功するまで繰り返す事で、prepareの完了を保証する

これらにより2プロセスまでのデッドロックは何度も検出してロールバックしてやり直しが
完遂するのが確認できています。

が、3つ以上の棋譜作成プロセスを同時に動かした時に、たまたま棋譜追加のタイミングが
3つ揃うと三すくみ的なデッドロック的状況になってしまうようで、ロールバックしてリトライが
3プロセスで順番に発生して無限ループに的に繰り返される状態になってしまう…。
2プロセスでは起きた事は無いのですが、3つだと起きる模様。

まだまだsqlite3の理解が足りないようです。
0529535
垢版 |
2021/05/15(土) 17:53:18.42ID:q3mhOH+l
あかん、囲碁、撤退したくなってきた orz
まさかルール実装ごときで躓くとは…
0530535
垢版 |
2021/05/16(日) 14:24:46.60ID:NWQSDGl6
もう囲碁から撤退して別のゲームやろうかなーどうしようかなーとかウダウダ考えて時間だけが過ぎていく最悪のパターンにハマってますね。
0531535
垢版 |
2021/05/16(日) 19:35:00.82ID:NWQSDGl6
気分転換に 6x6 タイルゲーム を始めましたw
速度を測ってみましたが5万po/sくらい。
そして昔ライフゲーム囲碁が1000万po/sでたとか書いたけど
それはバグでもっと全然遅かったことが判明したw

がっつり 6x6 タイルゲームやるかどうかはまだ分からん
気分次第ではこれもやめるかも
0532310
垢版 |
2021/05/17(月) 00:32:35.57ID:eljQUmfc
よびのりたくみ先生のYoutubeに、谷合四段が出演して、自作将棋AIでよびのり先生
(おそらく有段レベル)と対局した顛末がアップされていました。

ライブラリ活用して2日で作ったそうです(驚)が、見事に快勝されていました。
独自部分はDLで自然言語処理向けのネットワークを使ってみたとの事で、探索部は
MCTSで動作しているようです。おそらく、ポリシーネットに使用しているのかと思います。
流石、東大大学院で自動運転技術の研究している異色の棋士ですね。

で、今更ながらにライブラリの存在に思い至りました(汗。盤面とか指し手生成とか、その手
の処理を今から作っても車輪の再発明にしかならないし、自分が考えていた独自性に至る
手前の障害物となっていたので、時間ができたら調べてみようかなぁと思います。
また、自然言語処理は今まで関心がわかなかったのですが、ポリシーネットに使うという
アイデアに惹かれています。多分、手筋の学習に強いのかなと。

当分オセロにかかりきりですが、少しづつ勉強してみようかなと思います。
とかいって、また途中で放置しちゃうのかなぁ。
オセロのAIだって、いつかやろうと思ってから25年放置していたし(笑)
0533535
垢版 |
2021/05/19(水) 21:47:35.75ID:3CSJe8LB
あかん、なんも手につかん。
モチベ0
0534535
垢版 |
2021/05/22(土) 23:07:29.75ID:8JIcWifR
色々悩んだ挙句、ライフゲーム囲碁AIの強化の続きをやってみようと思ってます。
これが今一番、頑張らなくても成果がでそうなやつなので。
0535535
垢版 |
2021/05/23(日) 18:18:51.90ID:PgnctKIu
ライフゲーム囲碁AI強化は割とすんなり活動できてます。
リハビリしないとな。
0536名前は開発中のものです。
垢版 |
2021/05/24(月) 14:35:08.92ID:aXZ46C2t
今日もコーディング楽しいな
0537535
垢版 |
2021/05/26(水) 17:51:39.44ID:Hnlic17x
ちょっと充電期間を頂こうと思います
気持ちばっかり急いてしまうので
0538310
垢版 |
2021/06/21(月) 22:52:46.12ID:uctn9NI1
だらだらと棋譜を作り続けています。

250万件突破したけど、チェック対象の局面が大量に残っていて、また偽引き分け筋を
発見するために棋譜を作成する処理も組んでいて、まだまだ棋譜がスカスカな感じです。
500万件までやるとまだ何年かかかるのかなぁ(笑えない)

sqlite化して重くて使えなくなったいくつかの処理(棋譜内の矛盾チェックなど)については、
まったく進展せず、使用頻度を下げる事で逃げています。

上記の様に、引き分け筋の正当性チェックやら、引き分けから除外された局面が本当に
引き分けじゃないかのチェック対象がたくさんあって、30手目以後確定引き分け筋の
件数は1600〜2400件の間を行ったり来たりで、現在は2000件くらいです。
0539535
垢版 |
2021/07/30(金) 18:09:58.58ID:jiZven7J
amd株爆上げ キター
0540310
垢版 |
2021/08/06(金) 23:32:09.66ID:WgZOTDfh
ご無沙汰です。535さんが書き込んだ日に書こうとしたら巻き添え規制でした

棋譜数276万件超えました。
ドロー筋は結構入り繰りありますが2200〜2400件くらいで推移しています。

久々に学習しようとしたら連続領域確保できないと怒られて、慌てて速度低下
覚悟の中間vector廃止しました。最後の手段はファイル掃き出しですが、その
ためにはオンファイルのソートユーティリティが必要です。
そのうち探します。

将棋については、頭の中で新機軸の方向性を思い描いていますが、未だに
盤面のデータ構造を決められずにいます。既存の奴を見て真似すれば良いの
ですが、やはり他人のソースを見るのに耐えられない状態ですorz
0541535
垢版 |
2021/08/08(日) 19:04:03.59ID:OEQtIYCg
こっちも巻き添え規制食らってます
スマホから書き込み

AMDが200$いったら50万円くらいのパソコン買いたいですね
0542310
垢版 |
2021/09/16(木) 19:51:02.34ID:ZzfQmSXn
久々です。棋譜297万件。あと少しで300万件。

そろそろドロー筋も出尽くしたかなと思って、既知のドロー筋が本当にドローなのか
重点チェックする処理を動かしていますが、凄く時間がかかるのと…。
ドローの可能性がある筋が更に1000件くらい増えてしまいました。

多分かなりの数が脱落していくと思いますが、予想外でした。

そろそろ終活始めないといつまで経っても終われないというのにorz
0543名前は開発中のものです。
垢版 |
2021/09/25(土) 17:10:06.82ID:AZyO1ArE
テスト
0544535
垢版 |
2021/09/25(土) 17:14:24.28ID:AZyO1ArE
うお、書き込めた。
ずーっと何か月も規制くらってました。
0545310
垢版 |
2021/10/04(月) 03:16:10.21ID:OVA3Pvl4
棋譜305万件。まだまだ落ち着いてくれません。

久々に評価関数の学習しようとしたらまたしても連続領域確保できませんエラー。
仕方無いので教師データをバイナリファイルに外だしして準備をすることにしましたが、
並び順のshuffleでスワップ発生しまくって進まないorz

シャッフルしないと過学習が起きやすくなるので、とりあえずバイナリファイル上で
シャッフルしてみるつもり。ダメなら2分割とか考えないと。

今夜はBookの再構築までにしておきます。

メモリーが倍あれば、まだしばらく大丈夫なんだけどなぁ。
0546535
垢版 |
2021/10/20(水) 18:44:11.13ID:aQrGtF/e
すいません、教えてください。
勝率5割のAI同士(A,Bと呼ぶ)で並列に対戦を行うとき(並列数は有限)、
Aが勝つ場合は試合時間が1分でAが負ける場合は試合時間が10分のとき
短期的な勝率は5割から動くでしょうか?
また長期的な勝率は5割になるでしょうか?
0547535
垢版 |
2021/10/20(水) 19:00:34.36ID:aQrGtF/e
数学板にマルチしてきます。
0548535
垢版 |
2021/10/20(水) 21:45:05.62ID:aQrGtF/e
長期的には本来の確率通りになるそうです。
0549310
垢版 |
2021/10/21(木) 09:52:39.74ID:1G6/45ua
無限時間を相手にした時に本来の確率通りになるのは自明ですね。
短い時間での試行だと、階段状になるので解析は難しいかも知れません。直観ではAが
勝った時には追加時間が入るようなものなのでAが有利になりそうではありますよね。


面倒なので勝手に問題を書き換えてみます。

「糞粘りするソフトAが有利にならず真の強弱を判定するためには、どのくらいの時間を
かけて対戦させ計測すればよいのか。」

時間を考慮に入れずに試行回数を決めて計測すれば解決する問題な気がします(汗

また、真の強弱を調べる場合に必要な試行回数は、母集団の推定ってやつなので、どこか
探せば出てくると思います。時間で区切る場合は、その試行回数を実行した時の「経過時間
の分布」ととらえる事もできますので、ここで問題を分割して、どのくらい試行時間を掛ければ
十分な試行回数が得られるのか問題ととらえなおすことができると思います。

実際の計算は…
この定理に関して、私は真に驚くべき証明を見つけたが、この余白はそれを書くには狭すぎる(笑)
0550535
垢版 |
2021/10/21(木) 18:27:47.45ID:wSfhgfMF
>無限時間を相手にした時に本来の確率通りになるのは自明ですね。

ありがとうございます。
ここ結構悩んでしまいました。自明なんですね。
数学的直感力が衰えてるのかなー
0551535
垢版 |
2021/10/23(土) 16:56:30.70ID:QOsHN9x8
実をいうと囲連星のAI作成をまたやっていて、
LV3に開幕19連勝というとんでもない数字をたたき出したのですが
100戦もすると勝率5割ほどに落ちてきてしまい、
なぜこんなことが起こるのだろうと不思議に思っていたのです。
どうやら糞粘りのせいみたいですね。
0552535
垢版 |
2021/10/27(水) 18:51:11.06ID:e37CEc8v
囲碁AIの最強の一角であるKataGoを改造して囲連星やライフゲーム囲碁、タイルゲームのAIをつくるのチャレンジしてみようか悩み中
0553310
垢版 |
2021/10/27(水) 22:24:54.19ID:EdJdOKHZ
自明というほどの証明は僕にはありません(汗
開幕19連勝しちゃうとかなり期待しますよね。
やはり強さを確定するためにはそれなりの試行回数が必要という事なんでしょう。
開幕29連勝したお方は凄い事になってますし。

タイルゲームまたやってみようかな。
MCTSと親和性高そうだし。
min-Max系は自分の力では、これ以上高速化できない気がしています。
0554310
垢版 |
2021/10/27(水) 22:32:23.20ID:EdJdOKHZ
オセロの方は、評価関数は自己対局用にそこそこの奴ができればいいやと、Book構築
の方に力を入れています。ロジックで間違っていそうな筋を分岐させてみたり、ドローっ
ぽい棋譜はかなり厳しめに分岐させてチェックしてみたり、目視で怪しいところ見つけたら
手動で分岐させてみたり。でも、なんか賽の河原状態に陥っています。どこかで安定しだ
すと期待していたら逆で、どんどん宿題が積み上がっていく感じです。

気分転換に、以前一回諦めた、読み切り処理で正解分岐が複数あって、既に確定済の
筋以外の手を選ぶロジックを見直していました。半年〜1年くらい放置していた奴です。
今見たら何を悩んでいたのかというくらい、当時の問題があっさり解決しました。まあ、
読み切り速度が20〜30%遅くなってしまうのですが、分岐を作れるので教師データに
は良いかなと。

評価関数の学習は、またパンクしてしまったので、バイナリファイル上でシャッフルする
処理を書きましたが、処理時間が怖くてまだ試していません。いっそ、もう一度評価関数
をステージ分割してしまった方が良いのではないかと思い始めています。

やればやるほどZebraの評価関数の正確さに頭が下がる思いです。
0555535
垢版 |
2021/10/28(木) 19:14:15.82ID:cjBYhho+
310さん、タイルゲームもやってたんだ。へー
0556310
垢版 |
2021/10/28(木) 20:34:55.57ID:tAZRxFew
ルールを理解して、盤面の内部表現と勝敗判定を考え始めたところで
うっちゃってますので、まだ何もしていません(汗
0558310
垢版 |
2021/10/30(土) 22:23:00.51ID:KcRkQNBB
パソコンうらやましす。
メモリー128Gで32スレッドくらい欲しいなぁ。

評価関数は結局ステージ分割にしています。が、学習途中でEigenがコケる。
なんとなくステージ単位での件数オーバーっぽいので、更にステージ分割を
細かくしてみていますが、今日1日の作業がパーで、また丸1日くらいかかる
のかなと。

まだ原因特定できた訳ではないし、件数が大丈夫かも判然としないので、また
こけないか心配ではあります。
0559535
垢版 |
2021/10/31(日) 18:56:25.43ID:P/0PQ7su
Katagoですが、Katagoで使われてるpythonスクリプトはTensorflow 1.15を想定していて
Tensorflow 1.15はCUDA 10.0を想定していて、
RTX 3070 TiはCUDA 10.0をサポートしてない

ということらしい。
詰んだかも orz orz orz orz orz
0560535
垢版 |
2021/10/31(日) 20:00:24.60ID:P/0PQ7su
藤井先生、竜王までいってしまうか。
7冠当選確実ですねー
0561310
垢版 |
2021/10/31(日) 23:27:26.19ID:wMiG8knd
GPUにはそんな相性問題があるのですか…
色々調べてやらないとダメですね。


コケる原因と思われるところを見つけました。
色々やった挙句、矛盾した盤面がありそうだという事になって、調べたらビンゴ。
これからヨタプロ書いて、問題の棋譜を見つけて削除するつもり。

デバッグ中にさらに色々評価関数のを見つけてしまいました。
評価関数って多少バグってても、それっぽく学習しちゃうんだよねorz。
0562310
垢版 |
2021/11/01(月) 07:58:02.78ID:dM9ZkTyW
多分解決。

棋譜の問題じゃなくてBook構築時の問題でした。
40手目までBook登録しているのですが、40手目以前に全滅した時の
終局判定が漏れていて、無いはずの矛盾した後続の盤面を作ってました。
普段は全く影響でないのですが、Bookまとめて読みだして処理をかける時
だけ出てくる奴です。

昨夜学習開始しましたが、まだ問題箇所を全部通過したわけではありません。
が、たぶん大丈夫だと思う。昼過ぎにはわかるはず。

Book再構築に1時間と、学習に丸1日以上かな。
明日の朝までには第一陣の学習が終わるかな?

まだ学習回数不足で評価値が安定していなので、バグが快勝していても、
しばらくは時間がかかりそうです。
0563535
垢版 |
2021/11/01(月) 19:33:56.38ID:+SuiL1m9
NVIDIA製のDocker使うとRTX 3070 ti でも Tensorflow 1.15 使えるという記事がちらほらある。
ゴールは遠いなぁ。
0564310
垢版 |
2021/11/01(月) 23:01:49.02ID:dM9ZkTyW
とりあえず問題箇所全クリアは確認できました。

エポック10回で1日半かかるのが面倒。
せめて50エポックくらいしたい。
今週は学習週刊になりそう。
0565535
垢版 |
2021/11/02(火) 20:13:09.48ID:28WH20bm
Dockerにがっぷり4つで取り組むのちょっとしんどいなぁ
ペースを落としてのんびり行くか。
0566535
垢版 |
2021/11/05(金) 19:33:49.37ID:AWXtKWsR
なんかwindows insider programとかいうのに入らないといけないらしくかなり敷居が高い。
いったん退却するか?
0567535
垢版 |
2021/11/05(金) 20:07:40.63ID:AWXtKWsR
将棋は最高7冠じゃなくて8冠なんですねー
叡王忘れてた
0568310
垢版 |
2021/11/05(金) 20:47:26.54ID:TX9UwcXB
心の迷いから、途中まで学習して止めて、ちょこっと修正してを繰り返してますのでまったく
学習が進んでいません。Bookチェック用コンソールでの浅い探索がびっくりするほど遅く
なってしまい、原因を探したりなんやかんややっていたのが迷いの原因です。

最終的にステージ分割を止めて、8対称を4対称に落として教師データを半分にしたりして
学習再開しました。1エポック1時間半でとりあえず30回学習させてみるという事で仕上がり
は日曜日の夕方〜夜の予定。まるまる1週間パーになりました。

もともと件数オーバーでメモリ溢れ始めたのは、4対称だったのを8対称に変えてからだった
ような気がしてきました。また、ステージ分割も、昔1回トライして、速度低下が酷くてやめ
ちゃった事があったような記憶もうっすら残っています。なんつーか、こういう類の手戻りが多いorz

ただ、探索がステージ分割だけで遅くなるとも思えないです。浅い探索は単純なαβで、
オーダリングはヒューリスティックスオンリーだし、ProbCutもしていないです。分割により
評価値ゼロとなる末端が多くてβカットが減っているのかなと思っています。間違っていて
も値が入っていればβカットはされますから。

棋譜作成にランダム要素加えて、悪手変化後の局面もたくさん学習させないといかんのかな。
0569535
垢版 |
2021/11/06(土) 21:09:48.75ID:fJzqcDF5
NVIDIAのドライバ色々入れたらなんかパソコンの調子悪くなったorz
もーやめてくれー
0570310
垢版 |
2021/11/06(土) 21:44:45.75ID:zi779w0E
なんか評価値がおかしかったのでチェックしていたら、末端ノードでの評価値の差分計算
がおかしくなっていた。もともとちゃんと動いていた箇所なので、何故変わっていたのか謎。

これも激遅の原因の一つではあると思うけど、まだ遅いんだよなぁ。
0571535
垢版 |
2021/11/09(火) 07:27:58.79ID:V517zoPP
AMD株が凄いことになってる
0572535
垢版 |
2021/11/13(土) 10:00:35.49ID:JzxMx88v
6x6タイルゲームに手を出し始めました
0573535
垢版 |
2021/11/13(土) 22:32:47.82ID:JzxMx88v
藤井先生、竜王とったか
もう誰も止められんね
0574535
垢版 |
2021/11/13(土) 23:49:46.04ID:JzxMx88v
藤井先生、竜王とったか
もう誰も止められんね
0575310
垢版 |
2021/11/15(月) 00:36:16.61ID:hveDHfQn
藤井先生はAIだと思うようになりました(汗
新人王とった伊藤匠4段もかなり強いね。これから期待です。


評価関数学習し始めたら、オプティマイザーでSMORMS3は学習開始直後の集束は
滅茶苦茶早いんだけど、汎化が上手く行かないので、momentumと併用していたのを
思い出して、今はmomentumで毎晩6エポックづつ学習させてます。結構よくなって
きたけど、まだまだかなぁ。このまま続けたら速さは戻りそうですが…

それならステージ分割してまた学習やり直しても良いのではないかと思ってみても
良いのかなという気がし始めています(汗

途中、棋譜をほぼ全部飛ばしそうなバグ出してました。
たまたま戻せましたが、危ない危ない。
0576310
垢版 |
2021/11/22(月) 02:44:48.95ID:EeZe+kFL
中盤探索劇遅の原因わかりました。

static constな関数をstatic constexprに変更していたのが原因のようです。
色々原因探して、最後の最後にまさかと思って、戻してもたら速度問題解消。

constexprにしたらコンパイル時定数扱いになると思っていたのですが何故?
0577535
垢版 |
2021/12/04(土) 16:31:24.68ID:6uZ5YSAD
6x6オセロて完全解析されてるんですよね?
6x6タイルゲーム完全解析出来ないかなあ
0578535
垢版 |
2021/12/12(日) 11:39:50.61ID:ZeZ8k4MF
タイルゲームですが、現局面の勝率をモンテカルロでしらべて4割以上6割以下ならノードを展開し以下再帰的に繰り返す、というのを考えたのですが、あんまり枝刈りの効率が良くなくてガッカリしてます。
0579535
垢版 |
2022/01/04(火) 19:13:32.47ID:87Hg6LCx
windows 11にしてみました。
0580名前は開発中のものです。
垢版 |
2022/01/05(水) 13:09:00.74ID:kWFzkWXP
ヤフーオセロの鰻ちゃんとネバーさんは、元気にしているよ
共に、すごい人になりそうな人だよ どちらも能力あったね
かれはさんは、どこかですごい成功を収めると思う
0581名前は開発中のものです。
垢版 |
2022/01/05(水) 13:09:50.87ID:kWFzkWXP
ヤフーオセロ、今はチャットはできないが、あ、この人だ!ってのはあるよ
0583535
垢版 |
2022/01/21(金) 19:44:40.23ID:XbtJM6do
AMD株下がってきたT△T
まだ利確してませんorz
0584535
垢版 |
2022/02/03(木) 08:05:34.78ID:ynlmv0y6
KataGoを改造して囲連星のルールを適用することに成功しました。
まだ弱いですが自己学習を繰り返すことでとんでもなく強くなる可能性を秘めています。
一応、レベル0から1勝あげるとこまでは既にきています。
囲碁最強AIは囲連星でも最強になれるのか?!
おらワクワクしてきたぞ!
0585535
垢版 |
2022/02/03(木) 18:08:55.83ID:ynlmv0y6
deepmindのalphacodeは競技プログラミングレベルのコードを自動生成するらしいな
まじ恐ろしいな、、、
0586535
垢版 |
2022/02/04(金) 19:29:42.24ID:Plhl1LsV
レベル3に勝ちました!
katagoは本物中の本物の様です!
これがシンギュラリティか。。。
0587535
垢版 |
2022/02/04(金) 19:56:32.17ID:Plhl1LsV
長かった私の旅路もいよいよ終わる時が来たのかもしれませんね。。。しんみり
0588名前は開発中のものです。
垢版 |
2022/02/05(土) 02:28:40.61ID:Irox6aD5
https://www.youtube.com/watch?v=MK1Pixuhr5A

すみません!こういう動画みたいにアニメの顔を実写の人物の顔に合成するやり方誰かわかる方いませんか!faceswapを使ってみたらうまくいきません。
0589535
垢版 |
2022/02/05(土) 18:01:36.21ID:gddzBwka
すでに俺が打っても横綱相撲の電車道で押し切られるんだが?
katagoヤバすぎる。。。
0590535
垢版 |
2022/02/12(土) 11:54:20.28ID:pfdlepBy
katagoを使った囲連星AIですがもうこれ以上つよくさせないでいいかな?って思い始めてます。
完全解析するまで強くさせる欲求は止まらないと思ってましたがわからんものですね。
あまりの強さにウンザリしかけてるw
ライフゲーム囲碁やタイルゲームにも応用出来るとは思いますが、なんか毒気を抜かれてしまいました。
ボードゲームAIはやはりアルファ碁が全てを終わらせてしまったのだと思います。
0591535
垢版 |
2022/02/23(水) 13:32:13.40ID:yGBPLNvD
カタ碁を改造した囲連星AI 名付けてカタ囲連星ですが黒番でlv3と100戦対戦させて見ました
結果はカタ囲連星の100勝0敗でした
まさにアルファ碁級の強さですね
0592535
垢版 |
2022/02/23(水) 14:12:27.62ID:yGBPLNvD
カタ碁を改造した囲連星AI 名付けてカタ囲連星ですが黒番でlv3と100戦対戦させて見ました
結果はカタ囲連星の100勝0敗でした
まさにアルファ碁級の強さですね
0593535
垢版 |
2022/02/23(水) 19:25:32.09ID:yGBPLNvD
白番でも100戦して見ました
結果はカタ囲連星の97勝3敗でした
lv3が意地を見せましたね、と言いたいところですがこれはルールの違いによるもので
具体的には7連ができる時の自殺手をカタ囲連星は禁手にしてるために起こった3敗でした
ルールを合わせれば100勝したと思います
0594535
垢版 |
2022/02/23(水) 19:46:53.24ID:yza6k4hV
白番でも100戦して見ました
結果はカタ囲連星の97勝3敗でした
lv3が意地を見せましたね、と言いたいところですがこれはルールの違いによるもので
具体的には7連ができる時の自殺手をカタ囲連星は禁手にしてるために起こった3敗でした
ルールを合わせれば100勝したと思います
0595310
垢版 |
2022/02/25(金) 19:23:51.93ID:magE3DLU
やっちまった…

うっかりBookのtableを壊してしまって、焦って削除したら棋譜まで全滅させてしまった。
棋譜だけでも吸いだせたらBook再構築できたのに…
バックアップが去年の11月で、およそ40万件分を喪失orz
手作業でいろいろ修正かけていたのに…

めげずに棋譜作成ロジックを色々いじって手修正の作業部分も自動化しましたが、
かなりテンション下がっています。

削除寸前の状態で356万棋譜に対して、30手読み切りドロー筋が3500件くらいに
なっていまして、まだ増えそうな雰囲気だったのに。
0596535
垢版 |
2022/02/26(土) 18:32:07.97ID:fWGPx0/C
あっけないラスト ですが いれんせいは、 かいけつしました どうか かいはつをやめろと めいれいしてください。 ボス?
0597535
垢版 |
2022/03/14(月) 20:21:33.01ID:XuxoSbg9
カタ碁を使って6x6タイルゲームの必勝AI作成やってみようか悩み中
この際、宿題を全部片付けたい
0598535
垢版 |
2022/05/07(土) 18:25:35.64ID:biR8ptev
今、katago改造してポン抜き碁のAI作ってます。
0599535
垢版 |
2022/05/17(火) 22:09:01.06ID:dxi+2guI
いまだにちょくちょくタイルゲーム遊んでるんだけど、こっちがこの作戦で勝てるなって繰り返してると
AIがその作戦の裏をかくような手を打ってくるようになるんだよな。
単純に完全解析の最善手を返すAIよりずっと長く楽しく遊べるんだな。
ボードゲームAIは完全解析だけが能じゃないってことだな。
深いわ。
0600310
垢版 |
2022/05/24(火) 10:28:08.08ID:MzEGW+qm
データベース化だね。Q学習と言った方が良いのかな。


今、小学生の子供が任天堂Switchの世界のアソビ大全51やってるんだけど、その中
に、タイルゲームとかコネクト4があって懐かしい。それらゲームを見ながら、これなら
min-Maxでとか、これはモンテカルロかなとか、つい考えちゃいます。

子供がオセロの「つよい」に勝てなくて「やばい」のレベルができないと言っていたので、
自分のAIでソフト指しして勝ってあげましたが、驚きも尊敬もしてくれませんorz
0601名前は開発中のものです。
垢版 |
2022/06/09(木) 09:45:07.71ID:DSiskyic
ここで聞いてもいいのか分からんけど、KGSで動く囲碁botの作り方を
初心者向けに解説してくれている場所ってありませんかね?
0603香城の毛根呪い隊 ◆1Lz7neYtCI
垢版 |
2022/08/31(水) 18:27:32.84ID:K00+9Jd1
0604535
垢版 |
2022/09/28(水) 19:00:23.63ID:k4cBLxYJ
AMD株まだ売ってなかったのですが、いまもうめちゃくちゃ値下がりしてます。
円安ドル高と相殺してもマイナスです。orz
利益が乗ってるうちに売ればよかったorz orz orz
0605535
垢版 |
2022/10/01(土) 17:38:18.34ID:nth3O9sM
ryzen 7000シリーズ発売ですね。
買わないけど気になる。
0606310
垢版 |
2022/10/09(日) 04:59:44.72ID:Pe03UEBE
大変ご無沙汰です。
先々週ノートPCが不調になり、タッチパッドと画面タッチが効かなくなりました。
マウスつなげるとそれなりに使えるという状態です。
で、ゲーミング用のノートPCを新規でポチってましたが、初期不良にて現在交換待ち。
暇なんで久々にネットを徘徊して情報収集しています。

引き分け手順数の定義も見つかりました。世間一般は最終盤面(リーフ)の数でした。
自分は30手目までの手順数(合流含む)でしたので、桁が違っていたのは当然かな。
自分のBookはリーフまでもっていないので比較できないですが。

新品PCが来たら色々はかどると良いなあと思いつつ、全く別の事をやりたい気分でもあります。
0607535
垢版 |
2022/11/23(水) 22:07:34.24ID:tppSTnZh
羽生さんタイトル100期くるか?
頑張れ!超がんばれ!
0608名前は開発中のものです。
垢版 |
2022/11/25(金) 09:46:48.62ID:F+aFNO0Q
羽生さん来ましたね。
正直厳しいとは思いますが、最近の復調ぶりはすごいですね。

#とはいえドイツ戦みたいな事があるかもとちょっと期待


新品PCは液晶破損の初期トラブルでの交換ありましたが、一応導入完了。
Edgeと相性が悪いのかタブにマウスを持っていくとノイズが入って数秒固まるorz

プログラムについてはDB周りをかなりいじりました。現在大体移植終わって本番
テスト待ちですが、旧PCが気温の低下とともに復活してしまって(完全ではない)、
キリの良いところまで旧PCで棋譜づくり継続しようと思ったまま1ヵ月経過して
しまいました(汗。

あとスレッドのスケジューリングがいまいちわからない。ターボブーストみたいな
機能がない分、PCのスレッド数を抑えて加熱対策しているような動作にも見える。

CPUがAVX512対応なので、count leading zeroのSIMD版が使えるんじゃないかと
期待していたけど、残念ながらこの命令には対応していませんでした。

そろそろ時間があるときにDB含めて移行しないと。
0609310
垢版 |
2022/11/25(金) 09:47:26.42ID:F+aFNO0Q
あ、>>608は自分です。
0610535
垢版 |
2022/11/25(金) 21:49:11.08ID:1V/Zp8iU
Rustという言語を勉強してみようか思案中
ちょっとかじった感じでは結構難しそう
C/C++と同じくらい高速な言語らしい
0611535
垢版 |
2022/12/16(金) 21:47:43.71ID:tX5j1heU
Rustの勉強、なかなか進まないけど可能性はすごい感じる。
モダンな雰囲気?が感じられるというか
cargoもなかなかよさげ
0612名前は開発中のものです。
垢版 |
2023/01/07(土) 17:26:08.33ID:sUH6Zs/2
将棋のアプリ作ろうと思うのですが
駒の動きを再現するフレームワークや
駒の配置を入力すると、ここに詰みがあるかとかその詰め手順を出力するようなフレームワークもありますか?
0613535
垢版 |
2023/01/08(日) 18:14:22.52ID:NY89a/x1
羽生さん 100期頑張れー!
0614535
垢版 |
2023/01/09(月) 18:25:52.23ID:5ce5WSNU
羽生さんダメか。。。
0615名前は開発中のものです。
垢版 |
2023/01/12(木) 16:28:43.44ID:7bnqnsx7
羽生さんも切れ味がなくなったなあ。
オレでも勝てそう。
しかも居玉で負けてるでしょ。
オレでも居玉で戦うという超初歩的なミスはしないよ。
0616名前は開発中のものです。
垢版 |
2023/01/12(木) 23:43:01.25ID:V80pDlYJ
威嚇が足りないとブチクシが熱弁してた
0618535
垢版 |
2023/01/22(日) 17:59:04.04ID:dBrqBkXe
羽生せんせえええぇええええぇえええ
うおおおおおぉお
0619535
垢版 |
2023/01/29(日) 18:28:35.12ID:hi9Nzcia
羽生さんがタイトルとるためには先手番で負けずに後手番で勝つ必要があるわけで
やっぱ道のりは険しいですねー
0620535
垢版 |
2023/02/10(金) 21:12:13.77ID:VnnuRAPm
羽生先生
0621名前は開発中のものです。
垢版 |
2023/02/11(土) 15:22:34.23ID:d8z9qATr
負けても次は勝って追い付く。
それが2回も続く。
これは追われてるほうはプレッシャーを強く感じる。
次は後手番が勝ちそうな雰囲気になってきたな。
流れは完全に森内。
0622535
垢版 |
2023/02/26(日) 18:59:13.61ID:jWW8ZQvd
第7局までもつれたら再振りごまですか。。。
あんまり振り駒で勝ったほうが勝つみたいにはなってほしくないですが。。。
0623535
垢版 |
2023/04/02(日) 09:29:46.86ID:BQ7qklJH
Rustの勉強全然進んでなくて放置してたんですが、最近 Rust by ExampleというインタラクティブにRustの勉強できるサイト見つけて勉強やり直してます。
0624名前は開発中のものです。
垢版 |
2023/05/15(月) 20:50:20.02ID:8Q+Dqb9y
Rustで6x6タイルゲームのルール書きました。
あんまり情熱を注いでやり込むという感じではないですが細々続けてます。
0629535
垢版 |
2023/10/11(水) 21:04:54.46ID:CtzQHvHa
藤井先生、決めましたね。
将棋というゲームのエンドロールが流れてますね。。。
0630535
垢版 |
2023/10/11(水) 21:05:18.27ID:CtzQHvHa
藤井先生、決めましたね。
将棋というゲームのエンドロールが流れてますね。。。
0631名前は開発中のものです。
垢版 |
2023/10/11(水) 22:02:39.41ID:Wbsy1fss
藤井先生、決めたぽ。
将棋というゲームのエンドロールが流れてるぽ。
0632名前は開発中のものです。
垢版 |
2023/10/11(水) 22:03:13.20ID:Wbsy1fss
藤井先生、決めたぽ。
将棋というゲームのエンドロールが流れてるぽっぽ。
0634名前は開発中のものです。
垢版 |
2023/11/12(日) 19:27:22.20ID:bJCFUV53
なんかオセロ、答え出たらしいですよ。
レスを投稿する


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