1.2くらいから考える将棋ブログ

わかった気になるも、よくわからないことを考えていく?

画像で見るKPPT型評価関数エンジンの構成

ちゃんとしたまとめや、互換性の経緯については、uuunuuunさんのまとめが詳しい。

Apery公表と互換ソフトの発展|コンピュータ将棋 レーティング

 

そのため記事の中身はほぼなし、もっぱら忘備録として垂れ流す用。

間違ってる可能性もあるのでバックアップを取った上で自分で試すのがいいと思う。

 

次のSDT5以降、様々な形式の評価関数が流行る群雄割拠の時代になり、一時の楽園であったKPPT型の互換型評価関数は主流でなくなっていく、、、なんて気がしたので、

今の段階でKPPT型評価関数の使えるエンジンのフォルダ構成をまとめておくの画像を垂れ流し

 

1. Aperyシリーズ

Aperyの構成に従うのは、AperyとSilentMajority, PPAperyの3つ

Apery: Releases · HiraokaTakuya/apery · GitHub

Silent Majority: GitHub - Jangja/silent_majority: Aperyを改良した将棋ソフトです。

PPAPery: GitHub - Jangja/apery at PPAP

Apery型は、エンジンファイルの下にある、日付のついたフォルダの中に、評価関数ファイルを入れればいい。このフォルダをevalとかにリネームすると、PPApery以外うまくいかない。浮かむ瀬なら「20161017」というフォルダ、wcsc26版なら「20160307」というフォルダ、大樹の枝なら「20151105」というフォルダ

f:id:jotcutJshakki:20171024224110p:plain浮かむ瀬画像

f:id:jotcutJshakki:20171024221952p:plain
f:id:jotcutJshakki:20171024222024p:plain

wcsc26画像

f:id:jotcutJshakki:20171024223039p:plain
f:id:jotcutJshakki:20171024223043p:plain

大樹の枝画像

f:id:jotcutJshakki:20171024221220p:plain
f:id:jotcutJshakki:20171024221138p:plain

日付フォルダの中身など

 

f:id:jotcutJshakki:20171024221418p:plain
f:id:jotcutJshakki:20171024221516p:plain

左:Silent Majority,

右:PPAPery

 

逆に、評価関数のフォルダ名を対応するものにしておけば、binフォルダ内に置かなくても動く

f:id:jotcutJshakki:20171024221630p:plain

 

2. やねうら王シリーズ

やねうら王: GitHub - yaneurao/YaneuraOu: shogi engine(AI player), stronger than Bonanza6 , educational and tiny code(about 2500 lines) , USI compliant engine , capable of being compiled by VC++2017

読み太: GitHub - TukamotoRyuzo/Yomita: USIプロトコル準拠の将棋エンジンです。

tanuki-: GitHub - nodchip/tanuki-: This repository is deprecated. Please see ...

 やねうら王型は、エンジンの下にあるevalフォルダに評価関数をいれればいい。やねうら王2017Early以降は、エンジン側で評価関数の場所を指定できるので、evalの下に評価関数毎にフォルダを作っても、指定できるので動く。

他にやねうら王と似た構成を持つのは読み太とtanuki- (※tanuki-はApery派生) 

f:id:jotcutJshakki:20171024222834p:plainやねうら王画像

f:id:jotcutJshakki:20171024222839p:plain
f:id:jotcutJshakki:20171024222848p:plain

やねうら王evalフォルダ以下の階層の例と、エンジン設定例(ShogiGUIによる)

f:id:jotcutJshakki:20171024222954p:plain
f:id:jotcutJshakki:20171024222918p:plain

 左:読み太

 右:tanuki-

 

3. うさぴょんシリーズ

「うさぴょん2」

エンジンと同じところに評価関数をおけばいい


f:id:jotcutJshakki:20171024224338p:plainうさぴょん2'画像

 

戦法名と起源主張って?追記1

居角左美濃や4五桂速攻なども、もともとあった戦法が、近年のソフト/ソフトの読み筋をベースに研究した人によって見直されたというのが実情ではないか。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
個人間での起源主張とは別に、今後はソフト発祥を主張する人たちとも戦法の起源主張を争わなければならない可能性もあると考えると、複雑な気分ではある。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/








戦法名と起源主張って?その4

前回jotcut-jshakki.hatenablog.com
の続き
2.ソフトが指した手の判断
Floodgateなどでソフトが指した手が新手であると持ち上げる風潮は電王戦以降顕著になったように感じるが、このソフト崇拝が行き過ぎた結果、今回の様な事例が起きてしまった様に思える。
このソフトがこう指したからこの手はいい手だ、と考えるのは、このプロ棋士の先生がこう指したからこの手はいい手だ、と考える延長に過ぎない。
ソフトの推奨指し手や評価値が探索パラメタや検討設定によって簡単に変わってしまうことは、ソフトを使う上で頭の片隅においておいた方がいいだろう。
(当ブログ最初の記事で言及している動画はその辺に詳しい。非公開だったが復活しているので、視聴推奨)jotcut-jshakki.hatenablog.com

