Карта → событие

Лос-Аламос 1946–1949

Улам и фон Нейман: вычислять вероятностью

Искусство счёта Теория вероятностей Демон и монетка Нить Маркова

Момент

Станислав Улам. Пропуск Лос-Аламоса
Станислав Улам. Пропуск Лос-АламосаPublic domain

Станислав Улам (1909–1984), математик из львовской школы (кафе «Шкоцка»), с 1943 года работавший в Лос-Аламосе, в 1946-м перенёс тяжёлый энцефалит и восстанавливался, раскладывая пасьянс «Кэнфилд».

Ему стало любопытно, какова вероятность успешного расклада. Он начал считать комбинаторно и быстро упёрся: перебор безнадёжен. И тогда пришла мысль, которую он сам описал так: а не проще ли разложить, скажем, сто пасьянсов и просто посчитать, сколько сошлось?

Мысль тривиальная — но Улам немедленно связал её с рабочей задачей: диффузия нейтронов в делящемся веществе. Уравнение переноса нейтронов в реальной геометрии не решается ни аналитически, ни разностными методами. Но траекторию отдельного нейтрона легко разыграть: пролетел столько-то (случайная длина свободного пробега), рассеялся под таким-то углом, поглотился или вызвал деление. Разыграв достаточно траекторий, получим ответ.

Улам рассказал идею Джону фон Нейману, тот немедленно оценил и в марте 1947 года послал Роберту Рихтмайеру детальный план вычисления на ЭНИАКе. Первые расчёты — 1948 год. Николас Метрополис предложил кодовое название по казино в Монако, где играл дядя Улама.

Метод

Джон фон Нейман. Пропуск Лос-Аламоса
Джон фон Нейман. Пропуск Лос-АламосаLos Alamos Laboratory · Attribution

Простейшая иллюстрация — вычисление $\pi$. Бросаем точки равномерно в квадрат $[0,1]^2$ и считаем долю попавших в четверть круга $x^2+y^2\leqslant1$. Эта доля стремится к $\pi/4$.

$$\hat\pi = 4\cdot\frac{\text{попаданий}}{N}.$$

Общая схема. Чтобы вычислить $I = \int_{\Omega} g(x)\,dx$, представим его как ожидание:

$$I = \int g(x)\,dx = E\left[\frac{g(X)}{p(X)}\right], \qquad X\sim p,$$

и оценим средним по выборке:

$$\hat I_{N} = \frac{1}{N}\sum_{i=1}^{N}\frac{g(X_{i})}{p(X_{i})}.$$

По усиленному закону больших чисел (точка о Бореле) $\hat I_N \to I$ почти наверное, а по центральной предельной теореме (Лаплас) погрешность имеет порядок

$$\left|\hat I_{N}-I\right| \sim \frac{\sigma}{\sqrt{N}}.$$

Почему это революция: проклятие размерности

Скорость $1/\sqrt{N}$ выглядит удручающе: чтобы добавить один десятичный знак, нужно в сто раз больше вычислений. Детерминированные квадратуры куда точнее: метод трапеций даёт $O(h^{2})$, Симпсона — $O(h^{4})$.

Но это в одном измерении. В размерности $d$ сетка из $n$ узлов по каждой оси требует $N = n^{d}$ вычислений, и погрешность метода порядка $k$ ведёт себя как

$$O\!\left(n^{-k}\right) = O\!\left(N^{-k/d}\right).$$

Показатель делится на размерность. А у Монте-Карло погрешность равна $O(N^{-1/2})$ независимо от $d$.

Сравним для метода Симпсона ($k=4$):

Размерность $d$ Порядок сходимости Симпсона Монте-Карло
1 $N^{-4}$ $N^{-1/2}$
4 $N^{-1}$ $N^{-1/2}$
8 $N^{-1/2}$ $N^{-1/2}$
20 $N^{-0{,}2}$ $N^{-1/2}$
100 $N^{-0{,}04}$ $N^{-1/2}$

Начиная примерно с восьмого измерения Монте-Карло выигрывает, а дальше выигрывает безнадёжно. Задача о переносе нейтронов имеет размерность 7 (три координаты, две угловые, энергия, время) — Улам и фон Нейман попали ровно в точку перелома.

Это и есть содержание метода: случайность побеждает проклятие размерности. Плата — только вероятностная гарантия вместо детерминированной.

Побочный результат: где брать случайность

Компьютеру нужны случайные числа в огромных количествах, а компьютер детерминирован. Фон Нейман предложил метод серединных квадратов (1949): возводим число в квадрат, берём средние цифры. Метод плох (быстро зацикливается), но он поставил задачу.

Ему же принадлежит формулировка парадокса: всякий, кто пытается получать случайные числа арифметическими средствами, пребывает в состоянии греха. Из этого «греха» выросла целая дисциплина — линейные конгруэнтные генераторы, вихрь МерсеннаМарен Мерсеннфранцузский монах, математик и теоретик музыки · 1588–1648Монах-минимит, работавший научным журналом за сто лет до появления журналов: через его келью в Париже шла переписка всей учёной Европы. Числа его имени до сих пор дают рекордные простые., криптографические генераторы, тесты Кнута и Марсальи.

Продолжение

Смысл поворота

До 1946 года вся линия шла в одну сторону: математика изучала случайность. Кости, смертность, ошибки измерений, броуновское движение — во всех точках случай был предметом.

Здесь направление меняется: случайность становится инструментом для решения задач, в которых никакого случая нет. Число $\pi$ детерминировано; интеграл детерминирован; уравнение переноса детерминировано — а вычисляем мы их бросанием костей.

Тот же поворот в чистой математике совершает вероятностный метод (Борель, затем ЭрдёшПал Эрдёшвенгерский математик · 1913–1996Полторы тысячи статей, пятьсот соавторов, ни дома, ни семьи, ни постоянной работы — сорок лет он ездил из университета в университет с одним чемоданом.): случайный объект как доказательство существования детерминированного. Три точки — БорельЭмиль Борельфранцузский математик, министр и участник Сопротивления · 1871–1956Придумал меру, на которой стоит вся современная теория вероятностей, а потом ушёл в политику — был министром флота, депутатом и сидел в тюрьме при Виши., Улам и фон Нейман, Эрдёш и Реньи — стоит рассматривать как одну идею в трёх воплощениях.

Открыть на карте