# Интегралы Борвейна: паттерн, который ломается — и почему это не баг

## Метаданные

- **Спикер:** 3Blue1Brown
- **Канал:** 3Blue1Brown
- **Тема:** Интегралы Борвейна — загадочная последовательность интегралов, дающих число π, пока паттерн внезапно не ломается. Связь с преобразованиями Фурье, свёртками и скользящими средними.
- **Длительность:** 17:25
- **YouTube:** https://www.youtube.com/watch?v=851U557j6HE
- **Источник:** https://ekstraktznaniy.ru/workbook/643

## Ключевые тезисы

1. **Последовательность интегралов sinc даёт π — до тех пор, пока не перестаёт** — Интеграл функции sin(x)/x от минус до плюс бесконечности равен π. Если умножать на растянутые версии sinc (с множителями 1/3, 1/5, 1/7...), результат остаётся ровно π. Но на 15-м шаге паттерн ломается — интеграл становится чуть меньше π на ничтожно малую величину.
2. **Функция sinc — главный герой истории** — Функция sinc(x) = sin(x)/x — осциллирующая синусоида, затухающая к краям за счёт деления на x. В точке x=0 предел равен 1. Эта функция настолько важна в математике и инженерии, что имеет собственное имя.
3. **Точное значение «сломанного» интеграла — не ошибка округления** — Когда паттерн ломается, разница с π выражается точной дробью с числителем и знаменателем порядка 400 миллиардов миллиардов. Исследователь Борвейн, впервые обнаруживший это на компьютере, решил, что это баг системы компьютерной алгебры. Но это реальное математическое явление.
4. **Добавление 2cos(x) продлевает паттерн до 113** — Если добавить множитель 2cos(x) ко всем интегралам, паттерн равенства π сохраняется гораздо дольше — до числа 113. И когда он наконец ломается, отклонение ещё более ничтожное. Это связано с тем, что начальное «плато» становится шире.
5. **Аналогия со скользящим средним объясняет паттерн** — Прямоугольная функция rect(x), к которой последовательно применяется скользящее среднее с окнами шириной 1/3, 1/5, 1/7 и т.д., демонстрирует тот же эффект: значение в нуле остаётся ровно 1, пока плато не «съедается» полностью. Это происходит ровно на том же шаге — при 1/15.
6. **Плато сужается с каждой итерацией** — Каждое скользящее среднее уменьшает ширину плато на величину ширины окна. Начальное плато шириной 1 уменьшается на 1/3, затем на 1/5, на 1/7 и так далее. Когда сумма 1/3 + 1/5 + ... превышает 1, плато исчезает — и значение функции в нуле падает ниже 1.
7. **Преобразование Фурье связывает sinc и rect** — Функция sinc и прямоугольная функция rect связаны через преобразование Фурье. Это ключевое звено, объединяющее два, казалось бы, совершенно разных явления в одну математическую конструкцию.
8. **Интеграл функции равен значению её Фурье-образа в нуле** — Один из ключевых фактов: интеграл функции от минус до плюс бесконечности равен значению её преобразования Фурье при нулевом аргументе. Это превращает сложное вычисление интеграла в простое вычисление значения в точке.
9. **Произведение функций соответствует свёртке их Фурье-образов** — Теорема о свёртке: Фурье-образ произведения функций равен свёртке их Фурье-образов. Для прямоугольных функций свёртка — это именно скользящее среднее. Так два мира оказываются одним и тем же вычислением.
10. **Нормализованная sinc-функция имеет площадь 1** — В инженерии часто используют sinc с π внутри аргумента: sin(πx)/(πx). Площадь под этой функцией равна ровно 1, что упрощает доказательство — вместо π нужно доказать единицу.
11. **Обобщение: любая последовательность положительных чисел работает** — Нет ничего особенного в обратных нечётных числах. Можно подставить любую последовательность положительных чисел в sinc-функции: пока их сумма меньше 1, интеграл равен π. Как только сумма превышает 1, интеграл становится чуть меньше π.

## Практические задания

### Задание 1: Проверка паттерна Борвейна численно
**Цель:** Используйте Python (библиотеки scipy или sympy) для численного вычисления интегралов sinc-функций. Вычислите интеграл sin(x)/x, затем sin(x)/x · sin(x/3)/(x/3), и так далее до 8-й итерации. Убедитесь, что первые 7 дают π, а 8-й — чуть меньше. Сравните с точным значением дроби из видео.

### Задание 2: Визуализация скользящего среднего
**Цель:** Постройте в matplotlib последовательность функций: начните с прямоугольной функции rect(x), затем примените скользящее среднее с окнами 1/3, 1/5, 1/7, 1/9, 1/11, 1/13, 1/15. Наблюдайте, как плато сужается с каждым шагом, и зафиксируйте момент, когда оно исчезает. Отметьте значение функции в x=0 на каждом шаге.

### Задание 3: Вычисление порога для произвольных последовательностей
**Цель:** Напишите функцию, принимающую последовательность положительных чисел (a₁, a₂, a₃, ...) и возвращающую номер шага, на котором их накопленная сумма превышает 1 (или 2, если добавлен множитель 2cos(x)). Проверьте для нечётных 1/3, 1/5, 1/7... (должно быть 15) и для случая с 2cos(x) (должно быть 113).

