monte carlo simulation

25
MONTE CARLO SIMULATION Modeling and Simulation CS 313 1

Upload: oakes

Post on 24-Feb-2016

70 views

Category:

Documents


0 download

DESCRIPTION

Monte Carlo simulation. Modeling and Simulation CS 313. EMPIRICAL PROBABILITY AND AXIOMATIC PROBABILITY. The main characterization of Monte Carlo simulation system is being stochastic (random ) and deterministic (time is not significant ) . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Monte Carlo simulation

1

MONTE CARLO SIMULATIONModeling and SimulationCS 313

Page 2: Monte Carlo simulation

2

EMPIRICAL PROBABILITY AND AXIOMATIC PROBABILITY The main characterization of Monte Carlo simulation system is

being stochastic (random) and deterministic (time is not significant).

With Empirical Probability, we perform an experiment many times (n) and count the number of occurrences (na)of an event A

The relative frequency of occurrence of event A is na/n. The frequency theory of probability asserts that the relative

frequency converges as n →∞

Axiomatic Probability is a formal, set-theoretic approach, in which mathematically constructs the sample space and calculate the number of events A

The two are complementary.

Page 3: Monte Carlo simulation

3

EXAMPLE Roll two dices and observe the up faces:

If the two up faces are summed, an integer-valued random variable, say X, is defined with possible values 2 through 12 inclusive.

Pr(X = 7) could be estimated by replicating the experiment many times and calculating the relative frequency of occurrence of 7’s

Page 4: Monte Carlo simulation

4

RANDOM VARIATES A Random Variate is an algorithmically generated realization

of a random variable. u = Random() generates a Uniform(0, 1) random variate How can we generate a Uniform(a, b) variate?

Generating a Uniform RandomVariate:

Page 5: Monte Carlo simulation

5

EQUILIKELY RANDOM VARIATES Uniform(0, 1) random variates can also be used to generate

an Equilikely(a, b) random variate.

Specifically, x = a + [(b − a + 1) u] Generating an Equilikely Random Variate:

Page 6: Monte Carlo simulation

6

EXAMPLES Example 1 To generate a random variate x that simulates rolling two

fair dices and summing the resulting up faces, use: x = Equilikely(1, 6) + Equilikely(1, 6); Example 2 To select an element x at random from the array a[0],

a[1], . . ., a[n − 1] use: i = Equilikely(0, n - 1); x = a[i]; Example 3 Galileo’s Dice: if three fair dices are rolled, which sum is

more likely, a 9 or a 10?There are 63 = 216 possible outcomes

Page 7: Monte Carlo simulation

7

EXAMPLES This figure shows the slow convergence of relative frequency

probability estimates for the three-dice random experiment.

You should always run a Monte Carlo simulation with multiple initial seeds.

Page 8: Monte Carlo simulation

8

MC DRAWBACK The drawback of Monte Carlo simulation is

that it only produces an estimate. Larger n does not guarantee a more accurate

estimate.

Page 9: Monte Carlo simulation

9

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 1: MATRICES AND DETERMINANTS Matrix: set of real or complex numbers in a rectangular

array. For matrix A, aij is the element in row i, and column j

Here, A is m × n (m rows, n columns) We consider just one particular quantity associated with a

matrix: its determinant A single number associated with a square (nXn) matrix A,

typically denoted as |A| or det A.

Page 10: Monte Carlo simulation

10

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 1: MATRICES AND DETERMINANTS

Page 11: Monte Carlo simulation

11

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 1: MATRICES AND DETERMINANTS Random Matrices Matrix theory traditionally emphasizes matrices that consist

of real or complex constants. But what if the elements of a matrix are random variables? Such matrices are referred to as “stochastic” or “random” matrices.

Our question: if the elements of a 3 X 3 matrix are independent random numbers with positive diagonal elements and negative off-diagonal elements, what is the probability that the matrix has a positive determinant?

Page 12: Monte Carlo simulation

12

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 1: MATRICES AND DETERMINANTS Specification Model Let event A be that the determinant is positive Generate N 3 × 3 matrices with random elements Compute the determinant for each matrix Let na = number of matrices with determinant > 0 Probability of interest: Pr(A) ≈ na/N

Page 13: Monte Carlo simulation

13

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 1: MATRICES AND DETERMINANTS Computational Model

Page 14: Monte Carlo simulation

14

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 1: MATRICES AND DETERMINANTS Output from det Want N sufficiently large for a good point estimate. Avoid recycling random number sequences Nine calls to Random() per 3 × 3 matrix N . m / 9 ≈ 239

