
En teoría de números , el algoritmo de Berlekamp para encontrar raíces , también llamado algoritmo de Berlekamp-Rabin , es el método probabilístico para encontrar raíces de polinomios sobre el campoconelementos. El método fue descubierto por Elwyn Berlekamp en 1970 [ 1 ] como auxiliar del algoritmo para la factorización de polinomios sobre cuerpos finitos. El algoritmo fue modificado posteriormente por Rabin para cuerpos finitos arbitrarios en 1979. [ 2 ] El método también fue descubierto independientemente antes de Berlekamp por otros investigadores. [ 3 ]
Historia
El método fue propuesto por Elwyn Berlekamp en su trabajo de 1970 [ 1 ] sobre factorización de polinomios sobre cuerpos finitos. Su trabajo original carecía de una prueba formal de corrección [ 2 ] y posteriormente fue refinado y modificado para cuerpos finitos arbitrarios por Michael Rabin . [ 2 ] En 1986, René Peralta propuso un algoritmo similar [ 4 ] para encontrar raíces cuadradas en. [ 5 ] En 2000, el método de Peralta se generalizó para ecuaciones cúbicas . [ 6 ]
Planteamiento del problema
Dejarsea un número primo impar. Consideremos el polinomiosobre el campode restos móduloEl algoritmo debería encontrar todosende tal manera queen. [ 2 ] [ 7 ]
Algoritmo
Aleatorización
DejarEncontrar todas las raíces de este polinomio es equivalente a encontrar su factorización en factores lineales. Para encontrar dicha factorización, basta con dividir el polinomio en dos divisores no triviales cualesquiera y factorizarlos recursivamente. Para ello, consideremos el polinomiodónde es algún elemento deSi se puede representar este polinomio como el productoentonces, en términos del polinomio inicial, significa que, que proporciona la factorización necesaria de. [ 1 ] [ 7 ]
Clasificación deelementos
Debido al criterio de Euler , para cada monomioSe cumple exactamente una de las siguientes propiedades: [ 1 ]
- El monomio es igual asi,
- La división monomialsi es residuo cuadrático módulo,
- La división monomialsi es cuadrático no residual módulo.
Por lo tanto, sino es divisible por, que puede comprobarse por separado, entonceses igual al producto de los máximos comunes divisoresy. [ 7 ]
El método de Berlekamp
La propiedad anterior conduce al siguiente algoritmo: [ 1 ]
- Calcular explícitamente los coeficientes de,
- Calcular los restos demóduloelevando al cuadrado el polinomio actual y tomando el resto módulo,
- Utilizando la exponenciación por elevación al cuadrado y los polinomios calculados en los pasos anteriores, calcule el resto demódulo,
- SientoncesLos mencionados a continuación proporcionan una factorización no trivial de,
- De lo contrario, todas las raíces deson residuos o no residuos simultáneamente y uno tiene que elegir otro.
Sies divisible por algún polinomio primitivo no linealencimaluego al calcularconyse obtendrá una factorización no trivial de, por lo tanto, el algoritmo permite encontrar todas las raíces de polinomios arbitrarios sobre.
raíz cuadrada modular
Consideremos la ecuacióntener elementosycomo sus raíces. La solución de esta ecuación es equivalente a la factorización del polinomio.encimaEn este caso particular, basta con calcular soloPara este polinomio se cumplirá exactamente una de las siguientes propiedades:
- MCD es igual alo que significa queyson ambos no residuos cuadráticos,
- MCD es igual alo que significa que ambos números son residuos cuadráticos,
- MCD es igual alo que significa que exactamente uno de estos números es un residuo cuadrático.
En el tercer caso, el MCD es igual a cualquiera de los siguienteso. Permite escribir la solución como. [ 1 ]
Ejemplo
Supongamos que necesitamos resolver la ecuación.Para ello necesitamos factorizar. Consideremos algunos valores posibles de:
- Dejar. Entonces, de este modoAmbos númerosson no residuos cuadráticos, por lo que necesitamos tomar algún otro.
- Dejar. Entonces, de este modoDe esto se deduce, entoncesy.
Una comprobación manual demuestra que, efectivamente,y.
Prueba de corrección
El algoritmo encuentra la factorización deen todos los casos excepto en aquellos en que todos los númerosson residuos cuadráticos o no residuos simultáneamente. Según la teoría de la ciclotomía , [ 8 ] la probabilidad de tal evento para el caso en queson todos residuos o no residuos simultáneamente (es decir, cuandofallaría) puede estimarse comodónde es el número de valores distintos en. [ 1 ] De esta manera, incluso en el peor de los casos,y, la probabilidad de error puede estimarse comoy para el caso de raíz cuadrada modular la probabilidad de error es como máximo.
Complejidad
Sea un polinomio de gradoLa complejidad del algoritmo se deriva de la siguiente manera:
- Debido al teorema del binomio, podemos hacer la transición desdeaentiempo.
- La multiplicación de polinomios y el cálculo del resto de un polinomio módulo otro se puede realizar en, por lo tanto, el cálculo dese hace en.
- La exponenciación binaria funciona en.
- Tomar elde dos polinomios mediante el algoritmo euclidiano funciona en.
Por lo tanto, todo el procedimiento puede realizarse en. Utilizando la transformada rápida de Fourier y el algoritmo Half-MCD, [ 9 ] la complejidad del algoritmo puede mejorarse a. Para el caso de raíz cuadrada modular, el grado es, por lo tanto, la complejidad total del algoritmo en tal caso está limitada porpor iteración. [ 7 ]
Referencias
- 1 2 3 4 5 6 7 Berlekamp, ER (1970). "Factoring polynomials over large finite fields" . Mathematics of Computation . 24 (111): 713– 735. doi : 10.1090/S0025-5718-1970-0276200-X . ISSN 0025-5718 .
- ^ M. Rabin (1980 ) . "Algoritmos probabilísticos en campos finitos". Revista SIAM de Computación . 9 (2): 273– 280. CiteSeerX 10.1.1.17.5653 . doi : 10.1137/0209024 . ISSN 0097-5397 .
- ↑ Donald E Knuth (1998). El arte de la programación informática. Vol. 2. Addison-Wesley. ISBN 978-0201896848OCLC 900627019
- ↑ Tsz-Wo Sze (2011). "Sobre la toma de raíces cuadradas sin residuos cuadráticos sobre cuerpos finitos". Matemáticas de la Computación . 80 (275): 1797– 1811. arXiv : 0812.2591 . doi : 10.1090/s0025-5718-2011-02419-1 . ISSN 0025-5718 . S2CID 10249895 .
- ↑ R. Peralta (noviembre de 1986). "Un algoritmo probabilístico simple y rápido para calcular raíces cuadradas módulo un número primo (Corresp.)". IEEE Transactions on Information Theory . 32 (6): 846– 847. doi : 10.1109/TIT.1986.1057236 . ISSN 0018-9448 .
- ↑ C Padró, G Sáez (agosto de 2002). "Calculando raíces cúbicas en Zm". Applied Mathematics Letters . 15 (6): 703– 708. doi : 10.1016/s0893-9659(02)00031-9 . ISSN 0893-9659 .
- 1 2 3 4 Alfred J. Menezes, Ian F. Blake, XuHong Gao, Ronald C. Mullin, Scott A. Vanstone (1993). Aplicaciones de campos finitos . The Springer International Series in Engineering and Computer Science. Springer US. ISBN 9780792392828.
{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace ) - ↑ Marshall Hall (1998). Teoría combinatoria . John Wiley & Sons. ISBN 9780471315186.
- ↑ Aho, Alfred V. (1974). El diseño y análisis de algoritmos informáticos . Addison-Wesley Pub. Co. ISBN 0201000296.
- Algoritmos
- Álgebra
- Algoritmos de teoría de números
- Polinomios