рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Датчики случайных чисел

Датчики случайных чисел - раздел Образование, АНАЛИТИЧЕСКИЕ И ИМИТАЦИОННЫЕ МОДЕЛИ Для Имитации Случайных Событий Необходим Некоторый Эталон, Т.е. То, С Чем Мож...

Для имитации случайных событий необходим некоторый эталон, т.е. то, с чем можно что-то сравнить. Известно, что наука существует там, где есть измерения. Отсутствие измерений приводит к схоластике, лженаукам. В мире существуют эталоны для измерения времени, расстояния, веса и прочее. Такой же эталон должен существовать и в ЭВМ для «измерения» вероятности случайного события. Начало созданию подобного эталона было положено в шестидесятых – семидесятых годах прошлого столетия. Создавались специальные устройства – датчики (генераторы) случайных чисел или случайных величин, авторы которых получали авторские свидетельства на эти устройства. Ученые издавали статьи, книги, посвященные этой проблеме. Однако существовало непреодолимое препятствие – нестабильность электронных элементов, на которых осуществлялась реализация датчиков случайных чисел. Из-за нестабильности эти датчики необходимо было постоянно настраивать.

Появление высокопроизводительной вычислительной техники и развитых языков программирования упростило задачу создания эталонов. Датчики или генераторы случайных чисел стали создавать программным путем. В библиотеках языков программирования присутствуют подпрограммы (процедуры) с названиями random, randomizir, randu и прочее, которые позволяют получать на ЭВМ псевдослучайные числа, квазиравновероятно распределенные в интервале [0, 1].

Строго говоря, для формирования случайных событий с различными функциями распределения в ЭВМ необходимо иметь, как эталон, совокупность случайных чисел с равномерным законом распределения. Эта совокупность случайных чисел будет эталоном, т.е. базовой последовательностью случайных чисел. На рис. 4.1 показан вид функции распределения случайных чисел, равномерно (равновероятно) распределенных в интервале [0, 1].

 

Рис. 4.1

 

Функция распределения вероятностей случайных чисел, равномерно распределенных в интервале [0, 1], имеет вид

(4.1)

Математическое ожидание (генеральное среднее) случайных чисел, равномерно распределенных в интервале [0, 1], будет равно M[х]=0,5, а дисперсия D[х]=1/12.

Однако применение возможностей ЭВМ не позволяет теоретически получить последовательность случайных чисел с равномерным распределением. Действительно, любое число в ЭВМ формируется в регистре. Если число разрядов регистра ЭВМ равно k, то число Х в десятеричной системе счисления будет сформировано согласно формуле

(4.2)

в которой коэффициенты aiÎ{0, 1} составляют двоичный код ak-1,ak,…,a2,a1,a0случайного десятеричного числа Х.

Десятеричное число Х будет случайным и будет иметь равномерное распределение, если коэффициенты ai=0 с вероятностью рi=0,5 или ai=1 с вероятностью рi=1-0,5. Тогда числа Х={i/(2k-1)} принимают значения i/(2k-1) (i=0,1,2,...,2k-1) с постоянной вероятностью Р=1/2k.

Но полученные при этих условиях случайные числа Х будут иметь не равномерное, а квазиравномерное равновероятностное распределение в интервале [0,1], вид которого показан на рис. 4.2, что связано с дискретностью чисел Х. Математическое ожидание и дисперсия для данного распределения определяются соотношениями:

(4.3)

. (4.4)

 

Рис. 4.2

 

Таким образом, математическое ожидание квазиравномерного равновероятностного распределения в интервале [0,1] M[х] точно совпадает с генеральным средним для равномерного распределения в интервале [0,1], а дисперсия при kॠасимптотически стремится к дисперсии для равномерного распределения, равной 1/12. Практически при k>15 обеспечивается требуемая точность в имитационных исследованиях.

В ЭВМ нет генератора случайных чисел ai, принимающих значения либо 0, либо 1 с вероятностью Р=1/2, поэтому аппаратная реализация датчика не имеет смысла. Датчики случайных чисел разрабатывают в виде программ, поэтому случайные числа, получаемые на ЭВМ, не являются случайными. Эти числа формируются на основе детерминированных преобразований в виде алгоритмов, поэтому их называют псевдослучайными. Так как алгоритм представляет собой строгую последовательность действий, то последовательность, получаемых псевдослучайных, квазиравномерно распределенных в интервале [0,1] чисел, имеет период Р, например: Х0, Х1, Х2, Х3,...,ХР-2, ХР-1, ХР, Х0, Х1, Х2, Х3,...

