Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 29
Текст из файла (страница 29)
4.8, б. Причемотрезок шумовой реализации и, (0, сформированныйна интервале времени (О, Т)г tс помощью КС, содержитслучайное число выбросов.Сравнениенапряжения1 I'll I i 4UI III IЫх(0 с пороговым Un позволяет сформировать на выходе ФИ серию импульсов«ф(0- Тогда на выходе ПС4 *i+;tможет быть получена поРис. 4.8. Аппаратный способ получения слуследовательность., случайчайных чиселных чисел x,(t). Например,если провести масштабирование и принять длину интервала (0, 7)за единицу, то значения интервалов времени At,=ti+l — t) междусоседними импульсами u$(t) будут случайными числами дс(е(0, 1).Возможны и другие схемные решения аппаратных генераторов случайных чисел [29, 37].
Однако аппаратный способ получения случайных чисел не позволяет гарантировать качество последовательностинепосредственно во время моделирования системы S на ЭВМ,а также повторно получать при моделировании одинаковые последовательности чисел.Табличный способ. Если случайные числа, оформленные в видетаблицы, помещать во внешнюю или оперативную память ЭВМ,предварительно сформировав из них соответствующий файл (массив чисел), то такой способ будет называться табличным. Однакоэтот способ получения случайных чисел при моделировании системна ЭВМ обычно рационально использовать при сравнительно небольшом объеме таблицы и соответственно файла чисел, когда дляхранения можно применять оперативную память.
Хранение файлаво внешней памяти при частном обращении в процессе статистического моделирования не рационально, так как вызывает увеличениезатрат машинного времени при моделировании системы S из-занеобходимости обращения к внешнему накопителю. Возможныпромежуточные способы организации файла, когда он переписывается в оперативную память периодически по частям. Это уменьшаетвремя на обращение к внешней памяти, но сокращает объем оперативной памяти, который можно использовать для моделированияпроцесса функционирования системы S.Алгоритмический способ. Способ получения последовательностейслучайных чисел основан на формировании случайных чисел в ЭВМс помощью специальных алгоритмов и реализующих их программ.v/sA^V^A/116Каждое случайное число вычисляется с помощью соответствующейпрограммы по мере возникновения потребностей при моделировании системы на ЭВМ.Таблица 4.1НедостаткаДостоинстваТребуется периодическая проЗапас чисел не ограниченРасходуется мало операций веркаНельзя воспроизводить послевычислительной машиныНе занимается место в памяти довательностиИспользуетсяспециальноемашиныустройствоНеобходимы меры по обеспечению стабильностиТабличныйЗапас чисел ограниченТребуется однократная проЗанимает много места в опеверкаМожно воспроизводить по ративной памяти или необходимо время на обращение к внеследовательностишней памятиАлгоритмиТребуется однократная проЗапас чисел последовательноческийверкаМожно многократно воспрои сти ограничен ее периодомзводить последовательности чиСущественные затраты маселшинного времениЗанимает мало места в памятимашиныНе используются внешниеустройстваСпособАппаратныйДостоинства и недостатки трех перечисленных способов получения случайных чисел для сравнения представлены в табл.
4.1. Изэтой таблицы видно, что алгоритмический способ получения случайных чисел наиболее рационален на практике при моделированиисистем на универсальных ЭВМ.Генерация базовой последовательности. При моделировании систем на ЭВМ программная имитация случайных воздействий любой сложности сводится к генерированию некоторых стандартных(базовых) процессов и к их последующему функциональному преобразованию.
Вообще говоря, в качестве базового может быть принятлюбой удобный в случае моделирования конкретной системы ^процесс (например, пуассоновский поток при моделировании Q-схемы).Однако при дискретном моделировании базовым процессом является последовательность чисел {xi}=x0, xlt ..., xN, представляющихсобой реализации независимых, равномерно распределенных на интервале (0, 1) случайных величин {Q = £0, £u ..., £N или — в статистических терминах — повторную выборку из равномерно распределенной на (0, 1) генеральной совокупности значений величины« [29, 37, 46].Непрерывная случайная величина £ имеет равномерное распределение в интервале (а, Ь), если ее функции плотности117(рис. 4.9, а) и распределения (рис.
4.9, б) соответственно примутвидО,{х<я,(х-а)/(Ь-а),а^х4:Ь,1,х>6.Определим числовые характеристики случайной величины {,принимающей значения х,— математическое ожидание, дисперсиюи среднее квадратическое отклонение соответственно:ььM\Z\4 xf(x) dx=\xdxl(b-a) = (a+b)l2;D\Z\=$(x-M\£\)2f(x)dx=(b-a)2ll2;<rt=+y/D\e\ = Q>-a)l<fr/3).При моделировании систем на ЭВМ приходится иметь дело сослучайными числами интервала (0, 1), когда границы интервалаа = 0 и Ь=\.
Поэтому рассмотрим частный случай равномерногораспределения, когда функция плотности и функция распределениясоответственно имеют вид{0, х<0,fix) \o, x<0, x>l;х, 0 < х < 1 ,1, х > 1 .Такое распределениеимеет математическое ожидание М[€] = 1/21и дисперсию D[£\ = I12Это распределение требуется получить на ЭВМ. Но получить егона цифровой ЭВМ невозможно, так как машина оперирует с празрядными числами.
Поэтому на ЭВМ вместо непрерывной совокупности равномерных случайных чисел интервала (0, 1) используютдискретную последовательность 2" случайных чисел того же интервала. Закон распределения такой дискретной последовательности наРис.
4.9. Равномерное распределение слузывают квазиравномернымчайной величины118распределением.Случайная величина £, имеющая квазиравномерное распределение в интервале (0, 1), принимает значения JC,=Z/(2"—1) с вероятностями pi= 1/2", 1=0, 2я—1.Математическое ожидание и дисперсия квазиравномерной случайной величины соответственно имеют видг 1~'11'2'-1 .Щ&= У - = - - = — - — У i=L J^*->•)« 1 t*= 0 2"-12"~ 0 2"|_2"-1(2"-1)2",toЛ"I V } " А-"2j_ 1 /(2"-1)2"(2" +1 -1)~2"\6(2"-1)2(2"-1)2"1(2"-l)2"222" ,Г 0 \(2"-1) 22"-l+V(2"-l)2"l\_l2"+l2(2"-1)у \ 2 ? - \Таким образом, математическое ожидание квазиравномернойслучайной величины совпадает с математическим ожиданием равномерной случайной последовательности интервала (0, 1), а дисперсия отличается только множителем (2"+1)/(2" —1), который придостаточно больших п близок к единице.На ЭВМ невозможно получить идеальную последовательностьслучайных чисел хотя бы потому, что на ней можно оперироватьтолько с конечным множеством чисел.
Кроме того, для получениязначений х случайной величины £ используются формулы (алгоритмы). Поэтому такие последовательности, являющиеся по своей сутидетерминированными, называются псевдослучайными [4, 29].Требования к генератору случайных чисел. Прежде чем перейтик описанию конкретных алгоритмов получения на ЭВМ последовательностей псевдослучайных чисел, сформулируем набор требований, которым должен удовлетворять идеальный генератор. Полученные с помощью идеального генератора псевдослучайные последовательности чисел должны состоять из квазиравномерно распределенных чисел, содержать статистически независимые числа,быть воспроизводимыми, иметь неповторяющиеся числа, получаться с минимальными затратами машинного времени, занимать минимальный объем машинной памяти.Наибольшее применение в практике моделирования на ЭВМ длягенерации последовательностей псевдослучайных чисел находят алгоритмы вида*+! = *(*.),(4-9)представляющие собой рекуррентные соотношения первого порядка, для которых начальное число х0 и постоянные параметрызаданы [36, 37].119Определим качественно требования к виду функции Ф.
Например, легко показать, что функция вида (4.9), изображенная на рис.4.10, а, не может породить хорошую последовательность псевдослучайных чисел х1г хг, ... Действительно, если построить точкис координатами (xt, x2), (х3, xj по случайным числам, полученным,например, из таблицы случайных чисел (табл. 4.2), то они будутравномерно распределены в единичном квадрате 0 < х ( ^ 1 ,0<JC ( + I< 1. Соответствующие же точки, построенные по числам (xt,Ф(*2))» (хз> Ф(.х*))> —. располагаются в площади, ограниченнойкривой хп i = Ф (*,).Хорошую последовательность случайных чисел может породитьтолько такая функция х,+1 =Ф (*,), график которой достаточно плотно заполняет единичный квадрат.
Примером такой функции можетслужить xi+i=/J(Ax!) при больших целых положительных А, гдеД(и)=и—Ц(и) — дробная часть числа и; Ц(и) — целая часть числаи, т. е. наибольшее целое число, не превосходящее и. Пусть дляпримера А = 10, тогда функция х1+1=Ф(х1) будет иметь вид, показанный на рис. 4.10, б.
Приведенные условия являются тольконеобходимыми, но не достаточными для того, чтобы соотношение(4.9) порождало хорошие последовательности псевдослучайных чисел.Рассмотрим некоторые процедуры получения последовательностей псевдослучайных квазиравномерно распределенных чисел, которые нашли применение в практике статистического моделирования систем на ЭВМ.Одной из исторически первых процедур получения псевдослучайных чисел была процедура, получившая название метода серединных квадратов. Пусть имеется 2л-разрядное2число, меньшее 1: х,=0,at а2 —а-ъ,. Возведем его в квадрат: дс, =0, bl Ьг ... Ь4п, а затемотберем средние 2л разрядов xt+l=0, fc„+I Ья+2 — Ь3„, которые и будутявляться очередным числом псевдослучайной последовательности.Например, если начальное2 число лсо=0,2152, то (х0)2=0,04631104,т.
е. *!=0,6311, затем (xj) =0,39828721, т. е. х2=0,8287, и т. д.Недостаток этого метода — наличие корреляции между числами последовательности, а в ряде случаев случайность вообщеможет отсутствовать. Например, если х0=0,4500, то(JC0)2 = 0,20250000, x 1 = 0,2500,(JCJ)2 = 0,06250000, JC2 = 0,2500,(JC2)2 = 0,06250000,x 3 = 0,2500и т.