【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
1-

202: 310 [sage] 2020/04/01(水) 23:58:19.45 ID:SRR0rDGm(1) AAS
急に探索自体の速度アップを思い立ちまして、いくつか実行。

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

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

あと、もうちょっとやってみたい事があります。
203: 名前は開発中のものです。 [sage] 2020/04/02(木) 03:15:04.40 ID:iWlfdZP3(1) AAS
katago聞いたことない
alpha zeroは使わないの?
204: 535 [sage] 2020/04/02(木) 19:14:11.82 ID:9cAiWeM1(1/3) AAS
deep mindのオリジナルのalpha zeroは公開されてないはず。
github行くとクローンがいくつかあるけど。

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

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

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

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

件数少ない時に早くかつ安定ソートな方法が他にないか調べてみようかと思います。
208
(3): 535 [] 2020/04/10(金) 20:40:22.22 ID:KcO1uf/C(1) AAS
今これ見てます。
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: 指定されたモジュールが見つかりません。
209: 名前は開発中のものです。 [sage] 2020/04/12(日) 04:59:53.78 ID:DFViLwjz(1) AAS
その環境の内容見てないから詳しくはわからないけど…原因は大体これ

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

ちなみにこれはswigというのを使っていてC++をpythonから読めるようにしているようです。
library.pyと_library.pydが生成されてlibrary.pyから_library.pydをインポートするときにこけています。
211: 名前は開発中のものです。 [sage] 2020/04/13(月) 02:33:11.01 ID:q8ASrlIp(1) AAS
github見てみましたが、中国人が下で同じような質問してますね
buildディレクトリにコンパイルされたファイルを配置しないと駄目なようです
Pythonとかライブラリのバージョンも書いてあるので合わせたほうがいいかもですね

https://github.com/hijkzzz/alpha-zero-gomoku/issues/18
212: 535 [sage] 2020/04/13(月) 20:06:39.31 ID:E8a4txq0(1/2) AAS
ありがとうございます。
今python が3.6だったので3.7にしてみようとしたらpytorchがpipで入らず苦戦しています。
213: 535 [sage] 2020/04/13(月) 20:47:56.22 ID:E8a4txq0(2/2) AAS
結局python 3.8.2を入れたんですが駄目っぽいorz
やっぱ無理にでも3.7にすべきか…
214: 535 [] 2020/04/14(火) 20:06:25.38 ID:ezpleFZl(1/2) AAS
python 3.7.6を試してみましたが駄目。
pytorchももう1.1手に入らないっぽい。
手詰まりです。
215: 535 [sage] 2020/04/14(火) 23:01:32.97 ID:ezpleFZl(2/2) AAS
>>208 動いたらめっちゃよさそうなんだけど悔しいな〜
216: 名前は開発中のものです。 [sage] 2020/04/15(水) 20:25:07.80 ID:4FzrEabb(1) AAS
Ruby なら、require/load で相対パスで指定されたときに、ファイルを検索する時の場所は、$LOAD_PATH だけど、
Python にはそういうパスが無いのか?

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

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

_library.pyd
217: 535 [sage] 2020/04/15(水) 21:11:30.83 ID:rifVao0V(1/9) AAS
レスありがとうございます。

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

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

