X



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

前スレ
【オセロ,将棋】ボードゲーム【囲碁,War】
http://mevius.2ch.net/test/read.cgi/gamedev/1057763418/
0400310
垢版 |
2018/06/06(水) 21:38:17.47ID:dXECgVmr
残り28手のところで1か月足踏み。やっと記譜がたまってきた。
残り30手まで行くのに半年くらいかかりそうw

というか、まだまだパターンが足りていないかも。

>>396
隠れ層のサイズは2乗で効いてくるから、256^2/192^2。
深さは単純に計算量が4倍になるとして、ざっと7倍くらいになるのでは?

学習は深さが増えるとどんどんきつくなるかと。
誤差逆伝播の宿命です。
0401535
垢版 |
2018/06/06(水) 22:38:14.91ID:/EVpmksK
>隠れ層のサイズは2乗で効いてくるから
おお、そうなんですか。ありがとうございます。

>学習は深さが増えるとどんどんきつくなるかと。
24層は諦めました。
今12層くらいで試行錯誤しています。
0402535
垢版 |
2018/06/07(木) 00:15:51.92ID:FD/EuCH4
うーん、極めて微妙なバランス調整を強いられるのか?これは
0403310
垢版 |
2018/06/07(木) 22:47:08.28ID:3tsX2weq
マシンパワーが潤沢にあれば、かなり大きいネットワークから学習させて、
最低限どれくらいの大きさなら弱くならないかが求められるんだけどねぇ。
Googleみたいに。
0404535
垢版 |
2018/06/07(木) 22:50:20.44ID:FD/EuCH4
そういえば新しいスレッドリッパーは32コアになるとか。
うーん欲しい。
0405310
垢版 |
2018/06/08(金) 09:01:40.50ID:kLQfp5L9
今見た。64スレッドだってw
0406535
垢版 |
2018/06/08(金) 21:09:32.65ID:sd8J+TAa
あんまりうまくいかないから気分が萎えてきちゃった。
少し気分転換するか…
0407535
垢版 |
2018/06/09(土) 22:29:54.70ID:E47zq0gI
層を9層に減らして再チャレンジ
どんどん後退していくが仕方ない
0409535
垢版 |
2018/06/11(月) 20:34:52.58ID:CmwqwxJa
くそーどうにもうまく行かね〜
一回試すのに結構時間かかるのも痛いorz
0410535
垢版 |
2018/06/12(火) 18:16:53.37ID:ZNBJ6nca
あんまり上手くいかないんで頭おかしくなりそう
ちょっと休憩します
0411310
垢版 |
2018/06/12(火) 22:17:08.85ID:tW9CPEWd
NNの罠ですな。
自分が逃げたのは、それです(汗
0412535
垢版 |
2018/06/12(火) 22:59:32.98ID:0htatJhS
>>411 くそー
パラメータ100種類くらい用意して同時に実行したい orz
0413535
垢版 |
2018/06/15(金) 20:18:16.05ID:8McWyxkP
CPU Ryzen 2700X
GPU Geforce 1080
Memory 64GB
SSD 500GB

これを満たそうとするとやはり40万円近くなる。
厳しい。
0414535
垢版 |
2018/06/15(金) 23:05:29.07ID:8McWyxkP
フロンティアってショップかなり安くない?
なんか裏があんのかな?
0415310
垢版 |
2018/06/16(土) 09:22:12.72ID:zNyAzUlc
フロンティアと言えば懐かしのフロンティア神代(こうじろう)かなと思ったらビンゴでした。
Wikipedia情報によると、フロンティア神代はヤマダ電機に吸収されて解散していて、
BTOショップにフロンティアという名前だけ残っているみたいです。

ヤマダ電機なので裏は無いでしょうね。

7980XEに1080Tiで128Mとかにしていくと、だいぶ価格差は詰まっていきますが、
それでも多少安いみたいですね。というか、8700Kだったらかなり安いかも。
0416535
垢版 |
2018/06/16(土) 23:00:41.95ID:Xmjs3i0Q
pytorchってAMDのGPU使えないよね?
Cudaだよね?
0417535
垢版 |
2018/06/16(土) 23:08:34.52ID:Xmjs3i0Q
多層を重ねるのは諦めてフィルタ数で勝負というのもあるだろうか?
0418535
垢版 |
2018/06/17(日) 20:06:40.29ID:S/cw4ZOV
実はこっそり再開してましたが9層からさらに後退すべきか悩んでます。
ここから1層づつ減らしていって学習がまともに進むところまで後退するのを考えています。
0419535
垢版 |
2018/06/18(月) 21:07:45.14ID:Wo5CnXra
8層も望み薄
7層は囲連星が7目並べだからあるいみちょうどいいかも?
0420535
垢版 |
2018/06/18(月) 23:34:21.39ID:Wo5CnXra
お、7層はうまくいくかも
まだわからないけど
0421535
垢版 |
2018/06/18(月) 23:35:41.11ID:Wo5CnXra
でも6層でだめで7層でOKというのもちょっと考えづらいといえば考えづらいんだよなぁorz.
0422310
垢版 |
2018/06/19(火) 00:55:25.28ID:FOfYGuya
ゲームとして必要最低限と思われる最低限の層数から1層づつ増やして行って、
一つ前の奴に有為に勝てる様になるまでの学習時間を図っていくという手もある
かなと思います。

面倒でやりたくないですが。

自分はひたすら記譜作成。
少しづつ改良を加えていますが、残り28手(読み切りとしては27手)で足踏みして
います。早ければ6分程度で終わるのですが、いかんせん25〜26手目の評価
関数が穴だらけみたいで、長いと4時間とかかかってしまい、なかなか棋譜が集め
切れません。記譜が集まると速くなるのですが、集まるまでの時間がかかりすぎ。
0423535
垢版 |
2018/06/19(火) 22:25:49.15ID:pDwqV+QB
パラメータ調整ってプログラミング本来の楽しみがほとんどなくてそこが辛い。
とくに他人のコードだと。
弱くてもオリジナルのヒューリスティック実装するのは楽しいんだよなぁ。
うーん。
0424310
垢版 |
2018/06/19(火) 23:13:29.58ID:FOfYGuya
すごくわかりますorz
だから、非効率でも、自分でNNのライブラリ作っちゃおうとしたりするのでする。
0425535
垢版 |
2018/06/20(水) 20:38:16.59ID:HpjQCtCz
7層も駄目っぽいorz orz orz
もう少し粘るか悩むorz orz orz
0426535
垢版 |
2018/06/20(水) 21:21:48.36ID:HpjQCtCz
そこそこ上手くいってた6層のバックアップを引っ張り出して続きの学習をさせてみることにしました。
結局、全部無駄だった orz orz orz
0427310
垢版 |
2018/06/23(土) 00:43:44.99ID:MYOaLSBl
長いと4時間…

出張中に丸48時間動かしっぱなしにしましたが、3つしかできなかった。
一つ16時間w
0428535
垢版 |
2018/06/24(日) 23:17:32.46ID:+0RpmqDG
なんか異様に辺の星を重視するようになった。
ちょっと単純化しすぎな気がするが、やっぱ層が足りてないのか?
0429535
垢版 |
2018/06/25(月) 20:09:56.17ID:EkJF+fRZ
んあ、なんか一線打つようになった?
過学習かなんかか?
0430535
垢版 |
2018/06/25(月) 20:42:46.09ID:EkJF+fRZ
結局6層も駄目なのかなぁ orz orz orz
アルファゼロのポテンシャルはこんなものではないはずだが。orz orz orz
0431535
垢版 |
2018/06/25(月) 21:48:22.04ID:EkJF+fRZ
もうちょっと粘ってみるけど、アルファゼロ(少なくとも>>214のプログラム)からの撤退も考え始めてるorz orz orz
0432535
垢版 |
2018/06/26(火) 21:04:26.12ID:1tkUkpm5
お、一線に打つのは治ったようです。
0433535
垢版 |
2018/06/27(水) 21:01:58.89ID:dPu535sz
お、すごい!
まだ詰めはあまいけど、まるで地を取ることはいいことだという棋理を理解したような打ち方で勝った!
まだ希望はある!
(
;FF[1]GM[1]SZ[9]
;B[ee];W[eg];B[ec];W[ff];B[gd];W[dg]
;B[cd];W[cg];B[fd];W[dd];B[de];W[fh]
;B[gg];W[gh];B[hh];W[gf];B[hg];W[dc]
;B[hf];W[bg];B[he];W[ah];B[hc];W[hd]
;B[id];W[ba];B[hb];W[bi];B[hd])
0434535
垢版 |
2018/06/28(木) 21:14:27.14ID:Owd80tJ7
まただよ(再起動)
0435535
垢版 |
2018/06/28(木) 21:14:59.02ID:Owd80tJ7
ネイティブリナックスにしたら再起動なくなるんだろか
0436535
垢版 |
2018/06/29(金) 21:22:30.04ID:24sRxbs9
ふと思ったけど詰みルーチンをルールに組み込んで詰みがあるときは詰みを打たなきゃいけないルールにして学習させて
十分学習したら詰みルールを外したら学習時間短縮できたりしないんだろうか?
ルールが違ったら全く重みが役に立たなくなっちゃうかな?
0437535
垢版 |
2018/06/29(金) 22:02:45.79ID:24sRxbs9
2線を重視し始めたようです。
毎日棋風が変わっていくな。
AIが自らいろいろ試してるみたいでホントに知性があるかのような錯覚を覚える。
0438535
垢版 |
2018/06/29(金) 22:37:39.80ID:24sRxbs9
相変わらず隅のシチョウが読めてないですね。
7連を作るにはほぼ必須なので克服してほしい。
0439535
垢版 |
2018/06/30(土) 22:29:57.74ID:8vhkC7kM
圧勝の形勢を築いておきながら隅の石が取れずに逆転負け。
ここは何としても克服せねばなりませんなぁ。

(
;FF[1]GM[1]SZ[9]
;B[hh];W[df];B[cg];W[fg];B[gc];W[ef]
;B[gf];W[ge];B[cc];W[fc];B[ce];W[ed]
;B[cf];W[cd];B[bd];W[dd];B[bc];W[bh]
;B[bg];W[ff];B[fb];W[eh];B[ec];W[fi]
;B[fd];W[dc];B[db];W[eb];B[ea];W[cb]
;B[bb];W[dh];B[be];W[bf];B[ca];W[gb]
;B[cb];W[ch];B[gh];W[hb];B[de];W[ee]
;B[af];W[ba];B[fh];W[hc];B[ah];W[hd]
;B[eg];W[dg];B[gg];W[fe];B[ei];W[gd]
;B[ig];W[bi])
0440310
垢版 |
2018/07/01(日) 09:58:13.46ID:rTgUJVKi
強化学習は一通り失敗をして、ダメな手を覚えていくものですからね。
0441310
垢版 |
2018/07/01(日) 16:25:08.28ID:rTgUJVKi
過去に途中でプログラム止めて、中途半端な状態になっている記譜(棋譜としては
成立しているけど、他の記譜との接点が無い)を見つけて、続きを実行するような
仕組みを作りました。

これで心置きなく途中で止められる。
0442535
垢版 |
2018/07/01(日) 23:21:40.95ID:1CvUBjWR
いったん学習中断します。
気分を変えて囲連星やめてライフゲーム囲碁に逃げようかと思ってます。
プログラムもgithubから別の拾ってこようかと思います。
マルチスレッドに対応してて大規模ネットワークを想定してそうな奴。
0443535
垢版 |
2018/07/04(水) 19:57:24.45ID:t+xDGMvg
githubに落ちてて大規模ネットワークに対応してるとなるとleela zero とかだろうか?
0444535
垢版 |
2018/07/04(水) 21:32:30.05ID:t+xDGMvg
とりあえずAQって囲碁ソフトのソース見てます。
0445535
垢版 |
2018/07/04(水) 21:43:59.79ID:t+xDGMvg
んんん、AQってヒューリスティックてんこ盛りなんですかね?
他ゲームに応用が利かなさそうな怪しげなコードが見受けられるw
シチョウのコードとかあるっぽいし。
つっても囲連星なら応用効くだろうけど。

逆に19路囲連星に走るというのも考えられるw
0446535
垢版 |
2018/07/04(水) 23:19:04.05ID:t+xDGMvg
あかん、これは相当キツイわw
まあ勉強にはなるかもしれんがモノになるかは微妙だww
0447535
垢版 |
2018/07/08(日) 22:10:22.48ID:cyFrinl7
がっつりさぼってますw
0448535
垢版 |
2018/07/12(木) 22:46:30.45ID:sqTgsSS4
やる気が出なくて、昔作ったモンテカルロのAIを動かしたりしていますが
モンテカルロでも割といい線行ってたんだとちょっと思いました。

なにかもう一度動き出すきっかけが欲しい。
0449310
垢版 |
2018/07/12(木) 23:01:05.40ID:x4U4b182
相変わらずひたすら記譜作成中。

現状の記譜の中に、ランダム着手の記譜が混じっていて、そいつらを
遡るのにものすごく時間がかかる事が経験的にわかっています。
つまり、そこそこ最善に近い手を打っている記譜の遡りは早く、悪い手
ばかりの記譜は遅い。

現状、最善に近い手に対しては、そこそこまともな評価関数になっている
という事は言えるので、一旦遡り対象の記譜を消して、この評価関数で
作られる新しい記譜で継続学習させた方が良いかもと思い始めています…。
0450535
垢版 |
2018/07/15(日) 19:54:25.23ID:I+Rk5Prr
だめぽ
3連休も無為に過ごしてしまったorz
あと一日あるけど
0451310
垢版 |
2018/07/16(月) 22:12:02.39ID:99JpH5NZ
棋譜作成のロジックをだいぶ変更。
過去の奴に当てはめると結構面倒な事になるので、
>>449の予告通り記譜はいったんリセット。

あと、パブリックドロー(残り40手最善)な記譜が
いくつか見つかったので、そいつらも棋譜に混入。

もっとパブリックドローな記譜が欲しい。
0452535
垢版 |
2018/07/19(木) 22:43:05.06ID:7AkuvwH4
reinforcement learningとやらについてやさしく書かれた書籍ないかなぁ
0453535
垢版 |
2018/07/22(日) 21:40:49.08ID:W18yPuDN
勉強として>>214のソースちゃんと解読してみようかなぁ
やりっぱなしじゃ勿体ないかもしれないし。
0454535
垢版 |
2018/07/23(月) 21:26:02.08ID:h2uxnpW8
熱暴走なのかpcが急に再起動したw
もし学習連続運転してたら火吹いて火事にでもなってたかもな
0455535
垢版 |
2018/07/24(火) 21:22:08.00ID:65EBIksd
pcが起動しないorz
電源ボタン押すとファンが少し動いて止まってを繰り返す
暑さで逝ってしまったか?
0456535
垢版 |
2018/07/25(水) 21:55:40.30ID:P+agX1Gu
しばらく活動出来ませんねこれは、、、
0457310
垢版 |
2018/07/27(金) 22:29:42.44ID:yYgmXJLn
あれれ。大変ですね。
うちは、ここ2〜3日回線ダウンでした。本日ようやくNTTに連絡して再開。
暑さでONUが死んでたみたいです。

棋譜作成は、結局元の棋譜もマージしてしまいました。
おかげさまでえらく時間がかかっています。
0458535
垢版 |
2018/08/08(水) 19:39:47.19ID:O1x6YwVI
活動やめたら楽チンすぎてなかなか復帰する気になれないw
何かに追われるように毎日過ごしてましたからね。
メインマシンも壊れたまんまだし。

それはそうと13日にスレッドリッパー発売ですね。
金がないから買えないけど1ファンとして楽しみにしてます。
0459310
垢版 |
2018/08/09(木) 22:24:55.93ID:86sArqqe
最近はボーっとしながらひたすら棋譜作成です。
そろそろハイクラスPCを買って、完全に放置プレーしようかと思っていたりします。
DCNNに対する興味はすっかり薄れてしまいました。

しばらくはゆっくりしたいですね。
0460535
垢版 |
2018/08/15(水) 22:34:00.44ID:BoOe3LxW
NVIDIAからグラボの新作がでるとか。
それを機にPC新調してこのスレに復帰するか…
0461535
垢版 |
2018/08/25(土) 20:51:29.15ID:rZw/NWPD
メインマシン復活させようと思ってたぶん壊れたのHDDだと予想して
新しいHDD買ってきて動かしてみたけどはずれだった見たいorz
あんまハードウェアのトラブルシュートの経験ないんだよなぁ
0462名前は開発中のものです。
垢版 |
2018/08/26(日) 10:48:28.72ID:FqCSlXSS
とりあえず外付の光学ドライブからlinuxの何か適当なデストリで起動させてみるべきでしょ
0463535
垢版 |
2018/08/27(月) 00:06:58.09ID:JrsDI1JE
お、レス付いてる。
ありがとうございます。
しかし、BIOSの画面すら立ち上がらない状態なのでどうしたものか…
0464310
垢版 |
2018/08/27(月) 09:30:35.26ID:QOs+gZK+
PC新調するとか言って、またプログラムいじってます。
もうやる事はないだろうとか思っても、なんか出てくるんですよね。
0465310
垢版 |
2018/08/27(月) 09:34:46.66ID:QOs+gZK+
BIOS上がらないんだとすると、保証期間があるうちに
販売店に持ち込んでチェックしてもらった方が良いかと思う。

ハード障害の切り分けとかスキルとしては面白いけど、今の本題じゃないし。
0466535
垢版 |
2018/08/27(月) 21:13:56.92ID:JrsDI1JE
うーん。もう保証書とかどっかいっちゃってますねorz
まあ、やはりここはしばらくお休みをいただいて
Geforce 2080のレビューが出るのをまって
よさそうだったらPC新調してそれから復帰します。

Geforce人工知能系も強化されてるとのうわさもありますし。
0467535
垢版 |
2018/09/18(火) 20:53:46.52ID:vzQA+msr
Geforceの発売が迫ってますね。
性能もいいけど値段もいい値段するとかって話で悩ましいですね。
しばらく様子見か。
0468535
垢版 |
2018/09/21(金) 21:09:54.51ID:2dO4A596
新Geforce、とりあえずpytorchが対応するのかどうか、
対応したとしてどれくらい性能上がるかみきわめてからですかね?
仮に大金だして買うとしても。
0469310
垢版 |
2018/10/02(火) 09:01:31.04ID:Rgg2Um0o
ご無沙汰です。

地味に棋譜作成を続けていますが、そろそろ色々と重くなってきたので、
裏で新バージョンを作り始めています。探索に関係ないところは、色々
整理して結構軽くなった(と思う)のですが、探索部分の速度が大幅に
低下してしまって悩み中。

現バージョンとまったく同じ条件で比較したところ中盤探索で3倍弱は遅い。
比較してないけど終盤探索は下手すると10倍近く遅い感じ。

中身はほぼ一緒なので、何が原因で遅くなっているのか不明。
コンパイルオプションなんかは一緒。共通で使用しているclassのどこかに
原因が潜んでいそうなんだけど、違いが見当たらない…
0470310
垢版 |
2018/10/02(火) 23:18:16.56ID:odJoEjbT
まさかまさかの__vectorcallが原因だった。
全部取っ払ったら中盤探索については逆に速度30%アップ。

変な事考えないでコンパイラに任せましょうというお話でした。
0471310
垢版 |
2018/10/10(水) 09:51:58.44ID:+G+W4fz+
28コア56スレッド…
18コア36スレッドが安くなるかなぁ。

棋譜作成を新バージョンに乗り換えました。

全体的に速くなる修正については、10〜20%程度なので効果不明。
あと特定の条件で遅くなる原因を見つけて地味に潰しています。
後者については、一つ原因わかっていて直しようが無いものが。

並列処理にPPL使っているのですが、parallel_forではせっかく並び替えしても
ランダムに処理が走ってしまう事。ybwcなのでPVを最初に実行する事は保証され
ているのですが、PVが間違っていた時に、parallel_for内部で2番目の順位の
スレッドがいつキックされるのかわからないどころか、最悪一番最後の可能性も
ある点です。null window searchでβカットに強く依存しているので、ここは非常に
困ります。

解決策1)parallel_forの改良版を自分で書く
解決策2)スレッド数の多いPCに乗り換えて、この問題が起きる確率を下げる

