УДК 519.245
ТЕСТИРОВАНИЕ ГЕНЕРАТОРОВ ПСЕВДОСЛУЧАЙНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ С ИСПОЛЬЗОВАНИЕМ ТРЕХМЕРНОЙ МОДЕЛИ
ИЗИНГА
А.Ю. Шерешик
В статье исследуются реализации трехмерной модели Изинга методом Монте-Карло, где в роли генератора случайных чисел используются различные генераторы псевдослучайных последовательностей. Проводится анализ влияния уравнения и структуры генератора на отклонение результатов моделирования от теоретических расчетов.
Введение
В качестве метода численного статистического моделирования в настоящее время широко применяется метод Монте-Карло. В частности, для решения ряда различных задач физики, химии, биологии, кибернетики и др. применяется компьютерный эксперимент. При этом обеспечение достаточной точности во многом зависит от правильного выбора уравнения и структуры генератора случайных чисел. Также существует и обратная зависимость: с помощью известных результатов теоретических расчетов мы можем оценить, насколько достоверно тот или иной генератор моделирует физический процесс.
В подобном эксперименте полезно также рассматривать результаты с точки зрения продолжительности расчетов. Таким образом, с использованием трехмерной модели Изинга можно провести тестирование качества и скорости генераторов псевдослучайных последовательностей.
В представленной работе проводится исследование влияния выбора генератора случайных чисел на отклонение параметров модели от рассчитанных теоретически. В ходе эксперимента рассмотрены различные конгруэнтные генераторы случайных чисел. Проводится моделирование, анализ и сравнение поведения модели при температуре, близкой к критической. Делаются выводы о точности моделирования фазового перехода.
Copyright (с
Омский государственный университет им. Ф.М. Достоевского. E-mail: [email protected]
1. Описание эксперимента
Задача эксперимента - найти, какие из рассмотренных генераторов позволяют, за достаточно короткий промежуток времени, достоверно моделировать трехмерную модель Изинга. Таким образом, оценка результатов производилась по двум параметрам: продолжительность и качество моделирования. Качество оценивалось по графику зависимости средней теплоемкости и магнитной восприимчивости от температуры. График должен иметь явно выраженный пик в области температуры фазового перехода. По данным [3,6] для трехмерной модели Изинга с взаимодействием шести спинов температура фазового перехода kTc/J находится в интервале от 4,5103 до 4,53,
Для сравнения были рассмотрены подобные работы, посвященные исследованию двухмерной модели Изинга методом Монте-Карло, Опубликованные результаты позволяют утверждать, что для моделирования на двухмерной решетке некоторые из рассмотренных генераторов показали хорошие результаты при количестве шагов порядка 107 и линейном размере решетки 16 [1],
В нашем случае гораздо более важно то, какой из генераторов показывает приемлемые результаты при малом количестве шагов - так как реализация трехмерной модели значительно более затратна по машинному времени,
2. Генераторы случайных чисел
2.1. Линейный конгруэнтный генератор
Линейный конгруэнтый генератор в общем случае имеет вил:
xn+1 = (axn + b) mod m,
где структуру определяют модуль - m, множитель - а, приращение - b и начальное значение - хо- Это наиболее простой из рассмотренных генераторов. Подобные генераторы обладают довольно хорошими статистическими свойствами. Значения, приведенные в работе [5], были выбраны для определения структуры, В результате уравнение рассматриваемого нами генератора выглядит так:
xn+i = (2416xn + 374441) mod 1771875.
2.2. Инверсивный конгруэнтый генератор
Инверсивный конгруэнтый генератор в общем случае имеет вил:
xn = (a:rra_i + b) mod га,
где m-простое число, x-1x = 1 mod m. Подобные генераторы обладают очень
m
ления числа, обратного по модулю, можно предположить, что этот генератор окажется самым медленным из рассмотренных нами генераторов. Значения, приведенные в работе [2], были выбраны для определения структуры, В результате уравнение рассматриваемого нами генератора выглядит таким образом:
хп = (1208490188жга_1+ 1) mod 2147483647.
34
А.Ю. Шерешик. Тестирование генераторов.
2.3. Генератор Фибоначчи с запаздыванием
Генераторы Фибоначчи становятся все более популярны, поскольку предлагают простой метод получения очень больших перодов. Генератор в общем случае имеет вил:
где © - одна из простых бинарных арифметичееких операций: +, —, *, ф, В работе [1] были отмечены и рекомендованы для использования при моделировании двухмерной решетки Изинга некоторые из подобных генераторов. Мы
рассмотрим четыре из них:
хп = (хп—250 + хга-10з); хп = (хп—1279 + хга-106з);
хп (хп— 250 ф хп—103 ); хп (Хп-1279 ф хп—1063 )-
Следует также отметить, что при увеличении индексов р, д увеличивается период, но ощутимо замедляется скорость работы генератора. Это связано с тем, что для хранения списка предыдущих элементов требуется все больше операций с памятью.
(хп—р © Хп—а )?
3. Результаты эксперимента
Эксперимент проводился на компьютерной модели трехмерной решетки Изинга с линейным размером 16, Вычисление параметров средней теплоемкости и восприимчивости системы проводилось на интервале температур от 4,4 до 4,6 кТс/3 с шагом 0,01, Число отбрасываемых шагов для установления релаксации - 100 шагов на спин. Время эксперимента - 10000 шагов на спин. Рассмотрим результаты по контрольным параметрам.
3.1. Скорость генераторов
Таблица 1. Продолжительность моделирования в зависимости от выбора генератора
хп+1 = (2Шхп + 374441) тосі 1771875 2 ч 51 мин 35,223 с
хп = (1208490188жга_і + 1) тосі 2147483647 31 ч 48 мин 21,392 с
хга = (хга-250 + хга-10з) 6 ч 2 мин 50,173 с
%п = (хга—250 Ф^га-Юз) 5 ч 10 мин 37,805 с
%п = (хга—1279 + хга-106з) 14 ч 23 мин 0,297 с
Хп {Хп—1279 © Хп—1063 ) 12 ч 56 мин 33,367 с
Можно заметить, насколько сильно влияет выбор уравнения на продолжительность моделирования (табл. 1), Также видно, что инверсивный генератор вряд ли можно считать эффективным с точки зрения затрат машинного времени, Очевидно, это связано со сложностью задачи нахождения числа, обратного по модулю.
3.2. Качество генераторов
Оценка точности имитации физического процесса проводилась по графикам функций зависимости контрольных параметров от времени. Результат эксперимента будем считать положительным, если график имеет только один выраженный пик в области поиска температуры фазового перехода.
Четыре из шести рассмотренных генераторов, при выбранных параметрах эксперимента, дали отрицательный результат. Значения магнитной восприимчивости изменяются достаточно хаотично либо более одного выраженного пика (рис. 1).
температура Т
Рис. 1. График зависимости намагниченности от температуры. Отрицательные результаты (1 - хп+1 = (2416х„ + 374441) mod 1771875; 2-х„ = (1208490188ж„_1 + 1) mod 2147483647; 3 - Xn = (xn-250 + Xn-103); 4 - Xn = (xn-250 0 Xn-103))
температура Т
Рис. 2. График зависимости намагниченности от температуры. Положительные результаты. 1 — Хп (хп-1279 + хп-1063^ _ Хп {хп—1279 Ф хп —1063)
Положительный результат был получен при выборе генератора Фибоначчи с запаздыванием с большими коэффициентами р ид. На графике четко видны пики в обоих случаях (рис. 2). Также можно отметить, что пики видны и на графике изменения средней теплоемкости, однако температура фазового перехода несколько отличается от показателей при измерении намагниченности (рис. 3).
4,4 4,42 4,44 4,46 4,48 4,5 4,52 4,54 4,56 4,58 4,6
температура Т
Рис. 3. График зависимости теплоемкости от температуры. Положительные результаты.
1 — Хп (xn-1279 + Хп-1063)j ^ — Хп (xn-1279 © xn-1063)
3.3. Результат
По результатам эксперимента наиболее подходящим можно считать генератор, имеющий уравнение xn = (xn-1279 © xn-io63)• Из двух положительных результатов этот был достигнут быстрее за счет лежащей в его основе менее сложной банарной операции. При достаточно хорошем качестве моделирования скорость работы этого алгоритма более чем в 2 раза выше, чем скорость инверсивного генератора.
Литература
1. Coddington P.D. Tests of random number generators using Ising model simulations // Int. J. Modern Physics C. 1996. V.7, N. 3, P. 295-303.
2. Hellekalek P. Inversive pseudorandom number generators: concepts, results, and links // Winter Simulation Conference (WSC’95). 1995. P 255-262.
3. Вакилов A.H., Марков O.H., Прудников В.В. Компьютерное моделирование фазовых переходов в однородных и неупорядоченных системах. Учебное пособие. Омск.: Изд-во ОмГУ, 2001. 85 с.
4. Гулд X., Тобочник Я. Компьютерное моделирование в физике: В 2-х частях. Ч. 2: Пер. с англ. М.: Мир, 1990. 400 с.
5. Иванов М.А., Чугунков И.В. Теория, применение и оценки качества генераторов псевдослучайных последовательностей. М.: Изд-во Кудиц-образ, 2003. 238 с.
6. Нигматуллин Р. Р., Тобоев В. А. Термодинамика основных трехмерных моделей ферромагнетиков во флуктуационном приближении // ТМФ. 1988. Т.74, N. 1. С.112-124.