【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
上下前次1-新
198: 310 [sage] 2020/03/28(土) 00:29:51.53 ID:vtZj/mQ8(1/2) AAS
実現確率探索というか、ソース全体見直し版が、だいたいできました。
まだデバッグ全部済んだわけではありませんが、後はログメッセージなんかの
細かいところくらいの修正かなと。
実現確率探索自体は、棋譜作成にフックを入れる感じでの使用にとどめていますが、
しばらく動かして、結果がよさそうなら切り替えようかなと思います。というか、対戦版
作るときには、中盤探索は実現確率探索で行くと思います。
で、実現確率探索と呼んでいますが、実際のところは違います。本来の実現確率は
「プロ棋譜など別途棋譜集から、よく出てくる手を回帰分析で確率化したもの」で、
よく出る手については深く探索しましょうという内容です。自分の奴は、確率を1手読み
の評価値から生成しています。1手読みにした理由は、差分計算で速く計算できる
からです。というわけで、本来は別の名前にした方が良いのですが、ネーミングセンス
が無いので放置です(笑)
他にも、本来と違う形で実装してるけど、放置してある名前が結構ありますorz
199: 535 [sage] 2020/03/28(土) 21:52:44.02 ID:XqE/6uS7(1) AAS
囲碁AIでKatagoという凄く強いAIがあるのですがライフゲーム囲碁に流用できないかと思い始めた。
200: 310 [sage] 2020/03/28(土) 22:16:21.29 ID:vtZj/mQ8(2/2) AAS
見直し版のチェックを本番やりながら進めてます。
今のところ、学習の速度が30%程度ダウンしたものの、終盤探索の速度が
30〜50%高速化している感じ。どちらも原因不明。
201(1): 310 [sage] 2020/03/31(火) 00:30:27.16 ID:1mhY2vrp(1) AAS
見直し版で、遡りチェックで無駄な処理を見つけて直しました。
更に速度アップして、トータル50%強の速度アップとなりました。
まだ探索自体の速度は上がってませんが、まだ無駄があったとは。
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
今これ見てます。
外部リンク:github.com
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とかライブラリのバージョンも書いてあるので合わせたほうがいいかもですね
外部リンク:github.com
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日学習させてみます。
上下前次1-新書関写板覧索設栞歴
あと 414 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s