新しいパソコン買った

プライベートでデスクトップ買うのって何年ぶりだろうか。

記憶だと64じゃないAthlon以来かなぁ

そんだけなんですが・・・

 

ははは,廃しゅぺっくぱしょこんです。

 

マザーボードはSUPERMICROの2ソケット

CPUはXeonが2個

タスクマネージャーの%表示は見慣れて来ましたか

何スレッドからこんな風になるんでしたっけ?

 

え?CPU名が表示されてませんね。

バイスマネージャー上でも不明なデバイスでした。

 

入手はこちらから。

Skylake-SPのES品(エンジニアリングサンプル)だそうです。

 

p41audio.com

 

まぁ,何と言っても飛びついた理由は価格でしょうか。

SUPERMICROの2ソケットマザーだけで5万円は下らない代物ですし,20コアのXeonも普通単品で20万円コースですよね。諸々入れたら50万円超えて当然のはずなんですがね。

 

 

偶然見つけたときに意識を失ってポチってました。

銀行振込で通販するのって久しぶりでドキドキですね。

 

スレッドリッパーよりコスパいいよね。

---

追記:

普段より相当PVが伸びてまして様々なご意見頂戴しております。

「メモリの相性がシビアだから気をつけろ」「BIOSのアップデートをするな」など色々曰く付きのようです。情報があるところにはあるんですねぇ。

学生時代秋葉原に足を運んでいた頃と比べてネットで情報が入るようになりました。ありがたいです。

将棋界への恩返しや黄楊の駒を買おうとしてたら「コンピュータ将棋の賞金はそういうところに使うんじゃない。」とコメント下さった方に強く背中を押された気がします。当然専用機になります。

インラインアセンブラの思い出

コンピュータ将棋をモータースポーツに例えて話すことが多い。

記憶に薄いがもしかしたら元ネタこれかなって気がする。

 

Supercomputing Contest - Supercomputing Programing Contest Official Site

SuperCon は、1995年より始まったプログラミングコンテストです。

(中略)

パソコンが乗用車ならば、スーパーコンピュータはレーシングカーです。

 

20年以上前になるが一度エントリーさせて頂いた気がする。動機は単純一度スパコンを触ってみたいって好奇心だけである。結果は完走勢で最下位近くだったように記憶している。

当時の雑な記憶であるが覚えているのは,一般向けの募集がかかっていた風になっているが上位陣は普段から身近にスパコンがある専門分野の大学院生で,当時テーマはFFTの高速化だったがトップ勢は中堅層の2桁も3桁も速かった。大半がms/opで計測されたものが上位2,3人だけμs/opで表示されていた。コードも公開された部分は見たが魔法使いの術式のように見えた。

要するにスパコンってのはそういう人が使わないとものすごくもったいないものなわけだ。全く新しい世界を覗くことができたので,これは良い経験だったように思う。

もちろんこれは当時の話でパイプラインの深いスパコンは今の主流ではない。

 

そういえば当時卒論の実験で周波数解析を行っていたのも偶然でFFTについてはPCレベルの高速化は既にやっていた。当時大学院生のS先輩には解析時間が短縮され感謝されていた。ちょっとは自信があったのかもしれない。

 

その後音楽CDからmp3と言う圧縮形式へのシフトが始まる頃,mp3エンコーダのコンテストがネット上であった。

個人的にはそれより前にIBMラベルのCyrix 6x86でmp2を実運用していたので少し世間より先行していた風に思う。mp2を用いた理由は当時の6x86でmp3はリアルタイムで再生するにはやや高負荷だったからだ。低ビットレートだとAMラジオのような音質になる。保存先もCD-Rがまだなかったので300MBとかのHDDだった。

mp2もmp3も本来はMPEGと言う動画圧縮規格の一部で音楽部分の圧縮規格である。mp2の方が簡単でmp3は高度な技術という理解でよい。もちろんその後カスタムICが出て簡単に再生可能となった。

