Число Грэма: как устроена верхняя граница

Число Грэма - это конкретное натуральное число, которое долгое время держало рекорд как самое большое число, реально использованное в строгом математическом доказательстве. Оно возникло как верхняя граница в одной задаче теории Рамсея, и его размер настолько чудовищен, что обычная запись «цифрами» невозможна в принципе: во Вселенной не хватит частиц, чтобы выписать даже число его десятичных знаков. Чтобы вообще говорить о таком числе, нужна особая запись - стрелочная нотация Кнута. Ниже разберём, как из неё собирается верхняя граница, и калькулятор покажет, как быстро всё взрывается уже на первом шаге.
Откуда взялось число Грэма
Число названо в честь математика Рональда Грэма, который в 1970-х получил его как верхнюю оценку в задаче из комбинаторной теории Рамсея. Сама задача формулируется просто: рассматриваются вершины -мерного гиперкуба, все пары вершин соединены рёбрами, и каждое ребро красят в один из двух цветов. Вопрос - при каком наименьшем любая такая раскраска обязательно содержит одноцветный «плоский» полный подграф на четырёх вершинах.
Грэм доказал, что такое заведомо существует и не превосходит некоторого огромного числа . Это и есть число Грэма. Любопытно, что нижняя граница задачи долго оставалась смехотворно маленькой по сравнению с верхней: было известно лишь, что ответ не меньше 6 (позже 11, затем 13). Разрыв между «не меньше 13» и «не больше числа Грэма» - один из самых драматичных в математике.

Важно понимать: число Грэма - это именно граница, а не точный ответ задачи. Настоящее искомое , скорее всего, совсем небольшое. Но методы доказательства давали лишь грубую оценку сверху, и эта оценка оказалась невообразимо больше истинного значения.
Стрелочная нотация Кнута: как вообще записать гиганта
Обычные операции выстраиваются в лестницу. Сложение - это повторённый счёт, умножение - повторённое сложение, возведение в степень - повторённое умножение. Дональд Кнут предложил продолжить эту лестницу дальше с помощью стрелок .
Одна стрелка - это просто степень:
Две стрелки - тетрация, то есть башня степеней. Запись означает башню из троек, которая вычисляется сверху вниз:
Уже три тройки дают почти восемь триллионов. Добавим один этаж - и становится числом примерно с 3,6 триллионами знаков. Три стрелки - пентация - означают повторённую тетрацию:
то есть башню степеней высотой в семь с лишним триллионов этажей. Каждая новая стрелка - это не «чуть больше», а скачок на целый уровень бесконечной иерархии гипероперций. По духу это близко к числу Скьюза - ещё одному знаменитому гиганту, который записывают через многоэтажную степень, а не цифрами.

