MakarovSuites
Русский
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Связь и лицензии

Math

Монте-Карло

Случайные дротики оценивают π, двести метателей показывают разброс по закону 1/√N и полосу 95 %, а один интеграл берётся тремя способами — выборка, наклонённая как кривая, выигрывает в двадцать раз.

Монте-Карло — Изображение из программы
Изображение из программы

Что происходит

Дротики падают наугад в квадрат с вписанной четвертью круга: золотые, если внутри круга, синие, если мимо. Доля внутри — π/4, так что учетверённая доля — оценка π, и она читается вживую. В кубе фигура — шар, а множитель шесть; куб — худший метатель, потому что π/6 далеко от половины, а множитель больше. Оценка — биномиальное среднее, и её ошибка ровно s/√N при s = 4√(p(1 − p)) = 1.642 в квадрате: вчетверо больше дротиков — вдвое меньше ошибка, в сто раз больше — одна лишняя цифра. Двести других метателей с другими кубиками невидимо бросают столько же дротиков; их оценки ссыпаются в гистограмму под предсказанный колокол, а панель считает, сколько из них попало в π ± 2s/√N — около 190 из 200, полоса 95 %, измеренная, а не объявленная. График ведёт живую оценку против log N между двумя линиями полосы, которые сходятся как 1/√N. Третья сцена берёт один интеграл — площадь под 4/(1 + x²) от 0 до 1, тоже π — тремя способами от одного кубика. Попал-не-попал бросает дротики под кривую, s = 1.642. Среднее значение вычисляет кривую в равномерных x и усредняет, s = √(4 + 2π − π²) = 0.643. Выборка по значимости тянет x из плотности q(x) = (4 − 2x)/3 (пунктир), наклонённой как кривая, и усредняет отношение кривая/q: s = 0.080. Три гистограммы по двести реплик показывают три ширины — те же N, в двадцать раз меньше ошибка у выборки, которая знает, где кривая тяжёлая.

Уравнения модуля
Уравнения
дротики:  P(внутри четверти круга) = π/4;  π_est = 4 n_in/N;  Var(π_est) = 16 p(1 − p)/N,  s = 4√(p(1 − p)) = 1.642;  в кубе p = π/6, π_est = 6 n_in/N, s = 6√(p(1 − p)) = 2.997;  стандартная ошибка s/√N: 0.0164 при N = 10 000 в квадрате
закон:  200 повторов с разными генераторами, зёрна 100 … 299: разброс 0.0707 / 0.0358 / 0.0191 при N = 500 / 2000 / 8000 в квадрате против предсказанных 0.0734 / 0.0367 / 0.0184;  191 / 195 / 192 из 200 внутри π ± 2s/√N;  при шестнадцатикратном увеличении числа дротиков разброс уменьшается в 3.7 ≈ 4 раза
интеграл:  I = ∫₀¹ 4/(1 + x²) dx = π;  попадание или промах: дротики в [0, 1] × [0, 4], 4·попадания/N, s = 1.642;  среднее значение: (1/N) Σ g(x_i), x_i равномерно распределены, s = √(E g² − π²) = √(4 + 2π − π²) = 0.643;  выборка по значимости: x_i ~ q(x) = (4 − 2x)/3, (1/N) Σ g(x_i)/q(x_i), s = √(∫ g²/q − π²) = 0.0800;  генерация из q методом обращения: x = 2 − √(4 − 3u)
зерно 1, N = 10 000: 7865 дротиков внутри четверти круга (π ≈ 3.1460), 5203 внутри шара (3.1218);  интеграл: 3.1760 / 3.1395 / 3.1408;  100 повторов при N = 1000 (зёрна 300 …): разбросы 0.0536 / 0.0204 / 0.0024
генератор:  общий xorshift; на каждую выборку берутся потоки (u, v) для метода попаданий, x для среднего значения, w для выборки по важности, в этом порядке

Другие эксперименты

К каталогу
Перколяция — Изображение из программы

Math

Перколяция

Вход, выход и один образец случайной решётки: предскажи, при каком p этот образец впервые пропустит поток, подними p или открой отдельные узлы руками и смотри, как растёт достижимая область, — потом прогони много образцов нескольких размеров и увидь, как точка прохода разбросана вокруг p_c и как разброс сужается с ростом решётки.

Теория графов — Изображение из программы

Math

Теория графов

Кратчайшие пути, остовные деревья и потоки на одном графе, нарисованные по мере счёта: рябь Дейкстры, острова Краскала, пути Эдмондса–Карпа и разрез, равный потоку.

Вороной и Делоне — Изображение из программы

Math

Вороной и Делоне

Клетки ближайшего соседа, которые перестраиваются, пока тянешь их точки; двойственная им триангуляция Делоне с пустыми кругами; диски, растущие в клетки; и релаксация Ллойда, превращающая их в шестиугольники.