Dado un conjunto S de matrices de permutación nxn (que es solo una pequeña fracción de las n! Matrices de permutación posibles), ¿cómo podemos encontrar subconjuntos T de tamaño mínimo de S de manera que sumar las matrices de T tenga al menos 1 en cada posición?
Estoy interesado en este problema donde S es un pequeño subgrupo de S_n. Me pregunto si es posible encontrar (¡e implementar!) Algoritmos de aproximación que sean mucho más rápidos que los codiciosos algoritmos (se ejecutan muchas veces hasta que tuvo 'suerte', que es un procedimiento muy lento pero que, sin embargo, ha dado algunos límites casi óptimos en casos pequeños), o si la imposibilidad de aproximación garantiza que no puedo.
Algunos datos fáciles sobre este problema: un grupo de matrices de permutación de longitud n cíclica resuelve este problema, por supuesto de manera óptima. (Se necesitan al menos n matrices porque cada matriz de permutación tiene n unas y se necesitan n ^ 2 unas).
Los conjuntos S que me interesan no tienen un grupo n-cíclico en ellos.
Este problema es un caso muy especial de cubierta de conjunto. De hecho, si dejamos que X sea el conjunto (1,2, ... n) * (1,2, ... n), con n ^ 2 elementos, entonces cada matriz de permutación corresponde a un subconjunto de tamaño n, y yo Estoy buscando la subcolección más pequeña de estos subconjuntos que cubren X. La cubierta del conjunto en sí no es una buena manera de ver este problema, porque la aproximación del problema general de la cubierta del conjunto.
La única razón por la cual este problema no es demasiado lento utilizando el enfoque codicioso es porque la simetría en el grupo de permutación ayuda a eliminar mucha redundancia. En particular, si S es un subgrupo y T es un pequeño subconjunto que es un conjunto de cobertura mínimo, entonces los conjuntos sT (multiplique T por cualquier elemento del grupo s) todavía están en S y siguen siendo un conjunto de cobertura (por supuesto del mismo tamaño, por lo que sigue siendo mínimo.) En caso de que se lo pregunte, el caso exitoso tiene n ~ 30 y | S | ~ 1000, con resultados afortunados y codiciosos que tienen | T | ~ 37. Los casos con n ~ 50 tienen algunos límites muy pobres que tardan mucho tiempo en llegar.
Para resumir, me pregunto si hay enfoques de aproximación a este problema o si todavía es lo suficientemente general como para ajustarse a algún teorema de inaproximabilidad, como el que existe para el problema general de la cobertura del conjunto. ¿Qué algoritmos se utilizan para aproximar problemas relacionados en la práctica? Parece que puede haber algo posible ya que los subconjuntos son todos del mismo tamaño y cada elemento aparece en la misma pequeña frecuencia 1 / n.
-SI