Considere o seguinte problema de teste de associação ao subgrupo abeliano .
Entradas:
Um grupo abeliano finito com arbitrariamente grande .
Um gerador de conjunto de um subgrupo .
Um elemento .
Saída: 'yes' se 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 no sentido usual das máquinas de Turing clássicas. Note-se que podemos assumir para qualquer subgrupo . O tamanho da entrada desse problema é .
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 3 ⊂ P . Inteiros minúsculos são exponencialmente pequenos com o tamanho da entrada: O ( log log | 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ções
tem uma solução se e somente se .
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
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:
- Calculando as formas normais de Smith .
- Calculando a Echelon forma fileira de .
- Eliminação Gaussiana Inteira.
fonte
Respostas:
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 ⋯ 0b∈⟨h1,…,hn⟩ hi
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,…,eN d1,…,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] .NC3 NC3 NC1
[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.
fonte
Depois de algum tempo, consegui encontrar um algoritmo talvez não ótimo, mas simples que comprove que a complexidade do problema é polinomial.
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 .b H⊥ h∈H
Análise
O subgrupo ortogonal é definido pelo grupo de caracteres como: Principais propriedades:H⊥ G
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úmerosg H⊥ χg(h)=1 h∈H χb(hi)=1 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 s ⟩ H ⊥ b H χ b ( g i ) = 1 H ⊥ | G |H⊥ b H ⟨g1,…,gs⟩ H⊥ b H χb(gi)=1 H⊥ |G|
fonte