Box-Muller inverse transform and its application

The inverse Box-Muller transform, which allows you to transform a random sequence of Gaussian type into the corresponding sequence with a uniform distribution law. A two-stage scheme for testing statistically independent random variables using π-Test

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык английский
Дата добавления 07.11.2018
Размер файла 618,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru//

Размещено на http://www.allbest.ru//

Box-Muller inverse transform and its application

Suchilin Vladimir Aleksandrovich

Аннотация

В статье рассматривается обратное преобразование Бокса-Мюллера, которое позволяет трансформировать случайную последовательность гауссова типа в соответствующую последовательность с равномерным законом распределения. Показано, что такое преобразование является однозначным и может быть использовано для проверки качества генераторов псевдослучайных последовательностей любого типа. В связи с этим предложена двухэтапная схема тестирования статистически независимых случайных величин, в которой используется, так называемый, р-Тест. В заключение, приводятся результаты компьютерного моделирования, подтверждающие эффективность предложенного подхода.

INVERSE BOX-MULLER TRANSFORM AND ITS APPLICATION

Soutchilin Vladimir inverse muller transform testing

Transoffice-Information GbR

PhD, Chief Technology, Filderstadt (Germany)

Abstract

This article focuses on the Inverse Box-Muller Transform which allows the conversion of Gaussian type pseudo-random number sequence into adequate sequence with the uniform distribution. It is shown that this transform is unique and can be used for the quality check of the random number generators of any type. In this regard, a two-stage scheme for testing statistically independent random variable has been proposed, in which the so-called р-Test is used. In conclusion, results of computer simulations are given, which confirm the effectiveness of the approach proposed.

Keywords: Box-Muller transform, Monte Carlo methods, random sequence, test

Introduction

To date, a pseudo-random number generator (PRNG) is considered indispensable for any modern software package [1]. However, the standard software functions in use generating pseudo-random numbers (PRN) differs among themselves in regard to the quality that may exercise unpredictable effects on the results of statistical calculations [2]. From this point of view, the quality of a PRNG plays an important role [3]. In this article, for the purpose of evaluation of PRNG quality, a new two-stage PRNG test procedure is presented, the core of which is the Inverse Box-Muller Transform (BMT) [4]. Below the Direct BMT is described and on the basis of this description the Inverse BMT is formulated.

Direct Box-Muller Transform

For the transition from the Gaussian type PRN to the PRN with the uniform distribution mainly use the well-known Direct BMT, that can be presented as follows [4]:

u =  (1)

v = 

where

x и y - two statistically independent random variable distributed uniformly on  interval (0,1) u и v - two statistically independent random variable distributed normally with average and variance equal to 0 and 1 accordinglyThe standard use of the Direct BMT in the form (1) allows obtaining PRNG with a normal distribution on the basis of an eventually ideal PRNG with the uniform distribution.

As a matter of fact, the PRNGs used in software do not provide the perfect uniform distribution. That is due to the methods of PRN generating and limitations of the decimal places of the variable used by calculations in the course of statistical calculations.

Inverse Box-Muller Transform

Opposing to the formulation given above, an approach may be considered where conversion of the PRN with the normal distribution leads to the adequate PRN with the uniform distribution. As will be shown below, due to such inverse transform, a quality check of the Gaussian type PRNG can be reduced to the evaluation of the quality of the PRNG with the uniform distribution.

The Inverse BMT can be derived immediately from the expression (1). To do this, at first one should divide the second entity in (1) by the first one, as a result of which we obtain:

v/u =  (2)

On the other hand, after squaring and subsequent addition of the both entity in (1), follows:

u2+v2 = - 2 ln y (3)

Finally, on the basis of equalities (2) and (3), the Inverse BMT can be formulated as follows:

x = / 2р (4)

y = e-s

where 

p = v/u 

s = (u2+v2)/2

u и v - two statistically independent random variable distributed normally with average and variance equal to 0 and 1 accordinglyx и y - two statistically independent random variable distributed uniformly oninterval (0,1)Inverse BMT is unique, and its superposition with Direct BMT leads to an identity. The formal proving of this statement is beyond the scope of this article, but its validity was confirmed through computer simulation with the modules shown in the following tables. Below, there is also the original function GetNormRandNumber (not given here) that allows obtaining the Gaussian type PRN.

Table 1. Program “Superposition of Direct & Inverse BMT”

`Main programmtextwindow.Write(” Box-Muller Transform Example “)

textwindow.Read()

textwindow.Write(“-----------------------------”)

textwindow.Read()

textwindow.Write(” Initial Random number “)

textwindow.Write(“Direct Transform “)

textwindow.Write(“Inverse Transform “)

textwindow.Read()

textwindow.Write(“-----------------------------”)

textwindow.Read()

For i=1To N_Sample

`Direct Transform

DirBoxMuller()

`Invers Transform

InvBoxMuller()

textwindow.Write(“”+x1)

textwindow.Write(” “+u)

textwindow.Write(” “+x2)

textwindow.Read()

textwindow.Write(“”+y1)

textwindow.Write(” “+v)

textwindow.Write(” “+y2)

textwindow.Read()

EndFor

`End of programm

