problema di assegnazione di alto rango basso denso


9

Esiste un metodo ragionevolmente economico per risolvere il problema di assegnazione di grandi dimensioni, denso e di basso rango , dove \ pi corre su tutte le permutazioni. Di 1: n ?maxπiAπi,iπ1:n

Qui A è una matrice n×n di r rango basso r. Le dimensioni tipiche sarebbero n=10000   (forse molto più grandi), r=15 .


1
Per πi intendo il prodotto in modo che stai avanzando nella matrice per diversi π ?
Bill Barth,

π corre su tutte le permutazioni.
Arnold Neumaier l'

Non dovrebbe essere Aπ(i),i allora?
Jack Poulson

@JackPoulson: \i(i) e πi sono due diverse notazioni per l'immagine di i sotto la permutazione π .
Arnold Neumaier l'

Domanda interessante! Stai cercando di sfruttare la struttura di basso livello solo per motivi di archiviazione , ovvero per evitare di dover formare l'intera matrice quando si applica un algoritmo di assegnazione tradizionale? O stai cercando un modo per sfruttare il livello basso per accelerare la ricerca?
Michael Grant,

Risposte:


3

Poiché con , abbiamo dove è la matrice di permutazione corrispondente a .A=R1R2TR1,R2Rn×r

iAπi,i=i(PπA)i,i=trace(PπR1R2T)
Pππ

Per qualsiasi , la traccia può essere calcolata come (Questa quantità è anche nota come prodotto Frobenius , ).π

trace(PπR1R2T)=ik(PπR1)i,k(R2T)k,i=i,k((PπR1)R2)i,k.
PπR1:R2

Questa idea non toglie l'onere di dover passare attraverso tutte le permutazioni e forza bruta ricerca del massimo di tutti i prodotti di Frobenius, ed in effetti è ha la stessa complessità aritmetica come calcolare esplicitamente . Tuttavia, ha i requisiti di memoria molto più bassi dal momento che non hai mai di formare in realtà .A=R1R2TA

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.