La partición de matroides es un problema que surge en el estudio matemático de los matroides y en el diseño y análisis de algoritmos . Su objetivo es particionar los elementos de un matroide en la menor cantidad posible de conjuntos independientes. Un ejemplo es el problema de calcular la arboricidad de un grafo no dirigido , es decir, el número mínimo de bosques necesarios para cubrir todas sus aristas. La partición de matroides puede resolverse en tiempo polinomial , dado un oráculo de independencia para el matroide. Puede generalizarse para demostrar que una suma de matroides es en sí misma un matroide, para proporcionar un algoritmo para calcular rangos y conjuntos independientes en sumas de matroides, y para calcular el mayor conjunto independiente común en la intersección de dos matroides dados. [ 1 ]
Ejemplo

La arboricidad de un grafo no dirigido es el número mínimo de bosques en los que se pueden particionar sus aristas, o equivalentemente (añadiendo aristas superpuestas a cada bosque según sea necesario) el número mínimo de bosques generadores cuya unión es el grafo completo. Una fórmula demostrada por Crispin Nash-Williams caracteriza la arboricidad exactamente: es el máximo, sobre todos los subgrafosdel gráfico dado, de la cantidad. [ 2 ]
Los bosques de un grafo forman los conjuntos independientes del matroide gráfico asociado y la cantidadEn la fórmula de Nash-Williams aparece el rango del matroide gráfico de, el tamaño máximo de uno de sus conjuntos independientes. Por lo tanto, el problema de determinar la arboricidad de un grafo es exactamente el problema de partición de matroides para el matroide gráfico. El hecho de que elLos elementos de este matroide no pueden ser particionados en menos desubconjuntos independientes es entonces simplemente una aplicación del principio del palomar que dice que, siLos elementos se dividen en conjuntos de tamaño como máximo, entonces al menosSe necesitan conjuntos. La dirección más difícil de la fórmula de Nash-Williams, que puede generalizarse a todos los matroides, es la demostración de que siempre existe una partición de este tamaño. [ 1 ]
Fórmula para el tamaño de la partición
Para generalizar la fórmula de Nash-Williams, se puede reemplazarpor un matroidy el subgrafodecon una restriccióndea un subconjuntode sus elementos. El número de aristas del subgrafose convierte, en esta generalización, en la cardinalidaddel subconjunto seleccionado y la fórmulapara el tamaño máximo de un bosque ense convierte en el rangoPor lo tanto, el número mínimo de conjuntos independientes en una partición del matroide dado es...debe ser dado por la fórmula
- .
Esta fórmula es válida y Edmonds (1965) le dio una demostración algorítmica . [ 1 ] [ 3 ] En otras palabras, un matroide puede particionarse en como máximosubconjuntos independientes, si y solo si para cada subconjuntode, la cardinalidad dees como máximo.
Algoritmos
El primer algoritmo para la partición de matroides fue dado por Edmonds (1965) . [ 3 ] Es un algoritmo de camino de aumento incremental que considera los elementos del matroide uno por uno, en un orden arbitrario, manteniendo en cada paso del algoritmo una partición óptima para los elementos que se han considerado hasta el momento. En cada paso, al considerar un elementoque aún no se ha colocado en una partición, el algoritmo construye un grafo dirigido que tiene como nodos los elementos que ya han sido particionados, el nuevo elementoy un elemento especialpara cada uno de losconjuntos independientes en la partición actual. Luego forma un grafo dirigido.en este conjunto de nodos, con un arco dirigidopara cada elemento matroideque se puede agregar al conjunto de particionessin provocar que se vuelva dependiente y con un arco dirigidopara cada par de elementos matroidesde tal manera que la eliminaciónde su partición y reemplazándola conforma otro conjunto independiente. [ 1 ] [ 3 ]
Ahora bien, hay dos casos:
- Si este gráfico contiene una ruta dirigida desde un elementoal elemento recientemente considerado, entonces el camino más corto de este tipo (o más generalmente cualquier camino que no tenga aristas de atajo) describe una secuencia de cambios que se pueden hacer simultáneamente a los conjuntos de partición para formar una nueva partición, con el mismo número de conjuntos, que también incluyeEn este caso, el algoritmo realiza estos cambios y continúa.
- Si, por otro lado, no existe tal camino, entoncesconstan de los elementos matroides a partir de los cualeses alcanzable enCada conjunto en la partición actual debe ser un conjunto independiente maximal en la restricción., porque si algún elementodepodría agregarse al conjunto de particionesEn la restricción, entonces existiría un arco(si se establece la particiónno es máximo en el matroid completo) o un arcodónde(si el conjunto de partición no es máximo enpero máximo en el matroide completo). En cualquier caso, la existencia de este arco contradice la construcción supuesta del conjuntoy la contradicción demuestra que cada conjunto de partición es maximal. Por lo tanto, siguiendo la sencilla dirección de la fórmula de partición de matroides, el número de conjuntos necesarios para la partición es...es al menos
- ,
por lo que en este caso el algoritmo puede encontrar una partición óptima colocandoen su propio conjunto independiente nuevo y dejando los otros conjuntos independientes sin cambios. [ 1 ] [ 3 ]
El algoritmo general, entonces, considera cada elemento.a partir del matroide dado, a su vez, construye el grafo, prueba qué nodos pueden alcanzary utiliza esta información para actualizar la partición actual de modo que incluyaEn cada paso, la partición de los elementos considerados hasta el momento es óptima, por lo que cuando el algoritmo finaliza habrá encontrado una partición óptima para todo el matroide. Para demostrar la corrección de este algoritmo, es necesario demostrar que un camino libre de atajos en el grafo auxiliar siempre describe una secuencia de operaciones que, al realizarse simultáneamente, preserva correctamente la independencia de los conjuntos en la partición; Edmonds proporcionó una demostración de este hecho. Dado que el algoritmo solo aumenta el número de conjuntos en la partición cuando la fórmula de partición del matroide indica que se necesita un número mayor, la corrección de este algoritmo también demuestra la corrección de la fórmula. [ 1 ] [ 3 ]
Aunque este algoritmo depende únicamente de la existencia de un oráculo de independencia para su corrección, en muchos casos se pueden encontrar algoritmos más rápidos aprovechando la estructura más especializada de tipos específicos de matroides (como los matroides gráficos ) a partir de los cuales se ha definido un problema de partición particular. [ 4 ]
Problemas relacionados
Una suma de matroides(donde cadaes un matroide) es en sí mismo un matroide, teniendo como elementos la unión de los elementos de los sumandos. Un conjunto es independiente en la suma si puede particionarse en conjuntos que son independientes dentro de cada sumando. El algoritmo de partición de matroides se generaliza al problema de probar si un conjunto es independiente en una suma de matroides. Su corrección puede usarse para probar que una suma de matroides es necesariamente un matroide. [ 3 ] [ 4 ] Un problema extendido, que a veces también se llama partición de matroides , es encontrar el conjunto más grande que sea independiente en la suma de matroides, es decir, el conjunto más grande que pueda particionarse en conjuntos que sean disjuntos en cada matroide de entrada. Cunningham [ 5 ] presenta un algoritmo para resolver este problema en O ( n ) n -matroides de elementos usandoLlamadas a un oráculo de la independencia .
El problema de intersección de matroides consiste en encontrar el conjunto más grande que sea independiente en dos matroides.y. Se puede resolver convirtiéndolo en un problema de suma de matroides equivalente: sies una base de la suma, dóndees el dual de, entoncesdebe tener rango completo eny eliminando un conjunto independiente máximo dededeja una intersección máxima. [ 6 ]
La partición de matroides es una forma del problema de cobertura de conjuntos , y el problema de empaquetamiento de conjuntos correspondiente (encontrar el número máximo de conjuntos generadores disjuntos dentro de un matroide dado) también es de interés. Se puede resolver mediante algoritmos similares a los de la partición de matroides. [ 4 ] Los problemas de empaquetamiento de conjuntos fraccionarios y de cobertura de conjuntos asociados a un matroide (es decir, asignar un peso a cada conjunto independiente de tal manera que para cada elemento el peso total de los conjuntos que lo contienen sea como máximo uno o al menos uno, maximizando o minimizando el peso total de todos los conjuntos, respectivamente) también se pueden resolver en tiempo polinomial utilizando métodos de partición de matroides. [ 1 ]
Además de su uso en el cálculo de la arboricidad de un grafo, la partición de matroides puede utilizarse con otros matroides para encontrar un subgrafo de un grafo dado cuyo grado promedio sea máximo, y para encontrar la robustez de las aristas de un grafo (una variante de la robustez de grafos que implica la eliminación de aristas en lugar de vértices). [ 1 ]
La partición numérica con restricciones de matroides es un problema diferente en el que k (el número de subconjuntos en la partición) es fijo. Existen k matroides diferentes sobre el mismo conjunto base, y el objetivo es particionar el conjunto base en k subconjuntos, de modo que cada subconjunto i sea un conjunto independiente en el matroide i . Sujeto a esta restricción, se debe minimizar alguna función objetivo. En una generalización de esta variante, cada uno de los k matroides tiene un peso, y la función objetivo depende de los pesos (peso máximo, peso mínimo o suma de pesos).
Referencias
- 1 2 3 4 5 6 7 8 Scheinerman, Edward R. ; Ullman, Daniel H. (1997), "5. Arboricidad fraccionaria y métodos de matroides", Teoría fraccionaria de grafos , Serie Wiley-Interscience en matemáticas discretas y optimización, Nueva York: John Wiley & Sons Inc., págs. 99–126 , ISBN 0-471-17864-0, MR 1481157 .
- ↑ Nash-Williams, C. St. JA (1964), "Descomposición de grafos finitos en bosques", Journal of the London Mathematical Society , 39 (1): 12, doi : 10.1112/jlms/s1-39.1.12 , MR 0161333 .
- 1 2 3 4 5 6 Edmonds, Jack (1965), "Partición mínima de un matroide en subconjuntos independientes" (PDF) , Journal of Research of the National Bureau of Standards , 69B : 67–72 , doi : 10.6028/jres.069b.004 , MR 0190025 .
- 1 2 3 Gabow, Harold N. ; Westermann, Herbert H. (1992), "Bosques, marcos y juegos: algoritmos para sumas de matroides y aplicaciones", Algorithmica , 7 ( 5– 6): 465– 497, doi : 10.1007/BF01758774 , MR 1154585 .
- ↑ Cunningham, William H. (1986-11-01). "Improved Bounds for Matroid Partition and Intersection Algorithms" . SIAM Journal on Computing . 15 (4): 948– 957. doi : 10.1137/0215066 . ISSN 0097-5397 .
- ↑ Edmonds, Jack (1970), "Funciones submodulares, matroides y ciertos poliedros", Estructuras combinatorias y sus aplicaciones (Actas de la Conferencia Internacional de Calgary, Calgary, Alberta, 1969) , Nueva York: Gordon and Breach, págs. 69–87 , MR 0270945 .
- teoría de los matroides