Магические квадраты знакомы почти всем: это квадратная сетка чисел, в которой сумма чисел в каждой строке, каждом столбце и на обеих главных диагоналях одинакова — это число называют магической константой. Обычно также требуют, чтобы числа шли подряд — как правило, от 1 до n², — и тогда квадрат называют нормальным. Иначе можно было бы просто заполнить все ячейки одним и тем же числом, что превратило бы задачу в скучное упражнение.

Магические квадраты известны тысячи лет и хорошо изучены — существуют алгоритмы построения нормального магического квадрата любого порядка n>2.

Магический шестиугольник применяет ту же идею к гексагональной сетке. Его ячейки образуют прямые линии в трёх направлениях, и сумма чисел на каждой такой линии должна быть одинаковой. Как и в случае с квадратами, магический шестиугольник называется нормальным, если содержит последовательные числа от 1 до 3n²-3n+1 — именно столько ячеек в шестиугольнике порядка n.

Аномальный нулевой магический шестиугольник порядка 21

Единственный нетривиальный нормальный магический шестиугольник (не считая его поворотов и отражений) — порядка 3. Доказательство простое: в каждом из трёх направлений ячейки разбиваются на 2n-1 линий, поэтому сумма всех чисел должна делиться на 2n-1. Для любого порядка n>3 сумма чисел от 1 до 3n²-3n+1 не проходит эту проверку на делимость.

Заканчивать историю на этом было бы скучно. Гораздо интереснее рассмотреть так называемые аномальные магические шестиугольники — здесь ослабляется одно из условий: числа на сетке по-прежнему должны идти подряд, но необязательно начинаться с 1.

Это небольшое послабление внезапно открывает пространство для новых решений.

Найти их, впрочем, непросто. В отличие от магических квадратов, для шестиугольников не существует формульной конструкции или детерминированного алгоритма — единственный известный подход заключался в переборе огромного пространства возможных расстановок. Согласно Википедии, по состоянию на июль 2026 года крупнейшим известным решением был шестиугольник порядка n=9, найденный Клаусом Меффертом в 2024 году.

Что же делает поиск таких решений настолько трудным? И можно ли попробовать продвинуться дальше?

Глава 1: Наблюдения (человеческим умом)

Между двумя независимыми условиями существует явное противоречие:

  1. числа должны идти подряд;
  2. суммы на всех линиях должны быть равны, хотя линии имеют разную длину.

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

Наблюдение: антисимметричные шестиугольники намного проще

Сначала ограничим числа на сетке симметричным интервалом −K,…,K для некоторого K. Если все суммы линий равны, это эквивалентно требованию, чтобы каждая сумма линии равнялась нулю.

Затем поместим 0 в центр и потребуем, чтобы ячейки, противоположные друг другу при повороте на 180 градусов, содержали противоположные значения: если одна ячейка содержит x, её антипод содержит −x.

Множество ограничений при этом исчезает само собой. Любая линия, проходящая через центр, автоматически суммируется в ноль, так как её значения взаимно сокращаются попарно. У любой другой линии есть антиподальная линия с суммой противоположных чисел — если одна из них равна нулю, то и другая тоже.

Конечно, упрощение условий несёт риск: возможно, ни одно решение не удовлетворяет дополнительной симметрии вовсе. На этом этапе антисимметрия была просто правдоподобным местом для поиска — по принципу пьяницы под фонарём.

Но стоило начать думать о шестиугольниках с нулевой суммой, как обнаружилась ещё одна структура.

Наблюдение: каждый шестиугольник с нулевой суммой строится из одного и того же 6-точечного кольца

Рассмотрим произвольную гексагональную сетку — с нулевой суммой или без. Возьмём шесть ячеек, окружающих любую внутреннюю точку, и добавим к ним чередующийся паттерн [−1,+1,−1,+1,−1,+1], оставив центральную ячейку без изменений.

Каждая прямая линия, пересекающая это кольцо, получает либо нулевой вклад, либо два противоположных вклада, +1 и −1. Её сумма при этом не меняется. Такой паттерн можно добавлять с любым коэффициентом, не меняя ни одну сумму линии.

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

Таким образом, шестиугольник порядка n с нулевой суммой имеет два эквивалентных представления:

  • видимые значения ячеек;
  • потенциальное поле порядка (n−1), фиксирующее, сколько каждого локального кольца в нём содержится.

