Wielomianowy i deterministyczny algorytm testowania pierwszości liczb AKS
(Agrawala-Kayala-Saxeny)

Liczby pierwsze już od wieków fascynowały i zastanawiały uczonych. W matematyce pojęcie pierwszości liczb, to fundamentalne zagadnienie dotyczące liczb naturalnych. Jest ich nieskończenie wiele, a dowód ku temu przedstawił już Euklides.

Od samego początku także szukany jest sposób na szybkie i skuteczne znajdowanie kolejnych liczb pierwszych. Jest to najważniejszy cel - metoda deterministycznego znajdowania liczb pierwszych. Stanowią one bowiem podstawę liczb złożonych, każdą liczbę naturalna można jednoznacznie przedstawić jako iloczyn liczb pierwszych. Gdyby znaleźć sposób efektywnego, szybkiego znajdowania tych liczb byłoby to niezwykłe osiągnięcie w dziedzinie arytmetyki, pozwalające, np. łamać szyfry RSA (popularny szyfry kryptografii klucza publicznego).

Wielu znanych naukowców szukało sposobu znajdowania liczb pierwszych. Należał do nich min. Miller, Rabin, Reimann i inni. Wszystkie ich odkrycia i metody nie były jednak szybkie i przy dużych liczbach długotrwałe, inne szybsze, lecz niepewne - liczby sprawdzane były z pewnym dodatnim prawdopodobieństwem.

W 2002 roku trzech naukowców Agrawal, Kayal, Saxen opublikowali swoje super-odkrycie, algorytmu wielomianowego i deterministycznego! Sposób ten został nazwany od pierwszych liter nazwisk jego odkrywców, czyli AKS. Algorytm AKS jest o dziwo dosyć prosty i stosunkowo łatwy do zaimplementowania, jednak o wiele szybszy niż jego poprzednicy. Jest on stosowany do testowania dużych liczb, do małych stosuje się nadal test Millera-Rabina.

Algorytm AKS, czyli algorytm Agrawala, Kayala i Saxeny został opublikowany w sierpniu 2002 roku. Jak wiele wynalazków i odkryć również i ten algorytm nie jest zbyt skomplikowany, a jednocześnie jest przełomem w dziedzinie arytmetyki. Jest to pierwszy test deterministyczny (przewidywalny, 100% pewny) i wielomianowy wyznaczania czy dana liczba jest liczbą pierwsza, czy też nią nie jest. AKS doczekał się w krótkim okresie optymalizacji i udoskonaleń swojego działania, a prace nad nim ciągle trwają. Wszystkie udoskonalenia jednak, to tylko poprawki wydajności i uproszczenia, podstawa algorytmu jest niezmienna.