#!/usr/bin/env python
import random
class Coin(object):
def __hash__(self):
self.__dict__.setdefault("hashvalue", random.randint(0, 1))
return self.hashvalue
def __eq__(self, o):
return True
def Experiment(seriesLength):
expCount = 1000
p = 0
for eindex in xrange(expCount):
p += len(set(Coin() for _ in xrange(seriesLength)))
return 1.0 * p / expCount
if __name__ == "__main__":
for c in xrange(15):
print "%s:\t%.5f" % (c, Experiment(c))
понедельник, 31 августа 2009 г.
Теория вероятности на практике
Небольшой пример кода на питоне с численным вычислением математематического ожидания числа различных исходов в серии из k бросаний монетки. Радует возможность реализации сути алгоритма через внутреннюю организацию питоновского хэша.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий