Complejidad de la prueba de membresía para grupos abelianos finitos

12

Considere el siguiente problema de prueba de membresía de subgrupo abelian .

Entradas:

  1. Un grupo abeliano finito G=Zd1×Zd1×Zdm con arbitrariamente grande di .

  2. Un generador de conjunto {h1,,hn} de un subgrupo HG .

  3. Un elemento bG .

Salida: 'sí' si bH 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 O(polylog|G|) en el sentido habitual de las máquinas Turing clásicas. Tenga en cuenta que podemos asumir n=O(log|G|) para cualquier subgrupo H . El tamaño de entrada de este problema es log|G| .

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 3P . Los enteros pequeños son exponencialmente pequeños con el tamaño de entrada: O ( log log | A | ) .didi=NieiNi,eiNC3PO(loglog|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.A{h1,,hn}

AxT=(h1(1)h2(1)hn(1)h1(2)h2(2)hn(2)h1(m)h2(m)hn(m))(x(1)x(2)x(n))=(b(1)b(2)b(m))modd1modd2moddm

tiene una solución si y sólo si .bH

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.d=diADUVD=UAVDY=UbmoddD

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:

  1. Cálculo de las formas normales de Smith .A
  2. Cálculo de la fila forma escalonada de .A
  3. Eliminación gaussiana entera.
Juan Bermejo Vega
fuente
1
simultáneamente publicado en MO: mathoverflow.net/questions/81300/…
Suresh Venkat
2
Parece que has cruzado esta pregunta simultáneamente . Si bien no nos importa que se vuelva a publicar una pregunta , nuestra política del sitio es permitir una nueva publicación solo después de que haya pasado el tiempo suficiente y no haya obtenido la respuesta deseada en otro lugar, porque la publicación cruzada simultánea duplica el esfuerzo y la fractura. Puede marcar esta pregunta para cerrarla ahora, y luego volver a marcarla para abrirla si es necesario después de resumir las discusiones relevantes de otros sitios.
Suresh Venkat
1
Cerrado a pedido del póster original (debido a duplicación en MO).
Dave Clarke
1
Publiqué una respuesta antes de que se cerrara la publicación. En mi opinión, la pregunta es más adecuada aquí que en mathoverflow, ya que fue ampliamente estudiada en la literatura de la teoría de la complejidad.
Michael Blondin
1
reabierto a solicitud del OP; centrarse en la complejidad hace que sea la opción adecuada aquí.
Suresh Venkat

Respuestas:

10

Verificar si (donde son vectores de acuerdo con los comentarios del OP) es equivalente a verificar si hay una solución para este sistema: bh1,,hnhi

(h1(1)hn(1)d1e100h1(m)hn(m)00dmeN)(x(1)x(n)y(1)y(m))(b(1)b(m))

En su caso son números pequeños (es decir, su valor es logartímico en el tamaño de entrada). Desafortunadamente, no parece que podamos suponer que son pequeños.e1,,eNd1,,dn

Si lo son, puede encontrar una solución para el sistema en partir de un resultado de McKenzie & Cook [1] . Este artículo muestra que la resolución de congruencias lineales módulo un número entero con factores pequeños (LCON) está en . Además, este problema es equivalente al problema de pertenencia al grupo de permutación abeliana (AGM). La tesis doctoral de McKenzie está totalmente dedicada a esos problemas [1] . Más recientemente, esos problemas fueron considerados por Arvind y Vijayaraghavan [3] .NC3NC3NC1

[1] Pierre McKenzie y Stephen A. Cook. La complejidad paralela de los problemas del grupo de permutación abeliana. 1987.

[2] Pierre McKenzie. Complejidad paralela y grupos de permutación. 1984

[3] V. Arvind y TC Vijayaraghavan. Clasificación de problemas en congruencias lineales y grupos de permutación abeliana utilizando clases de recuento de espacios de registro. 2010

Michael Blondin
fuente
Gracias, desafortunadamente no tengo acceso a estos documentos hasta el lunes. Me sorprende que esto funcione para cualquier grupo abeliano. Para , que es abeliano, determinar si pertenece a implica decidir si tiene una solución. Veo dos problemas aquí: 1) Clásicamente es difícil calcular la función totient de Euler 2) Es la versión de decisión de un logaritmo discreto. El problema se reduce a resolver ecuaciones modulares si se da la descomposición cíclica. ¿Cómo solucionas este problema? ¿Me estoy perdiendo algo importante aquí? ZNbab=aimodφ(N)
Juan Bermejo Vega
En realidad, es para cualquier grupo de permutación abeliana .
Michael Blondin
Echaré un vistazo a estos documentos e intentaré organizar todo un poco. Gracias.
Juan Bermejo Vega
¿Podría proporcionar más detalles sobre la codificación de la entrada? De esta manera, podría mejorar mi respuesta.
Michael Blondin
La descomposición del grupo como entrada (sería una cadena con varios números y la longitud, supongo). Entonces, cada elemento del grupo tiene la forma y se puede representar mediante una tupla de números. Para almacenarlo necesita bits. ¿Esto lo responde? A=Zd1×Zd1×ZdN(g1,,gn)n:=log2|A|
Juan Bermejo Vega
4

