Профессор Эрик Демейн о разборе случаев и сильной индукции

MIT OpenCourseWare 20,4 тыс. 1 ч 24 мин 13 мин 24.07.2025
Главное

В лекции «Casework and Strong Induction» из университетского курса 6.1200 Массачусетского технологического института (MIT) профессор Эрик Демейн разбирает продвинутые методы математических доказательств. Лектор наглядно объясняет концепции разбора случаев и сильной индукции, иллюстрируя их как классическими логическими парадоксами, так и прикладными задачами из теории игр и теории графов. Этот материал позволяет заглянуть вглубь структуры математического мышления и понять, как громоздкие задачи разбиваются на простые составляющие.

🧰 Математический «кулинарный путеводитель»: повторение пройденного 0:12

Математические доказательства можно сравнить с кулинарной книгой: если вам нужно доказать теорему определенного типа, у вас всегда есть готовый пошаговый рецепт. Профессор Эрик Демейн напоминает базовые правила этого «путеводителя». Если утверждение начинается со слов «существует такой $x$», то самым естественным способом доказательства становится метод конструирования — создание конкретного примера $x^*$, для которого утверждение истинно. Если же требуется доказать универсальное утверждение («для всех $x$»), математики выбирают произвольный элемент $x$, дают ему имя и доказывают истинность суждения для него, что автоматически распространяет вывод на все множество.

Особое место в логике занимают импликации вида «если $P$, то $Q$» ($P \implies Q$), которые эквивалентны выражению «не $P$ или $Q$» ($\neg P \lor Q$). Их можно доказывать напрямую, предполагая истинность $P$ и выводя из нее $Q$, либо методом контрапозиции. Контрапозиция меняет утверждение на эквивалентное: «если не $Q$, то не $P$» ($\neg Q \implies \neg P$).

Существует и метод доказательства от противного (противоречия), когда математики предполагают истинность отрицания теоремы ($\neg P$) и пытаются прийти к логическому абсурду вроде «ложь равна истине». По мнению профессора Демейна, таких конструкций из двойных отрицаний по возможности стоит избегать, хотя иногда они остаются единственным рабочим вариантом. Наконец, для работы с натуральными числами используется классическая индукция, требующая проверки базового случая $P(0)$ и доказательства шага, при котором из истинности $P(n)$ вытекает истинность $P(n+1)$.

🔀 Метод разбора случаев: утомление логикой 4:31

Новым инструментом в арсенале студентов становится метод разбора случаев (proof by cases). Его фундаментом служит простая логическая тавтология: для любого суждения $C$ выражение «$C$ или не $C$» ($C \lor \neg C$) всегда истинно. Чтобы не запутаться в символах, лектор предлагает простую мнемонику: знак дизъюнкции $\lor$ похож на английскую букву «o» (or), а конъюнкции $\land$ — на «a» (and).

Поскольку выражение $C \lor \neg C$ истинно всегда, доказательство любого утверждения $P$ становится эквивалентным доказательству того, что из $(C \lor \neg C)$ следует $P$. Используя дистрибутивный закон, это можно записать как:

$$(C \implies P) \land (\neg C \implies P)$$

Это уравнение и задает шаблон для разбора двух случаев. Математик разделяет задачу на две независимые ветки: в первой предполагается, что условие $C$ истинно, а во второй — что оно ложно. Если в обоих сценариях удается доказать истинность $P$, то и вся теорема считается доказанной. Главная трудность здесь, как отмечает профессор Демейн, заключается в правильном подборе того самого условия $C$, которое упростит дальнейшие вычисления. Финальным и критически важным этапом метода является проверка того, что выбранные случаи полностью исчерпывают все возможные варианты развития событий. Именно поэтому в англоязычной традиции этот метод также называют «доказательством путем истощения» (proof by exhaustion).

🐽 Летающие свиньи и первая тавтология 11:18

Для демонстрации метода Эрик Демейн предлагает доказать неочевидную на первый взгляд тавтологию: выражение $(A \implies B) \lor (B \implies C)$ всегда истинно для любых логических переменных. Лучшей стратегией здесь оказывается разбор случаев относительно переменной $B$, поскольку она фигурирует в обеих частях выражения.

Разбор строится следующим образом:

Для иллюстрации второго случая лектор приводит шутливый пример: «Если свиньи летают, то яблоки оранжевые». Это абсолютно истинное с точки зрения формальной логики высказывание, так как его посылка заведомо невыполнима в нашем мире. Поскольку в обоих случаях одна из половин выражения неизменно оказывается верной, вся теорема считается успешно продемонстрированной.

