Научная статья на тему 'Вычисление дискрепанса конечного числа точек в n-мерном единичном Кубе'

Вычисление дискрепанса конечного числа точек в n-мерном единичном Кубе Текст научной статьи по специальности «Математика»

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

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

Приводится алгоритм вычисления дискрепанса конечного числа точек в двумерном и те-мерном единичном кубе [0,1)п. Алгоритм прост для программирования. При 2 ≤ те ≤ 4 время вычисления дискрепанса по алгоритму, предложенному автором, значительно меньше, чем у алгоритмов П. Бундшух и Я. Жу. При больших те выбор алгоритма зависит от количества проверяемых точек.

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

The algorithm of the discrepancy calculation for the finite number of points in the unit

This algorithm is simple for programming. For 2 ≤ те ≤ 4 the time of the discrepancy calculation by this algorithm is essentially lass than for the P. Bundschuh and Y. Zhu's algorithm. If n is larger then the choice of the quick algorithm depends of the number of points.

Текст научной работы на тему «Вычисление дискрепанса конечного числа точек в n-мерном единичном Кубе»

УДК 519.6 Вестник СПбГУ. Сер. 1, 2007, вып. 3

Т. М. Товстик

ВЫЧИСЛЕНИЕ ДИСКРЕПАНСА КОНЕЧНОГО ЧИСЛА ТОЧЕК В п-МЕРНОМ ЕДИНИЧНОМ КУБЕ*

1. Введение. При обращении к методам Монте-Карло часто возникает необходимость подсчета дискрепанса конечного числа точек, который служит мерой равномерности их распределения. Например, такая задача может возникнуть при проверке свойств псевдо- и квазислучайных последовательностей, при оценке погрешности вычисления интегралов и т.д. [1, 2].

В данной работе приводится алгоритм вычисления дискрепанса конечного числа точек в двумерном и п-мерном единичном кубе [0,1)”. Сравниваются некоторые свойства и время подсчета дискрепансов с помощью данного алгорита и алгоритмов, предложенных П. Бундшук и Я. Жу [3, 4]. При 2 < п < 4 время вычисления дискрепанса по алгоритму, предложенному автором, значительно меньше. При больших п выбор более быстродействующего алгоритма зависит от количества проверяемых точек.

Пусть п — размерность компонент ряда Х1,..., :

,(1)

>)^ є кп = [0,1)п, 3 =

N.

(1)

Равномерность ряда (1) проверяется дискрепансом

В

у,п = вир ХеКп

^1 — х(1) ^ • • • ^1 — х(п)^

1

N

3=1

(п)

••• X (х3 - х

(п)

. (2)

Здесь X —произвольная точка в К” (X = (х(1),..., х(п)) € К”). Такое выражение для дискрепанса впервые использовал Бергстром [5]. Однако ранее Колмогоров для проверки равномерности распределения одномерных случайных величин [6] вывел функцию распределения правой части (2).

Будем предполагать, что последовательность ранжирована по первой переменной

(3)

х11) < • • • < х((1)

^1 ^ xN .

Ранжируем остальные компоненты и обозначим их, соответственно

к = 2,..., п.

(к)* ^ ^ (к)* х1 < • • • < ху ,

(4)

Для общности записи будем использовать обозначение х^1)* = х31). При каждом к =

2,..., п и з = 1,..., N обозначим через пк (з) порядковый номер х^к)* в ряду (1).

Величина дискрепанса не изменится, если к ряду (1) добавить точки Хо = (0,..., 0) и Ху +1 = (1,..., 1), при этом Введем обозначение

(к)*

= 0, х^к+*1 = 1, к = 1, .. ., п.

V

N

х(1)*

31

х(п)* 3п ,

х(1)*

х3і + 1 •

х(п)*

3п+1

* Работа выполнена при финансовой поддержке РФФИ (грант №05-01-00865-а). © Т.М.Товстик, 2007

3

тогда дискрепанс можно вычислить по формуле

