Dado un subconjunto de un producto cartesiano de dos conjuntos finitos, deseo encontrar una cobertura mínima de él por conjuntos que son productos cartesianos.
Por ejemplo, dado un producto entre y , puedo observar el subconjunto e intente cubrirlo con un número mínimo de productos cartesianos.
Dos formas de hacerlo son y , ambos requieren 2 productos. Una solución subóptima puede dividirla en 3 productos triviales.
¿Se puede encontrar una cobertura tan óptima de manera eficiente (por ejemplo, en tiempo polinómico)?
algorithms
set-cover
yuvalm2
fuente
fuente
Respuestas:
NM reformula este problema en comentarios al encontrar un número mínimo de camarillas bipartitas (bi-camarillas) que cubren un gráfico bipartito. Los dos conjuntos que menciona son los 2 conjuntos de vértices del gráfico bipartito. Los productos cartesianos de los subconjuntos de los dos conjuntos de vértices son bicliques. Wikipedia dice que este es el problema de la dimensión bipartita y es el problema GT18 en Garey y Johnson , se demostró que NP está completo basado en una reformulación directa del problema SP7 de base establecida.
fuente