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.