将棋なんていわば駒と駒のシーソーゲーム!Ah~!

 将棋ベーシック改の評価関数を眺めていた。詰将棋を実装するのに少なくとも「王手」が先手後手ともにフラグ1発で取れる関数が欲しいよな~、まさかまだ無かったのか!という感じで眺めていると、駒利き評価の王将や玉将との距離の取り方がもしかして反対ちゃうかなー、どうやってログろう、とりあえず反転して指して見るかー!

 と指してみて負けた(人間負けソフト勝ち)なので、これ多分強くなってるなー(1局)ということでコミット。前々から何かが間違っている気はしていた。

 てかベクターへのリリースも視野に入れてんだけど、新作だったころから6~7年ほど累計で蓄積されたDL数は結構なものだけど、課金というか売れ足は全然だし、協会とも「ソフトの発展への寄与ではなく商用なのはナー」という無言の圧も感じる。

 まあでもその大学側も学生とかその親から授業料を取って協会費も集めているわけで。学術発展にも教育にもお金はかかるわけで、お金の話になると取り合いということになりがち。商売と国費はまた違うのも分かるんですけどねー。とりま将棋ベーシック改のソースは無償のOSSです。

 駒得にしても、新しいパラメータが付くにしても、評価関数を自作している以上は自分でもその計算はある程度分かっているわけで、ソフトを相手に指してもミスはあれ、基本的に自分とソフトが同じような考え方の元で指していて、人間勝つってことはソフト以上の事を考えているわけで、そこを掘り下げてプログラミングすると、結局は将棋盤を並べて自己対局するのとソフトを通すのとシーソーゲームとしてどれくらい違うかというと、自分で気付かない事をソフトが見つけてくれる体験もたくさんしました。

 その昔に読んだ書籍「Cプログラム診断室」の中でも特に「よいプログラマはずぼらです」という一説が有名で、多分プログラムの専門的な内容が分からない人が読んだらマメに本読んでいるのに「ずぼらが良い」という一説がやたら印象に残るってことだと思うんですけど、そして確かにプログラミングって頑張って行数書くよりループを上手く使って自動計算にすることにその旨味があるケースも分かんだけど、ウェブの時代が到来してマメにやる人でズボラな組み方も知識として知っていると、到底ひとりでは敵わない「システム」と対峙することになるんですよね。将棋で言うとフラッドゲート。それにストックフィッシュもいつの間にか16までバージョンが上がっているし。ズボラなところもあるけど、どこかはマメなんですよ。

 それは畑村洋太郎先生の「数に強くなる」でも、新書一冊サイズで読み進めて、基本的なところから出発して、最後の方のオチに機械の重さを推計する時に「ドンガラ率」といういい加減な係数が曖昧な説明で出てくるのでそこで「騙された」と思う読者が多いのですが、プログラムを組んでいてソースの行数を見るように、機械も箱に詰まっていてもベテランになるとハリボテなのかギッシリなのか見当つくのかもですね。パソコンとかだとノートパソコンはギッシリで、デスクトップとか基盤1枚に箱じゃないですか。多分そういう事だと今では解釈しています。全部分からないと腑に落ちないけど、基礎から積み立てて、分かる部分ももちろんあるけど、それを数的思考ではなく物語思考で文脈として読むと「ドンガラ率」がオチで「結局分からへんやん」となる。

 そうすると、将棋ベーシック改は何というかソースの分量というか、機構の詰まり具合がまだ負けているなとは思うんですよね。簡単で機械としてナメられる。こんな簡単でこんなに強いのかという基礎の部分は出来ているけど、誰が読んでも分からないというような将棋の神髄にはまだ迫れていないというか。

 NNUEとか機械学習ってともすると威しでは無いのかとも思っているんですが、ドンガラ率で言うとそっちのほうがプログラムがいっぱい詰まっていますよね。

 悔しいけど、機械なんだから機構の詰まり具合で勝っている方が勝負でも勝っているわけで、まあもうちょっと精進かなと思うんだけど、そこでズボラが勝ちます。どっかでマメに、だけどズボラに。相反しているようだけど、強いソフトの機構は少なくとも誰かのマメさはその中に詰まっているシステムだとは思うんですよねー。


🄫1999-2023 id:karmen