また、将棋ソフトによる序盤の創造性が声高に叫ばれた昨年度は、当時圧倒的な実力を誇っていたPonanza(SDT4)が定跡不要派に属していて、将棋ウォーズで2016Ponaが暴れまわっていたことも少しは関係あるだろう。
現在では、将棋ソフトの序盤はガバガバであることが将棋ソフトの定跡を研究しているまふ氏によって示されており、WCSC27では定跡ハメによる時間攻めもあってelmoがPonanza Chainerに勝利したことも記憶に新しい


従って、遥かに読みと大局観が我々より上である将棋ソフトであっても、全面的な信頼をするのは考えものだ
(例えば、現在のKPPT型評価関数では、超急戦周りの評価は怪しいようで、ちょっと進めてみると反省する)

将棋ソフトに使われるのではなく、将棋ソフトを使う人が増えてくれることを願う。

その他参考ツイート




戦法名と起源主張って?その3

対銀冠穴熊6三金5ニ金6二玉型飛車転換戦法を巡る騒動にて、私も戦法名と起源主張については気になるところがあった。
1.戦法名のつけられ方と伝播
(私個人としては、)戦法が戦法として認知されるためには、認知対象がその一連の手順が優秀かつ再現可能であることを理解する必要があると考える。
例えば藤井システムは、ある程度目標とする形や手順が決まっているので、その形に組み上げれば(厳密な形の差異による作戦の成否は別にすれば)その戦法を指したと思うことができる。
仮に藤井システムを知らない人にその指し手を見せれば、見た人は「独創的な組み換え」「力戦形」などの印象を持つ。
同様に今回のユキ式システム(?)も、知らない人から見れば「斬新な組み換えから玉頭に殺到した」ぐらいしか感じないのではないか。


ここで、ユキ氏のツイートを参照すると



とあるので、当時より一部の限られたコミュニティでは、これが戦法であると認識されていたと予想される。
今回の騒ぎの一端は、この戦法をこいなぎ氏やsuimon氏がユキ氏由来ではなく、宇佐見蓮子流やソフト流として広めたところにあるだろう。


ここは現実的には面倒なところである。
両氏がユキ氏や該当システムのことを知っていればこういうことはなかったが、当時鍵垢だったユキ氏の主張を両氏が目にすることは容易ではなかったのではないか、結果としてこいなぎ氏は24での対局を見て宇佐見蓮子流と、suimon氏はソフトの対局で何度か偶然現れたこの局面を見て、ソフト流と認識したのではないだろうか。

新手や新戦法は発案者の主張に触れる機会がなければ(もしくは発案者が不明の場合)、その場で見たものを新手として判断してしまうこともある。
以下のコンピュータ将棋協会のブログはやや古い話ではあるが、ゴキ中の変化に登場する4四角の一手が王将戦という大舞台で偶然GPS将棋が指摘したことで「GPS新手(後にBonkras新手と言われたりした)」と呼ばれる話があった。
コンピュータ将棋協会blog » コンピュータ将棋が産んだ定跡
記事のコメント欄を読んでいただけるとわかるように、4四角はそれ以前より2chで指摘されていたことがわかるが、その変化を紹介したゴキ研の存在を知らなかったために、一時はGPS新手と呼ばれた。