どうしよう(汗
0472535
垢版 |
2018/10/12(金) 21:02:40.65ID:ji0aAVVe
9900Kも結構面白いかも?
結局新PC購入に踏み切れてないけど、
来るべきその日のためにGithub漁るところから再スタートしようかなぁ
0473310
垢版 |
2018/10/12(金) 23:00:16.66ID:CTNeLPXP
結局あきらめて解決策3)初段のみYBWCのお兄さんを2人にして様子を見てます。

forwardのロジック(最善手の手順で着手可能な手を展開)を全面改訂。
今まで降りていく手を、BitboardのLSBに近い方から1つだけ選択してましたが、
これによって局面の偏りが生じていたようなので、全て展開するようにしました。
棋譜の増殖が凄い事になっちゃうんだけど、仕方ありません。

同じ仕掛けでbackwardも書き直し。

Eigenの並列化、リソースモニタ見ても2コアしか使っていない感じ。4コア使う指定
しているのに。謎。

その他、並列化できるところは並列化を検討。

やっぱPC欲しい…12コアくらいでも良いかという気がしてきた。
0474310
垢版 |
2018/10/14(日) 23:06:48.18ID:Z3+yTgkQ
局面の偏りが結構酷い事になっていました。

新しいforwardでは反復深化の評価値を表示するようにしたのですが、探索が進む
ほどに0になっていきます。そこで盤面のパターンが一回も出てこないケース(0値)
を調べたところ、後ろの方が大量に…。前回書いたLSB問題の影響がかなり大きい
という事です。

