将棋ソフトの世界では、Deep Learning勢はまだ上位のソフトに追いついていないようですが(WCSC29の決勝にDeep Learning勢は残れていなかった)、チェスのソフトの世界では、この勢力図がいままさに変わろうとしています。
従来型のソフトの代表格であるStockfishと、AlphaZero型のソフトの代表格であるLeela Chess Zero(以下LC0と略す)との対局がTCEC 15というチェスソフトの大会で行われたのですが、そこでLC0が勝利したようです。
※ TCEC 15 final : https://tcec.chessdom.com/
やねうら王やAperyなどいまの上位に位置している将棋ソフトは、Stockfishをかなり参考にしているので、チェスソフトの世界と同様に近い将来、Deep Learning勢に追い抜かれると予想されます。
とは言え、将棋ソフトの世界では、NNUE評価関数というオーパーツがあります。NNUE評価関数はStockfishに逆輸入すれば、おそらくStockfishの棋力もR100~200ぐらい上がるはずの技術です。あとは、将棋ソフトのほうが勝っている技術もたくさんあります。(私が開発したものもありますが、そうでないものもたくさんあります。)
それらの技術をStockfishのほうにすべて持っていけばトータルで+R200~400ぐらい上がるはずです。そう考えるとチェスソフトの世界とは少し様相が異なるのかも知れません。
まあ、チェス(Stockfish)のほうから将棋ソフトはたくさんのアイデアをもらっているのに、将棋ソフトのほうからは何もお返ししていないに等しいので、将棋ソフトのほうが前を行っているのは当然と言えば当然であり、「将棋ソフトのほうが前を行っているぞ!」と何も私はどや顔で言っているのではなく、チェス界隈の技術をもらうだけもらって何も返せていない、それは屈辱であり、恥ずべき事態であると私は思っています。(かと言って、私はチェスに執着がないので、多大な労力を払う気にはなれないですが…。)
また、WCSC29で注目株であったDeep Learning勢のAoba Zeroの致命的なバグが先日修正されたそうで、一気に+R300ぐらい上がって、floodgateではdlshogiを抜きそうな勢いです。追い上げがすごいです。
あとは、AlphaZero型のソフトは思考時間を10倍にしたときに+R800ぐらい上がるのでは?という説もあります。
AobaZeroをAlphaZeroのハードに載せた時の棋力?https://t.co/7KIynuR8S0
— uuunuuun (@uuunuuun1) May 30, 2019
これが本当だとしたら、思考時間2倍で R800/log2(10) ≒ +R241ということになります。(従来型のソフトは+R200程度) つまり、長い持ち時間になると、Alpha Zero型のソフトのほうが棋力の伸びが大きく、圧倒的に有利になり、TCEC 15はWCSC29より長い大会なので、そのへん、LC0側に有利に作用しているとの見方もあるようです。
いずれにせよ、非Deep Learning勢の俺たちの戦いはまだ始まったばかりだ!(完)
WCSC29の賞状受け取りました。全文、文部科学大臣の柴山さん直筆っぽいです。関係者の皆様ありがとうございます。将棋AI、世界最強の称号を一年間預からせていただきます。 pic.twitter.com/rGiKZPeLad
— やねうら王 (@yaneuraou) May 31, 2019
将棋ソフトをチェスに移植するにあたってどこら辺が大きな問題になるんでしょうか?
やはりチェス用の評価関数を作るのが難しいんでしょうか?
・開発者がチェスのルールよく知らないこと(rule50って?castlingて?千日手の取扱いが?)
・チェス用の検証環境を持っていないこと(自己対局スクリプト、GUI、探索パラメーター調整スクリプトetc…)
・ゲームとしての性質の違い(駒の再利用ができないので駒の位置関係や駒得の比重が大きいetc…)
という事は、習得のために、簡単なゲーム攻略。例えばAlphaZero型やねうら三目並べとかをいろいろ見ていけるんですね!!!
AlphaZero型 FizzBuzzからですかなー(´ω`)
https://qiita.com/ymg_aq/items/d276357823f5b2ce46c5
ソフトをフリーで公開してる時点で十分お返ししてるでしょう。Stockfishも将棋に貢献しようと思っているわけではなく将棋開発者が勝手に参考にしてるわけで、将棋ソフトもフリーで公開されているんだからチェス勢も勝手に使えばいいだけじゃないの?
そうかも知れません…。ある日突然NNUE型評価関数がStockfishに採用される日が来るのかも…。
そこはやっぱり、日本語(英語で発信されてる開発者の方も少数では有りますが居られたと思いますが)の壁ってやつでしょうか。日本語での発表のために世界に知られず世界初の発見の栄誉が海外になんて事例も学術の世界では戦前とかに有りましたし。
プログラミングの調べごとで英語ができたらなぁ、と思うことが何度も。ゴミ情報が多い「Stack Overflow」からグーグル翻訳を頼りに目的の項目を探すのは骨が折れます。
「駒の無いマス」という盤面の50%程度を占める情報を適切に評価できれば,コンピュータ将棋は更なる進化を遂げるのではないかと勝手読みしてます.
この点,三駒関係やNNUEでは評価しきれておらず探索でカバーしている状態なのではないでしょうか.
「駒の無いマス」を評価できるようになればDeepLearning勢が頭角を現すのでは…と思ってます.
それにはAlqhaZero並みの環境が必要かもしれませんが…
駒がある升に対して加点すれば駒のない升に減点しているのと同義なので、KPPTでは駒のない升の評価は要らないかなーと私は思ってます。(NNUEでは意味がないことはないと思いますが、計算時間が増加する損を取り返せないような…)
ちなみに商用版『PonaX』にKSP(おそらくKing-Space-Pieceの略)というファイルが入っています。Ponanzaの山本君に「あれのファイル、使ってないよね?」と以前確認したところ、「(実装して)実験して、よくなかったので、(最終的には)使ってない」とのことでした。