タイトルは思いつかないけど、テキストで残したいから

Youtubeで公開する用の原稿とかテキスト文なんかを載せていきます。
動画を作るのが遅い…その通りです。

Electron将棋→HomeShogi

2024-06-15 23:13:54 | ゲーム

紹介してきた「Electron将棋」新バージョンから名称が「Home Shogi」にかわったそう。

【お知らせ】 v1.15 から名称とロゴが変更されました。

詳細

 

変更理由は、「Electron」の規約上の問題が生じる可能性があるためとかなんとか。

名称とロゴが変わりましたが、機能はさらに強化されました。

https://sunfish-shogi.github.io/electron-shogi/

最新版は1.15.0

https://github.com/sunfish-shogi/electron-shogi/releases/tag/v1.15.0

これにより、検討エンジンを動かしながら棋譜を読み込むなど他のことができるようになったとのこと。

Mac版は新規インストールされてしまうため、旧ファイルは自分で削除する必要があるそうです。

Win版は上書きインストールされます。

Macでも使える数少ない将棋UIなので、今後の発展にも期待しましょう。

 


Electron将棋の新機能

2024-06-12 14:41:41 | ゲーム

将棋GUIのひとつとしてご紹介しているElectron将棋に、ユニークな機能が実装されているので紹介しておきます。

 

Electron将棋

https://github.com/sunfish-shogi/electron-shogi/releases/tag/v1.14.2

 

v1.14.0から追加された機能の一つに

「局面編集に駒の数を変更する機能を追加」

があります。このほかにも追加機能はあるのですが、これが他にはないユニークな機能です。

 

どういうことかというと

 

 

初期画面から、「局面編集」を選択

 

すると「駒の増減」が出てくるので選択

このウインドウが開くので、ここで駒の数を指定できます。

試しに玉を4枚にしてみると

このように駒が追加されているのが分かります。

 

残念ながら現在のAIでは、駒が増えたことに対応できないらしく、検討させるとエラーが出ます。

将来これに対応したAIがリリースされれば、将棋の新たな可能性が開ける時が来るのかもしれません。

需要なさそうなのでリリースは夢の話なんでしょうけど。

 

人間がああでもない、こうでもないと検討するのは自由なので、そういうのが好きな人向けの機能と言えます。

「課金して持ち駒を増やす」みたいな遊びもできるので、そういうネタを作りたい方にもいいかもしれません。

 


フリーで公開されている最新将棋AI事情

2024-06-12 13:07:43 | ゲーム

前回の投稿から大分日が過ぎてしまいました。

将棋AIは徐々に有料化の道をたどり始めていますが、ありがたいことに今でも無償で入手できるものもあります。

今回は、それらの情報を更新していく内容です。

 

やねうら王

長らく更新されていなかったやねうら王も、ついにVer8がリリースされています。

開発版は支援者向けに公開されていますが、それよりちょっとだけ(R50100)性能を下げたバージョンが公開されました。

 

やねうら王Ver.8.30 GitHub

https://github.com/yaneurao/YaneuraOu/releases

 

以前紹介したふかうら王も、Ver8.30が公開されています。

これらには評価関数は付属しておらず、エンジンのみなので評価関数は自前で用意する必要があります。

既存のものがそのまま使えるので、今お使いの環境があればエンジンだけ差し替えれば動作するはずです。

以前まであった「水匠5」同梱版は付属していませんでした。

 

実際に使ってみたところ、一か所設定項目が追加されてるのに気が付きました。

どうやら持将棋27点ルールのほかに、24点ルールにも対応したようです。

詳細は不明なので、今後の公式発表を待ちたいと思います。

性能的には体感できるレベルで向上を実感できました(Zen2 Ryzen5 ノートPCの環境)

今後の主流になっていくと思われます。

 

やねうら王、ふかうら王、tanuki系評価関数は、開発版を支援者向けに公開しています。

有料ではありますが、こちらを導入した方が性能をより発揮するので興味がある方はご検討ください。

 

Li-Venge

実はちょっと古い情報になるのですが、無償で公開されている評価関数としては最強といえるのがこのソフトです。

https://github.com/nodchip/tanuki-/releases/tag/tanuki-dr4

エンジン部分が更新されていたようですが、先述のやねうら王Ver.8.30の方が性能を発揮できるので、

