On Tue, Aug 27, 2002 at 08:07:24PM +0000, Paulo Santa Rita wrote:
> Agora, neste exato momento, tem um "Montao de Gente" me enviando e-mail's e 
> me perguntando como e o Algoritmo Genial que um grupo de estudantes indianos 
> descobriram e que pesquisa maravilhosamente os numeros primos ! Parece que e 
> uma revolucao ! Alguem sabe algo a respeito ? Foi disponibilizado algum 
> paper ? Parece que a descoberta foi divulgada ontem.

O paper já foi disponibilizado há algumas semanas.
O título é 'PRIMES is in P', os autores são
Manindra Agrawal, Neeral Kayal e Nitin Saxena.
Ele pode ser obtido na home page do principal autor:
http://www.cse.iitk.ac.in/users/manindra/index.html

O paper tem 9 páginas e é bastante elementar.
O algoritmo, escrito em pseudocódigo, tem apenas 13 linhas
então lá vai:

Input: integer n > 1

1.      if ( n is of the form a^b, b > 1 ) output COMPOSITE;
2.      r = 2;
3.      while ( r < n ) {
4.              if ( gcd(n,r) != 1 ) output COMPOSITE;
5.              if ( r is prime )
6.                      let q be the largest prime factor of r-1;
7.                      if ( q >= 4sqrt(r)log n ) and ( n^(r-1/q) != 1 (mod r))
8.                              break;
9.              r := r + 1;
10.     }
11.     for a = 1 to 2sqrt(r)log n
12.             if ( (x-a)^n != (x^n - a) (mod x^r - 1,n) ) output COMPOSITE;
13.     output PRIME;

gcd significa mdc, sqrt significa raiz quadrada
e pode ser interpretado como a parte inteira da raiz
(assim todas as contas são em inteiros).

O coração deste algoritmo (linhas 2 até 10) é, dado n,
encontrar um primo r ~= (log n)^6 tal que
r-1 tem um fator primo q >= 4sqrt(r)log n
e com q um divisor da ordem de n módulo r
(o Lemma 4.2 do paper demonstra a existência de um tal r).
Uma vez encontrado este primo basta fazer as verificações nas linhas 11 e 12.
O 'x' que aparece na linha 12 é uma variável mesmo,
no sentido algébrico da palavra (e não o nome de um inteiro).
As congruências que se deve verificar são portanto congruências
entre polinômios; se n é primo elas valem sempre (Fermat)
mas se n é composto elas não podem todas valer (seção 2 do paper).

[]s, N.
=========================================================================
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
O administrador desta lista é <[EMAIL PROTECTED]>
=========================================================================

Responder a