Complessità del test di appartenenza per gruppi abeliani finiti


12

Si consideri il seguente problema di verifica dell'appartenenza al sottogruppo abeliano .

ingressi:

  1. Un gruppo abeliano finito G=Zd1×Zd1×Zdm con arbitrario-grande di .

  2. Un generatore-set {h1,,hn} di un sottogruppo HG .

  3. Un elemento bG .

Uscita: "sì" se bH 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 O(polylog|G|) nel solito senso delle macchine classiche di Turing. Si noti che possiamo assumere n=O(log|G|) per ogni sottogruppo H . La dimensione di input di questo problema è log|G| .

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 3P . Piccoli numeri interi sono esponenzialmente piccoli con la dimensione di input: O ( log log | A | ) .didi=NieiNi,eiNC3PO(loglog|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 equazioniA{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

ha una soluzione se e solo se .bH

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=diADUVD=UAVDDY=UbmoddD

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:

  1. Calcolando la Smith normali forme di .A
  2. Calcolare la fila forma Echelon di .A
  3. Eliminazione gaussiana intera.

1
simultaneamente incrociato
Suresh Venkat

2
Sembra che tu abbia incrociato contemporaneamente questa domanda . Sebbene non ci dispiaccia che una domanda venga ripubblicata , la nostra politica del sito è di consentire una ripubblicazione solo dopo che è trascorso un tempo sufficiente e non hai ottenuto la risposta desiderata altrove, perché il crossposting simultaneo duplica lo sforzo e la discussione delle fratture. È possibile contrassegnare questa domanda per chiuderla ora e quindi riflagarla per l'apertura, se necessario, dopo aver riassunto le discussioni pertinenti da altri siti.
Suresh Venkat,

1
Chiuso su richiesta del poster originale (a causa di duplicazioni su MO).
Dave Clarke,

1
Ho pubblicato una risposta prima che il post fosse chiuso. A mio avviso, la domanda è più adatta qui che su mathoverflow poiché è stata ampiamente studiata nella letteratura della teoria della complessità.
Michael Blondin,

1
riaperto su richiesta OP; concentrarsi sulla complessità lo rende la soluzione giusta per qui.
Suresh Venkat,

Risposte:


10

Verificare se (dove sono vettori secondo i commenti del PO) equivale a verificare se esiste una soluzione a questo sistema: h i ( 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))

Nel tuo caso sono piccoli numeri (cioè il loro valore è logartihmico nella dimensione di input). Sfortunatamente, non sembra che possiamo supporre che siano minuscoli.d 1 , ... , d ne1,,eNd1,,dn

Se lo sono, puoi trovare una soluzione al sistema in da un risultato di McKenzie & Cook [1] . Questo documento mostra che la risoluzione di congruenze lineari modulo un numero intero con piccoli fattori (LCON) è in . Inoltre, questo problema è equivalente al problema dell'appartenenza al gruppo di permutazione abeliana (AGM). La tesi di dottorato di McKenzie è interamente dedicata a questi problemi [1] . Più recentemente, questi problemi sono stati considerati da Arvind & Vijayaraghavan [3] .NC 3 NC 1NC3NC3NC1

[1] Pierre McKenzie e Stephen A. Cook. La complessità parallela dei problemi del gruppo di permutazione abeliana. 1987.

[2] Pierre McKenzie. Complessità parallele e gruppi di permutazione. 1984.

[3] V. Arvind e TC Vijayaraghavan. Classificazione dei problemi relativi a congruenze lineari e gruppi di permutazione abeliana mediante le classi di conteggio dello spazio dei log. 2010.


Grazie, sfortunatamente, non ho accesso a questi documenti fino a lunedì. Mi sorprende che questo funzioni per qualsiasi gruppo abeliano. Per , che è abeliano, determinare se appartiene a implica decidere se ha una soluzione. Vedo due problemi qui: 1) Classicamente è difficile calcolare la funzione totient di Eulero 2) È la versione decisionale di un logaritmo discreto. Il problema si riduce alla risoluzione di equazioni modulari se viene data la decomposizione ciclica. Come aggiri questo problema? Mi sto perdendo qualcosa di importante qui? b un b = un iZNbab=aimodφ(N)
Juan Bermejo Vega,

