Последовательность Соболя
Последовательности Соболя LP τ (также называемые последовательностями или последовательностями ( t , s ) в базе 2) являются примером квазислучайных последовательностей с низким расхождением . Впервые они были введены российским математиком Ильей Собольем (Илья Меерович Соболь) в 1967 году. [1]
Эти последовательности используют базу из двух для последовательного формирования более мелких однородных разделов единичного интервала, а затем переупорядочивают координаты в каждом измерении.
Хорошие распределения в s -мерном единичном гиперкубе
[ редактировать ]Позвольте мне с = [0,1] с — s -мерный единичный гиперкуб , а f — действительная интегрируемая функция над I с . Первоначальной мотивацией Соболя было построить последовательность x n в I с так что
и сходимость должна быть максимально быстрой.
Более-менее понятно, что для того, чтобы сумма сходилась к интегралу, точки x n должны заполнять I с минимизация дырок. Еще одним хорошим свойством было бы то, что проекции x n на низкомерную грань I с оставьте также очень мало отверстий. Отсюда однородное заполнение I с не подходит, поскольку в меньших измерениях многие точки будут находиться в одном и том же месте, поэтому бесполезны для интегральной оценки.
Эти хорошие распределения называются ( t , m , s )-сетями и ( t , s )-последовательностями в базе b . Чтобы представить их, определите сначала элементарный s -интервал в базе b - подмножестве I с формы
где a j и d j — целые неотрицательные числа, и для всех j из {1,...,s}.
Даны 2 целых числа , a ( t , m , s )-сеть в базе b представляет собой последовательность x n из b м точки я с такой, что для всех элементарных интервалов P в базе b гиперобъема λ ( P ) = b т-м .
Учитывая неотрицательное целое число 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 д в каждых 2-х ровно одна ничья д гиперкубы, которые возникают в результате разделения единичного гиперкуба вдоль каждого из его расширений пополам.
- Определение
- Говорят, что последовательность с низким расхождением удовлетворяет свойству А' , если для любого двоичного сегмента (не произвольного подмножества) d -мерной последовательности длины 4 д в каждых 4-х ровно один розыгрыш д гиперкубы, которые возникают в результате разделения единичного гиперкуба вдоль каждого из его расширений на четыре равные части.
Существуют математические условия, гарантирующие свойства А и А'.
- Теорема
- -мерная последовательность d Соболя обладает свойством A тогда и только тогда, когда
- где В д - двоичная матрица d × d, определяемая формулой
- где v k , j , m обозначает m -ю цифру после двоичной точки номера направления v k , j = (0. v k , j ,1 v k , j ,2 ...) 2 .
- Теорема
- -мерная последовательность d Соболя обладает свойством А' тогда и только тогда, когда
- где U д - двоичная матрица размером 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] и Джулия . [13] Другая бесплатная реализация с открытым исходным кодом, имеющая до 1111 измерений, доступна для C++ , Fortran 90 , Matlab и Python . [14]
Коммерческие генераторы последовательностей Соболя доступны, например, в библиотеке NAG . [15] ООО "БРОДА". [16] [17] обеспечивает генераторы Соболя и скремблированных последовательностей Соболя с дополнительными свойствами однородности A и A' до максимальной размерности 131072. Эти генераторы были разработаны совместно с профессором И. Соболь. МАТЛАБ [18] содержит генераторы последовательностей Соболя размером до 1111 как часть панели инструментов статистики.
См. также
[ редактировать ]- Последовательность с низким расхождением - Тип математических последовательностей
- Метод квази-Монте-Карло - Процесс численного интегрирования
Примечания
[ редактировать ]- ^ Эти числа обычно называются номерами инициализации .
Ссылки
[ редактировать ]- ^ Соболь, ИМ.(1967), «Распределение точек в кубе и приближенное вычисление интегралов». Ж. Выч. Мат. Мат. Физ. 7 : 784–802 (на русском языке); СССР Компьютер. Математика. Математика. Физ. 7 : 86–112 (на английском языке).
- ^ Нидеррайтер, Х. (1988). «Последовательности с низким расхождением и низкой дисперсией», Журнал теории чисел 30 : 51–70.
- ^ Антонов И.А. и Салеев В.М. (1979) «Экономический метод вычисления LP τ -последовательностей». Ж. Выч. Мат. Мат. Физ. 19 : 243–245 (на русском языке); СССР Компьютер. Математика. Математика. Физ. 19 : 252–256 (на английском языке).
- ^ Соболь, И. М. (1976) "Равномерно распределенные последовательности с дополнительным свойством однородности". Ж. Выч. Мат. Мат. Физ. 16 : 1332–1337 (на русском языке); СССР Компьютер. Математика. Математика. Физ. 16 : 236–242 (на английском языке).
- ^ Соболь И.М. и Левитан Ю.Л. (1976). «Производство точек, равномерно распределенных в многомерном кубе» Тех. Отчет 40, Институт прикладной математики АН СССР .
- ^ Брэтли, П. и Фокс, Б.Л. (1988), «Алгоритм 659: реализация генератора квазислучайных последовательностей Соболя». АКМ Транс. Математика. Программное обеспечение 14 : 88–100.
- ^ «Генератор последовательностей Соболь» . Университет Нового Южного Уэльса . 16 сентября 2010 г. Проверено 20 декабря 2013 г.
- ^ Якель, П. (2002) «Методы Монте-Карло в финансах». Нью-Йорк: Джон Уайли и сыновья . ( ISBN 0-471-49741-X .)
- ^ Пресс, В.Х., Теукольский, С.А., Веттерлинг, В.Т. и Фланнери, Б.П. (1992) «Численные рецепты на Фортране 77: Искусство научных вычислений, 2-е изд.». Издательство Кембриджского университета, Кембридж, Великобритания
- ^ Реализация последовательности Соболя на языке C в библиотеке NLopt (2007).
- ^ «Справочник по API SciPy: scipy.stats.qmc.Sobol» .
- ^ Империале, Г. «pyscenarios: генератор сценариев Python» .
- ^ Пакет Sobol.jl : Реализация последовательности Соболь в Julia.
- ^ Квазислучайная последовательность Соболя , код для C++/Fortran 90/Matlab/Python Дж. Буркардта
- ^ «Группа численных алгоритмов» . Nag.co.uk. 28 ноября 2013 г. Проверено 20 декабря 2013 г.
- ^ И. Соболь, Д. Асоцкий, А. Крейнин, С. Кучеренко (2011). «Построение и сравнение крупногабаритных генераторов Соболь» (PDF) . Уилмотт Журнал . Ноябрь (56): 64–79. дои : 10.1002/wilm.10056 .
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ «Брода» . Брода. 2024-01-23 . Проверено 23 января 2024 г.
- ^ справочная страница sobolset . Проверено 24 июля 2017 г.
Внешние ссылки
[ редактировать ]- Сборник алгоритмов АКМ (см. алгоритмы 647, 659 и 738).
- Сборник программных кодов генератора последовательностей Соболя
- Бесплатный C++-генератор последовательности Соболя