stringtranslate.com

Последовательность Соболя

256 баллов из первых 256 баллов для последовательности Соболя 2,3 (вверху) по сравнению с источником псевдослучайных чисел (внизу). Собольская последовательность покрывает пространство более равномерно. (красный=1,..,10, синий=11,..,100, зеленый=101,..,256)

Последовательности Соболя (также называемые последовательностями LP τ или последовательностями ( ts ) в базе 2) являются примером квазислучайных последовательностей с низким расхождением . Впервые они были введены российским математиком Ильей Соболь (Илья Меерович Соболь) в 1967 году. [1]

Эти последовательности используют базу из двух для последовательного формирования более мелких однородных разделов единичного интервала, а затем переупорядочивают координаты в каждом измерении.

Хорошие распределения в s -мерном единичном гиперкубе

Пусть I s = [0,1] ss -мерный единичный гиперкуб, а f — вещественная интегрируемая функция над I s . Первоначальной мотивацией Соболя было построить последовательность x n в I s так, чтобы

и сходимость должна быть максимально быстрой.

Более или менее понятно, что для того, чтобы сумма сходилась к интегралу, точки x n должны заполнять I s, минимизируя дыры. Еще одним хорошим свойством было бы то, что проекции x n на грани I s меньшей размерности также оставляют очень мало дыр. Следовательно, однородное заполнение I s не соответствует требованиям, поскольку в более низких измерениях многие точки будут находиться в одном и том же месте, поэтому бесполезны для интегральной оценки.

Эти хорошие распределения называются ( t , m , s )-сетями и ( t , s )-последовательностями в базе b . Чтобы ввести их, определим сначала элементарный s -интервал по базе b - подмножество I s вида

где a j и d j — неотрицательные целые числа и для всех j из {1,...,s}.

Учитывая 2 целых числа , a ( t , m , s )-сеть в базе b — это последовательность x n из b m точек I s такая, что для всех элементарных интервалов P в базе b гиперобъема λ ( P ) = b t−m .

Учитывая неотрицательное целое число t , ( t , s )-последовательность в базе b представляет собой бесконечную последовательность точек x n такую, что для всех целых чисел последовательность является ( t , m , s )-сетью в базе b .

В своей статье Соболь описал Π τ -сетки и LP τ последовательности , которые являются ( t , m , s )-сетями и ( t , s )-последовательностями в базе 2 соответственно. Термины ( t , m , s )-сети и ( t , s )-последовательности в базе b (также называемые последовательностями Нидеррайтера) были придуманы в 1988 году Харальдом Нидеррайтером . [2] Термин «последовательности Соболя» был введен в поздних англоязычных статьях по сравнению с последовательностями Холтона , Фора и другими последовательностями с низким расхождением.

Быстрый алгоритм

Более эффективная реализация кода Грея была предложена Антоновым и Салеевым. [3]

Что касается генерации чисел Соболя, то им явно помогает использование кода Грея вместо n для построения n -й точки.

Предположим, мы уже сгенерировали все отрисовки последовательности Соболя до n  − 1 и сохранили в памяти значения x n −1, j для всех необходимых размерностей. Поскольку код Грея G ( n ) отличается от кода предыдущего G ( n  − 1) всего на один, скажем, k -й бит (который является крайним правым нулевым битом n  − 1), все, что необходимо Необходимо выполнить одну операцию XOR для каждого измерения, чтобы распространить все x n −1 на x n , т.е.

Дополнительные свойства однородности

Соболь ввел дополнительные условия однородности, известные как свойства А и А'. [4]

Определение
Говорят, что последовательность с малым расхождением удовлетворяет свойству А , если для любого двоичного сегмента (не произвольного подмножества) d -мерной последовательности длины 2 d существует ровно одна ничья в каждых 2 d гиперкубах, возникающих в результате разделения единичного гиперкуба вдоль каждая из его длин увеличивается вдвое.
Определение
Говорят, что последовательность с низким расхождением удовлетворяет свойству A' , если для любого двоичного сегмента (не произвольного подмножества) d -мерной последовательности длины 4 d существует ровно один рисунок в каждых 4 d гиперкубах, возникающих в результате разделения единичного гиперкуба. вдоль каждого из его продолжений на четыре равные части.

Существуют математические условия, гарантирующие свойства А и А'.

Теорема
d - мерная последовательность Соболя обладает свойством A тогда и только тогда, когда
где V d — двоичная матрица размера d  ×  d , определяемая формулой
где v k , j , m обозначает m -ю цифру после двоичной точки номера направления v k , j = (0. v k , j ,1 v k , j ,2 ...) 2 .
Теорема
d - мерная последовательность Соболя обладает свойством А' тогда и только тогда, когда
где U d — двоичная матрица размером 2 d  × 2 d , определяемая формулой
где v k , j , m обозначает m -ю цифру после двоичной точки номера направления v k , j = (0. v k , j ,1 v k , j ,2 ...) 2 .

Критерии свойств A и A' независимы. Таким образом, можно построить последовательность Соболя, удовлетворяющую обоим свойствам А и А' или только одному из них.

Инициализация чисел Соболя

Для построения последовательности Соболя необходимо выбрать набор номеров направлений vi , j . Имеется некоторая свобода в выборе начальных номеров направлений. [примечание 1] Следовательно, можно получить разные реализации последовательности Соболя для выбранных измерений. Неправильный выбор начальных чисел может значительно снизить эффективность использования последовательностей Соболя для вычислений.

