Кіріспе
Сандық талдаудағы тізбек түрі. Собол тізбектері (сонымен қатар LPτ тізбектері немесе 2-тік санау жүйесінде (t, s) тізбектері деп аталады) – квази кездейсоқ, төмен айырмашылыққа ие тізбектердің мысалы. Оларды алғаш рет орыс математигі Илья М. Соболь (Илья Меерович Соболь) 1967 жылы ұсынды. Бұл тізбектер бірлік аралықты күнтізбе күнтізбесімен біртекті бөліктерге бөлу үшін екілік санау жүйесін пайдаланады, содан кейін әрбір өлшемдегі координаталарды жаңа ретпен орналастырады.
Sobol’ sequences (also called LPτ sequences or (t, s) sequences in base 2) are an example of quasi random low discrepancy sequences. They were first introduced by the Russian mathematician Ilya M. Sobol’ (Илья Меерович Соболь) in 1967. These sequences use a base of two to form successively finer uniform partitions of the unit interval and then reorder the coordinates in each dimension.
S-өлшемді гиперкубтың бірлік бөлігінде жақсы үлестірулер
Is = [0,1]s s өлшемді бірлік гиперкуб болсын, ал f – Is-те интегралданатын нақты функция. Соболдың бастапқы мақсаты xn тізбегін Is-те құру болды, осылайша
және конвергенция мүмкіндігінше жылдам болсын. Сома интегралға жақындасуы үшін xn нүктелері тесіктерді азайтып Is-ті толтыруы керек екені анық. Тағы бір жақсы қасиет – xn проекциялары Is-тің төмен өлшемді жазықтықтарында да өте аз тесіктер қалдыруы керек. Сондықтан Is-тің біртекті толтырылуы тиімсіз, себебі төмен өлшемдерде көптеген нүктелер бірдей орында болады, демек интегралды бағалау үшін қолдануға болмайды. Мұндай жақсы үлестірулер (t,m,s) торлар және (t,s) тізбектер деп аталады. Оларды енгізу үшін, ең алдымен b негізіндегі элементар s интервалын анықтайық – Is-тің мынадай түріндегі ішкі жиыны:
мұнда aj және dj – теріс емес бүтін сандар, және барлық j үшін {1, …, s}. Екі бүтін санды ескере отырып, b негізіндегі (t,m,s) торы – Is-тің bm нүктесінен тұратын xn тізбегі, осылайша барлық элементар интервал P үшін b негізіндегі гиперкөлем λ(P) = bt−m тең болады. Теріс емес бүтін сан t берілген жағдайда, b негізіндегі (t,s) тізбегі – xn нүктелерінің шексіз тізбегі, осылайша барлық бүтін сандар үшін тізбегі b негізіндегі (t,m,s) торы болады. Собол өз мақаласында Πτ торларын және LPτ тізбектерін сипаттады, олар тиісінше (t,m,s) торлары және 2-базадағы (t,s) тізбектері. (t,m,s) торлары және (t,s) тізбектері терминдері (оларды Нидеррайтер тізбектері деп те атайды) 1988 жылы Харальд Нидеррайтермен енгізілді. Собол тізбектері термині Халтон, Фур және басқа да төмен сәйкессіздікті тізбектермен салыстырғанда кейінгі ағылшын тіліндегі мақалаларда қолданыла бастады.
Жедел алгоритм
Антонов пен Салеев Грей кодын тиімдірек іске асыруды ұсынды. Собол сандарының жасалуына қатысты, n-інші нүктені тарту үшін Грей кодын пайдалану, n-ді пайдалануға қарағанда анық көмектеседі. Егер біз барлық Собол тізбегін n-1 дейін жасап, барлық қажетті өлшемдер үшін xn-1,j мәндерін жадымызда сақтадық делік. Грей коды G(n) алдыңғы G(n-1)-ден бір ғана, мысалы, k-шы бітпен (яғни n-1 санының оң жақтан ең кіші нөлдік біті) өзгешеленеді. Сондықтан, барлық xn-1 мәндерін xn-ге тарату үшін әрбір өлшем бойынша бір ғана XOR операциясын жасау жеткілікті, яғни.
Собол нөмірлерін инициализациялау
Собол тізбегін құру үшін vi,j бағыт сандарының жиынтығын таңдау қажет. Бастапқы бағыт сандарын таңдауда белгілі бір еркіндік бар. Сондықтан, таңдалған өлшемдер үшін Собол тізбегінің әртүрлі түзілімдерін алу мүмкін. Бастапқы сандарды нашар таңдау, есептеулерде Собол тізбектерінің тиімділігін айтарлықтай төмендетуі мүмкін. Бастапқы сандарды инициализациялаудың ең оңай жолы – l-шы сол жақ разрядының 1-ге тең болуы, ал қалған разрядтардың 0-ге тең болуы, яғни mk,j = 1 барлық k және j үшін. Бұл инициализация әдетте біртұтас инициализация деп аталады. Дегенмен, мұндай тізбек А және А’ қасиеттеріне қатысты тіпті төмен өлшемдерде де сынақтан өтпейді, сондықтан бұл инициализация нашар.
Орындау және қол жетімділік
Әр түрлі өлшемдер үшін жақсы инициализациялық сандарды бірнеше авторлар келтіреді. Мысалы, Собол’ 51-ге дейінгі өлшемдер үшін инициализациялық сандарды ұсынады. Братли мен Фокс та сол инициализациялық сандарды пайдаланады. Жо мен Куода жоғары өлшемдерге арналған инициализациялық сандар қолжетімді. Питер Якель өзінің "Қаржы саласындағы Монте-Карло әдістері" атты кітабында 32-ге дейінгі өлшемді бастамалық сандарды ұсынады. Басқа да іске асырулар C, Fortran 77 немесе Fortran 90 тіліндегі сандық рецепттер жинағында қолжетімді. C тілінде Джо мен Куо инициализациялық сандарына негізделген 1111 өлшемге дейінгі ашық бастапқы кодты іске асыру, ал Python және Julia тілінде 21201 өлшемге дейін қолжетімді. 1111 өлшемге дейін басқа ашық бастапқы кодты іске асыру C++, Fortran 90, Matlab және Python үшін де бар. Мысалы, NAG кітапханасында коммерциялық Собол’ тізбегін құрушылар бар. BRODA Ltd. компаниясы 131072 өлшемге дейін қосымша біртектілік қасиеттері A және A' бар Собол’ және араластырылған Собол’ тізбегін құрушыларды ұсынады. Бұл құрушылар профессор И. Собол’мен бірлесіп жасалған. MATLAB-тың Статистикалық құралдар жинағында 1111 өлшемге дейінгі Собол’ тізбегін құрушылар бар.