Датчики псевдослучайных, квазиравномерно распределенных в интервале [0,1] чисел создают таким образом, чтобы период Р был как можно более большим и превосходил в несколько раз число испытаний (опытов), производимых на ЭВМ в имитационной программе. Если при моделировании число обращений к программному датчику случайных чисел оказывается меньше периода, измеряемого числом различных случайных чисел, то такая периодичность программного датчика не оказывает существенного влияния на результаты моделирования.

Рассмотрим, каким образом можно создавать алгоритмы для получения псевдослучайных, квазиравномерно распределенных чисел. Методы получения псевдослучайных квазиравномерных чисел программным путем делятся на две группы:

а) аналитические;

б) методы перемешивания.

При использовании аналитических методов в псевдослучайной последовательности Х0, Х1, Х2, …, Хr-1очередное число Хr получают с помощью некоторого выбранного рекуррентного соотношения j, аргументами которого являются одно или несколько предыдущих чисел последовательности, т.е. Хr=j(Хr-1, Хr-2,..., Х0).

Самым простым примером может служить метод вычетов, в котором для получения числа Хi+1 используется следующее рекуррентное соотношение:

Хi+1=bХi(mod M), (4.5)

где выражение i(mod M) означает остаток от деления произведения i на число M; Хi+1 - очередное случайное число; Хi - предыдущее случайное число; b - некоторая константа; M - число, определяющее значение получаемых случайных чисел.

Рассмотрим пример. Пусть очередное число Хi+1 определяется по формуле

, (4.6)

