Computer Science 15-110, Spring 2010
Class Notes: Monte Carlo Methods (Optional)
In class today we discussed Monte Carlo methods -- running random simulations
to predict expected values.
Here is some sample code we wrote to demonstrate the technique. It finds
the odds of various sums when rolling two dice:
import java.util.Random;
class MonteCarloDemo {
public static Random random = new Random();
public static int rollDie() {
return 1+random.nextInt(6);
}
public static double oddsOfSummingToN(int sum) {
int successes = 0;
int trials = 1000*100;
for (int trial=0; trial<trials; trial++) {
int die1 = rollDie();
int die2 = rollDie();
if (die1+die2 == sum)
successes++;
}
return 1.0*successes/trials;
}
public static void main(String[] args) {
for (int sum=0; sum<15; sum++)
System.out.println(sum + ": " + oddsOfSummingToN(sum));
}
}
carpe diem - carpe diem - carpe diem - carpe diem - carpe diem - carpe diem - carpe diem - carpe diem - carpe diem