Тема пришла из обсуждения на Reddit: в ветке r/math‑puzzles пост о новом решателе набрал более четырёх тысяч голосов за сутки, потому что затронул редкую, но захватывающую задачу о покрытии точек простыми числами.

Что за задача и почему она сложна

Берём первые N простых чисел, размещаем их на координатной плоскости: первое простое — 2 — в точке (1, 2), второе — 3 — в (2, 3) и так далее. Нужно найти минимальное количество прямых, проходящих через все эти точки. Это — задача о покрытии множеством, известная своей NP‑полнотой, то есть её решение экспоненциально растёт с N.

Старый рекорд

Макс Алексейев (GWU) в 2022 году с помощью промышленного решателя целочисленного программирования (MIP) получил ответ для N = 861, но потратил на это 282 часа вычислительного времени.

Новый подход автора

Автор, вдохновившись видеороликом Numberphile о «неловких простых», провёл месяц интенсивной оптимизации C++‑кода, подключив несколько агентов искусственного интеллекта. Ключевые новшества:

  • 12 162 «тяжёлых» линии (проходящие через ≥ 3 простых) хранятся в 1024‑битных битовых масках, полностью помещаются в кэш L2.
  • 60 % шагов завершаются мгновенно благодаря «свидетельскому» режиму, без какого‑либо поиска.
  • Лагранжевская релаксация с проекционным субградиентным спуском обеспечивает очень плотные нижние оценки.
  • Параллельный branch‑and‑bound с правилом «исключающей зависимости», которое без ветвления заставляет обязательные линии входить в решение.

Результат: N = 861 решён за 22 минуты, а полный прогон до N = 1024 занял менее 40 часов. Сертифицировано значение f(1024) = 143 и найдено 20 новых «неловких» простых, ранее не зафиксированных в OEIS.

Что говорят комментаторы

«12 162 тяжёлых линий перечисляются за 50 мс. Это не кэш прошлых результатов, а новый расчёт с нуля», — пользователь jespergran.

«Предыдущий скрипт на Python+Sage занимал 185 строк, а здесь — 3259‑строчный C++‑монолит, собранный агентами», — integrate_2xdx_10_13.

«Искусственный интеллект действительно ускорил процесс: 300 часов работы агентов превратились в 750‑кратный прирост», — Farados55.

Почему это важно за пределами математики

Точная сертификация решений в задачах покрытий открывает двери к более надёжным алгоритмам в логистике, планировании сетей и криптографии. Кроме того, демонстрация того, что «агенты‑разработчики» способны самостоятельно улучшать сложный код, меняет представление о том, кто может писать оптимальные решения.

Анализ рынка

В России

  • MathSolver.ru — онлайн‑помощник по решению задач высшей математики, поддерживает ввод уравнений, но не умеет работать с задачами покрытий.
  • Эвристика‑AI — сервис генерации кода на основе запросов, полезен для прототипов, однако не предоставляет готовых оптимизаторов для NP‑полных задач.

За рубежом

  • OEIS (A373813) — база последовательностей, где опубликованы результаты нового решателя; служит справочным ресурсом, но не предлагает интерактивных вычислений.
  • AlgoMonster — обучающий портал с разбором задачи «Минимальное число линий для покрытия точек» (LeetCode 2152); предоставляет готовый код, но без глубокой оптимизации.
  • MathGPT — AI‑сервис, генерирующий пошаговые объяснения по математике; умеет писать код, но не специализируется на задачах покрытий.
  • Cover (открытый репозиторий) — набор решателей точного покрытия, основанный на алгоритме «танцующие ссылки» Дональда Кнута; требует самостоятельной сборки и настройки.

Незакрытая ниша: в России отсутствует интерактивный веб‑инструмент, позволяющий пользователю задавать N и получать сертифицированный минимум линий в реальном времени, а также визуализировать покрывающие линии и «неловкие» простые.

💡 Идеи для предпринимательства

Сайты

  • Онлайн‑калькулятор покрытия простыми — пользователь вводит N, получает минимум линий, сертификат решения и графическую визуализацию; монетизация через подписку на расширенный режим (детальные отчёты, экспорт в SVG).
  • База «неловких» простых — справочник новых простых, найденных последними решателями, с возможностью подписки на уведомления о новых записях.

Мобильные приложения

  • Тренажёр по покрытию точек — игра‑головоломка, где игрок сам подбирает линии, а приложение проверяет оптимальность в реальном времени; доход от внутриигровых подсказок.
  • Telegram‑бот «PrimeCover» — по запросу «/cover N» бот выдаёт минимум линий, график и ссылку на интерактивный просмотр; платный доступ к API для разработчиков.

Бизнес‑идеи

  • Консультации по оптимизации NP‑полных задач — небольшие проекты для стартапов, которым нужен быстрый прототип (логистика, планирование сетей); оплата за час экспертизы.
  • API‑сервис «LineCover» — веб‑интерфейс, принимающий массив точек и возвращающий оптимальное покрытие; тарифы от бесплатного до корпоративного с SLA.

Читайте также