Генерация псевдослучайных чисел#
Во многих практически значимых задачах и исследованиях приходится иметь дело со случайными процессами, т.е. процессами, в которых происходят случайные события. Для возможности моделирования случайных событий в компьютерном моделировании разработаны генераторы случайных и псевдослучайных чисел, распределённых по заданному закону.
В данном разделе приведены примеры использования генераторов псевдослучайных чисел (ГПСЧ), которые в отличие от генераторов случайных чисел (ГСЧ) имеют ряд преимуществ: простота, дешевизна, скорость генерации и возможность воспроизведения результатов. Последнее является важным свойством, позволяющим воспроизводить один и тот же результат различными исследователями или при моделировании на различных компьютерах. Свойство воспроизводимости полезно, например, на этапе отладки программы.
Псевдослучайное число - это не истинное случайное число, поскольку генерируется оно определённым детерминированным (т.е. не случайным) алгоритмом и, как правило, имеет равномерный закон распределения. Исходя из полученного случайного числа, генерируется другое псевдослучайное число, распределённое по заданному закону: нормальному, экспоненциальному и многим другим. Подробнее про ГПСЧ можно почитать в учебнике по имитационному моделированию. Помимо непрерывных законов распределения в ГПСЧ реализованы дискретные распределения.
В стандартной библиотеке Python имеется модуль random
.
Первые примеры будут сделаны с его помощью.
В последующих же примерах будет использоваться модуль random
из библиотеки NumPy, который имеет много общего со стандартным модулем, но в ряде случаев является гораздо более удобным.