【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
上下前次1-新
89: 535 [sage] 2020/02/01(土) 23:53:26.53 ID:TrLaB+Vx(3/3) AAS
とりあえずpostgre sqlをインストールしました。
90: 535 [sage] 2020/02/03(月) 21:22:57.75 ID:blktSoE8(1) AAS
スレッドリッパー3990x今週発売らしいですね。
藤井聡太7段が狙ってるとかなんとかw
91: 310 [sage] 2020/02/04(火) 22:54:13.24 ID:e/vxAQDk(1/2) AAS
なんか今日のabema中継で藤井君が新PC買ったみたいな話出てたよ。
解説陣の伝聞情報だからアテにならないかも知れないけど。
相変わらず棋譜作り続けているけど、まだまだ局面的にはスカスカな感じ(汗
あと1年くらい続けてもダメかも知れないorz
あと結構たくさんのパブリックドローが、ドローじゃなさそうな感じになってきてます。
ドローから外れる良い手(+2の分岐)が見つかった時に、それが正しいのかどうかを
チェックしています。深いところの分岐なら時間かければ完全読み切りで確定できる
のですが、浅いところで外れる場合は確認しきれません。Zebraを見ながら間違い探し
をしようにも、こういうのはZebraの評価値も揺れ動いていてあんまりあてにならず。
現在パブリックドローとして拾ってきた棋譜が99本ありますが、12本が確定間違い。
13本が、おそらく間違いという状態です。後者はDAGや対称形を考慮すると4パターン
に集約されます。
ちなみに、F5f6E6f4G5の筋は全滅しそうです。F5d6C3d3C4f4C5b3C2の筋は、たくさん
生き残っています。逆に新発見のおそらくパブリックドロー候補もたくさんあるけど、
まだ怖くて確認してません。
92: 310 [sage] 2020/02/04(火) 22:57:24.54 ID:e/vxAQDk(2/2) AAS
対称局面の話ですが、MCTSで探索範囲を絞るのであれば、All Moves As First法が
有効ではないかと思います。
オセロでは全く使えない方法なので僕は詳しくありませんが。
93: 535 [sage] 2020/02/05(水) 21:51:06.12 ID:gbgnOMyv(1) AAS
うーん、All Moves As First法ですか。
ライフゲーム囲碁は囲碁に似ているゲームだから有効かもしれませんが、手順はやっぱり大事な気がするんですよね〜
実装して試したわけじゃないけど、第一感として心のどこかで納得いってない部分はあります。
94: 310 [sage] 2020/02/06(木) 19:25:08.06 ID:ecERWYVc(1) AAS
すまんライフゲーム囲碁よくわからんで適当だった。
手順が大事なら無理だね。
こちらはF5f6の筋が全滅している…。
これから間違い探しですが、大変だぁ。
95: 535 [sage] 2020/02/06(木) 21:50:40.62 ID:zVCHlYJi(1) AAS
いや、実はむしろ囲碁よりライフゲーム囲碁のほうが有効な可能性までありますが…
やはり心のどこかで引っかかるものがあるのです。
96: 310 [sage] 2020/02/09(日) 10:30:31.08 ID:oU+8Ghci(1) AAS
F5f6の筋復活。
パブリックドローリスト99件に対して、6パターン12本の棋譜が確定間違い。
そのほか3パターン9本のおそらくパブリックドローじゃない疑い。
97: 535 [sage] 2020/02/09(日) 14:41:50.20 ID:zJ1T76cB(1) AAS
あああ、まったく頑張れない
今日も虚しく時間だけが過ぎて行く
Orz
98: 535 [sage] 2020/02/09(日) 19:12:30.03 ID:ojAywroZ(1/2) AAS
SQLのテーブルって一回定義しちゃって運用始まっちゃうと中々変えれないイメージがあって踏ん切りがつかない
それなら初めからテーブル分割気味に定義したほうがいいのだろうか?
99: 535 [sage] 2020/02/09(日) 19:47:31.15 ID:ojAywroZ(2/2) AAS
テーブルに予備項目もたせて後から項目増やしたくなったらそれ使うみたいな手法もないことはないな。
最善策ではないにしても。
100: 535 [sage] 2020/02/10(月) 20:30:44.20 ID:RVFxecd9(1/2) AAS
軽く計算してみたけど8TBのHDDをもってしても12〜13手くらいしか全記憶できないっぽいな
うーむ
101: 535 [sage] 2020/02/10(月) 21:09:48.48 ID:RVFxecd9(2/2) AAS
盤面情報と勝率情報をテーブル分けてidでjoinする方向で検討。
親子関係もテーブルに持つようにするかも。
102: 310 [sage] 2020/02/10(月) 21:49:59.84 ID:88R3xHqQ(1) AAS
F5f6の筋また死亡。
死亡復活を繰り返して3回目くらいに復活安定した筋もあるので、まだまだかかるかも(汗
というか、こういう作業が面倒臭い。
103: 535 [sage] 2020/02/11(火) 15:02:56.99 ID:5mcWafyZ(1/3) AAS
C++からpostgre sqlにテストデータを1件登録することに成功した。
夢が広がるなぁ
104: 535 [sage] 2020/02/11(火) 19:46:16.02 ID:5mcWafyZ(2/3) AAS
テーブル定義は段々固まってきたけどどういう順序で探索ツリーを展開するか一番肝心なところが決まってない。
105: 535 [sage] 2020/02/11(火) 21:32:51.43 ID:5mcWafyZ(3/3) AAS
探索が進むほど有望な局面を選択できるようにしたいがやはりMCTS系の探索だろうか?
106: 310 [sage] 2020/02/11(火) 21:43:38.70 ID:gp4irkBy(1) AAS
F5f6の筋復活(汗
その代わり、F5d6E6f4とF5f6E6d6(対称形)に差が出てきて、評価値がずれた。
F5f6E6d6の棋譜をすべてF5f6E6f4に変換して、Bookにはf4系とd6系の2種類登録
しているので、ここの間では差が生じないが、例えばF5f4E3〜の筋からたまたま
F5d6E6d6とかに合流してくると、その棋譜については対称変換しないので、差が
生じてしまうという事になるかなと気が付いて、対称変換で差が生じている棋譜を
Bookから逆生成してみたところ結構な件数が…というか、ざっくり見積もって既に
3万件超え。どうやって復旧するか悩むところ。というか、おそらくこれやったらまた
F5f6の筋が死亡しそうな予感。これから対策を考えます。むむむ。
そのほか、部分的に遡って完全読み切りした時に、そこまでたどり着いていない
筋の方が良い評価値になってしまうという、Bookに生じる矛盾を解消する処理を追加。
こちらは結構綺麗にできた。
107: 310 [sage] 2020/02/12(水) 00:35:06.03 ID:Gx8MvMLI(1/2) AAS
対称形の合流問題、一応のプログラムできた…と思う。
ロジック的には色々なやり方があるのだけど、処理時間とどこまでやるのかという
ところが悩みどころ。今のままで動かすか、どうするか。
ちょっと悩みたいので一旦ペンディング。
108: 310 [sage] 2020/02/12(水) 22:15:37.07 ID:Gx8MvMLI(2/2) AAS
一晩寝かしてプログラム破棄(汗
もともとある対称盤面の処理ロジックを生かして、F5筋しかない棋譜をC4/D3/E6に
対称変換する事で、根本的に解決しようという方向になりました。副作用はBookが
4倍に膨れるのと、F5スタート限定だった評価関数のエラーがいったん大きくなって
しまうために、学習しなおさなければならない事です。
やってみたら、Bookサイズでかすぎてメモリーギリギリ。仕方がないので60手目まで
作っていたBookを40手目までに限定。あと敢えて残して(意図的に作って)あった、
24手目以降のベストではない分岐も別途保存して一回削除しました。
メモリ64G以上欲しい…。スレッドは16くらいで十分なので。
109: 535 [sage] 2020/02/12(水) 23:03:00.16 ID:OxY0+llC(1/2) AAS
メモリ欲しいですよね〜。
110: 535 [sage] 2020/02/12(水) 23:12:45.08 ID:OxY0+llC(2/2) AAS
Ryzen Threadripper 3990Xに最適化したDDR4-3600 256GBメモリキットがG.SKILLから
外部リンク:www.gdm.or.jp
111: 535 [] 2020/02/13(木) 20:29:06.20 ID:t0qxkX+C(1) AAS
今更だけど、メモリよりHDDのほうがでかいわけだが、全部メモリに乗らないとするとどうやってプログラム組めばいいか悩ましいな。
ホント今更だけど。
112: 310 [sage] 2020/02/15(土) 00:33:20.86 ID:aU7p7RKo(1/2) AAS
スピードが必要な部分はメモリーに無いといかんわけで。
今は探索でBookを参照しているので、Bookアクセスには速度が必要なわけで。
Bookは重要だけど棋譜は既に重要ではないわけで。
棋譜はSDDに移そうかなと思っていたりします。
どうせ要所要所で保存しているわけだし、都度読み込めばみたいな。
(HDDは遅すぎるので論外かと)
ただ…今のロジックがメモリー前提なのと、棋譜ですら読み込みに数秒かかる
状態なので、できればメモリーに置いときたい。そもそも、大した容量じゃないし。
自分の場合、本体でBook読み込むのと、同時にZebraと突き合わせながら間違い
箇所探しで掘り進める用に、Bookを確認するプログラムも同時に動かしていて、
そちらでも同じサイズのBookを読み込まざるを得ないので、16Gのメモリーが
あっても、半分くらいに抑えておかないといけないという問題があります。
頭の片隅にバイナリファイルのランダムアクセスってのがちょこっとだけありますが、
それって自分用DBを作るようなものなので、悩み中。とはいえ、最終的にもしオセロ
の対戦プログラムにするのなら、今ほど探索時間気にするわけでもなし、動作環境
として要求するメモリー量が大きすぎるのもなんだかなぁと思っていたりもします。
113: 310 [sage] 2020/02/15(土) 00:35:39.59 ID:aU7p7RKo(2/2) AAS
そんな事より、対称形サポートして棋譜作っていたら、またF5f6系が全滅して
途方に暮れていたところで、知らぬ間に復活していたり。間違い可能性高い
パブリックドロー筋が復活したと思ったら、またダメだったり。
まだ棋譜作成が足りていないという事実に直面しています。
上下前次1-新書関写板覧索設栞歴
あと 523 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s