こういった背景で個人のCDコレクションをmp3化することが流行の兆しであったが,mp3の圧縮は非常に時間がかかった。圧縮作業は再生の何倍も時間がかかる。ということで圧縮ソフトの競争である。わかる人はわかるが音声の圧縮にはFFTが用いられている。私は一度完敗したので一度完勝することができたわけだ。と言ってもオープンソースなので金銭的恩恵は特になかったし,トップスコアも一度だけでその後3DnowやSSEなど新命令を使う他のコードが圧倒したように記憶している。

 

というようなことをコンピュータ将棋のプログラムのインラインアセンブラを見ると思い出すのである。もちろん別のレイヤーの高速化も相当色々あるけどね。

AobaZeroで遊ぼう11(レーティング集計プレイアウト数について)

随分投入した割にまとめてなかったので本日(2020.3.21)付けで集計しました。

floodgateのコピペが多く見づらいですが,日時が経過すると変動するので記録の意味でもそのまま残してあります。結論を急ぐ方は下へw

 

本家投入分(p800)

AobaZero_w823_n_p800 3068 37 31 0.544 2019-12-17 2923
AobaZero_w803_n_p800 3029 30 26 0.534 2019-11-27 2884
AobaZero_w863_n_p800 3017 65 58 0.528 2020-01-23 2872
AobaZero_w888_n_p800 3014 97 97 0.500 2020-02-21 2869
AobaZero_w873_n_p800 3007 62 82 0.429 2020-02-03 2862
AobaZero_w813_n_p800 2991 24 32 0.432 2019-12-07 2846
AobaZero_w858_n_p800 2987 51 57 0.474 2020-01-18 2842
AobaZero_w898_n_p800 2973 103 133 0.437 2020-03-04 2828
AobaZero_w848_n_p800 2969 35 43 0.447 2020-01-08 2824
AobaZero_w798_n_p800 2967 29 27 0.518 2019-11-23 2822
AobaZero_w828_n_p800 2965 38 40 0.486 2019-12-22 2820
AobaZero_w868_n_p800 2963 60 70 0.460 2020-01-29 2818
AobaZero_w788_n_p800 2960 18 23 0.442 2019-11-13 2815
AobaZero_w843_n_p800 2960 31 46 0.401 2020-01-04 2815
AobaZero_w878_n_p800 2955 77 99 0.439 2020-02-09 2810
AobaZero_w908_n_p800 2948 95 147 0.394 2020-03-15 2803
AobaZero_w833_n_p800 2947 37 38 0.492 2019-12-27 2802
AobaZero_w818_n_p800 2932 25 24 0.516 2019-12-12 2787
AobaZero_w913_n_p800 2931 134 126 0.515 2020-03-21 2786
AobaZero_w893_n_p800 2925 99 109 0.474 2020-02-27 2780
AobaZero_w778_n_p800 2923 18 19 0.491 2019-11-05 2778
AobaZero_w808_n_p800 2922 34 31 0.524 2019-12-02 2777
AobaZero_w883_n_p800 2913 93 93 0.502 2020-02-15 2768
AobaZero_w903_n_p800 2907 100 148 0.402 2020-03-10 2762
AobaZero_w838_n_p800 2906 36 40 0.475 2019-12-31 2761
AobaZero_w783_n_p800 2905 23 22 0.514 2019-11-09 2760
AobaZero_w853_n_p800 2899 46 50 0.483 2020-01-13 2754
AobaZero_w793_n_p800 2895 28 25 0.528 2019-11-18 2750
AobaZero_w733_n_p800 2849 11 12 0.488 2019-10-02 2704
AobaZero_w718_n_p800 2841 11 8 0.562 2019-09-21 2696
AobaZero_w713_n_p800 2822 11 13 0.475 2019-09-17 2677
AobaZero_w708_n_p800 2805 15 17 0.475 2019-09-13 2660
AobaZero_w728_n_p800 2800 9 12 0.443 2019-09-28 2655
AobaZero_w773_n_p800 2798 19 16 0.532 2019-11-01 2653
AobaZero_w703_n_p800 2795 9 8 0.515 2019-09-06 2650
AobaZero_w723_n_p800 2787 11 8 0.565 2019-09-24 2642
AobaZero_w753_n_p800 2777 10 14 0.428 2019-10-17 2632
AobaZero_w768_n_p800 2771 14 20 0.409 2019-10-28 2626
AobaZero_w743_n_p800 2766 13 13 0.508 2019-10-10 2621
AobaZero_w698_n_p800 2766 6 10 0.401 2019-09-02 2621
AobaZero_w748_n_p800 2765 11 13 0.466 2019-10-13 2620
AobaZero_w688_n_p800 2731 8 6 0.582 2019-08-25 2586
AobaZero_w738_n_p800 2727 12 14 0.468 2019-10-06 2582
AobaZero_w763_n_p800 2716 15 15 0.497 2019-10-24 2571
AobaZero_w758_n_p800 2713 14 13 0.518 2019-10-20 2568

 

