比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
前スレ
【オセロ,将棋】ボードゲーム Part2【囲碁,War】
https://mevius.5ch.net/test/read.cgi/gamedev/1508056498/
【オセロ,将棋】ボードゲーム Part3【囲碁,War】
2019/11/23(土) 19:09:58.05ID:0YM91Vba
65310
2020/01/01(水) 21:54:10.76ID:b8dqHZW+ あけおめー。
昨年中に確定探索遡りのバックログを消化するつもりだったのが、
怪しい筋たくさん見つけて全部訂正棋譜を掘ってしまったので、
更にバックログ増加中。
昨年中に確定探索遡りのバックログを消化するつもりだったのが、
怪しい筋たくさん見つけて全部訂正棋譜を掘ってしまったので、
更にバックログ増加中。
66535
2020/01/07(火) 23:13:54.32ID:lg7NV8/5 ポスグレの入門本買ったけど全く手を付けてない
さぼりモード
さぼりモード
67535
2020/01/08(水) 20:25:47.47ID:cMYKNZky ポスグレ使うとして囲碁やるかライフゲーム囲碁やるか囲連星やるか心が決まらない
68535
2020/01/11(土) 16:36:11.27ID:WpEoOetb とりあえず8TBのHDD買った
どのゲームやるかはまだ決まってない
どのゲームやるかはまだ決まってない
69535
2020/01/11(土) 18:23:32.55ID:WpEoOetb うお、ケースにHDD増設するスペースがないw
外付け化できるやつ買うかw
外付け化できるやつ買うかw
70535
2020/01/11(土) 20:01:59.75ID:k+qMG4J3 HDD無事OSに認識されました。(最初認識されなくて焦った)
さてここからどうするか。
さてここからどうするか。
71535
2020/01/11(土) 21:11:20.06ID:k+qMG4J3 は〜心が決まらないorz
72535
2020/01/12(日) 01:24:49.63ID:lXXQv4sQ ライフゲーム囲碁はデータ取るほど弱くなるし、19路囲連星は広すぎるし9路囲連星かなぁ
73535
2020/01/12(日) 01:31:22.13ID:lXXQv4sQ あれ、おかしいな。9路囲連星のソースどこかいっちゃった。
まあ気持ちも新たに1から作るのも悪くないけど。
まあ気持ちも新たに1から作るのも悪くないけど。
74535
2020/01/13(月) 21:33:57.10ID:1JhgLjol なんかちょっとしばらくさぼってたらコーディングの腕が鈍ってるかも。
勘が働かないというか。
勘が働かないというか。
75535
2020/01/21(火) 21:15:41.22ID:fnHRizf7 マジでモチベが湧いて来ない
ここのところ忙しかったのもあるけど
ここのところ忙しかったのもあるけど
76535
2020/01/25(土) 16:52:30.60ID:7FFFt+eL 9路囲連星のモチベが上がらないのは本当は心の底ではライフゲーム囲碁をやりたいからなのかもしれない。
77535
2020/01/25(土) 20:21:04.06ID:7FFFt+eL いや、ちがうな。手っ取り早く結果が欲しいだけなんだ。
心が弱いんだ。
心が弱いんだ。
78535
2020/01/28(火) 21:14:35.23ID:/HMe/KRT やっぱ教科書の通り実装しようとするよりも自分でアイディアひねり出そうともがくほうが楽しいなぁ。
教科書が大事じゃないとは言わないけど、なによりモチベが全ての活動の源泉だからな。
教科書が大事じゃないとは言わないけど、なによりモチベが全ての活動の源泉だからな。
79535
2020/01/30(木) 22:19:32.33ID:7K5l2TPR 対称局面で候補手を絞り込む処理書いてるんだけど、もしかして8対称じゃなくて4対称しか使えないのだろうか??
80535
2020/01/30(木) 22:27:50.02ID:7K5l2TPR ちょっと言葉が足りないかな?
着手後の局面が対称局面として同型となる候補手が複数ある場合、
そのうちの一つだけを代表として選択できるようにする、みたいなイメージなんだけど。
着手後の局面が対称局面として同型となる候補手が複数ある場合、
そのうちの一つだけを代表として選択できるようにする、みたいなイメージなんだけど。
81310
2020/01/31(金) 20:42:25.38ID:Qy9oY0qS 線対称と回転対称があって、線対称は縦横斜め×2の4通りと、
180度回転対称の5通りではないかと思われます。
180度回転対称の5通りではないかと思われます。
82535
2020/01/31(金) 21:33:38.95ID:AV/HbVoo うーむ、線対称はそれぞれ候補手が約半分になるのはわかるが180度回転対称はどうなるんだろう?
83310
2020/01/31(金) 23:26:47.00ID:Qy9oY0qS 半分じゃまいかと
84535
2020/01/31(金) 23:37:10.96ID:AV/HbVoo すいません、まだわかってません。
考えてみます。
考えてみます。
85535
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 @ @ @ @ @ @ @ @ @
やっぱりわからないかもしれない。
例えば線対称なら上図のようになりますよね(@が着手候補)
回転対称ってどう半分になりますか?
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 @ @ @ @ @ @ @ @ @
やっぱりわからないかもしれない。
例えば線対称なら上図のようになりますよね(@が着手候補)
回転対称ってどう半分になりますか?
86535
2020/02/01(土) 01:57:04.18ID:TrLaB+Vx もしかして現局面の対称性を考えるんじゃなくて着手後の対称性を考えるとわかるのだろうか?
87310
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)
みたいになりますので、図形ではイメージしずらいかも。
(0,0)⇔(8,8)
(0,1)⇔(8,7)
(1,0)⇔(7,8)
(1,1)⇔(7,7)
:
(m,n)⇔(8−m,8−n)
みたいになりますので、図形ではイメージしずらいかも。
88535
2020/02/01(土) 18:31:37.87ID:TrLaB+Vx うーん、回転対称確かに使えるかも。結局8対称全部使えるってことなのかなぁ?
89535
2020/02/01(土) 23:53:26.53ID:TrLaB+Vx とりあえずpostgre sqlをインストールしました。
90535
2020/02/03(月) 21:22:57.75ID:blktSoE8 スレッドリッパー3990x今週発売らしいですね。
藤井聡太7段が狙ってるとかなんとかw
藤井聡太7段が狙ってるとかなんとかw
91310
2020/02/04(火) 22:54:13.24ID:e/vxAQDk なんか今日のabema中継で藤井君が新PC買ったみたいな話出てたよ。
解説陣の伝聞情報だからアテにならないかも知れないけど。
相変わらず棋譜作り続けているけど、まだまだ局面的にはスカスカな感じ(汗
あと1年くらい続けてもダメかも知れないorz
あと結構たくさんのパブリックドローが、ドローじゃなさそうな感じになってきてます。
ドローから外れる良い手(+2の分岐)が見つかった時に、それが正しいのかどうかを
チェックしています。深いところの分岐なら時間かければ完全読み切りで確定できる
のですが、浅いところで外れる場合は確認しきれません。Zebraを見ながら間違い探し
をしようにも、こういうのはZebraの評価値も揺れ動いていてあんまりあてにならず。
現在パブリックドローとして拾ってきた棋譜が99本ありますが、12本が確定間違い。
13本が、おそらく間違いという状態です。後者はDAGや対称形を考慮すると4パターン
に集約されます。
ちなみに、F5f6E6f4G5の筋は全滅しそうです。F5d6C3d3C4f4C5b3C2の筋は、たくさん
生き残っています。逆に新発見のおそらくパブリックドロー候補もたくさんあるけど、
まだ怖くて確認してません。
解説陣の伝聞情報だからアテにならないかも知れないけど。
相変わらず棋譜作り続けているけど、まだまだ局面的にはスカスカな感じ(汗
あと1年くらい続けてもダメかも知れないorz
あと結構たくさんのパブリックドローが、ドローじゃなさそうな感じになってきてます。
ドローから外れる良い手(+2の分岐)が見つかった時に、それが正しいのかどうかを
チェックしています。深いところの分岐なら時間かければ完全読み切りで確定できる
のですが、浅いところで外れる場合は確認しきれません。Zebraを見ながら間違い探し
をしようにも、こういうのはZebraの評価値も揺れ動いていてあんまりあてにならず。
現在パブリックドローとして拾ってきた棋譜が99本ありますが、12本が確定間違い。
13本が、おそらく間違いという状態です。後者はDAGや対称形を考慮すると4パターン
に集約されます。
ちなみに、F5f6E6f4G5の筋は全滅しそうです。F5d6C3d3C4f4C5b3C2の筋は、たくさん
生き残っています。逆に新発見のおそらくパブリックドロー候補もたくさんあるけど、
まだ怖くて確認してません。
92310
2020/02/04(火) 22:57:24.54ID:e/vxAQDk 対称局面の話ですが、MCTSで探索範囲を絞るのであれば、All Moves As First法が
有効ではないかと思います。
オセロでは全く使えない方法なので僕は詳しくありませんが。
有効ではないかと思います。
オセロでは全く使えない方法なので僕は詳しくありませんが。
93535
2020/02/05(水) 21:51:06.12ID:gbgnOMyv うーん、All Moves As First法ですか。
ライフゲーム囲碁は囲碁に似ているゲームだから有効かもしれませんが、手順はやっぱり大事な気がするんですよね〜
実装して試したわけじゃないけど、第一感として心のどこかで納得いってない部分はあります。
ライフゲーム囲碁は囲碁に似ているゲームだから有効かもしれませんが、手順はやっぱり大事な気がするんですよね〜
実装して試したわけじゃないけど、第一感として心のどこかで納得いってない部分はあります。
94310
2020/02/06(木) 19:25:08.06ID:ecERWYVc すまんライフゲーム囲碁よくわからんで適当だった。
手順が大事なら無理だね。
こちらはF5f6の筋が全滅している…。
これから間違い探しですが、大変だぁ。
手順が大事なら無理だね。
こちらはF5f6の筋が全滅している…。
これから間違い探しですが、大変だぁ。
95535
2020/02/06(木) 21:50:40.62ID:zVCHlYJi いや、実はむしろ囲碁よりライフゲーム囲碁のほうが有効な可能性までありますが…
やはり心のどこかで引っかかるものがあるのです。
やはり心のどこかで引っかかるものがあるのです。
96310
2020/02/09(日) 10:30:31.08ID:oU+8Ghci F5f6の筋復活。
パブリックドローリスト99件に対して、6パターン12本の棋譜が確定間違い。
そのほか3パターン9本のおそらくパブリックドローじゃない疑い。
パブリックドローリスト99件に対して、6パターン12本の棋譜が確定間違い。
そのほか3パターン9本のおそらくパブリックドローじゃない疑い。
97535
2020/02/09(日) 14:41:50.20ID:zJ1T76cB あああ、まったく頑張れない
今日も虚しく時間だけが過ぎて行く
Orz
今日も虚しく時間だけが過ぎて行く
Orz
98535
2020/02/09(日) 19:12:30.03ID:ojAywroZ SQLのテーブルって一回定義しちゃって運用始まっちゃうと中々変えれないイメージがあって踏ん切りがつかない
それなら初めからテーブル分割気味に定義したほうがいいのだろうか?
それなら初めからテーブル分割気味に定義したほうがいいのだろうか?
99535
2020/02/09(日) 19:47:31.15ID:ojAywroZ テーブルに予備項目もたせて後から項目増やしたくなったらそれ使うみたいな手法もないことはないな。
最善策ではないにしても。
最善策ではないにしても。
100535
2020/02/10(月) 20:30:44.20ID:RVFxecd9 軽く計算してみたけど8TBのHDDをもってしても12〜13手くらいしか全記憶できないっぽいな
うーむ
うーむ
101535
2020/02/10(月) 21:09:48.48ID:RVFxecd9 盤面情報と勝率情報をテーブル分けてidでjoinする方向で検討。
親子関係もテーブルに持つようにするかも。
親子関係もテーブルに持つようにするかも。
102310
2020/02/10(月) 21:49:59.84ID:88R3xHqQ F5f6の筋また死亡。
死亡復活を繰り返して3回目くらいに復活安定した筋もあるので、まだまだかかるかも(汗
というか、こういう作業が面倒臭い。
死亡復活を繰り返して3回目くらいに復活安定した筋もあるので、まだまだかかるかも(汗
というか、こういう作業が面倒臭い。
103535
2020/02/11(火) 15:02:56.99ID:5mcWafyZ C++からpostgre sqlにテストデータを1件登録することに成功した。
夢が広がるなぁ
夢が広がるなぁ
104535
2020/02/11(火) 19:46:16.02ID:5mcWafyZ テーブル定義は段々固まってきたけどどういう順序で探索ツリーを展開するか一番肝心なところが決まってない。
105535
2020/02/11(火) 21:32:51.43ID:5mcWafyZ 探索が進むほど有望な局面を選択できるようにしたいがやはりMCTS系の探索だろうか?
106310
2020/02/11(火) 21:43:38.70ID:gp4irkBy F5f6の筋復活(汗
その代わり、F5d6E6f4とF5f6E6d6(対称形)に差が出てきて、評価値がずれた。
F5f6E6d6の棋譜をすべてF5f6E6f4に変換して、Bookにはf4系とd6系の2種類登録
しているので、ここの間では差が生じないが、例えばF5f4E3〜の筋からたまたま
F5d6E6d6とかに合流してくると、その棋譜については対称変換しないので、差が
生じてしまうという事になるかなと気が付いて、対称変換で差が生じている棋譜を
Bookから逆生成してみたところ結構な件数が…というか、ざっくり見積もって既に
3万件超え。どうやって復旧するか悩むところ。というか、おそらくこれやったらまた
F5f6の筋が死亡しそうな予感。これから対策を考えます。むむむ。
そのほか、部分的に遡って完全読み切りした時に、そこまでたどり着いていない
筋の方が良い評価値になってしまうという、Bookに生じる矛盾を解消する処理を追加。
こちらは結構綺麗にできた。
その代わり、F5d6E6f4とF5f6E6d6(対称形)に差が出てきて、評価値がずれた。
F5f6E6d6の棋譜をすべてF5f6E6f4に変換して、Bookにはf4系とd6系の2種類登録
しているので、ここの間では差が生じないが、例えばF5f4E3〜の筋からたまたま
F5d6E6d6とかに合流してくると、その棋譜については対称変換しないので、差が
生じてしまうという事になるかなと気が付いて、対称変換で差が生じている棋譜を
Bookから逆生成してみたところ結構な件数が…というか、ざっくり見積もって既に
3万件超え。どうやって復旧するか悩むところ。というか、おそらくこれやったらまた
F5f6の筋が死亡しそうな予感。これから対策を考えます。むむむ。
そのほか、部分的に遡って完全読み切りした時に、そこまでたどり着いていない
筋の方が良い評価値になってしまうという、Bookに生じる矛盾を解消する処理を追加。
こちらは結構綺麗にできた。
107310
2020/02/12(水) 00:35:06.03ID:Gx8MvMLI 対称形の合流問題、一応のプログラムできた…と思う。
ロジック的には色々なやり方があるのだけど、処理時間とどこまでやるのかという
ところが悩みどころ。今のままで動かすか、どうするか。
ちょっと悩みたいので一旦ペンディング。
ロジック的には色々なやり方があるのだけど、処理時間とどこまでやるのかという
ところが悩みどころ。今のままで動かすか、どうするか。
ちょっと悩みたいので一旦ペンディング。
108310
2020/02/12(水) 22:15:37.07ID:Gx8MvMLI 一晩寝かしてプログラム破棄(汗
もともとある対称盤面の処理ロジックを生かして、F5筋しかない棋譜をC4/D3/E6に
対称変換する事で、根本的に解決しようという方向になりました。副作用はBookが
4倍に膨れるのと、F5スタート限定だった評価関数のエラーがいったん大きくなって
しまうために、学習しなおさなければならない事です。
やってみたら、Bookサイズでかすぎてメモリーギリギリ。仕方がないので60手目まで
作っていたBookを40手目までに限定。あと敢えて残して(意図的に作って)あった、
24手目以降のベストではない分岐も別途保存して一回削除しました。
メモリ64G以上欲しい…。スレッドは16くらいで十分なので。
もともとある対称盤面の処理ロジックを生かして、F5筋しかない棋譜をC4/D3/E6に
対称変換する事で、根本的に解決しようという方向になりました。副作用はBookが
4倍に膨れるのと、F5スタート限定だった評価関数のエラーがいったん大きくなって
しまうために、学習しなおさなければならない事です。
やってみたら、Bookサイズでかすぎてメモリーギリギリ。仕方がないので60手目まで
作っていたBookを40手目までに限定。あと敢えて残して(意図的に作って)あった、
24手目以降のベストではない分岐も別途保存して一回削除しました。
メモリ64G以上欲しい…。スレッドは16くらいで十分なので。
109535
2020/02/12(水) 23:03:00.16ID:OxY0+llC メモリ欲しいですよね〜。
110535
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
ttp://www.gdm.or.jp/pressrelease/2020/0212/338305
111535
2020/02/13(木) 20:29:06.20ID:t0qxkX+C 今更だけど、メモリよりHDDのほうがでかいわけだが、全部メモリに乗らないとするとどうやってプログラム組めばいいか悩ましいな。
ホント今更だけど。
ホント今更だけど。
112310
2020/02/15(土) 00:33:20.86ID:aU7p7RKo スピードが必要な部分はメモリーに無いといかんわけで。
今は探索でBookを参照しているので、Bookアクセスには速度が必要なわけで。
Bookは重要だけど棋譜は既に重要ではないわけで。
棋譜はSDDに移そうかなと思っていたりします。
どうせ要所要所で保存しているわけだし、都度読み込めばみたいな。
(HDDは遅すぎるので論外かと)
ただ…今のロジックがメモリー前提なのと、棋譜ですら読み込みに数秒かかる
状態なので、できればメモリーに置いときたい。そもそも、大した容量じゃないし。
自分の場合、本体でBook読み込むのと、同時にZebraと突き合わせながら間違い
箇所探しで掘り進める用に、Bookを確認するプログラムも同時に動かしていて、
そちらでも同じサイズのBookを読み込まざるを得ないので、16Gのメモリーが
あっても、半分くらいに抑えておかないといけないという問題があります。
頭の片隅にバイナリファイルのランダムアクセスってのがちょこっとだけありますが、
それって自分用DBを作るようなものなので、悩み中。とはいえ、最終的にもしオセロ
の対戦プログラムにするのなら、今ほど探索時間気にするわけでもなし、動作環境
として要求するメモリー量が大きすぎるのもなんだかなぁと思っていたりもします。
今は探索でBookを参照しているので、Bookアクセスには速度が必要なわけで。
Bookは重要だけど棋譜は既に重要ではないわけで。
棋譜はSDDに移そうかなと思っていたりします。
どうせ要所要所で保存しているわけだし、都度読み込めばみたいな。
(HDDは遅すぎるので論外かと)
ただ…今のロジックがメモリー前提なのと、棋譜ですら読み込みに数秒かかる
状態なので、できればメモリーに置いときたい。そもそも、大した容量じゃないし。
自分の場合、本体でBook読み込むのと、同時にZebraと突き合わせながら間違い
箇所探しで掘り進める用に、Bookを確認するプログラムも同時に動かしていて、
そちらでも同じサイズのBookを読み込まざるを得ないので、16Gのメモリーが
あっても、半分くらいに抑えておかないといけないという問題があります。
頭の片隅にバイナリファイルのランダムアクセスってのがちょこっとだけありますが、
それって自分用DBを作るようなものなので、悩み中。とはいえ、最終的にもしオセロ
の対戦プログラムにするのなら、今ほど探索時間気にするわけでもなし、動作環境
として要求するメモリー量が大きすぎるのもなんだかなぁと思っていたりもします。
113310
2020/02/15(土) 00:35:39.59ID:aU7p7RKo そんな事より、対称形サポートして棋譜作っていたら、またF5f6系が全滅して
途方に暮れていたところで、知らぬ間に復活していたり。間違い可能性高い
パブリックドロー筋が復活したと思ったら、またダメだったり。
まだ棋譜作成が足りていないという事実に直面しています。
途方に暮れていたところで、知らぬ間に復活していたり。間違い可能性高い
パブリックドロー筋が復活したと思ったら、またダメだったり。
まだ棋譜作成が足りていないという事実に直面しています。
114310
2020/02/18(火) 00:26:29.87ID:xu5XdmKn 対称形サポートでBookはだいぶ良くなって来た感じですが、完全読み切りの探索時間
が遅くなった。まだ新しい教師データに対して学習不足なんだと思いますが、どこまで
復活するか。
残り30手読み切り時間がかかりすぎる。棋譜作成のプログラムの方は、ほぼ出来上
がってしまったので、動作具合を見ているだけになっている。何か探索高速化のネタは
無いものか。
PC一つ買って、そちらでオセロの棋譜作成させながら、別の何かの開発を始める時な
のかも知れない。
が遅くなった。まだ新しい教師データに対して学習不足なんだと思いますが、どこまで
復活するか。
残り30手読み切り時間がかかりすぎる。棋譜作成のプログラムの方は、ほぼ出来上
がってしまったので、動作具合を見ているだけになっている。何か探索高速化のネタは
無いものか。
PC一つ買って、そちらでオセロの棋譜作成させながら、別の何かの開発を始める時な
のかも知れない。
115535
2020/02/18(火) 00:27:41.65ID:kv2P7/8Y とりあえずモンテカルロ1000poで10〜50手打ち進めてその局面で100000po回して結果の黒番の勝利回数、スコアの合計を収集するプログラムを作成。
あんまりいい方法じゃないとはおもうけどこれだというアイディアもないしこれで一回やってみます。
あんまりいい方法じゃないとはおもうけどこれだというアイディアもないしこれで一回やってみます。
116535
2020/02/18(火) 21:44:13.85ID:kv2P7/8Y マシンパワー欲しいすな。
3990xでも足りないかも。
アルゴリズム見直せと言われそうだが。
3990xでも足りないかも。
アルゴリズム見直せと言われそうだが。
117535
2020/02/18(火) 22:28:54.62ID:kv2P7/8Y まーでも310さんも言ってるけど計算にマシン取られるとヒマですね。
AWSとか使うのも面白いかもしれないけどいかんせん金が…
AWSとか使うのも面白いかもしれないけどいかんせん金が…
118535
2020/02/20(木) 18:12:42.14ID:YadOsXz6 夜中動かすとファンがうるさくてねれないorz
やっぱaws…
でも金が…
やっぱaws…
でも金が…
119535
2020/02/20(木) 20:15:56.39ID:BvOV7XJR でもまあ、コロナでいつポックリいくともわからないならいっそ3990x買っちゃうってのも考えようによってはなくなないな。
120310
2020/02/20(木) 22:03:32.96ID:KuvbYeZk たぶん感染経路不明な感染者が1000人超えたらテレビも飽きてきて
めっきり話題にならなくると思うなw
めっきり話題にならなくると思うなw
121535
2020/02/20(木) 22:44:26.40ID:BvOV7XJR 70499種類の盤面のモンテカルロ勝率スコアデータが取れました。
これをもとにDNNをトレーニングしてみます。
これをもとにDNNをトレーニングしてみます。
122535
2020/02/21(金) 21:02:31.11ID:/4d3LiPl やっぱ素のモンテカルロに勝てない!!!
どうしてなんだ…
どうしてなんだ…
123535
2020/02/21(金) 22:56:34.67ID:/4d3LiPl 単に白番有利説が急浮上www
124535
2020/02/22(土) 00:47:13.32ID:j5uEDLd9 いや、ちがうっぽい。
うーん。
うーん。
125535
2020/02/22(土) 17:03:42.93ID:j5uEDLd9 キター!素のモンテカルロに勝ち越しました!
黒番 31勝20敗
白番 32勝19敗
黒番 31勝20敗
白番 32勝19敗
126535
2020/02/22(土) 20:31:10.32ID:j5uEDLd9 モンテカルロが間違える局面で間違いを訂正してそれをDNNに学習させる方法ないかなぁ
127310
2020/02/22(土) 21:32:51.12ID:wHsEFeMN 間違える局面が特定できているて、間違えた手を訂正できるんなら、
訂正後から対戦再開させて、その棋譜で局面DB更新して、学習するとか。
特定できていなくても、基本強化学習は、対戦→DB更新&学習の
繰り返しで、徐々に間違いを訂正していく方法。もうちょっと工夫する
ならε-Greedyなどの手法で既存の棋譜の途中で無理やり別の手に
分岐させていく。その手が悪くても、「悪い手である」という認識を学習
させる事ができる。
線形計画だとモデルが上手くできていないと学習が飽和しちゃうけど、
DNNだったらある程度うまく学習してくれるかも。
訂正後から対戦再開させて、その棋譜で局面DB更新して、学習するとか。
特定できていなくても、基本強化学習は、対戦→DB更新&学習の
繰り返しで、徐々に間違いを訂正していく方法。もうちょっと工夫する
ならε-Greedyなどの手法で既存の棋譜の途中で無理やり別の手に
分岐させていく。その手が悪くても、「悪い手である」という認識を学習
させる事ができる。
線形計画だとモデルが上手くできていないと学習が飽和しちゃうけど、
DNNだったらある程度うまく学習してくれるかも。
128535
2020/02/22(土) 21:53:22.17ID:j5uEDLd9129535
2020/02/22(土) 22:00:44.31ID:j5uEDLd9 あかん、なんか全然おかしいorz
ちゃんと見直さないと…
ちゃんと見直さないと…
130535
2020/02/22(土) 22:22:49.38ID:j5uEDLd9 データ取りからやり直しますorzorzorz
131310
2020/02/23(日) 00:56:57.70ID:9FygPBnT 間違い探しを続けるうちに、何故Zebraの評価値の方がまともに見えるか問題に
突き当りました。で、評価関数を手数毎に60種類に分割している事で、学習データ
が不足しているとか、スムージングしていないために、2手前の自分の番の盤面との
差分が取れないとかの問題があるのかなぁと思い立ちまして…。
また、4対称採用した事で学習時間も4倍になってしまいまして…。
思い切って、評価関数を1つにまとめてみたらどうだろうと思い立って、専用の学習
プロジェクトを作ってやってみました。通常数百回学習しないとまともな学習ができ
ないのですが、20回学習したところで、意外とフィットしてしまいました。学習時間も
少し減ってる気がする。
一旦評価関数の癖を変えたほうが強化学習も進むかなと思い、とりあえず本番採用
してみました。気持ち速度も速くなった気がしています。もっとも、評価関数の学習具合
によってαβのorderingも変わって速度が変わったりするので、今後学習を積み重ね
て、過学習気味になったりした時にどうなるのかは不明。
これから数日動かしてみて、良かったらこっちにしようかと思います。強いオセロAIを
作るのなら、対戦してどっちが強いとかやるのが本来なのですが、特にそういう目標も
現状あるわけでなし(汗
突き当りました。で、評価関数を手数毎に60種類に分割している事で、学習データ
が不足しているとか、スムージングしていないために、2手前の自分の番の盤面との
差分が取れないとかの問題があるのかなぁと思い立ちまして…。
また、4対称採用した事で学習時間も4倍になってしまいまして…。
思い切って、評価関数を1つにまとめてみたらどうだろうと思い立って、専用の学習
プロジェクトを作ってやってみました。通常数百回学習しないとまともな学習ができ
ないのですが、20回学習したところで、意外とフィットしてしまいました。学習時間も
少し減ってる気がする。
一旦評価関数の癖を変えたほうが強化学習も進むかなと思い、とりあえず本番採用
してみました。気持ち速度も速くなった気がしています。もっとも、評価関数の学習具合
によってαβのorderingも変わって速度が変わったりするので、今後学習を積み重ね
て、過学習気味になったりした時にどうなるのかは不明。
これから数日動かしてみて、良かったらこっちにしようかと思います。強いオセロAIを
作るのなら、対戦してどっちが強いとかやるのが本来なのですが、特にそういう目標も
現状あるわけでなし(汗
132310
2020/02/23(日) 01:08:08.23ID:9FygPBnT >>127に捕捉しとくと、
自分はGreedyな手法の精度をあげるために、浅い探索(9手)と組み合わせて、
評価値が少しだけ悪い手とか、Book登録ないのに評価値が良いとか、いくつかの
基準の訂正ロジックを作って、明らかに悪い手を排除したGreedy法をとって、
既存の棋譜に対して順次分岐を生成していく事で、Bookを埋めて行っています。
分岐は13手読みで作成していますが、この分岐も間違いがそれなりにあるため、
間違いを積み上げているのではないかという懸念もあります(汗
オセロの場合、黒白両者とも最善の場合、引き分けに収束する可能性が濃厚なため
初手から最善引き分けとなるツリーについては、先頭側からこのGreedy法で分岐を
生成し、また(後ろから)確定読み切りを優先して実行する事で、引き分け手順だけ
優先的に精度を上げています。
評価関数作るのに、こういう制約をつけた方法が良いのかは不明です。現に極端に
形勢が傾いた盤面の読み切りは、学習データが不足しているために、引き分け盤面
よりずっと時間がかかるように感じています。
自分はGreedyな手法の精度をあげるために、浅い探索(9手)と組み合わせて、
評価値が少しだけ悪い手とか、Book登録ないのに評価値が良いとか、いくつかの
基準の訂正ロジックを作って、明らかに悪い手を排除したGreedy法をとって、
既存の棋譜に対して順次分岐を生成していく事で、Bookを埋めて行っています。
分岐は13手読みで作成していますが、この分岐も間違いがそれなりにあるため、
間違いを積み上げているのではないかという懸念もあります(汗
オセロの場合、黒白両者とも最善の場合、引き分けに収束する可能性が濃厚なため
初手から最善引き分けとなるツリーについては、先頭側からこのGreedy法で分岐を
生成し、また(後ろから)確定読み切りを優先して実行する事で、引き分け手順だけ
優先的に精度を上げています。
評価関数作るのに、こういう制約をつけた方法が良いのかは不明です。現に極端に
形勢が傾いた盤面の読み切りは、学習データが不足しているために、引き分け盤面
よりずっと時間がかかるように感じています。
133310
2020/02/23(日) 03:01:39.99ID:9FygPBnT げげ。>>131の奴、本番に入れて学習させたらうまく動かん…。
原因箇所は特定できたけど、そもそもBook分だけで学習していて、後半の棋譜から
教師データ作ってなかったので、件数が大幅に違う。後ろ15手分が抜けている。
が、これが入ると学習の途中で無限ループに入ってしまう。
何かのオーバフローなんだと思うけど、今は原因不明orz
原因箇所は特定できたけど、そもそもBook分だけで学習していて、後半の棋譜から
教師データ作ってなかったので、件数が大幅に違う。後ろ15手分が抜けている。
が、これが入ると学習の途中で無限ループに入ってしまう。
何かのオーバフローなんだと思うけど、今は原因不明orz
134310
2020/02/23(日) 10:00:35.35ID:9FygPBnT たぶんなおった。
学習の進行具合インジケータの*印の数を作るところでオーバーフローして
延々と*を表示し続けてるだけだったw
こういうところで適当にint使っているのがいかん。
と、怪しそうなところをsize_tに直したら、整合性が取れなくなってワーニングの嵐w
適当にsize_tにすればよいというものでもなかったw
学習の進行具合インジケータの*印の数を作るところでオーバーフローして
延々と*を表示し続けてるだけだったw
こういうところで適当にint使っているのがいかん。
と、怪しそうなところをsize_tに直したら、整合性が取れなくなってワーニングの嵐w
適当にsize_tにすればよいというものでもなかったw
135535
2020/02/23(日) 22:36:15.39ID:xJvwRHu1 オーバーフローが嫌だからついlong longを使ってしまうw
メモリ余計に食うけど。
メモリ余計に食うけど。
136535
2020/02/24(月) 18:53:46.31ID:S84dSY4F タイルゲーム、完全解析した後でもそれなりに楽しめる不思議。自力では勝てないからな。
そういやconnect4より複雑で完全解析されててネットで遊べるゲームってなにかあるのかな?
そういやconnect4より複雑で完全解析されててネットで遊べるゲームってなにかあるのかな?
137535
2020/02/25(火) 20:37:07.39ID:10rOW9ls データ取りなおしたので再度DNN学習させてみます。
ついでにネットワーク少し大きくしてみます。
ついでにネットワーク少し大きくしてみます。
138535
2020/02/26(水) 20:24:56.08ID:LbNvrAvP なんかDNNほぼ最悪の手を打つんだが…
真逆の学習させちまったか?
真逆の学習させちまったか?
139535
2020/02/26(水) 20:40:14.06ID:LbNvrAvP 試しに評価値に*-1してみたがやっぱり悪い手を打つ。
真逆ってわけでもないのか?
わけわからん
真逆ってわけでもないのか?
わけわからん
140535
2020/02/26(水) 20:50:37.02ID:LbNvrAvP モンテカルロ木探索の部分が間違ってたっぽい
141535
2020/02/26(水) 21:22:57.03ID:LbNvrAvP うーん、なんかアルファ碁Leeみたいに、数手前の手順を学習データとして食わせるといいかもなぁ。
石がぶつかってる時の判断がちょっとおかしいんだよなぁ
石がぶつかってる時の判断がちょっとおかしいんだよなぁ
142535
2020/02/26(水) 21:35:19.66ID:LbNvrAvP もうヒューリスティックもモリモリ入れちゃおうかなぁ
143535
2020/02/27(木) 19:12:50.92ID:7f4H7cqb お、微妙に勝ち越している。
でも微妙すぎw
でも微妙すぎw
144535
2020/02/27(木) 21:11:32.40ID:7f4H7cqb 先制攻撃を仕掛ける体制が整っているかどうかの判定が今後の課題ですね。
145535
2020/03/01(日) 21:57:12.55ID:X+Ti9n7n 先制攻撃を仕掛けた時に反撃で逆に取られる確率とか学習させたら駄目かなぁ?
146535
2020/03/02(月) 06:27:35.74ID:Td8MIT1I ある局面に対し、それぞれの点が黒の地になる確率のベクタを返すようにDNNを学習したらどうだろう?
147535
2020/03/03(火) 21:11:27.98ID:PL4UDoSq 前回はスコア差を評価値に学習させましたが、今回は勝率で学習させてみます。
結局セオリー通りがいいのかもしれないので。
ホントはスコア最大化はぜひともやりたいんだけど。
結局セオリー通りがいいのかもしれないので。
ホントはスコア最大化はぜひともやりたいんだけど。
148535
2020/03/04(水) 20:23:35.42ID:Q7ItuMwb 勝率で学習させたら黒番は勝ち越してますが、白番は負け越してますね。
白番でも勝てると思いましたが。
白番でも勝てると思いましたが。
149535
2020/03/04(水) 20:44:28.42ID:Q7ItuMwb うお、バグ発見w
DNNが全く働いてなかったww
黒番で勝ち越したのはたまたまやなこれは。
DNNが全く働いてなかったww
黒番で勝ち越したのはたまたまやなこれは。
150535
2020/03/04(水) 21:10:05.82ID:Q7ItuMwb うーん、石をくっつけて打つなぁ
もっとばらけさせたほうがいいと思うんだけど。
もっとばらけさせたほうがいいと思うんだけど。
151535
2020/03/04(水) 21:14:38.18ID:Q7ItuMwb うーん、石がくっついているか離れているか標準偏差のようなものを出して学習パラメータに渡すとか
152535
2020/03/04(水) 21:17:15.27ID:Q7ItuMwb ホントはあんま手動で特徴量出そうとするのよくないアイディアなんだろうけど。
153535
2020/03/04(水) 21:43:12.15ID:Q7ItuMwb 結局モンテカルロの勝率データだけだとだめっぽくて、いろんな戦略の中からより良いものを探すようにしたいなぁ
154535
2020/03/04(水) 22:34:42.21ID:Q7ItuMwb あれ、黒番、白番ともダブルスコアで勝ち越してる??
まだ対局数少ないからあれだけど。
まだ対局数少ないからあれだけど。
155310
2020/03/04(水) 22:39:44.37ID:XCbeW9Ri 自分は、最近、学習効率アップさせようと入れていたヒューリスティックなロジックは
見つけ次第外す方向だったりします。
棋譜作成の元ネタだけは、結構たくさん手動で追加していますが、見つけ次第追加
みたいなやり方で、偏りが出そうな気がするのと、手動追加だと入力ミスも結構あって
面倒なので、どこかで後続棋譜が少ない手順を順次自動で追加していくようにしちゃ
おうかなと思ったりしています。ただ、本当に見てるだけになっちゃうのがちょっと嫌。
そんな事より、棋譜作成のペースが速すぎて、逆順での読み切り(スコア確定)が
追い付かない。
見つけ次第外す方向だったりします。
棋譜作成の元ネタだけは、結構たくさん手動で追加していますが、見つけ次第追加
みたいなやり方で、偏りが出そうな気がするのと、手動追加だと入力ミスも結構あって
面倒なので、どこかで後続棋譜が少ない手順を順次自動で追加していくようにしちゃ
おうかなと思ったりしています。ただ、本当に見てるだけになっちゃうのがちょっと嫌。
そんな事より、棋譜作成のペースが速すぎて、逆順での読み切り(スコア確定)が
追い付かない。
156535
2020/03/05(木) 20:28:15.73ID:P4JeNRVF 黒番 188勝 48敗
白番 176勝 55敗
めっちゃ勝ってる!!
白番 176勝 55敗
めっちゃ勝ってる!!
157535
2020/03/05(木) 20:45:33.61ID:P4JeNRVF 結局ポスグレ全く使ってないというw
ま、当面ポスグレは保留かなぁ
ま、当面ポスグレは保留かなぁ
158535
2020/03/05(木) 21:05:27.39ID:P4JeNRVF とりあえず、この新しいAIで勝率データ取りなおして更に学習させるスパイラルへもっていくか。
159535
2020/03/06(金) 20:19:27.94ID:1GJjUnMY うお、人間(俺)に勝った!
まぐれっぽいけど
まぐれっぽいけど
160310
2020/03/06(金) 21:29:36.82ID:76Zol1eh 小人閑居して不善をなす…
評価関数の学習周りをいじっていたら、学習エラーが大きく(4〜5倍)なってしまった。
オプティマイザーをAdamにしてみたのが悪かったのか(バグ?)、それとも他にいじった
ところが悪かったのか。オプティマイザーを戻して、追加学習してみたけど、全然もとに
戻らない。
と言いながら、色々と溜まっていた懸案も機能追加してしまった。
結局、どうにも直らないのでウェイトを一旦クリアしてRMSpropで再学習してる最中です。
明日の朝にはまともになっているかなぁ。
評価関数の学習周りをいじっていたら、学習エラーが大きく(4〜5倍)なってしまった。
オプティマイザーをAdamにしてみたのが悪かったのか(バグ?)、それとも他にいじった
ところが悪かったのか。オプティマイザーを戻して、追加学習してみたけど、全然もとに
戻らない。
と言いながら、色々と溜まっていた懸案も機能追加してしまった。
結局、どうにも直らないのでウェイトを一旦クリアしてRMSpropで再学習してる最中です。
明日の朝にはまともになっているかなぁ。
161310
2020/03/06(金) 21:39:02.84ID:76Zol1eh 行列パッケージEigenにユーザ拡張のサポート無し機能がいくつか追加されていて、
その中にTensorクラスがある事に気づいた。
速度は期待できないけど、もう一度DCNNやってみようかなぁ。
つか、もう一台PCがあれば、棋譜が既にあるので、テストできるんだよなぁ。
その中にTensorクラスがある事に気づいた。
速度は期待できないけど、もう一度DCNNやってみようかなぁ。
つか、もう一台PCがあれば、棋譜が既にあるので、テストできるんだよなぁ。
162310
2020/03/06(金) 22:53:37.48ID:76Zol1eh RMSpropで一から学習しなおしで、もうすぐ20エポックだけど、順調な感じ。
前回同様20回+αも回せば結構よいところに行きそうな感じ。
おかしかった時は、もともとの場所から離れて、変な局所解にトラップされていた
ような感じになっていたんだよなぁ。現状のAdamのコードにバグがあるのか調べ
たいけど、もともと参考にしたサイトが見つからない。今見つかるやつはChainerの
類の疑似コードらしく、ちょっとやそっとでは解読できないレベルの記号の羅列orz
前回同様20回+αも回せば結構よいところに行きそうな感じ。
おかしかった時は、もともとの場所から離れて、変な局所解にトラップされていた
ような感じになっていたんだよなぁ。現状のAdamのコードにバグがあるのか調べ
たいけど、もともと参考にしたサイトが見つからない。今見つかるやつはChainerの
類の疑似コードらしく、ちょっとやそっとでは解読できないレベルの記号の羅列orz
163535
2020/03/07(土) 01:06:05.32ID:NIcvsU6/ モンテカルロ+ヒューリスティックAIにも勝利!!
いい感じだ。
いい感じだ。
164535
2020/03/07(土) 21:53:01.55ID:NIcvsU6/ あーもう、計算時間かかりすぎ!
あと3〜4日は計算回さないとデータが集まらない。
こんなときスレッドリッパー3990xがあれば…
あと3〜4日は計算回さないとデータが集まらない。
こんなときスレッドリッパー3990xがあれば…
165535
2020/03/07(土) 22:30:53.08ID:NIcvsU6/ ぶっちゃけ1週間かかる計算が1日で終わるとしたら3990x買うのもありなんじゃないか…???
金がないけど。
金がないけど。
レスを投稿する
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 俺「お湯を流してと…」シンク「ボンッw」
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- paypayで支払いするの便利すぎワロッタwwwwwwwwwwwwwww
- 山上徹也の妹なんでテロを肯定するようなこと言うんだい??
- もう寝ます