import _library.pyd はエラーになりました。
218: 535 [sage] 2020/04/15(水) 21:32:18.35 ID:rifVao0V(2/9) AAS
ん、neural_network_test.pyは動いた。
どういうことだ???
219: 535 [sage] 2020/04/15(水) 21:34:10.97 ID:rifVao0V(3/9) AAS
import libraryの前にimport torchをつければいいのか???もしかして
220: 535 [sage] 2020/04/15(水) 21:42:29.92 ID:rifVao0V(4/9) AAS
うおお、動いたっぽい!!!!
ありがとうございます!!
221: 535 [sage] 2020/04/15(水) 21:59:07.45 ID:rifVao0V(5/9) AAS
leaner_test.py train 動きました!!
GUIが起動してポチポチ自己対局を始めました!!
これは期待が高まる!!
222: 535 [sage] 2020/04/15(水) 22:01:14.83 ID:rifVao0V(6/9) AAS
とりあえず、五目並べでちゃんと強くなるかどうか2〜3日学習させてみます。
223: 535 [sage] 2020/04/15(水) 22:19:15.19 ID:rifVao0V(7/9) AAS
ん、GPUの使用率が1%くらいから上がりませんね。
でも0%じゃないからちゃんと使ってんのかな…
224: 535 [sage] 2020/04/15(水) 22:36:14.51 ID:rifVao0V(8/9) AAS
お、早くも石が中央に寄り始めた??
そうだとしたら凄い。
225: 535 [sage] 2020/04/15(水) 22:48:39.68 ID:rifVao0V(9/9) AAS
しかし、4すら止めないw。
ホントに0からの学習なんだなぁ
226: 535 [] 2020/04/16(木) 19:32:35.61 ID:y39ZfUyK(1/8) AAS
お、凄い!たった一日で五目並べっぽくなってる!
たまにそっぽ打つのは乱数でランダムな手を打つようになってるんでしょうね。
227: 名前は開発中のものです。 [sage] 2020/04/16(木) 19:37:25.76 ID:y39ZfUyK(2/8) AAS
うお、早くも人間(俺)に勝った!!
あり得ね〜〜〜!!!
228: 名前は開発中のものです。 [sage] 2020/04/16(木) 19:38:07.71 ID:y39ZfUyK(3/8) AAS
ヤバイ、これはヤバイww
229: 535 [sage] 2020/04/16(木) 19:40:53.49 ID:y39ZfUyK(4/8) AAS
15路という非常に広い盤面でここまで早く強くなるとは…
230: 535 [sage] 2020/04/16(木) 19:44:25.68 ID:y39ZfUyK(5/8) AAS
もう五目並べの学習は十分ですね。
となると次のステップはライフゲーム囲碁か囲連星を移植ですね。
231: 535 [sage] 2020/04/16(木) 19:54:51.08 ID:y39ZfUyK(6/8) AAS
ライフゲーム囲碁はパスを実装しないといけないからまずは9路囲連星かなぁ
232: 535 [sage] 2020/04/16(木) 20:15:49.42 ID:y39ZfUyK(7/8) AAS
すぐにでもコード書き始めたくなるけどぐっと我慢して>>208のソースを少し読み解かねば。。。
233: 535 [sage] 2020/04/16(木) 21:57:22.76 ID:y39ZfUyK(8/8) AAS
あれ、モチベすげー湧いてくると思ったのに意外とそうでもないな…
仕事で疲れてんのかな…
234: 535 [] 2020/04/18(土) 17:12:26.15 ID:FJQxs35t(1) AAS
実はライフゲーム囲碁を移植しようとしてたのですがパスの実装がやはり意外と難しそうです
9路囲連星に転進しようかな
235: 535 [sage] 2020/04/18(土) 20:23:03.93 ID:dW+TeRwf(1) AAS
は〜目の前に理想のalpha zeroがあるというのになぜかモチベが湧いてこない、踏ん張りがきかない。
さぼりモードに入りつつあるorz。
ていうか思ってるより移植が工数かかる作業なのかもしれない。
236: 535 [sage] 2020/04/19(日) 14:29:45.72 ID:w4GEcYV8(1/6) AAS
9路囲連星はコードを消失していたので19路囲連星を移植してます。
237: 535 [] 2020/04/19(日) 17:44:45.53 ID:w4GEcYV8(2/6) AAS
多分移植完了した。バグが無ければ。
学習フェーズへ移項します。
238: 535 [sage] 2020/04/19(日) 17:58:16.33 ID:w4GEcYV8(3/6) AAS
うーん。これGUIの盤のひろさとプログラム上での盤の広さが違いますね。
まあ論理的には整合性は取れているので見た目だけの問題なので放置。
239: 535 [sage] 2020/04/19(日) 18:02:39.80 ID:w4GEcYV8(4/6) AAS
まだ学習始めたばっかなので全然見当違いのところに打ちまくるの見てて切ないw
でもまあ、五目並べではわずか一日で人間(俺)に勝てるところまで来たのだから期待して待ちましょう。
240: 535 [sage] 2020/04/19(日) 18:42:21.72 ID:w4GEcYV8(5/6) AAS
メモリ10GBくらい使ってる。
思ったよりでかい。
241: 535 [sage] 2020/04/19(日) 21:12:09.10 ID:w4GEcYV8(6/6) AAS
GPUのファンが五月蠅い。
タスクマネージャーだと1%とかなのに。
タスクマネージャーじゃ使用率ちゃんと測れないのかな?
242: 535 [sage] 2020/04/20(月) 18:56:48.06 ID:fRC4t5vc(1/2) AAS
強くなってないと思ったら致命的なバグがorz
勝敗データをパイソンに渡す個所にバグがあったようです。
丸一日の学習がパーorz
243: 535 [sage] 2020/04/20(月) 21:27:15.82 ID:fRC4t5vc(2/2) AAS
ん、付けにははねよを覚えたっぽい?
だとしたら凄い。
244: 535 [] 2020/04/21(火) 20:44:10.63 ID:JovHD0OJ(1) AAS
1日学習させたけど強くなってるように見えませんね
15路五目並べと19路囲連星じゃ勝手が違うか
とりあえず1週間位は粘ってみます
245: 535 [sage] 2020/04/22(水) 18:48:41.18 ID:mXEm0GNy(1/4) AAS
強くなってませんね。
完全なランダムでないにせよ。
もう少し様子見します。
246: 535 [sage] 2020/04/22(水) 20:21:27.03 ID:mXEm0GNy(2/4) AAS
は〜じれったい。ハード性能があと10000倍くらいあればな〜
247: 535 [sage] 2020/04/22(水) 20:23:13.93 ID:mXEm0GNy(3/4) AAS
むしろ一生懸命7並ばないようにしているとさえ思えるw
バグなのかなぁ
248: 310 [sage] 2020/04/22(水) 20:43:03.08 ID:ZptezZKq(1/2) AAS
相変わらず棋譜作成中。

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

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

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

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

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

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

