Problema de Simon

problema matematico

En álgebra abstracta y computación cuántica, el problema planteado por Daniel R. Simon (conocido como problema de Simon) es un caso particular del problema del subgrupo oculto (Hidden Subgroup Problem, HSP), el cual ha sido útil para el planteamiento de algoritmos cuánticos que son eficientes, a diferencia de sus homólogos clásicos, permitiendo resolver problemas teóricos propuestos en las últimas décadas cuyas soluciones son de vital importancia en el campo de la computación cuántica.

Para resolver el problema de Simon se han desarrollado algoritmos clásicos que utilizan fuerza bruta, de los cuales se sabe que su complejidad es exponencial. Para encontrar una  solución eficiente se ha recurrido a algoritmos cuánticos, como el propuesto por el mismo Simon, cuya complejidad es polinomial, reduciendo así el tiempo de cómputo de forma significativa.

Se han desarrollado algoritmos cuánticos para otros casos particulares del problema del subgrupo oculto, pero solo son eficientes aquellos que trabajan sobre grupos abelianos (como el de Simon). Para los grupos no abelianos aún no se han encontrado algoritmos cuánticos eficientes, de hecho estos no llegan a tener mejor desempeño que las soluciones clásicas.

Conceptos previos editar

Relación de equivalencia editar

Una relación de equivalencia sobre un grupo   es una relación   que cumple las propiedades:

  1. Reflexiva:   para cada   que pertenece a  .
  2. Simétrica: Si   entonces  .
  3. Transitiva: Si   y   entonces  .

Los elementos   y   son elementos de  ; note que cada elemento de   está envuelto en un requerimiento 1,2 o 3.

Congruencia entre conjuntos editar

Congruencia por izquierda editar

Sea   un subgrupo de  , entonces dos elementos   y   de   son congruentes módulo   si hay un elemento   para el cual  

Congruencia por derecha editar

Sea   un subgrupo de  , entonces dos elementos  y   de   son congruentes módulo   si hay un elemento   para el cual  

Suponiendo que   es un subgrupo de  , la congruencia módulo   es una relación de equivalencia en  . La congruencia módulo   particiona a   en una colección de clases de equivalencia que son disyuntas 2 a 2. Cada clase está formada por elementos que son congruentes entre sí.

Cosets editar

Sea   un subgrupo de  , y sea  . El coset por izquierda de   respecto a   es el conjunto   siendo  . Así mismo se define el coset por derecha como el conjunto   siendo  .

Note que   (mod  ), si y sólo si, sus respectivas clases de equivalencia o cosets son iguales, es decir,  . Para obtener distintos cosets, se usarán elementos  y  que sean incongruentes módulo  .[1]

Periodicidad de funciones que actúan sobre grupos editar

Definición editar

Una función f se dice periódica si, para alguna constante P diferente de cero, se tiene que:

 

Para todos los valores de x en el dominio de f. Una constante P distinta de cero para la cual se cumpla la propiedad anterior se denomina período de la función. La menor constante positiva P con esta propiedad, se denomina período fundamental (también período primitivo, período básico o período primo). A menudo, el "período" de una función se utiliza para indicar su período fundamental. Una función con período P se repetirá en intervalos de longitud P, y estos intervalos a veces también se conocen como períodos de la función.

Importancia editar

Aunque en principio pueda no parecerlo, lo cierto es que las funciones periódicas se relacionan de manera directa con uno de los problemas más difíciles de resolver hasta el momento: la descomposición de un número entero en factores primos.

Aun cuando cualquier número entero tiene una descomposición única en un producto de números primos, encontrar dichos factores primos es un problema difícil. De hecho, la seguridad de las transacciones en línea se basa en el criptosistema de clave pública RSA, cuya fuerza reside en la dificultad de factorizar números grandes.[2]​ En la práctica factorizar enteros con cientos de dígitos es prácticamente imposible, el número más grande factorizado hasta la fecha es RSA-768, un número de 232 cifras decimales, el cual fue factorizado en 2009.[3]​ En la actualidad RSA usa números primos del orden de   y  .