特定の形や手順が戦法として認識される以上に、その「戦法」の名前や出自が決まる過程は複雑怪奇である。
阪田三吉名人・王将が一局だけ指した将棋を、関西将棋を知らなかった東京の観戦記者が大騒ぎした結果定着したという噂話がある「阪田流向飛車」
・三浦六段(当時)が1998年のアマプロ平手戦で「後手番一手損角換わり」を指したが、公式戦で指したのは2003年の淡路九段
・棋書「B級戦法の達人」にある「逆襲!変幻飛車」の類似形がその後「角交換四間飛車」としてA級戦法になる
・「イビアナ」の起源を巡る田中寅彦九段と大木和博氏による裁判(参考URL:参考Wikipedia田丸九段のブログその他一般ブログ
・居角左美濃左美濃急戦と名前が定まらないあの急戦について、斎藤慎太郎七段の棋書や升田幸三賞で「対矢倉左美濃急戦」との名称が採用される
上記の5つの例を見ても、戦法名やその起源は狙ってどうこうなるようなものでは無く、結果的にその戦法をより広い範囲(級位者なども含む?)に広めた人が影響を持つようにも見える。

一方で、SNSや個人ブログなど個人の発信の機会や情報伝達の速度が増えた結果、戦法名が定着した例もある。
・ニコ生の将棋配信主マント氏が生み出した「きmきm金」
タップ・ダイス氏が長年に渡る主張とKDPによりついに定着を果たした「トマホーク」

現状では、戦法の名称については知名度のある存在による普及の影響が強く、声の小さい研究者/発案者が命名するには工夫が求められる環境だといえる。
起源主張についてもややこしいことには変わりはない。棋譜データベースがあるとはいえ(もちろん、棋譜データベースの整備状況も理想には程遠いが)棋譜に現れる手順はその背後にある膨大な研究のほんの表層にすぎない。科学研究とは異なり、成果が勝敗につながるものなので気軽に公開するというわけにもいかず難しい環境だといえる。(メモ:この辺の考えは特許に近い?要確認)。


今回のユキ氏の話に戻して考えれば、この戦法を普及させようとしているのは現在ユキ氏・こいなぎ氏、suimon氏であり、それぞれのツイートやブログを見る層は、左の方から超上級者・高段者・有段者や級位者という印象である。(※完全に主観です。)
suimon氏はこの中で影響力が強いので、この戦法の発祥、名称の大勢はかのブログ如何によって左右されそうである。幸い、彼のブログ記事ではソフト由来の戦法でないことは明記されているので、ユキ氏のこの戦法がソフト発だと思われることはなさそうだ。
名称については不明、現状の流れでは宇佐見蓮子流が主流で、通はSwitchシステムやユキシステムと呼ぶ感じになりそうだ。



タップ・ダイス氏の参考ツイート

戦法名と起源主張って?その2

前回からの続き
ユキさん(一説によるとがうる氏と同一人物?)の主張は以下のツイートを中心とする、藤井システムの発展型(?)が、ソフト由来ではないというものであった。(全部載せるのは面倒くさいので、気になった方はユキさんのツイートを読みましょう)


ただ、発端となった最初のツイート中「元々僕のものです」という一文が誤解を招いたのか、そこから一個人による戦法の起源主張や名称についての議論も起きた。
以下、議論相手のしゃくかえせさんの主張は面白かったので、以下のリンクから読みましょう。
将棋の戦法とその起源について


その後しゃくかえせさんはツイッターの垢を消してしまうなど、この議論は不毛な結末に終わり、ユキさんも訂正ツイットをすることでひとまずの終息をみることになった。
以下、重要(だと思った)ツイートを切り取り紹介






その他関係者や外野の反応

戦法名と起源主張って?

最近戦法の名称や起源について面白いやりとりがあったので、流れに乗っかってみる。
スタートはここから













まあツイートはこの辺を意識した感じでしょうか
www.fgfan7.com





ツイートを貼り付けるだけで記事が長くなるので次に続く

将棋所と技巧改で遊びながら評価値を鑑賞する

jotcut-jshakki.hatenablog.com
この記事のメモに、探索深さを変えることで評価値に変化が出るのかという話がある。

こちらのアイデアについては、Mizarさんが探索深さ制限機能のある技巧というものを公開されており、今回はそちらを利用する。参考リンク:読みの深さを制限した技巧のレーティングby uuunuuun

方法としては、例の課題局面においてDepthを1から徐々に上げていき技巧の評価値の推移を見比べるというもの。Depthの低い段階では、8八角成と角を取れるが、それ以上先は読めないため、3000前後の評価値にはなかなかならないと予想した。
なお、技巧ではやねうら王のようなUSIコマンドによる現局面の評価値を出す方法がなかった(少なくとも私はわからなかった)ので、読み筋先の評価値のみ表示する。

結果
Depth1
8八角成以降がよめず、1300程しか有利ではないと計算した。
f:id:jotcutJshakki:20170505193603p:plain
8八角成の局面で再度検討を行うと、成り込んだ馬が取り返されないためか、評価値は3000付近まで上昇している。(先手から見ているのでマイナスの値)
f:id:jotcutJshakki:20170505194310p:plain
Depth2
深さ2以上になり、成り込んだ馬が相手の応手によって取り返されないことがわかったためか、評価値は3000付近まで上昇した。予想より早く3000代になってしまった。
f:id:jotcutJshakki:20170505193608p:plain
Depth3以降は以下の通り
Depth3
f:id:jotcutJshakki:20170505193612p:plain
Depth4
f:id:jotcutJshakki:20170505193618p:plain
Depth5
f:id:jotcutJshakki:20170505193624p:plain

今回は技巧Depth1とDepth2の評価値を見比べることで、将棋ソフトで提示される評価値が読み筋の先にある局面の評価関数での計算結果であると、間接的に説明できた。

まだ調べてないのでわからないが、やねうら王で深さ制限をかけられる場合(やねうら王miniで遊ぼうシリーズにあった気がする)、同様に低Depthでの評価値と、evalによる値を見比べて見たいと思う。

以上