DN,n = S(ji, j2, • • • , jn; )• (6)

c1<jk <N

1 < k<n

Здесь vj1 ... jn/N — величина выборочной функции распределения в n-мерном кубике,

/ (1)* (n)*\

минимальная и максимальная координаты которого, соответственно (xji , • • •, xjn ),

(xj1+*i, • • •, xjn+*i). Заметим, что при вычислении дискрепанса по формуле (6), не обязательно подсчитывать функцию S во всех перечисленных точках.

Укажем алгоритм выбора нужных точек сначала в двухмерном, а затем n-мерном случае.

2. Двухмерный случай. При n = 2 обозначим выборку

(х^ш),^ (xN ,VN), x1 <•••< xN, (7)

ранжируем ряд вторых компонент

y* <•••< yN, (8)

и пусть при каждом j = 1, • • • N, n2(j) —номер y* в ряду (7). Соотношение (6) примет вид

Dn,2 = max S(i,j,; ), (9)

1<i,j<N

S(i, j; v) = max(v/N - xjyj, xi+iyj+i - v/N)• (10)

Укажем, при каких i и j нужно вычислять S(i, j; v) и как найти v^

Пусть ¿2 = max(x1, y*) При каждом j (j = 1, • • •, N) счетчик v суммирует число выполнений неравенств

П2 (i) < j (11)

при изменении i от 1 до N, а счетчик ц — число выполнений обратных неравенств между соседними скачками v, т. е. изменениями v на единицу. Если при данном j и очередном i выполнено неравенство (11), то величина v увеличивается на единицу и вычисляются si = S(i,j; v), ¿2 = max(d2,si). Если в этот момент ^ > 1, то вычисляются также S2 = S(i — 1,j; v — 1), ¿2 = max(d2,S2). Указанные операции выполняются при всех j = 1, • • •, N и i = 1, • • •, N, и после их завершения получаем дискрепанс Dn,2 = Благодаря использованию счетчика ^ удается сократить число операций.

3. Общий случай. Пусть размерность компонент Xj равна n и пусть nk(j) —номер xjk) * в ряду (1). Полагаем dn = max(xi1 ), • • •, xin )). Для любого набора j2, • • •, jn

(1 < j2 , • • • , jn < N) счетчик v при изменении j1 от единицы до N накапливает число одновременно выполненных неравенств

П2 (j 1) < j2, Пз(ji) < j3, • • • П2(j 1) < jn• (12)

Между каждыми двумя последовательными выполнениями неравенств (12) счетчик ^ суммирует число последовательных проверок, в которых не выполнены эти неравенства. Если при очередном j1 неравенства (12) справедливы, то к счетчику v добавляется единица и с этим v вычисляется si = S(ji, j2, • • •, jn; v) и dn = max(dn, si). Если в

этот момент ^ > 1, то находим в2 = S(31 — 1,32, • • •, 3п; V — 1) и ¿п = шах(^„, в2). При завершении вычислений по всем переменным величина ¿п будет равна дискрепансу:

DN,n = ^п-

4. Примеры. Для сравнения алгоритмов фиксировалось время вычисления дис-крепансов при размерностях вектора п, 2 < п < 5 и различных объемах выборки N. (Разумеется, время счета зависит от быстродействия РС, поэтому имеет смысл лишь отношение приводимых ниже величин. В таблице приведено время в секундах для машины, используемой автором.) Программы были написаны на языке ЕОКТИ,АМ-4. Алгоритмы [3, 4] и автора для дискрепанса дают одинаковый результат. Время, относящееся к алгоритмам автора и [3, 4], будем обозначать, соответственно, tN,n и TN,n. В таблице приведены величины дискрепансов для рядов Холтона [1, 7] при п = 2, 3 и Варнока [1, 8] при п = 4, 5. Ряды Холтона и Варнока размерности п моделировались на основе первых п из следующих простых чисел 13, 17, 19, 3, 11.

Таблица

п N ,71 ТМ,п ,71 п N ,71 ТМ ,п ,71