где А и В заданные константы, i+1[ - операция взятия мантиссы числа Хi+1. На рис. 4.3 приведен алгоритм генератора псевдослучайных, квазиравномерно распределенных чисел в интервале [0,1].

 

Рис. 4.3

 

В блоке 1 алгоритма осуществляется задание начального такта моделирования Т=0, заданное число тактов моделирования (генерации) TZ, равное количеству чисел Х, которое должно быть получено от датчика. В блоках 2-6 вычисляется очередное число Х[T+1]. В блоке 8 проверяется условие генерации датчиком заданного числа чисел Х. Если условие Т£TZ выполняется, то наращивается в блоке 9 такт моделирования. Таким образом, генератор псевдослучайных, квазиравномерно распределенных чисел может быть реализован согласно заданной формуле (4.6).

При применении методов перемешивания очередное число псевдослучайной последовательности получается путем хаотического перемешивания разрядов предыдущего случайного числа с помощью операций сдвига, специального сложения и других различных арифметических операций. В качестве начальной константы Х0 для формирования последовательностей обычно берут иррациональные числа ().

На рис. 4.4 показан пример метода перемешивания.

Число Хi вначале циклически сдвигается на три разряда влево (K=3), а затем полученное после этого сдвига число поразрядно суммируется по модулю два с начальным числом Хi. Получаем двоичное число Хi*.

Затем это число циклически сдвигается на два разряда вправо (L=2) и полученный результат суммируется поразрядно по модулю два с числом Хi*. В результате получим последующее число псевдослучайной последовательности Хi+1.

Приведенная процедура легко алгоритмизируется, а затем по алгоритму составляется программа, представляющая собой датчик псевдослучайных, квазиравномерно распределенных чисел.

 

 

Рис. 4.4

 

Для того чтобы числа были распределены в интервале [0,1], необходимо провести соответствующее нормирование, например, считать, что получаемые числа это дробная часть.

На рис. 4.5 приведен алгоритм датчика псевдослучайных, квазиравномерно распределенных чисел, реализованного согласно примеру метода перемешивания.

В блоке 1 алгоритма осуществляется ввод начального такта моделирования Т=0, заданное число тактов моделирования (генерации) TZ, начального массива Х0[I] размерностью IM, значение IM, а также K - число сдвигов влево и L - число сдвигов вправо. В массиве Х0[I] записана начальная константа Х0. В блоках 3-6 определяется массив ХK[I], полученный из массива Х0[I] в результате циклического сдвига его элементов на K разрядов влево.

Например, если IM=7, а K=3, то при I=0 (блок 4) ХK[3]=Х0[0] (блок 5), при I=1 ХK[4]=Х0[1], при I=2 ХK[5]=Х0[2], при I=3 ХK[6]=Х0[3], при I=4 ХK[0]=Х0[4], при I=5 ХK[1]=Х0[5], при I=6 ХK[2]=Х0[6]. Результатом операции (I+K)modIM будет остаток от деления числа I+K на число IM.

 

Рис. 4.5

Затем в блоках 7-10 алгоритма происходит поразрядное суммирование по модулю два элементов массивов ХK[I] и Х0[I]. В результате будет получен массив ХМ[I].

В блоках 11-14 определяется массив ХL[I], полученный из массива ХM[I] в результате циклического сдвига его элементов на L разрядов вправо. Например, при L=2, при I=0 (блок 12) ХL[0]=ХM[2] (блок 13), при I=1 ХL[1]=ХM[3], при I=2 ХL[2]=ХM[4], при I=3 ХL[3]=ХM[5], при I=4 ХL[4]=ХM[6], при I=5 ХL[5]=ХM[0], при I=6 ХL[6]=ХM[1].

Затем в блоках 15-18 алгоритма происходит поразрядное суммирование по модулю два элементов массивов ХМ[I] и ХL[I]. В результате будет получен массив ХT[I], элементы которого представляют собой двоичный код мантиссы искомого псевдослучайного, квазиравномерно распреде-ленного в интервале [0,1] числа. В блоке 19 элементы массива ХT[I] присваиваются элементам массива Х0[I]. В блоке 21 выполняется условие генерации датчиком заданного числа чисел Х.

Насколько близким к теоретическому равномерному распределению является программный датчик псевдослучайных, квазиравномерно распределенных чисел проверяют на основе анализа результатов статистической проверки.

– Конец работы –

Эта тема принадлежит разделу:

АНАЛИТИЧЕСКИЕ И ИМИТАЦИОННЫЕ МОДЕЛИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ... Технологический институт... Федерального государственного образовательного учреждения высшего профессионального образования...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Датчики случайных чисел

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

СТОХАСТИЧЕСКИЕ МОДЕЛИ
ОБЪЕКТОВ………………………………………..……. 46 3.1. Математические модели случайных процессов..… 46 3.2. Классификация моделей случайных процессов..… 53 3.3. Модели мар

МОДЕЛИ СИСТЕМ
МАССОВОГО ОБСЛУЖИВАНИЯ……..…………... 147 7.1. Общие сведения…..………………………………..... 147 7.2. Модель входного потока заявок и времени обслуживания…..…………………….……

УНИФИЦИРОВАННЫЙ
ЯЗЫК МОДЕЛИРОВАНИЯ UML…………..………. 229 9.1. Основные компоненты…………..…………………. 229 9.2. Понятия и компоненты…………..…………………. 231 9.3. Диаграммы вариантов испо

Понятие модели
  1.1.1. Системный подход к моделированию. При проектировании автоматизированных систем управления, разработке прикладных программных продуктов важно правильно постав

Концепции определения моделей
Под динамической системой понимается объект, находящийся в каждый момент времени tÎT в одном из возможных состояний

Инерционные модели
Динамические системы с последействием (с предысторией) могут быть формализованы с применением дифференциальных уравнений с запаздывающим аргументом. 2.3.1. Дифференциальные уравнен

Модели на основе передаточных функций
Рассмотрим однооткликовую импульсную систему с дискретными сигналами на ее входе и выходе, модель которой может быть выражена с помощью импульсной характеристики (весовой функции) в виде уравнения

Конечные автоматы
Для моделирования динамических систем, функционирующих в дискретном времени, применяется аппарат конечных автоматов [7]. Теория конечных автоматов и их модели используются при синтезе и анализе выч

СТОХАСТИЧЕСКИЕ МОДЕЛИ ОБЪЕКТОВ
  3.1. Математические модели случайных процессов При проведении научных исследований в производстве и в быту часто встречаются события, которые многократно появляются при одн

Понятие статистического моделирования
При определении методов статистического моделирования применяют название «метод Монте-Карло». Определение, которое характеризует этот метод достаточно точно и полно, не существует. Известно, что эт

Проверочные тесты
Программная реализация датчика псевдослучайных, квазиравномерно распределенных чисел может быть получена любым программистом на основе разработанного им алгоритма с применением либо аналитических м

Имитация случайных событий
  Пусть события S1, S2,..., Smобразуют полную группу несовместимых событий, каждое из которых может произойти с вероятностью Рi, причем

Имитация непрерывных случайных величин
Если событие Х принимает значения в некоторой области непрерывных величин, то для аналитического моделирования непрерывных событий применяют функцию распределения вероятностей

Имитация марковского процесса
4.6.1. Моделирование дискретной цепи Маркова. Рассмотрим дискретную цепь Маркова или марковский процесс с дискретным временем перехода из одного состояния в другое. Математическая

Выбор числа опытов
При разработке имитационных моделей для исследования случайных объектов существует задача выбора числа опытов (объема выборки). Это непростая задача, т.к. во-первых, необходимо обосновать достоверн

Формулы и алгоритмы для оценки результатов моделирования
  При реализации моделирующего алгоритма на ЭВМ вырабатывается информация о состоянии моделируемых систем, которая представляет собой исходный материал для определения приближенных ис

Аналитическое определение вероятностных автоматов
6.1.1. Формальное задание и классификация. Вероятностные автоматы (ВА) относятся к дискретно-стохастическому классу моделей. Данный тип моделей служит инструментом изучения динамич

Имитационное моделирование вероятностных автоматов
  Для имитации процесса функционирования ВА необходимо задать: - такты моделирования T, а также цикл по тактам моделирования от нуля до заданного числа такто

Модель входного потока заявок и времени обслуживания
Входной поток заявок характеризуется начальным моментом времени t0, моментами времени ti поступления i-х заявок, случайными

Модель Эрланга
При моделировании СМО исследуется изменение в системе за сколь угодно малый отрезок времени. Составляются уравнения в частных приращениях, от которых затем осуществляется переход к дифференциальным

Исследование модели пуассоновского процесса с помощью производящих функций
Будем считать, что на вход СМО поступает пуассоновский поток заявок с интенсивностью l и вероятностью Рn(t) того, что за время t в СМО

Имитационное моделирование одноканальной СМО
Алгоритмизация может осуществляться с применением способа Dt-моделирования, который позволяет определить состояния СМО через интервал времени Dt.

Имитационные модели многофазных СМО
Пусть СМО имеет структуру, показанную на рис. 7.18, т.е. обслуживание состоит из двух фаз. Входной поток заявок задан функцией распределения вероятностей длин интервалов между заявками A(t)

Имитационные модели многоканальных СМО
  7.8.1. Модели систем с общей очередью.Рассмотрим задачу построения имитационной модели трехканальной СМО с общей очередью. Понятие общей очереди предусматривает, чт

Алгоритмизация имитационной модели СМО произвольной структуры
  Методика построения имитационной модели СМО сложной структуры сводится к разработке модульной структуры алгоритмической модели. Структуру СМО необходимо декомпозировать на отдельные

Моделиpующие алгоpитмы
  Для моделиpования любого объекта, заданного пpи помощи математичеcкой модели, а также в виде последовательности процедур, имитирующих отдельные элементарные процессы, необxодимо поc

Основные компоненты
  После многх попыток создания унифицированных языков для решения задач моделирования был разработан и опробован объектно-ориентированный подход. Первый язык Simula-67, основанный на

Понятия и компоненты
  Сущности представляются парами «тип, экземпляр». Таких пар несколько: «класс, объект», «ассоциация, связь», «параметр, значение», «операция, вызов процедуры». Для изображения элемен

Array, Real, Vektor, Matrix.
Описание типа зависит от того, какой язык программирования используется разработчиками. Атрибуг изображается в виде текстовой строки, отражающей различные его свойства: <признак

Масса машины
… У каждой секции прямоугольника класса может быть имя. Так как секция «имя класса» обязательна, то ее имя не указывается, как показано на рис. 9.6.  

Связи между объектами
  Аналогично ключевому понятию модели классов - понятию ассоциации, - для объектов существует понятие связи (link). Связь есть экземпляр ассоциации, установленной для объектов данных

Диаграммы взаимодействия
Взаимодействия между объектами в системе представляются диаграммами взаимодействия (interaction diagrams). Диаграммы взаимодействия подразделяются на два основных типа диаграмм: диаграммы последова

Диаграммы состояний
  Диаграммы состояний (state diagram) определяют состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате влияния некоторых событи

Диаграммы деятельностей
Диаграммы деятельностей (aktivity diagrams) предназначены для того, чтобы отразить переходы в рамках выполнения определенной задачи, вызванные внутренними процессами. Используются для моделирования

Определение объекта
  Объектно-ориентированный подход в последнее время стал прочно ассоциироваться с программированием. Объектно-ориентированный подход развивался почти исключительно программистами. Ито

Behavior
domain; }/*GGenerator*/     Рис. 10.3

