Научная статья на тему 'Генерация равномерно распределенных последовательнос-тей в компьютерном стохастическом эксперименте по методу Монте-Карло'

Генерация равномерно распределенных последовательнос-тей в компьютерном стохастическом эксперименте по методу Монте-Карло Текст научной статьи по специальности «Математика»

CC BY
44
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЛАНИРОВАНИЕ ЭКСПЕРИМЕНТА / МЕТОД МОНТЕ-КАРЛО / ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / ПСЕВДОСЛУЧАЙНАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ / РАВНОМЕРНО РАСПРЕДЕЛЕННАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ / ЛПτ ПОСЛЕДОВАТЕЛЬНОСТЬ

Аннотация научной статьи по математике, автор научной работы — Гурьянов А. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Генерация равномерно распределенных последовательнос-тей в компьютерном стохастическом эксперименте по методу Монте-Карло»

УДК 519.24 А. В. Гурьянов

ГЕНЕРАЦИЯ РАВНОМЕРНО РАСПРЕДЕЛЕННЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ В КОМПЬЮТЕРНОМ СТОХАСТИЧЕСКОМ ЭКСПЕРИМЕНТЕ ПО МЕТОДУ МОНТЕ-КАРЛО

UNIFORMLY DISTRIBUTED SEQUENCES GENERATION IN MONTE CARLO STOCHASTIC COMPUTER SIMULATION EXPERIMENT

Ивановский государственный университет, кафедра вычислительной и прикладной математики 153025 Иваново, ул. Ермака, д. 39

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

Computer simulation becomes very importent in liquid crystals and self-organized systems study. Some questions of uniformly distributed LPt sequences usage in computer and full-scale Monte Carlo experiments are discussed below.

Ключевые слова: планирование эксперимента, метод Монте-Карло, имитационное моделирование, псевдослучайная последовательность, равномерно распределенная последовательность, ЛПТ последовательность.

Keywords: experiment planning, Monte Carlo method, computer simulation, pseudorandom sequence, uniform distributed sequence, LPt sequence.

Автоматизированная обработка информации получила широкое распространение во многих сферах научно-исследовательской и практической деятельности, начиная от обработки экспериментальных данных и заканчивая комплексными системами автоматизации научных исследований. В основу таких систем обычно закладываются компьютерные модели исследуемых процессов и явлений, которые и служат предметом вычислительного эксперимента. Модели, используемые в структурном анализе, в большинстве своем носят стохастический характер и основаны на методе Монте-Карло, точность и достоверность результатов которого существенно зависит от качества программы-генератора псевдослучайных числовых последовательностей. Рассмотрим некоторые аспекты применения методик планирования эксперимента в имитационном моделировании с целью повышения качества и достоверности его результатов. Очевидно, что имитационное моделирование следует отнести к количественному эксперименту. С этой точки зрения главное достоинство имитационных моделей состоит в том, что все факторы моделируемой системы являются контролируемыми и управляемыми. С другой стороны, очевидна высокая ресурсоемкость компьютерного моделирования сто-

© Гурьянов А. В., 2009

хастических систем (нехватка оперативной памяти, длительное время счета), что часто приводит к «огрублению» модели и, естественно - к снижению достоверности и точности результатов моделирования. В этом случае необходимо использовать методику активного эксперимента, которая достаточно эффективна в многофакторных моделях, например при подборе оптимального состава смеси из нескольких компонентов. Эта методика предусматривает контроль погрешности на всех этапах эксперимента и позволяет построить многомерное линейное регрессионное уравнение для отклика системы с заданной точностью, а при итерационном повторении процедуры - найти оптимальное значение отклика. Рассмотрим некоторые аспекты применения этой методики к стохастической имитационной модели в n-мерном случае.

Пусть состояние системы Е зависит от набора из я факторов (вектора) XeRn, и характеризуется откликом Y=Y(X), YeR. Будем считать, что факторы определены (имеют смысл) в некоторой ограниченной области факторного пространства Xe WcRn. Под поверхностью отклика системы Е будем понимать множество точек Y = Y (X,Y(X)) Œ Rn+1, Xe W.

