СПОСОБ ПРОВЕДЕНИЯ СПЕКТРАЛЬНЫХ ТЕСТОВ МУЛЬТИПЛИКАТИВНОГО КОНГРУЭНТНОГО ГЕНЕРАТОРА СЛУЧАЙНЫХ ЧИСЕЛ Российский патент 2016 года по МПК G06F7/58 

Описание патента на изобретение RU2589405C1

Область изобретения

[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, получается прибавлением целочисленного вектора, кратного e 1 ' :

Таким образом, точки 2-к, сгенерированные (d,z), вместе с их эквивалентами по модулю d, содержатся в множестве S всех целочисленных линейных комбинаций векторов {е12}, S:={c1e1+c2e2|, где c1,c2 - целые числа}. Это S определяет решетку, образованную базисными векторами {е12}. Так как S определяется d и z, обозначим решетку как S=G2(d,z). Прежде всего, отметим, что G2(d,z) содержит точки с координатами, которые не являются взаимно-простыми с d. Таким образом, 2-ки, выдаваемые генератором (d,z), занимают только часть узлов решетки G2(d,z). Поэтому на всех графиках Фиг. 1, соответствующих нечетным простым модулям и первообразным корням, среди отмеченных точек неизменно отсутствует начало координат О.

[0004]

Следует отметить две общие особенности G2(d,z). Одна из них заключается в том, что базисные векторы {е12} охватывают параллелограмм площади d, равной определителю матрицы, составленной из этих векторов. Эта площадь независима от множителя z. Другая особенность состоит в том, что в квадрате Cd со сторонами длиной d имеется ровно d узлов решетки. На это указывает тот факт, что площадь Cd составляет d2. Можно также привести более содержательный количественно довод о том, что узел решетки c1e1+c2e2=(c1, zc1+dc2) имеет d возможных значений {0,1, ,d-1} для первой целочисленной координаты c1 в Cd, в то время как вторая координата zc1+dc2 в Cd фиксирует с2 без выбора. Параллелограмм, ограниченный {е12}, точно заполняет Cd, рассматриваемый в качестве 2-мерного тора с периодом d в обоих направлениях. Теперь, когда мы знаем, что G2(d,z) - это решетка, обладающая двумя названными особенностями, геометрия Е2 дает нам значимые структуры, для чего не требуется информация о z. Прежде всего, отметим общий способ построения любого множества базисных векторов. Определим линию решетки как линию, включающую два отдельных узла решетки. Фактически, на линии решетки в Е2 существует бесконечно много узлов решетки. Рассмотрим пару параллельных и соседних линий решетки и еще одну пару параллельных линий решетки, которые не параллельны предыдущей паре. 4 рассматриваемых линии решетки пересекаются в 4 узлах решетки; при этом каждая линия решетки имеет 2 точки пересечения, находящиеся в соседних узлах решетки. Выберем одну из вершин параллелограмма, обозначив ее как Q 0 ' , и определим векторы { e 1 ' , e 2 ' } как направленные стороны параллелограмма, исходящего из точки Q 0 ' . Если мы предоставим параллелограмму смещаться всеми возможными способами вдоль принятых нами линий решетки, Q 0 ' пройдет через все d точек решетки, а параллелограмм заполнит тор Cd площадью d2 без пересечений. Так, векторы { e 1 ' , e 2 ' } образуют множество базисных векторов решетки G2(d,z). Придерживаясь терминологии, принятой в физике, назовем описываемый параллелограмм площади d элементарной ячейкой. Таким образом, две пары соседних линий решетки определяют множество базисных векторов { e 1 ' , e 2 ' } решетки и элементарную ячейку. И наоборот: любое множество { e 1 ' ' , e 2 ' ' } базисных векторов решетки, очевидно, дает две пары параллельных и соседних линий решетки, образующих параллелограмм, а заданная ими элементарная ячейка имеет такую же площадь d. Указанное соответствие является взаимно-однозначным. Теперь рассмотрим расстояние h между любой парой параллельных и соседних линий решетки. Из отмеченного выше соответствия, приходим к заключению о том, что h - высота, опущенная из вершины параллелограмма элементарной ячейки на противоположное ей основание. И наоборот: любая высота, опущенная из любой вершины параллелограмма элементарной ячейки на противоположное ей основание, определенно соответствует расстоянию между парой параллельных и соседних линий решетки. Это становится более очевидно, если рассмотреть треугольник площади d/2, образованный базисными векторами { e 1 ' , e 2 ' } : расстояние h между любым множеством параллельных и соседних линий решетки - это высота такого треугольника, и наоборот.

[0005]

Теперь перефразируем это общее описание применительно к большим размерностям. Предположим, что дана решетка. Операционное определение множества базисных векторов решетки выглядит следующим образом. (1) Возьмем линию решетки, (2) выберем на ней узел решетки Q 0 ' , (3) зададим вектор e 1 ' , исходящий из Q 0 ' и направленный на L-1=1 соседнего к нему узла решетки на линии решетки, (4) возьмем параллельную и соседнюю линию решетки к первой, (5) возьмем любой узел решетки на ней (6) и наконец зададим вектор e 2 ' из Q 0 ' до этой точки. Множество { e 1 ' , e 2 ' } - это, в силу рассмотренных выше аргументов, множество линейно независимых базисных векторов решетки. Очевидно, что указанным образом может быть построено любое множество базисных векторов. Назовем треугольник, образованный любыми двумя базисными векторами { e 1 ' , e 2 ' } , 2-симплексом, пользуясь терминологией, принятой в геометрии. Если имеет место решетка G2(d,z), то любой 2-симплекс, образованный базисными векторами, имеет постоянную площадь d/2. При этом расстояние между любыми параллельными соседними линиями решетки - это высота, проведенная из некоторой вершины 2-симплекса, образованного некоторым множеством базисных векторов. И наоборот: высота, проведенная из любой вершины любого 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 с базисными векторами {е12}, образующими правильный треугольник или правильный 2-симплекс, именуется треугольной решеткой. Правильный 2-симплекс образуется двумя линейно независимыми векторами и характеризуется тем, что все 3 вершины - скажем, исходная точка и две точки с указанными радиус-векторами, дают 3 пары, в каждой из которых точки находятся на одинаковом расстоянии друг от друга. В некотором смысле, это представляет собой идеальную геометрическую конфигурацию узлов решетки, в которой занимают свои места последовательные 2-ки точек, образуемых однородными и независимыми случайными числами. Предположим снова, что λ2(d,z) - наибольшее расстояние между параллельными соседними линиями решетки в решетке G2(d,z). Заключение 1 доказывает строгое неравенство λ2(d,z)>Λ2(d). Здесь равенство никогда не может быть выполнено, так как базисные векторы {е12} решетки 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 базисных векторов {е12, , eL} GL(d,z) образуют L-мерный симплекс или L-симплекс. По аналогии с 2-мерным случаем, представим себе общее множество { e 1 ' , e 2 ' , , e L ' } базисных векторов для этой заданной GL(d,z) и назовем образованный ими параллелепипед элементарной ячейкой. Линии решетки теперь соответствует гиперплоскости решетки с размерностью L-1, которая содержит L-1 узлов решетки {Р12, , PL-1}, радиус-векторы которых, проведенные, скажем, из узла решетки Р0, являются линейно независимыми. Выражаясь в понятиях геометрии, можно сказать, что эта гиперплоскость решетки определяется включением L аффинно независимых точек {Р012, , PL-1}. Не составит труда задать операционное определение общего множества базисных векторов { e 1 ' , e 2 ' , , e L ' } . Возьмем (1) пару параллельных и соседних гиперплоскостей, возьмем (2) любое множество аффинно независимых узлов решетки { P 0 ' , P 1 ' , , P L 1 ' } на одной из гиперплоскостей решетки, с тем ограничением, что { P 1 ' , , P L 1 ' } - это ближайшие к P 0 ' узлы решетки на соединяющих их линиях, возьмем (3) любой узел решетки P L ' на другой параллельной гиперплоскости решетки и зададим (4) векторы { e 1 ' , e 2 ' , , e L ' } как радиус-векторы { P 1 ' , P 2 ' , , P L ' } , проведенные из начальной точки P 0 ' . При переносах вдоль каждого из этих векторов параллелепипед или элементарная ячейка, образованная { e 1 ' , e 2 ' , , e L ' } , заполняет гиперкуб Cd гиперобъема dL, который принимается в виде тора с периодом d в координатах, и начальная точка решетки P 0 ' проходит через все d узлов решетки в Cd. Элементарная ячейка имеет гиперобъем dL-1, который является определителем матрицы векторов { e 1 ' , e 2 ' , , e L ' } . Последние представляют собой базисные векторы решетки GL(d,z). Они образуют L-симплекс с L вершинами { P 0 ' , P 1 ' , , P L 1 ' } . В этом симплексе каждая вершина обращена к (L-1)-мерной гиперплоскости решетки, которая определяется включением других L-1 вершин. Хорошо известно, что любой L-симплекс, образованный L линейно независимыми векторами { e 1 ' , e 2 ' , , e L ' } с детерминантным объемом dL-1 имеет гиперобъем V=dL-1/L!. Это объясняется тем, что V линеен относительно этих векторов, так как радиус-вектор e j ' + e j ' ' вершины дает высоту, которая представляет собой сумму высот соответствующих векторов от гиперплоскости, противоположной вершине; а L-симплексы, образованные единичными векторами, направленными вдоль осей координат, имеют гиперобъем 1/L!. Так, в L-симплексе, образованном { e 1 ' , e 2 ' , , e L ' } , длина h перпендикуляра, опущенного из вершины на противоположную гиперплоскость с гиперплощадью S, определяет гиперобъем hS/L=dL-1/L! в виде конуса. Важным здесь является то, что гиперобъем L-симплекса одинаков для любого выбора базисных векторов, и в любом таком L-симплексе его произвольная вершина с высотой h, опущенной на противоположную гиперплоскость площади S, дает постоянное произведение hS. Таким образом, наибольшее расстояние между соседними параллельными гиперплоскостями решетки с размерностью L-1 задается высотой вершины относительно противолежащей гиперплоскости решетки с наименьшей гиперплощадью в некотором L-симплексе. Все постановки для описываемой 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, или, иначе говоря, {Р012, , PL} являются аффинно независимыми. Правильный L-симплекс с вершинами {Р012, ,PL} определяется тем условием, что любая пара вершин, общее количество которых равно (L+1)L/2, имеет одно и то же евклидово расстояние между вершинами. В рассматриваемой нами задаче L линейно независимых базисных векторов {е12, , eL} решетки могут использоваться для задания правильного L-симплекса согласно вышеуказанному определению - скажем, с точкой Р0, помещенной в начало координат О. С точки зрения спектральных тестов, правильный L-симплекс, очевидно, является идеальной конфигурацией для структурных элементов решетки GL(d,z). Забыв о том, что решетка составлена L-ками выходов генератора (d,z), мы начинаем с того, что допускаем, что правильный L-симплекс образовывается базовыми векторами следующей формы:

