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

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

続☆電波利権

<電波>
およそPVとは二人零和条件由来の概念なので二人零和条件を満たさない評価関数を前提としてPVを論じたり探索してPVをぞろぞろ表示させてみたりすることは明らかにナンセンスな行為である*1

ここで評価関数が二人零和条件を満たすとわ、任意の局面xについて次が成立することと同値だる:
評価関数が二人零和条件を満たすにわ、任意の局面xについて次が成立することが必要だる*2

  • 先手プレイヤーの評価値 = -後手プレイヤーの評価値・・・(1)
    先手プレイヤー視点の評価値 = -後手プレイヤー視点の評価値・・・(1)

つまり、いかに神経質で欲深いコンピュータ将棋開発者が

  1. 先手と後手で評価関数を区別したい
  2. 自己手番と相手手番で評価関数を区別したい

という野望をいっぺんに抱いたとしても、将棋を二人零和有限確定完全情報ゲーとして解くことを志す限り*3、用意すべき評価関数は(4通りではなく)先手用と後手用の2通りだけで実質良いことになる
自己手番か相手手番かの区別は単に符号の反転/非反転で実現されるべきものだ<追記>*4
ただしもちろん、場合分けは探索開始局面(探索木の根)の先手/後手/自己手番/相手手番でなくて、評価値を計算する当の局面(探索木の葉)の先手/後手/自己手番/相手手番に従わねばならないのは当然だる*5

二人零和条件を満たす評価関数の例:
駒得<追記>*6
一般には二人零和条件を満たさない評価関数の例:
KKP、KPP、ヒューリスティックに与えた評価因子を帳尻とか何も考えずに足し合わせたもの

学習をきちんと意味のある形に収束させたいなら調整対象とする評価関数を二人零和条件を満たすように工夫せねばならない<追記>評価因子単位で符号を自己と相手で反対にしてみたり、盤面を180°反転させたときの得点を0を挟んで対称とする等の拘束条件の設定というのが常考だが*7 *8
他にも、所与の評価因子の集合の上でのPVの存在を仮定して、PVが確定的に存在する(ように見える)方向に調整を進める方向もある*9

しかし学習のさせやすさを本当に考えたとき、真実は斜め上を行く
つまり二人零和条件を満たせるだけの余地を、評価関数の素体に後付けで与えてやるのだ
つまりここにプラス思考学習メソッドを提案汁、*10 *11

*1:「二人零和」から評価値が実質-∞、0、+∞の3値で必要十分ということが導かれ(∵それら3値で必勝(不敗)手順=真のPVが説明される)、さらに「完全情報ゲー」なら必勝(不敗)側がPVをゲーム中に得られる情報から探索で求められることが保証され、さらに「有限」ならその探索はいつかは終わる。。(「確定」がどっかに逝ったが無視。)

*2:思わずキーボードが滑ったが、式(1)が満足されるだけでは局面評価結果の集合に正当な半順序が付与されたことにならないから(1)は必要条件

*3:実際それ以外を志していいことがあるかというとそんなものはこの世に存在しないわけだが

*4:一見式(1)と違うことを主張しているようだが、これはコンピュータ将棋はゲームの始まりから終わりまで自己の視点での評価値のみ問題にするから、自己視点での相手手番の評価値=-相手視点での相手手番の評価値、ということを言ったもの。別に自己視点(もしくは相手視点)の評価値の符号が手番毎に反転するわけではない。

*5:とわ言いつつ、固定深さの探索だと探索開始時に探索の先端の先手/後手/自己手番/相手手番が確定するわけなので、場合分けが半分ジェネリックプログラミングの領分となるわけだがそれはさておき

*6:駒得は式(1)は満たすものの、*2があるから二人零和条件を満たすかどうか疑問の余地がある(ていうか駒得が良くても負ける(評価値-∞)というケースがある以上明らかに満たしていない;

*7:いや知らんけど

*8:ただし仮にそうすると「先手と後手で評価関数を区別したい」という野望が自動的に潰えるのは論を待たない

*9:ぶっちゃけ評価関数が評価因子の線形和なら収束は保証されるわけだが、それが真実のPVをずばり言い当てる確率は以下略

*10:と書くと正当性が評価関数の内側から来るという一昨日の主張に一見矛盾するので、正当性が評価関数の内側から来得るような評価関数を考えるのだとも言う

*11:ていうかこの話には続きがあって、二人零和条件は見えている世界よりも一段高い次元で実現されねばならない