Considere el siguiente problema de prueba de membresía de subgrupo abelian .
Entradas:
Un grupo abeliano finito con arbitrariamente grande .
Un generador de conjunto de un subgrupo .
Un elemento .
Salida: 'sí' si y 'no' en otro lugar '.
Pregunta: ¿Se puede resolver este problema de manera eficiente en una computadora clásica? Considero un algoritmo eficiente si utiliza recursos de tiempo y memoria en el sentido habitual de las máquinas Turing clásicas. Tenga en cuenta que podemos asumir para cualquier subgrupo . El tamaño de entrada de este problema es .
Un poco de motivación . Intuitivamente, parece que el problema puede abordarse con algoritmos para resolver sistemas lineales de congruencias o ecuaciones lineales de diofantina (lea a continuación). Sin embargo, parece que hay diferentes nociones de eficiencia computacional utilizadas en el contexto de los cálculos con enteros, tales como: tiempo polinomial fuertemente versus débilmente, complejidad algebraica versus bit. No soy un experto en estas definiciones y no puedo encontrar una referencia que establezca claramente esta pregunta.
Actualización: la respuesta al problema es "sí".
En una respuesta tardía, propuse un método basado en las formas normales de Smith que es eficiente para cualquier grupo con la forma prescrita.
Una respuesta por shows Blondin que en el caso particular en que todo son de la forma d i = N e i i y N i , ae i son "pequeños números enteros" entonces el problema pertenece a NC 3 ⊂ P . Los enteros pequeños son exponencialmente pequeños con el tamaño de entrada: O ( log log | A | ) .
En mi respuesta usé "subgrupos ortogonales" para resolver este problema, pero creo que esto no es necesario. Intentaré proporcionar una respuesta más directa en el futuro basada en un método de formularios Echelon de fila que estoy leyendo.
Algunos enfoques posibles
El problema está estrechamente relacionado con la resolución de un sistema lineal de congruencias y / o ecuaciones lineales de diofantina. Resumo brevemente estas conexiones para completarlas.
Tome como la matriz cuyas columnas son los elementos del conjunto generador { h 1 , ... , h n } . El siguiente sistema de ecuaciones.
tiene una solución si y sólo si .
Si todos los factores cíclicos tienen la misma dimensión existe un algoritmo basado en las formas normales de Smith que resuelve el problema en tiempo polinómico. En este caso, un algoritmo eficiente de [1] encuentra la forma normal de Smith de : devuelve una matriz diagonal y dos matrices invertibles y modo que . Esto redujo el problema a la resolución del sistema de sistema equivalente con diagonal. Podemos decidir eficientemente si el sistema tiene una solución utilizando el algoritmo euclidiano.
El ejemplo anterior sugiere que el problema puede resolverse eficientemente utilizando técnicas similares en el caso general. Podemos intentar resolver el sistema haciendo operaciones modulares, o convirtiendo el sistema en un sistema más grande de ecuaciones lineales de diofantina. Algunas técnicas posibles para abordar el problema que se me ocurren son:
- Cálculo de las formas normales de Smith .
- Cálculo de la fila forma escalonada de .
- Eliminación gaussiana entera.