www.yss-aya.com

 

大変雑な見方をしますと現行の学習率にしてからのレートは概ね2900~3000と言ったところでしょうか。

 

うちから投入したもの(p400,CPU8スレッドによるもの)

AobaZero_w890_n_p400_t8 2862 120 115 0.509 2020-02-25 2717
AobaZero_w874_n_p400_t8 2855 102 123 0.454 2020-02-07 2710
AobaZero_w881_n_p400_t8 2826 136 163 0.456 2020-02-18 2681
AobaZero_w904_n_p400_t8 2805 112 170 0.398 2020-03-12 2660
AobaZero_w913_n_p400_t8 2789 86 127 0.404 2020-03-21 2644
AobaZero_w897_n_p400_t8 2772 122 179 0.406 2020-03-05 2627

 

現行の学習率のものしかありませんが,2772~2862の間にあります。

 

うちから投入したもの(p200,CPU4スレッドによるもの)

AobaZero_w859_n_p200_t4 2753 42 49 0.462 2020-01-18 2608
AobaZero_w881_n_p200_t4 2729 157 168 0.484 2020-02-18 2584
AobaZero_w836_n_p200_t4 2728 67 74 0.474 2020-01-02 2583
AobaZero_w866_n_p200_t4 2718 101 121 0.455 2020-01-30 2573
AobaZero_w814_n_p200_t4 2715 17 18 0.487 2019-12-07 2570
AobaZero_w874_n_p200_t4 2710 94 137 0.407 2020-02-07 2565
AobaZero_w913_n_p200_t4 2700 97 126 0.435 on line 2555
AobaZero_w846_n_p200_t4 2692 103 123 0.456 2020-01-14 2547
AobaZero_w821_n_p200_t4 2687 39 40 0.495 2019-12-17 2542
AobaZero_w890_n_p200_t4 2686 101 147 0.406 2020-02-25 2541
AobaZero_w806_n_p200_t4 2678 52 57 0.478 2019-12-04 2533
AobaZero_w897_n_p200_t4 2658 131 186 0.415 2020-03-05 2513
AobaZero_w828_n_p200_t4 2651 61 67 0.477 2019-12-25 2506
AobaZero_w798_n_p200_t4 2649 39 39 0.499 2019-11-25 2504
AobaZero_w904_n_p200_t4 2646 104 177 0.369 2020-03-12 2501
AobaZero_w667_n_p200 2579 7 9 0.415 2019-08-13 2434
AobaZero_w667_n_p200_t4 2531 12 14 0.458 2019-08-13 2386
AobaZero_w690_n_p200_t4 2529 7 9 0.433 2019-08-27 2384
AobaZero_w729_n_p200_t4 2517 12 17 0.423 2019-09-30 2372
AobaZero_w699_n_p200_t4 2507 10 12 0.455 2019-09-04 2362
AobaZero_w717_n_p200_t4 2468 20 26 0.435 2019-09-25 2323
AobaZero_w706_n_p200_t4 2379 16 25 0.391 2019-09-13 2234

 

現行学習率のものとするとレートは2646~2753と言ったところ。

ちなみに,w667に関してはGPUも同時投入してレートに大差がないことを確認。マルチスレッドの方が諸事情でちょっと弱い。

 