専門書買ってコード見て勉強した方が早いんだろうけど、まあ、しばらく楽しみます。
285: 535 [sage] 2020/05/12(火) 21:24:42.90 ID:autiDqQV(1/2) AAS
1ゲームすら勝てない…
何が悪いんだ?
286: 535 [sage] 2020/05/12(火) 21:56:06.70 ID:autiDqQV(2/2) AAS
いままで新旧のAIを比較するとき10戦中6勝以上でAI更新にしてたのを50戦中30勝以上で更新にしてみます。
もしかしたら試行回数が少なすぎて弱くなっていてもAI更新してたかもしれないので。
287: 310 [sage] 2020/05/12(火) 23:05:51.81 ID:AcB4a3UT(1) AAS
うぬぬ。DB化は並列諦めてみたけど、やはり更新が遅すぎる。
もうちょっと工夫してみるけど。
288: 535 [sage] 2020/05/14(木) 19:16:54.03 ID:7UgQPtyV(1) AAS
ただ待ってるだけってのもつらいな。
結果も出ないし。
289: 535 [sage] 2020/05/15(金) 18:59:37.53 ID:55GCUZ0E(1/3) AAS
心が折れそうorz
290: 535 [sage] 2020/05/15(金) 19:20:34.85 ID:55GCUZ0E(2/3) AAS
自己対局みてると結構強そうに見えるだけどな。
公式AIと対局すると勝てねんだよな。
291: 535 [sage] 2020/05/15(金) 19:53:09.72 ID:55GCUZ0E(3/3) AAS
ギブアップです。
何か次のこと考えよう。
292
(1): 名前は開発中のものです。 [age] 2020/05/16(土) 11:39:42.73 ID:n0PK2vlL(1) AAS
AlphaGoは計算資源をコスト度外視で使って1000年分対局してるから……
293: 名前は開発中のものです。 [] 2020/05/16(土) 15:42:40.24 ID:G8tru4l4(1) AAS
IT掲示板群 http://x0000.net/forum.aspx?id=15

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

