Тема пришла из обсуждения на 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.