Похоже, это случилось, когда у кубика Рубика родился ребёнок. Minecraft состоит из блоков. Твёрдых, непробиваемых, идеально кубических блоков. Это ужасная геометрия. Особенно если попытаться вычислить число Пи (π). Пи — это душа круга. У него нет углов. Нет граней. Оно течёт бесконечно, никогда не повторяясь. Блоки так не работают. Блоки щёлкают и встают на место.

Так как же нам удалось получить 3,14… в мире из вокселей?

Молли Линч из Университета Холлинса и Майкл Веселков из Колледжа Ранока справились с этой задачей. Они не читерили. Они не устанавливали моды, которые делают математику за них. Они создали систему внутри игры, чтобы аппроксимировать константу максимально близко к истине, насколько это позволяли пикселизованные правила мира.

Если вы не знаете игру — почему? — вот суть. Вы бродите по вселенной из коробок. Вы бьёте деревья, плавите грязь в кирпичи. Это песочница. Очень глубокая песочница. Игроки уже доказали, что она обладает тьюринг-полнотой. Это означает, что в теории Minecraft может запустить любую компьютерную программу. Люди строили внутри неё рабочие калькуляторы. Они даже запрограммировали меньший Minecraft внутри Minecraft. Рекурсивное безумие.

Если игра может запускать код, она может запускать алгоритмы вычисления Пи. Верно?

Да. Но это скучно. И это сложно.

Программирование в Minecraft требует перевода электрических сигналов — логических вентилей, сброса регистров, сдвига битов — в конструкции из редстоуна. Простое условие «если/то» превращается в тысячи блоков проводки. Линч и Веселков хотели избежать этой головной боли. Они хотели показать детям, что математика — это не только учебники. Они хотели развлечений. В 2024 году они опубликовали статью с методами вычисления констант, таких как число Пи, используя реальные игровые механики.

Киньте немного слаймов

Они выбрали «метод дартса».

Представьте квадратное мишень для дартса с кругом в центре. Вы слепы. Вы ужасно метки. Вы шлёпаете дротики в стену. Большинство промахиваются мимо круга совершенно. Но если бросить достаточно дротиков, соотношение попаданий внутри круга к общему количеству бросков покажет соотношение площадей. Поскольку мы знаем формулы площади, это соотношение раскрывает число Пи.

Квадрат имеет ширину четыре единицы. Площадь равна 4.
Вписанный круг имеет радиус 1. Площадь равна π.
Шанс попасть в круг? π / 4.
Попади в достаточное количество дротиков. Раздели попадания на промахи. Умножь на 4. Ты получишь Пи.

Линч и Веселков построили цифровую версию этого процесса.

Они построили круг из красной шерсти. Радиус 11. Он бугристый, зазубренный, определённо не гладкий. Они окружили его синей шерстью в форме квадрата.

Теперь им нужны были «дротики».

Они использовали слаймов. Зелёные сгустки, которые прыгают вокруг бессмысленно. В отличие от других мобов, которые спят, когда рядом нет игрока, слаймы продолжают бродить. Они меняют направление случайно. Это двигатели хаоса. Идеально для симуляции Монте-Карло.

Им также нужны были убийцы. Они привели зоглинов. Злых гибридов зомби и свиней-людоедов, которые разрывают слаймов на части при виде их.

Вот схема. Воронки размещены над красным кругом и синим квадратом. Воронки подбирают предметы. Когда слайм умирает, он роняет предметы. Воронки их считают.

Слаймы умирают. Предметы падают. Воронки «собирают» их. Данные накапливаются, даже если вы не наблюдаете за процессом.

Они разделили количество предметов, собранных внутри красного круга, на количество предметов, собранных по всему квадрату. Это даёт вероятность нахождения внутри круга. Умножьте на 4 для грандиозного откровения.

Результат… так себе?

Они провели тест.

Всего умерло 619 слаймов.
508 умерли внутри красного «круга».

Математика выглядела так:
π ≈ 4 * (508 / 639) = 3.05

Стойте, в тексте сказано, что всего 619.
508 / 616 близко. Давайте проверим их расчёты.
В статье утверждается, что результат составил 3,283.
На самом деле, 4 * (508/619) примерно равно 3,282.

Точно ли это? Нет.
Настоящее число Пи — 3,1415.
Ошибка составила около 5%.

Авторы признают это. Они знали, что это не будет точно. Но вот в чём хитрость.

Сделайте поле больше. Отправьте больше слаймов. Закон больших чисел жесток, но справедлив. С миллионами слаймов, умирающих на огромной карте, среднее значение ползёт ближе к истинному значению. Зазубренные края круга радиусом 11 блоков имеют меньше значения по мере увеличения масштаба. «Блочность» растворяется в статистическом шуме.

Зачем это делать?

Эффективность здесь мертва. Вы могли бы вычислить первые миллиард знаков числа Пи за секунду на калькуляторе в кармане. Делать это в Minecraft медленнее, грязнее и по сути несовершеннее.

Но смотреть, как тысяча слаймов разрывается на части зоглинами, пока счётчик тикает вверх? Это запоминается.

Дети запоминают игру. Они могут забыть учебник. Они помнят, что красные блоки означали «успех», а воронки — «доказательство». Математика стала полем битвы, а не рутиной.

Возможно, точность — не единственный показатель обучения. Возможно, нам просто нужна была лучшая цель. 🎯🧊