期待評価値というものを考えてみた

 将棋コンやるからにはひとネタ欲しいと前々から思っているのですが。

 まあNNUEなんも分からん!というところで、駒得、三駒関係、探索、評価とかは分かるわけですよ。んでそれを基礎にした考え方でもコンピュータのスペックを上げて、ソフト的にもCやアセンブラとハード寄りの言語で最適化した無駄のないプログラムでもって計算回数を増やしていけば、強い手が導き出される。従ってソフト屋はデバッグに近い最適化をして、最新のハードもしくはAWSのようなクラウドサービスで計算量を増やして、まあそんでも大半は自動計算なわけで、何回計算を回したかってところで勝負しているのに、ウチと来たら富士通のノートとVBでも言い訳にしないのはAWSなどの技術にまだ手を出していないというのもあるんですが。

 しかし計算機より劣っているという噂の46歳の頭でも考えないと、機械学習アルゴリズムを人為的に模倣しようとすると「強い定跡の丸暗記」に陥りかねない。これは強くなるため(勝つため)には案外正しくて、詰将棋でも答えを丸暗記と言う手でも解けるというか、それ解いたって言うのか?という俺の数学的なケンカがひとつそこにあるわけです。

 なぜ強いのか、その手を指す意味はと考えると、詰みに対して帰納的であるか、駒得に対して帰納的である少数手をまるで演繹である「読み」と称する欺瞞なのか。

 そうすると、序盤で駒得が見つからない探索結果として評価値平坦な局面に対して、あるものはモンテカルロ法(出鱈目に色々と思考上で指してみて結果の良かった手)を選んだりするわけだけど、学習して1手に定まったオートマトンではなく、評価値が動くことが明白になる手の形に近づくまで未知局面から既知局面に近づくように探索する期待評価値を考えるというのはどうだろう、というのが今日の研究テーマ。

 全幅探索N手では評価値が変動しない事は既に分かっている、そこで未来局面N+2手に評価値変動があったとして、その局面と現局面の差が手にして何手分かとか、探索できるのかなぁ。

 実験するために、自作の定跡データベースに盤面と指し手の2値以外に通し番号とか、初手からの最短登場手数って将棋って駒を繰って千日手回避すれば同じ局面に違う手からたどり着いたりするから、これ「なのは」さんが詰将棋でも悶絶してた課題だったような気がするんだよな。

 けどまあ、値を増やして速度を測っていじれるの手作業ではなく将棋盤でGUIにするって雑魚の仕事が幾つか発生して、それ自分でやるモチベをどうするか。ウチのラボには雑魚になってくれる人いないので。

 初参戦にして最終参戦の電竜戦の時にも研究として認められたけど、裏でやねうらお師匠がもっと同じテーマで強いの作って、大会には出さないで置いておいてくれたんですよね。俺は自分ので出るって頑張って迷惑と言うか自分のスケジュールを将棋でいっぱいにしたんだけど、まあブログで愚痴ってないで何か手を付けるかなぁ。

 まあユーティリティみたいなのをいっぱい作って研究の助手になるってのは役に立つための手としてあるわけで、将棋ベーシックも画面のない将棋業界のビジュアライゼーションの一端を担ってはいるのですが、絵が欲しいのではなく数字が欲しいという計算機業界の数理の部分で何かの研究成果を出さないとサンタックコンピュータ専門学校情報処理専攻学部CG学科卒から電気通信大学主催コンピュータ将棋電竜戦にクラスアップした感じがしないのですよ。でも電気通信は出来てる。そんなとこに東大が殴り込んできて、奈良から電話でそれを観戦しているような感じなのです。

 そんなに将棋好きかというと、将棋ウォーズ100局くらいで飽きた人なんだけど、自作の将棋もまあ100局くらいは指して研究したんですよね。1000局で初段とか言うらしいので、それをあと800局指すのが煩わしくてコンピュータを使ってもっと楽にならないかって、探索部書いたのが丸三ヶ月くらいで、1日3局でも90日だと300局未満なので、まあ俺の将棋熱はその程度のカロリーなわけです。

 まあ今の勉強テーマである多変量解析を実用化するために、将棋の局面ごとの変量を現状「評価値」のひとつで測っているので、ある局面と別の局面を比較した時の初手からの手数の差とか、何か差分を表す数字をもうちょっと見つけられたら、変量が増えて相関を測る対象になって研究が進むかなと。

 まあ駒得以外の評価関数があるなら、それを全部別々の変量として局面の差分として換算して、だけどその仕事実際に誰がやるのよって、誰かお金下さい。切に。麻雀ゲームは980円で二本売れて1480円の収益が出てるけど3カ月働いて1480円であとは商品棚にゲームが並んでいる状態で、将棋も近しいものがあるのです。

 けどまあ、我が家というかGitHubで接続可能な開発環境が揃ったわけです。公務員って給料もらえるから研究しているのであって、研究が売上とかになって利益から給料を差し引いて儲かるとかそういう意味では全部税金とか社会保険料のせいみたいな感じで。

 それでも愚痴はこの辺で辞めて、ちょっとずつラボらしいことをやろうと思います。

 まあ今日はコーディングではなく研究テーマの洗い直しという事で。実はカルドセプトの研究も周回期待値という新しい指標が出来たのですが、多分ゲームしてる人にはデッキしか分からないと思うので、実はデッキじゃなく双六モノポリー部分で大部分の勝敗が決まっているのではないかとひとたび思うものの、デカいカードが攻撃力防御力強くて強いみたいなのが、初期デッキからカードを集める面白さで、それ以降の攻略は遊ぶ人が見つける面白さだと思っている部分もあって、同様にコンピュータ将棋もこうして研究テーマを考えている時が面白くて、実装して変量が見えて成果になったかというと、なかなか何も起こらない事や反対に弱くなることもあり、今回は期待評価値ということから出発して期待大なわけです。書いているうちに閃きもあったので良し。

 多変量解析の因子分析という道具があって、因子になり得る変量を求めるって事だ。


🄫1999-2023 id:karmen