2 500 0.15 5.7 0.0262 3 100 0.37 1.1 0.1300

2 1000 0.57 43 0.0160 3 200 2.85 17.6 0.0881

2 3000 8 1140 0.0067 3 500 38 960 0.0390

2 4000 13 2520 0.0053 3 2000 2400 - 0.0131

4 100 28 28 0.0852 5 50 75 15 0.1629

4 150 120 191 0.0689 5 100 2460 490 0.1078

4 200 200 1110 0.0539 5 150 15900 5340 0.0783

Как видно из таблицы при 2 < п < 4 подсчет дискрепанса по алгоритму, описанному в данной статье занимает меньше времени, чем по алгоритмам [3, 4] при всех N и, чем больше N, тем эта разница существеннее. При п = 5, наоборот, tN,5 > т^б-

Обсудим результаты, полученные при численных экспериментах. Рассмотрим отношение роста времен tN,5 и т^б в зависимости от параметров N и п.

При п = 5, N0 = 50 и N = ^-N0 = 100 из таблицы имеем приближенные соотношения (которые справедливы и при других п):

tN,n ~ tNo,n • кп, TN,n ~ TN0,n • кп. (13)

При увеличении N время для алгоритмов [3, 4] растет быстрее, чем заложено в формуле (13), а для алгоритма автора, наоборот. А именно, Т1бо,б ~ 1.5 • 35 тбо,б, ^50,5 ~ 0.9 • 35 тбо,5 •

Если выбирать алгоритм, основываясь на минимизации времени счета, то можно найти N0 такое, что при N < N0 следует использовать алгоритм [4], а при N > N0 — алгоритм, предлагаемый нами.

Описанный алгоритм прост для программирования и требует дополнительно п — 1 массив целых чисел размерности N + 2, а для алгоритмов [3, 4] нужно дополнительно п(п — 1)/2 массивов реальных чисел размерности N + 2.

T. M. Tovstik. The algorithm of the discrepancy calculation for the finite number of points in the unit n-dimensional cube [0,1)n is given.

This algorithm is simple for programming. For 2 < n < 4 the time of the discrepancy calculation by this algorithm is essentially lass than for the P. Bundschuh and Y. Zhu’s algorithm. If n is larger then the choice of the quick algorithm depends of the number of points.

Литература

1. Товстик Т. М. Сравнение некоторых статистических свойств квази-случайных и псевдослучайных чисел // Вестн. С.-Петерб. ун-та. Сер. 1. 2006. Вып. 1. С. 62-70.

2. Niederreiter H. Random number generation and quasi-Monte-Carlo methods // Soc. Indust. and Appl. Math. Philadelphia (Pennsylvania), 1992. 243 p.

3. Bundschuh P., Zhu Y. The formulas of exact calculation of the disgrepancyof low-dimensinal finite point sets (I) // Chinese Sci. Bul. 1993. Vol. 38. N15. P. 1318-1319.

4. Bundschuh P., Zhu Y. The formulas of exact calculation of the disgrepancyof low-dimensinal finite point sets (II) // Chinese Sci. Bul. 1995. Vol. 40. N7. P. 610-612.

5. Bergstrom V. Einige Bemerkunger zur theorie der diophantischen approximationen // Fysiogr. Salsk. Lund. Forh. 6. 1936. N13. P. 1-19.

6. Kolmogoroff A. N. Sulla determinazione empirica di una legge di distribuzione // G. Ist. ital. attuar. 1933. Vol. 4. N1. P. 83-91.

7. Halton J. H. On the efficiency of certain quasi-random sequences of points in evaluating multidimensional integrals // Numer. Math. 1960. Vol. 2. P. 84-90.

8. Warnock T. Effective error estlmates for quasi-Monte-Carlo computations // Int. Conf. on Monte Carlo and Quasi-Monte-Carlo Methods. 1998. Claremont. CA.

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

Статья поступила в редакцию 15 марта 2007 г.

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