👥 Теорема о шести рукопожатиях: друзья и незнакомцы 16:07

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

Доказательство строится через выбор одного произвольного человека, назовем его $P$. Поскольку в группе остается еще пять человек, у $P$ с ними есть пять линий связи. Мы можем применить разбор случаев:

Эта задача служит фундаментом для так называемой теории Рамсея. На языке высшей математики этот результат записывается как $R(3,3) \le 6$ — для поиска трех друзей или трех незнакомцев достаточно 6 человек. Как отмечает профессор Демейн, если мы захотим гарантировать появление четырех друзей или четырех незнакомцев, нам потребуется уже 18 человек ($R(4,4) = 18$). А вот точное число для пяти человек ($R(5,5)$) до сих пор остается неразрешенной математической загадкой: ученые знают лишь то, что оно лежит в диапазоне от 43 до 48 человек.

🎨 Теорема о четырех красках и 1834 компьютерных казуса 31:14

Метод разбора можно масштабировать и на произвольное количество вариантов — $k$ случаев, если доказать, что совокупность условий $C_1, C_2, \dots, C_k$ покрывает абсолютно все возможные исходы задачи. Исторически самым известным примером такого колоссального перебора стала знаменитая Теорема о четырех красках. Она гласит, что любую географическую карту на плоскости можно раскрасить всего четырьмя цветами так, чтобы никакие два соседних государства, имеющие общую границу ненулевой длины, не были окрашены в один цвет.

История этого доказательства полна драматических ошибок:

В контексте этой теоремы лектор со смехом вспоминает известную первоапрельскую шутку популяризатора науки Мартина Гарднера, опубликованную в 1975 году. Гарднер показал сложнейшую карту Макгрегора, якобы требующую пяти цветов, и заявил, что число $e^{\pi \sqrt{163}}$ является целым. По словам Демейна, он в детстве потратил немало часов, безуспешно пытаясь раскрасить эту шуточную карту четырьмя цветами.

🧱 Визуализация логики: блочные диаграммы индукции 36:51

Возвращаясь к теме индукции, лектор формулирует ее классическую аксиому: если истинна база $P(0)$, и для любого $n$ из $P(n)$ следует $P(n+1)$, то утверждение верно для всех натуральных чисел. Чтобы сделать этот абстрактный принцип осязаемым, Демейн вводит понятие «блочных диаграмм».

Представьте себе блок-процедуру: вы подаете на вход доказанное утверждение слева, а на выходе получаете новое доказанное утверждение справа. Базовый случай $P(0)$ — это блок без входных данных, он генерирует истину «из воздуха». Шаг индукции — это блок, который принимает на вход $P(n)$ и трансформирует его в $P(n+1)$.

Соединяя их последовательно, мы получаем бесконечную цепь: база выдает $P(0)$, мы вставляем его в шаг для $n=0$ и получаем $P(1)$, затем передаем $P(1)$ в шаг для $n=1$ и получаем $P(2)$, и так далее. Сама индукция работает как суперобъект, сворачивающий эту бесконечную цепочку в один единый вывод.

Для специалистов по компьютерным наукам лектор предлагает альтернативную, более удобную формулировку индукции:

  1. Предположим, что $P(0)$ — истина.
  2. Для всех $n \ge 1$ докажем, что из $P(n-1)$ следует $P(n)$.

С точки зрения программирования это выглядит как обычный рекурсивный вызов функции: чтобы вычислить или доказать состояние для текущего параметра $n$, мы вызываем функцию для предыдущего состояния $n-1$.

💪 Сильная индукция: когда прошлого опыта становится больше 45:02

Обычная индукция имеет ограничение — она позволяет опираться исключительно на один предыдущий шаг ($n-1$). Однако существует гораздо более мощный инструмент — сильная (или полная) индукция. Логически она эквивалентна классической, но дает исследователю гораздо больше свободы. Ее формулировка звучит так: если для любого $n$ допущение, что утверждение верно для всех $i < n$, влечет за собой истинность $P(n)$, то $P(n)$ верно для всех натуральных чисел.

В формуле сильной индукции на первый взгляд нет явного базового случая, что часто пугает студентов. Лектор объясняет этот парадокс: при $n=0$ условие «для всех $i < 0$» превращается в так называемую «вакуумную истину» (vacuous truth), поскольку натуральных чисел меньше нуля не существует. Из ложной посылки может следовать что угодно, поэтому для $n=0$ нам в любом случае приходится доказывать истинность $P(0)$ без каких-либо внешних предположений. Для больших чисел (например, $n=5$) сильная индукция позволяет нам легально использовать в качестве аргументов истинность $P(0), P(1), P(2), P(3)$ и $P(4)$ одновременно, что существенно облегчает математические манипуляции.