Вероятно, самый простой выбор номеров инициализации — это просто установить l -й крайний левый бит, а все остальные биты равны нулю, т. е. m k , j = 1 для всех k и j . Эту инициализацию обычно называют инициализацией устройства . Однако такая последовательность не проходит тест на свойства A и A' даже для малых размерностей, и, следовательно, эта инициализация плоха.

Реализация и доступность

Хорошие числа инициализации для разного количества измерений предоставлены несколькими авторами. Например, Соболь предоставляет номера инициализации для размерностей до 51. [5] Тот же набор номеров инициализации используется Брэтли и Фоксом. [6]

Номера инициализации для больших измерений доступны у Джо и Куо. [7] Петер Йеккель приводит числа инициализации до размерности 32 в своей книге « Методы Монте-Карло в финансах ». [8]

Другие реализации доступны в виде подпрограмм C, Fortran 77 или Fortran 90 в коллекции программного обеспечения Numerical Recipes . [9] Бесплатная реализация с открытым исходным кодом , имеющая до 1111 измерений, основанная на числах инициализации Джо и Куо, доступна в C, [10] и до 21201 измерений в Python [11] [12] и Julia . [13] Другая бесплатная реализация с открытым исходным кодом, поддерживающая до 1111 измерений, доступна для C++ , Fortran 90 , Matlab и Python . [14]

Коммерческие генераторы последовательностей Соболя доступны, например, в библиотеке NAG . [15] ООО «БРОДА» [16] [17] предоставляет генераторы Соболя и скремблированных последовательностей Соболя с дополнительными свойствами однородности A и A' до максимальной размерности 131072. Эти генераторы были разработаны совместно с профессором И. Соболь. MATLAB [18] содержит генераторы последовательностей Соболя до размерности 1111 как часть своего набора инструментов статистики.

Смотрите также

Примечания

  1. ^ Эти числа обычно называются номерами инициализации .

Рекомендации

  1. ^ Соболь, И.М. (1967), "Распределение точек в кубе и приближенное вычисление интегралов". Ж. Выч. Мат. Мат. Физ. 7 : 784–802 (на русском языке); СССР Компьютер. Математика. Математика. Физ. 7 : 86–112 (на английском языке).
  2. ^ Нидеррайтер, Х. (1988). «Последовательности с низким расхождением и низкой дисперсией», Журнал теории чисел 30 : 51–70.
  3. ^ Антонов И.А. и Салеев В.М. (1979) «Экономический метод вычисления LP τ -последовательностей». Ж. Выч. Мат. Мат. Физ. 19 : 243–245 (на русском языке); СССР Компьютер. Математика. Математика. Физ. 19 : 252–256 (на английском языке).
  4. ^ Соболь, И. М. (1976) "Равномерно распределенные последовательности с дополнительным свойством однородности". Ж. Выч. Мат. Мат. Физ. 16 : 1332–1337 (на русском языке); СССР Компьютер. Математика. Математика. Физ. 16 : 236–242 (на английском языке).
  5. ^ Соболь И.М. и Левитан Ю.Л. (1976). «Производство точек, равномерно распределенных в многомерном кубе» Тех. Отчет 40, Институт прикладной математики АН СССР .
  6. ^ Брэтли, П. и Фокс, Б.Л. (1988), «Алгоритм 659: реализация генератора квазислучайных последовательностей Соболя». АКМ Транс. Математика. Программное обеспечение 14 : 88–100.
  7. ^ "Генератор последовательностей Соболь" . Университет Нового Южного Уэльса . 16 сентября 2010 г. Проверено 20 декабря 2013 г.
  8. ^ Якель, П. (2002) «Методы Монте-Карло в финансах». Нью-Йорк: Джон Уайли и сыновья . ( ISBN 0-471-49741-X .) 
  9. ^ Пресс, В.Х., Теукольский, С.А., Веттерлинг, В.Т. и Фланнери, Б.П. (1992) «Численные рецепты на Фортране 77: Искусство научных вычислений, 2-е изд.». Издательство Кембриджского университета, Кембридж, Великобритания
  10. ^ Реализация последовательности Соболя на языке C в библиотеке NLopt (2007).
  11. ^ «Справочник по API SciPy: scipy.stats.qmc.Sobol» .
  12. ^ Империале, Г. «pyscenarios: генератор сценариев Python».
  13. ^ Пакет Sobol.jl: Реализация последовательности Соболь в Julia.
  14. ^ Квазислучайная последовательность Соболя, код для C++/Fortran 90/Matlab/Python Дж. Буркардта
  15. ^ "Группа численных алгоритмов" . Nag.co.uk. 28 ноября 2013 г. Проверено 20 декабря 2013 г.
  16. ^ И. Соболь, Д. Асоцкий, А. Крейнин, С. Кучеренко (2011). «Построение и сравнение крупногабаритных генераторов Соболь» (PDF) . Уилмотт Журнал . Ноябрь (56): 64–79. дои : 10.1002/wilm.10056.{{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )
  17. ^ "Брода". Брода. 23 января 2024 г. Проверено 23 января 2024 г.
  18. ^ справочная страница sobolset. Проверено 24 июля 2017 г.

Внешние ссылки