Table 2. Module “Direct BMT”

Sub DirBoxMuller x1=Math.GetRandomNumber(z)/z

y1=Math.GetRandomNumber(z)/z

u=Math.Cos(2*Math.pi*x)*Math.SquareRoot(-2*Math.NaturalLog(y))

v=Math.Sin(2*Math.pi*x)*Math.SquareRoot(-2*Math.NaturalLog(y))

EndSub

Table 3. Module “Inverse BMT”

Sub InvBoxMullerGetNormRandNumber()

u=NormValue

GetNormRandNumber()

v=NormValue

x2=Math.ArcTan(v/u)/(2*Math.pi)

y2=Math.Power(exp,-(u*u +v*v/2)

EndSub

Table 4. The screenshot “Superposition of Direct & Inverse Box-Muller”.

In the screenshot above, it is easy to see that the consistent use of the Direct and Inverse BMTs leads to the initial PRN. Thus, it shows that the superposition of the both transforms is unique and leads to identity.

Application of the Inverse Box-Muller Transform

In regard to the representation above, the procedure for the quality evaluation of PRNG can be implemented in the form of a two-stage procedure in which the PRN with the uniform distribution will be formed by means of Inverse BMT, and then the р-Test is applied [5].

Generally, to check the effectiveness of the described approach the Central Limit Theorem Probability can be used [6]. According to this theorem, a PRN which elements defined as the average of the original set of statistically independent random variable has the Gaussian distribution. The program generating the Gaussian type PRN on the basis of the N-set mentioned above is presented below.

Table 5. Module “Gaussian type PRNG”

Sub GetNormRandNumber Smp=0

For si=1To N

RndLCM()

Smp=Smp+RandValue

EndFor

NormValue=Smp/N

EndSub

Note, a special function RndLCM is applied above, namely one on the basis of Linear Congruential Method (LCM), which provides a smart PRN with statistically independent variable [5]. The distribution density curves calculated in such way for some values N are represented below.

Fig. 1 Distribution density diagrams for sampled values N on the basis of the Central Limit Theorem Probability.

The diagram below shows results of computer simulation of the proposed two-stage test procedure to the quality evaluation of the Gaussian type PRNG by N = 6 vs. results for two other (reference) PRNGs with uniform distribution.

Fig. 2 PRNGs quality diagram.

The curves in the Fig. 2 represent the dynamics of the 23 sequential test sessions.

The legend of the Fig. 2 is as follows:

GRN - immediate р-Test of the PRNG with the use of function GetRandomNumber

TRF - two-stage procedure with the use of Central Limit Theorem Probability on the

first step and Inverse BMT on the second

LCM - immediate р-Test of the PRNG based on the Linear Congruential Method

PI - the value of р ( 3.14159…)

Discussion

The blue curve

in the Fig. 2 corresponds to the р-Test by the standard function GetRandomNumber with uniform distribution [7], while the second diagram (red curve) was calculated by means of the two-stage procedure described above. It should be emphasized that hereby a comparatively “simple” generator on the basis of the Central Limit Theorem Probability was applied. At the same time, it is easy to see that the use of GetRandomNumber leads to the worst indices.

It is all the more remarkable that in this case the two-stage testing procedure using Inverse BMT has a fairly smart match with the “LCM” curve that is meanwhile the best of all and practically provide the approximation of the number р with the same accuracy. However, this of course does not preclude the use of the standard statistical testing methods for quality check of PRNGs and can be a good complement to them.

Conclusion

The Inverse Box-Muller transform was considered, which allows the transition from Gaussian type PRN to the adequate PRN with uniform distribution. A procedure for testing a Gaussian type PRNG is proposed by which after applying of the described Inverse BMT the quality of the PRNG with the uniform distribution (by means of р-Test) can be evaluated. The results of computer simulations confirm the effectiveness of the proposed approach. In addition, the described testing procedure is suitable for the testing of PRNGs of any type, since it uses just a random sequence with statistically independent variable. But the latter can belong to any PRNG and thus can be reduced to the Gaussian type sequence on the basis of the Central Limit Theorem Probability.

Размещено на Allbest.ru

...

Подобные документы

  • Основные способы создания в Adobe Photoshop трехмерных объектов. Использование стороннего фильтра 3D Transform. Трансформация выделенной области или слоя. Шаги создания логотип 3D. Векторные инструменты Photoshop. Инструмент создания многоугольников.

    дипломная работа [394,2 K], добавлен 25.04.2011

  • Произвольные кривые. Узлы кривой. Создание кривых Безье. Возможные применения инструмента Безье. Редактирование фигур и кривых. Инструменты Knife (нож), Erase (ластик) и Free Transform (свободное преобразование).

    реферат [38,4 K], добавлен 21.12.2003

  • Структурне проектування: data flow та entity-relation diagram. Об’єктно-орієнтоване проектування: use case, class, statechart, activity та sequence diagram. Верифікація та консолідація даних. Реалізація інформаційної системи для рекламного агентства.

    курсовая работа [3,4 M], добавлен 25.12.2013

  • Оперативна пам'ять як один з найважливіших елементів комп'ютера. Історія, розвиток та принцип функціонування пам'яті з довільним доступом (RAM - Random Access Memory). Будова, принцип організації, функціонування. Аналіз процесорів MMX, їх продуктивність.

    курсовая работа [176,6 K], добавлен 31.10.2014

  • Виды и внешние устройство системных блоков. Вывод звукового сигнала на акустическую систему. Оперативная память (Random Access Memory - память с произвольным доступом). Системная плата компьютера. Дисководы для работы со сменными носителями информации.

    презентация [1,8 M], добавлен 20.09.2013

  • Проектирование схемы реляционной базы данных торговой компании. Создание диаграмм последовательности (Sequence Diagram) и кооперативных диаграмм (Collaboration diagram). Автоматическая генерация кода нескольких компонентов средствами Rational Rose.

    курсовая работа [2,0 M], добавлен 26.06.2015

  • Составление программы для нахождения минимального и максимального элементов массива. Программа вычисления корней квадратных алгебраических уравнений. Ранжирование одномерного массива по заданному признаку. Формирование массивов с помощью функции random.

    контрольная работа [1,0 M], добавлен 30.04.2013

  • Розрахунок формуючого фільтра, ітераційна коригування його параметрів. Моделювання СП методом формуючого фільтра (ФФ2),), якщо базовим генератором є блок Band Limited White Noise, Random Number. Моделювання та аналіз частотних характеристик ФФ1 і ФФ2.

    курсовая работа [461,9 K], добавлен 08.04.2013

  • Central Processing Unit. Controls timing of all computer operations. Types of adapter card. Provides quick access to data. Uses devices like printer. Random Access Memory. Directs and coordinates operations in computer. Control the speed of the operation.

    презентация [3,5 M], добавлен 04.05.2012

  • Написaние прoграммы, выполняющей трансляцию с языка программирования Пaскaль нa язык прoгрaммирoвaния Си и транслирующей конструкции, такие кaк integer, repeat … until Le, procedure, type, record для type. Обработка арифметических и логических выражений.

    курсовая работа [314,3 K], добавлен 03.07.2011

  • Формализованное описание закона Pearson Type V. Характеристика методов получения выборки с распределением Pearson Type V. Исследование временных рядов с шумом заданным Rayleigh. Экспериментальное исследование средней трудоемкости Pirson Type V и Rayleigh.

    курсовая работа [4,5 M], добавлен 20.06.2010

  • Моделювання стохастичних процесів методом формуючого фільтра, якщо базовим генератором є блок Band Limited White Noise. Коригування параметрів формуючого фільтра. Моделювання СП методом формуючого фільтра, якщо базовим генератором є блок Random Number.

    курсовая работа [2,9 M], добавлен 26.09.2012

  • Аналіз програмного забезпечення для проведення тестування в комп’ютерному класі. УТК (Універсальний тестовий комплекс). Асистент 2. OPEN TEST. Порівняння програм для тестування. Організація інтерактивного тестування за допомогою програми OPEN TEST.

    реферат [30,3 K], добавлен 19.09.2008

  • Программа обработки одномерного массива средствами Visual Basic for Application (VBA) на предмет преобразования, печати, удаления, сортировки, поиска сумм, положительных, чётных элементов, их кратности и дополнения другими элементами и значениями данных.

    контрольная работа [12,3 K], добавлен 07.10.2012

  • Theoretical aspects of the application digital education resources in teaching computer science according to the capabilities of electronic programs. Capabilities of tools Microsoft Office and Macromedia Flash. Application of the program Microsoft Excel.

    контрольная работа [1,5 M], добавлен 07.07.2013

  • Visual Basic for Application. Объекты и коллекции. Использование VBA в среде Access. Основы современной технологии проектирования АИС. Автоматизированное проектированиеCASE-технологий. Реинжиниринг бизнес-процессов и проектирование корпоративной ИС.

    курсовая работа [2,1 M], добавлен 22.02.2008

  • Правила создания и особенности работы с приложением Windows Application. Рассмотрение структуры панели Properties и ее функционального назначения. Возможности пункта меню "View". Практическая разработка приложения - калькулятора для сложения двух чисел.

    лабораторная работа [99,1 K], добавлен 01.12.2011

  • Краткая история и основные цели создания Wireless Application Protocol (WAP) — беспроводного протокола передачи данных. Особенности работы WAP-броузеров. Адресация беспроводной сети. Поддержка протоколов Internet при использовании IP соединений.

    реферат [623,3 K], добавлен 11.04.2013

  • Характеристика системы программирования Visual Basic For Application. Автоматизация подписки на газеты и журналы, а так же их учёт. Связь между сходными документами, Базой данных и выходными документами. Встроенные объекты MS Access, методы и свойства.

    курсовая работа [350,8 K], добавлен 22.09.2012

  • Характеристика мови програмування VBA (Visual Basic for Application): можливості й засоби. Використання редактора Visual Basic. Створення та виконання VBA-програм. Типи даних, змінні й константи, операції й вирази. Керуючі оператори, процедури й функції.

    реферат [29,9 K], добавлен 28.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.