Представление через потенциальное поле по построению удовлетворяет всем ограничениям на суммы линий. Однако оно не гарантирует, что видимые значения различны и идут подряд — эти глобальные условия по-прежнему остаются сложными.

Потенциальное поле магического шестиугольника порядка 21

Это представление хорошо согласуется и с антисимметрией: потенциальное поле антисимметричного шестиугольника само является симметричным.

Идея в том, что вместо перебора произвольных расстановок с постоянным исправлением нарушенных линий теперь можно искать решения полностью внутри пространства, где каждая линия уже суммируется в ноль. Окажется ли это пространство поиска меньше — заранее не известно, но проверить стоит.

Глава 2: поиск новых шестиугольников (код пишет AI)

Примерно в это же время шла помощь в подготовке задач для Midnight Code Cup 2026 — соревнования по программированию, где использование LLM явно поощряется. Многие его задачи представляют собой задачи оптимизации. Главный вывод: LLM могут быть необычайно эффективны при разработке специализированных решателей, оставляя далеко позади универсальные инструменты вроде Z3 и OR-Tools.

Поэтому вместо очередного универсального solver'а ограничений задача была передана GPT-5.6 Sol с большей свободой действий. Модели были указаны ограничение на антисимметрию и представление через потенциальное поле. Она нашла связанные концепции и связала задачу с массивами Хеффтера — комбинаторными расстановками знаковых целых чисел с заданными условиями нулевой суммы. Задачи не идентичны, но эта связь подсказала более удачные способы организации значений и обмена ими с контролем затрагиваемых сумм.

Получившаяся программа отказалась от подхода с универсальным решателем ограничений в пользу кастомного алгоритма имитации отжига. Затем последовало несколько раундов проверки и оптимизации: модели было предложено использовать Numba для горячих циклов, с помощью perf были выявлены узкие места в выделении памяти и генерации случайных чисел, и в итоге удалось выжать из программы ещё 50% производительности. Вот итоговый результат.

Программу оставили работать на домашнем сервере на несколько дней, задействовав примерно 24 ядра CPU.

Как и предполагалось, сочетание меньшего пространства поиска и специализированного решателя сработало на удивление хорошо. Вскоре были найдены магические шестиугольники всех порядков вплоть до n=21.

Значения ячеек выглядят хаотично и зашумлённо. Их потенциальные поля — нет: они напоминают карты рельефа с широкими склонами, хребтами, впадинами и удивительно плавными переходами.

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

Глава 3: поиск всех шестиугольников (AI берёт управление на себя)

Постоянное нахождение всё более крупных решений естественным образом навело на гипотезу:

Аномальные антисимметричные магические шестиугольники с последовательными числами существуют для любого порядка n>3.

Это было сильное утверждение. До начала проекта было известно лишь несколько аномальных магических шестиугольников, а тут ещё и дополнительное ограничение антисимметрии.

Вдохновившись недавними успехами AI в математике, было интересно посмотреть, как искусственный интеллект подойдёт к задаче. Сможет ли он доказать гипотезу с нуля?

Решено было испытать две AI-системы:

  • GPT-5.6 Sol — самую мощную универсальную модель, доступную по личной подписке;
  • Aristotle — агент для доказательства теорем на базе Lean.

Сначала GPT-5.6 Sol (high) получила постановку задачи, известные решения и несколько дополнительных интуитивных соображений. Модель предложила новые гипотезы и возможные конструкции, затем начала разбивать задачу на более мелкие части. Работа набрала обороты. На этом этапе управление процессом оставалось в основном за человеком: приходилось разбираться в незнакомом математическом аппарате, проверять аргументы, отбрасывать бесперспективные направления и направлять процесс, который в целом удавалось отслеживать.

Прошло несколько дней итераций. Задача была сведена к нескольким ключевым леммам, и параллельно к работе был подключён Aristotle для формального доказательства.

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

Тем не менее прогресс упёрся в стену.

Затем в дело вступил GPT-5.6 Sol (max), который рассуждал много часов и… тоже не смог найти доказательство. Однако перед исчерпанием лимита он выдал несколько новых идей, которые вошли в общий контекст проекта и остались доступны в последующих беседах.

