Введение

Тест простоты AKS (также известный как тест простоты Агравал — Кайал — Саксена и циклотомический тест AKS) — это детерминированный алгоритм доказательства простоты, разработанный и опубликованный Маниндрой Агравалом, Нираджем Кайалом и Нитином Саксеной, учеными-компьютерщиками из Индийского технологического института Канпура 6 августа 2002 года в статье под названием "PRIMES is in P". Этот алгоритм стал первым, способным за полиномиальное время определить, является ли заданное число простым или составным, и при этом не опирающимся на математические предположения, такие как обобщенная гипотеза Римана. Доказательство также примечательно тем, что не использует методы математического анализа. В 2006 году авторы были удостоены премии Гёделя и премии Фулкерсона за свою работу.

Важность

AKS — первый алгоритм доказательства простоты, который одновременно является общим, полиномиальным по времени, детерминированным и безусловно корректным. Предыдущие алгоритмы разрабатывались на протяжении веков и достигали не более трех из этих свойств. Алгоритм AKS может быть использован для проверки простоты любого произвольного числа. Известно множество быстрых тестов на простоту, которые работают только для чисел, обладающих определенными свойствами. Например, тест Лукаса — Лемера работает только для чисел Мерсена, а тест Пепина применим только к числам Ферма. Максимальное время работы алгоритма можно ограничить полиномом от количества цифр в проверяемом числе. Алгоритмы ECPP и APR окончательно доказывают или опровергают простоту заданного числа, но не известно, что они имеют полиномиальную временную сложность для всех входных данных. Алгоритм гарантированно детерминированно определяет, является ли проверяемое число простым или составным. Вероятностные тесты, такие как Миллера — Рабина и Бейли — PSW, могут проверять любое заданное число на простоту за полиномиальное время, но, как известно, дают лишь вероятностный результат. Корректность AKS не зависит от каких-либо непроверенных гипотез. В отличие от этого, детерминированная версия теста Миллера — Рабина работает за полиномиальное время для всех входных данных, но её корректность зависит от истинности еще не доказанной обобщенной гипотезы Римана. Несмотря на огромное теоретическое значение, алгоритм не используется на практике, что делает его «галактическим алгоритмом». Для 64-битных чисел тест Бейли — PSW является детерминированным и работает на много порядков быстрее. Для больших чисел производительность (также безусловно корректных) тестов ECPP и APR значительно превосходит AKS. Кроме того, ECPP может выдавать сертификат простоты, позволяющий независимо и быстро проверить результаты, что невозможно с алгоритмом AKS.

Алгоритм

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

Очерк доказательства действительности

Чтобы алгоритм был корректным, все шаги, определяющие n, должны быть корректными. Шаги 1, 3 и 4 тривиально корректны, поскольку они основаны на прямых проверках делимости n. Шаг 5 также корректен: поскольку (2) верно для любого выбора числа, взаимно простого с n, и r, если n – простое число, то неравенство означает, что n должно быть составным. Самая сложная часть доказательства – показать, что шаг 6 верен. Доказательство его корректности основано на верхней и нижней границах мультипликативной группы, построенной из биномов вида (X + a), которые проверяются на шаге 5. Шаг 4 гарантирует, что эти биномы являются различными элементами . Для конкретного выбора r границы приводят к противоречию, если n не является простым числом или степенью простого числа. В сочетании с проверкой на шаге 1 это подразумевает, что n всегда является простым числом на шаге 6.