floodgateはその投入タイミングで対戦相手が決まるため対戦数が少ない場合のレートは信頼性に欠けます。上記データは概ね200戦程度はされたものが大半ですので本件程度の評価には十分かと思います。

また,レート安定のために以下のようなものが投入されております。参考値として記します。

Krist_483_473stb_1000k 3246 1671 1544 0.520 2020-03-21 3101
elmo_WCSC27_479_1000k 3025 1788 2099 0.460 on line 2880
Krist_483_473stb_100k 2785 1859 2002 0.482 on line 2640
Yss1000k 2654 1616 2274 0.415 2020-03-21 2509
elmo_WCSC27_479_100k 2620 1548 2267 0.406 on line 2475
bona6_D10 2591 589 810 0.421 2020-01-20 2446
YSS 2445 264 508 0.342 2020-01-20 2300

 

ということで荒い話ですがp800で2900~3000,p400で2772~2862,p200で2646~2753となります。

以前にプレイアウト数が倍になるとレートが150~200くらい伸びることが期待できるとしていましたがもう少し小さいようです。

マルチスレッドによる低下を30~40と見積もって100~120くらいが適当な数値だろうと思われます。

本ネタのモチベーションは以下のツイート。現状でほぼ同じ位と同意しておきます。

 

  

上記の参考値にelmoおよびKristallweizenがありますが探索ノード数が10倍でレートがそれぞれ400および460ほどの差になっております。log10/log 2≒3.32ということで,こちらも計算量が倍になった時のレート差は120および138程度と荒く見積もれます。

この辺はこちらもご参考に!

yaneuraou.yaneu.com

 

---

追記:

最後のおまけ部分の意図はマシンパワーが上がった時のレート向上が大差無いとか同程度という意味です。MCTSの方がエレガントなアルゴリズムで伸びしろがあるように言われていましたがどうやらそうでもない気がしていたので確認してみたという感じです。やはり脅威というべきはGoogleのTPUですね。 

将棋所Macですって

将棋所のMac版が出たそうな。

意味が分からない人に簡単に説明すると、コンピュータ将棋界隈で探索部分を作成する人は多くいるがGUI部分(つまり人が触る部分)を作っている人は少ない。主流となっているGUIは二つあってこの「将棋所」と「ShogiGUI」であるが何れもWindows用しか存在しなかった。

多くの開発者は器用なので自分の用途に足るものを簡単に作ってしまうケースも多いが開発者ではない人には適当な物が欲しいだろう。そういう意味では今回は朗報である。

Macユーザでちょっとライトな感じで開発してみようなんて人も出てくるかもしれない。

 

shogidokoro.starfree.jp

 

Mojave以降ということで身近なMacをみてみたら唯一MacBook Pro 2014が対応OSまで追従できた。様々な案件で必要なことがあったりするのでMac環境は常にひとつ用意していたつもりだったが5年以上更新していなかったことに気づかされた。

インストールは普通のMacユーザには難しく無い実行ファイルのコピーで終わりである。スクリーンショットを撮ってみたが将棋所そのまんまで特に驚くことはないのだがMacで動いているだけで何かしら感慨がある。

 

f:id:the48:20200310203820p:plain

 

付属のLesserKaiで普通に動くので適当に思考エンジン(今回はやねうら王の最新版)のソースをダウンロードしてビルドしてやる。まぁ、スクリプトベースの対戦は何度かやっているので特に苦はない。流行るとそのうちエンジン側もMac用バイナリを配布するような展開になるのかもしれない。

調子に乗ってfloodgateに繋いでやるとスリープ時かなにかのタイミングで切れる初級者にありがちなトラブル。

MacBookのスリープを止める方法を探して色々やってみたら少しは安定したようだが、Ponder中に投了されたまま落ちていたりするケースもあった。GUIとエンジンのどっちかの不具合かもしれない。

一度不具合が出ると対戦時の時計が倍速で進むような事態があったが、再起動で復帰した。タイマーオブジェクトが二個起動したのかもしれない。こういったことはそのうち(ユーザが増えて報告されるにつれて)安定してくるだろう。

 

まぁ、Haswell世代の2コアノートで最新4コアの水匠に一発入れているので満足した。

