見出し画像

天撃システムの思想3

インプットに対する一意な回答

 先日、X(エックス)のエンジニア界隈でReactのuseState()を乱数値で初期化することの是非が議論されていました。useEffect()で乱数値を設定するとコンポーネントの描画が2度実行されることになるのでuseState()で初期化したほうが描画コストが低いと思われたが、関数コンポーネントが呼び出されるたびに異なる値となるため、これはReactの制約から逸脱しているという話でした。
 何の前置きかというと、「呼び出すたびに同じものが返る」というのはシステムの設計において重要な意味を持つということです。いわばこれが最もシステム"っぽい"特性の1つである(あった)という話です。

 同じような、あるいは似て非なる概念はいろいろあって、あまり例をあげるとむしろ意味のずれが目立ってしまうので難しいのですが、数学における関数みたいなものだと思ってもらうと良いです。関数f(x)はxに対して値が決定されるのであって、そのときの気分など何か曖昧な要因によってf(x)の値が別の値になったりはしません。
 もっともシステム開発の現場においては――件の疑似乱数のように――そんなきれいな関数ばかりではないのだけれど、我々将棋プレーヤーが将棋の文脈においてシステムという言葉を使うとき、これに近いイメージがあるような気がしています。

発展途上の天撃システム1

藤井システムが示した「システム」

 将棋界におけるシステムという言葉は、藤井システムの大流行によって確立した……と思います。たぶん。
 藤井システムは対穴熊の戦法ではありません。最大の特徴は急戦か持久戦かが確定する前の段階にあり、穴熊や銀冠といった持久戦に対して右側から動く可能性を考慮して玉の移動などを省略したのが画期的でした。
 藤井システムは何か特定の形を意味する言葉ではなく、相手に応じて戦い方を変える序盤の組み立て全体を表現しています。相手の指し方というインプットに対して、常に何らかの対応策を返すという仕組みが、「システム」という言葉で表現され認知されたわけです。

発展途上の天撃システム2

高い再現性と予測の困難さ

 藤井システムが将棋界に与えたインパクトはすさまじく、以来アマチュアでも「自分のシステムを作りたい」と思ったことはあるでしょう。先日は棋士の村田顕弘さんが藤井総太さん相手に「村田システム」をぶつけて話題になりました。(余談:嬉野流もシステム的な性質がある)
 そして私も、ということです。
 しかし、システムというのはその特性上、膨大な変化の可能性の中にぼんやりとしか存在し得ないものです。かつて「本当の藤井システムは藤井さんにしか指せない」なんて言葉がよく聞かれましたが、それはシステムという言葉で表される概念が本来的に明確には定義できないものを指しているからだと思います。

 一見矛盾しているかとも思える性質が生じています。
 システムは相手の指し手によって手が決まるため、対戦相手から見ればかなり「再現性が高い」と言えます。再現性が高くなければ、それはシステムと呼ぶことができないでしょう。
 一方で、未知の局面を提示したときにどう対応するのか予測が困難であるというのもシステムの特徴です。なぜなら、システムは特定の形を目指すものではないからです。裏側にあるなんらかの理念や研究結果によってシステムの応手は決定されるわけですが、それはかなりブラックボックスに近いものでしょう。
 再現性が高いにも関わらずひとたび実績の無いインプットを与えると予測が困難になる――。まるでライフゲームのようで、カオス的性質といって良いかもしれません。

発展途上の天撃システム3

システムの発展と破綻または成熟

 さて、完全な「システム」ができあがっていると仮定すると、それは相手のどんな手に対しても応手が一意に決定されるものであるはずです。しかし現実はそうではありません。
 私の天撃システムは、いろいろ失敗だらけの経験を積んだ結果として今ようやくそれなりの形が見えてきたと感じているのですが、まだまだ未熟な発展途上です。指し手が自動的に一意に決定されることなどほとんどなく、一手一手に常に悩む状態です。去年の天撃システムと今年の天撃システムはかなり違うし、来年もまた変化していることだろうと思います。
 システムを作るということは、あらゆる相手の指し手に対して応手を考えるということなので、どこまで行っても終わらないはずのものです。

 もっと発展させようとしたときに、どこかで破綻してシステムが崩壊するのではないかという不安が常にあります。システムの理念を根底から否定する指し回しというのは、きっと存在するでしょう。
 しかし思えば天撃システムなんていうのはもともと破綻して散り散りになった欠片をなんとかかんとか寄せ集めてどうにかしようと取り繕っているものなわけです。だから、破綻していてこそではないか、破綻なんてのは次の発展の始まりでしかない、くらいに強気でいきたいと思います。

 天撃システムが十分発展して成熟することはあるのでしょうか?
 いつかほとんどの対局でここはこうと悩まずに指せるようになれば、そのときようやくシステムが成熟したと言えるのかもしれません。でも、そのタイミングは永遠に訪れないかもしれません。
 私はそれでもいいんじゃないかと思っています。

この記事が気に入ったらサポートをしてみませんか?