Desde la década de los 70’s es conocido por los matemáticos que factorizar se hace más fácil si se puede resolver otro problema difícil: encontrar el periodo de la función exponencial modular.[2]​ El problema de Simon está estrechamente relacionado con este problema, ya que el algoritmo de Simon, un algoritmo cuántico probabilístico con una complejidad polinomial, resuelve el problema de la determinación del periodo de una función periódica   (el problema de la factorización se puede reducir a este último). En contraste, el algoritmo clásico tiene una complejidad exponencial. La implicación del uso de estas técnicas teóricas es la vulnerabilidad de la información protegida en la actualidad por métodos tipo RSA.

Problema del subgrupo oculto editar

Historia editar

El problema del subgrupo oculto surge en 1994, cuando Peter Shor Williston, profesor estadounidense de matemáticas aplicadas, basándose en el trabajo de David Elieser Deutsch, profesor israelí y pionero de la computación cuántica, y Daniel R. Simon, master en ciencias de la computación de la Universidad de Toronto, encontró un algoritmo cuántico que podía factorizar enteros exponencialmente más rápido que los métodos clásicos conocidos. Alexei Kitaev, un profesor de física ruso-estadounidense, concluyó que estos algoritmos encajan en un marco para encontrar generadores de subgrupos que son ocultados mediante una función.[4]

Definición editar

La definición formal del problema del subgrupo oculto (HSP) es:

Input: Sea  , donde   es un grupo y   una función.  , entonces existe   tal que   es constante sobre los cosets de  .

Problema: Encontrar  .

Eficiencia cuántica editar

Si   es un grupo Abeliano finito, la determinación del problema del subgrupo oculto puede ser teóricamente resuelta mediante un algoritmo cuántico de manera eficiente, es decir con un orden de complejidad  . Sin embargo, no se tiene conocimiento de una solución cuántica eficiente que se pueda implementar cuando se trata con grupos finitos no-Abelianos.

Ejemplo editar

Definiendo el tamaño de un circuito cuántico como el número mínimo de operaciones elementales que deben componerse para obtener el circuito, y definiendo un Qubit como un vector de módulo unidad en un espacio vectorial complejo bidimensional; suponga que se quiere determinar el orden de un grupo finito Abeliano dado un conjunto generador. Dado un grupo   es posible representar cada elemento del grupo utilizando aproximadamente   Qubits.

Para resolver de manera eficiente este problema mediante un algoritmo cuántico es necesario que el tamaño del circuito cuántico que va a computar el orden de   sea de tamaño polinomial en  , dado que   varía en toda la familia de grupos Abelianos finitos. Finalmente se requiere una “Clase uniforme de algoritmos”, la cual afirma que para un problema de tamaño  , existe una máquina de Turing que dado  , puede producir la descripción del circuito en un número de pasos igual a un polinomio en  . Esto permite asegurar que (en teoría)  es posible construir una máquina explícita para resolver cada problema con un tiempo polinomial en el tamaño del problema.[4]

Definición del problema de Simon editar

Daniel R. Simon propuso en 1994 un problema en el que se demuestra el poder de la computación cuántica. Éste se presenta de la siguiente manera:

Input:  , donde la función cumple alguna de las siguientes condiciones:

  1.   es 1 a 1, es decir, la función es inyectiva.
  2. Existe una cadena   no trivial tal que  , donde el símbolo denota la operación binaria XOR (O exclusivo)

Problema: Determinar cuál de las condiciones prevalece para   y en caso de ser la segunda, determinar cuál es la cadena  .[5]

Relación del problema del subgrupo oculto con el problema de Simon editar

La relación entre los problemas de Simon y del subgrupo oculto no es evidente, pero de hecho, es posible definirlo utilizando las herramientas que brinda la teoría de grupos.  Esto puede resultar útil al momento de buscar similitudes entre este y otros problemas, que en principio no tienen relación aparente, así como similitudes en sus posibles soluciones.

Buscando la estructura de grupo en el problema de Simon editar

Lo primero que se debe buscar para formar un grupo es un conjunto y una operación binaria sobre dicho conjunto. En el caso del problema de Simon, se trabaja sobre el conjunto de cadenas de bits de tamaño  , donde   es un entero positivo. El problema de Simon también involucra la operación binaria XOR, definida de la siguiente manera:

Sean   y   bits

  si  

  si  

El problema de Simon se refiere al grupo  , que resulta ser abeliano.[6]

Aplicando el problema del subgrupo oculto al grupo de Simon editar

Sea   y sea   subgrupo de  , se dice que   es H-periódica si y sólo si se cumple:

 

 

