СУЧАСНІ МЕТОДИ СТВОРЕННЯ ГЕНЕРАТОРІВ РІВНОМІРНО...
Post on 25-Mar-2016
225 Views
Preview:
DESCRIPTION
TRANSCRIPT
Серія прикладна математика, випуск 6 (15), 2009
Й.В. Джунь, О.О. Валецький, 2009 С. XX–XX
УДК 517.51:519.622.1:681.142.2
Джунь Й.В., Валецький О.О.
СУЧАСНІ МЕТОДИ СТВОРЕННЯ ГЕНЕРАТОРІВ РІВНОМІРНО
РОЗПОДІЛЕНИХ ВИПАДКОВИХ ЧИСЕЛ
В роботі висвітлена класифікація існуючих методів створення послідов-
ностей рівномірно розподілених випадкових чисел і їх застосування. Та-
кож значна увага приділена невідомій раніше властивості числа π – вико-
ристання його як генератора рівномірно розподілених випадкових чисел.
В роботі розглянуті методи обчислення трансцендентного числа π ,
статистичні критерії для аналізу результатів , і перевірка найбільш ві-
домих таблиць випадкових чисел.
Вступ. Рівномірно розподіленими випадковими цифрами є такі , що
отримані в результаті повторного незалежного відбору із сукупності
0,1,2,…,9 з імовірністю вибору будь-якої цифри , що дорівнює 1/10 .
Така схема еквівалентна розміщенню 10 кульок , пронумерованих циф-
рами від 0 до 9 , в скриньку , і витяганню з неї кожен раз одної із кульок
з наступним поверненням їх назад після кожного відбору . Отримана
множина чисел і утворює групу рівномірно розподілених випадкових
цифр .
Існує дуже багато таблиць рівномірно розподілених випадкових
чисел , наприклад – таблиці Пірсона-Хартлі [5] , Абрамовіца-Стіган [2].
Але не завжди використання цих таблиць є зручним . Тому користувачі
ЕОМ створювали ці числа детермінованим чином .
Числа створені таким чином називаються псевдовипадковими .
Якість псевдовипадкових чисел визначається їх перевіркою за допомо-
гою статистичних критеріїв . Мета перевірки - виявлення властивостей
псевдовипадкових чисел , відмінних від властивостей випадкових чисел.
Метою нашого дослідження був розгляд існуючих методів отри-
мання псевдовипадкових чисел.
Волинський математичний вісник
4
Сучасні методи генерації випадкових чисел. Спочатку розглянемо
найбільш поширені методи обчислення випадкових чисел . Багатолітня
практика показала , що для утворення псевдовипадкових чисел в ЕОМ
найбільш зручним є конгруентний метод . Суть його полягає в наступ-
ному : нехай { xn } , де n=0,1,2,… - послідовність псевдовипадкових
чисел . Конгруентний метод створення псевдовипадкових чисел визна-
чається відношенням
Xn+1 = a Xn + b (mod T) (1)
де b i T – взаємно прості числа .
Нагадаємо , що взаємно простими є цілі числа , які не мають загальних
дільників . Наприклад , пара 8,9 , або пара 5,7 . Вибір Т визначається
можливостями ПК і прийнятою системою числення ; a i b вибирають з
урахуванням таких умов : отримана послідовність { xn } мусить мати
бажані статистичні властивості випадкових чисел ; період послідовності
повинен бути по можливості найбільш довгим.
Тепер розглянемо яким чином вибирають параметри моделі (1) .
По-перше , величини a і b потрібно вибирати таким чином , щоб кореля-
ція між ними наближалась до нуля . Кореляція між числами xn і xn+s в
послідовності
Xn+s = as xn + bs (mod T) (2)
може бути виражена наступним чином :
s
ss
sa
T
b
T
b
p
161
(3)
де as=as(mod T) ,bs=(1+a+a
2+…+a
n-1) b (mod T) ,
T
as .
Коли a T , кореляція T
p1
1 .
Послідовність , створена мультиплікативним конгруентним мето-
дом , буде мати повний період T чисел , якщо 1) b і T взаємно прості ; 2)
Серія прикладна математика, випуск 6 (15), 2009
5
a=1 (mod p) , якщо p є простим множником T ; 3) a=1 (mod φ) , якщо φ є
множником Т .
Отже , якщо Т=2q , то b має бути непарним і a=1 (mod φ) .
Якщо Т=10q , то b не повинно ділитися ні на 2 , ні на 5 і a=1 (mod
20). Найбільш зручно прийняти 10s+1=a ( для ЕОМ з десятковою сис-
темою числення ) , або 2s+1=a ( для машин з двійковою системою чис-
лення ) .
З точки зору швидкості утворення випадкових чисел названа схе-
ма вимагає лише операцію зсуву і дві операції додавання . Для утворен-
ня послідовності випадкових чисел в якості початкової точки можна
взяти будь-яке число .
Зробимо невеликий огляд різноманітних конгруентних схем і їх
властивості .
В табл.1 ми подаємо сучасні конгруентні схеми утворення випад-
кових чисел ( Xn+1 = a Xn + b (mod T) , Т і а взаємно прості ).
Таблиця 1
№
п
/
п
a b T Період X0 Випадки , в яких
отримані числа ,
перевірені за
допомогою стати-
стичних критеріїв
1 1+t2 н
е
п
а
р.
T=tq tq Tx 00
Т=235 , х0=0 , а=27
+ 1 , b=1
Т=247 , а=29 + 1 ,
b=2974109625847
х0=762939453125
2 2sr
1
r-непар.
2s
0 T=tq tq-s Взаємно просте
з Т
Т=240 , 243 ,х0=1,
а=517 (s=2)
Т=235 , х0=1
Т=239 , х0=1-2-39
Волинський математичний вісник
6
а=513 (s=2) ,
Т=235, х0=1 , а=516
(s=2)
3
- // -
T=1035 +1 ,
х0=10,987,654,321
a=23 , період 106
T=108 +1 ,
х0=47,594,118,321
a=23 , період
5,8106 106
4 74s + 1 T=1010 , х0=1, а=7
T=1011 , х0=1,
а=713
Розглянуті методи є поширеними і зрозумілими і , так би мовити ,
«традиційними» [3]. Таким чином , як показав проведений нами аналіз ,
названі схеми генераторів рівномірно розподілених випадкових чисел є
досить простими , штучними , навіть дещо примітивними, і завжди ви-
магають детальної перевірки в кожному конкретному випадку .
Необхідні відомості про число π . Одним із перспективних на-
прямків створення генераторів рівномірно росподілених випадкових
чисел є використання з цією метою трансцендентних чисел з певними
властивостями. Одним з таких чисел є стала π , саме таємниче трансцен-
дентне число - відношення довжини кола до його радіусу . Достеменно
відомо , що воно є нескінченним – вчені знайшли алгоритм (так званий
spigot algorithm , без використання попередніх цифр) знаходження дові-
льної двійкової цифри в запису числа – так звана «BBP-type formulae»,
розроблена у 1995 році Девідом Х. Бейлі, Пітером Боруейном и Саймо-
ном Плуффом [4]. Закордонними вченими на надпотужних обчислюва-
льних комплексах було обчислено більше 1 трільйона знаків після коми
числа π . Вивченням його властивостей займались такі видатні вчені , як
Лейбніц і Ейлер (намагались віднайти коректні і точні формули для
Серія прикладна математика, випуск 6 (15), 2009
7
знаходження значення), Ламберт і Лежандр (довели ірраціональність
числа) , Ліндеман і Клейн (довели трансцендентність) . Англійський
математик Август де Морган назвав π «загадковим числом , яке вламу-
ється до нас звідусіль» , адже воно використовується у багатьох задачах,
які відношення до кола не мають . «Загадковому числу π» присвячено
чимало наукових праць , окрім згаданих вище науковців , багато мате-
матиків , починаючи з Архімеда і закінчуючи роботами сучасних вче-
них. Тому , здавалось би , про π відомо все . Але недарма в числі π «схо-
ваний весь світ» ...
Нами була здійснена спроба дослідження можливостей викорис-
тання трансцендентних чисел як генераторів рівномірно розподілених
випадкових чисел . Звісно , в першу чергу увага була приділена саме
«загадковому числу π» . Для такого дослідження необхідно обчислювати
число π з дуже великою кількістю цифр після коми , тому спочатку роз-
глянемо основні оцінки і методи обчислення числа π .
Оцінки числа π в різні часи :
3 (древні вавилоняни , 3-2 тис. р. до н.е.)
8
13 (римський архітектор Вітрувій , 1 ст. до н.е.)
7
22 (видатний давньогрецький математик , механік , інженер
Архімед, 3 ст. до н.е.),
120
377 (індійський мислитель і астроном Арьябхати, 5 ст. до н.е.)
113
355 (давньокитайський астроному Цзу Чунчжи).
Волинський математичний вісник
8
Методи обчислення числа π. Метод Монте-Карло . Досить простий і
легкий в реалізації метод. Суть його полягає в наступному : розглянемо
довільний квадрат з центром на початку координат і вписаний в нього
круг. Розглядатимемо тільки першу координатну чверть. У ній будемо
випадковим чином вибирати точки , і рахувати, скільки потрапили в
четверть круга (мал.1) . Завдяки теорії вірогідності ми знаємо, що від-
ношення попадань в чверть круга до попадань поза ним рівне відношен-
ню площ - π/4. Це , власне, і весь алгоритм. Чим більше узятих навмання
точок ми перевіримо, тим точніше буде відношення площ , а , відповід-
но , і значення числа π .
Недоліки цього методу полягають в його невисокій ефективності
(для знаходження тільки перших цифр після коми числа π потрібна зна-
чна кількість ітерацій) та у тому , що при реалізації алгоритму на деякій
мові програмування використовується вбудований генератор випадко-
вих чисел .
Низьку ефективність даного методу доводять результати обчис-
лень тестовою програмою – 10 000 000 ітерацій головного циклу про-
грами знаходять лише 3 цифри після коми числа π.
Ряд Лейбніца. Ряд Лейбніца – це знакозмінний ряд , який має
наступний вигляд :
...2
11...
9
1
7
1
5
1
3
11
4
nn
або такий ( після множення лівої та правої частин на 4 ) :
...
2
11...
9
1
7
1
5
1
3
114
nn
Ефективність даного методу дещо вища – 100 000 ітерацій голов-
ного циклу програми знаходять 4 цифри після коми числа π.
Серія прикладна математика, випуск 6 (15), 2009
9
Обчислення за формулами. Відомі наступні формули для обчис-
лення числа π :
3
1
2
1
4arctgarctg
- ф-ла Хаттона (Hutton) №1 ; (1)
7
1
2
12
4arctgarctg
- ф-ла Хаттона №2 ; (2)
239
1
5
14
4arctgarctg
- ф-ла Мечіна (Machin); (3)
239
15
57
18
18
112
4arctgarctgarctg
- ф-ла Гауса (Gauß); (4)
12943
124
682
112
239
17
57
144
4arctgarctgarctgarctg
-
ф-ла Стормера (Størmer) . (5)
Якщо врахувати , що для кожної формули arctg(x) можна вирази-
ти через степеневий ряд наступного вигляду :
...12
)1(...753
)(12
1753
n
xxxxxxarctg
nn
, (6)
то ми побачимо досить реальний шлях обчислення числа π за вказаними
формулами . Слід зазначити , що ряд (6) був відкритий шотландським
математиком Джеймсом Грегорі (Gregory ) в 1670 році і є узагальненням
ряду Лейбніца (перетворюється в нього при х=1). Що цікаво , сам вина-
хідник тоді не помітив, що даний ряд має відношення до числа π.
Проаналізуємо ефективність формул за допомогою міри Лехмера
( Lehmer’s Measure ) , яка являє собою суму величин , обернених до де-
сяткових логарифмів з основою , яка рівна знаменнику арктангенса у
формулі . Наприклад, з формулою Мечіна (3) :
Волинський математичний вісник
10
852,1239lg
1
5lg
1E .
Враховуємо той факт , що чим менше значення даної міри , тим
більше формула ефективна.
Таблиця 2
Формула Хаттона
№1
Хаттона
№2
Мечіна Гауса Стормера
Міра Лех-
мера
5,418 3,280 1,852 1,786 1,586
З табл. 2 видно , що найефективнішою є формула Стормера (5).
Її ми і використали в наших дослідженнях . По наведеному вище алго-
ритму була написана програма для обчислення значення числа з довіль-
ною точністю [5],[6],[7],[8],[9].
В табл.3 ви маєте змогу побачити результати обчислення та ро-
зподілу цифр числа π , обчисленого відповідно до n1=1000 , n2=5000 ,
n3=10000 , n4=50000 , n5=100000 , n6=500000 знаків після коми .
Таблиця 3 Ц
И
Ф
Р
И
n=1000 n=5000 n=10000 n=50000 n=100000 n=500000
in τ
in Τ
in τ
in τ
in τ
in τ
0 93 0,49 466 2,31 968 1,02 5032 0,20 10000 0,00 50166 0,55
1 116 2,56 532 2,05 1026 0,68 5055 0,60 10138 1,90 49938 0,08
2 103 0,09 495 0,05 1021 0,44 4868 3,48 9908 0,85 49920 0,13
3 102 0,04 459 3,36 975 0,62 4947 0,56 10025 0,06 49882 0,28
4 94 0,36 507 0,10 1012 0,14 5011 0,02 9969 0,10 49754 1,21
5 97 0,09 526 1,35 1045 2,02 5052 0,54 10026 0,07 50362 2,62
6 95 0,25 514 0,39 1023 0,53 5017 0,06 10028 0,08 49899 0,20
7 95 0,25 487 0,34 969 0,96 4978 0,10 10026 0,07 50084 0,14
8 100 0,00 492 0,13 947 2,81 5030 0,18 9978 0,05 49903 0,19
9 105 0,25 522 0,97 1014 0,20 5010 0,02 9902 0,96 50092 0,17
χ2 4,38 11,05 9,43 5,78 4,13 5,57
Серія прикладна математика, випуск 6 (15), 2009
11
Примітка : τ=
10
10
2
n
nni
Через ni позначені емпіричні частоти , через ni’ – теоретичні .
Значення статистики φ2 обчислено за формулою :
χ2 =
'
)'( 2
i
is
n
nn
Підсумкова табл.4 дає імовірність того , що вказані вибірки об-
сягом n1 , n2 , n3 , n4 , n5 є вибірками із рівномірно розподіленої генера-
льної сукупності . При цьому критичну точку для критерію χ2 ми виби-
рали із таблиць при умові χ2= χ
2кр.
Число ступенів вільності χ2
кр. r=10-3=7.
Таблиця 4
№
перевірки
nj χ2
Pj
1 1000 4,38 73,3
2 5000 11,05 13,9
3 10000 9,43 22,5
4 50000 5,78 56,3
5 100000 4,13 76,8
6 500000 5,57 58,7
Волинський математичний вісник
12
Отже , ми бачимо , що при даному визначенні середня імовір-
ність %25.502 x
P
Врахуємо те , що аналогічним способом було здійснено переві-
рку існуючих таблиць рівномірно розподілених випадкових чисел , в
результаті яких було отримано наступне :
1) Пірсона – Хартлі [1]: χ2 = 12.12 ; Pj = 9.6942 .
2) Абрамовіца – Стіган [2] : χ2 = 7,06 ; Pj = 40.7174 .
Висновок. Отримані нами імовірності досить високі , якщо ви-
ходити з того факту, що аналогічні імовірності, знайдені для нормально-
го розподілу становлять в середньому 3-10% і в той же час нормальний
розподіл має всезагальне застосування як теоретичний розподіл похибок
спостережень . Тому ми маємо всі обґрунтування істинності твердження
про можливість використання трансцендентних чисел, а саме числа π як
генератора випадкових чисел.
Таким чином , можна вважати , що відкрита нова , невідома досі
властивість числа π , а саме : підтверджено факт , що це число є ідеаль-
ним генератором рівномірно розподілених випадкових чисел , набагато
кращим , ніж всесвітньо відомі таблиці Пірсона – Хартлі [1] чи таблиці
Абрамовіца – Стіган [2] .
Витрачено дуже багато зусиль на створення штучних генерато-
рів випадкових чисел , написано тисячі наукових статей , сотні книг ,
захищено сотні дисертацій . Як виявляється , цих речей можна було б не
робити , якби вчасно була відома знайдена нами особливість числа π .
Серія прикладна математика, випуск 6 (15), 2009
13
1. 1.Большев Л.Н. , Смирнов Н.В. Таблицы математической статистики //
М.: ВЦ АН СССР , 1968 , с. 206 .
2. Abramovitz Ed. M. and Stegun I. Handbook of Mathematical Functions //
National Bureau of Standarts applied mathematics Series-55 . Issued June
1964 – 832 p.
3. Hull T.E. , Dobell A.R. Random number generators // Soc. Ind. Appl. Math ,
1962 , №4 , p. 230-254.
4. Bailey D.H. and Crandall, R.E.Random Generators and Normal Numbers //
Expert Math.11, 527-546, 2002.
5. Корера А., Фрейзер С., Маклин С. и др. Visual Studio .NET . Пособие для
разработчиков С++ // М. : Лори, 2003.
6. Тойстернсон П., Оберг Р. Архитектура .NET и программирование на
Visual C++ // М./СПб/К. : Вильямс, 2002.
7. Либерти Дж. Программирование на C# (O’Reilly – Second Edition) // М.:
Символ-Плюс.
8. Рихтер Дж. Программирование на платформе .NET Framework (изд.
второе, дополненное) // М. : Русская редакція, 2003.
9. Microsoft Developer Network Library for Microsoft Visual Studio
(http://msdn.microsft.com).
Джунь Й.В., Валецкий О.О. СОВРЕМЕННЫЕ МЕТОДЫ СОЗДАНИЯ
ГЕНЕРАТОРОВ РАВНОМЕРНО РАСПРЕДЕЛЕННХ СЛУЧАЙНЫХ ЧИСЕЛ //
В работе отражена классификация существующих методов создания последо-
вательностей равномерно распределенных случайных чисел и их применение.
Также значительное внимание обращено на неизвестное ранее свойство числа
π - использование его как генератора равномерно распределенных случайных
чисел. В работе рассмотрены методы вычисления трансцендентного числа π,
статистические критерии для анализа результатов, и проверка наиболее
известных таблиц случайных чисел.
Dzhun Y.V., Valetsky O.O. MODERN METHODS FOR CREATION OF
GENERATORS OF EQUIDISTRIBUTED RANDOM DIGITS // It is in-process
reflected classification of existent methods of creation of sequences of equipartition
random numbers and their application. Also much attention is devoted to unknown
property of number of π – its use as generator of equipartition random numbers. In-
process there are considered methods of calculation of π, and statistical criteria for
the analysis of results, and verification of the most known tables of random numbers.
top related