Si consideri il seguente problema di verifica dell'appartenenza al sottogruppo abeliano .
ingressi:
Un gruppo abeliano finito con arbitrario-grande .
Un generatore-set di un sottogruppo .
Un elemento .
Uscita: "sì" se e "no" altrove ".
Domanda: questo problema può essere risolto in modo efficiente in un computer classico? Considero un algoritmo efficiente se utilizza risorse di memoria e tempo nel solito senso delle macchine classiche di Turing. Si noti che possiamo assumere per ogni sottogruppo . La dimensione di input di questo problema è .
Un po 'di motivazione . Intuitivamente sembra che il problema possa essere affrontato con algoritmi per risolvere sistemi lineari di congruenze o equazioni diottantiche lineari (leggi sotto). Tuttavia, sembra che ci siano diverse nozioni di efficienza computazionale utilizzate nel contesto di calcoli con numeri interi, come ad esempio: tempo fortemente contro debolemente polinomiale, complessità algebrica contro bit. Non sono un esperto di queste definizioni e non riesco a trovare un riferimento che risolva chiaramente questa domanda.
Aggiornamento: la risposta al problema è "sì".
In una risposta tardiva, ho proposto un metodo basato sulle forme normali di Smith che è efficace per qualsiasi gruppo con la forma prescritta.
Una risposta da spettacoli Blondin che, nel caso particolare in cui tutti sono della forma d i = N e i i e N i , all'e io sono "piccole" interi quindi il problema appartiene NC 3 ⊂ P . Piccoli numeri interi sono esponenzialmente piccoli con la dimensione di input: O ( log log | A | ) .
Nella mia risposta ho usato "sottogruppi ortogonali" per risolvere questo problema, ma credo che non sia necessario. Cercherò di fornire una risposta più diretta in futuro, basandomi su un metodo di moduli Echelon che sto leggendo.
Alcuni possibili approcci
Il problema è strettamente correlato alla risoluzione del sistema lineare di congruenze e / o equazioni diottantiche lineari. Riassumo brevemente queste connessioni per il completamento.
Prendi per essere la matrice le cui colonne sono gli elementi del gruppo elettrogeno { h 1 , ... , h n } . Il seguente sistema di equazioni
ha una soluzione se e solo se .
Se tutti i fattori ciclici hanno la stessa dimensione esiste un algoritmo basato sulle forme normali di Smith che risolve il problema in tempo polinomiale. In questo caso, un algoritmo efficiente da [1] trova la forma normale di Smith di : restituisce una matrice diagonale e due matrici invertibili e tali che . Ciò ha ridotto il problema alla soluzione del sistema equivalente con diagonalePossiamo decidere in modo efficiente se il sistema ha una soluzione usando l'algoritmo euclideo. A D U V D = U A V D Y = U bD
L'esempio precedente suggerisce che il problema può essere risolto in modo efficiente utilizzando tecniche simili nel caso generale. Possiamo provare a risolvere il sistema eseguendo operazioni modulari o trasformando il sistema in un sistema più ampio di equazioni diottantiche lineari. Alcune possibili tecniche per affrontare il problema che mi viene in mente sono:
- Calcolando la Smith normali forme di .
- Calcolare la fila forma Echelon di .
- Eliminazione gaussiana intera.