Наследование
  Наследование в ООМ понимается примерно так же, как и в ООП. Если объявляете класс с2 прямым потомком класса с1, то класс с2 наслед

Полиморфизм
  Полиморфизмом в ООП называется возможность использования вместо объектов одного декларированного класса объекты другого класса, называемого замещающим, совместимого с первым. Аналог

Equation
Z= X/K; endCMulGiv; Новый класс CMulGiv наследует от своего суперкласса CGain вход, выход, параметр и одно уравнение, а также добавляет один выхо

Equation
Y = if X>Xmax then UpperLimit else if X<Xmin then LowerLimit else K*X;

Equation
connect(Gem.Y,Amp.X); connect(Gem.Y,Y); endCSineSource; Далее нужно создать специальный класс CLimitedSineSource на основе СSineSource, переопределив пар

Типы данных и пакеты
  Для моделирования непрерывных систем необходим минимальный набор типов данных: скалярный вещественный тип, типы «вектор» и «матрица», а также целые числа для вычисления индексов век

БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Советов Б.Я., Яковлев С.А. «Моделирование систем». – М.: Высш. школа, 1985 – 271 с. 2. Бусленко Н.П. Моделирование сложных систем. – М.: Наука,1978. – 400 с. 3. Финаев В.И. Мод

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги