Метод середины квадратов — один из ранних методов генерации псевдослучайных чисел; практически не применяется в виду неустранимых недостатков. Для генерации -значных псевдослучайных чисел алгоритм предполагает использование начального -значного числа, которое для получения следующего псевдослучайного числа возводится в квадрат, а из полученного -значного числа (при необходимости дополненного нулями слева) берётся «середина» — цифр, начиная с -го знака; очередное псевдослучайное число — середина из квадрата предыдущего и так далее.

Последовательности зачастую быстро вырождаются, например, при выпадении в «середину» числа всех нулей; кроме того, алгоритм может выдавать на следующем шаге не обязательно нулевое повторяющееся значение, при это происходит с 0100, 2500, 3792 и 7600. Некоторые начальные значения образуют очень короткие повторяющиеся циклы, например, 0540 → 2916 → 5030 → 3009.

Алгоритм предложен фон Нейманом в 1949 году(Статьи 1949 года не переиздавались до 1951 года.) John von Neumann, «Various techniques used in connection with random digits», in A. S. Householder, G. E. Forsythe, and H. H. Germond, eds., Monte Carlo Method, National Bureau of Standards Applied Mathematics Series, vol. 12 (Washington, D.C.: U.S. Government Printing Office, 1951): pp. 36-38. для ЭНИАКа, поскольку считывание с перфокарт случайных значений было крайне затратным по времени. Согласно , метод изобретён францисканским монахом Эдвином приблизительно между 1240 и 1250 годами: якобы ему Борхес прислал копию рукописи, хранящейся в Ватиканской библиотеке.

Примечания

Категория:Генераторы псевдослучайных чисел