プレイヤーには、公平な6面ダイスが与えられます。勝つために、彼女は4より大きい数(5または6)を振らなければなりません。彼女が4を振った場合、彼女は再び転がらなければなりません。彼女の勝率は?
を獲得する確率は、次のように再帰的に表現できると思います。
次のように、Javaで100万回の試行を実行することにより、を近似しました。
import java.util.Random;
public class Dice {
public static void main(String[] args) {
int runs = 1000000000;
int wins = 0;
for (int i = 0; i < runs; i++) {
wins += playGame();
}
System.out.println(wins / (double)runs);
}
static Random r = new Random();
private static int playGame() {
int roll;
while ((roll = r.nextInt(6) + 1) == 4);
return (roll == 5 || roll == 6) ? 1 : 0;
}
}
そして、私はこのように展開できることがわかります:
しかし、この種の近似に頼らずにこのタイプの再帰関係を解決する方法はわかりません。出来ますか?