確率・統計
記事内に商品プロモーションを含む場合があります

期待値計算|両辺にE(x)が現れる場合の解き方を解説

確率・統計関連記事
Aru

期待値計算で悩んだ経験はないですか?特に、E(X) = αE(x) + …というように右辺と左辺の両辺に同じE(x)が現れる場合の計算は難しいです。この記事では、こういった両辺にE(x)が出現するケースの期待値計算方法について、具体的な解き方を解説します。

両辺にE(x)が現れる問題

期待値計算をしようとすると、両辺に期待値E(x)が現れる問題の例としては、以下のようなものがあります。今回は、この問題を解きながら、両辺に期待値E(x)が現れる場合の対処の仕方を解説します。

問題

整数Nが与えられる。整数Nについて以下の操作を行う。

  • Nをサイコロを振って出た目で割る(小数点切り捨て)

上記の操作をNが0になるまで行う場合の、サイコロを振る回数の期待値を計算しなさい。

上記の問題のポイントはサイコロで1が出た場合は$\frac{N}{1} = N$なので、整数$N$は変化しない点です。

期待値を$E(X)$を値がXの時に、0になるまでサイコロを振る回数の期待値とすると、サイコロで1が出た場合にはXのままなので、E(X) = … E(X)….と両辺にE(X)が現れる形になります。

実は、この手の問題は、競技プログラミング(AtCoderなど)で頻繁に出題されます。個人的には、期待値計算の問題は苦手で毎回悩んでいたりします。

この記事では、具体的には、プログラムで解けるように式を変形することを目標としています。競技プログラムなどで、この手の期待値問題を解く助けになればと思います。

以下、解法を説明します。

両辺にE(x)が現れる場合の解法

E(X)の式を作る

$E(X)$は、「整数値が$X$の場合に、サイコロを振って$X$が$0$になるまでの期待値」とします。この時のプロセスを具体的に考えると以下のようになります。

  1. サイコロを振る
    まず、現在の$X$の状態で、サイコロを1回振ります。すると1,2,3,4,5,6のいずれかの値が出ます。
  2. 次のXに移る
    サイコロを振ると$X$は、$\lfloor X/1 \rfloor$, $\lfloor X/2 \rfloor$, $\lfloor X/3 \rfloor$, $\lfloor X/4 \rfloor$, $\lfloor X/5 \rfloor$, $\lfloor X/6 \rfloor$のいずれかの値になります。遷移した$\lfloor X/k \rfloor$の期待値$E(\lfloor X/k \rfloor)$を計算します。

①と②を再帰的に繰り返し、$X=0$になるまで繰り返します。ちなみに、$E(0)=0$です。

これを数式で表すと次の式になります。

$$
E(X) = 1 + \frac{1}{6} \sum_{i=1}^{6} E(\lfloor X/i \rfloor )
$$

式を展開する

これを展開すると、次の式になります。

$$
E(X) = 1 + \frac{1}{6} (E(X) + E(\lfloor X/2 \rfloor ) + E(\lfloor X/3 \rfloor ) + E(\lfloor X/4 \rfloor ) + E(\lfloor X/5 \rfloor ) + E(\lfloor X/6 \rfloor )
$$

先に説明したように、式には両辺に$E(X)$があります。まず、$E(x)$を右辺に集めて指揮を整理し、$E(X)=$の形式にします。。

すると、以下の式が求められます。

$$\begin{eqnarray}
E(X)&=&\frac{6}{5} + \frac{1}{5} (E(\lfloor X/2 \rfloor ) + E(\lfloor X/3 \rfloor ) + E(\lfloor X/4 \rfloor ) + E(\lfloor X/5 \rfloor ) + E(\lfloor X/6 \rfloor )\\
&=&\frac{6}{5} + \frac{1}{5} \sum_{i=2}^{6} E(\lfloor X/i \rfloor )\\
\end{eqnarray}$$

以上で、右辺に$E(X)$が無い式に変形することができました

式の変形はこれで終了です。ここまで変形できれば、プログラムで解くことが可能です。

プログラムで解く場合は、動的計画法やメモ化再帰と呼ばれる手法を用います

この問題を少し難しくした問題がABC350E問題です。プログラミグに興味がある場合はチャレンジしてみてください。

まとめ

期待値計算で、両辺に$E(X)$が出現する場合について考えてみました。ルーレットに0があるすごろくやについても同じように計算することが可能です。また、一回休みなどのマスがある場合、スタートに戻るがある場合も、似たように式を整理して行けば期待値を求めることが可能です(この場合は、マス目について期待値の式が変化しますが)。

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
ある/Aru
ある/Aru
IT&機械学習エンジニア/ファイナンシャルプランナー(CFP®)
専門分野は並列処理・画像処理・機械学習・ディープラーニング。プログラミング言語はC, C++, Go, Pythonを中心として色々利用。現在は、Kaggle, 競プロなどをしながら悠々自適に活動中
記事URLをコピーしました