Monte Carlo simulation in Python with few lines of code
In this tutorial, we are going to learn Monte Carlo simulation. It is used to get the estimated probability of different outcomes. This is usually done in processes in which there is a random variable intervention. Monte Carlo simulation is used to tackle a range of problems in engineering, finance, and many other fields.
Demonstration of Monte Carlo Simulation
In the following example, I have considered a dice problem. I want to find out the probability that the sum of the dice outcome is even when a different number of dice is thrown. In this problem, I have considered the number of tosses to be 10000 for each range of dice to be thrown. (For example, Firstly I throw 1 dice 10000 times then two dice 10000 times, and so on). You can change the range as well as the number of tosses according to your will.
import random def dice_toss(n): x=0 sum=0 for i in range(n): x=random.choice([0,1,2,3,4,5,6]) sum=sum+x return sum number_of_tosses = 10000 for toss in range(1,20): even_sum=0 #possibilities which result in even sum for i in range(number_of_tosses): ans=dice_toss(toss) if ans%2==0: even_sum += 1 no_even_percentage=float(even_sum)/number_of_tosses print("number of tosses=",toss,"even percentage=",100* no_even_percentage)
Output: number of tosses= 1 , even sum percentage= 56.85 number of tosses= 2 , even sum percentage= 51.370000000000005 number of tosses= 3 , even sum percentage= 50.96000000000001 number of tosses= 4 , even sum percentage= 49.82 number of tosses= 5 , even sum percentage= 49.94 number of tosses= 6 , even sum percentage= 50.3 number of tosses= 7 , even sum percentage= 49.02 number of tosses= 8 , even sum percentage= 49.51 number of tosses= 9 , even sum percentage= 50.239999999999995 number of tosses= 10 , even sum percentage= 50.03999999999999 number of tosses= 11 , even sum percentage= 49.69 number of tosses= 12 , even sum percentage= 49.519999999999996 number of tosses= 13 , even sum percentage= 50.239999999999995 number of tosses= 14 , even sum percentage= 50.27 number of tosses= 15 , even sum percentage= 50.3 number of tosses= 16 , even sum percentage= 50.63999999999999 number of tosses= 17 , even sum percentage= 49.79 number of tosses= 18 , even sum percentage= 49.55 number of tosses= 19 , even sum percentage= 50.4
Leave a Reply