Константы а и b определяются согласно следующим двум ограничениям:

(1) Эти векторы охватывают своим определителем объем dL-1.

(2) Они образуют правильный L-симплекс.

В силу их формы векторы имеют одну и ту же евклидову длину e j ' 2 = ( L 1 ) a 2 + b 2 для любого j. Кроме того, скалярное произведение для i≠j, ( e i ' , e j ' ) = ( L 2 ) a 2 + 2 a b , не зависит от i и j, поэтому векторы, составляющие любую пару, образуют между собой один и тот же угол. Единичный вектор

дает скалярное произведение ( e 0 ' , e j ' ) = { ( L 1 ) a + b } / L 1 / 2 = : h для любого 1≤j≤L; здесь h - это расстояние от начала координат О до центроида гиперплоскости основания, содержащего точки с радиус-векторами { e 1 ' , e 2 ' , , e L ' } . Таким образом, высота ML(d) любой вершины относительно гиперплоскости противоположного ей основания в правильном L-симплексе, образованном этими базисными векторами, где определитель задает элементарной ячейке объем dL-1, задается ML(d)=h={(L-1)a+b}/L1/2=s/L1/2, s:=(L-1)a+b, что можно получить, определив предварительно а и b по (1) и (2). Прежде всего, вычислим объем, задаваемый определителем:

Вычитая 1-й столбец из всех остальных столбцов, получаем dL-1=s(b-a)L-1. Далее рассмотрим ограничение (2). Используя e i ' 2 = e j ' e k ' 2 для 1≤i,j,k≤L при j≠k, получаем

Представив 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) не является глобальным минимумом, некоторые решетки могут иметь значения ρ L ' ( d , z ) 1 . Если имеет место ρ L ' ( d , z ) 1 , это предполагает, что решетка GL(d,z) имеет конфигурацию, не вписывающуюся в так называемую локальную область притяжения минимума или ее геометрическая конфигурация не близка к правильному L-симплексу. Таким образом, будет правомерным полагать, что (d,z) является подходящим только в том случае, если 1 < ρ L ' ( d , z ) < R L выполняется для заданного RL. При этом следует отклонять такие (d,z), при которых ρ L ' ( d , z ) 1 , даже если ρ L ' ( d , z ) близко к единице снизу.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[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), показывают ρ L ' ( d , z ) : = λ L ( d , z ) / M L ( d ) для L≥3. Они также могут быть подтверждены преобразованием из строки с). Необходимо особо упомянуть Перечень 2С для множителя первообразных корней z=1226874159. Как уже отмечалось, оценка (d,z2) в строке с) является неудовлетворительной: этот множитель не подходит. Строка ML(d) также содержит ρ 6 ' ( d , z ) = 0.999179993 < 1 , что означает, что решетка G6(d,z) не вписывается в локальную область притяжения правильного 6-симплекса. Хотя само число очень близко к 1 снизу, этот множитель первообразных корней следует исключить как неподходящий и в этом тесте 6 степени, что подкрепляет заключение в отношении спектрального теста второй степени (d,z2).

