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.2013Central 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.2012Theoretical 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.2013Visual 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