評価関数部分だけ流用することになりそうだと思います。

まあ、その部分は前回までに記述した「Li」と同じらしいのですが。

 

なお、Li-Vengeは単体で有料版が公開されています。こちらの方が最新版となります。

https://lessertanuki.booth.pm/items/5713519

 

ふかうら王/DLSHOGI

 

Lightweightのモデル公開(WCSC33ver

https://rheinmetall.hatenablog.com/entry/2023/05/06/120000

※一年前の記事のため情報が古いです

DL系将棋AI用の軽量モデルです。

軽量化した分NPSAIが単位時間当たりに考える手数)を増やせるのが売りになっています。

従来のモデルよりも、若干多く読んでくれる気がします。

正直使ってるPCGPUが貧弱なため、実感できるほどの恩恵はありませんが、それなりのGPUであれば恩恵が受けられるはずです。

 

Aoba-Zero

https://github.com/kobanium/aobazero/releases

 

DLSHOGIと同じくDL系エンジンですが、GPU版はOpenCL版で公開されています。

現行で売られているGPUなら、ほぼどれでも動かせるのが特徴です。

また、モデルは独自のものをダウンロードして動かします。

そのため別途モデルを用意する必要がありません。

 

十六式いろは幻(まほろ)-2024

https://github.com/sueyoshiryosuke/YaneuraOu/releases/tag/Ver.2024spring

今回お伝えするAIで、唯一最新の大会に出たAIを公開してるサイトです。

水匠5に比べてやや分が悪いそうです。

試しに水匠5と組み合わせて評価関数を用いたところ、水匠5は上回るようになりました。

エンジン部分はやねうら王の7.63を使っていたようです。

 

今後やりたいこと

将棋AIに最適なCPUを探す旅

将棋AI DL系をマルチGPUで検証する

将棋AIでのベンチマーク評価、その基準と測定方法について

 

 


もっと!将棋ソフトを使いたい!

2024-02-10 15:34:39 | ゲーム

こんにちは。前回の記述から更新分が出来たので投稿します。
今回はDLSHOGI、ふかうら王、それとLiのお話です。

Li

まずはCPUのみですぐ使える将棋AIのLiから

Liのダウンロードページ
https://github.com/nodchip/tanuki-/releases

tanukiの文字列があるからピンとくる方もいるかもしれません。
マイナビから販売された「将棋神やねうら王」にも収録されたエンジンtanukiの流れをくむAIです。
https://book.mynavi.jp/yaneura/

Liの実力はというと、以前紹介した「HAO」「BLOSSOM」のいずれも上回る棋力をもっています。
それでいて導入はいたって簡単です。
ダウンロードページから
tanuki-wcsc33-2023-05-04.7z 
を入手し、解凍します。
見つからなければ Assetsの中に隠れているかもしれません。

各CPU向けのエンジンが収録されているので、それを登録すればいいだけです。
Intelをお使いだと末尾がavx2もしくはavxvnniを使用するといいと思います。どちらかは動くはず。
AMDだとZEN3まではそれぞれの末尾のものを。ZEN4以降(AM5ソケット)はavx512もしくはavx512vnniを使用するといいでしょう。
 「FV_SCALE の最適値は 20 です。」
と記述されているので、設定でこの項目を20に変更しておきましょう。

DLSHOGI
ここまで紹介してきたAIは、CPUのみで動作するAIでした。
ここからはGPU、つまりグラフィックカードの機能を利用して動作するAIです。
最先端の研究だと、このDL系のAIとCPU系のAIを組み合わせて研究することが多いようです。

DLSHOGIダウンロードページ
https://github.com/TadaoYamaoka/DeepLearningShogi/releases

グラフィックカードの前提として、NVIDIA (エヌビディア)のRTXシリーズを使用する事が推奨されています。
詳しく解説すると読む気が失せると思うので、簡単に言えば「これでしか使えない機能を使って計算させてる」のだと思ってください。
ただそれだとあまりに不便なので、効率は落ちるけどそれ以外のグラフィックカードでも扱えるようにしたプログラムもあります。これを「OnnxRuntime版 」といいますが、これの導入を解説していきます。

