▲コンピュータ将棋スレッド123 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>508
ということで、KPPTは偉大だという結論に至りましたw
ならできることはやはり探索部の改善しかないということで、ソースとにらめっこを始めましたw
改善のスローガンは「先人の絞り結果を信じよう」ですw >>509
3駒KPPTは、学習の手間、評価精度、評価速度とメモリ消費の制約とバランスから選ばれてるに過ぎんので、
ハードが進化すれば4駒KKPPTとかKPPPTとかになるんでは?
大駒をK扱いにした拡張3駒HPPTは来ないのかね?
大駒の損得があると過大/過小評価しそうだが。 >>510
大駒を考慮した評価は真っ先に考えたんですが、おっしゃるとおり過大評価に対するペナルティをどうするかで詰まってしまって諦めましたw やねさん、オレが考えそうなことは既にやってたらしく、やりたいことは既にコーディングされてたw(探索パラメータの動的変更機能)
clang++対応に書き直すだけで実現できたので、現在の評価関数に対応したパラメータを模索中。 KKPPはともかくKPPPにしたらFutility purningが理想的に効いたとしてもNPSが1/4になるかもしれんがどうなの?
大駒をK扱いにした拡張3駒HPPTでHの位置の有効性はK周辺のKPPで決まってしまうと思われ、
仮にHPPに大きな得点が付いたとしたら汎化能力的に不正解な気がするがどうなの?
KPPでなくKPPTにする有効性はTの違いを1パラメーターぐらいの追加で除去できない理由が無いから多分都市伝説 HPPTをやりたいのであればHを1個追加につきKPPに対してサンプル数を14万倍ぐらいに増やして学習したら多分ペナルティーのしくみとか考えなくともKPPと同水準まで逝ける >>514
14万倍……少なくともうちのリソースじゃムリw
だんだんプロトコルみたいになってきたな。そのうちHTTPとかできそうだw >>513
NPS4分の1なら探索深さ2手分。
3駒より本筋を読めているなら問題ない。
いや、序中盤では4駒有利、終盤では深さ優先、3駒有利になるかも。
大駒、特に飛車は盤面全体を支配するので他の駒との位置関係を精査する意味はあると思う。
飛車を詰められないようにするという以上に。
ただ、ヘタに実装すると川柳のヘボ将棋になりかねんな…。
飛車角交換も評価難しそう。
KPPTは1手深く読んで反転すりゃKPPで足りるが…プログラムのデバッグしやすさの問題では。 今年の電王トーナメント、トーナメント戦が決勝以外1戦かつ1時間切れ負けになってて草w
もはや本当に只のじゃんけん大会に成り下がってしまったなw tanukiやうさぴょんの開発者はやねうら王超えられないのに出場続ける意味はなんだろう 開発者にとって将棋ソフト開発なんて趣味の一つみたいなもんだ >>518
電王トーナメントのマシンの搭載メモリが32GB以下だと本当におみくじ状態
メモリが128GBだと差が出るらしいけど。
大会スペックは、googleかamazonかmicrosoftのクラウドコンピューティングあたりになるといいな yaselmoを新オプションでKPP_PPT化すると技巧2よりも弱くなってしまうのね
初めからKPP_PPTで学習した評価関数を作らないとダメか >>521
ドスパラが売りたいPCを使うのでそれはない。
amazonがスポンサーになれば別だが。 大会後にソフト公開されても誰も使えないようなハイスペ専用ばかりだと味が悪いしね WCSCと差別化されるのは意義のあることだと思うけどね やねうら王さんしかちゃんと取り組んでる開発者いないじゃないですか
やねうら王さんが将棋ソフト開発やめたら進歩はストップですね
しょせんはやねうら王ライブラリ使用な開発者だらけですし >>529
所詮みんな趣味でやってるんだしそれは仕方ないのでは? >>529
何事も洗練され高度になってくるとガチ勢ばかりでハードル高くなってくる。
オリンピックとかサスケとか鳥人間とか。 >>531
今朝何気なくフェッチしたら、コミットされててビックリしたw >>533
これは、tanukiもKPP_KKPTになる流れだよな
KPPTに比べて何が優れてるかわかる奴おる? >>522
epoch0から再教育を始めました。果たしてどんな評価関数になるのやら…。 >>534
KPPのファイルサイズが半分になる
740MBが370MBになるのはでかいっすよ >>537
乱暴な言い方をすると、
サイズが半分になる→読む量が倍になる→強くなる(かもしれない) >>538
評価関数のサイズと読む量は何も関係なくない? >>538
KPP_KKPTがKPPTより高速なのは確かだけど、テーブルサイズと実効速度をごっちゃにするのは乱暴すぎでは(あと読む量は倍にまではならない)
例えばGPSfishの評価関数なんて超省メモリだけどNPSは滅茶苦茶低い KPPTと比べて
KPP_KKPTのメリット:
・ファイルサイズが小さくて取り回しがいい
・消費メモリが少ない
・パラメタが少ないため学習の収束が早い(かもしれない)
・ちょっと早い(R40相当?)
デメリット
・評価関数の精度が下がる(R40程度)
参考
https://mobile.twitter.com/yaneuraou/status/882384671094341632
間違ってたらごめん >>541
R40上がってR40下がるとしたら、やねうら王やtanukiがこのタイミングでこれをやるメリットは? >>540
乱暴すぎたかw
もちろんおっしゃるとおりなのは百も承知なんだが、細かく説明するのがめんどかったのでw
やねの探索部がここまで速くなってるので、サイズが小さくなった分の時間を読みに回せるようになるのは大きいですよ。
あと、GPSとやねを比べちゃいかんですよw >>535
とりあえず千田定跡をyaselmoでdepth3〜6で1億生成したものがあったので、これを食わせてKPPTのyaselmoと戦わせてます。
全くのゼロから1億を1回絞っただけなのでえらい弱いですが、1発入れるぐらいはできてますね。
あと、NPSはけっこう上がってます。探索パラメータは変えてないので、素の状態で速いみたいです。(SSE4.2です) >>544
おまけでevalmergeのKPP_KKPTパッチを作ったんですが、需要あります? >>546
KPP_KKPTで作成した評価関数をブレンドできるのですが、KPPTでブレンドしたものをKPP_KKPTに変換したものと、素材をKPP_KKPTに変換してからブレンドしたもののハッシュを比べたら同じでしたw
なのでいらないですね。すいません。 daigo? @daigog 23分23分前
その他
[Floodgate/Shogi-serverの中間報告] ご不便をおかけしております。Webサイトは表示できるようになりました。各種プログラムは設定中ですので、今しばらくお待ちください。 >>543
やね氏によると、現状で評価関数の負荷は全体の3分の1ということなので、超軽量の0負荷評価関数でも5割しかNPS上がらない。
ttp://yaneuraou.yaneu.com/2016/09/24/%e3%82%b3%e3%83%b3%e3%83%94%e3%83%a5%e3%83%bc%e3%82%bf%e3%83%bc%e5%b0%86%e6%a3%8b%e3%81%a7%e3%81%af%e4%b8%a6%e5%88%97%e6%8e%a2%e7%b4%a2%e3%82%92%e3%82%84%e3%82%81%e3%82%8b%e3%81%93%e3%81%a8%e3%81%af/
すなわち1手も深く読めない。
3駒関係はそれほどに軽くて強い。 >>551
> 3駒関係はそれほどに軽くて強い。
だから、その軽いはずのKPPTをなぜこのタイミングでKPP_KKPTみたいにさらに軽いものにしようとしているかということだよ
なんで? このスレに詳しい人が降臨すると片っ端から尋問されててワロタ やねうら王でもうKPP_PPT型の評価関数作れるの?
数日前に2/3が完成とか見たばっかりなのに >>555
よく見ろ
KPP_PPTやめてKPP_KKPTみたいだよ やねうら王の更新のタイミングはexeのバージョン4.75だけ気にしてればいいのですか?
https://github.com/yaneurao/YaneuraOu
のページは頻繁に更新されてますけど >>557
https://github.com/yaneurao/YaneuraOu/releases/
上記URLから最新の思考エンジン:
YaneuraOu-2017-earlyV475.zip
をDLすればいいだけでしょ >>557
対局しかしないならば、それでいいと思いますよ。
オレは新機能をすぐに試したいのでソースを落としてきてビルドしてます。 KPP_KKPT型の評価関数作ろうとするにはビルドから変更しなきゃいけない?それとも実行ファイルのコマンドに既に実装されてる? >>560
ビルドしないと使えないです。
ビルドにはVisual Studioが必要って書いてありますが、Visual Studioでビルドすると配布されているものよりNPSは出なくなります。 >>561
「VC++2017でコンパイル可能」とは書いてあるけど、「Visual Studioが必要」とは書いてないのでは。 俺環は ubuntu+wine だからソースからビルドするのは無理だな >>564
Makefileもあって、gccでもビルドできるようになってますよ。オレはこっちでビルドしてます。 >>565
え、そうなの
一度試してみるわサンクス ビールわろた
エルモ絞り
やねうら絞り
かっぱ絞り
たぬき絞り やった!MSYS2/clangでOpenMPを有効にできた!
って、できてなかったのオレだけ?
githubに上がってるMakefileができてないから、やねさんもできてないんだと思うんだけど。 >>574
やねさんの意見箱には入れてきた。
clang系一式とtoolchainが入っている前提で、
・/mingw64/x86_64-w64-mingw32/includeに、/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/omp.hのシンボリックリンクを張る
・Makefileの「-fopenmp」を「-fopenmp=libgomp」に修正
これでイケます。
英語の文献漁りまくった〜 >>575
シンボリックリンクは不要でした。
Makefileの修正だけでOKです。 makefileやめてcmakeにしてくれ
VSもcmake対応強化したっぽいしcmake一本で行こうで >>565
566だけどubntuでビルドできて一応CUI起動できることは確認した
しかしShogiGUIでエンジンに登録しようとするとハネられてしまう
何か足らないことがあるのかな >>575
これダメだわ。プリプロセッサがOPENMPを有効とみなさなくなる。
clangで動いてるけどOpenMPは有効じゃない。
evallearnでビルドしてlearnコマンド打ったらワーニングが出るので気づいた。
現在さらに調査中。 リンク時にも-fopenmpをつけないと空回りするよ
akiさんも同じところではまっていたような やねうら王 USE_KK_MIRROR_WRITE、USE_KK_INVERSE_WRITE 来てる。 >「謎のAI」の正体は、今秋リリースされるアプリ「囲碁ウォーズ」に搭載される囲碁AI「棋神(きしん)」でした。
>まだまだ強くなっている段階のようです。
https://twitter.com/asahi_igo/status/902841531194785792 >>581
ですよね。そう思ってLDFLAGSのところにも指定すると、違うエラーを吐くんですよ。今それを追っかけてますw
akiさんでもハマるところなのか〜 探索部の改良しようとしてたのに、全く関係ないところが気になって気になって……w >>582
あ、そういえばclangでomp.hが読めるようになってOpenMPが有効になるとFatalになる箇所がありますよ〜
evaluate_learn_kppt.cppの188行目、index_に型指定でu64つけるとエラーになります。
ワーニング覚悟で型指定取っちゃったほうが楽です。 >>585
そこのコメントに
//OpenMPではループ変数は符号型変数でなければならないが
// さすがに使いにくい。
とあるけどこれはOpenMPの2.5か3.0で解除されている
しかしVCはいまだに2.0だったか?、GCCは4.0、Clangは3.1、ICCは3.1
MSの怠慢がひどい 2分前に更新となっている、やねうら王の更新て絞りとか評価関数作る人向けの更新ですよね? やねうら王4.76、4.74から10%ぐらいNPS下がってるな
強くなってるならいいけど >>588
assert有効になってるからだろ
10%も変わってないよ せいぜい3%ぐらい >>580
omp.h と libgomp.a を ln して `-fopenmp=libgomp -D_OPENMP` を CFLAGS に `-lgomp` を LDFLAGS に足したら 'Warning! OpenMP disabled' は消えた。
ちゃんと動いてるかはしらん。
つか、pacman コマンドあたりからまとめといた方が、他の人も確認しやすい気がするけど、うごいてるのか、これ。 >>591
libgomp.aも張るのがミソなんですかね。
それ以外は全く同じ設定で試してました。
やってみます。
3.5にダウングレードまでしてしまった。戻すとするか…。 >>591
確認しました。OpenMPは動いてないです。
CFLAGSに-fopenmp=libgompと書くと、OpenMPは動作しないようです。ここは"-fopenmp"だけでいいみたいです。
-D_OPENMPをつけても、#if !definedを回避しているだけで実質的には動いてないですね。
LDFLAGSの-lgompは、指定しなくても読み込まれているので不要です。
libgomp.aのリンクに期待したんですが、やはり結果は同じで、__imp___kmpc_fork_callの外部参照がないとか言ってきます。
これはclangはちゃんとbitcodeを吐いたのに、lldはそれを実行するライブラリがないって言ってるので、そのライブラリさえリンクできるようになれば解決すると思っています。 >>593
そっか、だめだったか。。
とりあえずバイナリあげといた。
たしかに ln はいらんかもしらん。
https://www.axfc.net/u/3840318
key:tomato >>594
意味がわかった。
このバイナリ pragma omp が効いてないな。。
つってくる。 >>595
そうなんです。#pragmaが無視されちゃうんです。
どうもlibgomp.aが悪いような気がしてきてます。
4.0.1をソースからビルドしないとダメか?そこまで手を入れると敷居が思いっきり高くなっちゃうからやりたくないんだよなぁ そりゃ30万円課金してelmo+R30に持っていった矢先に
yaselmoとかいうelmo+R100のソフトが最低ラインになったら誰でも萎えるわ わざわざshivorey出したのは新評価関数作成のための布石でしょ 家庭用CPUだとRyzen 7が一番NPS出るのね
将棋用途だとIntelはオワコンか らいぜんてやねうら王の場合AVX2なので早くならないんでしょ? 魔女の作者は更新する気ないの?
やねうら王使いたくないんですけど 使わなければいいだけじゃね?
誰もお前に使ってくれなんて頼んでないんだし >>602
そもそもAVX2を使っても、大幅にNPSが伸びるわけではないので、8コアのRYZENに分がある。
これから出るCoffee lakeの6コア最上位ならそこそこ戦えるかと 一円当たりのノード数(CPU単体・価格ドットコム最安値)
Intel Xeon E5-2630 v4 87.825
intel Xeon E5 2683 v3 41.207
AMD Ryzen 7-1800x 131.944
intel Core i7-5820K 106.92
intel Core i7-6700K 120.482
Intel Core i7-6700 112.977
intel Core i7-7700 116.007
intel Core i7-6700HQ 74.843 スマホ技巧2やyaselmoとかをフラゲに流す人いないの?
レートどれくらいあるか知りたい
てかyaselmo、序盤めちゃくちゃだから簡単に+300までは行くんだが。低スペスマホだから?一応NPSは50万くらい、1手5秒で指してる ■ このスレッドは過去ログ倉庫に格納されています