В уравнениях движения кривошипно-шатунного механизма вместо обозначения радиуса кривошипа "r" ошибочно записан символ "γ" (гамма). P.S. Может быть это слишком очевидно, но не упомянуто, что угол поворота кривошипа φ считается малым. |
Метод Монте-Карло
При реализации на ЭВМ статистического моделирования возникает задача получения (генерирования) на ЭВМ случайных числовых последовательностей с заданными вероятностными характеристиками, в которых каждое число – это имитация случайного значения какого-либо параметра реального процесса или системы, подверженного случайным возмущениям.
Генерирование на ЭВМ таких случайных числовых последовательностей получило название "метод Монте-Карло".
В математической литературе часто используется термины "последовательность случайных чисел" или просто "случайные числа".
Однако, если проанализировать эти термины с философской точки зрения, то можно спросить: а есть ли такой объект как случайное число? Число 2 – это случайное число? Или число 17 – это случайное число? Конечно, нет. Если использовать точные термины, то можно говорить только о случайной последовательности чисел или о случайном значении параметров. Однако, в литературе широко используется термины "случайные числа" и "последовательность случайных чисел", и это означает, что каждое число было получено самым произвольным образом, без всякой связи с другими членами последовательности, и что у него есть определенная вероятность оказаться в заданном интервале.
Раньше ученые, нуждавшиеся для своей работы в случайных числах, раскладывали карты, бросали кости или вытаскивали шары из урны, которую предварительно как следует трясли. В 1927 году Л. Типпетт опубликовал таблицы, содержащие свыше 40 000 случайных чисел, взятых произвольно из отчетов по переписи. Позже были сконструированы специальные машины, механически вырабатывающие случайные числа. В 1955 году компания RAND Corporation опубликовала хорошо известные таблицы с миллионом случайных чисел, полученных одной из таких машин.
После создания ЭВМ начались поиски эффективных алгоритмов получения (генерирования на ЭВМ) последовательностей случайных чисел, пригодных для программной реализации.
Последовательности случайных чисел, вырабатываемые детерминистскими способами (т. е. с помощью специальных алгоритмов) называются псевдослучайными или квазислучайными. В дальнейшем мы будем их называть просто случайными последовательностями, понимая, что они просто производят впечатление случайных.
Задачу генерирования случайных чисел на ЭВМ с заданным законом распределения решают в несколько этапов:
Вначале получают последовательность равномерно распределенных на интервале [0, 1] псевдослучайных чисел.
Из равномерно распределенной последовательности получают последовательность псевдослучайных чисел с заданным законом распределения в заданном интервале.
Равномерным называется такое распределение, при котором каждое возможное случайное число равновероятно. Обычно, если специально не оговорен закон распределения случайных чисел, то имеют в виду равномерное распределение.
Сущность алгоритмических методов получения равномерно распределенных псевдослучайных чисел заключается в том, что псевдослучайные числа получают с помощью некоторой рекуррентной формулы xi+1 = f (xi),
где каждое следующее (i+1)-e значение образуется из предыдущего (или группы предыдущих) путем применения некоторого алгоритма, содержащего логические и арифметические операции.
Известно большое количество имитации равномерного распределения (методы вычетов, суммирования, усечения, перемешивания). Общими для всех этих методов являются требования:
- Количество операций для получения каждого псевдослучайного числа должно быть минимальным;
- Случайные числа генерируются как можно менее коррелированными, а их распределение – близким к равномерному
Метод середины квадрата
Первым алгоритмический метод получения равномерно распределенных псевдослучайных чисел предложил Джон фон Нейман (один из основоположников кибернетики). Метод получил название "метод середины квадрата" .
Суть метода: предыдущее случайное число возводится в квадрат, а затем из результата извлекаются средние цифры.
Например:
и т.д.
Как видно метод середины квадрата довольно хорошо должен "перемешивать" предыдущее число. Однако он имеет недостатки:
- Если какой-нибудь член последовательности окажется равным нулю, то все последующие члены также будут нулями.
- Последовательности имеют тенденцию "зацикливаться", т. е. в конце концов, образуют цикл, который повторяется бесконечное число раз.
Свойство "зацикливаться" присуще всем последовательностям, построенных по рекуррентной формуле xi+1=f(xi).
Повторяющийся цикл называется периодом. Длина периода у различных последовательностей разная. Чем больше, тем лучше.