dlshogi-wcsc32.zip 
このファイルをダウンロードします。
OnnxRuntime版の実行には、Visual C++ランタイムが必要
とあるので、こちらも入手します。
Visual C++ランタイム
https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads
vc_redist.x64.exeをダウンロードしてインストールしてください。

https://github.com/TadaoYamaoka/DeepLearningShogi/releases/tag/dr2_exhi
にある、モデルファイルを入手します。
モデルファイルの利用にはライセンスに同意することが必要になりますので、よく読んで入手してください。
model-dr2_exhi.zip 
を入手できるはずです。ライセンスに同意していれば解凍方法もわかるはず。

dlshogi-wcsc32.zipを解凍すると、
dlshogi_onnxruntime_double.exe
というファイルがあります。これがエンジンです。今回はこれを使用します。
またこのフォルダの中に、model-dr2_exhi.zipを解凍して入手した

model-dr2_exhi.onnx model-dr2_exhi.onnx.ini

をコピペしておきます。

エンジンを登録したら、設定で
DNN_Model の項目を、今入手したmodel-dr2_exhi.onnxに変更します。
ついでに
DNN_Batch_Sizeの項目を256に変更しておきます。
これで動くようになったはずです。
ノートPCの内蔵GPUでも動作します。でも非常に遅いです。
ただ遅いだけなので、プロ棋士が長考してる間に読ませるとかすれば、参考になるかもしれません。

ちなみに使用するのがGPUであるため、CPUを用いるAIと共存させやすいのも長所ですね。
それぞれ違うパーツで計算するので、二つを並べて思考の違いを比較してみるのもいいかもしれません。

ふかうら王

やねうら王の開発者がDLSHOGIからの派生で開発しているAIです。
出来ることは同じですが、導入時のいくつかの違いがあるので解説をしておきます。

https://github.com/mizar/YaneuraOu/releases/tag/v7.6.3
このページの
YaneuraOu-v7.6.3-deep-windows.zip (113.14 MB) 
を入手します。
これを解凍すると
Deep-ORT-CPU
Deep-ORT-DML
Deep-ORT-TRT
とフォルダがあると思います。
TRTはNVIDIAのグラフィックカードが必要です。
DMLはWindows 10 DirectML (DML) 対応のGPU向け とあります。
これは現行製品だとほとんどが対応してるはずなので、まずはこれを試してみてください。
CPUは上記いずれでも動作しなかった場合に使用します。

別途 Microsoft Visual C++ 2015-2022 Redistributable (x64), VC_redist.x64.exe をダウンロード・実行してインストールして下さい。
とありますが、すでにDLSHOGIを導入している場合はインストール済みです。

Deep-ORT-DMLのフォルダ内に、「HAO」などからコピーした「eval」をフォルダごとコピペします。
DLSHOGIで入手したモデルmodel-dr2_exhi.onnxもここに入れます。

ここ以外だと初期化エラーがでるみたいです。

設定項目はDLSHOGIと同じように変更していきます。
フォルダを指定しなくても、そのままファイル名を指定すればモデルを認識してくれます。
ただしこちらはdoubleがないので、演算速度はその分低下すると思います。

現状だとモデルは古いままなので、最新とは言えないかもしれません。
ただ個人でモデルを作ろうとすると、それなりの計算リソースが必要なので結構大変だと思います。
一応自動で学習モデルを生成するソフトも公開されています。

「将スタ -将棋ソフトスタジオ-」
https://16-168.hatenablog.jp/entry/2022/01/16/012826

最新の棋譜はこちらで入手できそうです
http://wdoor.c.u-tokyo.ac.jp/shogi/

http://wdoor.c.u-tokyo.ac.jp/shogi/x/wdoorxxxx.7z

xxxxを2008から2024の範囲で変更すれば入手できるかも?

解説されている記事もあるので合わせて参考にしてみてください。
https://engineerblog.mynavi.jp/technology/shogi-ai/

 

「やねうら王」「ふかうら王」はいずれも古いバージョンしか公開されていません。
https://yaneuraou.yaneu.com/

ただし寄付をした方には定期的に(その時点での)最新版を公開しているとか。
いつかは無料版が公開されると思いますので、それまで待つか、応援したい方は寄付をして最新版を入手するといいかもしれません。

 


将棋ソフトを使いたい!

2023-11-14 20:03:35 | ゲーム

こんにちは。

