[過去ログ] 【オセロ,将棋】ボードゲーム Part2【囲碁,War】 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
616: 310 [sage] 2019/01/22(火) 00:34:53.58 ID:9pySCUmT(1) AAS
赤黒木大体できたけど…ただの二分木よりほんの少し遅い…。

元々ハッシュでランダマイズしているから、二分木の末端ノードまでの深さは
綺麗な正規分布になっていて、赤黒木にしても木の最頻高さで3割程度しか
小さくならないという事で、ツリーを修正するオーバーヘッドが効いているのか、
それとも木全体でしか排他できないのが原因なのか。

もうちょっと調べてから諦めます。
617: 535 [sage] 2019/01/22(火) 22:52:21.02 ID:jAP2hLDv(1/3) AAS
要素が100個未満ならぶっちゃけvectorでいいと思いますが。。。
618
(1): 535 [sage] 2019/01/22(火) 23:02:42.33 ID:jAP2hLDv(2/3) AAS
前も同じこと言ったような気がするけど、学習させるなら局面の勝率より次の一手のほうがいいのだろうか?
619
(1): 名前は開発中のものです。 [] 2019/01/22(火) 23:17:25.29 ID:LaaXTOn4(1) AAS
いまきたんですがここはどんなゲームを開発してるんですか
じぶんで開発したとして対戦相手=プログラムありますか
620: 535 [sage] 2019/01/22(火) 23:34:54.50 ID:jAP2hLDv(3/3) AAS
>>619
とりあえず、落ち着いて。
過去ログから読んでください。
621: 310 [sage] 2019/01/23(水) 01:56:46.43 ID:QHWWUXAJ(1/2) AAS
置換表に使ってるので要素数は現在残り28手で100万超える事もあります(汗
まあ、βカットの具合でだいぶ変わるので、学習進むと減るんですが。
最低でも残り30手まで行くつもりなので、1000万くらいは想定したいです。

次の一手ソート用の配列は、Array型にしています。32個確保すれば足ります。
こちらも比較したところ、明確に速度差がありました。この辺から、領域をチマチマ
確保されるオーバーヘッドが気になりだした次第です。

で、赤黒木ですが、実装が悪いのだと思いますが、現時点で2分木と比較して
およそ3倍時間がかかります。シングル動作でも同じくらいの差になるので、
排他待ちではなく、木のつなぎ替え処理の重さが原因かなと。置換表は追加が
の比率が大きいので、ポインタたどるロスは優位ではない感じ。

というわけで、赤黒木はちょっと放置。

というか、二分木もシングル動作は10倍くらい速い感じなので、今一度シングル
探索の並列化を試そうと思っています。
622: 310 [sage] 2019/01/23(水) 02:07:28.76 ID:QHWWUXAJ(2/2) AAS
>>618
min-Max前提だと、探索値を求める際には勝率(点数)が必須で、
次の1手評価関数はオーダリングや前方枝刈向きではないですか?
探索深さ1なら次の1手で行けますが。

初代アルファ碁も、両方組み合わせていますが、次の1手評価関数で
手の優先順位をつける事で読み深さを実現した変則mctsで、最終的には
評価値で判断していますよね。
623: 535 [sage] 2019/01/23(水) 20:43:46.28 ID:B65SvCza(1/3) AAS
ふーむ、勝率のほうが応用が利くってことですかね?
もうしばらく勝率で学習させてみます。
624: 535 [sage] 2019/01/23(水) 21:07:20.14 ID:B65SvCza(2/3) AAS
ついネットワークを大きくしたくなっちゃうけど。
本当は小さいネットワークでエポック数を稼いだほうがいいのかもしれない。
625: 535 [sage] 2019/01/23(水) 21:28:27.72 ID:B65SvCza(3/3) AAS
そういえば、対称局面も学習データとして使ったほうがいいんでしたっけ?
626: 310 [sage] 2019/01/24(木) 01:32:42.88 ID:cGqmeFv+(1/3) AAS
囲連星は初期配置ないんでしょ?
だったら対象局面ありの方が良いと思う。

オセロは悩み中。
初手をF5固定にした時に、本当に対称局面が出てくるのかわからない。
対称局面が同じ重要性で生じないのであれば、評価値を希釈しちゃうだけ。
学習の時間も単純に倍々で増えるので、今はやっていない。

強いて言うなら、F5F6E6の次がF4とD6で斜め対称になるので、ここだけは
記譜作成時にはF4固定にして、D6の対称局面を作っている。
627: 310 [sage] 2019/01/24(木) 01:49:46.37 ID:cGqmeFv+(2/3) AAS
置換表自作の件、目的を見失っている(汗
一旦リセットして、最初からやり直して、当初の目的に戻ろうと思うorz
628: 578 [sage] 2019/01/24(木) 01:53:14.72 ID:mzMMzuaC(1/2) AAS
私は教師データの数が8倍になるのは大きいと思って対称局面も入れて学習させてます
とくにDeep Learningさせてると(ネットワークの規模にもよりますが)だいぶ過学習しなくなります
もっとも、Deep Learningするんだったら対称性を考慮したネットワークにしたほうがいいのかもしれないですが・・・
629: 310 [sage] 2019/01/24(木) 02:08:25.51 ID:cGqmeFv+(3/3) AAS
着手できる場所の自由度が高いゲームは回転させるべきだと思う。
オセロは着手可能場所が限られるので、現れない局面が結構ありそう。

ちなみに、オセロは8倍じゃなくて4倍。初期配置が4対称だから。
囲連星は初手天元固定なのかな?
630: 578 [sage] 2019/01/24(木) 07:09:21.18 ID:mzMMzuaC(2/2) AAS
>オセロは8倍じゃなくて4倍
たしかに棋譜で考えると4対称しか無いですね
今のところ、学習させるときには現局面しか渡してないので、
90度回転で一致する局面が存在するかもしれないから8倍で良いはず…
631: 535 [sage] 2019/01/24(木) 22:03:23.55 ID:gSjgdU9w(1/2) AAS
うーん。今のやり方だとLV0やLV1とはいい勝負になるけどLV3には一生勝てないかも?
出来れば自己対戦による強化学習とか取り入れたいな〜

対称局面もやってみますね。
632: 535 [sage] 2019/01/24(木) 22:45:59.18 ID:gSjgdU9w(2/2) AAS
なんか長時間計算回してると画面が真っ暗になってマウスやキーボード押しても復帰しないことがあるんだが?
スリープは解除してるはずなんだけどなんなんだろう?
633: 535 [sage] 2019/01/25(金) 23:18:39.41 ID:gNQn5rdl(1) AAS
LV0ってやっぱ棋力低いな。
そんなLV0といい勝負の俺のAIもあれだけど。
やればやるほどLV3の完成度の高さが際立つ。
634: 310 [sage] 2019/01/26(土) 17:00:37.38 ID:VyVaK4H+(1) AAS
自作置換表ですが、大体のところがまとまりました。
結局のところ、unordered_mapを作っていた形になります(汗

当初は領域の追加について、データ部分をまとめて追加する方向で改造し、
ハッシュ配列については22ビット固定で、高速化をしました。で、ハッシュ配列が
22ビット固定は芸がないと、二分木・赤黒木などを試しましたが、速度大幅低下。
要するに、unordered_mapにmapを組み合わせて、ハッシュのメリットを相殺して
しまっていたという事で。

最終的に、ハッシュ配列の追加方法をようやく思いつき、組んでみたところ、それが
そのままunordered_mapのrehashだと気が付きました(汗。その後、max_load_factor
などを追加して、unordered_mapと条件を揃えて速度比較となりました。

iteratorと削除が無い分だと思いますが、unordered_map、concurrent_unordered_map
に対して、それぞれシングル版、concurrent版とも若干高速になりました。

新たな課題は…stlも自作版も、どちらも並列に動かしたconcurrent版の方が遅いと
言う事です。もともとそういうものなのか…テスト方法が並列向けじゃないのか。
635: 535 [sage] 2019/01/26(土) 17:38:15.71 ID:VGsbBdjp(1/13) AAS
8対称はメモリがやばいので4対称にします。
4対称で16GB位食ってる。
636: 535 [sage] 2019/01/26(土) 17:54:22.18 ID:VGsbBdjp(2/13) AAS
思い切っていいPC買ったけどまだ足りないとかorzorzorz
ケチらず64GB積むべきだったか?
637: 535 [sage] 2019/01/26(土) 18:59:37.97 ID:VGsbBdjp(3/13) AAS
1エポック4539秒
これは厳しいorzorzorz
GPUが使えれば…
638: 535 [sage] 2019/01/26(土) 19:45:15.05 ID:VGsbBdjp(4/13) AAS
ん、1エポック目だけど損失がかなり少ない。。
対称局面を入力とすることで特徴量がよりはっきりしたということだろうか?
639: 535 [sage] 2019/01/26(土) 19:46:56.43 ID:VGsbBdjp(5/13) AAS
ん、動きが断然よくなってる?
まだわからんが。
640: 535 [sage] 2019/01/26(土) 19:53:15.64 ID:VGsbBdjp(6/13) AAS
対称局面学習以前はどちらかというとランダムに近かったが
対称局面学習以後はどちらかというと知性があるっぽく見える。
まだわからんが。
1-
あと 362 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.012s