Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMP_po_ISU.doc
Скачиваний:
8
Добавлен:
09.12.2018
Размер:
1.53 Mб
Скачать

2.5.2 Имитационное моделирование

А. Определение ИМ. Имитационной моделью сложной системы S называются машинные программы или алгоритмы, позволяющие имитировать на ЭВМ поведение системы и ее отдельных компонентов и связей между ними в течение заданного времени моделирования. По Р. Шеннону «модель – комбинация компонентов, переменных, параметров, функций, ограничений и критериев».

- Под компонентом понимается элемент или подсистема,

- переменные определяются видом функций,

- параметры выбираются исследователем,

- функции устанавливают связи между параметрами и переменными,

- ограничения задают пределы изменения переменных,

- под критерием понимается отображение цели и правила оценки ее достижения. Как видно данные определения не вступают в противоречие с представлениями Р. Шеннона. На этапе ИМ (этап 2, рис.20) при переходе от концептуальной модели S` к моделирующему алгоритму и имитационной модели S`` можно выделить пять основных подэтапов.

2.1 Выбор способа имитации, а также вычислительных и программных средств реализации ИМ.

2.2 Построение логической схемы моделирующего алгоритма.

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

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

2.5 Отладка, тестирование и проверка адекватности ИМ.

Как уже было сказано выше, рамки учебного пособия не позволяют подробно рассмотреть вопросы планирования имитационных экспериментов и вопросы обработки, анализа и интерпретации результатов моделирования. Рассмотрение указанных задач является содержанием третьего этапа моделирования. Для понимания всего цикла ИМ кратко рассмотрим смысл действий на третьем этапе. Вначале оценим основные проблемы исследования и проектирования, которые могут успешно решаться с помощью ИМ:

Группа 1. Оценка значений показателей вектора КЦФ – Q, а также значений параметров компонентов.

Группа 2. Нахождение функциональной зависимости между КЦФ и значениями параметров системы.

Группа 3. Сравнение систем с разными ФДС (функционально достаточными структурами) и разными значениями параметров для одной ФДС.

Группа 4. Оптимизация системы S на множестве параметров на основе двойственной задачи оптимизации (достижения максимума КЦФ при заданном значении ресурсов, либо минимизация ресурсов при достижении заданного значения КЦФ).

Любая задача из названных групп проблем может быть решена на этапе 3 с помощью методов планирования имитационных экспериментов [1,2,9,10]. В результате имитационного моделирования системы S при заданном времени и векторе параметров системы получается фазовая траектория системы S:

(18)

и значения показателей КЦФ для каждого интервала модельного времени и для всего интервала моделирования в целом

(19)

Результаты одного вычислительного эксперимента (ВЭ), в результате которого имитируется фазовая траектория (18) и показатели КЦФ называются прогоном. Итогом одного прогона является значение искомой характеристики. Для получения представительной статистики необходимо провести ряд прогонов, после чего проводится подэтап обработки данных ВЭ.

Б. Понятие модельного времени

Отметим две особенности функционирования ЭВМ, которые приходится учитывать при разработке ИМ сложных систем.

1. Сложная система S, как правило, состоит из многих элементов. Все элементы системы S функционируют одновременно. Однако в большинстве современных ЭВМ параллельное выполнение нескольких программ, имитирующих поведение отдельных элементов системы, невозможно.

2. Поскольку ИМ — это программы для ЭВМ, то они должны оперировать с конечным множеством данных и, следовательно, имитировать поведение системы S не во все моменты времени t [О, Т], а лишь в некоторые, составляющие конечное множество [О, T], (где означает мощность множества ),

Чтобы обеспечить имитацию параллельных (одновременных) событий системы S на конечном множестве моментов времени , в ИМ используется специальная переменная t, называемая системным модельным временем или просто модельным временем (MB).

MB t следует отличать от других типов времени, используемых при ИМ систем, таких, как:

- tp реальное время системы S, функционирование которой имитируется;

- tэ машинное время имитации, отражающее затраты ресурса времени ЭВМ на организацию имитационного моделирования.

Существуют два способа формирования конечного множества моментов времени , известных как принципы организации изменения модельного времени "" и "".

"Принцип " заключается в изменении MB с фиксированным шагом .

"Принцип " заключается в изменении MB при скачкообразном изменении вектора состояния х системы S на некоторую величину (0).

Для моментов времени t* из множества , сформированного по принципу "", справедливо

x(t* + 0) = х(t*) + , t* .

Для моментов времени из множества [О, T] \ вектор состояний изменяется непрерывно (либо остается неизменным).

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

Приведем более строгое описание принципов "" и "" и поясним их особенности. Пусть СС S состоит из N элементов: A(1), ..., А(N) поведение которых предполагается моделировать:

S={A(1), ...,А(N))}.

Для каждого элемента А(i) S (i = 1, ..., N) определим локальное модельное время (ЛМВ) t(i) [О, T]. Поведение элемента А(i) S в течение интервала моделирования определяется некоторой последовательностью действий

где G — множество всевозможных действий для элементов S. На множестве G будем выделять подмножество действий D: D G, для выполнения которых в ИМ требуется некоторое ненулевое модельное время.

Будем обозначать такие действия

,

а интервалы модельного времени, затрачиваемые на выполнение этих действий, соответственно:

.

Последовательность {} (j=) является последовательностью случайных величин с заданными законами распределения L{}, i=.

Действия {} D приводят к наступлению в системе S особых событий {} . События {}, к которым приводят действия {}: {} G \ D, не требующие затрат MB, считаются неособыми.

Момент ЛМВ наступления события для определяется по формуле:

(20)

где имитируется на ЭВМ в соответствии с законом распределения L{}, t*— текущее значение MB.

Состояние системы S в момент времени t [0, Т] определяется вектором состояния x(t) X Rn. Состояния системы в моменты наступления особых событий будем называть особыми состояниями, а состояние x(0) — начальным состоянием системы.

Для иллюстрации принципов "" и "" используем временную диаграмму, изображенную на рис.22

Рис.22 Временная диаграмма

Описание временной диаграммы.

Пусть число моделируемых элементов в S равно 2, т.е. N = 2, и S = {A(1), A(2)}.

Временная диаграмма включает:

— временную ось ЛМВ t(1) для элемента А(1),

— временную ось ЛМВ t(2) для элемента А(2),

— временную ось модельного времени по принципу "";

— временную ось модельного времени по принципу "". Временные оси будем помечать символами

”А(1)”, ”А(2)”, "";"".

Пусть в течение рассматриваемого интервала моделирования

[0, Т] для элемента А(1) произошло 2 события: в моменты , для элемента A(2) 3 события: в моменты

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

Принцип "".

В соответствии с принципом "" изменение модельного времени t происходит через промежутки времени, равные , т.е. t в течение времени моделирования Т принимает конечное множество значений:

При этом событиям, которые попадают в интервал постоянства MB r = ((r - 1), rt), r = , в ИМ присваивается один и тот же момент наступления: t = rt. Выбор величины t существенно влияет как на быстродействие ИМ, так и на точность аппроксимации СС S с помощью ИМ. Пусть t выбран таким, как указано на диаграмме (рис.22), т.е. моменты наступления событий в S принадлежат следующим интервалам:

,

Это означает, что соответствующим событиям в ИМ будут присвоены следующие моменты наступления:

При этом фазовая траектория системы S с вектором состояний x(t) X будет иметь вид:

х(0), x(t) = x(2t) = x(0), x(3t) = х(), x(4t) = x(5t) = x(3t),

x(6t) = х(), x(7t) = x(8t) = x(9t) = x(6t), x(10t) = x(),

x(11t) =...=x(14t) = x(10t), x(15t) = x().

На основании полученной фазовой траектории можно сделать следующие выводы относительно выбора t:

1) если t мало, то выполняется много лишних вычислений состояний системы в моменты, когда вектор x(t) не изменяется (за счет этого возрастает tэ выполнения ИМ);

2) даже при сравнительно малом значении t моменты наступления событий в системе (а следовательно, и моменты изменения состояния системы) не совпадают с моментами наступления событий в ИМ, поэтому фазовая траектория, построенная с помощью ИМ, на множестве [0, Т] не совпадает с фазовой траекторией системы S.

Принцип ”х".

В соответствии с принципом "х" изменение модельного времени происходит в моменты наступления событий или, что то же самое, в моменты особых состояний, т.е. для нашего примера:

а фазовая траектория, построенная с помощью ИМ, будет совпадать на множестве [0, Т] с фазовой траекторией системы S:

Приведем более строгие формулировки правил изменения MB по принципам "" и "".

Пусть t* < Т — некоторый момент особого состояния системы S;

ri число событий, произошедших с элементом S до момента t* включительно (i = 1, ..., N)',

— момент наступления последнего для элемента А(i) события до момента t* включительно;

> t* — момент наступления ближайшего после ri будущего события;

— общее число событий в момент t*

t** и **— моменты ближайших будущих событий в ИМ, вычисленные по принципам "" и "" соответственно.

Модельное время t в ИМ можно рассматривать как функцию от числа событий, происходящих в ИМ. Очевидно: t(r) = = t* < Т, r = 0, 1, 2, ...,

где {}, {} определяются соотношением (20) Заметим, что

моменты МB t** = Т и ** = (если ) являются моментами завершения моделирования.

Правила (4.23) и (4.24) называются правилами изменения модельного времени по принципам "" и "" соответственно.

Пример. Проиллюстрируем эти правила с. помощью рис.22

Пусть , тогда r1=1, r2=2, r=r1+r2 = 3, t(4)=t**=min так как

На практике отдается предпочтение принципу "". Принцип "" используется лишь в случаях, когда:

  1. события {} таковы, что const на всем интервале моделирования Т, и, следовательно, можно подобрать интервал изменения MB, обеспечивающий минимальную погрешность аппроксимации (например, для разностных уравнений);

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

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

В. Способы имитации при создании квазипараллелизма

Определение: Под способом имитации будем понимать способ формирования фазовой траектории системы.

На рис.23 показана взаимосвязь между событиями A j(i), действиями dj(i) и процессом

Рис.23 Взаимосвязь компонентов ИМ

Очевидно, что возможны три способа изменения вектора состояний X(t) системы S:

1. В моменты наступления событий {A j(i)},

2. В результате выполнения действий {dj(i)}, на выполнение которых требуются затраты модельного времени {}. Пара { dj(i) ;} называется (i, j) активностью (Р. Шеннон определил это сочетание как «работа»).

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

На рис.24 приведен пример из книги И.В. Максимея «Имитационное моделирование на ЭВМ», иллюстрирующий связь между процессами в реальной системе и в модели. Пример подчеркивает важное обстоятельство, указанное выше при определении модельного времени, что при моделировании надо осуществлять создание квазипараллелизма одним из способов рассмотренных ниже.

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

Рис.24 Процессы в модели и системе. - реальные действия системы; - имитируемые действия; - события в системе и модели; - отрезки времени между событиями

В принципе возможно и обратное поведение, т.е. в начале изменяется время, а затем реализуется действие посредством алгоритма. Для реальной системы фазовая траектория запишется в виде 0 - - - . В имитационной модели в виде:0 – а - - в - - с - или 0 - -- - - - .

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

На рис.25 дается представление о различиях между исследуемой системой и ее моделью.

Рис.25 Отличия между системой и ее моделью

Общее управление ведется с помощью УПМ, связывающей запуск алгоритмов (ППН), временных модификаторов, проверку условий имитации, обработку статистики (ППС), окончание испытаний (ППК), выдачу результатов. Таким образом, описание ИМ разрастается в объеме по сравнению с описанием системы. ИМ состоит из двух частей, первая является переменной, объектно-ориентированной и создается исследователем с помощью определенных процедур, вторая часть практически инвариантна к виду исследуемой системы и представляет собой реализацию процедур синхронизации модели, запуска, сбора статистики и завершения имитации. В зависимости от состава алгоритмов, связей между компонентами, целей и задач моделирования можно выбрать различные способы представления квазипараллелизма, а соответственно, и способа имитации. В таблице 7 приведены типы описания ИМ и способ организации квазипараллелизма в ИМ.

Одну и ту же систему можно представить одним из способов Таблицы 7, но ИМ на их основе отличаются размерами и количеством ресурсов, затрачиваемых на их создание, испытания и использование. Рассмотрим особенности и принципы организации квазипараллелизма в ИМ каждым из указанных способов.

Таблица 7

ИМ описывается

Способ организации квазипараллелизма

АКТИВНОСТЯМИ

Просмотр активностей в УПМ

СОБЫТИЯМИ

Составление расписания событий

ТРАНЗАКТАМИ

Управление обслуживанием транзактов

АГРЕГАТАМИ

Управление агрегатами

ПРОЦЕССАМИ

Синхронизация процессов

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

  • Все действия для элемента системы S различны и приводят к наступлению разных событий,

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

  • Времена выполнения действий являются случайными величинами с известными законами распределения.

ИМ описывается в виде двух частей: множества активностей и набора процедур выполнимости условий инициализации активностей. (Инициализация – передача управления от УПМ на выполнение алгоритма данной активности). Затем происходит модификация временной координаты . Таким образом ИМ представляет собой чередование выполнения алгоритмов активностей, операторов модификации временной координаты ti и алгоритма УПМ. При этом способе приходится проверять много условий попадания активностей в список инициализированных, поэтому затраты машинного времени весьма велики. Этот способ применяется, когда важно оценить влияние действия на поведение системы.

Составление расписания событий. Используется для систем, характеризующихся следующим:

  • множество событий разбивается на небольшое число типов,

  • определяются условия перехода от одного события у другому для всех типов событий,

  • для каждого типа событий определена последовательность действий, приводящая к изменению состояния системы,

  • интервалы времени между последовательными наступлениями событий – случайные величины с известными законами распределения.

  • ИМ также состоит из двух частей: множества автивностей и набора процедур проверки появления событий и инициализации соответствующих активностей. Объединение нескольких активностей в группу существенно сокращает размеры начальных циклов и уменьшает расходы на организацию ИМ. Большим недостатком этого способа является то, что из-за объединения активностей различных подсистем в процедуре событий, описание ИМ может потерять сходство с реальной системой. Так в одной процедуре могут обслуживаться не связанные друг с другом активности, но приводящие к одним событиям, что затрудняет анализ результатов ИМ.

Транзактный способ. При этом способе действия подсистем одинаковы, активности лишь корректируют значения временных координат. Кроме того, существует зависимость действий друг от друга, которую можно представить в виде системы массового обслуживания. Инициаторами появления событий являются заявки (транзакты) на обслуживание. В ИМ должна быть схема рождения транзактов, их перемещение, уничтожение обслуженных. Для описания ИМ создается набор блоков – приборов массового обслуживания. УПМ сканирует списки транзактов инициализирует блоки, сдвигает модельное время[ 1,2,10] .

Агрегатный способ. При описании агрегата (см.[1]) применим любой из рассмотренных способов, так что выделение агрегатного способа достаточно условно. Функцией УПМ является проверка условий перехода условий перехода агрегата в одно из особых состояний и моделирование выходных сигналов агрегата. Агрегатный способ удобен при интерпретации системы, но требует больших затрат машинного времени.

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

Г. Оценка адекватности ИМ

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

Оценка адекватности распадается на два связанных процесса:

Верификация – т.е. проверка идентичности концептуальной модели исследуемой системы.

Пригодноcть модели – возможность перенесения результатов моделирования на ИС.

Верификация – общепринятая процедура и чаще всего неизбежная.

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

Методы оценки верификации и пригодности делятся на две группы:

  • формальные (статистические) методы

  • неформальные с привлечением пользователей и ЛПР.

Верификация предусматривает предупредительные и отладочные процедуры. К предупредительным относятся:

  • проверка пригодности входных данных, контроль набора и т.п.;

  • построение программы в виде 3-х разделов:

  • структура модели,

  • исходные данные,

  • запуск программы со строгой последовательностью операторов;

проверка датчиков БСВ;

  • проверка точности вычислений (формат данных, округление, усечение).

Отладка начинается с анализа ошибок предыдущих этапов, возможности их повторения, изучения логики программы. Иногда полезно после написания машинной программы снова попытаться построить концептуальную модель. В процедуру отладки также входит корректировка синтаксиса и семантики, а также анализ чувствительности модели. Отладка ведется по разделам программы.

Б Оценка пригодности

Анализ ряда статей позволил представить классификацию критериев оценки пригодности (табл.8)

Таблица 8

Виды пригодности ИМ

Оценки пригодности

Условия анализа пригодности

Техническая

теоретическая

Учет математических содержательных

и причинных допущений

Пригодность данных

необработанных

Оценка точности, беспристрастности, и репризентативности данных

структуризованных

Учет точности операции сравнимости

позиций

Структурная

Правильность отражения

внутренних взаимосвязей ИС

Прогнозная

Способность предсказывать будущее

Операционная

Репликативная

Точность воспроизведения характеристик

ИС

Робастность

Учет чувствительности модели

Реализационная

Вероятность практического внедрения

Динамическая

Актуализация, практика

успешного использования модели

- техническая пригодность должна выяснить обоснованность теоретических посылок положенных в основу модели.

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

Выявленные расхождения относятся к «узким местам» модели и должны быть уменьшены.

- операционная пригодность менее категорична, чем техническая и допускает большие рассогласования. Особое внимание обращается на робастность, включающую анализ чувствительности на ошибки в процессе ИМ при задании экстремальных значений входным параметрам. Репликативная пригодность должна оценивать уровень точности воспроизведения характеристик ИС. Формально необходимо иметь две выборки и оценивать их статистическими методами (регрессионный и факторный анализ, x2 и F критерии, тесты Тьюринга).

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

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

На рис.26 представлен фрагмент блок-схемы алгоритма, из которого видно, что оценка верификации и пригодности взаимосвязаны.

Рис. 26 Фрагмент блок-схемы алгоритма

Д. Методы имитации на ЭВМ случайных элементов

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

Примерами таких случайных факторов являются: случайные интервалы времени между поступлениями заданий в ВС, деталей на производственный участок, вызовов в АТС, обращений к СПИ, а также время выполнения заданий в ВС, обработки деталей, установления связей и длительности переговоров в АТС, время обработки и передачи информации в СПИ и т.д.

При построении ИМ сложной системы S возникает необходимость в имитации случайных факторов по заданным законам распределения вероятностей. объектом имитации могут быть не только случайные величины, но и случайные события, векторы, процессы, поля, множества, т.е. произвольные случайные элементы.

Необходимо отметить, что эффективность процесса ИМ в первую очередь зависит от качества воспроизведения случайных элементов. Более подробно эти вопросы рассмотрены в [2].

Принципы моделирования случайных элементов

Моделирование на ЭВМ случайного элемента подчиняется двум основным принципам:

  1. сходство между случайным элементом-оригиналом и его моделью состоит в совпадении (близости) вероятностных законов распределения или числовых характеристик;

  2. всякий случайный элемент определяется («конструируется») как некоторая борелевская функция от простейших случайных элементов – равномерно распределенных случайных чисел, так называемых, базовых величин (БСВ).

Простейшим для моделирования на ЭВМ случайным экспериментом является эксперимент, заключающийся в бросании точки наудачу в промежуток [0, 1). Результатом этого эксперимента является координата точки. Математической моделью такого эксперимента является вероятностное пространство , где - пространство элементарных событий (элементарное событие заключается в том, что координата брошенной точки равна ); F - -алгебра, порожденная интервалами из ; P - вероятностная мера, определенная для событий (подмножеств) и совпадающая с мерой Лебега, так что для события :

(23)

Базовой случайной величиной (БСВ) на будем называть непрерывную СВ

(24)

Равномерно распределенную на полуинтервале [0, 1).

Функция распределенная БСВ имеет вид

(25)

а плотность распределения определяется формулой

Будем обозначать закон распределения

Математическое ожидание БСВ (первый начальный момент)

дисперсия (второй центральный момент)

Согласно второму принципу моделирования случайных элементов, любой случайный элемент представляется для некоторого натурального r в виде функции f(.) от r независимых БСВ

Таким образом, задача моделирования произвольного случайного элемента * разбивается на две подзадачи:

1) моделирование на ЭВМ независимых БСВ ;

2) нахождение функции f(.) такой, чтобы случайный элемент обладал требуемыми вероятностным законом распределения и числовыми характеристиками.

Поэтому моделирующий алгоритм состоит из двух блоков (рис.27)

Б 1

Б2

Рис.27 Моделирующий алгоритм БСВ

Б1 — блок моделирования БСВ (общий для всех );

Б2 - блок функционального преобразования f(.) БСВ (различный для различных законов распределения вероятностей).

Для имитации одного и того же случайного элемента* может быть предложено несколько вариантов функциональных преобразований. Обычно предпочтение отдается варианту f(.), требующему меньших вычислительных затрат; для этого используется понятие коэффициента использования БСВ.

Коэффициентом использования БСВ назовем величину, обратную числу r базовых случайных величин, используемых для моделирования одной реализации случайного элемента *:

Величина является мерой вычислительных затрат на моделирование *. Чем меньше , тем больше затраты. Целесообразно выбирать такую функцию f(.), для которой принимает наибольшее значение.

Очевидно, чтобы моделировать на ЭВМ случайные элементы с заданным вероятностным законом распределения, необходимо уметь моделировать БСВ. БСВ является абсолютно непрерывной случайной величиной (СВ). Однако на ЭВМ приходится иметь дело с дискретными случайными величинами. Поэтому моделирование БСВ основано на аппроксимации непрерывной СВ дискретной случайной величиной (ДСВ) .

Типы датчиков БСВ

Датчик БСВ – это устройство, позволяющее по запросу получать реализацию а или несколько независимых реализаций а1,…,аr базовой случайной величины .

Реализации а1,…,аr иногда называют случайными числами. Существует три типа датчиков: 1) табличный; 2) физический; 3) программный.

Табличный датчик БСВ – это таблица случайных чисел, представляющий собой экспериментально полученную выборку реализации равномерно распределенной в [0, 1) случайной величины.

Например, в монографии Д. Коудена приведены 834 десятизначных серийных номера лотереи, которые рекомендуется использовать как дробные части случайных чисел. Применение табличных датчиков при имитационном моделировании ограничено в силу двух недостатков:

  1. нехватки табличных случайных чисел (часто для моделирования требуются миллионы случайных чисел);

  2. большой расход оперативной памяти ЭВМ для хранения таблицы.

Физический датчик БСВ – это специальное радиоэлектронное устройство, являющееся приставкой к ЭВМ, выходной сигнал которого имитирует БСВ. Он состоит из источника флуктуационного шума (например, “флуктуационно шумящей” радиолампы), значение которого в произвольный момент времени является случайной величиной 0 с плотностью рη(у), и нелинейного преобразователя

(28)

где — дробная часть числа , относительно заданного > 0 ([z] — целая часть числа z).

Недостатки физического датчика БСВ:

1) невозможность повторения некоторой ранее полученной

реализации а (поскольку Р{ = a} = 0);

2) схемная нестабильность, приводящая к необходимости контроля работы датчика при очередном его использовании.

По этим причинам на современных компьютерах физические датчики БСВ используются весьма редко.

Указанными недостатками не обладает программный датчик БСВ.

Программный датчик БСВ это программа, служащая для имитации на ЭВМ реализации а1, а2, ... базовой СВ.

Он может быть получен из физического датчика БСВ введением обратной связи. Будем рассматривать функционирование датчика во времени и обозначим случайную величину, подвергаемую преобразованию (28) в момент времени t; — выходная величина датчика в момент t (случайное число). Источник флуктуационного шума в физическом датчике заменяется обратной связью

(29)

использующей р ранее полученных выходных значений датчика. В (29) t = 1, 2, ..., a , фиксируются заранее: и называются исходными (стартовыми) случайными числами.

Согласно (25), (29)

(30)

Рекуррентная формула (30) определяет последовательность псевдослучайных чисел а1-р, а2-р, ..., а0, а1, ..., аt, ... . Термин "псевдослучайные" используется по следующим причинам:

1) по происхождению эти числа не случайные; они получа­ются по известному детерминированному закону (30).

2) при специальном выборе функции Ф(·) по вероятностным характеристикам эти числа похожи на реализации независимых БСВ.

Методы построения программных датчиков БСВ

Существует ряд методов и алгоритмов, исполь­зуемых при построении программных датчиков БСВ (использование метода вычетов, рекуррентых формул, метод Макларена- Марсальи и т.д). Более подробно см [1,2]. В пособии рассматривается лишь наиболее применяемый на практике метод вычетов или мультипликативный конгруэнтный метод.

Согласно этому методу псевдослучайная последовательность вычисляется по рекуррентным формулам

xi+1 = axi + c mod m i= 1,2,… (31)

где a, m положительные целые числа, а c целое число

Исторически этот генератор строился из принципа

xn = xn mod m, (32)

чтобы не возникало вычислительных проблем (32) можно заменить

xn = x* xn-1 mod m. (33)

При с = 0 как раз и получается мультипликативный конгруэнтный генератор и генерируемые числа U I = xi / m Выражение (33) основывается на значении m = 2k где k целое число, обычно равное длине машинного слова. Любые генерируемые БСВ характеризуются периодом повторения или циклом генератора d = 2k-2 при нечётном x0

В качестве примера рассмотрим генератор xn = 3x n – 1 mod 32 (2 5)

При с = 0 (см. 31) и а = (mod 8) Период этого генератора равен d =8 5 – 2 = 8, приняв x0 =1 найдём числовую последовательность создаваемую генератором:

x0 = 1 00001

x1 = 3 00011

x2 = 9 01001

x3 = 27 11011

x4 =81 mod 32 (81- 2*32) =17 10001

x5 =51 mod 32 = 19 10011

x6 =57 mod 32 = 25 11001

x 7 = 75 mod 32 =11 11001

x8 = 33 mod 32 = 1 00001

и последовательность повторилась, т. е. период равен 8, как и было подсчитано, в случае чётного x0 период сокращается вдвое!

Современные ЭВМ (Pentium 1 и выше) сняли все ограничения по быстродействию и объёмам памяти, необходимым для генерации качественных БСВ. Потому при выборе генератора БСВ надо руководствоваться следующими правилами:

  1. Период повторения должен быть более миллиона.

  2. БСВ, производимые генератором должны отвечать всем тестам на случайность.

  3. Стараться пользоваться стандартными генераторами типа RANDU (URN01 - URN42 генераторами), встроенными непосредственно в ЯИМ.

Рассмотрим более подробно схему повторения БСВ. На интервале (0,m) должны быть такие числа r и s (0, для которых xr= xs, а следовательно и xr+l =xs+l для всех положительных l. Если s наименьшее положительное число для которого xr = xs тогда выражение (31) состоит из начального сегмента x0,x1,…,xr-1, предшествующего второму сегменту xr, xr+1, …,xr = x s, который затем постоянно повторяется. Тогда целое число d = sr называется периодом повторения, последовательностью или циклом генератора. Последовательность имеет максимальный период, если d = m.Проиллюстрируем зависимость периода d от a, c, m, x0 на двух простых примерах.

Пример 1 Пусть x0 = 1, a = 5, c = 0, m = 10 тогда определяем последовательность x1= 9 mod 10 = 9, x2 = 81 mod 10 = 1, x3 = 9 mod 10 =9, …. Последовательность имеет вид 1, 9,1, 9, … В данном случае r = 0, s = 2 и период d = sr = 2.

Пример 2 Пусть x0 = 1, a =5, c = 0, m = 10 тогда определяем последовательность x1= 5 mod 10 = 5, x2 = 25 mod 10 = 5, ….Последовательность имеет вид 1,5,5,… В данном случае r =1, s= 2, d =1. У данного генератора начальный сегмент 1 предваряет последовательное число 5.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]