Область W представляет собой и-мерный параллелепипед, то есть для факторов должны быть определены минимальные и максимальные допустимые значения. Затем производится нормирование значений факторов, с тем, чтобы они принадлежали отрезку [-1, 1], таким образом, область W приобретает вид я-мерного куба со стороной в две единицы и центром в начале координат. Эксперимент проводится со значениями параметров, соответствующими вершинам этого куба. В каждой вершине эксперимент повторяется несколько раз для обеспечения статистической достоверности его результатов. Затем по полученным данным строится многомерное линейное уравнение регрессии. Таким образом, общее количество испытаний составит 2nk, где k - количество повторов эксперимента, определяемое по классической методике. Кроме того, ресурсоем-кость стохастического эксперимента существенно возрастает из-за необходимости заполнения некоторой области факторного пространства точками в соответствии с выбранным законом распределения. Основой для получения любых псевдослучайных последовательностей в компьютерном моделировании является генератор равномерно распределенных псевдослучайных чисел. Отдельный вопрос - определение длины последовательности псевдослучайных чисел, достаточной для обеспечения заданной точности результата. Из самых общих соображений можно сказать, что для того, чтобы погрешность моделирования в методе Монте-Карло не превышала некоторого e > 0, необходимо сгенерировать m > 1/e псевдослучайных чисел. (Заметим, что в [1] приводится еще более жесткая оценка: m > 1/e2.) То есть, для обеспечения хотя бы двух верных цифр в мантиссе, необходимо не менее 100 чисел в последовательности. В случае нескольких факторов случайные последовательности для каждого из них независимы. Следовательно, общее количество обращений к генератору случайных чисел должно превышать 1/£. Например, для обеспечения двух верных цифр в мантиссе при пяти случайных факторах необходимо более 1010 обращений к генератору псевдослучайных чисел.

Очевидно, что резко снизить затраты вычислительных ресурсов при моделировании возможно только изменив саму методику проведения стохастического эксперимента. Одним из подходов к решению этой проблемы является применение в методе Монте-Карло так называемых «ЛПт последовательностей», использование которых позволяет равномерно заполнить я-мерный параллелепипед 2к точками, где k - необходимое количество верных знаков в двоичной мантиссе [1]. Следует особо отметить, что

число точек в этом случае зависит только от необходимой точности решения и не зависит от количества учитываемых в модели факторов. Например, для обеспечения не менее двух верных знаков в десятичной мантиссе необходимо всего 27 = 128 точек при любой размерности модели. Еще одним преимуществом этого подхода является ослабление требований к форме области W : достаточно, чтобы ее можно было заключить в параллелепипед. Последовательность генерируется внутри этого параллелепипеда, а затем точки, не принадлежащие W , исключаются из дальнейшей обработки [1]. Боле того, результатам такого эксперимента является поверхность отклика системы Y, которую можно подвергнуть дальнейшему анализу по любой классической методике, а не только линейному регрессионному анализу.

К сожалению, методика генерации ЛПт последовательностей основана на применении «таблицы числителей», разработанной для устаревших ЭВМ М-20 [1, 2], которая ограничивает факторное пространство 51 измерением, а период последовательности - 220, что снижает максимально достижимую точность примерно до 10-4. В рамках НИР и НИРС, проведенных в ИвГУ, удалось адаптировать данную таблицу к возможностям современной вычислительной техники и систем программирования. В частности, период последовательности удалось увеличить до 264, что обеспечивает максимально возможную для современных персональных компьютеров точность вычислений порядка 10-19. Кроме того, был обнаружен и устранен ряд неточностей в исходной таблице, опубликованной в [1]. Также был проведен сравнительный вычислительный эксперимент по решению двух наиболее типичных для метода Монте-Карло задач - вычислению многомерного объема (кратного определенного интеграла) и поиску экстремума функции многих переменных (оптимального состава смеси). В обоих случаях генератор ЛПт последовательностей оказался предпочтительнее традиционного «датчика псевдослучайных чисел», что позволило сделать вывод о целесообразности дальнейших исследований в этой области.

В настоящее время построена 128-битовая «таблица числителей» для компьютеров с процессором AMD64, что обеспечивает период последовательности равный 2128 и теоретическую точность порядка 10-38, достижимую только при использовании формата вещественных чисел с разрядностью мантиссы не менее 128 бит. Разработка программ ведется на языке FORTRAN 2003 с использованием 64-битовой версии компилятора GCC версии 4.3.2 [4] в IDE Eclipse [5]. В таблице приведены первые двенадцать столбцов числителей в десятичной системе счисления и последний (128-й) - в шестнадцатеричной системе счисления. Эти данные позволяют построить ЛПт последовательность с периодом 4096 в факторном пространстве с размерностью до 51, что вполне достаточно для планирования и обработки результатов «натурного» эксперимента (например, по подбору оптимального состава смеси). В имитационном компьютерном эксперименте должно использоваться k > log2N столбцов таблицы, где N - необходимое для моделирования число точек. Генерация последовательности по таблице числителей может быть выполнена программой, опубликованной в [1] или по алгоритму, описанному в [2]. В таблице также приведены в шестнадцатеричной системе счисления коды моно-циклических операторов в поле GF(2) с операцией сложения по модулю 2 [1, 2], которые использованы при генерации строк таблицы. Первая цифра кода - порядок оператора, остальные, после перевода их в двоичную систему счисления, задают коэффициенты моноциклического полинома соответствующего порядка. Следует отметить, что такое сопоставление кодов полиномов и соответствующих им строк таблицы в [1, 2] не приводится.

