- BrainTools - https://www.braintools.ru -
5 октября американские исследователи Вирджиния Василевска-Уильямс, известная своими быстрыми (и безумно сложными) алгоритмами перемножения матриц за вместо
и её бывший аспирант Джош Алман опубликовали препринт на [1]arxiv.org [2], демонстрирующий алгоритм решения задачи 3SUM за
.
Это знаковое событие в узких кругах. Во-первых, раньше предполагалось, что решить эту задачу быстрее, чем за , невозможно. Во-вторых, вместе с ней наконец решилась быстрее, чем за
, задача нахождения кратчайших путей между любыми парами вершин в графе (All-Pairs Shortest Paths, APSP) — по-настоящему практическая задача вычислительной геометрии. В-третьих, мало того, что корректность работы проверяла закрытая модель Anthropic — авторы также утверждают, что Claude нашёл изначальный алгоритм, после чего учёные осознали и улучшили его.
В этой новости я очень кратко перескажу долгий путь, который привёл к этому открытию, и опишу роль LLM в финале этого пути. Начнём изблизи — с описания самой задачи.
Есть ли в заданном множестве чисел три, сумма которых равна нулю?
Это и есть вся задача. Формулируется в одно предложение, и в целом решается любым мало-мальски тренированным программистом с помощью хэш-таблицы и вложенного цикла за пять минут:
from itertools import combinations
def solve_3sum(numbers: set[int]) -> bool:
for x, y in combinations(numbers, 2):
z = -x - y
if z in present:
return True
return False
Нетрудно проверить, что решение это стоит . Сначала (при необходимости) строим хэш-таблицу за
, потом пробегаем по всем
парам чисел и делаем в неё запрос за
. Вопрос, стоявший с 2014 года, был в том, можно ли решить её быстрее — а именно полиномиально быстрее, то есть за
для хоть какого-то положительного
. Теперь мы знаем, что
!
Как это часто бывает в вычислительной математике [3], новый быстрый алгоритм для задачи на самом деле вовсе не для неё — а для какой-то другой задачи, про которую мы знаем, что она сводится к интересующей.
В данном случае это задача о треугольнике нулевого веса, в англоязычной среде известная как Exact Triangle problem.
Есть ли в заданном графе графе с рёбрами с целочисленными весами и
вершинами треугольник, сумма весов ребёр в котором равна нулю?
Ещё одна задача с простой формулировкой и наивным решением, в этот раз за , которое не страшно попросить налайвкодить на собеседовании. Сама Вирджиния доказала [4] это сведение (вместе с мужем!) в 2009 году — в тексте всего 19 страниц [5], все желающие приглашаются к чтению. Причём не просто доказала сведение, а доказала, что если найден алгоритм за
, то для 3SUM будет автоматически найден алгоритм за
.
Следующее сведение, снова доказанное [6] Василевска-Уильямс, уже в 2020-м году, сводит Exact Triangle к All-Edges Sparse Triangle.
В заданном графе с
рёбрами определить для каждого ребра, входит ли оно в хоть какой-нибудь треугольник.
Наивное решение по-прежнему просто: перебираем все рёбра, перебираем все пары соседних рёбер, проверяем, получается ли треугольник — получаем . Но к чему же сводится эта задача, чтобы получить не наивное?
В начале я упомянул, что Вирджиния Василевска-Уильямс знаменита своими алгоритмами умножения матриц. Алгоритмы эти довольно сложны; фигурируют многомерные массивы чисел, их разложения, канонические тензорные ранги и так далее.
И, конечно, не удивительно, что и здесь всё в итоге пришло к ним — хоть и довольно интересным способом.
Само по себе сведение графовых алгоритмов к матрицам не ново. Для любого графа, ориентированного или нет, можно построить матрицу смежности — в ячейке пишем 0, если вершины
и
не связаны ребром, и 1, если связаны. Заходя вперёд скажу, что можно назвать это число количеством способов попасть из вершины
в вершину
за 1 шаг.
Назовём эту матрицу (от слова adjacency — смежность). Что будет, если мы, скажем, возведём её в квадрат? Какой будет смысл у числа в ячейке
матрицы
? Давайте посмотрим на определение произведения матриц:
По сути мы берём всевозможные промежуточные вершины и перемножаем количество способов попасть из
в
(за один шаг) на количество способов попасть из
в
(также за один шаг). А значит, мы перебираем всевозможные способы попасть из
в
за два шага.
Это легко можно использовать для решения задачи All-Edges Sparse Triangle. Строим матрицу смежности, считаем её квадрат. Дальше перебираем все рёбра графа. Если — ребро в графе, мы точно знаем, что из
в
можно попасть напрямую за один шаг. Если при этом величина
не равна нулю, значит, можно попасть из
в
за два шага. А это как раз означает, что ребро
лежит в каком-то треугольнике
. Итого мы решили задачу, возведя матрицу
в квадрат.
Чуть более сложным образом, чем я описал (окей, значительно более сложным образом) задача 3SUM сводится Вирджинией к перемножению узких матриц — размера
и
размера
, с
. Да не просто перемножению. Учёные описывают алгоритм, позволяющий найти значения в любом подмножестве позиций матрицы
— но не более
позиций — за
арифметических операций.
Препринт с этим результатом публично доступен [7] и длиной всего в 76 страниц — можно прочитать и написать потом хорошую статью на Хабр (ну или сразу кандидатскую диссертацию).
Авторы препринта рассказывают, что в ходе поиска решений открытых криптографических задач сотрудником Anthropic модель, сгенерировав 16 миллионов токенов, нашла описанный в препринте алгоритм. В сентябре 2026-го Anthropic поделилась им с авторами, докинув NDA, денег и бесплатного доступа к публичным моделям.
После написания статьи Anthropic также применили свою внутреннюю модель для проверки результатов посредством системы доказательства теорем Lean 4 — формализация также доступна онлайн [8].
Также авторы указывают, что использовали помощь Claude в написании текста, создании иллюстраций (их в статье аж 10 штук) и проверке математических фактов.
Вирджиния Василевска-Уильямс вместе с коллегами больше двадцати лет развивала математический аппарат, позволяющий строить более быстрые алгоритмы особого класса, а также работала над сведением одних задач к другим, решающимся такими алгоритмами.
Закрытая модель Anthropic нашла новый алгоритм такого класса за сессию, продолжительность и цену которой сложно оценить — мы знаем только про 16 миллионов токенов на выходе, что стоит от силы $1000.
С помощью Claude авторы подготовили и выпустили препринт научной математической статьи длиной в 76 страниц меньше, чем за месяц от получения письма от Anthropic.
Хотя эти числа весьма красноречивы, есть что отметить и со стороны ИИ-скептицизма. Во-первых, алгоритм такого класса — это по сути многомерный массив с какими-то числами; во-вторых, такие алгоритмы непрактичны ввиду своей сложности и большой константы, спрятанной внутри ; в-третьих, мало кто в мире в принципе понимает, как устроен поиск таких алгоритмов. Так что это может быть ещё одним примером задачи, которую нейросеть решила быстрее людей за счёт способности к быстрому автоматизированному перебору и крайней нишевости результата. Кроме того, нейросеть воспользовалась долгим путём, проторенным мясными математиками, и неизвестно, смогла ли бы она найти этот алгоритм, или даже задумалась ли бы о решении этой задачи, если бы не целая научная карьера, положенная на развитие этого пути.
Автор: saluev
Источник [9]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/36596
URLs in this post:
[1] препринт на : https://arxiv.org/abs/2610.06783v1
[2] arxiv.org: http://arxiv.org
[3] математике: http://www.braintools.ru/article/7620
[4] доказала: https://dl.acm.org/doi/abs/10.1145/1536414.1536477
[5] всего 19 страниц: https://www.academia.edu/download/103493722/finding-full.pdf
[6] доказанное: https://ieeexplore.ieee.org/abstract/document/9318002
[7] публично доступен: https://arxiv.org/pdf/2610.06783v1
[8] доступна онлайн: https://github.com/anthropics/formal-math/tree/main/3sum-apsp
[9] Источник: https://habr.com/ru/articles/1091158/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1091158
Нажмите здесь для печати.