Complexité des tests d'adhésion pour les groupes abéliens finis

12

Considérez le problème de test d'appartenance au sous-groupe abelian suivant .

Contributions:

  1. Un groupe abélien fini G=Zd1×Zd1×Zdm avec arbitrairement grand .di

  2. Un générateur de jeu d'un sous - groupe .{h1,,hn}HG

  3. Un élément .bG

Sortie: 'oui' si et 'non' ailleurs '.bH

Question: Ce problème peut-il être résolu efficacement dans un ordinateur classique? Je considère un algorithme efficace s'il utilise des ressources de temps et de mémoire au sens habituel des machines de Turing classiques. Notez que nous pouvons supposer pour un sous - groupe . La taille d' entrée de ce problème estO(polylog|G|)n=O(log|G|)Hlog|G| .

Un peu de motivation . Intuitivement, il semble que le problème puisse être abordé avec des algorithmes pour résoudre des systèmes linéaires de congruences ou des équations diophantiennes linéaires (lire ci-dessous). Cependant, il semble qu'il existe différentes notions d'efficacité de calcul utilisées dans le contexte des calculs avec des nombres entiers, telles que: temps fortement versus faiblement polynomial, complexité algébrique versus bit. Je ne suis pas un expert de ces définitions et je ne trouve pas de référence qui tranche clairement cette question.

Mise à jour: la réponse au problème est "oui".

  • Dans une réponse tardive, j'ai proposé une méthode basée sur les formes normales de Smith qui est efficace pour tout groupe avec la forme prescrite.

  • Une réponse de Blondin montre que dans le cas particulier où tous les sont de la forme d i = N e i i et sont de "minuscules entiers" alors le problème appartient à . Les petits entiers sont exponentiellement petits avec la taille d'entrée: .didi=NieiNC 3P O ( log log | A | )Ni,eiNC3PO(loglog|A|)

Dans ma réponse, j'ai utilisé des "sous-groupes orthogonaux" pour résoudre ce problème, mais je pense que ce n'est pas nécessaire. Je vais essayer de fournir une réponse plus directe à l'avenir en fonction d'une méthode de formulaires Echelon que je lis.


Quelques approches possibles

Le problème est étroitement lié à la résolution d'un système linéaire de congruences et / ou d'équations diophantiennes linéaires. Je résume brièvement ces liens par souci d’achèvement.

Prenez pour être la matrice dont les colonnes sont les éléments du groupe électrogène . Le système d'équations suivant{ h 1 , , h n }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

a une solution si et seulement si .bH

Si tous les facteurs cycliques ont la même dimension il existe un algorithme basé sur les formes normales de Smith qui résout le problème en temps polynomial. Dans ce cas, un algorithme efficace de [1] trouve la forme normale de Smith de : il renvoie une matrice diagonale et deux matrices inversibles et telles que . Cela a réduit le problème de la résolution du système système équivalent avec la diagonaleNous pouvons décider efficacement si le système a une solution en utilisant l'algorithme euclidien. A D U V D = U A V D Y = U bd=diADUVD=UAVDDY=UbmoddD

L'exemple ci-dessus suggère que le problème peut être résolu efficacement en utilisant des techniques similaires dans le cas général. Nous pouvons essayer de résoudre le système en faisant des opérations modulaires, ou en transformant le système en un plus grand système d'équations diophantiennes linéaires. Voici quelques techniques possibles pour aborder le problème auquel je peux penser:

  1. Le calcul des Smith formes normales de .A
  2. Le calcul de la ligne Echelon forme d' .A
  3. Élimination gaussienne entière.
Juan Bermejo Vega
la source
1
simultanément posté sur MO: mathoverflow.net/questions/81300/…
Suresh Venkat
2
Il semble que vous ayez transposé cette question simultanément . Bien que cela ne nous dérange pas qu'une question soit republiée , notre politique de site consiste à autoriser une nouvelle publication uniquement après un délai suffisant et que vous n'avez pas obtenu la réponse souhaitée ailleurs, car le crossposting simultané reproduit l'effort et fracture la discussion. Vous pouvez signaler cette question pour fermeture maintenant, puis la redéfinir pour ouverture si nécessaire après avoir résumé les discussions pertinentes d'autres sites.
Suresh Venkat
1
Fermé à la demande de l'affiche originale (en raison de la duplication sur MO).
Dave Clarke
1
J'ai posté une réponse avant la fermeture du post. À mon avis, la question est mieux adaptée ici que sur le mathoverflow car elle a été largement étudiée dans la littérature sur la théorie de la complexité.
Michael Blondin
1
rouvert à la demande du PO; se concentrer sur la complexité en fait le bon choix pour ici.
Suresh Venkat

Réponses:

10

Vérifier si (où h i sont des vecteurs selon les observations de la OP) est équivalente à vérifier s'il y a une solution à ce système: ( 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))

e1,,eNd1,,dn

NC3NC3NC1

[1] Pierre McKenzie et Stephen A. Cook. La complexité parallèle des problèmes des groupes de permutation abéliens. 1987.

[2] Pierre McKenzie. Groupes de complexité et de permutation parallèles. 1984.

[3] V. Arvind et TC Vijayaraghavan. Classification des problèmes sur les congruences linéaires et les groupes de permutation abéliens à l'aide des classes de comptage des espaces de journalisation. 2010.

Michael Blondin
la source
ZNbab=aimodφ(N)
En fait, c'est pour tout groupe de permutation abélien .
Michael Blondin
Je vais jeter un œil à ces papiers et essayer de tout organiser un peu. Merci.
Juan Bermejo Vega
Pourriez-vous fournir plus de détails sur l'encodage de l'entrée? De cette façon, je pourrais peut-être améliorer ma réponse.
Michael Blondin
A=Zd1×Zd1×ZdN(g1,,gn)n:=log2|A|
4

Après un certain temps, j'ai réussi à trouver un algorithme peut-être pas optimal mais simple qui prouve que la complexité du problème est polynomiale.

Algorithme

HH

bH

bHhH


Une analyse

HG

H:={gG:χg(h)=1hH}
  1. HG
  2. H=H

Algorithme pour (a) :

gHχ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/dii

(α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
t+log|G|Hp11/2tAX=0(modM)AMDUVD=UAVDY=0(modM)X=VYDY=0(modM)diyi=0(modM)X=VYH

Algorithme pour (b) :

HbHg1,,gsHbHχb(gi)=1H|G|)) nombre d'entre eux et cela peut être fait efficacement en utilisant l'arithmétique modulaire, nous avons terminé.

Juan Bermejo Vega
la source
1
il est bon d'ajouter votre propre réponse si vous avez fait des découvertes entre-temps. Cependant, il semble que vous ayez besoin de faire plus d'investigation (sur la base de votre commentaire) avant de décider quelle réponse accepter.
Suresh Venkat
Merci. Je voudrais poursuivre la discussion pour voir si nous mettons tout dans une seule image. De plus, je pense qu'il pourrait y avoir un algorithme plus pratique qui pourrait apparaître.
Juan Bermejo Vega