### Задание 4: Исследование преобразования Фурье sinc-функции
**Цель:** Используя scipy.fft или numpy.fft, вычислите дискретное преобразование Фурье функции sinc на достаточно длинном отрезке. Убедитесь, что результат похож на прямоугольную функцию. Поэкспериментируйте с растянутыми версиями sinc(x/k) и покажите, как меняется ширина прямоугольника.

### Задание 5: Свёртка прямоугольных функций вручную
**Цель:** Возьмите две прямоугольные функции разной ширины и вычислите их свёртку аналитически (на бумаге). Убедитесь, что результат — трапецеидальная функция. Затем свертите результат с третьей прямоугольной функцией. Сопоставьте с тем, что получается при скользящем среднем.

## Ключевые цитаты

> «Иногда кажется, что вселенная просто издевается над тобой. (Sometimes it feels like the universe is just messing with you.)»
> — 3Blue1Brown

> «Это не баг, это реальное явление. (It's not a bug, it is a real phenomenon.)»
> — 3Blue1Brown

> «Когда коллега-исследователь вычислял эти интегралы с помощью системы компьютерной алгебры, он решил, что это какой-то баг. (When a fellow researcher was computing these integrals using a computer algebra system, he assumed that this had to be some kind of bug.)»
> — 3Blue1Brown

> «Вы не можете просто случайным образом подставлять новые множители в интеграл и ожидать, что ничего не изменится. (You can't just randomly multiply new things into an integral like this.)»
> — 3Blue1Brown

> «Два явления не просто качественно похожи — они количественно совпадают. (The two situations aren't just qualitatively similar, they're quantitatively the same.)»
> — 3Blue1Brown

> «Это систематический способ сменить перспективу, при которой трудные задачи иногда выглядят проще. (It's a systematic way to provide a shift in perspective where hard problems can sometimes look easier.)»
> — 3Blue1Brown

> «Вы получаете огромную отдачу от одного вычисления. (You get a lot of bang for your buck out of doing the computation.)»
> — 3Blue1Brown

> «Когда паттерн ломается на значении 15, он делает это на ничтожно малую величину. (When it does break at the value 15, it does so by the tiniest tiny amount.)»
> — 3Blue1Brown

## Полный текст экстракта

# Интегралы Борвейна: паттерн, который ломается — и почему это не баг

> Спикер: 3Blue1Brown | Длительность: 17:25

## Ключевые идеи

1. **Интегралы sinc дают π — до определённого момента** — Последовательность интегралов произведений sinc-функций с растяжением 1/3, 1/5, 1/7... даёт ровно π на первых 7 шагах, а на 8-м — чуть меньше π.

2. **Это не ошибка вычислений** — Точное значение «сломанного» интеграла выражается дробью с числителем и знаменателем порядка 400 миллиардов миллиардов. Исследователь принял это за баг, но это математический факт.

3. **Функция sinc(x) = sin(x)/x** — Затухающая осцилляция с пределом 1 в нуле. Фундаментальная функция в математике и инженерии.

4. **Скользящее среднее даёт ту же картину** — Прямоугольная функция, к которой последовательно применяется скользящее среднее с окнами 1/3, 1/5, 1/7..., демонстрирует плато со значением 1, которое сужается и исчезает на том же шаге.

5. **Ключевой порог — сумма обратных нечётных чисел** — Паттерн ломается, когда 1/3 + 1/5 + 1/7 + ... превышает 1 (на шаге 1/15) или 2 (на шаге 1/113 при добавлении 2cos(x)).

6. **Преобразование Фурье связывает sinc и rect** — Фурье-образ функции sinc — прямоугольная функция. Это ключ к пониманию связи между интегралами и скользящими средними.

7. **Интеграл = значение Фурье-образа в нуле** — Площадь под функцией равна значению её преобразования Фурье при аргументе 0.

8. **Произведение → свёртка (теорема о свёртке)** — Фурье-образ произведения функций = свёртка Фурье-образов. Для прямоугольных функций свёртка и есть скользящее среднее.

9. **Обобщение: любая последовательность положительных чисел** — Не только обратные нечётные числа работают. Любая последовательность с суммой < 1 сохраняет интеграл равным π.

10. **Нормализация упрощает доказательство** — Замена x на πx превращает задачу «доказать = π» в задачу «доказать = 1».

11. **Бонус: быстрое умножение больших чисел** — Теорема о свёртке открывает путь к алгоритмам умножения больших чисел быстрее, чем кажется возможным.

## Транскрипт

### Загадочный паттерн

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

Главный герой — функция 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.

Три ключевых факта:

1. Sinc и rect связаны преобразованием Фурье — одна является Фурье-образом другой.
2. Интеграл функции от -∞ до +∞ равен значению её Фурье-образа в нуле.
3. Теорема о свёртке: Фурье-образ произведения функций = свёртка их Фурье-образов.

Для прямоугольных функций свёртка — это именно скользящее среднее. Так интегралы произведений 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