En otras palabras, la función   es constante solo para elementos de un mismo coset.

Problema de Simon en términos del problema del subgrupo oculto editar

El problema de Simon define una función   que resulta ser H-periódica para un subgrupo   de   donde   pertenece a  .

En   la inversa de cualquier elemento perteneciente al grupo es ella misma, entonces el orden de   es 2. Por lo tanto   es un subgrupo de dos elementos;  , y la identidad.

 

Se puede entender la condición   planteada en el problema de Simon como la condición planteada en el problema del subgrupo oculto, formando el coset  .

Según la definición dada para  , se sabe que   puede ser   o  .

En estos términos, el problema de Simon consiste en encontrar el elemento generador del subgrupo oculto  ,[7]​ o dicho en otras palabras, encontrar el periodo de la función   que oculta dicho subgrupo.

A partir de las condiciones que presenta la función puede suponerse que no existe una relación entre ellas pero lo cierto es que independientemente del caso que aplique para la función a estudiar, la segunda condición es parcialmente verdadera y gracias a la estructura que el grupo   presenta se puede establecer la siguiente observación:

Se sabe del grupo   que su identidad es la cadena   y por teoría de grupos es válido afirmar que para toda cadena   que pertenezca al grupo,  . Entonces, si se aplica la segunda condición haciendo una excepción a la condición de que   es diferente a la cadena trivial, se obtiene que  , lo que es equivalente a decir que  . Por definición de la operación XOR se sabe que al operar dos elementos se obtiene como respuesta 0 si los elementos son iguales, por lo que se puede que concluir que  , lo que implica que la función envía a un elemento en sí mismo si   así que la función estudiada corresponde a la función identidad la cual es 1 a 1, por lo que las condiciones (1) y (2) sobre la función están relacionadas y según el valor de  , se obtiene (2) para una cadena no trivial o (1) en caso contrario.


Soluciones al problema de Simon editar

Solución clásica editar

Para solucionar el problema primero es necesario encontrar el valor adecuado de   diferente al trivial, o en su defecto,  ; por lo tanto, se deben revisar todos los valores que pueda tomar  . Como hay   posibles elecciones de  , la complejidad sería de  . Luego se evalúa la función “q” veces:

Si la función es 2 a 1, entonces, como mucho, q tiene que ser la mitad de entradas para encontrar una repetición.

Si se tienen que evaluar más, entonces, la función es 1 a 1 y  .

En definitiva, el número de evaluaciones en el peor de los casos será  , es decir que la complejidad es de  , la cual es mayor a la que se registraría en la solución cuántica al problema de Simon, la cual es polinomial.

Solución cuántica editar

Simon propone en su escrito la siguiente rutina para resolver el problema con complejidad polinomial:

Se llevan a cabo   repeticiones de la Rutina Doble de Fourier:

  1. Realizar la transformación   en una cadena de   ceros, produciendo  .
  2. Calcular  , concatenando la respuesta a  , esto produce  .
  3. Ejecutar   sobre  , produciendo  

Fin de la rutina doble de Fourier

Luego de estas   repeticiones, se obtienen suficientes valores linealmente independientes de   que permiten determinar el valor de la cadena   al resolver el sistema de ecuaciones lineales definido por los valores de  .

Por lo tanto, la complejidad de todo el algoritmo es  , donde   es el tiempo requerido para calcular   en inputs de tamaño  , y   es el tiempo requerido para resolver el sistema lineal de ecuaciones de  x .[5]

Referencias editar

  1. Maxfield, John Edward (1992). «Abstract algebra and solution by radicals». EBSCOhost. 
  2. a b «Shor's algorithm». IBM. 2017. 
  3. Kleinjung, Thorsten (2010). «Factorization of a 768-bit RSA modulus». Eprint. 
  4. a b Lomont, Chris (2004). «The Hidden Subgroup Problem - Review and open problems». arXiv. 
  5. a b Simon, Daniel R. (1994). «On the Power of Quantum Computation». CiteSeerX. 
  6. Harold, Elliotte Rusty (26 de noviembre de 2012). «XOR Defines an Abelian Group». The Cafes>>Math. 
  7. Wright, John (10 de febrero de 2015). «Lecture 10: Hidden Subgroup Problem». Carnegie Mellon University.