Previous Page  20 / 25 Next Page
Information
Show Menu
Previous Page 20 / 25 Next Page
Page Background

Генератор равномерных случайных величин по технологии полного вихревого массива

ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2017. № 2

105

for (int n = 0; n < nwN; n++)

{ int z = CT.Next();

cX[z]++; // счетчик случайной величины

}

int count16 = 0; // количество 16-тикратных величин

for (int i = 0; i < CT.N; i++)

if (cX[i] == 16) count16++; // 16-тикратные

Console.WriteLine("count16 = {0} ", count16);

Console.ReadKey(); // просмотр результата

}

}

}

После выполнения программы на мониторе появляется следующий резуль-

тат:

w = 16 N = 65566 nwN = 1048576

count16 = 65536

Задача тестирования завершена, хотя исследование вихревого генератора

требует специальных ресурсов, таких как мощные процессоры, дополнительная

оперативная память, устройства внешней памяти и др. Однако принципы ве-

рификации остаются прежними.

Заключение.

Первоначально авторы настоящей работы исходили из того

факта, что конгруэнтный способ генерации случайных величин не может дать

равномерное распределение для всех конгруэнтных констант и начальных значе-

ний по линейной конгруэнтной функции

(

)

1

.

i

i

x

ax c mod m

+

= +

Однако результат

может получиться равномерным, если рассматривать полные последовательности

со случайными величинами в количестве

N

=

m

.

В этом случае последовательно-

сти становятся полными с равномерным однократным распределением генериру-

емых случайных величин. Ради увеличения скорости вычислений операцию моду-

ля

mod

на полных последовательностях можно заменить на битовую конъюнкцию

& с маской, содержащей

2

log

w N

=

битовых единиц. Вводя кольцевой перенос

старшей битовой единицы при реализации левого глобального вихря, удалось по-

лучить

w N

уникальных последовательностей, содержащих

N

неповторяющихся

однократно равномерных случайных величин. При этом экспериментально с по-

мощью матричной диагностики было выявлено, что всевозможное сочетание пар

конгруэнтных констант

a

и

c

учитывает всевозможное задание исходных началь-

ных величин

x

0

. Эти фундаментальные свойства позволили перейти к реализации

настройки вихревых генераторов, указывая диапазоны конгруэнтных констант.

Максимальный диапазон констант на полных последовательностях обеспечивает

максимально возможную по количеству генерацию вихревых последовательно-

стей и вихревых случайных величин. Приведенная конструкция вихревого генера-

тора на основе исходного конгруэнтного массива обеспечивает равномерность

создаваемых полных последовательностей случайных величин. Это может быть

достаточно полезно для многих приложений, и в первую очередь для задач в таких

областях, как информационные технологии, криптография, инженерное проекти-

рование, биология, медицина и др.