grafos:matching_alternatingpaths

Suponha que nos seja dado um grafo, e que seja solicitado encontrar nele tantas arestas independentes quanto possível. Como devemos fazer isso? Seremos capazes de emparelhar todos os seus vértices dessa maneira? Se não, como podemos ter certeza de que isso é realmente impossível? Surpreendentemente, esse problema básico não está apenas no cerne de inúmeras aplicações, mas também dá origem a algumas teorias de grafos bastante interessantes: Emparelhamento, Empacotamento e Cobertura.

Uma generalização do problema de emparelhamento é encontrar, em um dado grafo $G$, a maior quantidade possível de subgrafos disjuntos, de modo que cada um seja isomórfico a um elemento de uma dada classe $\mathcal{H}$ de grafos. Isso é conhecido como o problema de empacotamento. Está relacionado ao problema da cobertura, que se questiona quantos vértices de $G$ são suficientes para encontrar todos os seus subgrafos isomórficos a um grafo em $\mathcal{H}$.

Para esta seção, fixemos $G=(V,E)$ como sendo um grafo bipartido com as partições $\{A,B\}$.E denotemos os vértices da partição $A$ como $a,a', \dots$, bem como os vértices de $B$ como $b,b',\dots$. E comecemos a seção com a definição de Emparelhamento.

Definição: Emparelhamento

Um conjunto $M$ de arestas independentes em um grafo $G$ é chamado de emparelhamento, correspondência. Os vértices de tais arestas são chamados de emparelhados. $M$ é um emparelhamento de $U \subseteq V$ se todo vértice em $U$ é incidente com uma aresta em $M$. Os vértices em $U$ são então chamados de emparelhados (por $M$); vértices não incidentes com uma aresta de $M$ são desemparelhados.


À luz desta definição, nos perguntamos: como podemos encontrar um emparelhamento em $G$ com o maior número possível de arestas? Vamos começar considerando um emparelhamento arbitrário $M$ em $G$. Um caminho em $G$ que começa em $A$ em um vértice não emparelhado e então contém, alternadamente, arestas de $E \setminus M$ e de $M$ , é um caminho alternante em relação a $M$. Observe que o caminho pode ser trivial, ou seja, para consistir apenas em seu vértice inicial.

Um caminho alternante $P$ que termina em um vértice desemparelhado de $B$ é chamado de caminho ampliador, porque podemos usá-lo para transformar $M$ em um emparelhamento maior: a diferença simétrica de $M$ com $E(P)$ é novamente um emparelhamento (considere as arestas em um determinado vértice), e o conjunto de vértices emparelhados é aumentado em dois, as extremidades de $P$. Observe na figura a seguir, o aumento do emparelhamento $M$ pelo caminho alternante $P$:

Caminhos alternantes desempenham um papel importante na busca prática de grandes emparelhamentos. De fato, se começarmos com qualquer emparelhamento e continuarmos aplicando caminhos ampliadores até que não seja mais possível tal melhoria, o emparelhamento obtido será sempre ótimo, um emparelhamento com o maior número possível de arestas. O problema algorítmico de encontrar tais emparelhamentos, portanto, reduz-se ao de encontrar o caminho de aumento, que é um problema algorítmico interessante e acessível.


Referências

  • Reinhard Diestel. “Graph Theory” .5th Electronic Edition 2016, pp. 35–36. Acesso em 19/02/2023.
  • grafos/matching_alternatingpaths.txt
  • Última modificação: 2023/03/10 12:12
  • por 127.0.0.1