無線LANも省電力システムもこういうのには向いてないので、基本的にはノートPCでやることじゃない。冷静になってみると私がMac使う利点も特に無いことに気づいた。

wdoor.c.u-tokyo.ac.jp

---

追記:

ずぼらな方用にバイナリファイル置いておきました。

Release Mac用のKristallweizenバイナリ · bleu48/shogi-eval · GitHub

AobaZeroで遊ぼう10(lcb対応など)

bleu48.hatenablog.com

 

前回挙げた問題点を順番にぼちぼち潰していこうというところです。

時間制御はちょいちょい弄っています。酷い読む抜けを心配して最小考慮時間を3秒(以前は2秒)としています。

 

  

頓死は相変わらずでどうにかして探索パラメータくらいで改善しないかなぁと試行錯誤をしておりますが,甘く無いなぁってのが実感です。

ポリシーネットの評価を落として一時的に幅広い手を探索するようにすると深さが全然伸び無くなったりして弱体化が激しくなります。

遊んだ結果を利用して試行錯誤中ですが今は指し手を最終的にLCBで選ぶようにしています。LeelaZeroが(囲碁で)採用しているようです。

時間制御部分との整合性は怪しくなってますし,レーティングは上がってませんが,気持ち評価値を大切にしてる感があります。

 

色々改造していると組み合わせ変更のためにビルドしなおすのもアレなので外部から設定変更可能にしたいわけですが,AobaZeroが基本的に起動オプションを使っています。普通の将棋エンジンはusiプロトコルのoptionですよね。う~む,どうしたものか。

もう少し考えます。

 

floodgate上位陣は相変わらず試行錯誤のようで名前を変えて何度もトライしているようです。うちの子が7位まで下がってましたが上位は全て一敗でした。

f:id:the48:20200305143022p:plain

こういうのを楽しんでいる人も居るんですね。

 

コンピュータ将棋の影響と近況

近頃作文をする機会が多かったので頭の中を整理をしていましたが,ここにも覚書として残しておきます。

 

1.対局相手として

これはBonanzaが公開されたタイミングが社会的インパクトが大きいと思います。

正確にどのバージョンかと言う辺りは当時それほど関心をもっていなかったため不正確ですが奨励会員レベルの強さを持ったソフトが一般に入手できるようになったわけです。プロ棋士の対局相手には不足でしょうが,アマチュア高段者や女流棋士には非常に重宝されたように話を聞きます。

プロ棋士(や奨励会員)は独自のネットワークで研究会を開いて最新の戦型について情報交換をしたり日常の鍛錬を行うことが通例です。しかしながら,そうでない場合は強い対戦相手に恵まれることは稀です。つまり,強くなるために機会損失的な不利な要素があったわけです。

これがコンピュータ将棋ソフトを対戦相手としてトレーニングをすることで,対戦相手に恵まれない地方の高段者(特に小中学生)や休場中の棋士などのリハビリに活躍をしたそうです。もちろん,この前段階に人間同士のネット対局がありましたが,ネット対局でも常に適正な力量の高段者同士が対戦できるわけでもありませんから,高段者レベルのソフトの出番は非常に有難かったのだと思われます。

これは話に聞いただけですが,地方都市で神童と言うような小学生が出た場合には,保護者が週末に強い対戦相手のいる道場に連れて行くか,招待と称して強い対戦相手を招いて対戦をお願いするかしか方法がなかった時期がずっと続いていたそうです。事実多くの棋士がそのようなエピソードをお持ちです。

Bonanzaの登場で地方都市の不利が大幅に克服されたと言ってよいでしょう。もちろん,それ以後のさらに強いソフトや読み筋の異なるソフトの恩恵も影響大と言えます。

対人戦経験の薄い人が突然アマチュアの大会で活躍されるケースなども見られており過渡期の棋界バランスを感じます。

 

2.検討エンジンとして

