Область изобретения
[0001] Изобретение относится к вычислительной технике, а именно к новым способам проведения спектральных тестов, и может быть использовано в устройствах, моделирующих случайные процессы. Целью является их инновационное усовершенствование при отборе и создании эффективных мультипликативных конгруэнтных генераторов, технический результат - получение на компьютерах однородных и независимых случайных чисел. В частности, изобретение представляет новые спектральные тесты степени L для L≥3, а также создает способы получения более достоверных оценок, что позволяет признать годными эффективные генераторы, которыми до сих пор пренебрегали, а также создать более точные критерии для исключения неподходящих генераторов. Обозначим как (d,z,n) мультипликативный конгруэнтный генератор случайных чисел, с натуральным числом d>0 в качестве модуля, целым взаимно-простым числом z в качестве множителя и целым числом n, также являющимся взаимно-простым с d, для задания начального случайного числа. Генератор (d,z,n) или (d,z), выражаясь кратко, производит последовательность целых чисел {nk≡nzk-1 mod(d)| 0<nk<d, k=1,2,...} в виде решения отношений рекурсивной эквивалентности
n1≡n mod(d), nk+1:≡znk mod(d), 0<nk<d, k=1,2, ….
На компьютерах выход генератора (d,z,n) представляет собой действительные числа vk:=nk/d с 0<vk<1, последовательно выдаваемые для k=1,2,... как последовательность однородных и независимых случайных чисел.
Описание материалов, использованных при экспертизе заявки
[0002]
Прежде всего, проанализируем структуры существующих спектральных тестов. Спектральные тесты L-й степени для генератора (d,z) стремятся оценивать, в частности, степень независимости L последовательных случайных чисел. При указанном способе, берутся L-последовательности целых чисел {Qk:=(nk,nk+1,...,nk+L-1)| k=1,2,...}, выданных генератором (d,z), и рассматриваются в качестве точек в L-мерном евклидовом пространстве EL. Основополагающим фактом является то, что эти точки {Q1,Q2,…} находятся в решетке GL(d,z), определяемой d и z. Точнее говоря, точки, соответствующие L-последовательностям случайных чисел, занимают свои места в узлах решетки, которая определяется d и z и обозначается как GL(d,z). При этом способе, почти не уделяется внимание вышеупомянутым процессам занятия мест выходами (d,z). Здесь внимание сосредоточено на оценке распределения мест, подготавливаемого решеткой GL(d,z) в EL, на предмет пригодности полученной конфигурации в качестве мест для однородных и независимых случайных чисел. Значение этого утверждения становится очевидным из наглядных примеров решеток G2(d,z) в евклидовой плоскости Е2, заданных последовательными 2-ками случайных чисел (d,z). На Фиг. 1 показаны графики расположения точек одного периода {Qk:=(nk,nk+1)|k=1,2,…}, выдаваемых генератором (d,z) с нечетным простым d и его первообразным корнем z. Чтобы отдельные точки были различимы для глаз наблюдателя, значения (d,z) выбраны малыми. Точки находятся в квадрате Cd с длиной стороны d, одна из вершин которого совпадает с началом координат О, при этом проведенная наружная рамка представляет собой квадрат несколько больших размеров. На верхних графиках показаны ровные массивы выдаваемых точек, близкие к так называемой треугольной решетке, образованной правильными треугольниками. Если последовательные 2-ки случайных чисел занимают места в этих ровно распределенных положениях некоторым образом, который, надо надеяться, выглядит случайным, нет оснований отрицать статистическую гипотезу, что последовательные 2-ки случайных чисел оказываются однородными и независимыми друг от друга. В противоположность этому, в конце Фиг. 1 мы видим такие распределения узлов решетки, которые представляются сосредоточенными на нескольких отчетливо выраженных линиях, между которыми находится очевидное разделительное пространство. Если точки 2-к оказываются на местах такого типа, мы обнаруживаем устойчивую зависимость их распределения от направления, что указывает на то, что последовательные случайные числа или их пары выглядят коррелированными и их независимость представляется весьма сомнительной. Спектральные тесты дают число ρ2(d,z)>1 в качестве количественной оценки этих впечатлений для генератора (d,z); см. Фиг. 1 со значениями ρ=ρ2(d,z), указанными для решеток G2(d,z); при этом следует иметь в виду, что лучшим является ρ, которое ближе к 1 сверху.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[0003]
Нами описываются составляющие настоящее изобретение новые идеи. Вернемся к математическим основам решетчатых структур, возникающих в последовательных L-ках случайных чисел (d,z), начиная с простейшего случая, где L=2. Последовательную 2-ку Qk можно для удобства рассматривать в качестве радиус-вектора типа «строка», Qk:=(nzk-1,nzk)=nzk-1e1, e1:=(1,z). Целочисленные координаты Qk принимаются без эквивалентности по модулю d. Вектор положения любой точки в евклидовой плоскости Е2, вторая координата которого равна остатку от деления второй координаты Qk на d, можно получить прибавлением целочисленного вектора, кратного e2:=(0,d). Подобным же образом, точка, первая координата которой равна остатку от деления первой координаты Qk на d, получается прибавлением целочисленного вектора, кратного
Таким образом, точки 2-к, сгенерированные (d,z), вместе с их эквивалентами по модулю d, содержатся в множестве S всех целочисленных линейных комбинаций векторов {е1,е2}, S:={c1e1+c2e2|, где c1,c2 - целые числа}. Это S определяет решетку, образованную базисными векторами {е1,е2}. Так как S определяется d и z, обозначим решетку как S=G2(d,z). Прежде всего, отметим, что G2(d,z) содержит точки с координатами, которые не являются взаимно-простыми с d. Таким образом, 2-ки, выдаваемые генератором (d,z), занимают только часть узлов решетки G2(d,z). Поэтому на всех графиках Фиг. 1, соответствующих нечетным простым модулям и первообразным корням, среди отмеченных точек неизменно отсутствует начало координат О.
[0004]
Следует отметить две общие особенности G2(d,z). Одна из них заключается в том, что базисные векторы {е1,е2} охватывают параллелограмм площади d, равной определителю матрицы, составленной из этих векторов. Эта площадь независима от множителя z. Другая особенность состоит в том, что в квадрате Cd со сторонами длиной d имеется ровно d узлов решетки. На это указывает тот факт, что площадь Cd составляет d2. Можно также привести более содержательный количественно довод о том, что узел решетки c1e1+c2e2=(c1, zc1+dc2) имеет d возможных значений {0,1, … ,d-1} для первой целочисленной координаты c1 в Cd, в то время как вторая координата zc1+dc2 в Cd фиксирует с2 без выбора. Параллелограмм, ограниченный {е1,е2}, точно заполняет Cd, рассматриваемый в качестве 2-мерного тора с периодом d в обоих направлениях. Теперь, когда мы знаем, что G2(d,z) - это решетка, обладающая двумя названными особенностями, геометрия Е2 дает нам значимые структуры, для чего не требуется информация о z. Прежде всего, отметим общий способ построения любого множества базисных векторов. Определим линию решетки как линию, включающую два отдельных узла решетки. Фактически, на линии решетки в Е2 существует бесконечно много узлов решетки. Рассмотрим пару параллельных и соседних линий решетки и еще одну пару параллельных линий решетки, которые не параллельны предыдущей паре. 4 рассматриваемых линии решетки пересекаются в 4 узлах решетки; при этом каждая линия решетки имеет 2 точки пересечения, находящиеся в соседних узлах решетки. Выберем одну из вершин параллелограмма, обозначив ее как
[0005]
Теперь перефразируем это общее описание применительно к большим размерностям. Предположим, что дана решетка. Операционное определение множества базисных векторов решетки выглядит следующим образом. (1) Возьмем линию решетки, (2) выберем на ней узел решетки
[0006]
Теперь, располагая более четким представлением, вновь рассмотрим графики, приведенные на Фиг. 1. Из них видно, что 2-симплексы на этих участках принимают различные формы в соответствии с выбором (d,z) и выбором базисных векторов. Верхние графики на Фиг. 1 демонстрируют решетки, которые легко можно воспринять как построенные из почти правильных треугольников. Так как точки фактически дискретны, наблюдения нужно проводить с некоторым размыванием небольшими зонами или полосами малой ширины. Исходя из этого допущения, можно сказать, что верхние графики на Фиг. 1 дают 2-ки случайных чисел (d,z), расположенные на плоскости почти эквидистантно. Такие решетки практически не оставляют возможностей для возражений против статистической гипотезы о том, что случайные числа выдаются однородным и независимым образом. В противоположность этому, на графиках, расположенных ближе к концу Фиг. 1, мы видим разреженные распределения нескольких плотно сосредоточенных линий решетки, которые располагаются параллельно на очевидно большом расстоянии друг от друга. Будет трудно настаивать на том, что на этих графиках показано появление последовательных случайных чисел со статистической независимостью. Если нам нужно будет выбрать для наших компьютеров генератор случайных чисел, мы вряд ли возьмем такие (d,z) для генерации 2-ек, как показаны на этих графиках.
[0007]
В соответствии с нашим наблюдением, спектральные тесты 2 степени дают количественные оценки при использовании наибольшего расстояния λ2(d,z) между параллельными соседними линиями решетки на G2(d,z).
(Заключение 1) Среди всех треугольников с заданной площадью, правильный треугольник реализует наименьшее значение для наибольшей из высот, опущенных из вершин на противоположные им основания. В условиях, когда площадь составляет d/2, правильный треугольник или правильный 2-симплекс реализует это наименьшее значение наибольшей высоты как Λ2(d)=2-1/231/4d1/2 ≈0.93060d1/2.
(Доказательство) Воспользуемся доказательством от противного, предполагая его дальнейшее обобщение на случай большей размерности. Допустим, что наименьшая длина наибольшей высоты реализуется в треугольнике, который не является правильным. Тогда дихотомия заключается в существовании двух или одной кратчайших сторон. Если существуют две кратчайшие стороны, примем одну из них в качестве основания и позволим противоположной ему вершине перемещаться параллельно основанию, без изменения площади треугольника и высоты вершины. Существует направление, в котором удлиняется другая кратчайшая сторона таким образом, что небольшое перемещение вершины реализует треугольник такой же площади только с одной кратчайшей стороной, где высота, опущенная на нее из противоположной вершины сохраняет наименьшее значение наибольшей высоты среди всех возможных форм. Таким образом, нам нужно рассмотреть только случай, когда k=1. Тогда мы можем взять за основание другую сторону и позволить противоположной ей вершине перемещаться параллельно этому новому основанию. Тогда кратчайшая сторона может незначительно удлиниться, но не переставая быть кратчайшей в силу непрерывности действительных чисел. Из сказанного следует, что наименьшая длина наибольшей высоты может быть уменьшена, что противоречит допущению о том, что первоначальная длина является наименьшим из реализуемых значений среди треугольников всех форм. Полученное противоречие доказывает, что форма треугольника должна быть правильной. Построив правильный треугольник с площадью d/2, мы легко получим вышеупомянутое наименьшее значение Λ2(d).
[0008]
Как указывалось выше, решетка в Е2 с базисными векторами {е1,е2}, образующими правильный треугольник или правильный 2-симплекс, именуется треугольной решеткой. Правильный 2-симплекс образуется двумя линейно независимыми векторами и характеризуется тем, что все 3 вершины - скажем, исходная точка и две точки с указанными радиус-векторами, дают 3 пары, в каждой из которых точки находятся на одинаковом расстоянии друг от друга. В некотором смысле, это представляет собой идеальную геометрическую конфигурацию узлов решетки, в которой занимают свои места последовательные 2-ки точек, образуемых однородными и независимыми случайными числами. Предположим снова, что λ2(d,z) - наибольшее расстояние между параллельными соседними линиями решетки в решетке G2(d,z). Заключение 1 доказывает строгое неравенство λ2(d,z)>Λ2(d). Здесь равенство никогда не может быть выполнено, так как базисные векторы {е1,е2} решетки G2(d,z) обязательно имеют целочисленные координаты и никогда не могут реализовать глобальные минимумы, обеспечиваемые правильными треугольниками, для чего требуются иррациональные координаты. Близость отношения
к 1 является хорошим показателем того, насколько близка решетка G2(d,z) к идеальной треугольной решетке и до какой степени генератор (d,z) выдает последовательные 2-ки с наименьшими основаниями отрицать статистическую гипотезу об однородности и независимости. Использование этого факта является основополагающей идеей спектральных тестов второй степени. Вычислим ρ2(d,z)>1 для каждого возможного множителя z с модулем d и выберем z, который реализует 1<ρ2(d,z)<R2 для заданного критерия R2>1. Первыми выполнившие это Fishman и Moore (1986) выбрали R2=1.25, и этот критерий оказался универсальным и полезным для всех последующих приложений. На Фиг. 1 показано ρ=ρ2(d,z) для каждого изображенного генератора (d,z). Беглого взгляда на графики достаточно для того, чтобы убедиться, что критерий ρ<1.25 является вполне разумным. К сожалению, не столь однозначна ситуация с последовательными L-ками случайных чисел для L≥3.
Fishman and Moore (1986)/ G.S. Fishman and L.R. Moore: An exhaustive analysis of multiplicative congruential random number generator with modulus 231-1, SIAM Journal on Scientific and Statistical Computing Vol.7 (1986), pp. 24-45.
(Fishman и Moore (1986)/ G.S. Fishman и L.R. Moore: Исчерпывающий анализ мультипликативного конгруэнтного генератора случайных чисел с модулем 231-1, SIAM Journal on Scientific and Statistical Computing: Том 7 (1986), стр. 24-45).
[0009]
Примем L≥2 и рассмотрим, в целом, последовательные L-ки случайных чисел, выдаваемые генератором (d,z,n). Вновь введем обозначение Cd - для гиперкуба с гранями длиной d, исходящего из начала координат О L-мерного евклидова пространства EL. Точки
в EL представляют собой последовательные L-ки, выдаваемые генератором (d,z,n), и все их эквиваленты по модулю d с очевидностью выражаются подходящими целочисленными линейными комбинациями следующих векторов:
Эти векторы линейно независимы и ограничивают параллелепипед объема dL-1, равного определителю матрицы, составленной из этих векторов. Обозначим как GL(d,z) решетку в EL, ограничиваемую этими L базисными векторами. Объем dL гиперкуба Cd непосредственно указывает, что эта решетка имеет d узлов решетки в Cd. Этот факт может быть подтвержден следующим образом. Вектор c1e1+c2e2+…+cLeL с целочисленными коэффициентами c1,c2, …, cl имеет первую координату с1, которая может иметь d различных значений {0,1, …, d-1} в Cd. Когда в качестве одного из них фиксируется с1, вторая координата c1z+c2d выбирает уникальное целое число с2 в Cd; этот вопрос аналогично решается с c3, …, cL. Следовательно, в Cd имеется d узлов решетки GL(d,z).
[0010]
Так же как в случае с треугольником или 2-симплексом, образованным линейно независимыми 2 базисными векторами в размерности L=2, вышеупомянутые линейно независимые L базисных векторов {е1,е2, …, eL} GL(d,z) образуют L-мерный симплекс или L-симплекс. По аналогии с 2-мерным случаем, представим себе общее множество
(Заключение 2) Зададим размерность L≥3 и рассмотрим L-симплексы, которые исходят из начала координат О пространства EL и определяются точкой О и L точками с L линейно-независимыми радиус-векторами, проведенными из О. Определим правильный симплекс в EL таким условием, что его (L+1)L/2 пар вершин имеют одно и то же расстояние между вершинами. При условии что L-симплексы имеют один и тот же гиперобъем приблизительно правильной формы, правильный L-симплекс дает локальный минимум наибольшей высоты вершины относительно гиперплоскости противоположного ей основания.
(Доказательство) Вновь воспользуемся доказательством от противного. Рассмотрим окрестность конфигурации L-симплексов постоянного гиперобъема приблизительно правильной формы, а именно такой, где каждое из всех (L+1)L/2 ребер имеет такую длину, что можно говорить о значительной близости к их полному равенству. Отметим, что высоты каждой вершины относительно гиперплоскости противолежащего основания постоянно изменяются, так же как и площади гиперплоскостей основания. Предположим, что L-симплекс не имеет правильной формы, но его k вершин обращены к гиперплоскостям основания с наименьшей гиперплощадью и имеют одинаковую высоту h, которая является наименьшей среди всех возможных конфигураций L-симплекса в этом локальном диапазоне, близком к правильной форме. Если гиперплоскость основания с наименьшей площадью единственна (т.е. k=1), то при незначительной деформации L-симплекса (например, осуществляемой незначительным перемещением вершины, обращенной к другой гиперплоскости основания, в направлении, параллельном ее гиперплоскости основания) гиперплоскость основания будет по-прежнему иметь наименьшую площадь, хотя само значение площади незначительно увеличится, а высота h обращенной к ней вершины незначительно уменьшится. Это противоречит допущению о том, что h является локально наименьшей среди всех возможных форм L-симплекса с единственной гиперплоскостью основания наименьшей площади. Таким образом, случай k=1 не реализуется. Остается возможность того, что k гиперплоскостей основания с 2≤k≤L-l являются наименьшими. Но в этом случае мы можем взять любую из них в качестве гиперплоскости основания и переместить противоположную вершину параллельно гиперплоскости основания. Тогда площадь такой гиперплоскости и высота h противоположной вершины останутся одинаковыми, но площадь некоторой другой гиперплоскости основания (которая обязательно должна быть непараллельной неподвижной гиперплоскости основания) может быть увеличена выбором подходящего перемещения вершины. Это уменьшает число k гиперплоскостей основания с наименьшей площадью. Эту процедуру можно повторять для сведения k к k=1, что, как доказано, содержит противоречие. Таким образом, исходная гипотеза является ложной, а доказуемое утверждение - истинным.
[0011]
Пусть точки {P1,P2, …, Pl} в евклидовом пространстве EL имеют линейно независимые радиус-векторы относительно начальной точки Р0, или, иначе говоря, {Р0,Р1,Р2, …, PL} являются аффинно независимыми. Правильный L-симплекс с вершинами {Р0,Р1,Р2, …,PL} определяется тем условием, что любая пара вершин, общее количество которых равно (L+1)L/2, имеет одно и то же евклидово расстояние между вершинами. В рассматриваемой нами задаче L линейно независимых базисных векторов {е1,е2, …, eL} решетки могут использоваться для задания правильного L-симплекса согласно вышеуказанному определению - скажем, с точкой Р0, помещенной в начало координат О. С точки зрения спектральных тестов, правильный L-симплекс, очевидно, является идеальной конфигурацией для структурных элементов решетки GL(d,z). Забыв о том, что решетка составлена L-ками выходов генератора (d,z), мы начинаем с того, что допускаем, что правильный L-симплекс образовывается базовыми векторами следующей формы:
Константы а и b определяются согласно следующим двум ограничениям:
(1) Эти векторы охватывают своим определителем объем dL-1.
(2) Они образуют правильный L-симплекс.
В силу их формы векторы имеют одну и ту же евклидову длину
дает скалярное произведение
Вычитая 1-й столбец из всех остальных столбцов, получаем dL-1=s(b-a)L-1. Далее рассмотрим ограничение (2). Используя
Представив b=ξа, получаем, что ξ соответствует ξ2+(L-1)=2(ξ-1)2, или ξ=2±(L+1)1/2. Произведя некоторые алгебраические выкладки для любого из этих решений, получим один и тот же результат для правильного L-симплекса любой размерности L≥2,
Таким образом, задача оказывается решенной. Ниже приведены конкретные выражения для ML(d) в случае 2≤L≤6:
Fishman and Moore (1986) сослались на геометрию чисел для поиска минимума ΛL(d) наибольшего расстояния λL(d,z) между параллельными и соседними гиперплоскостями решетки в L-мерной решетке GL(d,z) и провели свои революционные исчерпывающие спектральные тесты на первообразных корнях простого модуля d=231-1. Значения {ΛL(d)|2≤L≤6} в их Ур. (15) выглядят следующим образом:
Они меньше, чем ML(d) для L≥3. Короче говоря, Fishman и Moore выполнили спектральные тесты, приняв глобальные минимумы наибольших расстояний для соседних параллельных гиперплоскостей решетки в качестве значений, реализуемых генераторами (d,z). Авторы настоящего изобретения склонны полагать, что форма правильного L-симплекса является идеальной для реализации решеткой GL(d,z) и спектральные тесты должны в предпочтительном случае использовать локальные минимумы {ML(d)|2≤L≤6} в качестве контрольных значений. Это приводит к необходимости ввести новое множество оценок, отличных от предложенного Fishman и Moore (1986) {ρL(d,z)|L≥3}:
в качестве подходящих показателей эффективности генератора (d,z). Так как ML(d) не является глобальным минимумом, некоторые решетки могут иметь значения
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0012]
Мы обсудили, что {ML(d)|2≤L≤6} - это стандартные контрольные значения, которые подлежат использованию в спектральных тестах более высокой степени. Технологически, задача заключается в том, чтобы определить процедуры, необходимые для непосредственной реализации тестов. Это будет ясно показано на примерах. Fishman и Moore (1986) дали 5 превосходных множителей в своей Таблице 2 для простого модуля d=231-1. Мы цитируем их в Перечнях 2А-2Е в представленной здесь Фиг. 2. Аналогичная иллюстрация была дана в наших предыдущих патентных заявках I27665HIR, OUS27668HIR, OEP27669HIR и ORU27670HIR, где упоминались тесты второй степени (d,z2), (d,z3), …, (d,z6). Строка, обозначенная как а), воспроизводит строку S1 в работе Fishman и Moore. Строка, обозначенная как 1/а), представляет собой обратные величины чисел в строке а) и соответствует представленному ρL(d,z):=λL(d,z)/ΛL(d). Эти же значения заново пересчитываются авторами в строке b). Числа в строке, обозначенной как ML(d), показывают
[0013]
Таким образом, мы приходим к выводу о том, что в качестве более точного способа для правильного отбора эффективных генераторов (d,z) следует использовать новые спектральные тесты, основанные на {ML(d)|L≥3}. Последние также нужны для признания подходящими множителей, которые прежде отклонялись в отношении {ΛL(d))|L≥3} как не прошедшие проверку, хотя они фактически могли быть подходящими применительно к большим {ML(d)|L≥3}. Вместе с тем, новые тесты на основе {ML(d))|L≥3} следует проводить с определенной осторожностью. Для прояснения этого вопроса, вернемся к способу вычисления наибольшего расстояния λL(d,z) между параллельными соседними гиперплоскостями решеток (d,z). Этот способ основан на использовании векторов решетки GL*(d,z), являющейся обратной по отношению к решетке GL(d,z). Эта обратная решетка GL*(d,z) задается множеством {f1,f2, …, fL} базисных векторов:
Последние с очевидностью являются линейно независимыми и имеют скалярные произведения
Пусть матрицы Е и F задаются векторами-строками {е1,е2, …, eL} и {f1,f2, …, fL}, соответственно. Указанные скалярные произведения имеют отношение к матричному произведению EtF=dI, где tF - транспонированная матрица F, a I - единичная матрица размерности L×L. Таким образом, tF однозначно определяется как tF=dE-1. Можно утверждать следующее.
(Заключение 3) Базисные векторы обратной решетки {f1,f2, …, fL} имеют целочисленные координаты, и кратчайший ненулевой вектор имеет евклидову длину не меньше 1. Пусть umin - кратчайший ненулевой вектор обратной решетки. Тогда для наибольшего расстояния λL(d,z) между L-1-мерными параллельными и соседними гиперплоскостями решетки GL(d,z) справедливо:
где ||umin|| - евклидова длина вектора umin. (Конец Заключения 3)
Доказательство этого утверждения является простым, но несколько длинным. Полное изложение этого доказательства см. в работе Nakazawa и Nakazawa (2012). Данное заключение позволяет нам конвертировать спектральные тесты L-й степени в поиск кратчайших векторов в GL*(d,z). Этот поиск удобнее всего выполнять в декартовой системе координат.
(Заключение 4) Пусть u - вектор с целочисленными декартовыми координатами (u1,u2, …, uL). Необходимым и достаточным условием нахождения u в обратной решетке GL*(d,z) является следующее:
(Доказательство) Если вектор и находится в GL*(d,z), то он представляет собой линейную комбинацию базисных векторов {f1,f2, …, fL} с целыми коэффициентами c1,c2, …, cL, и имеет декартовы координаты
Это доказывает, что u1+zu2+z2u3+…+zL-1uL=c1d=0 mod(d). Таким образом, условие является необходимым. И наоборот: если u1+zu2+z2u3+…+zL-1uL=0 mod(d) верно, то существует целое число с, которое дает u1+zu2+z2u3+…+zL-1uL=cd. Мы имеем u1=cd-u2z-u3z2-…-uLzL-1 и
Следовательно, вектор и находится в GL*(d,z), то есть условие является также достаточным.
Важно уяснить то, что глобальные минимумы {ΛL(d)|L≥2}, используемые в работе Fishman и Moore (1986), сохраняют свои важные роли в поиске кратчайшего вектора umin решетки GL*(d,z), так как они определяют справедливость λL(d,z)=d/||umin||>ΛL(d) или ||umin||<d/ΛL(d). Таким образом, мы можем в общем виде представить процедуры спектральных тестов L-й степени следующим образом.
(Заключение 5) Пусть задано L≥2. Оценка
(1) Получим вектор umin обратной решетки GL*(d,z), для чего проверяется каждый вектор и с декартовыми координатами u=(u1,u2, …, uL), удовлетворяющий условию и находится такой из них, который имеет наименьшую метрику ||u||.
(2) Вычислим λL(d,z)=d/||umin||.
(3) Вычислим оценку
(4) Если
Nakazawa and Nakazawa (2012)/ N. Nakazawa and H. Nakazawa: Multiplicative congruential generators with moduluses formed by two odd-prime factors for uniform and independent random numbers II. Structures of spectral tests, uploaded (October, 13, 2012) in the URL http://www10.plala.or.jp/h-nkzw/. (Nakazawa и Nakazawa (2012)/ N. Nakazawa и H. Nakazawa: Мультипликативные конгруэнтные генераторы с модулями, формируемыми двумя множителями в виде нечетных простых чисел для однородных и независимых случайных чисел II. Структуры спектральных тестов, загружено (13 октября 2012 года) по адресу URL http://www10.plala.or.ip/h-nkzw/).
[0014]
После подачи авторами настоящего изобретения предыдущей патентной заявки наиболее актуальным в том, что касается спектральных тестов, является включение вторых тестов (d,z2), (d,z3), …. Нахождение идеальных значений {ML(d)=L-1/2(L+1)(L-1)/(2L)d(L-1)/L|L≥3} в виде расстояний от вершин правильных L-симплексов до противоположных им L-1-мерных гиперплоскостей решетки позволяет заслуженно выбрать эти новые идеальные значения в качестве контрольных уровней в спектральных тестах более высокой степени вместе с использовавшимся до сих пор уровнем M2(d)=Λ2(d). По мнению авторов, {RL=1.25|2≤L≤6} может быть целесообразным выбором при принятии решения о прохождении теста множителем z, но это может зависеть от количества прошедших тест значений. Можно ли сделать спектральные тесты еще лучше? Пока этот вопрос остается открытым для дальнейших исследований. Но один вывод из вышеизложенного можно сделать со всей определенностью: имея дело с задачами со случайными числами, никогда нельзя полагаться на интуицию или догадки. Прежде чем что-либо применять, это необходимо подвергнуть испытаниям. В настоящее время мы полагаем, что находимся на правильном пути, но для дополнительного подкрепления или подтверждения этого утверждения могут потребоваться дополнительные проверки. Авторы будут признательны всем, кто сочтет возможным прислать свои отзывы и комментарии.
КРАТКИЕ ПОЯСНЕНИЯ К ЧЕРТЕЖАМ
[0015]
(Фиг. 1A и 1B) Геометрия 2-к случайных чисел и оценка ρ=ρ2(d,z)
Типичные графики точек, образуемые последовательными 2-ками случайных чисел, выдаваемых мультипликативным конгруэнтным генератором (d,z); изображенные распределения соответствуют оценке ρ:=ρ2(d,z) около 1.05, 1.10, …; изображенные квадраты несколько больше, чем квадрат Cd; значения (d,z) могут быть считаны из подписей к рисункам.
[0016]
(Фиг. 2) Множитель z (работа Fishman и Moore (1986)) для модуля d=231-1: Показатели эффективности 5 лучших множителей из работы Fishman и Moore (1986), представленные у них на стр. 37 в виде Таблицы 2; строка а) соответствует значениям, показанным в их работе как S1, строка 1/а) представляет обратные величины значений из а) и согласуется с представленными здесь pL(d,z), строка b) представляет собой расчет pL(d,z), выполненный авторами настоящего изобретения, в строке ML(d) показана оценка
Изобретение относится к вычислительной технике и может быть использовано в устройствах, моделирующих случайные процессы. Техническим результатом является получение на компьютерах однородных и независимых случайных чисел. Способ проведения спектральных тестов мультипликативного конгруэнтного генератора (d,z,n) или (d,z), содержащего нечетное целое число d в качестве модуля, а также целое число z, взаимно-простое с d, в качестве множителя, и целое число n, взаимно-простое с d, в качестве начального случайного числа, генерирующего последовательность целых чисел {nk:≡nzk-1 mod(d)| 1≤nk≤d, k=1,2,...} последовательным образом и выдающего на выходе последовательность случайных чисел за счет реализации арифметики {vk:=nk/d| 0≤vk≤1, k=1,2,...}, основан на оценке геометрической формы решетки GL(d,z), в которой занимают свои места L последовательных целых чисел {Qk:=(nk,nk+1,…,nk+L-1)| k=1,2,...}, выданных генератором (d,z,n), посредством вычисления наибольшего расстояния λL(d,z) между параллельными и соседними гиперплоскостями решетки GL(d,z) и оценки ρL′(d,z):=λL(d,z)/ML(d) генератора (d,z) на основе новых контрольных значений ML(d):=L-1/2(L+1)(L-1)/(2L)d(L-1)/L, L≥3, а также принятия решения о прохождении теста (d,z), если условия 1<ρL′(d,z)<RL, 3≤L≤6 выполняются для заданных уровней {RL>1| 3≤L≤6}. 3 ил.
Способ проведения спектральных тестов мультипликативного конгруэнтного генератора (d,z,n) или (d,z), содержащего нечетное целое число d в качестве модуля, а также целое число z, взаимно-простое с d, в качестве множителя, и целое число n, взаимно-простое с d, в качестве начального случайного числа, генерирующего последовательность целых чисел {nk:≡nzk-1 mod(d)| 1≤nk≤d, k=1,2,...} последовательным образом и выдающего на выходе последовательность случайных чисел за счет реализации арифметики {vk:=nk/d| 0≤vk≤1, k=1,2,...}, характеризующийся тем, что названный способ основан на оценке геометрической формы решетки GL(d,z), в которой занимают свои места L последовательных целых чисел {Qk:=(nk,nk+1,…,nk+L-1)| k=1,2,...}, выданных генератором (d,z,n), посредством вычисления наибольшего расстояния λL(d,z) между параллельными и соседними гиперплоскостями решетки GL(d,z) и оценки ρL′(d,z):=λL(d,z)/ML(d) генератора (d,z) на основе новых контрольных значений
ML(d):=L-1/2(L+1)(L-1)/(2L)d(L-1)/L, L≥3,
а также принятия решения о прохождении теста (d,z), если условия
1<ρL′(d,z)<RL, 3≤L≤6
выполняются для заданных уровней {RL>1| 3≤L≤6}.
JP 2012203898 A, 22.10.2012 | |||
US 8443021 B2, 14.05.2013 | |||
US5541996 A, 30.07.1996 | |||
RU 2008131612 A, 10.02.2010. |
Авторы
Даты
2016-07-10—Публикация
2014-12-12—Подача