Dada una gran matriz dispersa (digamos 10k + por 1M +) Necesito encontrar un subconjunto, no necesariamente continuo, de las filas y columnas que forman una matriz densa (todas elementos distintos de cero). Quiero que esta matriz secundaria sea lo más grande posible (no la suma más grande, pero la mayor cantidad de elementos) dentro de algunas restricciones de relación de aspecto.Encuentra la sub matriz subnsa "más grande" en una gran matriz dispersa
¿Existen soluciones exactas o aproximadas conocidas para este problema?
Un escaneo rápido en Google parece dar muchos resultados cercanos, pero no exactamente. ¿Qué términos debería estar buscando?
edición: sólo para aclarar; la matriz secundaria no necesita ser continua. De hecho, el orden de filas y columnas es completamente arbitrario, por lo que la adyacencia es completamente irrelevante.
un pensamiento basado en la idea de Chad Okere
- Orden de las filas de mayor recuento para contar más pequeño (no es necesario, pero podrían ayudar perf)
- Seleccionar dos filas que tienen un solapamiento "grande"
- Agrega todas las otras filas que no va a reducir el solapamiento
- registro que establece
- añadir lo que reduce la fila ov ERLAP por el
- Repita por lo menos en la posición # 3 hasta que el resultado se pone a pequeña
- Empezar de nuevo en la posición # 2 con un par de partida diferente
- Continuar hasta que se decida el resultado es lo suficientemente bueno
establecer un límite inferior en la submatriz facilitará el problema. – Sev
@Sev: podría dar más detalles. No estoy seguro de a qué tipo de límite inferior se refiere. – BCS
Si tuviera que elegir una submatriz mínima p x q específica para encontrar, para que se descarte todo lo que sea más pequeño que eso, puede simplificar el problema, si su mínimo es lo suficientemente grande. – Sev