Алгоритм Mersenne Twister в модуле random Python устроен следующим образом: 3
- При запуске генерируется кэш из 623 случайных 32-битных целых чисел без знака. 3 На генерацию влияет начальное число — одно целое, которое запускает весь процесс. 3
- Последний элемент состояния — указатель на кэш. 3
- При запросе случайного целого числа элемент извлекается из кэша, а указатель увеличивается. 3
- Элемент «приправляется» дополнительными логическими операциями для улучшения случайности. 3
- Когда указатель доходит до конца кэша, он наполняется ещё 623 элементами. 3
Алгоритм Mersenne Twister выдаёт 53-битные вещественные числа и имеет период 2^19937-1. 14