というわけで、棋譜作成の時には、少なくとも複数選択しあるときにはランダムに
選択するように変更し、既存の棋譜については、仕方がないので後ろの方をランダム
を導入した仕組みで再探索したものを追加していく事にしました。

1件1秒程度でできるので、折に触れてランダム化していこうと思います。
全部展開すると件数が大変な事になるので、様子を見ながらこの辺でお茶を濁して
みようと思います。
0475名前は開発中のものです。
垢版 |
2018/10/18(木) 01:59:08.41ID:VXZ7Gx+W
ずっと昔にオセロを作っていた者です。
久しぶりに再燃したので熱があるうちに…
50万棋譜計画のバグっている棋譜、被っている棋譜を消去して、22マス空きからの読み切り訂正をやってます
プログラムを3つほど立ち上げて一日9万局…めどは一ヶ月ぐらい
最近寒くなってきたのでちょうどいいかなとw

FFO45が32秒ぐらいで、まだまだトッププログラムには及びませんけど、
この棋譜訂正で大幅に縮まらないかと希望を持ちつつ進めてます
0476535
垢版 |
2018/10/20(土) 22:43:08.00ID:T970svPP
zen2まで待つのはさすがに待ちすぎかなぁ?w
とりあえずAQのコードに結構詳細なコメントが付いてることにいまさらながら気づいて
もう一度チャレンジしてみるかどうか迷ってるところ。
0477310
垢版 |
2018/10/21(日) 22:20:35.21ID:wV/AjJxk
>>475
はじめまして。新規参入嬉しいですね。

