【オセロ,将棋】ボードゲーム Part2【囲碁,War】

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2017/10/15(日) 17:34:58.03ID:RaMh0le2
比較的地味なボードゲーム専用のスレが欲しくて立ててみました。

前スレ
【オセロ,将棋】ボードゲーム【囲碁,War】
http://mevius.2ch.net/test/read.cgi/gamedev/1057763418/
179535
垢版 |
2017/12/27(水) 22:57:18.00ID:SLxZ+o46
黒番で13勝7敗
だいぶ追い上げられたorz
でも連続対戦ちゃんと動いてるようで嬉しい。
180310
垢版 |
2017/12/28(木) 00:14:18.22ID:p44JRClR
やっぱりintでオーバーフローしてた(汗。仕方無いのでint64で。doubleでも
メモリーサイズは一緒だけど、intの方がオーバーフローがわかりやすい。

あと、効果あるかわからないけど、置換表再利用回りをちょっと機能追加。

途中でゲーム終了になった時のスコアカウントですが、FFO計算をチェックに
使っている関係で空白マスを勝者総取りにしています。しかし、学習の時には
空白マスを含めない方が回帰の計算的には良いのではないかなと思い始め
ています。MCTS的には終局判定を入れてあり正しく終局時スコアを返すので、
あくまで学習時だけの話です。

ただ、記譜を経由していればスコア再計算で良いのですが、置換表に溜まって
いる盤面情報では、アメリカルールのスコアを割り出しようが無いという…。
181535
垢版 |
2017/12/30(土) 18:56:09.79ID:YPjfi6f/
実家に帰省しました。
DB作成を流しっぱなしにしてきたので
正月あけどれくらいデータ取れてるか楽しみ
182名前は開発中のものです。
垢版 |
2017/12/31(日) 18:54:54.44ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

G32792G4ML
183535
垢版 |
2018/01/04(木) 19:09:06.91ID:mx9U9VEK
ふむう。学習は大分進んだと思うのですが、勝率が思うように上がりませんね。
184535
垢版 |
2018/01/04(木) 19:40:03.61ID:mx9U9VEK
もうちょいヒューリスティック入れるか…
185535
垢版 |
2018/01/04(木) 20:05:05.60ID:mx9U9VEK
leela zeroがもう有段者くらいの実力をつけているらしい。
もういちどleela zeroパクれるか検討するか?
うーむ。
186310
垢版 |
2018/01/05(金) 08:48:12.97ID:DiPIPsFr
年末年始で学習進めてました。
学習が進んだ結果、33〜35手目あたりは正確になり、評価値の精度が上がった
事からオーダリングが機能するようになり、遡りチェックの時間は少しづつ減ってきて
いる感じですが、30〜32手目以前はまだまだばらつきがある感じです。

また、以前から気になっていたのですが、MCTSによる記譜作成では35手目以後で
急に頻繁に手を間違える症状が出ています。記譜を膨らますにはちょうど良いので
放置していましたが、いよいよバグ探しを開始。やっぱり、並列処理の排他が不十分
で、末端ノードまでたどり着いて同じノードに探索が集中した時に、スコアの更新が
ぶつかっておかしな値になる事で、別のノードを探索。また探索が集中し、スコアが
狂い別のノードを探索という感じになっていた模様です。

修正したら大幅スピードダウンしてしまいましたが、精度は上がりました。
速度を持ちなおせるか色々調べましたが、ちょっと厳しい感じです。
187310
垢版 |
2018/01/08(月) 02:22:41.34ID:hx3YjBuD
記譜作成ですが、スコア差が大きなものが少ないため、ランダム着手の所に手を
加えてみましたが、今度は極端になりすぎて、パーフェクト勝敗な記譜が増えて
しまいました。どうしよう。

スピードダウンの影響は結構大きく、探索の終盤で、同じツリーに対する探索が集中
するためか、さらに大きく速度低下し、今度はそちらが原因で終盤間違えるように
なった感じです。あちらを立てればこちらが立たずです。

当初は、こういう問題はなかったはずなので、過去のソースを見直してみるつもり。
188535
垢版 |
2018/01/08(月) 19:56:33.71ID:NhsCP7en
alpha zero を参考にしたプロジェクトがgithubにいくつかあるんですがパクれないか物色中。
オセロやコネクト4もあるみたいですね。
189310
垢版 |
2018/01/08(月) 21:48:13.88ID:hx3YjBuD
ありゃ。すでにあるんだ。
たぶんディープラーニングしてるんだろうなぁ。

そりゃそうと、CPUのバグの影響どうなんでしょね。
あまりに時間がかかるので、ちょっと辛い。

記譜作成やめて、ひたすら強化学習にしてみようかなぁ。
後は細かい精度なので、その方が早い気がしてきた。
190310
垢版 |
2018/01/08(月) 22:10:59.88ID:hx3YjBuD
わかりにくい文章でした。

「あまりに時間がかかるので、ちょっと辛い。」

は、現状の学習方法だとあまりに時間がかかるので、やはり新PC欲しいんだけど、
CPUバグの話が出たので、ちょっと様子見すべきかどうかって事です。

ただ、MCTSで排他待ち合わせによる速度低下が出ているのと、読み切り探索では
並列探索の効果が頭打ちになりやすいので、本当にCPUに投資した効果があるの
かが不安になってきている面もあります。

むむむ。
191535
垢版 |
2018/01/08(月) 23:14:47.03ID:NhsCP7en
並列化で速度出すのは結構難しいですよねぇ
まあメモリ増やすだけでも大分違うかもですが。

python 読めるようになったほうが後々いいんだろうなぁ
でもメンドクサイw
192535
垢版 |
2018/01/10(水) 22:40:05.04ID:woZtUoWo
アルファゼロを参考にしたコネクト4のプロジェクトのパイソンコード読んでるんですが
パイソンということを差し引いても結構難しいんだろうなって感じ
193535
垢版 |
2018/01/10(水) 23:42:39.94ID:woZtUoWo
パイソンだからコード眺めるだけでどうせ動かせないやと諦めるのではなく
実際に実行できるところまでこぎつけるべきだろうか
194535
垢版 |
2018/01/10(水) 23:57:49.33ID:woZtUoWo
うーんこれlinux用なのかなぁ
Cygwinじゃきびしいかなぁ
195310
垢版 |
2018/01/11(木) 22:33:43.61ID:TAFrfVFR
しばらく学習しっぱなしというか、デバッグしながら中途半端に遡り状態で放置した
記譜をガッツリ遡りチェック中なので暇です。で、よからぬ蟲が疼きだして、そろそろ
ボードを作ろうかと思い始めました。ソース消失前は、min-Max版時代のボードが
あったのですが、また作り直しです。

オセロにも碁盤ソフトみたいなのがあれば良いのですが、無いようなので自作を検討。
囲碁のGTPみたいなプロトコルを作って、思考エンジンとGUIを分離できたら良いなぁと。

というわけで、匿名パイプを使ったプロセス間通信について勉強してました。
サンプルコードが10年前のC言語しかなくて解読に苦労しましたがエコーサンプル
を修正しながらテスト。coutとcerrを別パイプに分離して、スレッド管理はPPLにお任せ
にするところまでやって、ようやく納得。

ボードGUI作って、プロトコル決めて、AIエンジン部を対応させてと、まだまだやる事が
ありますが、最終的には自動対局までできたら良いなあと。リソースの限界はあります
が、パラメータで強弱が出そうなので、客観的に評価したい。

というか、GUIの作り方から学習し直しだ…
GUI触りたくないからボードソフト探していたのに、無いから自分で作るという罠。
196310
垢版 |
2018/01/11(木) 22:48:49.47ID:TAFrfVFR
>>191
色々見直して、若干速度は回復しましたが、最初にRollout外した時のびっくりする
ほどの速度は出なくなっちゃいました。ただ、時々瞬間的に速い時があるので、
単純ではないかもしれません。


30手過ぎるとどんどん選択しが狭まっていきますので、ツリーサイズは小さくなって
いきます。ここで、一部の手に探索が集中して、100万探索単位で追加探索したとき
にようやく他の枝を調べ始めるようで、それでもツリーサイズはそれほど大きくならない
ので、メモリーはそれほどボトルネックになっていない感じです。

UCB1のCをいじったり、ポリシーの探索比率をいじったりして様子をみていますが、
あまりフラットに探索すると、正解にたどり着けないまま終盤を迎えてしまうし、
かといってスティープに探索すると、間違いを訂正するまでの追加探索が大量に
必要になるしで、調整が難しいです。そもそも評価関数の精度が十分じゃないと
言う事なんだと思います。
197535
垢版 |
2018/01/13(土) 21:35:44.20ID:yngzNrQg
コネクト4、マルチスレッド化されてるみたいですね。
何か読みにくいと思ったら。
198535
垢版 |
2018/01/13(土) 22:44:48.29ID:yngzNrQg
多分、コードに飛びつくのはまだ時期尚早なんだろな。
もうちょっとAlphaZeroの基本アイディアを理解してからじゃないと。
199310
垢版 |
2018/01/14(日) 01:33:25.53ID:Wql34YtP
コネクト4のGitHUBってどこにありますか?
ちょっと見てみたいかも。

GUI作ろうと思って調べたら、VS2017からなんかだいぶ変わっているみたいです。
MFCは非推奨との事で、ユニバーサルWindowsとかってやつと、あとはCLRですか。
両方試してみようとしたのですが、ユニバーサルWindowsはWindows10じゃないと
ダメっぽい。CLRはなんかエラーで動かない…。他にもC#だと楽だとか色々ある
みたい。MFCは使えるのですが、もう忘れたし、面倒くさかった記憶しかない(汗
C#で作るって手もあるみたい。

とりあえずC#を勉強してみようかなぁというところです。
脱線しすぎだなぁ。
200535
垢版 |
2018/01/14(日) 17:46:25.82ID:NeYy2Zy+
https://github.com/Zeta36/connect4-alpha-zero
これです
201名前は開発中のものです。
垢版 |
2018/01/15(月) 19:10:16.04ID:SOjHonZe
>>310
オセロ用の確立された GUI はありませんが、
nboard
http://www.orbanova.com/nboard/
xboard / winboard (alien edition)
http://hgm.nubati.net/alien.html
Othello Engine Protocol (cassio)
http://cassio.free.fr/engine-protocol.htm
Edax はいずれもサポートしているので、プロトコルは
ソースでも見られます。
202535
垢版 |
2018/01/15(月) 22:46:04.01ID:iBxpq5YC
310さんと私以外の書き込みがあるとは珍しいですね。
実はROMも意外といるんだろうか
203310
垢版 |
2018/01/16(火) 01:56:04.23ID:8d/ib1bw
>>200
どもです。ダウンロードしてみました。
酔っぱらって帰ってきたところなので、明日以後見てみます。

>>201
ありがとうございます。
cassioはmin-Max前提みたいですね。
nboardとxboardは明日以後見てみます。

とはいえ、もうすでに作り始めてしまいました(汗
c#はVBみたいな感じですね。10年くらいVBも触っていないので、VB自体も
昔とはだいぶ違うんだと思いますが。

まずは匿名パイプでのやり取りまで確認できました。
色々なソースのつぎはぎでわけわからんけど、何とかC++とAPIで作ったサーバ
側と同じ動作するものが動いています。
204535
垢版 |
2018/01/18(木) 00:27:09.66ID:+dGVWc2f
GitHubでウインドウズでも簡単にビルドできそうなAlphaZeroクローンを物色中。
205201
垢版 |
2018/01/19(金) 19:49:16.63ID:nx2VVS4x
ところで、
Learning to Play Othello with Deep Neural Networks
https://arxiv.org/abs/1711.06583
はチェックされていますか?
206310
垢版 |
2018/01/20(土) 13:01:59.38ID:Zq3gts8j
>>205
ありがとうございます。
さっそくダウンロードしました。
207535
垢版 |
2018/01/20(土) 23:55:57.24ID:1Kz+zB3+
いろいろ試してみてるけどスキルが足りなくてどれもうまくいかないデスネ。
今これ見てます。
https://github.com/adepierre/Caffe_AlphaZero
208535
垢版 |
2018/01/21(日) 00:31:51.93ID:qH0IRvSF
ん〜なんかアンチウイルスソフトが警告だしてきたorz
どうしようかな…
209535
垢版 |
2018/01/21(日) 23:00:34.14ID:qH0IRvSF
gflagsとかglogとかいうのが必要らしいんだが
アンチウィルスソフトが勝手に何か裏で削除してるらしく
うまくmakeできないorz
なんなんだこれは?
210535
垢版 |
2018/01/25(木) 20:47:17.06ID:deBVwh8E
モチベ保てなくてガッツリサボリ中w
仕事が忙しいのもあるけど
211310
垢版 |
2018/01/27(土) 00:56:40.42ID:0QPAoXtC
自分もGUIでモチベ保てず、がっつりさぼり中。

技術的に難しそうな事は気合入るんだけど、どっちが黒番とかのラジオボタン
をどうしようかとか考え出すと、思考が止まってしまう(汗

一つの項目で諦めがつくまでに3日づつかかっていますorz
212535
垢版 |
2018/01/27(土) 23:18:12.98ID:EzLPwnOa
http://postd.cc/alphago-zero-how-and-why-it-works/
これ読んでます。
とりあえず、一旦コードから離れて基礎知識を充実させる方向で。
213310
垢版 |
2018/01/28(日) 17:18:05.66ID:0oeW9Kee
GUIのパスの処理を真剣にチェックしだしたら、特定のケースで動作が
おかしいので、丸々一晩デバッグしていました。ケースは特定できてた
のですが、ぱっと見まったく原因がわからず。

C#はオブジェクトを代入すると参照になるのでした。やられた。
やっぱCというのは名前だけですね。
214535
垢版 |
2018/01/28(日) 23:56:16.68ID:yuGXDS1r
https://github.com/junxiaosong/AlphaZero_Gomoku
すいません。またコード見始めてます。
多分これがウィンドウズで動かすの一番簡単な奴な気がするw
215535
垢版 |
2018/01/29(月) 20:05:24.91ID:WXPd8Jtc
human_play.pyでモンテカルロAIは動いたけど深層学習AIが動かないorz.
theanoとかいうライブラリが上手くインストールできてないっぽいorz
216535
垢版 |
2018/01/29(月) 20:08:40.86ID:WXPd8Jtc
うう、心が折れそうorz
217535
垢版 |
2018/01/29(月) 21:03:35.36ID:WXPd8Jtc
こんなエラーが出るんだが何がないって言われてるのかわからん。
誰かわかる人いる?

...
File "C:\Python27\lib\site-packages\theano-1.0.1+unknown-py2.7.egg\theano\gof\
lazylinker_c.py", line 127, in <module>
preargs=args)
File "C:\Python27\lib\site-packages\theano-1.0.1+unknown-py2.7.egg\theano\gof\
cmodule.py", line 2359, in compile_str
(status, compile_stderr.replace('\n', '. ')))
Exception: Compilation failed (return status=1): /usr/x86_64-w64-mingw32/bin/ld.
exe: error while loading shared libraries: ?: cannot open shared object file: No
such file or directory. collect2: error: ld returned 127 exit status.
218535
垢版 |
2018/01/29(月) 23:39:21.86ID:WXPd8Jtc
ライブラリに互換性がないって言われてるような気がする。
Cygwinに入ってるライブラリは互換性ないってことか?
どこでライブラリ入手すりゃいいんだ??
219310
垢版 |
2018/01/31(水) 00:01:03.41ID:EjEC4Ae7
すまん。わからんけど、collecdt2というフォルダ(ファイルかも)が無いと言ってる?

こちらは、どうしても画面が崩れてしまうので、最初から作り直し。
原因は、トップのFormでauto resizeをtrueにしていた事でした。

ゲームの進行を上手に管理する方法が無いか考えていると、つい寝てしまうorz
220535
垢版 |
2018/01/31(水) 20:29:33.40ID:u/gx4uXy
すいません。
コマンドプロンプトで実行したら>>217のようなメッセージでライブラリ名わからなかったのですが
Cygwinで実行したらライブラリ名が出てきました。
それぞれ4行づつ同じ行が出るのですが1行に削って張ります。

library stdc++ is not found.
library mingw32 is not found.
library gcc_s is not found.
library gcc is not found.
library moldname is not found.
library mingwex is not found.
library msvcrt is not found.
library advapi32 is not found.
library shell32 is not found.
library user32 is not found.
library kernel32 is not found.
library mingw32 is not found.
library gcc_s is not found.
library gcc is not found.
library moldname is not found.
library mingwex is not found.
library msvcrt is not found.

これに続いて同じ名前のライブラリはあるけどコンパチブルでない的なメッセージが出ています。
221535
垢版 |
2018/02/04(日) 02:31:39.86ID:8N3h1IXY
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
動いたっぽいです。
Theanoってライブラリのバージョンが0.7.0じゃないといけないみたいです。
ここまでめっさ時間かかったorz
遅れを取り戻さんとな。
222535
垢版 |
2018/02/04(日) 18:58:20.09ID:8N3h1IXY
せっかく動いたけどpython読む根性がなかなか湧いてこない。
つか多分pythonじゃなくても読むのしんどいんだけど。
223310
垢版 |
2018/02/04(日) 20:16:17.17ID:Wmf+lsae
他人のコードは読みづらいですよね。
1年前に書いた自分のコードもですがorz

Theano動作おめでとうございます。良かったです。

こちらは…GUI作るのに嫌気がさして、学習部をいじっていましたが、
そろそろ〜30手の評価関数もそれほど酷いものではなさそうな気がしてきて、
中盤探索9手読み(なんの工夫も無し)で記譜作れる事に思い至りまして。
つまり、MCTSより短時間で記譜作成できると…。
この学習で、もし中盤探索の読みがそこそこな精度になってしまったら、
そもそもMCTSにする意味ないじゃんという現実からいかに目を背け続けるか
という戦いが始まりました(涙
224535
垢版 |
2018/02/05(月) 18:27:38.68ID:Q1ssK5oS
やはりこの業界で生きていくには
パイソンの習得は必須…
225535
垢版 |
2018/02/05(月) 20:15:05.78ID:kkO201mJ
ということでパイソンの入門本買ってきました。
とりあえず囲連星のルールを実装してみます。
226310
垢版 |
2018/02/05(月) 23:37:11.58ID:tGe3CIWd
相変わらず、GUIから逃げています。

アルファ碁でいうところのポリシーネットの学習を放棄して、代わりに評価値から
P(UCT探索に対する絞り込み項)を生成していましたが、これをQ(UCT探索の
予想スコア:これまでの探索の加重平均)から、1プレイアウト毎に再計算するよう
にしてみました。

多少探索速度は落ちますが、良い感じかなぁ。
227535
垢版 |
2018/02/08(木) 20:36:12.73ID:BwB5Lh8w
パイソン入門本、一回通して読もうとしてますが、ページ数あって結構大変。
コード書きながら読んだほうがいいかなぁ。
228310
垢版 |
2018/02/09(金) 23:42:10.85ID:XzN5+u9b
新言語習得はストレスですよね。
C#ですら混乱して、C++に帰りたくなってます(汗

というか、メモリー管理できないC#にいらついて、記譜作成回りをいじって
慰みにしています。中盤探索に置換表を足して、反復深化っぽくしてみま
したが、あんまり早くならなくてがっかり。


Python本はまだ買ってません。ウェブ上の入門を眺めたくらいです。

Pythonは構造やら変数の型の考えやら、落とし穴になりそうなところが
色々とありますね。計算式だけ見ていればわかったような気になりますが、
どういう順番で処理が進むのか、慣れないとわからん感じ。
229535
垢版 |
2018/02/10(土) 21:27:45.30ID:DQEki32w
パイソン、変数の型の宣言がないから他人のコード超読みずらいorz
引数に何与えていいのかとかパッとわからないorz
230535
垢版 |
2018/02/12(月) 00:17:40.24ID:eWCzbr3d
9路囲連星の最低限のルールをパイソンに移植しました。
これからテストします。
231535
垢版 |
2018/02/12(月) 02:17:04.85ID:eWCzbr3d
おおむねバグ取れたっぽい
あとはこれを>>214に移植できれば…
232535
垢版 |
2018/02/12(月) 20:42:28.11ID:eWCzbr3d
他人のコード読むの辛いおT△T
これはかなり時間かかる…
233535
垢版 |
2018/02/12(月) 22:23:10.54ID:eWCzbr3d
うーん、なんかこのコード五目並べのルールにべったり依存してる感じなのかなぁもしかして。
複数のゲームに対応しているAlpha Zeroプロジェクトのコードを見たほうがゲームのルールが分離されてるのかもしれないなぁ
一応、別のプロジェクトに手を出すことも視野に入れるか…
234535
垢版 |
2018/02/12(月) 23:45:59.40ID:eWCzbr3d
アルファゼロって数手前の履歴情報が必要らしいけどなんでこんなものがいるんだろう?
謎だ…
235310
垢版 |
2018/02/13(火) 13:07:22.56ID:SwoVylIU
アルファ碁の論文に書いてあったかな。次の1手的には意味なさそうだけど、
有った方が強くなるので外せなかったみたいな事が書いてあったような。

今現在の思いつきですが、ツリーサーチの末端近くでは、手の流れに応じて
点数が変わる事で、そのツリーのルート側の評価(加重平均)に影響が出てくる
可能性はある。

囲碁の場合、同一盤面が出る可能性が非常に高いのだけど、そこに至る経路で
隙があると、相手にその隙を突かれて、分岐が生じる事で、その点数は無意味に
なる。けど、それは途中の分岐をしっかり読まないと判明しない。経路情報によって
評価値(評価関数直)を下げてしまえば、プレイアウトの振り分けが減って、別の
もっと良い手に集中させることができる。こういう事かなぁ。

ま、本当に今思いついたばかりですが。

GUIに気が進まないまま、ぼーっと学習を見ていると、何故か(効果は微妙だけど)
速度アップの方法を思いついてしまうもので…。地味に色々改良しています。
236535
垢版 |
2018/02/13(火) 22:47:18.55ID:75Woy+K4
310さんほどのプログラマがGUIで躓くというのも謎ですね。
単に凝り性なだけですかね。
237310
垢版 |
2018/02/14(水) 20:49:32.16ID:I/pUqAGs
単にGUIが嫌いなんですorz

凝りたい気持ちと、画面遷移の罠から、心がデッドロックを起こして、
しまいに面倒くさくなってしまうという。
238535
垢版 |
2018/02/14(水) 21:17:25.33ID:XBQY5lLn
オセロで画面遷移なんてほぼいらんでしょうに。
まいいけど。
239535
垢版 |
2018/02/14(水) 22:23:18.42ID:XBQY5lLn
五目並べのプロジェクトだとコウの扱いがよくわからないな
囲碁のプロジェクトもgithubで漁るか…
240535
垢版 |
2018/02/17(土) 21:19:34.66ID:9/16YNby
藤井聡太さん朝日杯将棋オープン戦優勝ですか
すごいすな
241310
垢版 |
2018/02/17(土) 21:53:57.13ID:vz2S+0Ke
ドタバタしながら音だけ聞いていたけど、なんか普通に互角から徐々に優勢を
築いて、相手の奇手にも動ぜずにさばいて、勝利って感じで、強さが際立って
いましたね。

これで勝っても漫画なら編集長にバカにされるレベルと言われていましたが、
本当に笑うしかないですね。
242535
垢版 |
2018/02/19(月) 21:32:59.37ID:k/eP19bS
>>214のプロジェクトに囲連星ルールを移植してみまして、モンテカルロAIが動いたみたいです。
ただし超絶遅い。絶望しかないってくらい遅い。
10プレイアウトで10秒くらいかかります。
デフォルト1000プレイアウトになっていたのでそれぐらいないとまともな強さは出ないんでしょう。
となると1手1000秒か?
絶望しかない。
orzorzorzorzorz
243535
垢版 |
2018/02/19(月) 21:45:50.40ID:k/eP19bS
小路盤五目並べとかConnect4とかtic tac toe くらい小さなゲームじゃなきゃまともに動かんぞこれ
244535
垢版 |
2018/02/19(月) 21:53:01.97ID:k/eP19bS
      ,.‐''" ̄`丶、         ひどい…!ひどすぎるっ……!
    /        \          こんな話があるかっ…!
 /´           \
 /    |\_>、_ 、r‐、    \     命からがら… やっとの思いで…
  レ! ||_| |/_ ヽ\}      \    辿り着いたのに… やり遂げたのに……
  |八|-/>、∪_ u`i  ト、      \
    / / ,くィ夕u' |   |/ ``‐- 、_.、__\      実行速度っ…!
     |/ / /_ヽ┐u |  ,|  /  ,-,.=====ゝ
    ヾ' / r┘|.l__人 |  /\//      \ あの計算量がもぎ取ってしまった……!
      \ ) |   N /  //\./´ ̄`丶
      |u  |  /|(l(l「|  | |   |       せっかく手にした
       | u| / | ヾ-イ .||  l、            俺の未来…希望…
       _|   |/| |  \_|_|,. く. \
      ハ.___ハ     >、 \ \  \      Alpha Zero AI を……!
245535
垢版 |
2018/02/19(月) 22:39:02.94ID:k/eP19bS
つか連想配列とか見るからに遅そうなクラス使いまくりなんだよなぁ
こうなったらC++に移植する方向で考えるか??
246535
垢版 |
2018/02/19(月) 22:59:04.05ID:k/eP19bS
囲連星ルール部分をC++で書きなおしてパイソンと結合させるという手もあるんだろか??
とにかく今のままじゃ遅すぎる
囲連星ルール部分がどれくらいネックになってるかもよくわからないですが多分相当遅い
247535
垢版 |
2018/02/19(月) 23:28:23.57ID:k/eP19bS
五目並べルールだとそこそこのスピード出ますね
当たり前か…

やっぱ囲連星ルール実装がネックか〜
は〜
死にたい
248310
垢版 |
2018/02/19(月) 23:48:36.73ID:KY7Wcd5F
PythonからC++関数を呼べるみたいですね。
C++からPythonも呼べるみたいです。
前にPythonに手を出そうかと思った時にググったら出てきました。
前者の方が解説が多かったと思います。

自分はBitboardを使いまくりなので、Pythonに手を出しあぐねていました。
また、評価関数の学習部と、評価値計算をうまく分離できれば、前者を
Python、後者をC++で書けないかなぁと思っていますが、im2col関数の
うまい実装を考えるのが面倒で、放置になっています。
249310
垢版 |
2018/02/19(月) 23:56:04.01ID:KY7Wcd5F
ここ数日強化学習の結果がよさげになってきたので、結果の良かった学習方法に
集中させたら、また変な学習になってしまったようで、迷走中です。

学習の具合が良いと、色々な探索も速度アップするんだけど、具合が悪いと全部
悪循環になってしまうという。

仕方無いので、中盤探索の反復深化を作り、その結果を置換表に溜めてオーダ
リングを行うようにしてみましたが、効果があったのかよくわからない罠。
こちらも、学習の具合が良くなったら、急激に効果が表れるのではないかと期待
しているんだけど。
250535
垢版 |
2018/02/21(水) 01:00:17.47ID:65PdIEqg
SWIGっての調べてます。
なかなか手ごわい
251535
垢版 |
2018/02/21(水) 22:17:30.79ID:65PdIEqg
まずは簡単なC++関数一個だけのパイソンモジュール作成に成功しました。
つぎは囲連星ルールパイソンモジュールの作成ですね〜
252535
垢版 |
2018/02/21(水) 23:35:14.72ID:65PdIEqg
なんかdeepcopyとかいうのに対応しなきゃいかんようなのだが。
253310
垢版 |
2018/02/22(木) 01:36:26.61ID:pKMuaeJh
評価関数がどんどん悪化していく罠。
頭に来たので、評価関数をステージ分割。

ステージ分割すると学習部分の全面書き直しとなる。
どうせニューラルネットは使わないと決めたので、線形回帰にスケールダウン。

またしてもゴチャゴチャしてきた部分を全面書き直しパターンへ。

もうGUIはすっかり忘れていますorz
254535
垢版 |
2018/02/24(土) 00:20:19.52ID:23+l5SrV
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
動きました!
C++版囲連星ルールパイソンモジュール!!!
10倍くらい速くなりました!
でも1000プレイアウト1手約100秒
まだまだ遅い
でもこれ以上速くするアイディアもないし、とりあえず、これで進めるか。
255535
垢版 |
2018/02/24(土) 00:49:09.02ID:23+l5SrV
なんかトレーニングが不正終了しますね。。。
zipから解凍したソースそのままで実行しても不正終了になるのでちょっと謎ですね。
256535
垢版 |
2018/02/24(土) 17:22:36.17ID:23+l5SrV
なんかteanoてライブラリが悪いっぽいorz
上手くインストールできたと思ってたけど実はまだ駄目だったのかなぁorz
257535
垢版 |
2018/02/24(土) 20:56:43.77ID:23+l5SrV
あかん、さっぱりわからんorzorzorz
258535
垢版 |
2018/02/24(土) 23:35:51.51ID:23+l5SrV
teano.functionってのが悪いっぽい
2018/02/24(土) 23:45:38.80ID:23+l5SrV
teanoじゃなくてtheanoかスマソ
260535
垢版 |
2018/02/26(月) 23:09:59.32ID:iAzX3KQf
Linuxインストールしてみようかなぁ(ボソ
2018/02/26(月) 23:28:03.39ID:HIL9tQPi
「インストールした」なら使ってもいい
262535
垢版 |
2018/02/28(水) 21:53:14.78ID:EHGfbJ7U
linux入れるならVMWareお勧め?
他に候補ある?
263535
垢版 |
2018/02/28(水) 21:54:21.00ID:EHGfbJ7U
ちなみにHDDはパーティション切りなおすのメンドイ
264310
垢版 |
2018/02/28(水) 22:12:43.27ID:4D1Jf52Q
評価関数変更ついでにまるっと作り直してます。
自己対戦など、汚いコードを綺麗に書き直し。
かけた工数的には自己対戦の方が大変だったかも。

評価関数を1手毎のステージ分割で60ステージにして、学習し直しです。
これで序盤を学習させると終盤が狂う問題は解消されると信じていますが、
学習に60倍の時間がかかる事が予想されるという状態で、記譜を幾ら作って
も追い付かない感じなので、強化学習主体にするつもりです。

というか、まだ、UCTの所は作りこんでいない。
まあ、ほとんどコピペですが。

で、ここまで来たところで、もういっちょ改造したくなってきた…。
265535
垢版 |
2018/02/28(水) 23:51:16.48ID:EHGfbJ7U
MVWareでubuntu入れました。
266535
垢版 |
2018/03/01(木) 00:04:15.57ID:Jxqcd31Q
ubuntuだと>>214のプログラム問題なく動くみたいですね
素晴らしい。
267535
垢版 |
2018/03/01(木) 21:09:31.45ID:Jxqcd31Q
囲連星ルールをubuntuに移植してみましたがエラーが出ますね。
合法手が無い、みたいな感じに見えますが…
268535
垢版 |
2018/03/01(木) 21:31:25.39ID:Jxqcd31Q
くそ〜結局コツコツソース読み解くしかないかorz
いい線行ってると思うんだけどなぁ
269535
垢版 |
2018/03/01(木) 21:44:17.24ID:Jxqcd31Q
うおお、しんどい、これはしんどいorzorzorz
270535
垢版 |
2018/03/01(木) 23:35:08.53ID:Jxqcd31Q
ん、human_play.pyは動きますね…
train.pyと何が違うんだろう?
271535
垢版 |
2018/03/03(土) 00:08:46.84ID:nviHj1ts
C++のクラスをディクショナリのキーに突っ込んでさらに参照しようとしたときにキーの比較に失敗してるっぽく見える
272535
垢版 |
2018/03/03(土) 01:00:19.05ID:nviHj1ts
__hash__と__eq__を定義するといいみたいです。
__eq__はC++のoperator==で良いみたいです。
273535
垢版 |
2018/03/03(土) 01:33:37.87ID:nviHj1ts
まだエラー出ますね。
行ったと思ったのにorz
274535
垢版 |
2018/03/03(土) 19:12:35.59ID:nviHj1ts
お、処理が進み始めました。
Board.init_boardでC++のオブジェクトを初期化してなかったのがエラーの原因だったみたいです。
275535
垢版 |
2018/03/03(土) 19:51:05.26ID:nviHj1ts
やっぱ小路盤五目並べと比べて時間かかりますね。
焦れるw
とりあえず、これでウェイトファイルが出力されれば第一段階クリアですが…
276535
垢版 |
2018/03/03(土) 20:18:47.79ID:nviHj1ts
あ〜これシングルスレッドなんですね。
まあ確かにコード読んでてもマルチスレッドには見えなかったけど。
277535
垢版 |
2018/03/06(火) 20:34:35.86ID:4NZM8BU2
ベストポリシーとか言うファイルは出力されましたが…
いかんせん遅すぎますねぇ
並列化してハードも強化してあと30倍は速くしないと…
278535
垢版 |
2018/03/06(火) 22:28:34.91ID:4NZM8BU2
んんん、もしかして仮想環境だとディスクアクセスめっちゃ重くなる?
CPUがほとんど仕事してないんだが…
279535
垢版 |
2018/03/06(火) 22:40:05.64ID:4NZM8BU2
こりゃネイティブLinux環境構築も考えるか…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況