ТРЕХМЕРНОЕ ОБОБЩЕНИЕ ГЕНЕРАТОРА LFSR СЛУЧАЙНЫХ ТОЧЕК
Калугин А.Н.
Самарский государственный аэрокосмический университет Аннотация
В работе рассматривается новый метод генерации псевдо-случайных последовательностей точек, являющийся обобщением генератора Таусворта. Блоки последовательности, сгенерированной на первом этапе базовой схемы интерпретируются как цифры представления элемента кольца алгебраических целых в кубическом расширении поля рациональных чисел с использованием канонических системах счисления. Приводятся сравнительные результаты использования генератора для интегрирования методом Монте-Карло.
Введение
История разработки генераторов псевдослучайных последовательностей насчитывает несколько десятилетий. Разработано множество генераторов, реализующих различные алгоритмы и идеи. Однако большинство из созданных генераторов являются одномерными [1]: выходная последовательность такого генератора состоит из точек определенного промежутка числовой прямой, чаще всего (0.1]. Генерация последовательности с заданным законом распределения обычно осуществляется путем преобразования равномерно распределенной последовательности [2].
Развитие многопроцессорных систем, создание параллельных алгоритмов специфика реальных задач обуславливают необходимость разработки пара-леллельных генераторов, генераторов, производящих многомерные последовательности [2] (последовательности точек в пространстве М” [3]).
Исследованы [3, 4, 5] методы генерации таких последовательностей основанные на разбиении одномерной псевдо-случайной последовательности, использовании нескольких одномерных генераторов различных типов или одного типа с различными параметрами.
В данной работе рассматривается принципиально иная процедура генерации трехмерной псевдослучайной последовательности точек. Предлагаемая процедура основана на обобщении одномерного генератора Таусворта [7] (Tausworthe generator, linear feedback shift register generator, LFSR). Состояние (битовый вектор) генератора интерпретируется как цифры представления элементов кольца целых чисел в кубическом расширении поля рациональных чисел Z[9] в канонической системе счисления ^anonicd number system, CNS [10]).
Предложенный метод был использован для вычисления многомерных интегралов методом Монте-Карло. Результаты численного эксперимента и сравнение с предложенной схемы с другими генераторами приведены в разделе 4.2.
1. Генератор Таусворта
Процедура генерации Таусворта [7, 8] основана на использовании последовательности, заданной линейным рекуррентным соотношением в конечном поле из двух элементов GF(2). Блоки элементов
этой последовательности (битовые блоки) рассматриваются как цифры записи дробной части некоторого числа в двоичной системе счисления.
Определим процедуру генерации Таусворта более формально. Пусть GF(2) - конечное поле из двух элементов. Далее рассмотрим многочлен
P(z) = zm - a\zm-1 -... - am , aj e GF(2), (1)
характеристический многочлен рекуррентного соотношения (2)
xn = ai xn—i + a2 xn—2 +... + a^xn-m (mod 2). (2)
Пусть si - состояние генератора (вектор бит)
Si = (Xj, Xj+1,..., Xj+m-l) e {0,1}m . (3)
Будем полагать, что задано начальное состояние
So = (X0, Xi,..., Xm-l) e {0,1}m
Рассмотрим рациональное число un, представление которого в двоичной системе счисления имеет вид:
L
un = Xnq+i-1 * 2 j , (4)
i=1
где q и L натуральные. Если многочлен (1) не приводим, s0 ф 0 и НОК^, 2m -1) = 1, тогда периоды последовательностей Xn и un равны р(Xn) = p(un) = 2m -1 [8] (в этом случае, Xn и un -последовательности максимального периода, Xn называется m-последовательностью [9]).
Свойства генератора Таусворта изучены, существуют методы супер-быстрого вычисления элементов последовательности (3), если характеристический многочлен (1) является трехчленом особого вида [8].
2. Канонические системы счисления
Предлагаемый метод генерации основывается на использовании канонических систем счисления (canonical number systems), введенных в [10] и исследованных многими авторами в [11], [12] и др.
Приведем формальное определение канонической системы счисления. Назовем решеткой (lattice) Л в Ж.k множество всех линейных комбинаций с целыми коэффициентами k линейно независимых векторов .
Рассмотрим решетку Л , групповой эндоморфизм M : Л^Л, det(M) ф 0, и множество D , конечное подмножество Л, 0 e D.
(7)
Тройка объектов (Л, M, D) называется системой счисления (или, иначе, тройка (Л, M, D) обладает свойством единственности представления), если для любого элемента n еЛ существует единственное представление вида (5):
I
n = ^Miai , (5)
i=0
где ai е D и l > 0, l е Z .
В этом случае, эндоморфизм M называется основанием системы счисления, а D - множеством цифр.
Система счисления (Zk, M, D) называется канонической, если D образует полную систему вычетов по модулю M и
D = {veb v = 0,1,...,|detM| -1}, (6)
где e1 = (1,0...0).
Рассмотрим канонические системы счисления, генерируемые многочленами с целыми коэффициентам. Рассмотрим многочлен
f (X) = CkXk + Ck-1Xk-1 + ... + С0 =
= (X-01)...( X-0k ), Ck = 1.
Обозначим Л f кольцо классов вычетов Z[ X]/( f).
Пусть, далее p = X + (f) - образ X в Л f . Нетрудно заметить, что множество /р = {Рст,стеЛf} представляет собой идеал, порождающий фактор-кольцо Л f / /р .
Выбирая по одному элементу из каждого класса эквивалентности в Л f / /р , можно сформировать
множество цифр (6)
Dp = {a0 = 0, ab...at-1} .
Введя в кольце Л f эндоморфизм Mp (а) = Ра , можно показать [12], что для определенных многочленов (7), тройка (Л f, Mp, Dp) обладает свойством
единственности представления.
Многочлены, генерирующие канонические системы счисления (CNS-полиномы), могут быть найдены с помощью алгоритма CNS-Sieve, предложенного в [12]. В этой работе также вычислены многочлены (7) степени до 8, порождающие бинарные канонические системы счисления, D = {0,1} .
Необходимо отметить, что, так как CNS-многочлены не приводимы, то соответствующие фактор-кольца Z[x]/(fj) изоморфны алгебраическим
расширениям Z[0], порожденным корнями fj (x) .
Далее в данной работе будут использованы бинарные канонические системы счисления в Z[0], порожденные многочленами (8).
f1 = 2 + x3 ,
f = 2 - x + x3 , (8)
fз = 2 + x + x2 + x3, f4 = 2 + 2 x + 2 x2 + x3 .
З. Трехмерное обобщение генератора Таусворта.
Генератор LFSR-CNS
На втором этапе схемы генерации Таусворта последовательности бит (2) интерпретируется как цифры записи дробной части некоторого числа в двоичной системе счисления (З).
По аналогии, рассмотрим последовательность (2) как последовательность цифр представления разложения (З), представления элементов Л f в бинарной
канонической системе счисления, порожденной одним из многочленов (8).
Конкретизируя схему генерации, положим, q = 1; L = m , тогда выражение (4) примет вид:
m-1 = M^xn+i
i =1
(9)
где хі є {0,1} = Б/ .
Таким образом, каждому вектору состояния (3) si генератора (2) поставлен в соответствие элемент
й„ є Л /.
Для / є {/і,..., /4} можно показать, что, Л/ = Ж[0] = Z3. Таким образом, каждому вектору яі поставлен в соответствие элемент «трехмерного пространства».
Заметим, что вследствие уникальности представления (5), различным векторам si соответствуют различные элементы п є Л/, а, следовательно, и точки Z3.
Множество и точек Z3, соответствующих всем возможным векторам si, представляет собой область сложной (фрактальной) формы. Это множество можно считать аналогом фундаментальной области [0,1) для одномерного случая [13]. На рис. 1-3 приведены примеры областей для рекуррентных соотношений (2) порядка 3ґ с периодом р = 23 -1.
Рис. 1. U , соответствующее f и t = З
1З2
Рис. 2. U , соответствующее f и t = 3
Определим в пространстве Z3 куб
C = {z : z є Z3,0 < z, < 2t,i = 0,1,2}.
(10)
Рассмотрим точки ün є Ü и и n є C. Определим взаимно однозначное соответствие:
1. и n = Un, если Un є C .
2. если ün g С , то вместо ün будем брать точку и n є C, полученную параллельным переносом Un с шагами (a, b, с), лежащую в другой в другой «чешуйке» из Ü .
Таким образом, каждому вектору состояния s¡ взаимнооднозначно ставится в соответствие элемент куба (10) или, после масштабирования, куба [0,1)3.
4. Свойства LFSR-CNS генератора
Генератор LFSR-CNS - трехмерный генератор псевдо-случайных последовательностей. Так как генератор получен путем альтернативной интерпретации второго этапа генератора Таусворта, он наследует как «плохие», так и «хорошие» свойства базового генератора. Однако данный генератор обладает также и новыми свойствами.
4.1 Спектральные свойства
При использовании рекуррентных соотношений, соответствующих m -последовательностям максимального периода р = 23í -1, на выходе генератора
появятся все 23t -1 точки сетки (с шагом 2-t) трехмерного единичного куба (кроме точки (0,0,0)).
В отличие от классических схем распараллеливания одномерных генераторов, осуществляемых методом leapfrog [6], рассмотренный алгоритм обладает лучшими характеристиками в смысле спектрального критерия предложенного в [2] в трехмерном пространстве.
4.2 Интегрирование по методу Монте-Карло
Для экспериментальной оценки свойств генератора могут быть использованы различные методы [14], в частности вычисление многомерных интегралов по методу Монте-Карло.
Было произведено вычисление интеграла
/J = iff yJ(z)dz-
ze[0,1)3
(11)
некоторых классов функций путем вычисления сумм
_ 1 N-1
/j = N S yj (u).
iV i=0
(12)
Последовательности и(к) в суммах (12) сгенерированы с использованием ЬР8Я-С№ генератор и других генераторов МС1-МС4 использованных
Н.М. Коробовом [15].
В качестве подынтегральных функций были использованы
yi(z) = 8zoziz2 ; y2(z) = -(zo + 3zi -z2) ; (13,14)
Уз(z)=
2
11 - 4e
8m3/2 у2 ■3/2
z3z2z2ez0z1z2 ;
(1З)
У4(z) = ^П(1 - zj)-2e-m)/(1-zj)2 ; (16)
n ' j=0
m = 1,10,30,60.
Точное значение интеграла (11) для функций (13)-(16) равно 1. Количество точек сетки N « 4 103. Был использован LFSR-CNS генератор, соответствующий /1 и t = 7 . Результаты эксперимента представлены в таблице 1.
Результаты, полученные с помощью методов MC1-MC4, заимствованы из [15].
Заключение Предложенный метод генерации псевдо-случайных последовательностей, благодаря «естественной трехмерности», может быть широко использован при решении различных 3D задач (например для работы с 3D Ising models [16]). Существование CNS-полиномов более высоких степеней обуславливает возможность увеличения «естественной размерности».
Следует, заметить, что статистические, корреляционные свойства рассматриваемого генератора, возможность его распараллеливания для задач более высокой размерности не изучены подробно.
Таблица 1. Вычисление трехмерного интеграла методом Монте-Карло при использовании различных генераторов случайных чисел
Подынтегральные Метод Методы Монте-Карло
функции неравномерных сеток 1 2 3 4 Предлагаемый метод
У1 0,39 0,78 1,05 1,02 1,01 0,997
У2 0,73 0,94 0,997 1,008 1,008 0,998
У3 0,81 0,75 1,07 1,04 0,98 0,987
У4 (m=1) 1,03 1,23 1,02 0,92 0,98 1,01
У4(т=10) 1,38 1,67 1,32 0,84 0,79 0,914
У4 (т=30) 3,22 2,49 0,88 0,92 0,94 0,971
У4 (т=30) 7,49 3,87 0,54 0,53 1,15 1,037
Большое влияние на свойства данного генератора оказывает тип использованной рекуррентной последовательности. При дальнейшем развитии теории генераторов Таусворта (LFSR-генераторов) полученные результаты могут быть легко обобщены на случай рассматриваемого LFSR-CNS генератора.
Благодарности
Данная работа была выполнена при финансовой поддержке Министерства образования и науки РФ, Администрации Самарской области, Фонда гражданских исследований и развития США (CRDF Project SA-014-02) в рамках совместной Российско-Американской программы «Фундаментальные исследования и высшее образование» (BHRE), а также Российского фонда фундаментальных исследований (гранты №№ 05-01-96501, 03-01-00736).
Литература
1. L’Ecuyer P., Uniform Random Number Generation, Annals of Operations Research, 53, 1994, pp. 77-120.
2. Knuth D. E., The Art of Computer Programming. Vol 2. Seminumerical Algorithms. Second Edition. Addison-Wesley. Reading. Massachusetts, 1981.
3. Coddington P., Random Number Generators for Parallel Computers, NHSE Review, Second Issue, Northeast Parallel Architectures Center, 1996, http://nhse.cs.rice.edu/NHSEreview /RNG/ .
4. Entacher K., Parallel Streams of Linear Random Numbers in the Spectral Test, ACM Transactions on Modeling and Computer Simulation 9, 1999, no. 1, 31-44.
5. Entacher K., Uhl A., Wegenkittl S. Parallel Random Number Generation: Long- range Correlations Among Multiple Processors. In P. Zinterhof, M. Vajtersic, and A. Uhl, editors, Parallel Computation, volume 1557 of
Lecture Notes in Computer Science, 107-116 (Springer, New York, 1999).
6. Shirinvasan A., Ceperley D., Mascagni M. Random Number Generators for Parallel Applications; in Monte Carlo Methods in Chemical Physics, D. Ferguson, J. I. Siep-mann, and D. G. Truhlar, Eds. Advances in Chemical Physics, vol. 105, , 13-36. (John Wiley and Sons, Inc., New York, NY).
7. Tausworthe R. C., Random Numbers Generated by Linear Recurrence Modulo Two, Mathematics of Computation, 19, 1965, 201-209.
8. L’Ecuyer P., Maximally equidistributed combined Tausworthe generators. Mathematics of Computation, 65, 213 (1996), 203-213.
9. Lidl R., Niederreiter H., Finite Fields (Addison-Wesley, Reading, Massachussets, 1983).
10. Katai I., Kovacs B., Canonical number systems in imaginary quadratic fields, Acta Mathematica Academiae Sci-entarium Hungaricae. 37 (1-3), 1981, 159-164.
11. Thuswardner J., Elementary properties of canonical number systems in quadratic fields, G.E.Bergum et al. (eds.), Applications of Fibonacci Numbers, Volume 7, 405-415.
12. Kovacs A., Generalized binary number systems, Annales Univ. Sci. Budapest, Sect. Comp. 20, 2001, 195-206.
13. Chernov V.M., Fast uniform distribution of sequences for fractal sets. Proceedings of International Conference on Computer Vision and Graphics, 2004, September 22-24, 2004, Warsaw, Poland, Computational IMAGING AND VISION SERIES, Kluwer Academic Press (accepted for publication)
14. Coddington P., Analysis of Random Number Generators Using Monte-Carlo Simulation, Int. J. Mod. Phys. C 5, 1994, 547.
15. Коробов Н.М., Теоретико-числовые методы в приближенном анализе. М.:МЦНМО, 2004 - 288 с.
16. Coddington P., Tests of random number generators using Ising model simulations, Int. J. of Mod. Phys., “C” 7(3), 1996, 295- 303.