- •Содержание
- •Введение
- •Основные понятия теории моделирования систем
- •5) Планирование модельных экспериментов;
- •2. Классификация видов моделирования систем
- •3. Имитационные модели информационных процессов
- •4. Математические методы моделирования
- •5. Планирование модельных экспериментов
- •6. Компьютерное моделирование и вычислительный эксперимент
- •7. Статистическое моделирование
- •Контрольные вопросы
- •8. Метод Монте-Карло
- •Метод середины квадрата
- •9. Построение моделирующих алгоритмов
- •10. Компьютерное моделирование при обработке опытных данных
- •Интерполирование функций
- •11. Управление модельным временем
- •12. Инструментальные средства моделирования. Основные понятия языка gpss.
- •Блоки генерации и удаления транзактов
- •Блоки занятия и освобождения приборов
- •Пример 1
- •Блоки занятия и освобождения очереди
- •Пример 2
- •Подготовка и выполнение моделирования в gpss
- •13. Моделирование параллельных процессов.
- •14. Сети Петри
- •15. Оценка точности и достоверности результатов
- •16. Анализ и интерпретация результатов моделирования на эвм
- •17. Имитационное моделирование информационных сетей
- •18. Лабораторные работы
- •18.1. Лабораторная работа №1. Имитационное моделирование простых информационных процессов
- •Методические указания Краткие сведения о gpss
- •Пример моделирования на языке gpss
- •Задания на лабораторную работу
- •Содержание отчета по лабораторной работе
- •18.2. Лабораторная работа №2. Имитационное моделирование информационных процессов на языке высокого уровня. Модель с постоянным шагом.
- •Методические указания
- •Задание на лпбораторную работу
- •Содержание отчета по лабораторной работе
- •18.3. Лабораторная работа №3. Имитационное моделирование информационных процессов на языке высокого уровня. Модель через список будущих событий.
- •Методические указания
- •Задание на лабораторную работу
- •Содержание отчета по лабораторной работе
- •18.4. Лабораторная работа №4. Построение и исследование имитационной модели массового обслуживания на основе сетей Петри.
- •Методические указания
- •Задание на лабораторную работу
- •Содержание отчета по лабораторной работе
- •19. Курсовое проектирование Методика курсового проектирования
- •Примерные темы курсового проектирования
- •3. Моделирование работы кафе.
- •4. Моделирование работы обрабатывающего цеха.
- •5. Моделирование работы обрабатывающего цеха.
- •6. Моделирование работы обрабатывающего цеха.
- •7. Моделирование работы смо
- •8. Моделирование работы смо
- •9. Моделирование системы автоматизации проектирования
- •10. Моделирование работы транспортного цеха
- •Заключение
- •Библиографический список
Метод середины квадрата
Первым алгоритмический метод получения равномерно распределенных псевдослучайных чисел предложил Джон фон Нейман (один из основоположников кибернетики). Метод получил название "метод середины квадрата".
Суть метода: предыдущее случайное число возводится в квадрат, а затем из результата извлекаются средние цифры.
Например:
и т.д.
Как видно метод середины квадрата довольно хорошо должен "перемешивать" предыдущее число. Однако он имеет недостатки:
Если какой-нибудь член последовательности окажется равным нулю, то все последующие члены также будут нулями.
Последовательности имеют тенденцию "зацикливаться", т. е. в конце концов, образуют цикл, который повторяется бесконечное число раз.
Свойство "зацикливаться" присуще всем последовательностям, построенных по рекуррентной формуле xi+1=f(x).
Повторяющийся цикл называется периодом. Длина периода у различных последовательностей разная. Чем больше, тем лучше.
Наилучшие из известных сегодня методов имитации случайных чисел представляют собой частные случаи схемы, предложенные в 1948 году Д.Х.Лемером.
Суть метода: Выбираем четыре "магических числа":
–
начальное
значение,
–
множитель,
–
приращение,
–
модуль,
Тогда искомая последовательность случайных чисел получается из соотношения:
xi+1=(axi+c) Mod (m) |
(*) |
т. е. каждое случайное число – это остаток, при делении (axi+c) на m (операция Mod - "определение остатка", термин взят от слова "modulo" – в переводе "остаток").
Последовательность, полученная из соотношения (*) называется линейной конгруэнтной последовательностью.
Пример: x0 = a = c = 7, m = 10.
Тогда последовательность имеет вид: 7, 6, 9, 0, 7, 6, 9, 0,…
Как видно, при выбранных значениях "магических чисел" последовательность почти сразу "зациклилась", длина периода = 4.
Из этого примера видно, что "магические числа" нельзя выбирать произвольно. Проведено много исследований и доказано теорем по вопросу "как правильно выбирать" "магические числа".
Метод
получения случайных чисел при c=0
называется "мультипликативный
конгруэнтный метод", при
-
"смешанный конгруэнтный метод".
При c=0, выработка последовательностей
происходит быстрее, но при этом уменьшается
длина периода последовательностей.
Первоначально в методе Лемера было принято c=0. Идея получения более длинных последовательностей за счет принадлежит Томпсону и независимо Ротенбергу.
Выбор модуля m. Для получения длинных последовательностей и для увеличения скорости вычисления рекомендуется m выбирать равным размеру машинного слова. Для 32х разрядного машинного слова m = 231=2147483648, (левый нулевой бит слова отведен под знак числа).
При
этом в 32х
разрядном машинном слове, максимальное
целое число, размещающее в машинном
слове, равно
Тогда
.
Значение множителя также влияет на длину периода последовательностей. По этому вопросу также проведено много исследований.
Линейные конгруэнтные последовательности – не единственный из предложенных источников случайных чисел. Его можно обобщить, превратив его, например, в квадратичный конгруэнтный метод
Известен квадратичный метод, предложенный Р. Ковэю:
Известен метод получения случайных чисел, где реализуется последовательность Фибоначчи:
Известен также метод получения случайных чисел, предложенный Грином:
где k- большое число.
Имеются еще, так называемые, аддитивные методы, где не требуются операции умножения и деления, и другие методы.
Контрольные вопросы
1. В чем заключается принцип метода Монте-Карло?
2. Как раньше получали случайные числа без использования компьютеров?
2. Назовите методы генерации случайных чисел и их отличительные особенности.
4. Какие есть недостатки у метода середины квадратов?
5. Какие ограничения накладываются на генерацию случайных чисел на компьютере?
