Determinanti e moltiplicazione di matrici - Somiglianza e differenze nella complessità algoritmica e nella dimensione del circuito aritmetico


11

Sto cercando di capire la relazione tra complessità algoritmica e complessità circuitale di determinanti e moltiplicazione di matrici.

È noto che il determinante di una matrice può essere calcolato in ˜ O ( M ( n ) ) tempo, dove M ( n ) è il tempo minimo richiesto per moltiplicare due matrici n × n . È anche noto che la migliore complessità circuitale dei determinanti è polinomiale a profondità O ( log 2 ( n ) ) ed esponenzialen×nO~(M(n))M(n)n×nO(log2(n)) alla profondità 3. Ma la complessità del circuito della moltiplicazione della matrice, per qualsiasi profondità costante, è solo polinomiale.

Perché esiste una differenza nella complessità del circuito per determinanti e moltiplicazione di matrici mentre è noto che da un algoritmo il calcolo del determinante in prospettiva è simile alla moltiplicazione di matrici? In particolare, perché le complessità del circuito hanno un gap esponenziale alla profondità ?3

Probabilmente, la spiegazione è semplice ma non la vedo. C'è una spiegazione con "rigore"?

Cerca anche: la più piccola formula nota per il determinante

Risposte:


3

Considerare il problema del valore del circuito e la valutazione della formula booleana per varie classi di complessità di piccole dimensioni. La complessità temporale sequenziale deterministica di loro è simile per quanto ne sappiamo, eppure sono molto diversi dal punto di vista della complessità del circuito. La somiglianza in un particolare tipo di risorsa su un modello non implica la somiglianza con altre risorse in altri modelli. Un problema può essere tale che possiamo sfruttare il calcolo parallelo per uno mentre non possiamo farlo per un altro, ma la loro complessità temporale sequenziale può essere la stessa.

Quando possiamo aspettarci una relazione più solida tra la complessità di due problemi tra modelli e risorse diverse? Quando sono una forte riduzione tra loro in entrambe le direzioni che rispetta le risorse in quei modelli.

Modifica: la moltiplicazione ha dimensioni di profondità 3 circuiti esponenziali. Dimostrare un limite inferiore di quel tipo per determinante mostrerebbe che non è in separandolo da N C 2 che non è noto.NLNC2


"la moltiplicazione ha circuiti di profondità 3 dimensioni esponenziali." Penserei che la moltiplicazione abbia una dimensione del circuito a qualsiasi profondità poiché comporta solo l'estrazione di n 2 variabili e la loro moltiplicazione in un certo ordine e l'aggiunta dei prodotti intermedi. O(n3)n2
T ....

1
La moltiplicazione di due numeri interi è completa per e pertanto non è in A C 0 . TC0UNC0
Kaveh,

Sto guardando solo la complessità sequenziale per ora.
T ....

Non sono sicuro di seguire il tuo commento. Penso che il mio post risponda alla domanda in ambiente booleano (la domanda non menzionava i circuiti aritmetici originariamente IIRC). Per l'impostazione del circuito aritmetico non ne so molto, speriamo che altri rispondano alla domanda.
Kaveh,

2

Direi che il divario nelle impostazioni aritmetiche ci dice che la moltiplicazione della matrice è intrinsecamente un compito molto più parallelo rispetto al determinante. In altre parole, mentre le complessità sequenziali di entrambi i problemi sono strettamente correlate, le loro complessità parallele non sono così vicine tra loro.

Un documento pertinente sono gli algoritmi di inversione rapida della matrice parallela di Csanky in cui dimostra che la complessità aritmetica del calcolo del determinante di una matrice n × n (ovvero la profondità di un circuito aritmetico che calcola il determinante) soddisfa O ( log n ) D ( n ) O ( log 2 n ) . Per quanto ne so, questi sono ancora i limiti più noti per questo problema. Questo deve essere confrontato con la banale profondità 3D(n)n×n

O(logn)D(n)O(log2n).
3circuito aritmetico che calcola una moltiplicazione di matrici, data dalla formula .(UNB)ioj=ΣKUNioKBKj

Non so se questo sia un problema per "perché le complessità del circuito hanno un gap esponenziale alla profondità 3?", Ma almeno hai una prova di questo fatto è il documento di Csanky.
Bruno,

Se capisco correttamente, stai insinuando: per avere un numero polinomiale di processori, è necessario uno spessore logaritmico?
T ....

1
Non ricordavo il modello esatto usato da Csanky. In realtà, sta prendendo in considerazione ciò che oggi chiamiamo circuiti aritmetici con fan-in limitato . Quindi il limite inferiore è abbastanza banale e il mio confronto con la moltiplicazione della matrice non è rilevante.
Bruno,
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.