これは最近の話です。強いソフトが多く生まれた後,特定ソフトが多用する戦型に注目が集まりました。有名なのがelmo囲いと言われる囲いですが,これは最初に一部の奨励会員から広まったようです。つまり,この時点ではソフトの使い手は奨励会員の中でも極一部であったと思われます。また,千田七段が2016年度に最多勝利賞、最多対局賞と同時に升田幸三賞を受賞された時にも話題になりました。Ponanzaなどの強いソフトが使う戦型を参考にされたとのコメントがプロ棋界に衝撃を及ぼしました。

これ以後は意図的に情報が少なくなります。つまり,どの棋士がどのソフトを使ってどの戦型を研究しているということがプロ棋界での極秘情報扱いになっているようです。例外的に使用ソフト名を挙げて下さる棋士もおられますが千田七段含め極僅かです。

現在では多くの方が御存じのように,あまり使っていないと自称する棋士でも対局後の棋譜をソフトで解析するくらいは当然というくらいにプロ棋界で普及しておりますし,対戦中継においてもソフトの評価値を絶対視して解説に使われる棋士も少なくありません。

また,豊島竜王名人をはじめとして対人の研究会を全く行わずにひとりで計算機を用いることで日常の研究を進めるスタイルが生まれ,急激に若手棋士に広まっているようです。これは上記の情報戦に通ずるところもあるので一概に良し悪しを語れないところです。

私個人のソフト開発はソフト同士の対戦に特化して進めており,このレベルで使われると思って開発を進めておりませんのでプロ棋士の御意見があれば是非伺ってみたいと思うところではあります。

 

3.中継用評価値について

bleu48.hatenablog.com

これは以前も書いた件です。

3年くらい前では参考程度に出ていたはずのソフトの評価値が現在では絶対視されつつあります。前項でもありますが一部のプロ棋士が数値で話をされておりその方が通じやすいなどとコメントされる程度です。

現状ではプロ棋士でも間違いやすい局面と言うのを考慮して割り引いた値にしないと良くないとの提案がでたり,人間では指せない読み筋なので有効ではないとか言われたりしております。しかしながら,現在のトップ棋士の精度は非常に素晴らしく難局面でも相当な一致をみることが多いように思います。

AbemaTVの方は何も情報がないので本件と別としてコメント控えておきます。

 

4.戦型について

実は2018年私が世界選手権を制した段階では楽観しておりました。事実多くの戦型に対応し様々な棋譜を残したと思います。横歩取り振り飛車が終わったなどの話題はありましたが,まだまだ研究を進めれば復活があるとの見込みでした。

翌年は全く様相が変わって相居飛車,それも角換わりの戦型が多く指されるようになりました。プロ棋界で角換わりが流行るのとどちらが先か正確には分かりませんが無関係では居られなくなっていることは間違いありません。個人的には当初表明した通りあまりシビアな影響力を持つつもりはありませんでしたので少し残念少し不安を感じたのを覚えております。

現在ではプロ棋士も角換わりの課題局面を多くの計算機で検討されているようでこれは棋理を探求する同じフィールドに立っているのだなぁと感じるところです。具体的な局面について安易にコメントしづらくなります。

特にプロ棋戦ではタイトルや棋戦優勝などの成績を上げるためには一時期に圧倒的な連勝が必要になります。その起爆力になるのは得意戦法・得意戦型となるケースが多く見受けられます。現在は対策がソフトによる解析で短期間で行われるため非常に難しいと言われております。新戦法などは生まれにくい土壌なのかもしれません。

今後はどうなっていくのか楽しみと思うことにしておきましょう。

 

5.更なる展望について

コンピュータ将棋の世界は外側から見ると完成度の高いものに見られがちです。つまり計算結果の善し悪しがすでにプロ棋士ですらコメントしづらいレベルにあります。

しかしながら,そのアルゴリズムや具体的な実装を含め実はあまり完成されたものではありません。全く別のものを基準に独自に制作されたものが類似の結果を生むような状況があったり,極稀に全く異なる結論を導くことがあったりと未だ混沌としております。

あるルールに基づき対戦を行うと結果がでますが,その際どの着手が敗着というのは比較的見つけやすいですが勝者の手が全て完全な手と断定することは現状で不可能です。(可能であれば完全解析されたと言うことです)