В одной из таких бесед, когда GPT-5.6 Sol (high) снова направлялась к доказательству, модель подхватила несколько из этих ранних идей и объединила их в конструкцию, похожую на прорыв. После вычислительной проверки появилось конструктивное доказательство для любого порядка n>800, кратного 16.

Как только эта опора была установлена, работа действительно набрала темп. Итерация за итерацией GPT-5.6 Sol (high) обобщала конструкцию: сначала для порядков, кратных 8, затем 4, затем 2, и наконец условие делимости было убрано полностью. Доказанный порог также снизился с 800 до 114.

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

Когда общая конструкция была готова, последовал ещё один этап работы — на этот раз ради простоты и детерминированности. Было очевидно, что исходная конструкция содержала множество частных случаев, вспомогательных выборов и элементов аппарата, унаследованных от предыдущих попыток. И действительно, GPT-5.6 Sol (high) неоднократно находила избыточности в конструкции и заменяла их более чистым детерминированным алгоритмом.

Потребовались десятки долгих бесед и несколько дней рассуждений, но гипотеза была доказана. Причём результат конструктивен: он не просто утверждает, что такие шестиугольники существуют, а даёт алгоритм их построения, начиная с относительно небольших порядков. В сочетании с найденными ранее методом перебора конечными примерами вплоть до n=21 это покрывает все порядки n>3.

Важно отметить, что на момент публикации доказательство не было формализовано в Lean и не прошло независимую проверку — это станет естественным следующим шагом.

Реализация построения шестиугольников на Python доступна в репозитории gukoff/magic-hexagons.

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

Глава 4: размышления

  • Проект начинался с AI в роли второго пилота и человека за штурвалом. К концу роли поменялись: искусственный интеллект выполнял большую часть творческой работы, а человек лишь подталкивал его в перспективные направления.

    Приятно, что некоторые идеи, родившиеся в человеческом уме, оказались ключевыми. Антисимметрия играет важнейшую роль в итоговой конструкции, а вот потенциальные поля — не так сильно. Тем не менее их гладкость остаётся интересной темой, и, возможно, в ней ещё есть что открыть.

  • GPT-5.6 Sol — впечатляюще способный математический "рассуждатель", но у него есть обоюдоострая склонность к туннельному зрению. Модель может очень глубоко погрузиться в выбранное направление. Когда направление верное — это невероятно продуктивно. Когда неверное — необходим арбитр в процессе: другая модель или, как в этом случае, человек, — напоминающий о общей картине и замечающий момент, когда прогресс останавливается.

  • Критически важным оказался доступ модели к интернету: она находила связанные статьи и математические концепции, которые невозможно было бы предугадать и предоставить заранее. Это одна из причин, по которой использовался веб-интерфейс ChatGPT, а не Codex. Другая причина личная: хотелось, чтобы проект оставался прежде всего умственным упражнением на досуге, а не превратился в очередной инженерный проект, приковывающий к компьютеру. Впрочем, для серьёзной кампании по доказательству стоило бы использовать более систематическую настройку: несколько моделей, работающих параллельно, явные роли для выдвижения и критики аргументов, постоянный общий контекст и доступ к поиску в интернете через сервис вроде exa.ai.

  • В разработке ПО код-ревью стало узким местом, как только LLM удешевили генерацию кода. Статически типизированные языки, статический анализ и тестирование внезапно стали важны как никогда, поскольку они снимают часть растущей нагрузки по проверке корректности с людей.

    Математика сейчас сталкивается с похожей проблемой. AI способен производить кандидатные теории и доказательства быстрее, чем люди могут ответственно их проверить. Lean и другие машинно-верифицируемые системы доказательств должны стать огромным подспорьем для сообщества, предлагая способ масштабировать проверку вместе с генерацией.

  • Остаётся вопрос, можно ли применить найденные в этом проекте техники к другим комбинаторным задачам построения и развить их во что-то более общее, чем решение одной гексагональной головоломки. На ум сразу приходят массивы Хеффтера.

  • Забавно, что эта история началась с интереса к числу 19, а закончилась построением магических шестиугольников для любого порядка больше 3. Осталось сделать доказательство машинно-верифицируемым — теперь есть работа для Aristotle и leanprover/comparator.