Чтобы доказать справедливость самой сильной индукции, Демейн использует обычную индукцию, применив небольшую хитрость. Он вводит новую «гипотезу индукции» $IH(n)$, определяя её как конъюнкцию (логическое И) всех предыдущих утверждений:

$$IH(n) = P(0) \land P(1) \land \dots \land P(n-1)$$

База $IH(0)$ истинна по определению. На шаге индукции мы предполагаем истинность $IH(n)$, что по условию теоремы дает нам истинность $P(n)$. Объединяя их через логическое «И», мы получаем:

$$IH(n+1) = IH(n) \land P(n)$$

Это доказывает шаг обычной индукции. Таким образом, гипотеза $IH(n)$ верна для всех $n$, откуда напрямую следует и истинность исходного утверждения $P(n)$ для любого элемента множества. Блочная диаграмма для сильной индукции выглядит значительно сложнее: в узел для вычисления каждого последующего $P(n)$ стекаются стрелки-входы от абсолютно всех ранее рожденных блоков.

🪙 Игра в разбор кучи: почему стратегия не имеет значения 1:01:11

В качестве яркой иллюстрации сильной индукции профессор Демейн предлагает разобрать математическую игру под названием «unstacking game» (игра в разбор стопки). Правила просты: вы начинаете со стопки, в которой находится $n$ предметов. Каждым ходом вы можете взять любую стопку размером $S > 1$ и разделить ее на две новые стопки размером $a$ и $b$ так, чтобы выполнялся закон сохранения элементов ($a + b = S$, где $a \ge 1, b \ge 1$). За такой ход игрок получает количество очков, равное произведению $a \times b$. Игра завершается, когда перед вами окажутся $n$ стопок высотой в один предмет.

Проводя живую демонстрацию с пятью деревянными блоками, профессор Демейн пробует две разные стратегии:

  1. Стратегия баланса: Сначала разделить 5 блоков на стопки из 2 и 3 блоков ($2 \times 3 = 6$ очков). Стопку из 2 блоков разделить на 1 и 1 ($1 \times 1 = 1$ очко). Стопку из 3 блоков разделить на 1 и 2 ($1 \times 2 = 2$ очка). И последнюю двойку разбить на единицы ($1 \times 1 = 1$ очко). Суммарный счет: $6 + 1 + 2 + 1 = 10$ очков.
  2. Стратегия «отщипывания»: Каждый раз снимать со стопки ровно по одному блоку. Ходы принесут последовательно: $1 \times 4 = 4$ очка, затем $1 \times 3 = 3$ очка, $1 \times 2 = 2$ очка и $1 \times 1 = 1$ очко. Суммарный счет: $4 + 3 + 2 + 1 = 10$ очков.

Удивительно, но две совершенно разные стратегии привели к абсолютно одинаковому результату. Профессор Демейн формулирует теорему: при любом алгоритме разделения стопки из $n$ элементов финальный счет игры всегда будет равен фиксированному числу:

$$\frac{n(n - 1)}{2}$$

Докажем это с помощью сильной индукции. Предположим, что для всех куч размером меньше $n$ формула работает безупречно. Сделаем первый ход, разделив кучу $n$ на части $a$ и $b$. За этот ход мы получаем $a \times b$ очков. Поскольку обе новые кучи гарантированно меньше исходной ($a < n$ и $b < n$), мы имеем полное право применить к ним нашу гипотезу сильной индукции.

Тогда общая сумма очков за всю игру составит:

$$\text{Итог} = ab + \frac{a(a-1)}{2} + \frac{b(b-1)}{2}$$

Приведем выражение к общему знаменателю:

$$\text{Итог} = \frac{2ab + a^2 - a + b^2 - b}{2} = \frac{(a^2 + 2ab + b^2) - (a + b)}{2}$$

Поскольку $a^2 + 2ab + b^2 = (a+b)^2$, а исходное число $n = a + b$, мы можем провести финальную замену:

$$\text{Итог} = \frac{(a+b)^2 - (a+b)}{2} = \frac{n^2 - n}{2} = \frac{n(n-1)}{2}$$

