El problema de matching óptimo en un grafo

Abstract

Un matching en un grafo G=(V,E) es un subconjunto de ejes K de manera que ningún par de ejes en K tenga vértices comunes. El problema que vamos a resolver a lo largo de este trabajo es el de encontrar un matching máximo en un grafo; es decir, un matching con el mayor número de ejes posible. Este problema es uno de los más importantes en la teoría de grafos. Es de gran interés esencialmente por sus aplicaciones en problemas de la vida real como puede ser el problema de asignación de tareas. Comenzaremos dando unas nociones básicas de teoría de grafos y explicaremos detalladamente en qué consiste el problema del máximo matching a la vez que daremos algunos ejemplos. Además, empezaremos particularizando el problema en el caso de los grafos bipartitos. Hallar el máximo matching en un grafo bipartito equivale a resolver un problema de máximo flujo en una red. La demostración del teorema de Hall aplicando el algoritmo de Ford-Fulkerson nos da el procedimiento a seguir para hallar la solución a este problema. Más adelante, generalizaremos el problema a grafos de todo tipo. Daremos las condiciones que debe cumplir un grafo para tener un matching perfecto, matching en el que participan todos sus vértices. El teorema de Tutte, análogo al de Hall para grafos en general, dice que tenemos un matching perfecto en un grafo G si y solo si el número de componentes impares que tenemos al quitar un conjunto de vértices S al grafo G es menor o igual que el número de vértices de S. Además, veremos una consecuencia de este teorema para el caso particular de los grafos cúbicos. El teorema de Petersen dice que un grafo cúbico y sin puentes tiene un matching perfecto.Finalmente, veremos cómo hallar un matching máximo usando el Algoritmo de Edmonds que se basa en la construcción de árboles alternados. La idea es construir el matching máximo iterativamente a partir de uno dado mejorándolo a través de caminos de aumento y contrayendo, a lo largo de este proceso, los ciclos de longitud impar (blossom) en un solo vértice. El proceso termina dando un camino alternado de aumento o un árbol completo.Estudiaremos también a lo largo del trabajo la complejidad computacional de cada algoritmo, dado que en la práctica estos algoritmos son muy útiles por su implementación y resolución con ayuda de un ordenador, especialmente en el caso de grafos con un elevado número de vértices y ejes.<br /

    Similar works