
El emparejamiento de peso máximo es un problema de optimización en teoría de grafos cuyo objetivo es encontrar un emparejamiento con el máximo peso total posible en un grafo ponderado por aristas . Un emparejamiento es un conjunto de aristas independientes (es decir, un conjunto de aristas cuyos miembros no comparten un extremo común). El peso de un emparejamiento es la suma de los pesos de sus aristas.
Este problema es una generalización del problema de emparejamiento de cardinalidad máxima, ya que permite que las aristas tengan pesos numéricos arbitrarios. Cuando todos los pesos de las aristas son iguales, un emparejamiento de peso máximo es equivalente a un emparejamiento de cardinalidad máxima.
El problema de emparejamiento de peso máximo se puede resolver en tiempo polinomial utilizando, por ejemplo, elalgoritmo de floración , o el de Gabowalgoritmo. [ 1 ] Esto contrasta con el problema de calcular el conjunto independiente máximo (ponderado) de vértices en un grafo, que es NP-difícil .
Ajustando los pesos de las aristas, los algoritmos para el problema de emparejamiento de peso máximo también pueden utilizarse para resolver el problema de emparejamiento de cardinalidad máxima y peso máximo, cuyo objetivo es encontrar, entre todos los emparejamientos de cardinalidad máxima, aquel cuyo peso total sea máximo. Ideas similares pueden utilizarse para resolver el problema de emparejamiento de cardinalidad máxima y peso mínimo . En los casos en que el grafo ponderado por aristas es bipartito , estos problemas también se conocen como el problema de asignación .
Definición
Dado un grafo no dirigidocon conjunto de vértices, conjunto de bordesy función de peso, un emparejamiento de peso máximo es un conjunto independiente de aristasque maximiza el peso total
Los pesos de los bordes pueden ser positivos, negativos o mixtos.
Emparejamientos ponderados de cardinalidad máxima


Una variante común de este problema consiste en calcular un emparejamiento que contenga la mayor cantidad de aristas posible. El peso total del emparejamiento se utiliza entonces como medida secundaria.
Para resolver el problema de emparejamiento de cardinalidad máxima y peso máximo en, un nuevo gráficose forma en la que, para cada borde,
dóndees una constante positiva apropiada. Un emparejamiento de peso máximo enentonces corresponde a un emparejamiento de cardinalidad máxima y peso máximo en.
Para resolver el problema de emparejamiento de peso mínimo de cardinalidad máxima , establezca
Nuevamente, una coincidencia de peso máximo enproduce una cardinalidad máxima y un peso mínimo de coincidencia en.
En ambos casos, una constantees necesario forzar al algoritmo a favorecer los emparejamientos con mayor cardinalidad independientemente de los pesos de las aristas enCualquier valor de
es suficiente para este propósito.
Algoritmos e implementaciones
El problema de emparejamiento de peso máximo se puede resolver en tiempo polinomial. Algunos algoritmos conocidos son:
- Elalgoritmo de floración , introducido por Jack Edmonds en 1965 y posteriormente extendido para emparejamientos ponderados. Su complejidad también se mejoró posteriormente a. [ 2 ]
- Elalgoritmo de Harold Gabow , que utiliza colas de prioridad y estructuras de árbol. [ 1 ]
- ElAlgoritmo húngaro , que resuelve el problema de emparejamiento de cardinalidad máxima y peso máximo únicamente en grafos bipartitos.
Otros algoritmos son revisados por Duan y Pettie. [ 3 ] Su trabajo también propone un algoritmo de aproximación para grafos generales que se ejecuta en tiempo lineal para cualquier límite de error fijo.
Existen implementaciones eficientes disponibles en varias bibliotecas de software, entre ellas NetworkX , LEDA y la biblioteca de gráficos LEMON .
Aplicaciones
Los emparejamientos de peso máximo (y sus variantes de cardinalidad máxima) surgen en una amplia gama de escenarios de optimización.
- En el algoritmo de aproximación de Christofides para el problema del viajante , se utilizan emparejamientos de cardinalidad máxima y coste mínimo . En instancias del problema donde los pesos de las aristas forman un espacio métrico, este algoritmo garantiza costes de solución que no superan en más de un 50 % el coste óptimo.
- Los problemas que implican la asignación de recursos a entidades pueden modelarse como problemas de emparejamiento de peso máximo en grafos bipartitos , donde los pesos de las aristas reflejan la conveniencia de determinadas asignaciones. Algunos ejemplos son la asignación de trabajadores a tareas, muestras de sangre a pacientes, taxis a clientes en espera y vendedores a compradores.
- Los emparejamientos de cardinalidad máxima y costo mínimo se utilizan para resolver varios tipos de problemas de empaquetamiento ; particularmente aquellos que requieren la identificación de secuencias óptimas de artículos. [ 4 ]
- En bioinformática, el problema de emparejamiento de peso máximo se utiliza para analizar la interacción proteína-proteína . En este caso, las interacciones proteicas dentro de un organismo se modelan como un grafo ponderado por aristas, donde los vértices representan proteínas individuales y los pesos de las aristas representan la confianza en que sus interacciones sean biológicamente relevantes. El objetivo es identificar subgrafos densamente conectados dentro del grafo, ya que es probable que estos correspondan a complejos proteicos estables que funcionan como una unidad dentro de las células. [ 5 ]
- Los emparejamientos de cardinalidad máxima y coste mínimo se utilizan para resolver el problema del cartero chino , que consiste en encontrar un recorrido de peso mínimo que visite cada arista de un grafo ponderado al menos una vez.
Véase también
Referencias
- 1 2 Gabow, H. (1974). Implementación de algoritmos para emparejamiento máximo en grafos no bipartitos . Tesis doctoral, Universidad de Stanford.
- ↑ Gabow, H. (1990). Estructuras de datos para emparejamiento ponderado y ancestros comunes más cercanos con enlace . Actas del Primer Simposio Anual ACM-SIAM sobre Algoritmos Discretos, págs. 434–443.
- ↑ Duan, R.; Pettie, S. (2014). Aproximación en tiempo lineal para el emparejamiento de peso máximo . Journal of the ACM 61(1).
- ↑ Lewis, R.; Bonnet, L. (2025). Algoritmos exactos en el anidamiento de barras: Cómo cortar artículos generales de existencias lineales para minimizar el desperdicio . Computers & Industrial Engineering 200, 110838.
- ↑ Ma, W.; McAnulla, C.; Wang, L. (2012). Predicción de complejos proteicos basada en la coincidencia máxima con la interacción dominio-dominio . Biochim Biophys Acta. 1824 (12), pp. 1418–1424.
Enlaces externos
- Implementación del algoritmo en NetworkX
- Optimización combinatoria
- Problemas computacionales en la teoría de grafos