Prove che la moltiplicazione di matrici può essere fatta in tempi quadratici?


59

È ampiamente ipotizzato che , l'esponente ottimale per la moltiplicazione di matrici, sia in effetti uguale a 2. La mia domanda è semplice:ω

Quali ragioni abbiamo per credere che ?ω=2

Sono a conoscenza di algoritmi veloci come Coppersmith-Winograd, ma non so perché possano essere considerati prove di .ω=2

Ingenuamente, mi sembra un classico esempio in cui una comunità spera solo che un risultato sia vero puramente per ragioni estetiche. Mi piacerebbe sapere se questo è essenzialmente il caso qui.


12
Ho il sospetto che la risposta sia in gran parte estetica, e la mancanza di una buona ragione per essere maggiore di 2. C'era un documento in FOCS '05 che forniva alcune costruzioni teoriche di gruppo per il mult matrice che corrispondevano agli attuali esponenti conosciuti e davano anche 2 congetture teoriche di gruppo che implicano . PDFω=2
Mark Reitblatt

5
Qualche anno fa, ho avuto una conversazione con Strassen in cui ha detto di credere . Non sono sicuro di quali fossero le sue ragioni, però. ω>2
Ryan Williams

2
@Ryan, speriamo che Strassen legga cstheory.stackexchange. :)
Steve Flammia

3
Esiste un limite inferiore di (in base ad alcune restrizioni) dovuto a Ran Raz, quindi una congettura migliore sarebbe che non sia raggiunta (ma l'informazione è effettivamente ). Ω(nlogn)ω=22
Yuval Filmus

5
@Yuval, @Steve: 1) è generalmente definito come un limite. 2) Sappiamo già che qualunque cosa sia , non viene raggiunta (è un inf e non un min). Vedi questo articolo su Coppersmith-Winograd: dx.doi.org/10.1137/0211038 . Dall'estratto: "l'esponente per la moltiplicazione di matrici è un punto limite, cioè non può essere realizzato da nessun singolo algoritmo". (Dati i dettagli dei loro risultati, penso che questa affermazione non possa essere presa in modo ingenuo al valore nominale, ma questo è principalmente un tecnicismo.)ωω
Joshua Grochow

Risposte:


20

Vorrei aggiungere il commento di Mark Reitblatt e la risposta di Amir Shpilka. In primo luogo, una delle congetture avanzate da Cohn, Kleinberg, Szegedy e Umans non è teorica di gruppo ma è puramente combinatoria (Conj. 3.4 nel loro documento FOCS '05 ). Questa congettura afferma che "la forte capacità USP è ". Coppersmith e Winograd, mostrando il loro algoritmo attualmente migliore per la moltiplicazione di matrici, hanno mostrato che la capacità USP è lo stesso numero (anche se non l'hanno definita in questo modo). Sebbene ci sia una differenza tra forti USP e USP, questa è una prova che la loro congettura è almeno plausibile.322/3322/3

(Per l'altra loro congettura 4.7, che è teorica di gruppo, non conosco alcuna prova simile di plausibilità, al di là della semplice intuizione.)

In secondo luogo, concordo con Amir Shpilka sul fatto che la serie di algoritmi passati abbia un aspetto un po 'ad hoc. Tuttavia, una delle cose belle dell'approccio teorico di gruppo è che quasi tutti (non del tutto) gli algoritmi precedenti possono essere formulati in questo approccio. Sebbene le varie costruzioni teoriche di gruppo in [CKSU] possano sembrare un po 'ad-hoc all'esterno, nel contesto del quadro di teoria dei gruppi sembrano significativamente più naturali e meno ad-hoc (almeno per me) rispetto a molte delle gli algoritmi precedenti.


Quando penso a Capacity penso a set e cricche indipendenti. Qual è il dizionario tra USP e la costruzione esplicita del grafico sottostante e esiste una struttura per questi grafici?
T ....

28

Non conosco gli altri ma posso dirti perché tendo a credere che . Quando leggi la storia e lo sviluppo di algoritmi di moltiplicazione a matrice rapida, penso che sia difficile non avere la sensazione che tutto ciò di cui abbiamo bisogno sia solo un algoritmo di base leggermente migliore dal quale, anche usando tecniche note, seguirà . Fondamentalmente, tutti gli algoritmi oggi (compresi quelli teorici di gruppo) iniziano con una costruzione "semplice" che viene poi amplificata. Queste costruzioni sono intelligenti ma danno al lettore una sorta di sensazione "ad hoc". Non vedo un motivo per credere che non possiamo escogitare migliori costruzioni semplici.ω=2ω=2


20

C'è un'analogia che uso per giustificare la congettura che a me stesso. Mi rendo conto che questo è piuttosto euristico, ma tuttavia mi ha servito bene, ad esempio, nel comprendere alcune delle intuizioni alla base di Cohn et al. carta.ω=2

Convoluzione e moltiplicazione della matrice sono analoghi. Se e sono matrici -by- e , allora . Se e sono vettori di lunghezza e , allora . In entrambi i casi, il risultato finale è un vettore costituito da somme di prodotti, ma la struttura relazionale nei dati di input è diversa. Per convoluzione, possiamo usare la FFT per calcolare la risposta in tempo invece della banale . Analogamente, ci si potrebbe aspettare unABnnC=ABC(i,j)=k=1nA(i,k)B(k,j)ABnC=ABC(i)=k=1nA(k)B(ik)O~(n)O(n2)O~(n2) algoritmo temporale per la moltiplicazione di matrici. La domanda è: qual è l'analogo della trasformata di Fourier che può aiutare a moltiplicare la matrice?


-1

Più probabile che sia . Avere sembra fantasioso poiché la contabilità a fattore costante non sembra che possa ridimensionarsi.O(n2log(n2))ω=2


1
Si fraintende la definizione di : è l'infimo di tutto tale che la moltiplicazione della matrice può essere risolta nel tempo . Se esiste un algoritmo di moltiplicazione di matrice , questo dato sarà comunque . A proposito c'è un legato nel modello di circuiti aritmetici con coefficienti limitati. ωcO(nc)O(n2log10n)2Ω(n2logn)
Sasho Nikolov,

@SashoNikolov Grazie per averlo sottolineato. Qualcuno ha provato ad allenare una rete neurale per il booleano matmul A * B = C? [Voci A, voci B, voci C] -> Bool (moltiplicare corretto o errato). Curioso quali circuiti escono dal gradiente decadente / interruzioni; se i circuiti addestrati hanno attrattori vicino a scomposizioni primarie. Su 3x3, 4x4, 5x5, 6x6 sembra che un'ora di GPU darebbe alcuni risultati interessanti.
Chad Brewbaker,
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.