思うだけで学ばない日記 2.0

思うだけで学ばない日記から移転しました☆!よろしくお願いします。

ぼくの考えたKPPの理論(1)

まず前置きとして、3駒間の関係は任意の3駒で考えるとかえって駄目だる。

たとえは歩と金と銀の3駒を攻めに使っているとして、それらが同じ相対位置関係で盤の一角を占めても、相手の王将から近い場合と遠い場合とではぜんぜん勝利への寄与が異なることが明らかである*1。そんなものに同一の得点を与えるわけにはいかない。

ゆえに、3駒間の関係を得点化する場合、駒の一つは(相手か自己の)王将でなければならない。まあ攻撃の有効性という意味合いで評価したいのなら基準は相手の王将だろう、ということで以下そうする

3駒間の評価関数の一般式

将棋では盤面にゲームに寄与し得る駒が常に40駒存在し、それぞれが種類と位置を持つ。種類は{駒タイプ}×{所属陣営}×{生駒 or 成駒}で、位置は1〜81 or どっちかの駒台。種類と位置を合わせて1つの駒が完全に記述される。ここではそれらを合わせて単にアルファベット一文字で表すことにする。すなわち、駒Aと駒Bが一致するとは、ここでは、駒タイプ、所属陣営、生駒 or 成駒、位置の全てが一致することと同義である。
また、(相手王将をOとして)3駒O, A, Bの関係(O,A,B)の得点をW(O,A,B)と書くことにする。

すると、局面sの3駒間の評価関数H(s)は次のように書ける*2

H(s)=Σ[A∈Ω]Σ[B∈{x∈Ω|x<A}]W(O,A,B)

ここでΩは局面sにおける全40駒の集合。また順序が付与されており*3、O(相手の王将)が最大とする。x<Aの不等号を等号付きに変えると2駒間も包含する3駒間になるが、それはここでは考えない。

特定3駒間狙い撃ちの調整!

いま、局面sにおける特定の3駒間の関係O-A-Bの得点をΔだけ高めたとしよう。すると、sの評価値はΔだけ上がる。ていうか、sだけでなく、O-A-Bを含む全局面の評価値がΔだけ上がる。そういった集合をS_1とすると、S_1全体で一斉に同じ量Δだけ上がるので、、S_1内では評価値の大小関係は不変。一方、O-A-Bを含まない局面の集合をS_0とすると、こちらは評価値自体が不変なので、S_0内ではやはり大小関係は不変。

影響を受けるのは、S_0とS_1をまたぐ大小関係だる。これはx∈S_1、y∈S_0として、得点変更前のH(x)-H(y)よりも得点変更後のH(x)-H(y)がΔだけ大きくなる、という形で影響を受ける。もちろんH(x)だけが変化し、Δだけ大きくなる。

これには無害なケースとそうでないケースがある。x≠sとして、

  1. 変更後のH(x)がxの評価としてより正当である場合 -- オール無問題
  2. 変更後のH(x)がxの評価としては変更前より不当である場合 -- xの評価値を引き下げねばならない。

1.の場合というのは、「良い局面に似た局面は良い局面」が通用するシチュであるかぎり、そこそこ発生してくれるはず*4

一方、2.の場合にどうするか?
x≠sということは、局面xと局面sには相違する駒が1個以上ある。それをPとしよう。で、ここでは3駒間の関係の網の目が張り巡らされているから、Pは他の2駒との組み合わせの個数(39×38)/2=741もの関係を有し、それぞれに独立に上げ下げできる得点がついている。つまり、Δを741分の1に希釈してそいつらに負担させることによって、狙い撃ちでO-A-Bを含む局面sだけ評価値を高め、それ以外の局面同士の順序への影響を抑えることができる。

で、Δ/741の希釈操作が別のある局面の評価を不当とする弊害をもたらすなら、その弊害をキャンセルすべく、さらに741分の1に希釈して吸収させることができる、この繰り返し
これは、2.であるようなxが一気呵成に大量にできなければそこそこうまくいくことが見込める*5

なお、2駒間だと分母が小さすぎて希釈が成立しない(いつまでも収束しない)ハズ*6。上記便利さは3駒以上の関係の特権と言える。

特定5駒間狙い撃ちの調整!

いま、局面sにおける特定の5駒間の関係O-A-B-C-Dの得点をΔだけ高めたとしよう。これは、O-A-BとO-C-Dの得点をそれぞれΔ_1、Δ_2だけ高めることを意味する。ただしΔ_1+Δ_2=Δ。

これも前出の3駒間の調整と同じような話で、ただし同時変化するのが2つの関係で、評価値の大小関係の保存と破壊の様がちょっと複雑になる、というだけ*7。(1/741)^nベースの希釈がまあうまくいくときはうまくいくハズ

なんで今日わこんな話をするかというと、上の理屈だけでは学習部を具体的には構成できないからなんですよねー(棒

ま、3駒間だけも記憶に制約を付けなければおおよそ論理演算的なものが学習できてそこそこ逝けるんジャマイカ、という素人の妄想ということで

■追記 (2011/10/01)

当人の意図しないうちに現行のやり方の欠陥を述べてしまっていた…!
1つの駒を王将に固定した3駒間とは実質「原点移動の自由を有する2駒間」なので希釈は1/39でしか起きない。
飛駒は一気に9マス移動し得るから、盤面に差異がありながら同一の得点を付与されるべきパターンが最大9個存在することを考えると、希釈の分母が2桁台というのは分解能にちょっと不安が出る。

*1:いや知らんけど多分、

*2:いやこれが常識的に3駒間の評価関数と言われるものなのかどうか実はよく知らない、、、

*3:順序を付与するのはW(O-A-B)とW(O-B-A)を両方足し合わせるのは無意味だからだる。片方だけにするのに使う。

*4:いや知らんけど

*5:いや責任持たないし知らんが

*6:いや知らんけど単なる妄想

*7:集合はS_1とS_0でなく、4集合となる。大小関係はそれぞれの中では不変、4集合の境界をまたぐ大小関係が影響を受ける