mersenne twister - есть ли способ перейти в определенное состояние?

Я немного не уверен, какой форум подходит для этого вопроса. Это между теоретической комп. науки / математика и программирование.

Я использую Мерсенн-Твистер для генерации псевдослучайных чисел. Теперь, начиная с заданного числа, я хотел бы перейти к n-му числу в последовательности. Я разбиваю последовательность на p подпоследовательностей, просматриваю все N чисел и сохраняю вектор состояния генератора случайных чисел в начале каждой подпоследовательности.
Теперь, чтобы достичь n -го числа, я увижу, что n попадает в k -ю подпоследовательность, и я загружу вектор состояния для этой подпоследовательности. и генерировать m последовательных случайных чисел, где m-е число в k-й подпоследовательности такое же, как n-е число в полной последовательности (n = m + (k-1) * N / p).

Но вектор состояния имеет длину 624 х 4 байта! Интересно, можно ли практически перейти к произвольному элементу в последовательности, созданной мерсенна-твистером.

5
задан jopasserat 11 August 2015 в 00:32
поделиться