将棋の上達とAIの話(的な何か)
将棋(囲碁もですが)を覚えて、初心の段階から上達していくために非常に効果的な方法の一つに「手筋を覚える」というのがあります。
この「手筋」ってのは「よくある小技」でして。
料理で言えば「千切り」「乱切り」「みじん切り」「かつらむき」みたいなよく使うちょっとした技です。
もちろん、小技を覚えてもそれで料理になるわけじゃないです。料理を一品作るためにはいくつもの小技を統合させなければいけないので、小技を覚えただけでは料理にはならない。将棋も同じで、手筋を1つ2つ覚えただけでは勝てません。
とはいえ、 「その小技が必要な場面に出くわしたときにはとっても役に立つ」 そんな小技は何百とあって、それを 「手筋」 と呼ぶわけです。
で、将棋上達のためにはその「手筋」を覚えていくのが非常に役に立つんですけど、ではその「手筋」を学ぶためにコンピュータ将棋ソフトは役に立つのか?
・・・・・あんまり役に立ちません(^_^;;;;;;;
なぜかというと
現在の将棋ソフトの出す答えって、「全体最適解」 なんですよ。
81マスの将棋盤上、40枚の駒の全体を見据えて 「これが最善手」 と出してくる将棋ソフトの次の一手は、人間にはなぜそれが最善なのかがわかりにくい(^_^;) 特に初心者にはさっぱり意味不明です。
それに対して、「手筋」 ってのは 「部分最適解」 なんですな。
場合によっては3x3マス、駒数4枚ぐらいの小さい範囲でわかる「手筋」がいっぱいありまして・・・・何しろ小さいので初心者にも教えやすいし理解しやすい。
ところが将棋ソフトはそういう解説をしてくれない()
ある局面で将棋ソフトが出した最善手がたとえば 「継ぎ歩に垂れ歩」 の手筋に基づくものだったとしても、その一手を見ただけでは初心者にはわけがわからんのですよね。
ソフトの指し手に沿って数手進めて、さらに 「これは継ぎ歩に垂れ歩の手筋の応用です」 という抽象化を経てようやく初心者に理解できるようになる。 この部分は今のところ人間に教わる方が早い。
ただそれは 「今のところ」 であって、現在の将棋ソフトが 「勝つ」 という方面に力を入れてるから出来ていないだけで、最終的にはこれもソフトで相当な程度まで対応可能だろうと思います。手筋の教科書として書けるレベルの話だったらソフトが判断して人間に教えてくれる時代がくるんじゃないかな。そんなに遠くない未来に。
いや、実のところ既にそれを始めてるソフトがあっても驚きませんけど。
だってまあ要するにこの話はクラス分類なんですよ。
分類先の「クラス」が何百もありますけど、ある局面とそこで適用可能な手筋のマッチングは本質的には現在のAI技術の守備範囲。
初心者に将棋を教えてると、実戦で出現する 「手筋」 を教えるのにとても時間がかかるんですが、AIがそれを分担できる時代が来たら(たぶんそんな遠い未来じゃない)、今の藤井聡太四段みたいな棋士が普通になるんじゃないかという予感がしてます。
なぜなら・・・・
初心者の対局を横目で見てると、「ああっ、今のは○○の手筋でいけるのに・・・・」という場面が一局の中で何十もあって、それを本人達は気づかずスルーしてるわけです。
かといってそこに口を挟むわけには行かないし。
結果、初心者は「フィードバック」をなかなか得られず上達しないわけです。
AI指導棋士が出現したらこのボトルネックが一気に解消される。
今の将棋ソフトでもそういう効果が一部はあるんだけれど、初心者の学習用のソフトをガチで開発したら、それを使ってトレーニングした集団の学習スピードが何倍にもなっても僕は意外じゃないです。