Home ] Counting Integers ] Tube Plots ] 3-D graphs ] Guess and Check ] [ Monte Carlo Simulations ] Progamming to Develop Abstract Thinking ] Interpret Charts ] Matrices/Transformations ] Find a Formula ] Probability ]

DEVELOPING GEOMETRIC PROBABILITY AND A MONTE CARLO SIMULATION

Chance, probability, geometry and algebra all come together when investigating geometric probability. The following activities are designed to develop studentsí understanding of geometric probability. Students should have some knowledge of percentages and simple probability before attempting these problems; or you may consider them easy enough for your students to use as introductions to probability. Problem 7 is similar to a problem given to Oregon's 8th grade students in preparation for the state-wide open-ended assessment problems.

When teaching these lessons and/or writing test questions we should keep in mind how we word the questions. Suppose the question were to ask "What would a person's score be after throwing 50 darts?" I have seen questions worded in this way. The most astute students would correctly answer "How could anyone possibly know the answer to this, especially if the darts were thrown randomly." We could not even make a prediction and state how confident we were of our guess, without knowledge of probability and statistics far exceeding that of a middle school student. Upon reading questions that were worded in this way, Iím not sure if the ambiguity is intentional or not; possibly the writer wanted to create an open-ended question. We can not predict a specific individual event, if we could, we should all take out our life savings and head to Las Vegas. We can make predictions about trends, and can make predictions about averages. We can only make these predictions because we know what an average score would be if it were possible to play an infinite number of games.
 
 

Worksheet/Problem 1

Worksheet/Problem 2

Worksheet/Problem 3

Worksheet/Problem 4

Worksheet/Problem 5

Worksheet/Problem 6

Worksheet/Problem 7

Problem 8 Estimating Pi- A Monte Carlo Simulation

A simple dart board is constructed of two regions, Region 1 is circular and Region 2 is a square. The Region 1 circle touches each side of the square at a single point. From Problem 4 we calculated the probability of landing inside the circle to be ¹/4. Solving the proportion ¹/4=(darts hitting inside the circle)/(total darts thrown), for ¹, gives us ¹=(4* darts hitting inside the circle)/(total darts thrown). Run an experiment to calculate a decimal approximation for Pi using a computer language or spreadsheet. Darts can not land outside the square.
 
 

Show your work and explain your reasoning.

Solution 1

Solution 2

Solution 3

Solution 4

Solution 5

Solution 6 

Solution 7
 

Solution 8-1

Part I -Estimating Pi by running a computer simulation.

The following program is written in Pascal for Macintosh computers. The basic algorithm is transferable to other platforms.

program pie;

{estimates pi by comparing area of the circle to area of the square}

const

totaliterates = 100000;

top = 50;

left = 50;

scale = 3;

bottom = 300;

right = 300;

var

incirc, radius : integer;

pie : real;

windowsize : rect;

procedure makedots;

var

count : longint;

hor, vert : integer;

hcenter, vcenter : integer;

{the following function uses the distance formula to determine if the dart landed}

{inside or outside the circle}

function calculatepi (hor, vert : integer) : real;

begin

if (hor - hcenter) * (hor - hcenter) + (vert - vcenter) * (vert - vcenter) <= radius * radius then

incirc := incirc + 1;

calculatepi := 4 * incirc / count;

end;

{procedure makedots main}

begin

incirc := 0;

radius := (bottom - top) div 2;

hcenter := (right - left) div 2 + left;

vcenter := (bottom - top) div 2 + top;

for count := 1 to totaliterates do

begin

{generate random coordinates inside the square}

hor := random mod (right - left) + left;

vert := random mod (bottom - top) + top;

moveto(hor, vert);

{draw a dot to simulate a dart hit}

drawchar('.');

{call a function to estimate Pi}

pie := calculatepi(hor, vert);

{Uncomment the next line if you want to watch as the estimate converges to Pi}

{writeln(pie : 10 : 20)}

end;

writeln(pie : 10 : 20)

end;

{Main Program}

begin

showdrawing;

showtext;

SetRect(windowsize, left, top, right, bottom);

SetDrawingRect(windowsize);

frameoval(0, 0, bottom - top, right - left);

makedots;

end.
 
 
 

The screen looks like this when the program runs.

8.00000000000000000000

4.00000000000000000000

2.66666674613952636700

3.00000000000000000000

3.20000004768371582000

3.33333325386047363300

2.85714292526245117200

3.00000000000000000000

3.11111116409301757800

2.79999995231628418000

2.54545450210571289100

2.66666674613952636700

2.76923084259033203100

2.85714292526245117200

2.93333339691162109400

3.00000000000000000000

3.05882358551025390600

3.11111116409301757800

3.15789484977722168000

3.00000000000000000000

3.04761910438537597700

3.09090900421142578100

3.13043475151062011700

3.00000000000000000000

2.88000011444091796900

2.92307686805725097700

2.96296286582946777300

2.85714292526245117200

2.75862073898315429700

2.79999995231628418000

2.83870959281921386700

2.87500000000000000000

2.78787875175476074200

2.82352948188781738300

2.85714292526245117200

2.77777767181396484400

2.70270276069641113300

2.73684215545654296900

2.76923084259033203100

2.79999995231628418000

2.73170733451843261700

2.76190471649169921900

2.79069757461547851600

2.81818175315856933600

2.84444451332092285200

2.86956524848937988300

2.89361691474914550800

2.91666674613952636700

2.93877553939819335900

2.96000003814697265600

2.98039221763610839800

3.00000000000000000000

3.01886796951293945300

3.03703713417053222700

3.05454540252685546900

3.07142853736877441400

3.08771920204162597700

3.10344839096069335900

3.05084753036499023400

3.06666660308837890600

3.08196711540222168000

3.03225803375244140600

2.98412704467773437500

3.00000000000000000000

3.01538467407226562500

3.03030300140380859400

3.04477620124816894500

3.05882358551025390600

3.01449275016784668000

3.02857136726379394500

3.04225349426269531200

3.00000000000000000000

3.01369857788085937500

3.02702713012695312500

3.03999996185302734400

3.05263161659240722700

3.06493496894836425800

3.07692313194274902300

3.08860754966735839800

3.09999990463256835900

3.11111116409301757800

3.07317066192626953100

3.08433723449707031200

3.09523820877075195300

3.10588240623474121100

3.11627912521362304700

3.08045983314514160200

3.09090900421142578100

3.10112357139587402300
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Solution 8-2

This is a program for the TI-85 calculator that simulates randomly throwing darts at the screen.

:CLLCD

:Prompt TOTAL

:FnOff

:0->INCIRC

:ClDrw

:Zstd

:Zsqr

:Zint

:Circl (0,0,20)

:For (N,1,TOTAL)

:H=round(62*rand,0)+1

:If rand³.5

:-1*H->H

:V= round(30*rand,0)+1

:If rand³.5

:-1*V->V

:PtOn(H,V)

:If (H2+V2)²400

:INCIRC+1->INCIRC

:End

:Outpt(5,1,îPi=ì)

:Outpt(5,4,INCIRC*127*63/(N*400))
 
 

Both the Pascal and TI-85 programs rely on the proportion:

.

Since the area of a circle is ¹r2 , the equation can be solved for ¹, after putting in the numbers for the actual simulation.