50万記譜計画の記譜は今はHPからダウンロードできないですね。懐かしい。

評価関数が正しくないと、探索時間かかりますからね。
自分は今は、自作の記譜を後ろから順番に訂正していってます。
が、やはりすごく時間がかかりまするorz
0478310
垢版 |
2018/10/21(日) 22:39:45.97ID:wV/AjJxk
先日、局面の偏りで反復深化で評価値がゼロになっていく件を書きましたが、
もっと大きな問題な気がしてきました。

マイナスの評価値になるはずの局面から、中盤探索を反復深化で深くしていく時、
途中で評価関数的に未知の局面に入って、評価値0を返すようになる事があります。
もともと期待される評価値はマイナスなので、評価値0のルートに乗り換えてしまい
ます。どうもこの様な現象が起きる事で、探索を間違える事がありそうです。

これから、デバッグ用のプログラム書いて、現象を確認してみようと思います。

もしかしたら、評価関数の初期値をゼロから始めるのが、良くないのかもしれません。
初期値を−1にすると、未知の局面は−66点(パターンの種類)になるし、1つ2つ
混入したくらいでは、評価値への影響も小さいのかなと思っています。

評価関数のゼロデータを−1にして動かしてみる方が早いかなぁ?
0479310
垢版 |
2018/10/22(月) 22:40:29.62ID:cyPX+oid
一応、ゼロデータをすべて−1に置き換えてみたところ、それなりな感じで、
頻度はだいぶ減りました。が、まだ時々おかしな時があります。

