結局評価値とか評価関数とはなんなのか
評価値、評価関数。こういった言葉が存在するが、これはそもそも何のためにあるのか、何の指標なのか、どのくらいあてになるのか。
これが今回のテーマです。
そのためにまず、ゲームの分類をしましょう。
学問の世界の話をしますと、ゲーム理論というものが存在します。これを今回の解説で参考にしております。しかし、できるだけそういう部分は出さないように、簡単に説明しようと思います。
では、ゲームを考えましょう。ゲームの種類ですが、今回は将棋や囲碁をテーマに据えますので、このゲームは
- プレイヤーは二人
- 二人の利害関係としては、片方が得するともう一方は損する
=片方が勝ちに近づくともう一方は負けに近づく
- ゲームの勝敗に運は関与しない(コイントスとかサイコロとか)
- ターン制
という特徴があります。オセロ、チェスも同じ分類ですね。
(引き分けは一旦考慮しません)
最善の手段をプレイヤーが取り続けると仮定します。
すると、ゲームの手番が決まった時点で既に、勝敗は決まっているということになりますね。「勝ち」「負け」のどちらかです。
では、最善の手段はどうやって求めればいいでしょうか。
まず、勝ちが近い場合は分かりやすいでしょう。例えば、将棋ではあと一手で詰ますことができる場合は、その一手が最善です。
他に、ある局面から、相手がどんな行動をしても勝ちが読み切れている場合も、最善手は決まります。
取れる行動のパターンが少ない場合は、全て列挙すれば、それで最善手は分かるのです。
つまり、仮に全ての終局までのパターンが列挙できているとしたら、その局面の評価値は「勝ち」か、「負け」かしかありません。
では、評価値をわざわざ細かく区切って点数表示するのはどういった意味があるのでしょうか。
それは一重に、中間目標の点を指し示すために他なりません。
では、どういった目標を中間目標として目指すべきなのでしょうか。
↓こちらに続きます