Интегралы Борвейна: паттерн, который ломается — и почему это не баг
Интегралы Борвейна — загадочная последовательность интегралов, дающих число π, пока паттерн внезапно не ломается. Связь с преобразованиями Фурье, свёртками и скользящими средними.
Для AI-агентов и LLM
Экстракт доступен в структурированном Markdown. Скачать .md · JSON API · Site index
💡 Ключевые тезисы (11)
1 Последовательность интегралов sinc даёт π — до тех пор, пока не перестаёт #
2 Функция sinc — главный герой истории #
3 Точное значение «сломанного» интеграла — не ошибка округления #
4 Добавление 2cos(x) продлевает паттерн до 113 #
5 Аналогия со скользящим средним объясняет паттерн #
6 Плато сужается с каждой итерацией #
7 Преобразование Фурье связывает sinc и rect #
8 Интеграл функции равен значению её Фурье-образа в нуле #
9 Произведение функций соответствует свёртке их Фурье-образов #
10 Нормализованная sinc-функция имеет площадь 1 #
11 Обобщение: любая последовательность положительных чисел работает #
Интегралы Борвейна: паттерн, который ломается — и почему это не баг
Спикер: 3Blue1Brown | Длительность: 17:25
Транскрипт
Загадочный паттерн
Перед нами последовательность вычислений. Каждое из них — интеграл, и каждое оказывается равным числу π. Паттерн выглядит так, будто он будет продолжаться вечно. Но в определённый момент он ломается: вместо π мы получаем значение, которое лишь едва-едва меньше π.
Главный герой — функция sinc(x) = sin(x)/x. Это осциллирующая синусоида, затухающая к краям. В точке x = 0 предел равен 1, и мы определяем sinc(0) = 1 для непрерывности.
Интеграл sinc от минус до плюс бесконечности равен ровно π. Если мы умножим sinc(x) на sinc(x/3) — растянутую версию, — интеграл по-прежнему π. Добавим sinc(x/5) — снова π. И так далее через нечётные числа.
Но на 15-м множителе паттерн ломается. Точное значение — дробь от π, где и числитель, и знаменатель — числа порядка 400 миллиардов миллиардов. Отец и сын Борвейны описали это в статье. Коллега-исследователь, обнаруживший это на компьютере, решил, что это баг системы. Но это не баг — это реальное явление.
Аналогия со скользящим средним
Рассмотрим прямоугольную функцию rect(x): она равна 1 на отрезке [-1/2, 1/2] и 0 вне его. Применим к ней скользящее среднее с окном шириной 1/3. Получим сглаженную функцию с плато, шириной 1 - 1/3 = 2/3.
Применим ещё одно скользящее среднее с окном 1/5 — плато сузится ещё на 1/5. Затем 1/7, 1/9, 1/11, 1/13... Каждый раз плато уменьшается.
Критический момент: когда сумма 1/3 + 1/5 + 1/7 + ... + 1/13 всё ещё меньше 1, плато существует и значение функции в нуле равно ровно 1. Но при добавлении 1/15 сумма превышает 1, плато исчезает, и значение в нуле становится чуть меньше 1.
Этот коэффициент, чуть меньший единицы, — в точности тот же множитель, который стоит перед π в «сломанном» интеграле. Два явления количественно идентичны.
Случай с 2cos(x): начальное плато имеет ширину 2, и сумма 1/3 + 1/5 + ... должна превысить 2 — это происходит при 1/113.
Связь через преобразование Фурье
Подставим x → πx: задача «доказать интеграл = π» превращается в «доказать интеграл = 1». Нормализованная sinc-функция с π внутри аргумента имеет площадь 1.
Три ключевых факта:
- Sinc и rect связаны преобразованием Фурье — одна является Фурье-образом другой.
- Интеграл функции от -∞ до +∞ равен значению её Фурье-образа в нуле.
- Теорема о свёртке: Фурье-образ произведения функций = свёртка их Фурье-образов.
Для прямоугольных функций свёртка — это именно скользящее среднее. Так интегралы произведений sinc-функций оказываются тем же, что и последовательные скользящие средние прямоугольных функций, вычисленные в нуле.
Практические задания
Задание 1: Численная проверка интегралов Борвейна
Используйте Python с библиотекой scipy для вычисления последовательности интегралов. Начните с ∫sinc(x)dx, затем ∫sinc(x)·sinc(x/3)dx, и так далее. На каждом шаге сравнивайте результат с π. Зафиксируйте шаг, на котором равенство нарушается, и величину отклонения.
Задание 2: Визуализация скользящих средних
Реализуйте на Python последовательное применение скользящего среднего к прямоугольной функции. Постройте 8 графиков на одном полотне, показывая сужение плато на каждом шаге. Отметьте значение f(0) на каждом графике.
Задание 3: Кумулятивные суммы и пороги
Вычислите кумулятивные суммы ряда 1/3 + 1/5 + 1/7 + ... до 30 членов. Найдите момент превышения порогов 1 и 2. Сопоставьте с порогами ломки паттерна (15 и 113).
Задание 4: Преобразование Фурье функции sinc
Вычислите FFT дискретизированной sinc-функции и покажите, что результат — прямоугольная функция. Поэкспериментируйте с sinc(x/k) для разных k и покажите, как меняется ширина «прямоугольника».
Задание 5: Эксперимент с произвольными последовательностями
Замените обратные нечётные числа на другую последовательность (например, 1/2, 1/4, 1/8 или 1/π, 1/e, 1/√2). Предскажите порог ломки по кумулятивной сумме и проверьте численно через интегралы.
Лучшие цитаты
«Иногда кажется, что вселенная просто издевается над тобой» — 3Blue1Brown
«Это не баг, это реальное явление» — 3Blue1Brown
«Когда коллега-исследователь вычислял эти интегралы с помощью системы компьютерной алгебры, он решил, что это какой-то баг» — 3Blue1Brown
«Вы не можете просто случайным образом подставлять новые множители в интеграл и ожидать, что ничего не изменится» — 3Blue1Brown
«Два явления не просто качественно похожи — они количественно совпадают» — 3Blue1Brown
«Это систематический способ сменить перспективу, при которой трудные задачи иногда выглядят проще» — 3Blue1Brown
«Вы получаете огромную отдачу от одного вычисления» — 3Blue1Brown
«Когда паттерн ломается на значении 15, он делает это на ничтожно малую величину» — 3Blue1Brown
🏋️ Практикум
Проверка паттерна Борвейна численно
Используйте Python (библиотеки scipy или sympy) для численного вычисления интегралов sinc-функций. Вычислите интеграл sin(x)/x, затем sin(x)/x · sin(x/3)/(x/3), и так далее до 8-й итерации. Убедитесь, что первые 7 дают π, а 8-й — чуть меньше. Сравните с точным значением дроби из видео.
Визуализация скользящего среднего
Постройте в matplotlib последовательность функций: начните с прямоугольной функции rect(x), затем примените скользящее среднее с окнами 1/3, 1/5, 1/7, 1/9, 1/11, 1/13, 1/15. Наблюдайте, как плато сужается с каждым шагом, и зафиксируйте момент, когда оно исчезает. Отметьте значение функции в x=0 на каждом шаге.
Вычисление порога для произвольных последовательностей
Напишите функцию, принимающую последовательность положительных чисел (a₁, a₂, a₃, ...) и возвращающую номер шага, на котором их накопленная сумма превышает 1 (или 2, если добавлен множитель 2cos(x)). Проверьте для нечётных 1/3, 1/5, 1/7... (должно быть 15) и для случая с 2cos(x) (должно быть 113).
Исследование преобразования Фурье sinc-функции
Используя scipy.fft или numpy.fft, вычислите дискретное преобразование Фурье функции sinc на достаточно длинном отрезке. Убедитесь, что результат похож на прямоугольную функцию. Поэкспериментируйте с растянутыми версиями sinc(x/k) и покажите, как меняется ширина прямоугольника.
Свёртка прямоугольных функций вручную
Возьмите две прямоугольные функции разной ширины и вычислите их свёртку аналитически (на бумаге). Убедитесь, что результат — трапецеидальная функция. Затем свертите результат с третьей прямоугольной функцией. Сопоставьте с тем, что получается при скользящем среднем.
💬 Цитаты (8)
«Иногда кажется, что вселенная просто издевается над тобой. (Sometimes it feels like the universe is just messing with you.)» #
«Это не баг, это реальное явление. (It's not a bug, it is a real phenomenon.)» #
«Когда коллега-исследователь вычислял эти интегралы с помощью системы компьютерной алгебры, он решил, что это какой-то баг. (When a fellow researcher was computing these integrals using a computer algebra system, he assumed that this had to be some kind of bug.)» #
«Вы не можете просто случайным образом подставлять новые множители в интеграл и ожидать, что ничего не изменится. (You can't just randomly multiply new things into an integral like this.)» #
«Два явления не просто качественно похожи — они количественно совпадают. (The two situations aren't just qualitatively similar, they're quantitatively the same.)» #
«Это систематический способ сменить перспективу, при которой трудные задачи иногда выглядят проще. (It's a systematic way to provide a shift in perspective where hard problems can sometimes look easier.)» #
«Вы получаете огромную отдачу от одного вычисления. (You get a lot of bang for your buck out of doing the computation.)» #
«Когда паттерн ломается на значении 15, он делает это на ничтожно малую величину. (When it does break at the value 15, it does so by the tiniest tiny amount.)» #
Популярное в категории
Читать далее
3Blue1Brown
Теорема о причёсывании ежа: почему математика запрещает идеальную гладкость
3Blue1Brown
Поделитесь с коллегами