Complexidade do teste de associação para grupos abelianos finitos

12

Considere o seguinte problema de teste de associação ao subgrupo abeliano .

Entradas:

  1. Um grupo abeliano finito G=Zd1×Zd1×Zdm com arbitrariamente grande di .

  2. Um gerador de conjunto {h1,,hn} de um subgrupo HG .

  3. Um elemento bG .

Saída: 'yes' se bH e 'no' em outro lugar '.

Pergunta: Esse problema pode ser resolvido com eficiência em um computador clássico? Considero um algoritmo eficiente se ele usar recursos de tempo e memória O(polylog|G|) no sentido usual das máquinas de Turing clássicas. Note-se que podemos assumir n=O(log|G|) para qualquer subgrupo H . O tamanho da entrada desse problema é log|G| .

Um pouco de motivação . Intuitivamente, parece que o problema pode ser resolvido com algoritmos para resolver sistemas lineares de congruências ou equações diofantinas lineares (leia abaixo). No entanto, parece que existem noções diferentes de eficiência computacional usadas no contexto de cálculos com números inteiros, tais como: tempo polinomial forte versus fraco, tempo algébrico versus complexidade de bits. Não sou especialista nessas definições e não consigo encontrar uma referência que estabeleça claramente essa questão.

Atualização: a resposta para o problema é "sim".

  • Em uma resposta tardia, propus um método baseado nas formas normais de Smith que é eficiente para qualquer grupo com a forma prescrita.

  • Uma resposta por Blondin mostra que, no caso particular em que todos os são da forma d i = N e i i e N i , o e i são números inteiros "pequenas", em seguida, o problema pertence a NC 3P . Inteiros minúsculos são exponencialmente pequenos com o tamanho da entrada: O ( log log | A | ) .didi=NieiNi,eiNC3PO(loglog|A|)

Na minha resposta, usei "subgrupos ortogonais" para resolver esse problema, mas acredito que isso não é necessário. Tentarei fornecer uma resposta mais direta no futuro, com base no método de formulários Echelon que estou lendo.


Algumas abordagens possíveis

O problema está intimamente relacionado à resolução de sistemas lineares de congruências e / ou equações diofantinas lineares. Resumo brevemente essas conexões para fins de conclusão.

Tome para ser a matriz cujas colunas são os elementos do grupo gerador { h 1 , ... , h n } . O seguinte sistema de equaçõesA{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

tem uma solução se e somente se .bH

Se todos os fatores cíclicos tiverem a mesma dimensão existe um algoritmo baseado nas formas normais de Smith que resolve o problema no tempo polinomial. Nesse caso, um algoritmo eficiente de [1] encontra a forma normal de Smith de : retorna uma matriz diagonal e duas matrizes invertíveis e modo que . Isso reduziu o problema para resolver o sistema equivalente do sistema com diagonal. Podemos decidir com eficiência se o sistema possui uma solução usando o algoritmo euclidiano. A D U V D = U A V D S = U bd=diADUVD=UAVDDY=UbmoddD

O exemplo acima sugere que o problema pode ser resolvido eficientemente usando técnicas semelhantes no caso geral. Podemos tentar resolver o sistema executando operações modulares ou transformando o sistema em um sistema maior de equações diofantinas lineares. Algumas técnicas possíveis para abordar o problema em que consigo pensar são:

  1. Calculando as formas normais de Smith .A
  2. Calculando a Echelon forma fileira de .A
  3. Eliminação Gaussiana Inteira.
Juan Bermejo Vega
fonte
1
crossposted simultaneamente no MO: mathoverflow.net/questions/81300/…
Suresh Venkat
2
Parece que você crossposted esta pergunta simultaneamente . Embora não nos importe com a reemissão de uma pergunta , nossa política do site é permitir uma repostagem somente após um tempo suficiente e você não obteve a resposta desejada em outro lugar, porque a interposição cruzada simultânea duplica o esforço e interrompe a discussão. Você pode sinalizar esta questão para fechar agora e, em seguida, marcá-la para abertura, se necessário, depois de resumir as discussões relevantes de outros sites.
precisa
1
Fechado a pedido do pôster original (devido à duplicação no MO).
21811 Dave Clarke
1
Postei uma resposta antes que a postagem fosse fechada. Na minha opinião, a questão é mais adequada aqui do que no excesso de matemática, uma vez que foi extensivamente estudada na literatura da teoria da complexidade.
22711 Michael Jacksonin
1
reaberto a pedido do OP; o foco na complexidade faz com que seja o ajuste certo aqui.
perfil completo de Suresh Venkat

Respostas:

10

Verificar se (onde são vetores de acordo com os comentários do OP) é ​​equivalente a verificar se existe uma solução para este sistema: h i ( h 1 ( 1 ) h n ( 1 ) d e 1 1 0 0bh1,,hnhi

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

No seu caso são pequenos números (ou seja, o valor deles é logartímico no tamanho da entrada). Infelizmente, parece que não podemos assumir que são pequenos.e1,,eNd1,,dn

Se estiverem, você poderá encontrar uma solução para o sistema em partir de um resultado da McKenzie & Cook [1] . Este artigo mostra que a solução de congruências lineares modulares com números inteiros (LCON) está em . Além disso, esse problema é -equivalente ao problema de associação ao grupo de permutação abeliana (AGM). A tese de doutorado de McKenzie é totalmente dedicada a esses problemas [1] . Mais recentemente, esses problemas foram considerados por Arvind & Vijayaraghavan [3] .NC3NC3NC1

[1] Pierre McKenzie e Stephen A. Cook. A complexidade paralela dos problemas do grupo de permutação abeliana. 1987.

[2] Pierre McKenzie. Grupos de complexidade e permutação paralelos. 1984.

[3] V. Arvind e TC Vijayaraghavan. Classificação de problemas em grupos de congruências lineares e de permutações abelianas usando classes de contagem de espaço de log. 2010.

Michael Blondin
fonte
Obrigado, infelizmente, não tenho acesso a esses documentos até segunda-feira. Surpreende-me que isso funcione para qualquer grupo abeliano. Para , que é abeliano, determinar se pertence a envolve decidir se tem uma solução. Vejo dois problemas aqui: 1) Classicamente, é difícil calcular a função totiente de Euler. 2) É a versão de decisão de um logaritmo discreto. O problema se reduz à resolução de equações modulares se a decomposição cíclica for dada. Como você contorna esse problema? Estou perdendo algo importante aqui? ZNbab=aimodφ(N)
Juan Bermejo Vega
Na verdade, é para qualquer grupo de permutação abeliana .
22711 Michael Jacksonin
Vou dar uma olhada nesses documentos e tentar organizar um pouco tudo. Obrigado.
Juan Bermejo Vega
Você poderia fornecer mais detalhes sobre a codificação da entrada? Dessa forma, talvez eu consiga melhorar minha resposta.
quer
A decomposição do grupo como entrada (estes seriam uma string com vários números e o comprimento, eu acho). Em seguida, cada elemento do grupo tem o formato e pode ser representado por uma tupla de números. Para armazená-lo, você precisa de bits. Isso responde? A=Zd1×Zd1×ZdN(g1,,gn)n:=log2|A|
Juan Bermejo Vega
4