000 000 For initial seed 987654321 and N = 200 000 000, Pr(A) ≈

0.05017347.

Page 15: Monte Carlo simulation

15

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 1: MATRICES AND DETERMINANTS Point Estimate Considerations How many significant digits should be reported? Solution: run the simulation multiple times One option: use different initial seeds for each run

Caveat: Will the same sequences of random numbers appear?

Another option: use different a for each runCaveat: use a that gives a good random sequence

For two runs with a = 16807 and 41214Pr(A) ≈ 0.0502

Page 16: Monte Carlo simulation

16

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 2: CRAPS The gambling game known as "Craps" provides a slightly

more complicated Monte Carlo simulation application. The game involves tossing a pair of fair dices one or more

times and observing the total number of spots showing on the up faces. If a 7 or 11 is tossed on the first roll, the player wins immediately. If a 2, 3, or 12 is tossed on the first roll, the player loses immediately. If any other number is tossed on the first roll, this number is called the "point". The dices are rolled repeatedly until the point is tossed (and the player wins) or a 7 is tossed (and the player loses).

Page 17: Monte Carlo simulation

17

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 2: CRAPS Toss a pair of fair dices and sum the up faces If 7 or 11, win immediately If 2, 3, or 12, lose immediately Otherwise, sum becomes “point” Roll until point is matched (win) or 7 (loss) What is Pr(A), the probability of winning at craps?

Page 18: Monte Carlo simulation

18

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 2: CRAPS Requires conditional probability Axiomatic solution: 244/495 ≈ 0.493 Underlying mathematics must be changed if assumptions

change, e.g., unfair dice Axiomatic solution provides a nice consistency check for

(easier) Monte Carlo simulation

Page 19: Monte Carlo simulation

19

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 2: CRAPS

Page 20: Monte Carlo simulation

20

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 2: CRAPS Craps: Computational Model Program craps: uses switch statement to determine rolls For N = 10 000 and three different initial seeds (see text),

Pr(A) = 0.497, 0.485, and 0.502 These results are consistent with 0.493 axiomatic solution

Page 21: Monte Carlo simulation

21

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 3: HATCHECK GIRL A hatcheck girl at a fancy restaurant collects n hats and

returns them at random. What is the probability that all of the hats will be returned to the wrong owner?

Let A be that all checked hats are returned to wrong owners Let the checked hats be numbered 1, 2, . . . , n Girl selects (equally likely) one of the remaining hats to

return n! permutations, each with probability 1/n!

E.g.: when n = 3 hats, possible return orders are1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1

Only 2,3,1 and 3,1,2 correspond to all hats returned incorrectly Pr(A) = 2/6 = 1/3

Page 22: Monte Carlo simulation

22

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 3: HATCHECK GIRL Specification Model Generate a random permutation of the first n integers The permutation corresponds to the order of hats returned One way to generate an element in a random permutation is

to pick one of the n hats randomly, and return it to the customer if it has not already been returned. Generating a random permutation by this “obvious” algorithm is inefficient because:

1. it spends a substantial amount of time checking to see if the hat has already been selected, and

2. it may require several randomly generated hats in order to produce one that has not yet been returned.

Page 23: Monte Carlo simulation

23

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 3: HATCHECK GIRL Specification Model

Generates a random permutation of an array a Check the permuted array to see if any element matches its

index

Page 24: Monte Carlo simulation

24

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 3: HATCHECK GIRL Computational Model Program hat: Monte Carlo simulation of hatcheck problem Uses shuffling algorithm to generate random permutation of

hats For n = 10 hats, 10 000 replications, and three different

seeds. Pr(A) = 0.369, 0.369, and 0.368 A question of interest here is the behavior of this probability

as n increases. Intuition might suggest that the probability goes to one in

the limit as n ∞, but this is not the case. One way to approach this problem is to simulate for increasing values of n and fashion a guess based on the results of multiple long simulations. One problem with this approach is that you can never be sure that n is large enough. For this problem, the axiomatic approach is a better and more elegant way to determine the behavior of this probability as n ∞.

Page 25: Monte Carlo simulation

25

MONTE CARLO SIMULATION EXAMPLESEXAMPLE 3: HATCHECK GIRL Hatcheck: Axiomatic Solution The probability Pr(A) of no hat returned correctly is

For n = 10, Pr(A) ≈ 0.36787946 Important consistency check for validating craps As n ∞,

the probability of no hat returned is 1/e = 0.36787944