¿Existe un método razonablemente barato para resolver el problema de asignación grande, denso y de bajo rango , donde ejecuta sobre todas las permutaciones. De ?1 : n
Aquí es una matriz de bajo rango . Los tamaños típicos serían (posiblemente mucho más grande), .n × n r n = 10000 r = 15
optimization
Arnold Neumaier
fuente
fuente
Respuestas:
Como con R 1 , R 2 ∈ R n × r , tenemos ∑ i A π i , i = ∑ i ( P π A ) i , i = trace ( P π R 1 R T 2 ) donde P π es la matriz de permutación correspondiente a π .A = R1RT2 R1, R2∈ Rn × r
Para cualquier , la traza se puede calcular como traza ( P π R 1 R T 2 ) = ∑ i ∑ k ( P π R 1 ) i , k ( R T 2 ) k , i = ∑ i , k ( ( P π R 1 ) ∘ R 2 ) i , k . (Esta cantidad también se conoce comoπ
Esta idea no quita la carga de tener que pasar por todas las permutaciones y la búsqueda de fuerza bruta para obtener el máximo de todos los productos Frobenius, y de hecho tiene la misma complejidad aritmética que computar explícitamente . Sin embargo, tiene requisitos de memoria mucho más bajos, ya que nunca tenga que formar en realidad una .A = R1RT2 UNA
fuente