Как из слоёв собирается верхняя граница
Теперь главный фокус. Число Грэма строится не одной стрелкой и не двумя, а последовательностью слоёв, где количество стрелок само определяется предыдущим слоём.
Первый слой:
Здесь уже четыре стрелки - гипероперация настолько высокого порядка, что невообразимо больше всего, что мы выписали выше. Но это только начало. Каждый следующий слой использует столько стрелок, сколько равно предыдущему слою:
То есть в между тройками стоит стрелок. В - уже стрелок. И так далее. Число Грэма - это 64-й слой:
Осознать это почти невозможно: количество стрелок в записи само по себе чудовищно велико, а таких удвоений-надстроек делается 64 раза. Калькулятор выше показывает рост только самой нижней операции - тетрации , и даже он на высоте башни 5–6 уже выходит за пределы любого формата. А полное число Грэма стоит несоизмеримо выше.
Почему точное значение нельзя записать
У числа Грэма нет «десятичной записи» в обычном смысле - и дело не в том, что её трудно посчитать, а в том, что её физически негде разместить. Количество цифр в этом числе само по себе настолько велико, что превосходит число атомов в наблюдаемой Вселенной не на порядки, а на немыслимые «этажи» тетрации. Даже число цифр у числа цифр невозможно записать.
При этом - и это красивый парадокс - последние цифры числа Грэма известны точно. Последовательность степеней тройки по модулю периодична, поэтому конечный «хвост» десятичной записи можно вычислить рекуррентно, поднимаясь по этажам башни и каждый раз беря остаток. Например, число Грэма оканчивается на . Мы знаем, чем оно кончается, но не знаем - и не можем узнать - с чего начинается.
Чтобы прочувствовать масштаб, полезен другой угол. Если бы каждую цифру числа Грэма мы записали на отдельном протоне, всех протонов Вселенной не хватило бы даже на запись числа его цифр. И это число цифр само по себе тоже невыразимо - его число цифр снова невыразимо, и так далее на огромную глубину. Именно поэтому единственная честная мера величины здесь - не «сколько знаков», а «сколько раз нужно взять логарифм», то самое, что считает калькулятор выше для нижней операции.
Запомните разделение ролей: стрелки задают порядок операции (одна - степень, две - башня, три - повторённая башня), а число справа от стрелок - сколько раз эту операцию применить. В числе Грэма растёт именно количество стрелок.
Зачем нужны такие числа
Может показаться, что число Грэма - курьёз ради рекорда. На деле оно показывает, насколько грубыми бывают верхние границы в комбинаторике: метод доказательства гарантирует существование ответа, но даёт оценку, бесконечно далёкую от истины. Это типичная ситуация в комбинаторике, где даже хроматический полином графа и подсчёт раскрасок быстро упираются в гигантские величины, хотя сами объекты конечны.
С тех пор рекорд «самого большого числа в доказательстве» был побит (например, числами из теоремы Краскала и TREE(3)), но число Грэма осталось каноническим примером того, как стрелочная нотация Кнута позволяет хотя бы записать величину, которую невозможно представить.
Частые ошибки
- Путают число Грэма с бесконечностью. Это конечное натуральное число: у него есть последняя цифра, его можно сравнивать с другими числами. Оно просто очень большое.
- Считают точным ответом задачи Рамсея. Нет, это лишь верхняя граница; истинное искомое , по современным оценкам, совсем небольшое.
- Читают стрелки как обычную степень. Две стрелки - это башня степеней, а не и не . Порядок операции задаёт количество стрелок.
- Думают, что слоёв «всего 4», потому что в четыре стрелки. Стрелок в четыре, а слоёв - шестьдесят четыре, и каждый следующий неизмеримо больше предыдущего.
- Пытаются «прикинуть число знаков». Уже у число десятичных знаков само не помещается в запись - оценивать имеет смысл только высоту лестницы логарифмов.
FAQ
Чему равно число Грэма «в цифрах»? Записать его цифрами невозможно: количество знаков превосходит любые физические масштабы. Корректная запись - только через стрелочную нотацию Кнута как . Известны лишь последние цифры: оно оканчивается на .
Почему именно 64 слоя? Так получилось из самого доказательства Грэма: оценка сверху давала ровно такую конструкцию из 64 шагов надстройки стрелок. Число 64 не несёт особого смысла, кроме как «столько потребовалось методу».
Это и есть самое большое число в математике? Нет. Число Грэма было рекордом для чисел, реально фигурировавших в доказательстве, но позже его превзошли (TREE(3), числа из теоремы Краскала). А функций, растущих ещё быстрее, бесконечно много.
Коротко
Число Грэма - конечное, но невообразимо огромное натуральное число, возникшее как верхняя граница в задаче теории Рамсея о раскраске рёбер гиперкуба. Его нельзя записать цифрами, поэтому используют стрелочную нотацию Кнута: одна стрелка - степень, две - башня степеней (тетрация), три и больше - гипероперации ещё выше. Само число собирается из 64 слоёв , где количество стрелок в каждом слое равно предыдущему слою, а . Известны только последние цифры числа; первые - принципиально нет.
Читайте также

Абстрактный класс и интерфейс: в чём отличие
Абстрактный класс и интерфейс: чем отличаются в ООП, когда наследовать поведение, а когда задавать контракт, как выбрать на примерах Java, C# и Python.

Алгоритм AdaBoost: как слабые классификаторы дают сильный
Алгоритм AdaBoost простыми словами: адаптивный бустинг, перевзвешивание объектов, формула веса классификатора, итоговый ансамбль и разбор шага на примере с формулами.

Алгоритм CatBoost: бустинг с обработкой категорий
Алгоритм CatBoost простыми словами: упорядоченный бустинг против сдвига прогноза, кодирование категориальных признаков через ordered target statistics, симметричные деревья и разбор типовых задач.