Фрагмент 128-битовой таблицы числителей

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

Код 1 2 3 4 5 6 7 8 9 10 11 12 128(Нех)

0000 1 1 1 1 1 1 1 1 1 1 1 1 00000000000000000000000000000001

1003 1 3 5 15 17 51 85 255 257 771 1285 3855 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

2007 1 1 7 11 13 61 67 79 465 721 823 4091 4F00FFFF00000000FFFFFFFFFFFFFFFF

300D 1 3 7 5 7 43 49 147 439 1013 727 987 С30500000000С3050000000050050093

300В 1 1 5 3 15 51 125 141 177 759 267 1839 42F300000000BD0CFFFFFFFF300CFF8D

4019 1 3 1 1 9 59 25 89 321 835 833 4033 59000000999999999999999999999999

4013 1 1 3 7 31 47 109 173 181 949 471 2515 AD00000021210000DD00DD0011111111

5029 1 3 3 9 9 57 43 43 225 113 1601 579 9000038531A76318C6319F300900002B

5037 1 3 7 13 3 35 89 9 235 929 1341 3863 D000028700A46B5AD6B54C3C5851B509

503D 1 1 5 11 27 53 69 25 103 615 913 977 B000080FF7A4EF7BDEF7640A73D10019

502F 1 3 5 1 15 19 113 115 411 157 1725 3463 10000184213755110000D0321A332173

503В 1 1 7 3 29 51 47 97 233 39 2021 2909 30000CC1636100000000B5D0028C6361

5025 1 3 7 7 21 61 55 19 59 761 1905 3379 7000070000570D070000B0300A330013

6061 1 1 1 9 23 37 97 97 353 169 375 1349 40014575514500000000000035500061

6043 1 3 3 5 19 33 3 197 329 983 893 3739 C0090005090035C8C78971C7C875D795

606D 1 1 3 13 11 7 37 101 463 657 1599 347 40025049В2СВ40025049В2СВ09В09В65

605В 1 1 7 13 25 5 83 255 385 647 415 387 400EDF7DF7DF7DF7DF7DF7DF900EDF2F

6073 1 3 5 11 7 11 103 29 111 581 605 2881 C00700DD07008C4255F85555B95145AD

6067 1 1 1 3 13 39 27 203 475 505 819 2821 4002210000009C0351FB00007E4670FB

70С1 1 3 1 15 17 63 13 65 451 833 975 1873 8103000F000000000000000000003003

7083 1 1 5 5 1 27 33 195 263 139 915 1959 815C4976C00F0089EFCE7972CB97142D

7091 1 3 3 3 25 17 115 177 19 147 1715 1929 81000003000000В10000000000007103

7089 1 1 3 15 29 15 41 105 249 203 1223 2389 805076153468D157930B0000000072C1

70F1 1 3 1 7 3 23 79 17 275 81 1367 3251 818D8FFE27170011000000000000FD03

708F 1 3 7 9 31 29 17 47 369 337 663 1149 817CF9F9000000117CF9F3E7CF9FD17F

70В9 1 1 5 13 11 3 29 169 393 829 629 243 80715550A142858A657D000000002A41

709D 1 3 1 9 5 21 119 109 167 989 525 3609 81AD500AD038BB5D3EDBB7190000BBD3

70Е5 1 1 3 1 23 13 75 149 333 375 469 1131 80ADA7031AE6F7ECC0D0056B000022B1

70А7 1 3 3 11 27 31 73 15 473 365 981 1701 8113910000000076FC4EBF7EFDFBA0AF

70D5 1 1 7 7 19 25 105 213 469 131 1667 143 81009005400900E93113078F0000EDF1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

70АВ 1 3 5 5 21 9 7 135 101 215 1587 1339 81C1EDD42733DD7E05D006FC6EDDEE07

70FD 1 1 1 15 5 49 59 253 21 733 1251 3497 80DC3A7E74E10054D32A72A90000E4D1

70BF 1 1 1 1 1 33 65 191 451 451 451 2499 81FD0006EFDFBF7EFDFBF7EFDFBF2EFD

70D3 1 3 5 15 17 19 21 155 229 447 481 1571 81F0393D07FEA323C0EA3BFBD1A303BF

