Знание некоторых принципов нередко
возмещает незнание
некоторых фактов.
Гельвецкий
Важный класс вычислительных алгоритмов, востребованных
на практике, — алгоритмы генерации последовательности случайных величин.
По определению, последовательностью случайных чисел является
последовательно формируемый массив значений, в котором каждый очередной
элемент получен вне всякой связи с другими его элементами и появление
этого элемента возможно с вероятностью, подчиненной некоторому закону
распределения. К примеру, если появление любого числа в этой
последовательности равновероятно, то говорят о равномерном законе
распределения случайных чисел.
На практике в большинстве случаев применяются программные методы
получения случайных чисел. На самом дел'е случайные последовательности,
получаемые по некоторому алгоритму, являются псевдослучайными. Это
происходит из-за того, что связь между значениями в последовательности,
получаемой программным путем, обычно все-таки существует. Данное
обстоятельство приводит к тому, что на каком-то этапе генерируемая
последовательность чисел начинает повторяться — «входит в период».
Рассмотрим несколько наиболее известных
и пригодных для практического использования программных методов
генерации псевдослучайных величин (все же, понимая смысл выражения,
будем по привычке и для удобства называть их случайными).