Алгебра сошлась идеально. Каким бы безумным ни был выбор параметров $a$ и $b$ на каждом шаге игры, итоговый результат жестко предопределен математическим законом. Обычная индукция здесь бы не справилась, ведь мы не знаем заранее, равны ли кучи $n-1$ или они разбились на другие пропорции, но сильная индукция с легкостью щелкает эту задачу.

🏆 Турнирная магия: как упорядочить хаос побед 1:13:40

В финале лекции Эрик Демейн переходит к анализу спортивных соревнований, разбирая задачу о «порядке побед» (Beat Ordering). Представьте круговой турнир (Round Robin tournament), в котором участвуют $n$ команд. Каждая пара команд играет друг с другом ровно один раз, ничьих не бывает — кто-то обязательно побеждает, а кто-то уступает.

Математики утверждают, что для абсолютно любого исхода такого турнира можно составить такую линейную последовательность команд $T_1, T_2, \dots, T_n$, в которой первая команда победила вторую, вторая — третью, и так далее до самого конца ($T_{i}$ обыграла $T_{i+1}$). При этом в турнире может существовать циклическое не транзитивное соперничество, напоминающее игру «Камень, ножницы, бумага» (где бумага побеждает камень, камень — ножницы, а ножницы — бумагу). Даже в таком «зацикленном» хаосе мы можем выстроить цепочку, например: Бумага $\implies$ Камень $\implies$ Ножницы, где каждый элемент обыграл последующий.

Для доказательства существования такого порядка для любого числа команд $n$ вновь применяется сильная индукция. Мы берем одну случайную команду $T$ и делим все остальные команды турнира на две группы:

Очевидно, что размеры этих групп строго меньше общего числа команд ($|W| < n$ и $|L| < n$), поскольку сама команда $T$ не входит ни в одну из них. По гипотезе сильной индукции, внутри группы $W$ и внутри группы $L$ уже существуют свои собственные правильные порядки побед.

Теперь нам остается лишь склеить эти решения, поставив команду $T$ ровно посередине между ними:

$$[W_1 \implies W_2 \implies \dots \implies W_{|W|}] \implies \mathbf{T} \implies [L_1 \implies L_2 \implies \dots \implies L_{|L|}]$$

Чтобы эта глобальная цепь оставалась непрерывной, нам нужно проверить всего две стыковочные запятые. Должно выполняться условие, что последняя команда из списка победителей ($W_{|W|}$) обыграла $T$, а сама $T$ обыграла первую команду из списка проигравших ($L_1$). Но именно так мы и формировали эти группы изначально: абсолютно все участники множества $W$ победили команду $T$, а сама $T$ одержала верх над каждым из множества $L$.

Таким образом, сильная индукция позволяет элегантно расщеплять масштабные системные проблемы на изолированные подзадачи, находить для них локальные решения и собирать их обратно в общую работающую структуру.

💬 Цитаты

«Если вы можете доказать ложь, это означает, что ваше предположение тоже должно быть ложным.»

Эрик Демейн 03:49

«С сильной индукцией я могу предположить больше, так что это только облегчает мое доказательство.»

Эрик Демейн 48:23
👥 Спикер
📖 Термины
Тавтология
Логическое высказывание, которое остается истинным при любых значениях входящих в него переменных.
Теория Рамсея
Раздел комбинаторики, изучающий появление регулярных структур в случайных и хаотичных больших множествах.
Круговой турнир
Система проведения соревнований, где каждый участник играет со всеми остальными соперниками по очереди.
Вакуумная истина
Логический принцип, согласно которому утверждение считается истинным, поскольку его посылка относится к несуществующему (пустому) множеству.
📊 Цифры
🗓 Хронология
  1. 1852 Фрэнсис Гатри сформулировал Гипотезу о четырех красках.
  2. 1853 Альфред Кемпе опубликовал первое (ошибочное) доказательство теоремы.
  3. 1864 Перси Хивуд обнаружил фатальную ошибку и неполноту разбора случаев в работе Кемпе.
  4. 1880 Питер Тэт предложил свою версию доказательства, также опровергнутую через 11 лет.
  5. 1975 Мартин Гарднер опубликовал знаменитую первоапрельскую математическую мистификацию в Scientific American.
  6. 1976 Аппель и Хакен опубликовали первое успешное компьютерное доказательство Теоремы о четырех красках.
  7. 1996 Робертсон, Сандерс, Сеймур и Томас упростили перебор до 633 конфигураций.
  8. 2005 Вернер и Гонтье завершили полную формальную верификацию теоремы в системе автоматического доказательства Coq.
Математика и физика Сильная индукция Разбор случаев Теория Рамсея Теорема о четырех красках