- •Классификация математических моделей сложных систем (сс).
- •Предпосылки для имитационного моделирования (им) сложной системы (сс).
- •2. Построение концептуальной модели.
- •3. Формализация объекта моделирования.
- •4. Программирование и отладка модели.
- •6. Исследование свойств им.
- •Принципы построения моделирующих алгоритмов и организация квазипараллелизма.
- •Способы генерации псевдослучайных чисел.
- •2) Искусственно воспроизводиться программными датчиками, включенными в общую схему моделирования.
- •Случайный выбор из конечного множества
- •Общие методы для непрерывных распределений
- •Эмпирические тесты
- •Задачи тактического планирования.
- •Однофакторные эксперименты при решении задач типа «что – если».
Эмпирические тесты
Рассмотрим специализированные тесты, которые могут быть использованы исключительно для проверки качества датчиков базовых случайных чисел. Каждый тест применяется к последовательности случайных чисел <U>=u0, u1, u2, ..., которые должны быть равномерно распределены между нулем и единицей. Некоторые тесты предназначены для проверки целочисленных последовательностей, т.е. проверке будет подвергаться вспомогательная последовательность <Y>=<y0, y1, y2, ...>, где yi{0; 1; … , d-1}, т.е. которая определяется следующим образом: yn=int(d*un). (9)
Проверка серий. Проверяется равномерность и независимость пар следующих друг за другом случайных чисел. Для этого подсчитывается сколько раз встречается каждая пара (y2j, y2j+1) при 0j<n. Затем применяется критерий 2 с числом категорий k=d2 и равными вероятностями 1/d2 во всех категориях.
Проверка интервалов. В этом тесте проверяется длина интервалов между появлением значений ui, принадлежащих некоторому заданному отрезку. Если и – два действительных числа, причем 0<<1, то подсчитываются длины последовательностей uj, uj+1, ..., uj+r, в которых только uj+r лежит между и . Такая последовательность из r+1 чисел определяет интервал длины r.
Проверка комбинаций. В тесте рассматриваются n групп из k следующих друг за другом целых чисел (yki, yki+1, ..., yki+k-1), где 0i<n. Подсчитывается число групп, в которых имеется r разных чисел. Затем с помощью критерия 2 проверяется соответствуют ли частоты комбинаций вероятностям.
Проверка полного набора. Используется последовательность y0, y1, ... и определяются длина сегментов yj+1, yj+2, ..., yj+r, необходимых для того, чтобы собрать полный набор целых чисел от 0 до d–1.
Проверка перестановок. Разделим исходную последовательность на n групп по t элементов в каждой: (ujt, ujt+1, ..., ujt+t-1), 0j<n. В каждой группе возможно всего t! вариантов относительного расположения чисел. Подсчитывается, сколько раз встречается каждое конкретное относительное расположение, после чего применяется критерий 2 с k=t! категорий и вероятностями 1/t!.
При реализации этого теста удобно воспользоваться следующим алгоритмом анализа перестановок.
Любому набору несовпадающих элементов (u1, ..., ut) ставиться в соответствие целочисленная функция f(u1, ..., ut), такая, что 0f(u1, ..., ut)<t! и f(u1, ..., ut)=f(v1, ..., vt) в том и только в том случае, когда элементы в (u1, ..., ut) и (v1, ..., vt) расположены в одинаковом порядке. В алгоритме используется вспомогательный вектор (C1, ..., Ct).
-
Присвоить r=t.
-
Пусть us=max(u1, ..., ut). Тогда Cr=s-1.
-
Взаимозаменить Xr и Xs.
-
r=r-1
-
Если r>0, то вернуться на шаг 2.
-
f=Ct+tCt-1+t(t-1)Ct-2+t(t-1)*...*3C2=(...(C23+C3)4+...+Ct-1)t+Ct
C1 нигде не используется, так как из шага 2 следует, что C1 всегда рано 0, причем f(u1, ..., un)=0, если u2<u3<...<un<u1, и f(u1, ..., un)=t-1, если u1<u2<...<un.
Проверка на монотонность. Этот тест выявляет длины возрастающих подпоследовательностей чисел в исходной последовательности. Для корректного применения критерия 2 требуется выбрасывать элемент, непосредственно следующий за отрезком монотонности, то есть в случае uj>uj+1 очередной отрезок начинается с uj+2.
Наибольшее из t. Пусть vj =max(utj, ujt+1, ..., ujt+t-1) при 0j<n. Применяется КС-критерий к последовательности v0, v1, ..., vn-1, принимая в качестве теоретической функции распределения F(x)=xt, 0x<1.
Последовательная корреляция. Вычислим статистику:
. (13)
Это коэффициент последовательной корреляции, который служит мерой зависимости uj+1 от uj. Желательно, чтобы C было близко к 0, но не равно ему, так как U0U1 и U1U2 не являются независимыми. Хорошим следует считать значение C, которое находится в 95% всех случаев в пределах между n-2n и n+2n, где , , n>2. (14)