デバッグ用のプログラムが案外簡単にできたので、評価値の計算を確認して
みたところ、反復深化の計算のどこかにバグがありそうだという結論に…。
ただ、ほとんどのケースでは正しそうなんだなぁ。
0480310
垢版 |
2018/10/22(月) 22:53:50.11ID:cyPX+oid
ソース見てたら、一瞬で判明(汗
ほぼtypoの類でしたorz

これで探索少し早くなるかな?
0481310
垢版 |
2018/10/23(火) 01:08:22.60ID:rwBd0O0t
ウェイトのゼロデータを−1にしてみましたが、関係なさそうなので0に戻しました。
原理的にはマイナス評価値の問題は起きそうなのですが、評価値ゼロはあまり
発生していない感じです。


残り27手読み切りあたりから今のやり方では追い付かなくなって来ていますので、
MPCモドキの導入を考えています。MPCのスレッショルドの計算を真面目に
やると、それだけで日が暮れてしまいそうなので、あくまでモドキですが(汗

置換表から作り直しになるし、記譜作り直しで、まだ27手まで時間がたっぷりある
ので、1週間くらいじっくり考えてから始めようかと思います。
0482535
垢版 |
2018/10/28(日) 21:48:30.83ID:X2c31b1r
うう、やっぱPCに30万はおいそれと出せないorz orz orz
しかし、何もしないままでただ時間が過ぎていくほうが怖いような気もする。
0483535
垢版 |
2018/10/30(火) 23:21:10.12ID:pl1cfUhR
なんかRTXに不具合があるとか何とか
マジ?
もうしばらく様子見が正解か…
0484310
垢版 |
2018/11/01(木) 00:10:54.87ID:D90j6hyj
MPCですが、完全読み切りをIterative Wideningで速度アップするためのProbCutを
作ってます。とりあえずスレッショルド計算のところまでできました。線形近似と誤差の
標準偏差の計算ですが、以前はループでゴリゴリ計算してました。今回はEigen使って
行列で計算するようにしたら超簡単でびっくりするほど早くなりました。
結局、計算時間の大半は浅い探索になります。

で、結果を見れば見るほど、無理に計算しなくてよいのではないかと思えてきます(汗
誤差は1σ=4〜5程度の固定値。線形近似は、1次係数は1.0で0次の定数(バイアス)
を、深さが偶数で+1〜+2、奇数−1〜−2くらい。探索の深さを変えると、誤差は
減っていきますが、あまり頑張るとオーバーヘッドになります。

そもそもIterative Wideningでは、探索精度ではなく、徐々に探索対象を広める事で、
置換表の精度を上げていく事で高速化をしますので、アドホックな値でも良いのかなと。
誤差やバイアスは今の自分の評価関数での値ですが、気が向いた時に再度チェック
するくらいで良いのかなと思う次第。

というわけで、大幅に簡素化・定数化して、読み切り処理の方に移る事にしました。
0485535
垢版 |
2018/11/02(金) 23:35:29.24ID:1vnWpGba
9900K発売ですか。
かなり入手困難みたいですね。
0486535
垢版 |
2018/11/04(日) 21:31:50.64ID:AYd3OzR3
11/6にAMDからなにか発表があるとか
ZEN2くるかなー?
とりあえず今は待ちか。
0487535
垢版 |
2018/11/08(木) 22:14:39.88ID:l30eANOm
結局zen2は春ごろなんですかね?
いまはRyzen 2700xを買っていつでも乗り換えられる体勢を取るのが正解かなぁ?
0488310
垢版 |
2018/11/10(土) 22:53:18.40ID:MAqAiuT/
ぬぬぬ。

ProbCutのバグ取りに時間がかかりました。というか、なかなか高速化できません。
むしろ倍以上時間がかかってしまいます。

もっとひどい事に、今までのやり方のうち、比較的単純なやつが最も早い可能性が
高いという事に気が付いてしまいました…。下手すると40%くらい早いかも。
ProbCut比では3〜4倍速いという事です。

もともとProbCu自体は中盤探索で前方枝刈するための仕組みです。
これを読み切りしながら順次探索範囲を広げる事でソート順を修正する方向で
活用しようとしているのですが、下位のところを何度も読むオーバーヘッドがあり、
そこを置換表で高速化と考えていましたが、どこかがおかしい…。
そうこうするうちに、評価関数の精度が上がって、反復深化で十分実用になる
ソート順がセットできる事になった模様です。

まだバグの可能性は捨てきれませんが、一旦諦めようかな。
0489310
垢版 |
2018/11/15(木) 23:13:39.64ID:Gy98Zi+i
ProbCutは一旦放置して、地道にSolverの速度アップを始めました。

作り直した時に、末端ノードの処理を結構簡素化しちゃったので、やり直しです。
で、Zebraの初期バージョンのオーダリングを日本語で解説した資料を見つけて
色々とノウハウを得まして、Fastest Fastの処理を見直したり、その他色々やった
ところ、速度が倍になりました。

が、見たくない現実としては、まだZebraの当時のFFOテストより若干遅い感じです。
以前はFFO#20限定で0.3秒くらいまで行っていたのですが、まだ1〜2秒前後。
ちなみに、似たスペックのPCでの計測値が公表されているマスターオセロは、
更に10倍程度高速です。ぬぬぬ。

棋譜作って学習していくと、探索時間が地味に短くなっていくし、時にはオーダリング
の間違いが直ってジャンプするように特定の盤面で高速化する事がありますので、
まだまだ辛抱かなぁ。
0490名前は開発中のものです。
垢版 |
2018/11/17(土) 11:28:45.78ID:8gp5y6uH
なんとか棋譜訂正が終わりました
それだけだと終盤探索にあまり効き目はなかったようです…
これで終わりたくなくて色々見直したところ、なんとかFFO55が6000秒から2500秒切るレベルまで高速化されました
ただ問題があって、空きマスリストを用意していない影響で、空きマスが2つになるまでビット演算で着手番号を取得してるので、NPSがかなり低くなっています
ここを改善するだけでも20%ぐらいは高速化するのではないかと…今週はそのへんやってみようかと思います
0491名前は開発中のものです。
垢版 |
2018/11/17(土) 11:43:10.64ID:8gp5y6uH
テスト結果を載せます
ここから2倍ぐらいになれば、MasterReversiの背中が見えてくるレベル・・・まだまだです
YBWCとかやらないとなぁ

Microsoft Windows 10
Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
キャッシュサイズ256MB

FFO#40 ( Exact:(a2:+38) 1.19sec node: 12.33[Mn] nps:10323[Knps] )
FFO#41 ( Exact:(h4: +0) 2.99sec node: 35.31[Mn] nps:11825[Knps] )
FFO#42 ( Exact:(g2: +6) 2.86sec node: 39.98[Mn] nps:13961[Knps] )
FFO#43 ( Exact:(G3:-12) 2.49sec node: 25.47[Mn] nps:10236[Knps] )
FFO#44 ( Exact:(D2:-14) 4.08sec node: 40.86[Mn] nps:10006[Knps] )

FFO#45 ( Exact:(b2: +6) 29.92sec node: 449.45[Mn] nps:15022[Knps] )
FFO#46 ( Exact:(b3: -8) 7.48sec node: 87.43[Mn] nps:11687[Knps] )
FFO#47 ( Exact:(G2: +4) 3.71sec node: 49.65[Mn] nps:12851[Knps] )
FFO#48 ( Exact:(F6:+28) 18.78sec node: 216.42[Mn] nps:11523[Knps] )
FFO#49 ( Exact:(e1:+16) 53.12sec node: 655.97[Mn] nps:12350[Knps] )
FFO#50 ( Exact:(d8:+10) 141.11sec node: 1.39[Gn] nps: 9873[Knps] )

FFO#51 ( Exact:(E2:+6) 39.81sec node: 509.68[Mn] nps:12804[Knps] )
FFO#52 ( Exact:(a3:+0) 54.33sec node: 725.60[Mn] nps:13355[Knps] )
FFO#53 ( Exact:(d8:-2) 774.22sec node: 10.74[Gn] nps:13873[Knps] )
FFO#54 ( Exact:(c7:-2) 965.65sec node: 14.37[Gn] nps:14973[Knps] )
FFO#55 ( Exact:(G6:+0) 7124.95sec node: 105.41[Gn] nps:14794[Knps] )

FFO#56 ( Exact:(H5:+2) 244.72sec node: 3.22[Gn] nps:13475[Knps] )
FFO#57 ( Exact:(a6:-10) 926.60sec node: 11.06[Gn] nps:13352[Knps] )
FFO#58 ( Exact:(g1:+4) 551.11sec node: 8.16[Gn] nps:14803[Knps] )
FFO#59 ( Exact:(g8:+64) 0.94sec node: 5.28[Mn] nps: 5626[Knps] )
0492名前は開発中のものです。
垢版 |
2018/11/17(土) 11:45:17.49ID:8gp5y6uH
間違えて前のバージョンを載せてしまいましたw
今回はこちらです。比較になってちょうどよかったかも

FFO#40 ( Exact:(a2:+38) 1.29sec node: 10.63[Mn] nps: 8244[Knps] )
FFO#41 ( Exact:(h4: +0) 2.97sec node: 25.54[Mn] nps: 8599[Knps] )
FFO#42 ( Exact:(g2: +6) 2.24sec node: 20.58[Mn] nps: 9189[Knps] )
FFO#43 ( Exact:(C7:-12) 2.54sec node: 19.23[Mn] nps: 7572[Knps] )
FFO#44 ( Exact:(B8:-14) 4.32sec node: 32.07[Mn] nps: 7418[Knps] )

FFO#45 ( Exact:(b2: +6) 27.68sec node: 294.61[Mn] nps:10644[Knps] )
FFO#46 ( Exact:(b3: -8) 7.56sec node: 68.56[Mn] nps: 9070[Knps] )
FFO#47 ( Exact:(G2: +4) 3.25sec node: 36.70[Mn] nps:11293[Knps] )
FFO#48 ( Exact:(F6:+28) 21.11sec node: 195.99[Mn] nps: 9286[Knps] )
FFO#49 ( Exact:(e1:+16) 34.84sec node: 346.90[Mn] nps: 9958[Knps] )
FFO#50 ( Exact:(d8:+10) 108.94sec node: 960.91[Mn] nps: 8820[Knps] )

FFO#51 ( Exact:(E2:+6) 36.21sec node: 378.54[Mn] nps:10453[Knps] )
FFO#52 ( Exact:(a3:+0) 63.95sec node: 730.82[Mn] nps:11429[Knps] )
FFO#53 ( Exact:(d8:-2) 545.77sec node: 6.17[Gn] nps:11304[Knps] )
FFO#54 ( Exact:(c7:-2) 626.09sec node: 7.42[Gn] nps:11848[Knps] )
FFO#55 ( Exact:(G6:+0) 2492.74sec node: 31.10[Gn] nps:12475[Knps] )

FFO#56 ( Exact:(H5:+2) 212.26sec node: 2.52[Gn] nps:11894[Knps] )
FFO#57 ( Exact:(a6:-10) 520.85sec node: 6.35[Gn] nps:12183[Knps] )
FFO#58 ( Exact:(g1:+4) 588.80sec node: 8.54[Gn] nps:14512[Knps] )
FFO#59 ( Exact:(g8:+64) 1.88sec node: 8.86[Mn] nps: 4722[Knps] )
0494535
垢版 |
2018/11/17(土) 17:38:57.27ID:s4ulT91Q
なんか買っただけで満足してしまっている自分がいるwww
0495名前は開発中のものです。
垢版 |
2018/11/17(土) 18:39:02.10ID:8gp5y6uH
空きマスリストを作る方式でやってみたのですがビット演算のほうが5%速かったみたいです
こうなるとオーダリングのコストを下げるしか無くなってきました
0497535
垢版 |
2018/11/17(土) 19:32:43.11ID:s4ulT91Q
>>496
せっかくなのでなにか͡コテ名乗ってくれませんか?
まあ無理強いはしませんが。
0498535
垢版 |
2018/11/17(土) 20:03:37.36ID:s4ulT91Q
シネベンチマルチ1705CB
うーん、壊れる前のマシンの倍くらいにはなってるんですかね?
0499535
垢版 |
2018/11/17(土) 20:20:24.98ID:s4ulT91Q
さて本題のAI開発は何から始めようか?w
差しあたっての目標はAQをwindowsでビルドかな
■ このスレッドは過去ログ倉庫に格納されています

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