今回のお題はこちら。「将棋ソフトを使いたい!」です。

先日藤井聡太八冠が誕生して注目が集まった将棋界ですが、以前からネット配信を中心に対局中継が行われるようになっています。

場合によっては無料で配信されているものもあるので、一度は見たことがある方もいらっしゃるかも知れません。

そんな中継でよく使われている、「形成判断」「評価値」なんかを見たことがあると思います。

あれは将棋AIソフトで測定しているのですが、難しいソフトを使っているわけではありません。

実はどなたでも簡単に導入できるようになってます。

今回はそれらを紹介していくとともに、それを動かすPCについても考察してみたいと思います。

 

将棋AIってどんなの?

 

将棋AIはその名の通り、将棋の最善手を考えてくれるAIです。

古いものだとファミコンの時代から存在し、将棋ソフトなんかに使われていたりします。

ただし、このころのソフトは、人間にはまだまだ遠く及ばないもので、素人でもコンピュータに勝ててしまうレベルでした。

そんなAIが人間に勝てるレベルになってきたのが、2010年代に入ってから。

それ以降はめきめきと頭角を現し、現在では人間では歯が立たないくらいのレベルになっています。

今のような将棋ソフトが出始めてから、ちょうど10年くらいなんですね。

 

そんな将棋AIで、最も普及しているものが「やねうら王」ではないでしょうか。

 

これはPCCPUを用いて、最善手を考えさせるプログラムを中心に、様々な種類が開発されています。

ソフトのダウンロード、ならびにリンクは貼っておきますので、そちらを参考にしてみてください。

(公開予定の)動画内でも説明しますが、いちいち動画を再生しなくてもいいように、ブログ形式で手順を紹介しておきます。

また動作環境はいずれもWindowsを前提にしています。

MacLinuxはそれぞれ適宜読み替えをお願いします。

 

まずは、「やねうら王(水匠5同梱)」のリンクに飛びます。

https://github.com/mizar/YaneuraOu/releases/tag/v7.6.3

 

Suisho5-YaneuraOu-v7.6.3-windows.zip (106.90 MB)

このファイルをダウンロードしましょう。

 

AIソフトをダウンロード出来たら、次はそれを動かすためのソフトが必要です。

AIソフトは将棋を考えるのは得意なのですが、それを表現する手段を持っていないのです。

それを助けてあげるのが、将棋GUIと呼ばれるソフトたちです。

いくつかの種類が公開されています。代表的なのは、「将棋処」「shogiGUI」「ElectornShogi」ですね。

これらはほぼWindows版で提供されていますが、「ElectornShogi」はMac版やLinux版も公開されています。

個人的にお勧めしてるのは「shogiGUI」「ElectornShogi」ですね。この二つは形成判断や評価値を一目でわかりやすく表示してくれる上、候補手を何手か選んで表示させることもできます。

「将棋処」は考えてる手を全部いっぺんに表示してくれるので、どの手が良くてどの手が候補から外れていくのかを観察することができます。

どちらかというと研究向けだと思います。

どれを使うかは、完全に好みでいいと思います。

それぞれのサイトのリンクを貼っています。そちらからダウンロードして見てください。

 

「将棋処」

http://shogidokoro.starfree.jp/download.html

「shogiGUI」

http://shogigui.siganus.com/

「ElectronShogi」

https://sunfish-shogi.github.io/electron-shogi/

 

エンジンを登録する

 

どの将棋GUIソフトでも、まずエンジンを登録しないと使うことができません。

先ほど「やねうら王」から、AIソフト部分をダウンロードしてきましたので、それを登録しましょう。

ZIP形式になっているので、Windows標準の機能で解凍できます。

シフトキー+右クリックで「解凍」→「ここに解凍」を選択すると解凍されます。

もし解凍できない、もしくは古いWindowsを使っていたり、違うOSを使ってるなど

解凍できないときは、焦らずに解凍ソフトを導入してください。7-ZIPとかがあるとこの先はかどると思います。

解凍できたら将棋GUIソフトを起動し、エンジンの設定を選択します。

先程解凍してできたフォルダに移動して、適切なエンジン(※)を選択すれば動き始めます。

このAIは「水匠5」と呼ばれるAIが組み込まれているので、単体で動作します。

 

