つれづれギャモン日記

バックギャモンに関する日記です。面白いポジションや大会、例会の結果などを徒然と書いていきます。

今日のポジション2013/01/30

2013-01-30 00:21:34 | BGポジション
久しぶりの今日のポジションです。
今日はサービスで2題です。

実戦ではよく考えたつもりだったのに
例のごとくブランダーをやらかしました。
さて、正解は?



問題1

is Player 2 score: 5 pip: 153
11 point match
pip: 153 score: 0 is Player 1
XGID=-a--aAD-C--AdE---c-d-b--A-:0:0:1:21:0:5:0:11:10
to play 21

eXtreme Gammon Version: 2.03




問題2

is Player 2 score: 1 pip: 162
11 point match
pip: 145 score: 0 is Player 1
XGID=--aaBBCBA---dC--ad-d----B-:1:-1:1:51:0:1:0:11:10
to play 51

eXtreme Gammon Version: 2.03


パラドックス(解答)

2013-01-28 12:14:54 | 日記
前回のパラドックス問題を出してからだいぶ日が経過したので、そろそろ答えを発表します。
では問題文のどこが間違えていたかというと、この箇所です。

「仮にx%落とすとしましょう。すると解析によれば、Cさんが勝つ時は(50+x)%のLuckを得て、コンピュータが勝つ時は(50ーx)%のLuckを得ます。」

この部分が誤りです。コンピュータの評価器がもし厳密に誤差がなければ(エラーによる勝率変動の総和)と(Luckによる勝率変動の総和)の合計は50%に必ずなります。ところが、実際にはコンピュータは正確でないためにぴったり50%に一致しません。

なぜこの現象が起きるかというと、2Plyや1Plyなど何手先読みかでコンピュータの返す評価値が変わるからです。以下具体的に説明します。


仮に全体の解析を2Plyでやるとします。あるポジションAにおけるダイスのLuckは(ロールする前のAにおける2Plyの評価)と(ロール後のAにおける1Plyの評価)の差分として計算されます。
ロール後に正しくチェッカープレイがされたとして、次のポジションをBとしましょう。BにおけるダイスのLuckも同様に(ロールする前のBにおける2Plyの評価)と(ロール後のBにおける1Plyの評価)の差で求まります。

さてここで問題が生じます。理論的にはチェッカーエラーがなければ、ロール後のAの期待値とロール前のBの期待値は一致します。ところが前者は1Plyで評価されるのに対し、後者は2Plyで評価されるので解析では一致しません。

この不一致が原因で、Luckを足していっても連続するLuckとLuckの間に隙間があるために勝率変動の総和がぴったり50%にならないわけです。


このことはお手持ちのXGやGNUBGでも確かめられます。

この現象はロールの前後で同じ評価器を使えば解決できるのですが、すると今度はLuckの期待値が0にならない問題があります。 Luckの解析はボットやオンラインサーバー等でダイスにイカサマがないことを調べる目的にも使われるので、仕方なく期待値0を優先したのだと思います。


さてここまで偉そうに解説してきたわけですが、自分はこの問題を自分で考えておきながら3時間以上悩んでしまいました。 皆さんはすぐにわかりましたか?


パラドックス

2013-01-23 11:55:56 | 日記
バックギャモンはダイスを使うゲームのため運によって勝敗が大きく左右されます。ただし長い目で見れば運は全ての人に平等であり、トータルでは強い人が多く勝ちます。
今日はこの運に関する問題です。


AさんとBさんが1ポイントマッチをするとします。1ゲームの間にAさんは10%勝率を落とし、Bさんは20%勝率を落とします。単純に考えればAさんの勝率は50-10+20=60%と求まりますが、運は平等という観点からもう少し冗長に求めてみましょう。

ゲームの開始時にはお互いの勝率は50%ですが、勝負が終わった時にはそれが0%か100%になり、50%がエラーと運で変動します。二人の犯すエラーの差が10%なので、Aさんが勝つ時は40%の運を、Bさんが勝つ時は60%の運を得ます。
これではBさんの方がラッキーなように思えますが、これは二人の間の勝率の違いによって補われます。長い目で見て二人の得る運が平等になるためには、AさんとBさんの勝率が6対4である必要があります(6×40=4×60より)。したがってAさんの勝率は60%でBさんの勝率は40%となります。



ところでコンピュータでマッチの解析を行うと、何%の勝率を運によって得られたかが計算されます。コンピュータの解析も厳密には正確ではないので多少の誤差はありますが、このLuckの推定値も実は平等になるようにできています。

コンピュータが一手以上先読みして局面評価する時、ダイスをロールする前の期待値は36通りの目が出た後のそれぞれの期待値の平均で求められます。
またダイスの目によって変動する期待値がLuckに相当します。
したがってコンピュータの局面評価が正確か不正確かに関わらず、Luckの期待値は必ず0となります。


それでは人間のCさんとコンピュータが対戦する場合を考えてみましょう。
コンピュータの手はコンピュータで解析すると勝率を1%も落としません(解析に用いる評価器は対戦の時と全く同じとします)。一方Cさんの手はコンピュータと全く同じ手を選ばない限り、解析によれば何%か勝率を落としてしまいます。仮にx%落とすとしましょう。
すると解析によれば、Cさんが勝つ時は(50+x)%のLuckを得て、コンピュータが勝つ時は(50ーx)%のLuckを得ます。

またCさんとコンピュータが得られるLuckの期待値は先ほど述べたように双方必ず0になります。長い目で見てLuckが0になるために、Cさんとコンピュータの勝率はそれぞれ(50ーx)%、(50+x)%になります。xは0以上の数字なので、したがってCさんはコンピュータに対して勝率で上回ることは決してできません。


問題: 上の文章から得られた結論は明らかに誤りですが、一体どこに論理的な欠陥があるのでしょうか?