simulationライブラリで純粋な関数式プログラミングをする
http://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
http://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
http://x0000.net/topic.aspx?id=3709-0
4Dエンジン
http://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
http://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
http://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
http://x0000.net/topic.aspx?id=3675-0
294: 535 [sage] 2020/05/16(土) 18:10:49.03 ID:BsSPHqoG(1) AAS
>>292

     / ̄⌒⌒ヽ
      | / ̄ ̄ ̄ヽ
      | |   /  \|
    .| |    ´ ` |
     (6    つ /   ちくしょう・・・
    .|   / /⌒⌒ヽ
      |    \  ̄ ノ
     |     / ̄

  ,冖 ,、  冖   / //      ,. - ―- 、
 `,-. -、'ヽ' └ァ --'、 〔/ /   _/        ヽ
 ヽ_'_ノ)_ノ    `r=_ノ    / /      ,.フ^ー- j
  ,冖 ,、   ,へ    /  ,ィ     /      \
 `,-. -、'ヽ'   く <´   7_//     /     _/^  、`、
 ヽ_'_ノ)_ノ    \>     /       /   /  _ 、,.;j ヽ|
   n     「 |      /.      |     -'''" =-{_ヽ{
   ll     || .,ヘ   /   ,-、  |   ,r' / ̄‐-..,フ!
   ll     ヽ二ノ__  {  / ハ `l/   i' i    _   `ヽ
   l|         _| ゙っ  ̄フ.rソ     i' l  r' ,..二''ァ ,ノ
   |l        (,・_,゙>  / { ' ノ     l  /''"´ 〈/ /
   ll     ,冖 ,、  >  >-'     ;: |  !    i {
   l|     `,-. -、'ヽ'  \ l   l     ;. l |     | !
   |l     ヽ_'_ノ)_ノ   トー-.   !.    ; |. | ,. -、,...、| :l
   ll     ,冖 ,、 |\/    l    ; l i   i  | l
   ll     `,-. -、'ヽ' iヾ  l     l   ;: l |  { j {
   |l     ヽ_'_ノ)_ノ  {   |.      ゝ  ;:i' `ー‐-' }
. n. n. n        l  |   ::.   \ ヽ、__     ノ
  |!  |!  |!         l  |    ::.     `ー-`ニ''ブ
  o  o  o      ,へ l      :.         |
295: 535 [sage] 2020/05/18(月) 18:55:35.95 ID:ErVFXYqV(1) AAS
次のアイディアもなくすっかりさぼりモード
296: 310 [sage] 2020/05/18(月) 21:57:15.59 ID:lyHQ6R5E(1/3) AAS
Hash関数変更
DBのハッシュキーの効率が悪かったので、ちょっと考えてみた。
今まではshuffle_epi8でバイト単位シャッフルしていたのを、BMIのpextでビット単位の
シャッフルと、rotateしたものを、xorでまとめていく方法。以前よりは、ちょっと良くなった
気がする。

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

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

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

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

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

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

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

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

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

Book更新時のDAG回避は、かなり悩ましい。というか頭がこんがらがる。
未使用Hashの期待値計算も頭が未だにこんがらがってます。。
300
(1): 名前は開発中のものです。 [sage] 2020/05/20(水) 03:14:41.24 ID:kE3dJxL+(1) AAS
お姉さん問題で有名な、北大の湊教授のZDD を使えないの?

本も出てる
301: 535 [sage] 2020/05/20(水) 16:25:53.99 ID:BUng/tdF(1/2) AAS
katagoを使った9路囲碁の巨大Book作成、やってみようかなぁ。
難しそうだけど。
1-
あと 335 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s