※適切なエンジンってなんですか?

CPUによって使用できるエンジンが異なります。

どのCPUでも動作するのが「SSE42」と末尾に書いてあるものです。

場合によっては「SSE2」「SSE3」「SSE41」などと末尾にあるものもありますが、こちらは過去使用されていたCPU向けのものなので、スペック的にも推奨はしません。

動作確認くらいはできると思いますが…

最近売られているIntelAMDCPUであれば、「AVX2」と末尾にあるものが動きます。

AVX512」と末尾にあるものもあります。より最新のCPUだとこっちが動くはずなんですが、Intelの事情によって第12世代以降は動かなかったりします。

AMDZEN4から対応してるようなので、AMD派の人はこれを使ってもいいかもしれません。

AMD向けには「ZEN1」「ZEN2」「ZEN3」と末尾に書いてあるものがあります。使用しているCPUの世代によって使い分けるといいと思います。

 

他のAIとかないんですか?

 

ここからは水匠より強いといわれていたり、ちょっとマニアックなAIについても紹介していきます。

 

将棋AIは、実行形式のエンジンと「評価関数」と呼ばれるデータで構成されています。

ここから紹介していくのは、いずれも「評価関数」と呼ばれるデータ部分です。

そのためエンジンが別途必要になります。

これは先ほどダウンロードしてきた「水匠5」のエンジンがそのまま使えます。

 

BLOSSOM

BLOSSOM」は、2021年から更新が止まっている「水匠5」よりも実力が高いAIと言われています。

作者さん曰く、「オールラウンダータイプ」とのことなので、あらゆる局面で最善手を考えてくれるはずです。

実際にコンピュータ同士で対局させた場合、後述のHAOとも互角に戦えるAIなので実用性は十分にあると思います。

ダウンロードリンク

https://twitter.com/senninha_a/status/1654675205464399872

 

HAO

水匠の作者絶賛のAIがこちらです。実力は「水匠5」を上回り、水匠では発見できない手筋を見つけ出すこともあります。

どちらかというと解析や検討向けのエンジンだと思いますが、評価値はやや低めに出してくる傾向があるように見えます。

https://github.com/nodchip/tanuki-/releases/tag/tanuki-.halfkp_256x2-32-32.2023-05-08

 

sqmz

通称「スク水」。現在での振り飛車最強のエンジンと言われてるAIです。

定跡を使えば対局でも振り飛車をさしこなし、強豪のAIとも渡り合える実力があります。

振り飛車をじっくり研究してみたい方にお勧めです。

sqmz_rel.7zをダウンロードしてください

https://github.com/qhapaq-49/qhapaq-bin/releases/tag/tagtest

 

「振デレラ」(キュート&クール)

このAIは今まで紹介したものとはちょっと系統が違います。

AI学習に人間の振り飛車の棋譜のみを用い、ひたすら振り飛車だけを学習させたAIだそうです。

そのためこのAIは、振り飛車こそ最善であるという動作をします。

棋力によってキュートとクールの2タイプがあり、クールの方が強いです。

他のAIに比べて、幾分か人間っぽい思考をしてくれますが、実力は人間より上ですね…

(最新版)評価関数 shinderella
Version:Cool より入手してください

https://www.qhapaq.org/shogi/kifdb/

 

ここでは紹介しきれませんが、「白ビール」「HoneyWaffle」「SILENT_MAJORITY」など他にも多数あります。

 

使用方法はいずれの場合も、ダウンロードしてきたファイルを解凍し、できたフォルダの中に先ほどのエンジンをコピペすればOKです。

 

 

これから注目されているAI

 

ここまで紹介したAIは、いずれもCPUのみを用いて最善手を探してくれるAIでした。

最近のトレンドは、AIGPUで動作させて考えさせるものが主流となりつつあります。

以前から囲碁の世界はその傾向がありましたが、将棋の世界でもGPUで動作するものが整備されつつあります。

dlshogi」と呼ばれるこのAIは、従来のCPUを用いたAIを超えるプログラムに育ちつつあります。

一応個人でも使用することはできますが、実力を発揮させるには高性能かつ高価なグラボを複数枚と、高性能CPUを搭載する必要が出てきます。

このためプロ棋士の研究や、主に企業なんかが将棋解析のサービスなんかに使ってると思われます。