[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 задаются векторами-строками {е12, , 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. Оценка ρ L ' ( d , z ) : = λ L ( d , z ) / M L ( d ) спектрального теста L-й степени для генератора (d,z) достигается выполнением следующих шагов.

(1) Получим вектор umin обратной решетки GL*(d,z), для чего проверяется каждый вектор и с декартовыми координатами u=(u1,u2, , uL), удовлетворяющий условию и находится такой из них, который имеет наименьшую метрику ||u||.

(2) Вычислим λL(d,z)=d/||umin||.

(3) Вычислим оценку ρ L ' ( d , z ) : = λ L ( d , z ) / M L ( d ) .

(4) Если 1 < ρ L ' ( d , z ) < R L выполняется для заданного уровня RL>1, то генератор (d,z) принимается как прошедший тест.

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) показана оценка ρ L ' ( d , z ) на основе значений для правильного L-симплекса, и наконец в строке с) показаны ρ2(d,zj) для j=2,3, , 6.

Похожие патенты RU2589405C1

название год авторы номер документа
СПОСОБ ГЕНЕРАЦИИ РАВНОМЕРНО РАСПРЕДЕЛЕННЫХ И НЕЗАВИСИМЫХ СЛУЧАЙНЫХ ЧИСЕЛ 2013
  • Накадзава Хироси
  • Накадзава Наоя
RU2583729C2
СПОСОБ ФОРМИРОВАНИЯ ДИАГРАММЫ НАПРАВЛЕННОСТИ АНТЕННЫ И УСТРОЙСТВО ДЛЯ ЕГО РЕАЛИЗАЦИИ 2001
  • Гармонов А.В.
  • Манелис В.Б.
  • Савинков А.Ю.
  • Каюков И.В.
  • Чан Бьюнгджин
  • Юун Сун Юнг
RU2232485C2
СПОСОБ И УСТРОЙСТВО ИЗМЕРЕНИЯ ЦВЕТА ОБЪЕКТА 2013
  • Эннебель Франк
RU2632577C1
СПОСОБ ШИФРОВАНИЯ 2009
  • Молдовян Николай Андреевич
RU2411666C1
Устройство разрешения многозначности фазовых измерений 1981
  • Неплохов Игорь Геннадьевич
SU993146A1
ОПТИЧЕСКИЙ ФРАКТАЛЬНО-МАТРИЧНЫЙ ФИЛЬТР И ПРИМЕНЕНИЕ ОПТИЧЕСКОГО ФРАКТАЛЬНО-МАТРИЧНОГО ФИЛЬТРА ДЛЯ ЗАЩИТЫ ГЛАЗ 2001
  • Серов И.Н.
RU2200968C2
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Молдовян Дмитрий Николаевич
  • Молдовян Николай Андреевич
RU2401513C2
Система автоматической оптимизации 1986
  • Мышляев Леонид Павлович
  • Фомин Николай Андреевич
  • Киселев Станислав Филиппович
  • Рыков Александр Семенович
  • Строков Иван Петрович
SU1310773A1
СПОСОБ ГЕНЕРАЦИИ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Молдовян Николай Андреевич
RU2392736C1
СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ 2008
  • Молдовян Александр Андреевич
  • Молдовян Дмитрий Николаевич
  • Молдовян Николай Андреевич
RU2382505C1

Иллюстрации к изобретению RU 2 589 405 C1

Реферат патента 2016 года СПОСОБ ПРОВЕДЕНИЯ СПЕКТРАЛЬНЫХ ТЕСТОВ МУЛЬТИПЛИКАТИВНОГО КОНГРУЭНТНОГО ГЕНЕРАТОРА СЛУЧАЙНЫХ ЧИСЕЛ

Изобретение относится к вычислительной технике и может быть использовано в устройствах, моделирующих случайные процессы. Техническим результатом является получение на компьютерах однородных и независимых случайных чисел. Способ проведения спектральных тестов мультипликативного конгруэнтного генератора (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 ил.

Формула изобретения RU 2 589 405 C1

Способ проведения спектральных тестов мультипликативного конгруэнтного генератора (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}.

Документы, цитированные в отчете о поиске Патент 2016 года RU2589405C1

JP 2012203898 A, 22.10.2012
US 8443021 B2, 14.05.2013
US5541996 A, 30.07.1996
RU 2008131612 A, 10.02.2010.

RU 2 589 405 C1

Авторы

Накадзава Хироси

Накадзава Наоя

Даты

2016-07-10Публикация

2014-12-12Подача