In realtà, è per qualsiasi gruppo di permutazione abeliana .
Michael Blondin,

Daremo un'occhiata a questi documenti e cercherò di organizzare un po 'tutto. Grazie.
Juan Bermejo Vega,

Potresti fornire maggiori dettagli sulla codifica dell'input? In questo modo, potrei essere in grado di migliorare la mia risposta.
Michael Blondin,

La decomposizione del gruppo come input (questi sarebbero una stringa con più numeri e la lunghezza immagino). Quindi, ogni elemento del gruppo ha la forma e può essere rappresentato da una tupla di numeri. Per memorizzarlo sono necessari bit. Questo risponde? A=Zd1×Zd1×ZdN(g1,,gn)n:=log2|A|
Juan Bermejo Vega,

4

Dopo qualche tempo, sono riuscito a trovare un algoritmo forse non ottimale ma semplice che dimostra che la complessità del problema è polinomiale.

Algoritmo

(a) calcolare un generatore-set del ortogonale sottogruppo di .HH

(b) Controllare se l'elemento è ortogonale a .bH

Esistono algoritmi classici efficienti per i problemi (a) e (b) (vedi analisi sotto). Questo dà un efficiente appartenenza-test, in quanto un elemento è ortogonale a se e solo se .bHhH


Analisi

Il sottogruppo ortogonale è definito tramite il gruppo di caratteri di come: Proprietà principali:HG

H:={gG:χg(h)=1hH}
  1. H è un sottogruppo di .G
  2. H=H

Algoritmo per (a) :

Seguo un algoritmo da [ 1 ] con variazioni minori. appartiene a se e solo se per tutte le , ma, per linearità, è sufficiente mostrare per ogni generatore di . Espandendo il personaggio in termini di esponenziali (qui uso implicitamente la decomposizione del fattore ciclico) questa condizione è equivalente a Per risolvere queste equazioni, calcola usando l'algoritmo euclideo e i numerigHχ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/di . Possiamo riscrivere le condizioni di cui sopra per ogni come un sistema di equazioni modulari lineari.i

(α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
Come dimostrato in 1 , se proviamo soluzioni casuali di questo sistema di equazioni otterremo un gruppo di generazione di con probabilità esponenzialmente vicino a una .t+log|G|Hp11/2tAX=0(modM). Qui è una matrice rettangolare sopra gli interi modulo per i quali un algoritmo dato in 2 consente di calcolare in modo efficiente la sua normale decomposizione di Smith. L'algoritmo restituisce una matrice diagonale e due matrici invertibili , tali che . Usando questa formula il sistema di equazioni può essere scritto come con . Ora è possibile soluzioni casualmente calcolo di usando l'algoritmo di Euclide, poiché questo è un sistema di equazioni della forma . Infine, calcolaAMDUVD=UAVDY=0(modM)X=VYDY=0(modM)diyi=0(modM)X=VYsi ottiene un elemento casuale del gruppo ortogonale come desiderato.H

Algoritmo per (b) :

Poiché sappiamo già come calcolare un generatore-set di , è facile controllare se un dato elemento appartiene . Per prima cosa calcola un gruppo di generazione di . Quindi, per definizione, appartiene a se e solo se per tutti i generatori di . Poiché esiste un numero O (polilogo ( )) e questo può essere fatto in modo efficiente usando l'aritmetica modulare, abbiamo finito. b H g 1 , ... , g sH b H χ b ( g i ) = 1 H | G |HbHg1,,gsHbHχb(gi)=1H|G|


1
va bene aggiungere la tua risposta se nel frattempo hai fatto delle scoperte. Tuttavia, sembra che tu debba fare qualche indagine in più (in base al tuo commento) prima di decidere quale risposta accettare.
Suresh Venkat,

Grazie. Vorrei continuare ulteriormente la discussione per vedere se mettiamo tutto in un'unica immagine. Inoltre, penso che potrebbe esserci un algoritmo più pratico che potrebbe apparire.
Juan Bermejo Vega,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.