Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.89 KB | None | 0 0
  1. from scipy.misc import comb
  2.  
  3.  
  4. def hcp(i, j, k, l):
  5.     return (4 * i) + (3 * j) + (2 * k) + l
  6.  
  7.  
  8. def var(i, j, k, l):
  9.     return (hcp(i, j, k, l) - 10)**2
  10.  
  11.  
  12. def expectation(func):
  13.     mean = 0
  14.     for i in range(5):
  15.         I = comb(4, i, exact=True)
  16.         for j in range(5):
  17.             J = comb(4, j, exact=True)
  18.             for k in range(5):
  19.                 K = comb(4, k, exact=True)
  20.                 for l in range(5):
  21.                     L = comb(4, l, exact=True)
  22.                     total = i + j + k + l
  23.                     if total <= 13:
  24.                         p = I * J * K * L * comb(36, 13-total, exact=True) / float(comb(52, 13, exact=True))
  25.                         mean += func(i, j, k, l) * p
  26.     return mean
  27.  
  28.  
  29. def main():
  30.     print "Expectation is " + str(expectation(hcp))
  31.     print "Variance is " + str(expectation(var))
  32.  
  33. if __name__ == '__main__':
  34.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement