Question # 40031 | 5 months ago |
---|

$20 |
---|

You have been hired by the secretive ππ-society to analyze a new strategy for calculating the value of ππ through the development of a Python program. Here is the basic format of the strategy provided to you by the ππ-society. Begin by recognizing that the area of a unit square (height = 1.0, width = 1.0) is 1.0 and the area of a quarter circle, which lies entirely within the unit square is ππ/4. Now imagine that we choose a random point (π₯π₯,π¦π¦) within the unit square. The probability of that random point being within the quarter unit circle is ππ 4≈79% because 79% of the area of the unit square is covered by the quarter unit circle! Now, if we cho ose ‘many’ random points, we can estimate the value of ππ because 4×( ππππππππππππππππ πππππ π πππ π π π ππβπ π πππππππππππ π )=ππ. Hence, we just need to select ‘many’ or ππ random points (i.e., a point is two random floating point numbers between 0-1.0, see numpy.random.random()), then loop through the ππ points and check to see if each point is inside the quarter unit circle (i.e., is οΏ½π₯π₯2+π¦π¦2< 1.0), and then count the fraction of the ππ points inside the quarter unit circle. The figure below shows 3000 random points on the unit square – the red points are inside the quarter unit circle and the blue points are outside.

You should write a memo to the ππ-society that summarizes your analysis of the feasibility of this algorithm. The report should include a figure, which may be generated using Excel or matplotlib, that shows the accuracy of the proposed strategy on the y-axis (accuracy = |ππ−πππππππππππ₯π₯ππππππππππππππ|) versus the number of random points used on the x-axis. The Python program should gain accuracy with more points. The head of the ππ-society casually mentioned that you should try, “maybe 100, or 1000, or 10,000 random points” to see how the number of points impacts the accuracy. You consider possibly trying one or two different numbers of random points beyond those three values. You have also been reminded to include your Python code in the appendix of the memo/report