Betrachten Sie das folgende Problem beim Testen der Mitgliedschaft von Abelian-Untergruppen .
Eingänge:
Eine endliche abelsche Gruppe mit beliebig großem .
Ein Generatorsatz eine Untergruppe .
Ein Element .
Ausgang: ‚Ja‘ , wenn und ‚Nein‘ an anderer Stelle‘.
Frage: Kann dieses Problem in einem klassischen Computer effizient gelöst werden ? Ich halte einen Algorithmus für effizient, wenn er und Speicherressourcen im üblichen Sinne klassischer Turing-Maschinen verwendet. Beachten Sie, dass wir für jede Untergruppe H annehmen können . Die Eingabegröße dieses Problems ist is log | G | ⌉ .
Ein bisschen Motivation . Intuitiv sieht es so aus, als könnte das Problem mit Algorithmen gelöst werden, um lineare Kongruenzsysteme oder lineare diophantische Gleichungen zu lösen (siehe unten). Es scheint jedoch, dass im Zusammenhang mit Berechnungen mit ganzen Zahlen verschiedene Begriffe der Recheneffizienz verwendet werden, wie z. Ich bin kein Experte für diese Definitionen und kann keine Referenz finden, die diese Frage eindeutig regelt.
Update: Die Antwort auf das Problem lautet "Ja".
In einer späten Antwort schlug ich eine Methode vor, die auf normalen Smith-Formen basiert und für jede Gruppe mit der vorgeschriebenen Form effizient ist.
Eine Antwort von Blondin zeigt, dass in dem speziellen Fall, in dem alle die Form d i = N e i i und N haben sind "kleine ganze Zahlen"dann gehört das Problem zu NC 3 ⊂ P . Winzige Ganzzahlen sind exponentiell klein mit der Eingabegröße: O ( log log | A | ) .
In meiner Antwort habe ich "orthogonale Untergruppen" verwendet, um dieses Problem zu lösen, aber ich glaube, dass dies nicht notwendig ist. Ich werde versuchen, in Zukunft eine direktere Antwort auf die von mir gelesene Methode der Echelon-Formulare zu geben.
Einige mögliche Ansätze
Das Problem hängt eng mit der Lösung des linearen Kongruenzsystems und / oder der linearen Diophantingleichungen zusammen. Ich fasse diese Zusammenhänge der Vollständigkeit halber kurz zusammen.
Nehmen Sie als die Matrix, deren Spalten die Elemente der Erzeugungsmenge { h 1 , … , h n } sind . Das folgende Gleichungssystem
wenn eine Lösung hat , und nur wenn .
Wenn alle zyklischen Faktoren die gleiche Dimension gibt es einen Algorithmus, der auf Smith-Normalformen basiert und das Problem in der Polynomzeit löst. In diesem Fall findet ein effizienter Algorithmus aus [1] die Smith-Normalform von A : Er gibt eine Diagonalmatrix D und zwei invertierbare Matrizen U und V zurück, so dass D = U A V ist . Dies reduzierte das Problem auf die Lösung des äquivalenten Systemsystems D Y = U b mit D- Diagonale. Wir können effizient entscheiden, ob das System eine Lösung mit dem euklidischen Algorithmus hat.
Das obige Beispiel legt nahe, dass das Problem im allgemeinen Fall mit ähnlichen Techniken effizient gelöst werden kann. Wir können versuchen, das System durch modulare Operationen zu lösen oder indem wir das System in ein größeres System linearer diophantischer Gleichungen umwandeln. Einige mögliche Techniken, um das Problem anzugehen, das mir einfällt, sind:
- Die Berechnung der Smith Normalformen von .
- Berechnen der Reihe Echelon Form .
- Ganzzahlige Gaußsche Eliminierung.