Home » Python » Python programs

Python program for double dice (one biased one normal) simulation

Double dice (one biased one normal) simulation in Python: Here, we are going to learn how to simulate the occurrence of the sum of the faces of two dice [i.e. dice(A) - 1, 2, 3, 4, 5 ,6 + dice(B) - 1, 2, 3, 4, 4, 4, 5, 6, 6 ,6]?
Submitted by Anuj Singh, on August 01, 2019

Here, we will be simulating the occurrence of the sum of the faces of two dice [i.e. dice(A) - 1, 2, 3, 4, 5 ,6 + dice(B) - 1, 2, 3, 4, 4, 4, 5, 6, 6 ,6]. A dice is normal(each has an equal probability of occurrence) and another B dice is biased one (each face has not an equal probability of outcome). So, in this case, we have to find out the maximum probable sum if the dice. So we simply take the help of stimulation to do so. Simply we are going to use an inbuilt library called as random to call a random value from given set and thereby we can stimulate the occurrence value by storing the occurrence in the list ls of length 12 representing each face of the dice as ls[4] represents the occurrence of face 5.

    ls[0]   - dice(1)
    ls[1]   - dice(2)
    ls[2]   - dice(3)
    ls[3]   - dice(4)
    ls[3]   - dice(5)
    ls[5]   - dice(6) 
    ls[6]   - dice(7)
    ls[7]   - dice(8)
    ls[8]   - dice(9)
    ls[9]   - dice(10)
    ls[10]  - dice(11)
    ls[11]  - dice(12) 

Then using the library pylab, we can plot the value of each occurrence and can stimulate it.

The deviation is clear that each of the faces has an equal almost equal probability of occurrence.

Program:

import random
import pylab as py

def roll():
    return random.choice([1,2,3,4,5,6])

def biased():
    return random.choice([1,2,3,4,4,4,5,5,5,6,6,6])

ls = [0,0,0,0,0,0,0,0,0,0,0,0]
chance = [104, 203, 302, 401, 505, 646, 756, 855, 985]
for n in chance:
    for k in range(n):
        scr = roll() + biased() 
        ls[scr-1] = ls[scr-1] + 4/4


py.figure()
py.plot([1,2,3,4,5,6,7,8,9,10,11,12], ls)

for el in ls:
    print(el)

Output

Double dice simulation






Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.