Depois de algum tempo, consegui encontrar um algoritmo talvez não ótimo, mas simples que comprove que a complexidade do problema é polinomial.

Algoritmo

(a) Calcular um gerador de conjunto do subgrupo ortogonal de .HH

(b) Verifique se o elemento é ortogonal a .bH

Existem algoritmos clássicos eficientes para os problemas (a) e (b) (veja a análise abaixo). Isto dá uma adesão eficiente-ensaio desde um elemento é ortogonal ao se e somente se .bHhH


Análise

O subgrupo ortogonal é definido pelo grupo de caracteres como: Principais propriedades:HG

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

Algoritmo para (a) :

Sigo um algoritmo de [ 1 ] com pequenas variações. pertence a se e somente se para todo , mas, por linearidade, é suficiente mostrar para cada gerador de . Expandindo o caractere em termos de exponenciais (aqui eu uso implicitamente a decomposição do fator cíclico), essa condição é equivalente a Para resolver essas equações, calcule usando o algoritmo euclidiano e os 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 reescrever as condições acima para cada como um sistema de equações modulares lineares.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 é comprovado em 1 , se soluções aleatórias deste sistema das equações, obteremos um conjunto gerador de com probabilidade exponencialmente próxima a um .t+log|G|Hp11/2tAX=0(modM). Aqui é uma matriz retangular sobre o módulo inteiro para o qual um algoritmo dado em 2 permite calcular com eficiência sua decomposição normal de Smith. O algoritmo retorna uma matriz diagonal e duas matrizes invertíveis , , de modo que . Usando esta fórmula, o sistema de equações pode ser escrito como com . Agora é possível soluções aleatoriamente computação de utilizando o algoritmo de Euclides, uma vez que este é um sistema de equações da forma . Finalmente, computandoAMDUVD=UAVDY=0(modM)X=VYDY=0(modM)diyi=0(modM)X=VYobtém-se um elemento aleatório do grupo ortogonal conforme desejado.H

Algoritmo para (b) :

Desde já sabemos como calcular um gerador de conjunto de , é fácil de verificar se um determinado elemento pertence a . Primeiro calcule um conjunto de geração de . Então, por definição, pertence a se e somente se para todos os geradores de . Como há um número O (polylog ( )) deles e isso pode ser feito com eficiência usando aritmética modular, estamos prontos. b H g 1 , ... , g sH b H χ b ( g i ) = 1 H | G |HbHg1,,gsHbHχb(gi)=1H|G|

Juan Bermejo Vega
fonte
1
é bom adicionar sua própria resposta se você fez descobertas nesse meio tempo. No entanto, parece que você precisa investigar mais (com base no seu comentário) antes de decidir qual resposta aceitar.
Suresh Venkat
Obrigado. Eu gostaria de continuar a discussão para ver se colocamos tudo em uma imagem. Além disso, acho que poderia haver um algoritmo mais prático que pudesse aparecer.
Juan Bermejo Vega