将棋の評価値と勝率の換算計算
将棋ソフト(AI)が出す評価値を入れると、シグモイド関数を使って、勝率の目安に変換します。評価値から勝率への変換は、使うソフトによって式の係数が違うため、あくまで目安です。
くわしい条件を変える(なくても計算できます)
計算方法
勝率(%) = 1 ÷(1 + 10^(-評価値 ÷ 換算係数)) × 100(シグモイド関数の一種)
例:評価値0(互角)なら勝率は必ず50%です。評価値400・換算係数600なら、1÷(1+10^(-400÷600))×100≒78.8%です。
この式は、値が大きくなるほど1に近づき、小さくなるほど0に近づく「シグモイド関数」という数学の関数を、評価値から勝率への変換にあてはめたものです。換算係数が小さいほど、同じ評価値でも勝率の差が大きく出ます。将棋ソフトによって、この係数の値(学習のしかた)が違うため、実際の勝率とは差があります。
式の意味を説明します。評価値は、どちらが有利かを点数で表したものです。これをそのまま勝率にはできないので、0から100%の間に収まる曲線(シグモイド関数)に通します。評価値0なら必ず50%になり、有利になるほど100%に近づきますが、ちょうど100%にはなりません。換算係数は、この曲線の傾きを決める数です。
例:換算係数600のとき、評価値400なら勝率の目安は82.3%、評価値−400なら17.7%です。換算係数900にすると、同じ評価値400で73.6%になります。
気をつけること。換算係数はソフトごとに違い、共通の基準はありません。だからこの勝率は目安です。評価値そのものもソフトや読みの深さで変わります。終盤の詰みがある局面では、評価値が大きく振れます。
出典:評価値から勝率への変換式(シグモイド関数)の定義。将棋のソフトの世界で広く使われている考え方ですが、係数はソフトによって異なり、共通の公式基準はないため、出典URLはありません
よくある質問
評価値0のときの勝率は?
どの換算係数でも、必ず50%になります。評価値0は「互角」を意味するためです。
換算係数を変えると何が変わる?
同じ評価値でも、勝率の出方が変わります。係数が小さいほど、少しの評価値の差で勝率が大きく変わります。
どの将棋ソフトでも同じ勝率になる?
なりません。ソフトごとに評価値の付け方や、勝率への変換の係数が違うため、同じ評価値でも表示される勝率は変わります。
評価値がとても大きいときは?
勝率は100%に近づきますが、100%そのものにはなりません(数学的に0%と100%には近づくだけで到達しません)。