Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Primes in P

Primes in P

Christian Poveda

October 15, 2015
Tweet

More Decks by Christian Poveda

Other Decks in Science

Transcript

  1. ¿Es P primo? Christian Poveda Universidad de los Andes 15

    de octubre de 2015 . . . . . . . . . . . . . . . . . . . .
  2. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Contenido Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) ¿Es P primo? 2/20
  3. Motivación . . . . . . . . .

    . . . . . . . . . . .
  4. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? ¿Es P primo? 4/20
  5. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Definición Se dice que p ∈ N, es primo si p > 1 y su único divisor mayor a 1 es p. ¿Es P primo? 4/20
  6. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Definición Se dice que p ∈ N, es primo si p > 1 y su único divisor mayor a 1 es p. Los números primos son muy interesantes: ¿Es P primo? 4/20
  7. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Definición Se dice que p ∈ N, es primo si p > 1 y su único divisor mayor a 1 es p. Los números primos son muy interesantes: ▶ Son infinitos ¿Es P primo? 4/20
  8. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Definición Se dice que p ∈ N, es primo si p > 1 y su único divisor mayor a 1 es p. Los números primos son muy interesantes: ▶ Son infinitos ▶ Todos los naturales se pueden factorizar en primos ¿Es P primo? 4/20
  9. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Definición Se dice que p ∈ N, es primo si p > 1 y su único divisor mayor a 1 es p. Los números primos son muy interesantes: ▶ Son infinitos ▶ Todos los naturales se pueden factorizar en primos ▶ Mantienen nuestro dinero e información seguros ¿Es P primo? 4/20
  10. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Pregunta Dado un número n, cómo puedo saber si es primo o no? ¿Es P primo? 5/20
  11. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Pregunta Dado un número n, cómo puedo saber si es primo o no? Una posibilidad es: ▶ Tomar 0 ≤ i ≤ √ n ▶ Chequear si n ≡ 0 mod i ▶ Repetir para todos los i ¿Es P primo? 5/20
  12. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Pregunta Dado un número n, cómo puedo saber si es primo o no? Una posibilidad es: ▶ Tomar 0 ≤ i ≤ √ n ▶ Chequear si n ≡ 0 mod i ▶ Repetir para todos los i Pregunta Qué tan rápido es este algoritmo? ¿Es P primo? 5/20
  13. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un número primo? Pregunta Dado un número n, cómo puedo saber si es primo o no? Una posibilidad es: ▶ Tomar 0 ≤ i ≤ √ n ▶ Chequear si n ≡ 0 mod i ▶ Repetir para todos los i Pregunta Qué tan rápido es este algoritmo? Pregunta Qué es ser rápido? ¿Es P primo? 5/20
  14. Conceptos Preeliminares . . . . . . . .

    . . . . . . . . . . . .
  15. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un computador? Definición Una máquina de Turing (TM) es un dispositivo que manipula símbolos en una cinta de acuerdo a una tabla de reglas. ¿Es P primo? 7/20
  16. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es un computador? Curiosamente Símbolos ⇐⇒ Bits Cinta ⇐⇒ Memoria Tabla de reglas ⇐⇒ Código Máquinas de Turing ⇐⇒ Lenguajes de programación Si una TM recibe un n ∈ N, este ocupa ⌊log(n)⌋ + 1 bits. 2015 = 111110111112 (11 bits) log(2015) ≈ 10.977 ¿Es P primo? 8/20
  17. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Qué es ser rápido? Definición Una función f es O(g) si lim sup x→∞ f(x) g(x) < ∞ Definición Un problema tiene complejidad polinomial si existe una TM que lo re- suelve en O(kn) pasos para todas las entradas con k su tamaño. Example Borrar un número de longitud k se toma O(k) pasos ¿Es P primo? 9/20
  18. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits ¿Es P primo? 10/20
  19. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ¿Es P primo? 10/20
  20. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ▶ Computar a + b −→ O(k) ▶ Computar P + Q −→ O(mk) ¿Es P primo? 10/20
  21. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ▶ Computar a + b −→ O(k) ▶ Computar P + Q −→ O(mk) ▶ Computar a · b −→ O(k2) ▶ Computar P · Q −→ O(m2k2) ¿Es P primo? 10/20
  22. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ▶ Computar a + b −→ O(k) ▶ Computar P + Q −→ O(mk) ▶ Computar a · b −→ O(k2) ▶ Computar P · Q −→ O(m2k2) ▶ Computar a/b −→ O(k2) ▶ Computar P/Q −→ O(m2k2) ¿Es P primo? 10/20
  23. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ▶ Computar a + b −→ O(k) ▶ Computar P + Q −→ O(mk) ▶ Computar a · b −→ O(k2) ▶ Computar P · Q −→ O(m2k2) ▶ Computar a/b −→ O(k2) ▶ Computar P/Q −→ O(m2k2) ¿Es P primo? 10/20
  24. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ¿Es P primo? 11/20
  25. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ▶ Computar (a, b) −→ O(k2) ¿Es P primo? 11/20
  26. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ▶ Computar (a, b) −→ O(k2) ▶ Computar a ⋆ b mod n −→ O(k2 log2 n) ▶ Computar P ⋆ Q mod R −→ O(k2 deg2 R) ¿Es P primo? 11/20
  27. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ▶ Computar (a, b) −→ O(k2) ▶ Computar a ⋆ b mod n −→ O(k2 log2 n) ▶ Computar P ⋆ Q mod R −→ O(k2 deg2 R) ▶ Computar ab mod n −→ O(k2 log3 n) ▶ Computar Pb mod R −→ O(k3 deg2 R) ¿Es P primo? 11/20
  28. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Operaciones en tiempo polinomial [4] Sean ▶ a, b ∈ N de a lo sumo k bits ▶ P, Q ∈ Z[x] de grado m con coeficientes de a lo sumo k bits Entonces ▶ Computar (a, b) −→ O(k2) ▶ Computar a ⋆ b mod n −→ O(k2 log2 n) ▶ Computar P ⋆ Q mod R −→ O(k2 deg2 R) ▶ Computar ab mod n −→ O(k2 log3 n) ▶ Computar Pb mod R −→ O(k3 deg2 R) ▶ Verificar si a es una potencia perfecta −→ O(k3) ¿Es P primo? 11/20
  29. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Nuestro algoritmo Para un número n el algoritmo anterior corre en O(21 2 log n log2 n) ¿Es P primo? 12/20
  30. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Nuestro algoritmo Para un número n el algoritmo anterior corre en O(21 2 log n log2 n) ▶ Tomar 1 ≤ i ≤ √ n −→ O( √ n) = O(21 2 log n) ▶ Chequear si n ≡ 0 mod i −→ O(log2 n) ▶ Repetir para todos los i ¿Es P primo? 12/20
  31. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Nuestro algoritmo Para un número n el algoritmo anterior corre en O(21 2 log n log2 n) ▶ Tomar 1 ≤ i ≤ √ n −→ O( √ n) = O(21 2 log n) ▶ Chequear si n ≡ 0 mod i −→ O(log2 n) ▶ Repetir para todos los i No es polinomial en log n... es exponencial! ¿Es P primo? 12/20
  32. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Nuestro algoritmo Para un número n el algoritmo anterior corre en O(21 2 log n log2 n) ▶ Tomar 1 ≤ i ≤ √ n −→ O( √ n) = O(21 2 log n) ▶ Chequear si n ≡ 0 mod i −→ O(log2 n) ▶ Repetir para todos los i No es polinomial en log n... es exponencial! Pregunta Hay un algoritmo polinomial en el tamaño de un número que decida si es primo? ¿Es P primo? 12/20
  33. Caracterizando prime . . . . . . . .

    . . . . . . . . . . . .
  34. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Caracterización de prime) Sea n ∈ N, n ≥ 2 y sea a ∈ Z tal que (a, n) = 1. Luego (x + a)n ≡ xn + a mod n ⇐⇒ n ∈ prime ¿Es P primo? 14/20
  35. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Caracterización de prime) Sea n ∈ N, n ≥ 2 y sea a ∈ Z tal que (a, n) = 1. Luego (x + a)n ≡ xn + a mod n ⇐⇒ n ∈ prime Algoritmo: ▶ Computar (x + 1)n − (xn + 1) ▶ Verificar si n divide cada uno de los coeficientes ▶ Si los divide n ∈ prime ▶ Si no n / ∈ prime ¿Es P primo? 14/20
  36. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Caracterización de prime) Sea n ∈ N, n ≥ 2 y sea a ∈ Z tal que (a, n) = 1. Luego (x + a)n ≡ xn + a mod n ⇐⇒ n ∈ prime Algoritmo: ▶ Computar (x + 1)n − (xn + 1) ▶ Verificar si n divide cada uno de los coeficientes ▶ Si los divide n ∈ prime ▶ Si no n / ∈ prime Pero calcular (x + a)n requiere O(n) multiplicaciones ¿Es P primo? 14/20
  37. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Caracterización de prime) Sea n ∈ N, n ≥ 2 y sea a ∈ Z tal que (a, n) = 1. Luego (x + a)n ≡ xn + a mod n ⇐⇒ n ∈ prime Algoritmo: ▶ Computar (x + 1)n − (xn + 1) ▶ Verificar si n divide cada uno de los coeficientes ▶ Si los divide n ∈ prime ▶ Si no n / ∈ prime Pero calcular (x + a)n requiere O(n) multiplicaciones FAIL D: ¿Es P primo? 14/20
  38. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Posible solución) Sea n ∈ N, n ≥ 2 y sean a, r ∈ Z tales que (a, n) = 1. Luego n ∈ prime ⇒ (x + a)n ≡ xn + a mod xr − 1, n (*) ¿Es P primo? 15/20
  39. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Posible solución) Sea n ∈ N, n ≥ 2 y sean a, r ∈ Z tales que (a, n) = 1. Luego n ∈ prime ⇒ (x + a)n ≡ xn + a mod xr − 1, n (*) ▶ Calcular (x + a)n mod xr − 1 se realiza en O(r2 log3 n) pasos ¿Es P primo? 15/20
  40. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Posible solución) Sea n ∈ N, n ≥ 2 y sean a, r ∈ Z tales que (a, n) = 1. Luego n ∈ prime ⇒ (x + a)n ≡ xn + a mod xr − 1, n (*) ▶ Calcular (x + a)n mod xr − 1 se realiza en O(r2 log3 n) pasos ▶ Si r fuese lo suficientemente pequeño todo funcionaría ¿Es P primo? 15/20
  41. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Posible solución) Sea n ∈ N, n ≥ 2 y sean a, r ∈ Z tales que (a, n) = 1. Luego n ∈ prime ⇒ (x + a)n ≡ xn + a mod xr − 1, n (*) ▶ Calcular (x + a)n mod xr − 1 se realiza en O(r2 log3 n) pasos ▶ Si r fuese lo suficientemente pequeño todo funcionaría :D ¿Es P primo? 15/20
  42. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Posible solución) Sea n ∈ N, n ≥ 2 y sean a, r ∈ Z tales que (a, n) = 1. Luego n ∈ prime ⇒ (x + a)n ≡ xn + a mod xr − 1, n (*) ▶ Calcular (x + a)n mod xr − 1 se realiza en O(r2 log3 n) pasos ▶ Si r fuese lo suficientemente pequeño todo funcionaría :D ▶ Existen n / ∈ prime que satisfacen * para algunos a! ¿Es P primo? 15/20
  43. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Caracterizando prime Teorema (Posible solución) Sea n ∈ N, n ≥ 2 y sean a, r ∈ Z tales que (a, n) = 1. Luego n ∈ prime ⇒ (x + a)n ≡ xn + a mod xr − 1, n (*) ▶ Calcular (x + a)n mod xr − 1 se realiza en O(r2 log3 n) pasos ▶ Si r fuese lo suficientemente pequeño todo funcionaría :D ▶ Existen n / ∈ prime que satisfacen * para algunos a! FAIL D: ¿Es P primo? 15/20
  44. El algoritmo (AKS) . . . . . . .

    . . . . . . . . . . . . .
  45. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Algoritmo de Agrawal-Kayal-Saxena Algoritmo AKS: ¿Es P primo? 17/20
  46. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Algoritmo de Agrawal-Kayal-Saxena Algoritmo AKS: Sea n ≥ 2 ¿Es P primo? 17/20
  47. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Algoritmo de Agrawal-Kayal-Saxena Algoritmo AKS: Sea n ≥ 2 1. Verificar que n no sea una potencia perfecta ¿Es P primo? 17/20
  48. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Algoritmo de Agrawal-Kayal-Saxena Algoritmo AKS: Sea n ≥ 2 1. Verificar que n no sea una potencia perfecta 2. Escoger r mínimo tal que ordr (n) > 4 log2 n ¿Es P primo? 17/20
  49. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Algoritmo de Agrawal-Kayal-Saxena Algoritmo AKS: Sea n ≥ 2 1. Verificar que n no sea una potencia perfecta 2. Escoger r mínimo tal que ordr (n) > 4 log2 n 3. Tomar ℓ = ⌊2 √ r log n⌋ ¿Es P primo? 17/20
  50. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Algoritmo de Agrawal-Kayal-Saxena Algoritmo AKS: Sea n ≥ 2 1. Verificar que n no sea una potencia perfecta 2. Escoger r mínimo tal que ordr (n) > 4 log2 n 3. Tomar ℓ = ⌊2 √ r log n⌋ 4. Verificar que para todo 2 ≤ a ≤ ℓ, (a, n) = 1 ¿Es P primo? 17/20
  51. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Algoritmo de Agrawal-Kayal-Saxena Algoritmo AKS: Sea n ≥ 2 1. Verificar que n no sea una potencia perfecta 2. Escoger r mínimo tal que ordr (n) > 4 log2 n 3. Tomar ℓ = ⌊2 √ r log n⌋ 4. Verificar que para todo 2 ≤ a ≤ ℓ, (a, n) = 1 5. Verificar que para todo 2 ≤ a ≤ ℓ (x + a)n ≡ xn + a mod xr − 1, n ¿Es P primo? 17/20
  52. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Algoritmo de Agrawal-Kayal-Saxena Algoritmo AKS: Sea n ≥ 2 1. Verificar que n no sea una potencia perfecta 2. Escoger r mínimo tal que ordr (n) > 4 log2 n 3. Tomar ℓ = ⌊2 √ r log n⌋ 4. Verificar que para todo 2 ≤ a ≤ ℓ, (a, n) = 1 5. Verificar que para todo 2 ≤ a ≤ ℓ (x + a)n ≡ xn + a mod xr − 1, n Si n sobrevivió todos estos pasos, es primo. ¿Es P primo? 17/20
  53. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 1: Verificar que n no sea una potencia perfecta. ¿Es P primo? 18/20
  54. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 1: Verificar que n no sea una potencia perfecta. Se puede realizar en O(log3 n) ¿Es P primo? 18/20
  55. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 1: Verificar que n no sea una potencia perfecta. Se puede realizar en O(log3 n) Paso 2: Escoger r mínimo tal que ordr (n) > 4 log2 n ¿Es P primo? 18/20
  56. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 1: Verificar que n no sea una potencia perfecta. Se puede realizar en O(log3 n) Paso 2: Escoger r mínimo tal que ordr (n) > 4 log2 n r = O(log5 n) ¿Es P primo? 18/20
  57. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 1: Verificar que n no sea una potencia perfecta. Se puede realizar en O(log3 n) Paso 2: Escoger r mínimo tal que ordr (n) > 4 log2 n r = O(log5 n) Paso 3: Tomar ℓ = ⌊2 √ r log n⌋. ¿Es P primo? 18/20
  58. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 1: Verificar que n no sea una potencia perfecta. Se puede realizar en O(log3 n) Paso 2: Escoger r mínimo tal que ordr (n) > 4 log2 n r = O(log5 n) Paso 3: Tomar ℓ = ⌊2 √ r log n⌋. Se puede realizar en tiempo polinomial. ¿Es P primo? 18/20
  59. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 1: Verificar que n no sea una potencia perfecta. Se puede realizar en O(log3 n) Paso 2: Escoger r mínimo tal que ordr (n) > 4 log2 n r = O(log5 n) Paso 3: Tomar ℓ = ⌊2 √ r log n⌋. Se puede realizar en tiempo polinomial. Paso 4: Verificar que para todo 2 ≤ a ≤ ℓ, (a, n) = 1. ¿Es P primo? 18/20
  60. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 1: Verificar que n no sea una potencia perfecta. Se puede realizar en O(log3 n) Paso 2: Escoger r mínimo tal que ordr (n) > 4 log2 n r = O(log5 n) Paso 3: Tomar ℓ = ⌊2 √ r log n⌋. Se puede realizar en tiempo polinomial. Paso 4: Verificar que para todo 2 ≤ a ≤ ℓ, (a, n) = 1. Se puede hacer en O(ℓ log2 n) ¿Es P primo? 18/20
  61. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 5: Verificar que para todo 2 ≤ a ≤ ℓ (x + a)n ≡ xn + a mod xr − 1, n ¿Es P primo? 19/20
  62. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 5: Verificar que para todo 2 ≤ a ≤ ℓ (x + a)n ≡ xn + a mod xr − 1, n Se puede realizar en O(ℓr2 log3 n) ¿Es P primo? 19/20
  63. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 5: Verificar que para todo 2 ≤ a ≤ ℓ (x + a)n ≡ xn + a mod xr − 1, n Se puede realizar en O(ℓr2 log3 n) En total: O(log33/2 n) ¿Es P primo? 19/20
  64. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Complejidad de AKS Paso 5: Verificar que para todo 2 ≤ a ≤ ℓ (x + a)n ≡ xn + a mod xr − 1, n Se puede realizar en O(ℓr2 log3 n) En total: O(log33/2 n) Podemos decidir si n ∈ prime en tiempo polinomial! ¿Es P primo? 19/20
  65. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivación Conceptos Preeliminares Caracterizando prime El algoritmo (AKS) | Referencias Agrawal, Manindra, Neeraj Kayal, and Nitin Saxena. “PRIMES Is in P.” Annals of Mathematics 160, no. 2 (September 1, 2004): 781–93. doi:10.4007/annals.2004.160.781. Arora, Sanjeev, and Boaz Barak. Computational Complexity: A Modern Approach. 1 edition. Cambridge ; New York: Cambridge University Press, 2009. Bornemann, Folkmar. “PRIMES Is in P: A Breakthrough for‘ Everyman.’” NOTICES-AMERICAN MATHEMATICAL SOCIETY 50, no. 5 (2003): 545–53. Gathen, Joachim von zur, and Jürgen Gerhard. Modern Computer Algebra. 3 edition. Cambridge University Press, 2013. ¿Es P primo? 20/20