例えば負けた側にも長手数の必至手筋が存在していたケースなどは選手権レベルの棋譜でも後に発見されたりしますし,千日手の打開手筋なども同様です。

決して弱くなることはありませんので年々ペースは異なりますが必ず強くなってきますので以前のものを上回り新しいものが生まれます。前述のような長手数の勝ち筋を短時間で見出すようなアルゴリズムや確定的ではないが序盤の精度を上げる手法などが今後生まれてくる可能性はあります。もちろん,完全解析への期待もあるでしょうがこれは相当遠い未来でしょう。

そして,なかなか理解されませんが応用は効く分野でして結構意外な分野で転用されています。コンピュータ将棋界隈OBがどのように活躍されているか確認頂ければ幸いです。

 

今日はこれくらいにしときます。

AobaZeroで遊ぼう9(問題点チェック)

bleu48.hatenablog.com

 

前回の続きです。主に自分用の作業メモに近い感じで記録しておきます。

wcsc30のエントリーも締め切られましたが個人的には暢気なものでAobaZero弄りが楽しい日々です。

そういえば以前の選手権の前も技巧弄りをしておりました。決してそれだけしかしてないわけでもないのですが・・・

 

AobaZeroに関して前回以降に加えた機能は

1.時間制御をもう少しマシに

具体的には無駄な探索を打ち切る分岐を2,3追加しました。

dlshogiのような時間延長はやっていません。

2.MultiPV対応

まぁMCTSで読んでるので第二候補以降も表示しただけです。

ノード数含めて表示してやると各ノードの伸びが見えて楽しめます。

 

問題点は

1.以前からある頓死問題

  

2.頓死と同じレベルの読み抜け

頓死と同根だが対応策が別の場合があるため分けておきます。

通常のMCTSでは相当ノード数を増やしても根源的に回避は難易度が高い。

単に学習不足で片づけるのは気の毒な気がしています。

 

3.千日手判定は出来ているが,劣等局面判定がありません。

「歩を打って捨てて打って捨てて」等の手駒を相手に渡すだけの手順を回避していません。

 

4.入玉宣言ルーチン

上記に比べたらレアケースだが欲しい機能です。

sfen対応はこれ実装用の前座でもあります。

 

5.CUDA直叩きによる高速化

公式で対応してくれると信じて待ちます。

 

6.優位になってから詰め切れない

1050Tiクラスで技巧2に負ける気がしないレベルまでになってきていますが,その理由は技巧がデフォルト-3000で投了してくれるからという安直な理由です。

実は駒得やねうら王を追い込むのすら難儀しております。

f:id:the48:20200211053401p:plain

gikou2_1cに優位に勝ち越してもKristallweizenの1000kノードに負け越すような感じになります。(ちなみにDELLのちょっと前のG3ってノートで1050Ti)
 

7.Ponder未対応

自己対戦しかしないなら要らないですよね。

 

ふと感じたこと。

AobaZeroはそもそもAlphaZero追試プロジェクトです。私が勝手に良かれと改造するのがこれに対して弊害になる可能性があります。つまり,AlphaZeroになかった機能の追加や本筋と違うバイナリによる収集棋譜汚染などです。

本家にプルリク送るよりは自分のところだけで更新をしておくのが適当と思っておきます。

 

私がDL勢最右翼と考えているdlshogiと結構よい勝負になってきたと思っていたのですが,まだ届いてはいないようです。もちろん今回問題点として洗い出しているようなものをdlshogiは具体的に対策されているからでもあります。ネットワークサイズが相当違いますので単純に比較できませんがそれはそれとして面白いとみるべきかもしれません。

dlshogiの方も検討エンジンとして使えると面白いとか考え始めたので一旦締めます。

---

2/13 追記

AobaZeroの方のオプション「-n」でノイズを加えているのですが,これは自己対戦で同じ棋譜にしないためのもので当然弱くなります。

これを外すと時間の追加制御を加えたエンジンでdlshogi_wcsc29とほぼ五分の勝敗になりそうです。

とくに評価値の傾向が全く異なるので随分新鮮な気持ちになります。