Después de un tiempo, logré encontrar un algoritmo quizás no óptimo pero simple que demuestra que la complejidad del problema es polinómica.

Algoritmo

(a) Calcular un generador de conjunto del subgrupo ortogonal de .HH

(b) Verifique si el elemento es ortogonal a .bH

Existen algoritmos clásicos eficientes para los problemas (a) y (b) (ver análisis a continuación). Esto da una pertenencia-test eficiente desde un elemento es ortogonal a si y sólo si .bHhH


Análisis

El subgrupo ortogonal se define mediante el grupo de caracteres de como: Propiedades principales:HG

H:={gG:χg(h)=1hH}
  1. H es un subgrupo de .G
  2. H=H

Algoritmo para (a) :

Sigo un algoritmo de [ 1 ] con pequeñas variaciones. pertenece a si y solo si para todo , pero, por linealidad, es suficiente para mostrar para cada generador de . Expandiendo el carácter en términos de exponenciales (aquí implícitamente uso la descomposición del factor cíclico) esta condición es equivalente a Para resolver estas ecuaciones, calcule usando el algoritmo euclidiano y los númerosgHχg(h)=1hHχb(hi)=1H

exp{2πi(g(1)hi(1)d1++g(m)hi(m)dm)}=1
M:=lcm(N1,,Nd)αi:=M/di . Podemos reescribir las condiciones anteriores para cada como un sistema de ecuaciones modulares lineales.i

(α1h1(1)α2h1(2)αmh1(m)α1h2(1)α2h2(2)αmh2(m)α1hn(1)α2hn(2)αmhn(m))(g(1)g(2)g(n))=(000)modMmodMmodM
Como se demuestra en 1 , si probamos soluciones aleatorias de este sistema de ecuaciones obtendremos un conjunto generador de con probabilidad exponencialmente cercana a una .t+log|G|Hp11/2tAX=0(modM). Aquí es una matriz rectangular sobre el módulo de enteros para el cual un algoritmo dado en 2 permite calcular eficientemente su descomposición normal de Smith. El algoritmo devuelve una matriz diagonal y dos matrices invertibles , modo que . Con esta fórmula, el sistema de ecuaciones se puede escribir como con . Ahora es posible con las soluciones de cómputo al azar de utilizando el algoritmo de Euclides, ya que este es un sistema de ecuaciones de la forma . Finalmente, computarAMDUVD=UAVDY=0(modM)X=VYDY=0(modM)diyi=0(modM)X=VYse obtiene un elemento aleatorio del grupo ortogonal como se desee.H

Algoritmo para (b) :

Como ya sabemos cómo calcular un generador de conjunto de , es fácil comprobar si un elemento dado pertenece a . Primero calcule un conjunto generador de . Entonces, por definición, pertenece a si y solo si para todos los generadores de . Dado que hay un número O (polylog ( )) de ellos y esto se puede hacer de manera eficiente utilizando la aritmética modular que hemos terminado. b H g 1 , ... , g sH b H χ b ( g i ) = 1 H | G |HbHg1,,gsHbHχb(gi)=1H|G|

Juan Bermejo Vega
fuente
1
está bien agregar su propia respuesta si ha hecho descubrimientos mientras tanto. Sin embargo, parece que necesita investigar un poco más (según su comentario) antes de decidir qué respuesta aceptar.
Suresh Venkat
Gracias. Me gustaría continuar la discusión para ver si ponemos todo en una imagen. Además, creo que podría haber un algoritmo más práctico que podría aparecer.
Juan Bermejo Vega