70СВ 1 1 7 11 13 29 3 175 247 177 721 983 81C71A1AD87100FCB5000D0F50A14CB5

70F7 1 3 7 5 7 11 113 63 297 57 483 4021 81FF75006AD5AB63BFDFB56AD5AB67EF

70EF 1 1 5 3 15 19 61 47 403 471 1209 1625 802F0DFFC2CF00907EFDFBF7EFDFDC7D

8171 1 3 1 1 9 27 89 7 497 979 1457 3217 85E7EEE78CF70000F7F7F7F7F7F7F7F7

811D 1 1 3 7 31 15 45 23 61 197 415 1163 0FDCD3A38D5384A34FDC5700A3A3A3A3

81А9 1 3 3 9 9 25 107 39 361 251 1435 2977 3DDB69106684688F9AC08F8F8F8F8F8F

812В 1 3 7 13 3 3 25 55 215 517 725 3391 B289734D00000000D50D1000CE34FDFD

8169 1 1 5 11 27 21 5 71 393 137 861 675 0304787F0304787FC6407F7F7F7F7F7F

812D 1 3 5 1 15 51 49 87 125 567 41 3093 14434343434343439700970043434343

8165 1 1 7 3 29 19 111 103 285 1021 1619 1495 DD07A6FB9777570050FC57008B8B8B8B

814D 1 3 7 7 21 29 119 119 501 167 1579 3443 794FA4300F5BAC6BD224B7006B6B6B6B

81F5 1 1 1 9 23 5 33 135 277 877 1701 557 56E7E5D03437170013D41700E3E3E3E3

815F 1 3 3 5 19 1 67 153 199 929 869 675 41630D00C90000000A2C0D00085C1313

818D 1 1 3 13 11 39 101 169 301 269 1151 1489 77D151101110D4EDDA3CE900EDEDEDED

8163 1 1 7 13 25 37 19 185 19 327 1897 2303 DE30123F563F3F3F39EC2D0037DC3F3F

81С3 1 3 5 11 7 43 39 201 83 997 1679 3925 4894C7C78194C7C75F4319108194C7C7

8187 1 1 1 3 13 7 91 217 351 91 1355 3705 61D4DD50F3F3F3F3FB9083F3EE14F3F3

Это косвенно свидетельствует о том, что кроме теоретического обоснования свойств ЛПт последовательностей и алгоритмов их построения авторы руководствовались и другими критериями, которые не были опубликованы. Особенно острой является проблема выбора «направляющих чисел» моноциклических операторов, которые задают начальные точки последовательности. В частности, авторы при построении таблиц не следуют собственной рекомендации использовать в качестве направляющих чисел $ [1,2]. Хотя этот факт никак не влияет на практическую ценность ЛПт последовательностей для компьютерного имитационного моделирования, он серьезно затрудняет дальнейшие теоретические разработки в этом направлении. Особый интерес представляет разработка алгоритма генерации равномерно распределенных ЛПт последовательностей точек в

Еп

для произвольного п и с периодом, ограниченным только разрядностью целочисленной арифметики компьютера. В [1] отмечается, что если ЛПт последовательность построена в Яп , то ее проекция в К1'1 тоже является ЛПт последовательностью. Тем не менее, авторы [1, 2] не ставят перед собой задачу построения и-мерной пространственной структуры, из которой можно было бы получить ЛПт последовательности меньшей размерности.

Исходя из самых общих соображений, можно сказать, что подобная структура должна обладать свойством самоподобия, то есть должна быть фракталом. Известны фракталы-дендриты, основанные на позиционных системах счисления [3]. Следует отметить, что единственный моноциклический оператор первого порядка (табл.) генерирует последовательность числителей, которую можно получить из широко известного «треугольника Паскаля» по модулю 2. В результате получается числовой фрактал, визуально подобный геометрическому фракталу, известному как «треугольник Сер-пинского» [3]. Таким образом, задачу генерации и-мерной равномерно распределенной последовательности можно свести к построению и-мерного числового фрактала с последующим вычислением его проекций.

Список литературы

1. Соболь И. М., Статников Р. Б. Выбор оптимальных параметров в задачах со многими критериями. М.: Наука, 1981. 108 с.

2. Соболь И. М. Многомерные квадратурные формулы и функции Хаара. М.: Наука,

1969. 288 с.

3. Морозов А. Д. Введение в теорию фракталов. М.: Институт компьютерных исследований, 2002. 160 с.

4. http://gcc.gnu.org/

5. http://www.eclipse.org/

Поступила в редакцию 7.11.2008 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.