• Nenhum resultado encontrado

Sobre Emparelhamento Maximal Mínimo em Certas Classes de Grafos

N/A
N/A
Protected

Academic year: 2021

Share "Sobre Emparelhamento Maximal Mínimo em Certas Classes de Grafos"

Copied!
76
0
0

Texto

(1)

CARMEN

CECILIA

CENTENO

Sobre Emparelhamento Maximal

Mínimo em Certas Classes de

Grafos

(2)

Sobre Emparelhamento Maximal

Mínimo em Certas Classes de

Grafos

Dissertação defendida no Programa de Pós–Graduação do Ins-tituto de Informática da Universidade Federal de Goiás como requisito parcial para obtenção do título de Mestre em Pro-grama de Pós-Graduação em Ciência da Computação, apro-vada em 11 de Maio de 2007, pela Banca Examinadora consti-tuída pelos professores:

Prof. Dr. Rommel Melgaço Barbosa Instituto de Informática – UFG

Orientador

Prof. Dr. Jayme Szwarcfiter COPPE – UFRJ

Co-orientador

Prof. Dra. Márcia Cerioli COPPE – UFRJ

(3)

Carmen Cecilia Centeno

(4)
(5)
(6)
(7)
(8)

Centeno, Carmen Cecilia. Sobre Emparelhamento Maximal Mí-nimo em Certas Classes de Grafos. Goiânia, 2007. 74p. Disserta-ção de Mestrado. Instituto de Informática, Universidade Federal de Goiás.

Um emparelhamento é um conjunto de arestas que não compartilham vérti-ces. Ele é maximal se não pudermos adicionar arestas a ele e é máximo se for o maior maximal possível. Um grafo é equi-emparelhável se todo emparelha-mento maximal também for máximo. Baseados em grafos equi-emparelháveis e na caracterização de algumas de suas classes, determinamos a cardinali-dade de um emparelhamento maximal mínimo e apresentamos um algoritmo que retorne tal emparelhamento para as classes dos grafos completos, dos ci-clos induzidos e de algumas subclasses dos grafos cúbicos. No caso dos grafos cúbicos bipartidos determinamos um intervalo para a cardinalidade do em-parelhamento maximal mínimo e descrevemos um algoritmo que retorna um emparelhamento em tal intervalo.

Palavras–chave

(9)

Centeno, Carmen Cecilia.About minimum maximal matching on few graph classes. Goiânia, 2007.74p. MSc. Dissertation. Instituto de Informática, Universidade Federal de Goiás.

A matching is a set of pairwise disjoint edges. A matching M is maximal if it is not a proper subset of any larger matching. A matching M is maximum if it has the largest cardinality among all matchings in G. A graph G is equi-matchable if every maximal matching is maximum. Based on equiequi-matchable graphs and on few characterizations of its classes we determined the cardi-nality of a minimum maximal matching and we presented an algorithm that returns such matching for the classes of complete graphs, and induced cycles and of a few subclasses of cubic graphs. In the case of bipartite cubic graphs we determined an interval for the cardinality of the minimum maximal mat-ching and we described an algorithm that returns a matmat-ching in such interval.

Keywords

(10)

1 Definições e Notações 11

2 Emparelhamento Máximo 16

3 NP-Completude do Problema de Emparelhamento Maximal

Mí-nimo 23

4 Grafos Equi-emparelháveis 32

4.1 Algoritmo para Equi-emparelhamento 34

4.2 Análise da Complexidade do Algoritmo de Equi-emparelhamento 45

4.3 Classes de Grafos Equi-emparelháveis 45

4.3.1 Grafos Fator-Crítico Equi-emparelháveis 1-conexo 45 4.3.2 Grafos Fator-Crítico Equi-emparelháveis 2-conexo 46 4.3.3 Grafos Planares, 3-conexo, Equi-emparelhável 47

4.3.4 Grafos Cúbicos Equi-emparelháveis 50

5 Sobre Emparelhamento Maximal Mínimo em Algumas Classes de

Grafos 52 5.1 Grafos Completos 52 5.2 Ciclos Induzidos 53 5.3 Árvores 55 5.4 Grafos Cúbicos 57 6 Conclusão 67 Referências Bibliográficas 69

A Algoritmo de Emparelhamento Máximo de Edmonds 71

B Procedimento de Troca de Arestas 72

C Algoritmo de Equi-emparelhamento 73

(11)

Um emparelhamento em um grafo é um conjunto de arestas as quais tomadas duas a duas não compartilham vértices. Um emparelhamento será maximal se a este conjunto não pudermos adicionar arestas e máximo se for o maior maximal possível. Este trabalho tem o objetivo de discutir emparelha-mento maximal mínimo em algumas classes de grafos.

Apresentamos neste trabalho todo o processo do estudo que nos moti-vou a discutir o problema de emparelhamento maximal mínimo para certas classes de grafos. No capítulo 1 apresentamos as definições e conceitos bási-cos necessários para o bom entendimento deste trabalho. Definições adicionais podem ser achadas em [2].

No capítulo 2discutimos sobre emparelhamento máximo. Nele se en-contra dois teoremas clássicos do estudo de emparelhamento, sendo eles o te-orema de Berge (tete-orema2) e o teorema de Hall (teorema3). Estes teoremas são a base do algoritmo de Edmonds o qual encontra um emparelhamento máximo dado um grafo qualquer. Tal algoritmo é descrito no mesmo capítulo juntamente com o teorema de Gallai-Edmonds (teorema 4) que fornece pro-priedades comuns a todo emparelhamento máximo de um grafo qualquer G.

Após a discussão sobre emparelhamento e a descrição de um algoritmo que acha um emparelhamento máximo em tempo polinomial escrevemos no capítulo 3 sobre a NP-completude do problema do emparelhamento maximal mínimo. Neste capítulo é demonstrado que o problema de emparelhamento maximal mínimo mesmo quando restrito a grafo bipartido com grau máximo três ou a grafo planar com grau máximo três continua NP-Completo, o que foi demonstrado no artigo "Edge dominating sets in graphs"[3].

(12)

equi-emparelháveis desenvolvido por Plummer, Lesk e Pulleyblank em "Equi-matchable graphs"[11]. Apesar da existência de um algoritmo de reconhe-cimento de grafos equi-emparelháveis pouco se sabe sobre a estrutura des-tes grafos. A determinação da estrura de algumas classes de grafos equi-emparelháveis pode ser vista nos artigos "Equimatchable Factor Critical Graphs"[6] e "On two equimatchable graph classes"[10]. Tais artigos são dis-cutidos no terceiro tópico do capítulo4, onde apresentamos o teorema 13que caracteriza grafo fator-crítico equi-emparelhável 1-conexo, o teorema 16 que caracteriza grafo cúbico equi-emparelhável e mostramos todos os possíveis grafos planares 3-conexos equi-emparelháveis.

Finalmente no capítulo5descrevemos os resultados de nosso trabalho em encontrar outras classes de grafos para as quais o problema de emparelha-mento maximal mínimo seja resolvido em tempo polinomial. Neste capítulo encontra-se a determinação da cardinalidade do emparelhamento maximal mínimo para grafos completos e ciclos induzidos, bem como um algoritmo gu-loso que retorna tal emparelhamento. Apresentamos ainda neste capítulo o algoritmo desenvolvido por Yannakakis e Gavril [3] que acha um emparelha-mento maximal mínimo em árvores. Encerramos o capítulo com a apresen-tação dos resultados obtidos para grafos cúbicos. Dividimos esta classe em sete subclasses, das quais resolvemos quatro. Para duas de tais subclasses determinamos a cardinalidade do emparelhamento maximal mínimo e apre-sentamos um algoritmo para achar tal emparelhamento. Para uma terceira subclasse determinamos um intervalo para a cardinalidade de um empare-lhamento maximal mínimo e apresentamos um algoritmo de tempo polinomial que retorna um emparelhamento em tal intervalo. E ainda determinamos a estrutura dos grafos cúbicos de uma quarta subclasse.

(13)

A notação e definições apresentadas a seguir serão utilizadas nos outros capítulos. Para maiores esclarecimentos consultar [2].

Um grafo G(V, E) é um conjunto finito não vazio de vértices V (G), um conjunto de arestas E(G), e uma relação que associa a cada aresta dois vértices distintos não ordenados, os quais chamaremos de extremidades ou extremos. Denotaremos a aresta que liga o vértice u ao vértice v por (uv) ou simplesmente e. Um grafo é dito ser trivial se possuir apenas um vértice.

Umloop é uma aresta onde os extremos são iguais. Múltiplas arestas são arestas que possuem o mesmo par de extremos. Um grafo simples é um grafo que não possui loops ou múltiplas arestas. No que se segue, ao referirmo-nos a um grafo entenda-se este como sendo um grafo simples e não direcionado (a ordem dos vértices não é importante para definir uma aresta,uv = vu).

O número de vértices de um grafo G é dito ser a ordem de G, denotada por |V |, o número de arestas é denotado por |E|. Dado um grafo G(V, E) a cardinalidade de um conjunto A de elementos quaisquer de G é o número de elementos que pertencem ao conjunto, denotado por |A|.

Quando u e v são extremos de uma mesma aresta, dizemos que são vértices adjacentes e escreveremos u ∼ v.

Seja um elemento de G qualquer vértice ou aresta que pertença a G. Dois elementos de G são ditos serem adjacentes se forem: ou dois vértices que são adjacentes; ou duas arestas que possuem um vértice em comum; ou se forem um vértice v e uma aresta e onde e é incidente a v.

Umconjunto independente em um grafo é um conjunto de vértices os quais tomados dois a dois não são adjacentes. O conjunto independente será maximal se a ele não pudermos adicionar vértices; será máximo se for o maior maximal possível e mínimo se for o menor maximal possível. Note na figura 1.1 que o conjunto independente máximo = {b, c, e, g}, enquanto o

(14)

• a •b •c • d •e • f •g

Figura 1.1:Conjunto Independente

A vizinhança ou vizinhos de um vértice v, denotado por NG(v), ou

simplesmente por N(v) caso não haja ambigüidade, é o conjunto de todos os vértices adjacentes a v. Por exemplo, na Figura1.1N (a) ={b, d}. A vizinhança de um conjunto T de vértices no grafo G, denotado por NG(T ), é o conjunto de

vértices de G adjacentes a algum vértice de T .

Um grafo completo é um grafo simples onde os vértices são dois a dois adjacentes; o grafo completo com n vértices é denotado por Kn.

Um grafo G é bipartido se V (G) é a união de dois conjuntos indepen-dentes disjuntos (U, W ) chamados conjuntos de partição de G. Um grafo bipartido completo é um grafo simples bipartido tal que dois vértices se-rão adjacentes se e somente se eles estão em conjuntos de partição diferentes. Quando os conjuntos possuem tamanho r e s, denotamos este por Kr,s.

Um caminho entre dois vértices x e y de um grafo G(V, E) é uma seqüência de vértices P = v0, v1, v2, ..., vk onde: x = v0 e y = vk, os vértices vi são

distintos e vivi+1 ∈ E. Um caminho de n arestas é denotado por Pn. Dois ou

mais caminhos são independentes se nenhum deles possui um vértice interior de outro. Um caminho hamiltoniano é um caminho que contém todos os vértices do grafo.

Umciclo é um caminho onde v0 = vkcom k ≥ 3. Um ciclo de n vértices

é denotado por Cn. Um grafo G é cordal se todo ciclo de comprimento maior

ou igual a 4 tiver uma corda (aresta entre dois vértices que não são adjacentes no ciclo).

Um subgrafo de um grafo G é um grafo H tal que V (H) ⊆ V (G) e E(H)⊆ E(G) e os extremos das arestas em H são os mesmos que os extremos das arestas em G, denotaremos este por H ⊆ G. Um subgrafo H ⊆ G é gerador se H contém todos os vértices do grafo G.

(15)

• a •b •c • d •e f• •g • h •i •j

Componente 1 = {a, d, e, h}; Componente 2 = {b}; Componente 3 = {c, f, g, i, j}

Figura 1.2:Grafo com três componentes

Uma aresta de corte ou vértice de corte de um grafo é uma aresta ou vértice que quando excluido(a) do grafo, aumenta o número de seus componentes.

Se G′

⊆ G e G′

contém todas as arestas xy ∈ E com x, y ∈ V′

então G′ é

um subgrafo induzido de G, usaremos hGi para denotar subgrafo induzido de G. O grafo G \ {v}, é obtido do grafo G pela remoção de um vértice v, é o subgrafo induzido pelo conjunto V \{v}. Analogamente, o grafo G\H, obtido do grafo G pela remoção de um subgrafo H, é o subgrafo induzido pelo conjunto V (G)\ V (H).

Se um vértice v é um dos extremos de uma aresta e, então v e e são incidentes. O grau de um vértice v em um grafo simples é o número de arestas incidentes em v, denotado por deg(v). O grau máximo de um grafo G é denotado por ∆(G) e o grau mínimo por δ(G). G é um grafo regular se ∆(G) = δ(G). Se todos os vértices de G possuem o mesmo grau k, então G é k-regular. Um grafo 3-regular é chamado cúbico.

Umafolha é um vértice de grau 1 em um grafo. Um talo é um vértice adjacente a uma folha. Um arbusto é um subgrafo induzido por um talo e suas folhas.

G é chamado k-conexo (k ∈ N) se |G| > k e G \ X é conexo para todo conjunto de vértices X ⊆ V (G) com |X| < k. Em outras palavras, não existe dois vértices de G que serão separados pela exclusão de menos de k outros vértices. O maior inteiro k, tal que, G é k-conexo é a conectividade (κ(G)). κ(G)≤ δ(G)

(16)

Um conjunto de vértices U ⊆ V (G) é uma cobertura de vértice de um grafo G se toda aresta de G for incidente a um vértice de U. Na figura

1.4, U = {b, d, e, g, i, k}. O conjunto que possui menor quantidade de vértices é

chamado de cobertura mínima de vértice, denotada por γ(G)

Duas arestas que possuem um vértice em comum são ditas arestas adjacentes. Umemparelhamento M em um grafo G(V, E) é um subconjunto de arestas as quais não são duas a duas adjacentes. As extremidades das arestas do emparelhamento são ditosvértices M-saturados. Os vértices que não são extremidades de nenhuma aresta do emparelhamento são ditos não M-saturados ou livres. Observe que o conjunto vazio define um emparelha-mento, e que se M′

⊆ M onde M é um emparelhamento, então M′ também

define um emparelhamento.

Um emparelhamento M é maximal se não é possível adicionar ares-tas a E(M), e é máximo se for um emparelhamento maximal que contém o maior número de arestas. Todo emparelhamento máximo é maximal, porém nem todo maximal é máximo (figura1.3).

• a • a •b •c •b •c • d •e f• •d •e ◦f •g • h •g •h ( a ) ( b )

M (Ga) = (ab, de, gh) M (Gb) = (ab, eg)

Figura 1.3:(a) Emparelhamento Máximo; (b) Emparelhamento Maximal

Um grafo G é equi-emparelhável se todo emparelhamento maximal é máximo.

Um emparelhamento M é perfeito se contém todos os vértices de G como extremidade de alguma das arestas de M.

(17)

• a • b •c • d • e • f • g ◦ h •i •j k• M (G) = (ad, be, f i, cg, jk) Figura 1.4:Grafo Fator Critico

Um grafo G(V, E) é randomicamente emparelhável se todo empa-relhamento M em G pode ser extendido a um empaempa-relhamento perfeito. No artigo [14], Sumner prova que se G é um grafo randomicamente emparelhável então G = Kn,n ou G = K2n, vide teorema1.

(18)

Seja G(V, E) um grafo qualquer, um emparelhamento máximo em G é um emparelhamento M, com M ⊆ E, ao qual não podemos adicionar ne-nhuma aresta e que possui a maior cardinalidade possível. A seguir apresen-taremos dois teoremas clássicos de fundamental importância para o estudo de emparelhamento máximo. Tais teoremas forão a base para o desenvolvimento do algoritmo de Edmonds, o qual acha um emparelhamento máximo em um grafo G qualquer. Este algoritmo é descrito logo após a apresentação dos teo-remas. Além de achar um emparelhamento máximo o algoritmo fornece como subproduto a decomposição de Gallai-Edmonds, a qual é a base para o estudo de grafos equi-emparelháveis. Esta decomposição é discutida ao final deste capítulo.

"O problema de encontrar um emparelhamento máximo em grafos é um clássico do estudo de algoritmos"[1] o qual pode ser aplicado para solucio-nar diversos problemas, como por exemplo: em uma empresa com n funcioná-rios e n posições, onde cada funcionário está qualificado para ocupar uma ou mais posições, desejamos atribuir a cada funcionário uma posição de modo que cada um deles ocupe exatamente uma posição na empresa; um outro exemplo é: uma revendedora de automóveis garante ao comprador o recebimento do carro no modelo e cor desejada. A revendedora quer disponibilizar em sua loja um mostruário com os modelos e cores existentes, porém deseja que isso seja feito com o menor número de carros possíveis para que o custo de tal mostruá-rio seja mínimo.

Em artigo datado de 1965 [5], J. Edmonds descreve um algoritmo de tempo polinomial, mais especificamente O(n4), o qual retorna um

empare-lhamento máximo dado um grafo qualquer. "Tal algoritmo teve sua imple-mentação melhorada por diversos pesquisadores, dentre eles Lawler (algo-ritmo O(n3)), Hopcroft e Karp (algoritmo O(m√n) para o caso bipartido),

(19)

A elaboração de tais algoritmos teve como base teórica o teorema de Berge e o teorema de Hall. O teorema de Berge utiliza o conceito de caminhos M-aumentantes para definir um emparelhamento máximo.

Dado um emparelhamento qualquer M, um caminho M-alternante é um caminho que alterna arestas em M e arestas que não estão em M. Um caminho M-aumentante é um caminho M-alternante onde os extremos não são saturados por M. Na figura 2.1 temos um caminho M-alternante P = {e, a, f, b, g, c, h, d} onde |M| = 4, o mesmo caminho na figura 2.2 é um caminho M-aumentante onde |M| = 3. Note-se que se existir um caminho P em G que seja M-aumentante, é possível criar um novo emparelhamento M′,

onde |M′ | = |M| + 1, e M′ ={(uv)|(uv) ∈ P ∧ (uv) /∈ M}. • a •b •c •d •e • f •g h•

Figura 2.1:Caminho M-Alternante

• a

•b •c •d

e

f •g h•

Figura 2.2:Caminho M-Aumentante

Teorema 2 (Berge: 1957) :Um emparelhamento M tem cardinalidade má-xima emG se e somente se G não possui caminho M-aumentante.

Prova.

Passo 1:

Provar que se G não possui caminho M-aumentante então M tem cardinalidade máxima. Para isso iremos provar que se G possui um caminho M-aumentante então M não tem cardinalidade máxima.

(20)

vértices extremos não devem ser saturados e um caminho M-aumentante possui número de arestas ímpares, consequentemente número de vértices pares. • v0 • v1 • v2 • v3 ... v2m−1 v2m v2m+1

Figura 2.3:Caminho M-Aumentante P = v0, v1, v2, ..., v2m+1

Considere um emparelhamento M′

⊆ E e que contenha todas as arestas de M. Se retirarmos de M′ as arestas de P que fazem parte de M

((v1v2), (v3v4), ... , (v2m−1v2m)) e adicionarmos as arestas de P que não fazem

parte de M ((v0v1), (v2v3), ... , (v2mv2m+1)), como P é um caminho M-aumentante

teremos que |M′

| = |M| + 1. Portanto M não tem cardinalidade máxima em G já que |M′

| > |M|. Logo se G possui um caminho M-aumentante então M não tem cardinalidade máxima.

Passo 2:

Provar que: se M possui cardinalidade máxima então G não possui caminho M-aumentante. Para isso iremos provar que se M não tem cardina-lidade máxima então G possui um caminho M-aumentante.

Seja M um emparelhamento em G que não possua cardinalidade máxima, então precisamos mostrar que G possui um caminho M-aumentante. Para isso considere M′

um emparelhamento de cardinalidade máxima em G, ou seja, |M′

| > |M|. Seja H o grafo formado por H = (M ∪ M′

)− (M ∩ M′

) ou seja, arestas que estão ou em M ou em M′ mas não estão em ambos. Exemplo:

Considerando os emparelhamentos da Figura 1.3H seria:

(21)

Cada vértice de H tem grau 1 ou 2 já que pode ser incidente a no máximo uma aresta de M e uma aresta de M′. Isto implica que H é formado

de componentes que são ciclos ou caminhos, os quais alternam arestas de M e M′.

Como um ciclo é formado por arestas alternadas de M e M′ ele deve

ter tamanho par, ou seja, em um ciclo o número de arestas de M é igual ao número de arestas em M′.

Porém |M′

| > |M|, logo deve existir um caminho P que contenha mais arestas de M′

do que arestas de M; para isso acontecer P deve começar e terminar com uma aresta de M′. Sabemos que tais arestas não pertencem a

M , pois retiramos de H a intersecção (M ∩ M

). Sendo assim temos que em relação a G, P é um caminho M-aumentante.

 O teorema de Hall enuncia as condições necessárias e suficientes para certos tipos de emparelhamento em grafo bipartido. No capítulo sobre grafos equi-emparelháveis poderemos ver como o teorema de Hall é aplicado para caracterizar grafos bipartidos equi-emparelháveis.

Teorema 3 (Hall: 1935) : Seja G um grafo bipartido com bipartição X, Y . EntãoG admite emparelhamento que satura todos os vértices de X se e somente se|N(S)| ≥ |S|, para todo S ⊆ X.

Prova.

Passo 1:

Provar que se M satura X então |N(S)| ≥ |S|, ∀S ⊆ X.

Suponha que G possua um emparelhamento M que satura todo vértice em X e seja S um subconjunto de X. Como os vértices em S estão emparelha-dos por M com vértices distintos em N(S) ⊆ Y , nós temos que |N(S)| ≥ |S|.

Passo 2:

Provar que se |N(S)| ≥ |S|, ∀S ⊆ X então existe emparelhamento M que satura todos os vértices de X. Para isso iremos provar que se |N(S)| < |S| para algum S ⊆ X então M é um emparelhamento máximo que não satura X. Suponha que G = (X, Y ) é um grafo bipartido e que M é um empare-lhamento máximo em G. Por hipótese, M não satura todos os vértices de X. Queremos obter então um conjunto de vértices S ⊆ X tal que |N(S)| < |S|.

(22)

Como M é emparelhamento máximo não há caminhos M-aumentantes e u é o único vértice não M-saturado em Z.

Seja S os vértices de Z que estão em X e T os vértices de Z que estão em Y (Figura2.5). S X •u a• •b •c •d •e •f Y •g • h •i •j •k •l m• n• T

Figura 2.5:Teorema de Hall

Note que u ∈ S e que os caminhos M-alternantes que partem de u atingem Y através de arestas que não estão em M e voltam para X através de arestas em M. Sendo assim, temos que cada y ∈ T é adjacente a um x ∈ S−{u} por uma aresta de M, ou seja T ⊆ N(S).

Suponha que y ∈ Y − T e que y é adjacente a v ∈ S. A aresta vy não pode estar em M, já que u é não saturado, não temos caminhos aumentantes e o resto de S está saturado por M com T . Desta forma adicionar vy a um caminho M-alternante resulta em um caminho M-alternante que satura y com um novo vértice em S; isto contradiz que y /∈ T , desta forma vy não existe. Logo T = N (S) então|N(S)| = |T | = |S| − 1 < |S|.

(23)

tal floresta serão sempre saturadas pelo emparelhamento. Dada uma floresta M-alternante, nomearemos a raiz e os vértices a uma distância par da raiz de vértices externos, e os demais vértices de vértices internos. Note então que toda raiz e toda folha deverá ser um vértice externo (figura2.6).

• e • e •i •i •i • i •i • e e• •e •e •e • i i• • e •e

e = vértice externo ; i = vértice interno Figura 2.6:Floresta M-Altenante com duas árvores

O algoritmo desenvolvido por Edmonds (Apêndice A) inicia uma floresta F com os vértices do grafo G, ou seja, esta floresta será formada de árvores M-alternantes que possuem somente raiz, logo todos os vértices serão vértices externos. Inicia-se emparelhamento M com vazio. No decorrer do algoritmo o emparelhamento M e a floresta F são modificados.

O algoritmo modifica os vértices externos da floresta F até que todos os vértices externos possuam somente vértices internos como vizinhos. Para alterar esta floresta é preciso considerar três situações nas quais um vértice externo pode se encontrar.

1. Vértice externo x possui como vizinho um vértice y que não pertence a floresta. Neste caso deveremos considerar um terceiro vértice z, o qual é adjacente a y e yz pertence ao emparelhamento M. Desta forma aumenta-se a floresta F adicionando-se a esta as arestas xy e yz.

2. Vértice externo x possui como vizinho um vértice externo y e x,y perten-cem a diferentes árvores. O caminho entre a raiz da árvore de x e a raiz da árvore de y forma um caminho aumentante, alternando-se as arestas neste caminho (arestas em M saem de M e vice-versa), obtendo-se um emparelhamento maior que o anterior. Neste caso as árvores deixam de ser M-alternantes e devem ser retiradas da floresta.

(24)

tama-nho ímpar, e o mesmo poderá ser reduzido a um único vértice através de um procedimento chamado de redução de ciclos. Os vértices reduzidos devem ser memorizados para uma eventual necessidade de desfazer tal redução.

Além de retornar um emparelhamento máximo, o algoritmo de Ed-monds fornece também uma divisão dos vértices de G em três conjuntos, co-nhecida como decomposição de Gallai-Edmonds. Esta decomposição for-nece propriedades comuns a todos os emparelhamentos máximos de um grafo G como pode ser visto no teorema4.

Teorema 4 (Gallai-Edmonds) Seja G um grafo qualquer e denote por D o conjunto de vértices que não são saturados por algum emparelhamento máximo de G. Seja A os vértices de V (G) \ D que são vizinhos de ao menos um vértice emD e C = V (G)\ (D ∪ A). Então:

1. Todo componente do grafo hDi é fator-crítico.

2. SeM é um emparelhamento de G, então M é máximo se e somente se: (a) para cada componentehDii, no máximo uma aresta de M une hDii a

A;

(b) para cadaa∈ A, há uma aresta de M unindo a a algum hDii; (c) para cadahDii, M deixa no máximo um vértice de hDii livre; (d) C tem um emparelhamento perfeito.

(25)

Emparelhamento Maximal Mínimo

Emparelhamento maximal é um conjunto de arestas as quais não são duas a duas adjacentes e ao qual não podemos acrescentar arestas. O emparelhamento maximal será mínimo se for o menor conjunto maximal possível.

Apesar de existir um algoritmo que retorne um emparelhamento má-ximo (visto no capítulo 1), o problema de se encontrar um emparelhamento maximal mínimo não pode ser resolvido em tempo polinomial. No artigo "Edge Dominating Sets"[3], Yannakakis e Gavril provam, através do problema de conjunto de arestas dominantes em um grafo, que o problema de empare-lhamento maximal mínimo é NP-Completo. Apresentamos neste capítulo os teoremas desenvolvidos por Yannakakis e Gavril que demonstram que o pro-blema do emparelhamento maximal mínimo é NP-Completo

Um conjunto de arestas dominantes é um conjunto de arestas que dominam todas as arestas do grafo que não pertencem a este conjunto. Dizemos que uma aresta domina as arestas adjacentes a ela. A cardinalidade de um conjunto de arestas dominantes mínimo será denotado por β(G).

O problema do conjunto de arestas dominantes é definido como: dado um grafo G(V, E) qualquer e um inteiro positivo k, responda se G possui um conjunto de no máximo k arestas as quais dominam todas as outras arestas do grafo que não estejam no conjunto.

Yannakakis e Gavril [3] provam que não é possível resolver o pro-blema do conjunto de arestas dominantes em tempo polinomial. A prova de-monstrada no artigo "Edge Dominating Sets"[3] pode ser vista nos teoremas5

(26)

Para que um problema T qualquer seja NP-Completo, além de T não ser resolvido em tempo polinomial (T ∈ NP ) é preciso reduzir um problema NP-Completo conhecido a T , ou seja, deve existir um algoritmo de tempo polinomial que transforme a entrada de um problema NP-Completo qualquer em uma entrada de T .

No teorema5, para a prova de NP-Completude é utilizado na redução o problema de cobertura de vértice para grafos cúbicos planares, o qual consiste em: dado um grafo cúbico planar G(V, E) qualquer e um inteiro positivo k responda se G possui uma cobertura de vértices de no máximo k vértices. Uma cobertura de vértices é um conjunto de vértices C tal que todas as arestas de G são adjacentes a um vértice em C. Denotaremos a cobertura de vértices mínima por γ(G).

Teorema 5 (Yannakakis e Gavril) : O problema do conjunto de arestas do-minantes para grafos planares com grau máximo três é NP-Completo.

Prova.

Seja G(V, E) um grafo cúbico planar, e G′

(V′

, E′

) uma cópia de G. Substitua cada vértice vi de G

pelo subgrafo Hi da figura3.1.

• a′ i • c′ i • d′ i • xi a•i b•i y•i c•i d•i z•i Figura 3.1: componente Hi

As três arestas incidentes em vi incidirão nos vértices xi, yi, ou zi.

Claramente o grafo G′ possui grau máximo três e é planar.

• v1 • v2 • v3 • v4 v•5 • v6

(27)

Sendo G o grafo da figura3.2, após a substituição dos vértices teríamos o grafo da figura3.3. • a′ 1 c ′ 1 d ′ 1 • x1 • a1 • b1 • y1 • c1 d•1 • z1 •z2 • z3 • d′ 2 •d 2 d3• • d′ 3 • c′ 2 •c 2 c3• c• ′ 3 • y2 •y3 •b2 •b3 • a′ 2 •a 2 a3• a• ′ 3 •x2 •x3 •z4 •z5 • d′ 4 •d 4 d5• • d′ 5 • c′ 4 •c 4 c5• c• ′ 5 • y4 •y5 •b4 •b5 • a′ 4 •a 4 a5• a• ′ 5 •x4 •x5 • z6 • d6 • c6 • y6 • b6 • a6 • x6 • a′ 6 c• ′ 6 d• ′ 6

arestas tracejadas unem os componentes Hi

Figura 3.3: Grafo Planar Hi

Obs.: Chamaremos uma aresta que une dois componentes de aresta de união.

Dada uma cobertura de vértice C de G definimos F = {(xiai), (yici), (dizi)|vi ∈ C} ∪ {(aibi), (cidi)|vi ∈ C}. Note que F = β(G/

(28)

2|V | + γ(G).

Claramente F é um conjunto de arestas dominantes (já que C é uma cobertura de vértices) com cardinalidade |F | = 2|V | + |C|, logo β(G′

) 2|V | + γ(G).

Para que F seja um conjunto de arestas dominantes de G′ este deve

conter para cada Hi uma aresta incidente em ai, ci e di para que as arestas

(aia ′ i), (cic ′ i) e (did ′

i) sejam dominadas. Sendo assim F contém pelo menos

duas arestas de cada Hi. Considerando apenas duas arestas as seguintes

combinações são possíveis: 1) (cidi) e (xiai)

2) (cidi) e (aia ′ i)

3) (cidi) e (aibi)

Note que nos casos 1 e 2 a aresta (biyi) não é dominada o que implica

que F deverá conter a aresta de união incidente em yi.

Considerando que F contenha três ou mais arestas de cada Hi o

melhor conjunto de arestas dominantes seria {(xiai), (yici), (dizi)} pois este

domina todas de Hi bem como as arestas de união utilizando exatamente

três arestas de cada Hi. Ou seja, se tomarmos três arestas de cada Hi temos

um conjunto dominante porém este não é mínimo pois as arestas de união são dominadas por duas arestas diferentes. Para diminuirmos este conjunto iremos considerar as combinações de duas arestas dos casos 1, 2 e 3.

Ao considerarmos os casos de duas arestas temos que as arestas de união podem não estar dominadas, neste caso elas teriam que pertencer a F .

Suponha que F possua uma aresta de união da forma (xitj), i6= j onde

tj é xj, yj ou zj. Se F possui três arestas de Hj podemos excluir (xitj) de F pois

esta estará dominada por alguma aresta de Hj. Se F possui duas arestas de

Hjpodemos trocar esta duas arestas e a aresta (xitj pelas arestas (xiai), (yici) e

(dizi). O mesmo pode ser feito caso a aresta de união seja da forma (zitj), i6= j

onde tjé xj, yj ou zj. Se G

′for construido de tal forma que não exista arestas de

união (yiyj) onde y 6= j, ou seja, yi é adjacente a xj ou zj (enquadrados acima)

sempre que F possuir exatamente duas arestas de Hi estas devem ser (aibi) e

(cidi). Concluimos que para toda aresta de união eu de G

′, F deve conter três

arestas de pelo menos um componente adjacente a eu , caso contrário a aresta

que une os componentes não é dominada por F . Logo o conjunto C de vértices vi de G correspondente aos componentes Hi que possuem três arestas em F é

uma cobertura de vértices de G sendo assim β(G′

)≥ 2n + γ(G).

(29)

demonstrar como distribuir as arestas adjacentes a cada vi para que G ′ não

possua arestas da forma (yiyj).

Considere o grafo G′′

= (V ∪E, E′′

) onde E′′

={(ve)|v ∈ e}. Claramente G′′ é um grafo bipartido com grau máximo três. Logo este pode ser três

arestas colorível em tempo polinimial. Tal coloração resulta na distribuição das arestas quando as cores são x, y e z.

 No teorema 6 é utilizado para a redução o problema NP-Completo 3-SAT restrito. Uma instância (entrada) deste problema consiste em uma expressão booleana formada de cláusulas. Cada cláusula é o OU lógico (aqui representado por ∨) de três literais. Um literal é uma variável ou sua negação (aqui representada por ¬). Cada variável booleana pode assumir o valor 1(verdadeiro) ou 0(falso). A restrição deste problema ocorre na entrada, onde uma variável deve ocorrer na expressão booleana exatamente duas vezes e sua negação exatamente uma vez. Então dada uma entrada responda se existe uma atribuição de zeros e uns que satisfaça todas as cláusulas e retorne verdadeiro após a avaliação final da expressão. Um exemplo de instância para o 3-SAT retrito seria: (x1∨ x4∨ x5)∧ (¬x1 ∨ x2 ∨ ¬x4)∧ (x1∨ ¬x2∨ x4)∧ (x2∨

x6∨ ¬x3)∧ (¬x6∨ ¬x5∨ x3)∧ (x5∨ x6∨ x3).

Teorema 6 (Yannakakis e Gavril) : O problema do conjunto de arestas do-minantes para grafo bipartido com grau máximo três é NP-Completo.

Prova.

Considere a seguinte instância do problema 3-SAT restrito: um con-junto de cláusulas C1, C2, ..., Cp formadas pelas variáveis x1, x2, ..., xn.

Dada uma entrada do problema 3-SAT restrito construimos um grafo G(V, E) da seguinte forma: como cada variável xi deve ocorrer três vezes,

sendo que uma delas deve ser sua negação, criaremos um vértice para cada ocorrência de xi, nomeando-os a

′ i, a

′′

i, ai, sendo o último a representação da

negação da variável xi. Triplicaremos cada vértice a ′ i, a ′′ i, ai nos respectivos vértices {b′ i, c ′ i}, {b ′′ i, c ′′ i}, bi, ci

. Uniremos estes vértices com as seguintes arestas: (a′ iai), (aia ′′ i), (a ′ ib ′ i), (b ′ ic ′ i), (aibi), (bici), (a ′′ ib ′′ i), (b ′′ ic ′′ i) .

Note então que cada variável xideverá ser representada pela seguinte

(30)

• a′ i ai • a′′ i • c′ i • ci • c′′ i • b′ i • bi • b′′ i

Figura 3.4: Representação da variável xi

Cada cláusula Cj será representada pelo par de vértices dj, d ′ j

uni-dos por uma aresta.

Acrescenta-se à estrutura que representa as variáveis e cláusulas as seguintes arestas: (b′ idj1), (b ′′ idj2), (bid ′ j3)|xi ∈ Cj1, Cj2,¬xi ∈ Cj3, 1≤ i ≤ n . Considere o exemplo: (x1∨ x4∨ x5)∧ (¬x1∨ x2∨ ¬x4)∧ (x1∨ ¬x2∨ x4)∧

(x2∨ x6∨ ¬x3)∧ (¬x6∨ ¬x5∨ x3)∧ (x5∨ x6∨ x3). A estrutura que representa as

cláusulas e variáveis pode ser vista na figura 3.5, onde as arestas tracejadas representam as arestas que unem as váriaveis e suas respectivas cláusulas.

• a′ 1 • a1 • a′′ 1 • a′ 2 • a2 • a′′ 2 • a′ 3 • a3 • a′′ 3 • c′ 1 c1 • c′′ 1 c ′ 2 c2 • c′′ 2 c ′ 3 c3 • c′′ 3 • b′ 1 • b1 • b′′ 1 • b′ 2 • b2 • b′′ 2 • b′ 3 • b3 • b′′ 3 • d1 • d′ 1 d2 • d′ 2 d3 • d′ 3 • d4 • d′ 4 d5 • d′ 5 d6 • d′ 6 • b′ 4 • b4 b ′′ 4 • b′ 5 • b5 b ′′ 5 • b′ 6 • b6 b ′′ 6 • c′ 4 c4 • c′′ 4 c ′ 5 c5 • c′′ 5 c ′ 6 c6 • c′′ 6 • a′ 4 • a4 a•′′4 • a′ 5 • a5 a•′′5 • a′ 6 • a6 a•′′6 Figura 3.5: (x1∨x4∨x5)∧(¬x1∨x2∨¬x4)∧(x1∨¬x2∨x4)∧ (x2∨ x6∨ ¬x3)∧ (¬x6∨ ¬x5∨ x3)∧ (x5∨ x6∨ x3)

Resumindo, sendo C1, C2, ..., Cp cláusulas formadas pelas variáveis

x1, x2, ..., xn uma entrada do problema 3-SAT restrito, reduzimos esta a um

(31)

V =a′ i, a ′′ i, ai, b ′ i, b ′′ i, bi, c ′ i, c ′′ i, ci|1 ≤ i ≤ n ∪ dj, d ′ j|1 ≤ j ≤ p E = (a′ iai), (a ′′ iai), (a ′ ib ′ i), (b ′ ic ′ i), (a ′′ ib ′′ i), (b ′′ ic ′′ i), (aibi), (bici)|1 ≤ i ≤ n ∪ (djd ′ j)|1 ≤ j ≤ p ∪ (b ′ idj1), (b′′idj2), (bid ′ j3)|xi ∈ Cj1, Cj2,¬xi ∈ Cj3, 1≤ i ≤ n

Feita a redução demonstraremos que:

1) Baseado em uma atribuição que satisfaça a expressão booleana acha-se um conjunto de arestas dominantes.

2) O grafo G(V, E) obtido na redução é bipartido de grau máximo 3 (três).

1.

Dada uma atribuição que satisfaça a expressão booleana obtem-se o conjunto de arestas dominantes F , onde F = (b′

idj1), (b′′idj2), (aibi|xi = 1 ∪ (a′ ib ′ i), (bid′j3), (a′′ib ′′ i)|xi = 0 • a′ i • ai • a′′ i • a′ i • ai • a′′ i • c′ i • ci • c′′ i • c′ i • ci • c′′ i • b′ i bi• •b ′′ i b • ′ i bi• •b ′′ i • dj1 d• ′ j1 d•j3 d• ′ j3 d•j2 d• ′ j2 d•j1 d• ′ j1 d•j3 d• ′ j3 d•j2 d• ′ j2 arestas de F se xi = 1 arestas de F se xi= 0

arestas tracejadas pertencem a F Figura 3.6: Conjunto F

Note que independentemente do valor de xi a cada variável

acrescenta-se 3 (três) arestas em F , logo |F | = 3n.

Como F é um conjunto de arestas dominantes, devido ao conjunto de arestas (b′ ic ′ i), (bici), (b ′′ i, c ′′ i)

será necessário que F contenha pelo menos uma aresta incidente a cada um dos vértices b′

i, bi, b ′′ i . Como |F | = 3n e os vértices b′ i, bi, b ′′ i

não possuem arestas entre si, F deverá conter exatamente uma aresta incidente a cada um destes vértices. Tal restrição implica que (a′ iai), (aia ′′ i), (djd ′ j) /

(32)

2. (aibi), (a ′′ ib ′′ i), (b ′ idj) 3. (a′ ib ′ i), (a ′′ ib ′′ i), (bid ′ j) 4. (aibi), (b ′ ic ′ i), (b ′′ idj) 5. (aibi), (b ′′ ic ′′ i), (b ′ idj) 6. (aibi), (b ′ idj), (b ′′ idj)

Para a expressão ser satisfeita, cada cláusula deve ser satisfeita, ou seja, pelo menos uma das literais contidas na cláusula deve ser verdadeira. Sendo assim para garantirmos que todas as arestas (djd

j) sejam dominadas

basta colocar em F as arestas que unem variáveis e cláusulas que represen-tam literais verdadeiras, sendo elas: se xi = 1 temos (b

′ idj) e (b ′′ idj); se xi = 0 temos (bid ′ j). Logo F =(b ′ idj), (b ′′ idj), (aibi)|xi = 1 ∪ (a ′ ib ′ i), (bid ′ j), (a ′′ ib ′′ i)|xi = 0 2.

O grafo G(V, E) é bipartido com os seguintes conjuntos de partição: A =a′ i, a ′′ i, bi, c ′ i, c ′′ i|1 ≤ i ≤ n ∪ {di|1 ≤ i ≤ p} B ={ai, b′i, b ′′ i, ci|1 ≤ i ≤ n} ∪ {d′i|1 ≤ i ≤ p}

G(V, E) tem grau máximo 4 (quatro), devido aos vértices di’s que

representam cláusulas formadas de 3 (três) variáveis ou 3 (três) variáveis negadas (veja cláusula 1 e cláusula 6 da figura3.5)

Podemos transformar o grafo bipartido com grau máximo 4 (quatro) em um grafo bipartido com grau máximo 3 (três) apenas substituindo os vértices di e d

i pelo grafo H (figura3.7)

◦ x • a1 ◦ a2 • a3 ◦ y • c1 ◦ u • b1 ◦ c2 v◦ b◦2 • c3 b•3 ◦ z Figura 3.7: grafo H

(33)

H possui as seguintes propriedades: H − {x, y, z} consiste em três (u − v)-caminhos de comprimento 4 (quatro) logo este usará pelo menos 4 (quatro) arestas em seu conjunto de arestas dominantes. Mesmo se as três arestas incidentes em x, y, e z pertencerem a F , este ainda deverá conter 4 (quatro) arestas de H. Se pelo menos uma das três arestas estiver em F então as 4 (quatro) arestas de H serão suficientes. Porém se nenhuma das 3 (três) arestas estiver em F então F deve conter 5 (cinco) arestas de H.

 Provado que o problema de conjunto de arestas dominantes mesmo restrito a grafo bipartido ou planar com grau no máximo três é NP-Completo podemos através de equivalências concluir que o problema do emparelha-mento maximal mínimo é também NP-Completo.

Em [7] é discutido que um conjunto de arestas dominantes indepen-dente é na verdade um emparelhamento maximal e que um conjunto de ares-tas dominantes independente mínimo é um emparelhamento maximal mí-nimo. Então se provarmos que o problema do conjunto de arestas dominantes independente mínimo é NP-Completo estaremos provando conseqüentemente que o problema do emparelhamento maximal mínimo também é NP-Completo já que ambos são equivalentes.

A prova deste problema ainda pode ser simplificada tendo que em [9] é pontuado que o tamanho do conjunto arestas dominantes mínimo equivale ao tamanho do conjunto de arestas dominantes independente mínimo, e que utilizando o procedimento de troca de arestas (Apêndice B) podemos obter um conjunto de arestas dominantes independente mínimo através do conjunto de arestas dominantes mínimo. Sendo assim, para provarmos que o problema do emparelhamento maximal mínimo é NP-Completo basta provar que o problema do conjunto de arestas dominantes mínimo é NP-Completo, pois através deste conjunto podemos obter um conjunto de arestas dominantes independente mínimo (através de um procedimento de tempo polinomial) que equivale a um emparelhamento maximal mínimo.

(34)

Um grafo será equi-emparelhável se todo emparelhamento maximal também for máximo. Neste capítulo descreveremos o algoritmo desenvol-vido por Plummer, Lesk e Pulleyblank o qual reconhece se um grafo é equi-emparelhável, bem como todos os lemas e teoremas desenvolvidos para a ob-tenção de tal algoritmo. Apesar de existir um algoritmo de tempo polinomial o qual reconhece um grafo equi-emparelhável pouco se sabe da estrutura des-tes grafos. Tal assunto é tratado nos artigos "Equimatchable Factor Critical Graphs"[6] e "On two equimatchable graph classes"[10], os quais são discuti-dos no tópico 3 deste capítulo.

O problema de grafo equi-emparelhável foi proposto em torno de 1974 por B. Grünbaum [8]. Neste mesmo ano Meng [13] desenvolveu um teorema (teorema 7) para a caracterização dos grafos equi-emparelháveis, porém este não fornece uma boa caracterização pois dela não podemos obter um algoritmo de tempo polinomial visto que o teorema baseia-se em achar um emparelhamento maximal mínimo e uma cobertura de arestas mínima, problemas estes que são NP-Completo (visto no capítulo anterior).

Teorema 7 (Meng:1974) : Um conjunto de arestas L em G é uma cobertura de aresta se todo vértice de G for incidente em uma aresta de L. Um grafo G é equi-emparelhável se e somente se |M| + |L| ≥ |V (G)| for verdade para algum emparelhamento maximal mínimo M e para alguma cobertura de aresta mínima L em G.

(35)

Teorema 8 (Lewin:1974) : Um grafo G é equi-emparelhável se e somente se para todo emparelhamento M , não existir uma "Odd Blocked Snake"com relação aM .

Dez anos depois Lesk, Plummer e Pulleyblank [11] apresentaram um algoritmo de tempo polinomial o qual reconhece se um grafo qualquer pertence à classe dos grafos equi-emparelháveis ou não (Apêndice C).

Para o desenvolvimento do algoritmo os autores utilizam extensiva-mente o teorema de Gallai-Edmonds (Teorema 4), bem como o teorema de Sumner sobre grafos randomicamente emparelháveis (Teorema1), utilizando estes teoremas os autores desenvolvem um algoritmo que reduz o grafo a um grafo bipartido e em seguida apresentam uma boa caracterização para grafo bipartido equi-emparelhável.

O algoritmo desenvolvido divide os grafos em três classes sendo elas: 1. Grafos com emparelhamento perfeito;

2. Grafos fator-crítico;

3. Grafos que não possuem emparelhamento perfeito e que não são fator-crítico.

A divisão dos grafos nas classes acima se dá pelo fato do uso da decom-posição de Gallai-Edmonds para identificar se o grafo é equi-emparelhável ou não. Esta decomposição consiste da divisão dos vértices de G em três conjun-tos. O conjunto D é formado pelos vértices que não pertencem a algum empa-relhamento máximo. O conjunto A é formado pelos vértices vizinhos aos vér-tices de D, e por fim, o conjunto C são os vérvér-tices formados por V (G) \ (A ∪ D). Nas três classes identificadas temos as seguintes propriedades referentes à decomposição de Gallai-Edmonds:

1. Grafos com emparelhamento perfeito possuem C = V (G), A = ∅ e D = ∅; 2. Grafos fator-crítico possuem D = V (G), A = ∅ e C = ∅;

3. Grafos que não possuem emparelhamento perfeito e que não são fator-crítico, os conjuntos A, D, C deverão atender propriedades vistas no teorema11.

(36)

Outros dois importantes artigos para o estudo de grafos equi-emparelháveis foram escritos por Odile Favaron [6] e Kawarabayashi, Plum-mer e Saito [10]. No primeiro Odile estuda a estrutura dos grafos equi-emparelháveis que são fator-crítico (EFC) e caracteriza os grafos EFC 1-conexo além de provar que todo grafo EFC 2-1-conexo é hamiltoniano. No se-gundo, Kawarabayashi, Plummer e Saito provam existir somente 23 grafos que são 3-politopos e equi-emparelháveis e somente 2 grafos cúbicos que são equi-emparelháveis. A seção "Classe de Grafos Equi-emparelháveis" discorre sobre ambos os artigos.

4.1 Algoritmo para Equi-emparelhamento

O algoritmo de reconhecimento de um grafo equi-emparelhável veri-fica, inicialmente, se o grafo possui um emparelhamento perfeito. Caso o grafo G possua emparelhamento perfeito ele será equi-emparelhável somente se G for randomicamente emparelhável e segundo o Teorema 1 o grafo deve ser: K2mou Km,m.

Se o grafo não possui emparelhamento perfeito o algoritmo obtem a decomposição de Gallai-Edmonds através do algoritmo de emparelhamento máximo de Edmonds. Se C = ∅, A = ∅ e D = V (G), o grafo se resume no conjunto D, o qual, segundo o Teorema de Gallai-Edmonds, é fator-crítico. Grafos fator-crítico são tratados no algoritmo através do Teorema 9. Tal teo-rema foi desenvolvido com base em um Lema de Lovász, Lema1apresentado abaixo. Este lema diz respeito ao emparelhamento em grafos em geral e é extendido pelos autores, para caracterizar grafos fator-crítico que sejam equi-emparelháveis.

Lema 1 (Lovász) : Seja G um grafo e suponha X ⊆ V (G). Então exatamente uma das afirmações abaixo é verdade:

1. G possui um emparelhamento que satura X ou

2. existe subconjuntos ímpares disjuntos S1, S2, ..., Sk de X tal que não há arestas em G que conecte Si a Sj para i 6= j e |N(S1, ..., Sk)| < k, onde

N (S1, ..., Sk) = N (S1∪ ... ∪ Sk)\ (S1∪ ... ∪ Sk). Prova.

(37)

Então suponha que todo emparelhamento de G deixe algum x ∈ X livre. Note que para X conter vértices livres, segundo o teorema de Gallai-Edmonds (teorema4) é necessário que exista componentes de hDi ∈ X, pois C

e A são saturados por todo emparelhamento máximo.

Componentes de hDi são fator-crítico logo o número de vértices deve ser ímpar. Se |A| for maior ou igual ao número de componentes de hDi poderíamos adicionar ao emparelhamento a aresta incidente no vértice livre de hDii e o vértice adjacente a este que pertence a A. Neste caso não teriamos

vértices livres.

Uma prova detalhada pode ser encontrada em [11].

 Com base no lema 1 é feita a caracterização dos grafos fator-crítico equi-emparelháveis através do teorema9. Este fornece um método polinomial para determinar se um grafo fator-crítico é equi-emparelhável ou não; tal algoritmo pode ser visto no Apêndice D.

Teorema 9 (Lesk et al.) : Seja G um grafo conexo e fator-crítico. Então o seguinte é equivalente:

1. G é equi-emparelhável

2. Para todo par de vértices independentes {u, v} e para todo emparelha-mentoM de G\ {u, v}, existe um terceiro vértice w adjacente a u ou a v o qual não é M-saturado.

3. Para todo par {u, v} de vértices independentes de G existe conjuntos disjuntosS1, S2, ..., Sk ⊆ N(u) ∪ N(v) tal que:

(a) |Si| é impar para 1 ≤ i ≤ k;

(b) nenhuma aresta de G uneSi aSj parai6= j; e

(c) |N(S1, S2, ..., Sk)| < k onde, N(S1, S2, ..., Sk) = N (S1 ∪ S2 ∪ ... ∪ Sk)\

{(S1∪ S2∪ ... ∪ Sk)∪ {u, v}} . Prova.

Primeiramente iremos mostrar a equivalência de (1) e (2). Passo 1:

Suponha que G não é equi-emparelhável.

(38)

vértice w ∈ {N(u) ∪ N(v)} é saturado por M. Logo a escolha dos vértices {u, v} em G e um emparelhamento M contradiz (2).

Passo 2:

Suponha que existam dois vértices {u, v} em G e um emparelhamento M em G/{u, v} que contradiz (2).

Neste caso M não pode ser aumentado a um emparelhamento de cardinalidade máxima de G, o que contradiz que G é fator-crítico (pode deixar apenas um vértice livre).

A equivalência de (2) e (3) pode ser feita trocando X e G do lema1por {N(u) ∪ N(v)} e G/ {u, v} respectivamente.

 Considerando que o grafo não seja um grafo com emparelhamento perfeito (A = ∅, D = ∅, C = V (G)) e não seja um grafo fator crítico (A = ∅, C = ∅, D = V (G)), é verificado se os conjuntos da decomposição de Gallai-Edmonds satisfazem às seguintes propriedades:

1. C = ∅,

2. A é um conjunto independente

3. todos os componentes de hDi ou são grafos triviais ou são do tipo I, II ou III (descritos no teorema10)

Vejamos primeiramente, através do lema 2porque as propriedades 1 e 2 devem ser satisfeitas.

Lema 2 (Lesk et al.) : Seja G um grafo conexo e equi-emparelhável sem emparelhamento perfeito e que possua a decomposição de Gallai-Edmonds (D, A, C). Então:

1. C = ∅ e

2. A é um conjunto independente em G. Prova.

Cada componente de hDi (denotaremos estes por Di) está ligado a um

vértice a ∈ A. Suponha v ∈ Di adjacente a u ∈ A. Um emparelhamento

(39)

a aresta wu no emparelhamento, devemos retirar a aresta vu e a aresta adjacente a w a qual pertence a C (lembre que C possui um emparelhamento perfeito); desta forma o emparelhamento é reduzido de uma aresta, logo temos um emparelhamento maximal que não é máximo.

Da mesma forma A deve ser um conjunto independente. Suponha u e v ∈ A, e d1u, d2v, as arestas que unem D a A. Um emparelhamento máximo

deverá conter tais arestas. Agora suponha que uv ∈ E(G); neste caso podemos adicionar a aresta uv ao emparelhamento, consequentemente teremos que retirar as arestas d1u e d2v, reduzindo o emparelhamento de uma aresta, logo

temos um emparelhamento maximal que não é máximo.

 Antes de verificarmos porque a propriedade 3 deve ser verdadeira vejamos como o autor classifica os componentes hDi como sendo do tipo I, II ou III, através do teorema10.

Teorema 10 (Lesk et al.) : Seja G um grafo conexo e equi-emparelhável sem um emparelhamento perfeito; seja (D, A, C) sua decomposição de Gallai-Edmonds e suponhaA6= ∅. Seja hDii qualquer componente de hDi com |Di| ≥ 3

1. EntãohDii deve ser um dos seguintes tipos de grafos:

I.hDii = K2m−1 para m ≥ 2 e todo vértice de hDii é ligado a exatamente

um vértice comuma∈ A. (figura4.1)

II.hDii contém um vértice de corte di de G (chamado de gancho de Di) o

qual é o único vértice deDi adjacente a um vértice deA (figura4.2) Seja H1

i, ..., Hir, r ≥ 1 componentes de hDi− dii. Então H j

i será uma das duas possibilidades:

(a)Hij = K2m param ≥ 1 e pelo menos duas arestas unem di a Hij.

(b) Hij = Km,m para m ≥ 1 e se (U, W ) são os conjuntos de partição de

Km,m = Hij, haverá pelo menos uma aresta unindo di a um vértice deU e pelo menos uma aresta unindodi a um vértice deW .

III. Pelo menos dois vértices de Di são adjacentes a vértices de A e pelo

menos um vértice de hDii não é adjacente a nenhum vértice de A. Neste caso há um vérticea∈ A o qual separa hDii do resto de G.

(40)

(figura4.3) (a)hDii é um K3

(b) hDi\ {v1, v2}i é um grafo bipartido completo Kr,r−1 onde r ≥ 2, e se

(U, W ) são os conjuntos de partição de hDi\ {v1, v2}i onde |U| = r então

v1 ev2 são ambos adjacentes a todos os vértices deU e v1 é adjacente av2 (c) hDi\ {v1, v2}i é um K2r−1 onde r ≥ 2, v1 e v2 são ambos adjacentes a todos os vértices dehDi\ {v1, v2}i e v1 pode ser adjacente ou não av2 O quarto subcaso engloba os componentes com mais de dois vértices de ligação aa:

(d) sehDii possui entre 3 e |D| − 1 vértices adjacentes a a, então hDii é um

K2r−1parar ≥ 3

2. Suponha que excluimos deG todos os componenteshDi do tipo II e do tipo III e contraimos todos os componentes do tipo I a um único vértice. Então há um emparelhamento do grafo bipartido resultanteG′

que satura todos os vértices deA e G

é equi-emparelhável.

(Note que (2) implica que a quantidade de componentes de hDi do tipo I ou de componentes que sejam um grafo trivial é pelo menos |A| e que cada vértice de A é adjacente a tal componente. Condição (1) implica que todos os componentes de hDi que não são vértices isolados são equi-emparelháveis sem emparelhamento perfeito. Porém, há grafos fator-crítico equi-emparelháveis que não servem como hDii nesta decomposição, exemplo: C7.

A: <D >i + K

{

a 2m-1

(41)

A: K A: K adi adi ... + ... Hji 2m

{

( a ) Hji

{ {

m,m ( b )

Figura 4.2:Componente Tipo II

Av1 aa Av2 Av1 aa Av2 + + + U W |W| = |U| - 1 Av1 aa Av2 + + K Rr >1 Av1 Avk K Rr >2 e 2 < k < 2r-1 … az ( a ) ( b ) ( c ) ( d ) 2r-1 2r-1

Figura 4.3:Componente Tipo III

Prova.

Primeiramente, note que não existem duas arestas independentes que unem hDii a A, pois se isso fosse possível, elas poderiam ser utilizadas em um

emparelhamento máximo de G o qual violaria o teorema de Gallai-Edmonds que diz: se M é um emparelhamento qualquer de G, então M é máximo se e somente se para cada hDii no máximo uma aresta de M une hDii a A.

Sendo assim temos os possíveis casos de ocorrência:

(1) Todos os vértices de hDii são adjacentes a um único vértice a ∈ A.

(2) Um vértice de hDii é adjacente a um vértice a ∈ A.

(3) Dois ou mais vértices de hDii são adjacentes a um único vértice

a∈ A.

Caso 1: Todos os vértices de hDii são adjacentes a um único vértice

a∈ A.

Seja Gi = hV (hDii) ∪ {a}i. Mostraremos que Gi é um K2m para m ≥ 2

mostrando que Gi é randomicamente emparelhável.

Seja Mi um emparelhamento qualquer de Gi, seja M um

(42)

Suponha que e sature a e um vértice que não esteja em Gi. Então,

já que M satura todos os vértices de Di exceto um, digamos vi, o conjunto

([M ∩ E (Gi)]\ {e}) ∪ {avi} é um emparelhamento perfeito de Gio qual contém

Mi.

Por outro lado, se e satura a e um vértice de Gi (um vértice em hDii)

então, pelo teorema de Gallai-Edmonds, M ∩ E(Gi) é um emparelhamento

perfeito em Gi.

Então em ambos os casos Mi se estende a um emparelhamento

per-feito de Gi e logo, pelo teorema 1, Gi ou é K2m ou um Km,m para m ≥ 2. Mas

se Gi = Km,m, hDii é um Km,m−1 o qual não é fator-crítico, contradizendo parte

(a) do teorema de Gallai-Edmonds. Então Gi = K2m, ou seja hDii é do Tipo I.

Caso 2:hDii contém um único vértice di adjacente a um vértice de A.

Seja Mi um emparelhamento qualquer em hDi− dii e seja e = adi uma

aresta qualquer unindo di a A. Seja Mi′ = Mi ∪ {e}. Então Mi′ se estende a

um emparelhamento máximo M de G, o qual deve ser um emparelhamento perfeito de hDi− dii. Novamente pelo teorema1, cada componente de hDi− dii

ou é um K2mou um Km,m para m ≥ 1.

Já que cada hDii é fator-crítico, este é 2 aresta conexo, logo há pelo

menos duas arestas unindo di a cada componente Hij de hDi− dii. Se Hij é um

K2m então temos Tipo II (a). No caso em que Hij é um Km,m e os conjuntos de

partição são (U, W ) com |U| = |W | = m, suponha que di não seja adjacente a

nenhum vértice de W . Então se u ∈ U, Hi/{u} não possui emparelhamento

perfeito, contradizendo o fato que hDii é fator-crítico. Então di é adjacente a

pelo menos um vértice de W e por simetria a um vértice de U. Logo hDii é do

Tipo II (b).

Caso 3: Pelo menos dois vértices v1 e v2 de hDii são adjacentes a um

vértice a ∈ A e pelo menos um vértice não é adjacente a nenhum vértice de A. Note que a separa hDii do resto de G.

Primeiramente iremos considerar o caso com exatamente dois vérti-ces.

Se há apenas um vértice z ∈ hDi\ {v1, v2}i, então hDii é um grafo

fator-crítico de três vértices, sendo assim hDii é um K3. Já que hDii não é do

tipo I, vértices z e a não são adjacentes, temos o tipo III (a).

Agora suponha que hDii contenha pelo menos três vértices além

de v1 e v2. Considere hDi\ v1i. Seja M1 um emparelhamento qualquer em

hDi\ v1i. Então {av1} ∪ M1 se estende a um emparelhamento máximo M de

G saturando v1. Logo, já que hDi\ v1i contém um emparelhamento perfeito,

(43)

hDi\ v1i é randomicamente emparelhável e logo é um Km,m ou um K2m pelo

teorema1. Já que |Di| ≥ 5, temos m ≥ 2.

Primeiro suponha que hDi\ v1i seja um Km,m tendo conjuntos de

partição (U, W′

) com v2 ∈ W′. Note que |U| ≥ 2. Por simetria hDi\ v2i é

randomicamente emparelhável e já que este contém o conjunto independente U , hDi\ v2i é também um Km,m. Logo v1 é adjacente a todos os vértices de U

mas nenhum vértice de W = W′

\ {v2}. Porém, se v1 e v2 fossem adjacentes,

hDii seria um grafo bipartido fator-crítico o que é impossível.

A seguir supomos que a não é adjacente a nenhum vértice de hDii além

de v1 e v2, se existir v3 ∈ hDi\ {v1, v2}i e uma aresta av3 então hDi\ v3i contém

um K3 com os vértices v1, v2 e u, onde u é um vértice qualquer de U \ {v3}.

Já que hDi\ v3i deve ser randomicamente emparelhável, hDi\ v3i = K2m. Mas

caímos em uma contradição já que um dos conjuntos de partição U e W deve estar contido em Di\ v3. Então a é adjacente a Di somente através de v1 e v2

como mencionado anteriormente. Assim temos a configuração do tipo III (b) com r ≥ 2.

Agora suponha hDi\ v1i seja um K2m assim como hDi\ v2i. Primeiro

suponha que haja apenas duas arestas unindo a a hDii, sendo elas av1 e av2.

Se m = 2 temos o tipo III (a), então suponha m ≥ 3. Então hDi\ {v1, v2}i é um

K2m−1e todos os vértices de hDi\ {v1, v2}i são adjacentes a ambos v1 e v2. Logo

temos o Tipo III (c) onde aresta v1v2 pode ou não estar presente.

Finalmente suponha que há uma aresta av3 onde v3 ∈ Di \ {v1, v2}.

Lembre-se que hDi\ {v1}i e hDi\ {v2}i são K2me hDi\ {v3}i também deve ser

um K2m. Se v1 e v2 são adjacentes e hDii é um K2m+1, então v1, v2, ..., vk são os

vértices de hDii adjacentes a a o que confugura o Tipo III (d).

Ponto 2 do teorema:

Seja hD1i, ... , hDki componentes de hDi os quais não são nem grafos

triviais nem componentes do Tipo I. Para cada 1 ≤ i ≤ k, seja Mi um

emparelhamento em hDii o qual satura todos os ganchos dos componentes do

tipo II e todos os vértices de hDii os quais são adjacentes a A no caso hDii seja

do tipo III (verificar que tais Mis existem é trivial). Então M0 = M1∪ ... ∪ Mké

um emparelhamento em G que se estende a um emparelhamento máximo M de G. Logo M deve saturar A e M ∩ E(G′

) é um emparelhamento de G′ o qual

satura todos os vértices de A. Agora mostramos que G′ é equi-emparelhável.

Seja N1 um emparelhamento qualquer de G ′

. Para cada componente hDii

do tipo II ou tipo III em hDi escolha um emparelhamento Mi em hDii o

(44)

emparelhamentos Mi. Então N2∪ N1 induz um emparelhamento em G o qual

se estende a um emparelhamento máximo M0 de G que deve saturar todos

os vértices de A adjacentes aos componentes hDi que não são do tipo II ou do tipo III. Consequentemente, se N′ é o emparelhamento de G′ induzido por M

0

então N′ satura todos os vértices de A em G′ e logo é um emparelhamento

máximo em G′

contendo N′

. Então G′ é equi-emparelhável.

 Se os conjuntos A, C e D de G atendem as propriedades de (1) a (3) listadas acima o algoritmo segue com a redução do grafo G a um grafo bipartido G′ obtido através da redução a um único vértice de todos os

componentes de hDi do Tipo I e da exclusão dos componentes de hDi do Tipo II e III. Para que G′ seja equi-emparelhável este deve ter um emparelhamento

que sature todos vértices de A, como é demonstrado no teorema 10. Feita a redução é verificado se o grafo bipartido obtido possui um emparelhamento que sature a menor partição, se tal emparelhamento não existir podemos concluir que grafo G não é equi-emparelhável.

Considerando que G′ possui um emparelhamento que satura a

me-nor partição então segundo a propriedade (4) do teorema 11 se G′ for

equi-emparelhável então G também o será. Sendo assim o algoritmo prossegue verificando se grafo bipartido é equi-emparelhável utilizando para isso proce-dimento desenvolvido a partir do teorema12. Após tal verificação o algoritmo responde que G é equi-emparelhável somente se G′ for equi-emparelhável.

Como mencionado anteriormente o teorema 11 especifica as proprie-dades necessárias para que um grafo qualquer G seja equi-emparelhável. En-quanto o teorema 10 define a estrutura de um grafo equi-emparelhável sem emparelhamento perfeito e que este pode ser reduzido a um grafo bipartido G′ que possui um emparelhamento o qual satura a menor partição, o teorema 11 declara o inverso, este determina que se um grafo G qualquer contiver as propriedades numeradas de (1) a (4) e se o grafo bipartido obtido através da redução de G for equi-emparelhável então G também é equi-emparelhável.

Para provar o teorema11é necessário o lema 3e o corolário1.

(45)

Corolário 1 (Lesk et al.) Se G = (U, W ) é um grafo bipartido conexo com |U| ≤ |W | onde cada aresta se estende a um emparelhamento máximo, então todo emparelhamento máximo cobreU .

Teorema 11 (Lesk et al.) : Seja G um grafo conexo sem emparelhamento perfeito,que não seja fator-critico e que possua a decomposição de Gallai-Edmonds(D, A, C). Suponha:

1. C =

2. A é um conjunto independente

3. Todos os componentes de hDi são grafo trivial ou são do tipo I, II, ou III como descritos no Teorema10.

Seja G′

um grafo bipartido obtido de G pela redução de todos os compo-nenteshDi a um único vértice e seja G′′

um grafo obtido deG′

pela deleção de todos os vértices correspondentes as elementos dehDi do tipo II ou III. Suponha: 4. G′′ é equi-emparelhável e|A| ≤ 12|V (G′′ )| EntãoG é equi-emparelhável. Prova.

Suponha que as condições de (1) a (4) sejam satisfeitas. Se (A, H) representa os conjuntos de partição de G′′

então |A| ≤ |H|. Logo pelo corolário 1todo emparelhamento máximo de G′′ satura A.

Considere M um emparelhamento de G definido como: M ={e1, ..., ek, fk+1, ..., fr} ∪ MD onde:

fi é uma aresta que une A a um único vértice ou a um componente de

hDi do tipo I.

ei é uma aresta que une A a um componente de hDi do tipo II ou III.

MD é um emparelhamento em hDi.

Já que G′′ é equi-emparelhável podemos obter um emparelhamento

máximo M′′

de G′′

que contenha todas as arestas fi de M. Logo M ′′

satura A. Seja M1 o emparelhamento de G e M1 = M′′. Note que as arestas fi

têm um de seus extremos pertencentes a um componente hDii, tal vértice é

um vértice livre em MD.

Para i = 1, ..., k seja gi a aresta fi de M1 adjacente a aresta ei.

Se trocarmos em M1 as arestas gi pelas arestas ei continuaremos com um

(46)

Considerando a estrutura dos componentes de hDi do tipo I, II e III podemos estender M1 a um emparelhamento que contenha M′′ e MD; tal

em-parelhamento irá saturar todos menos um vértice de cada componente hDii

e pelo teorema de Galai-Edmonds (teorema 4) este é um emparelhamento

máximo de G contendo M. 

Finalmente apresentamos o teorema 12 através do qual podemos ob-ter um procedimento de tempo polinomial que responde se um grafo bipartido qualquer é equi-emparelhável ou não.

Teorema 12 (Lesk et al.) : Um grafo bipartido conexo G = (U, W ) com |U| ≤ |W |, é equi-emparelhável se e somente se, para todo u ∈ U, existe um conjunto não vazioX ⊆ N(u) tal que |N(X)| ≤ |X|.

Prova.

A prova deste teorema é feita por contradição, utilizando o teorema de Hall (teorema3) e o corolário1.

Suponha G = (U, W ) um grafo equi-emparelhável com U ≤ W .

Considere a hipótese: Existe um vértice u ∈ U tal que para todo X ⊆ N(u), |N(X)| > |X| (lembremos que queremos provar que |N(X)| ≤ |X|)

Passo 1: Considere o subgrafo G′

= hN(u), N(N(u)) − ui. Devido à hi-pótese sabemos que para todo conjunto não vazio X ⊆ N(u) temos |NG′(X)| =

|NG(X)| − 1 ≥ |X|.

Utilizando o teorema de Hall (teorema 3) sabemos que existe um emparelhamento M que satura os N(u). Mas como G é um grafo equi-emparelhável M se estende a um emparelhamento máximo M′

de G que deve cobrir U devido ao corolário1, logo este deve conter u. Porém, demonstramos que M cobre N(u) mas não cobre u, consequentemente o mesmo acontece com M′, caimos então em uma contradição.

Passo 2: Considere M um emparelhamento maximal qualquer em G. Queremos mostrar que M também é máximo.

Se M satura todos os vértices de U então M é máximo.

Então suponha que existe um vértice x ∈ U que não seja saturado por M. Nomeie as arestas de M por uiwi, i=1,...,k, ui ∈ U e wi ∈ W . Já que

G é conexo x não é isolado e N (x) ⊆ w1, ..., wk pois M é maximal. Agora

suponha X um subconjunto de N(x) digamos X = wi1, ..., wis. Então já que

ui1, ..., uis, x ⊆ N(X), temos |X| = s < s + 1 ≤ |N(X)| o que contradiz nossa

(47)

4.2 Análise da Complexidade do Algoritmo de

Equi-emparelhamento

Para a análise do algoritmo consideraremos que algoritmos de empa-relhamento máximo têm complexidade O(|V |3

). Gastaremos O(|V |3

) para aplicarmos um algoritmo de emparelha-mento máximo qualquer e para verificarmos se G possui emparelhaemparelha-mento perfeito. Caso afirmativo gastaremos O(|V |2

) para verificarmos se o grafo é K2mou Km,m.

Caso o grafo seja fator-crítico aplicamos o algoritmo de emparelha-mento balanceado O(|V |2

) vezes, o que resulta em uma complexidade O(|V |5). Caso G não tenha emparelhamento perfeito e não seja fator-crítico, verificamos a estrutura gastando O(|V |2

). Finalmente obtemos G′ e aplicamos

o algoritmo de emparelhamento máximo (bipartido) O(|A|) vezes resultando em uma complexidade de O(|V |4

).

Sendo assim podemos concluir que se:

1. grafo tem emparelhamento perfeito o algoritmo é executado em tempo polinomial O(|V |3

),

2. grafo é fator-crítico o algoritmo é executado em tempo polinomial O(|V |5

) e

3. grafo não tem emparelhamento perfeito e não é fator-crítico o algoritmo é executado em tempo polinomial O(|V |4

)

4.3 Classes de Grafos Equi-emparelháveis

Em 1986, Odile Favaron [6] escreveu sobre grafos equi-emparelháveis fator-crítico. Em seu artigo, Favaron, caracterizou os grafos fator-crítico equi-emparelháveis(EFC) 1-conexo e prova que todo grafo EFC 2-conexo é hamil-toniano. Posteriormente, em 2003, Kawarabayashi, Plummer, e Saito [10] demonstraram existir apenas 23 grafos que são 3-conexo, planar e equi-emparelhável e somente dois grafos cúbicos que são equi-emparelháveis. Es-tas classes de grafos serão visEs-tas com maior detalhe a seguir.

4.3.1 Grafos Fator-Crítico Equi-emparelháveis 1-conexo

Referências

Documentos relacionados

Sugere-se que quando iniciar a implantação do referido projeto de arquivos setoriais do DAG no arquivo do Centro, ao qual a BSCCR está vinculada, o responsável pela Biblioteca,

De modo geral, os valores de luminâncias encontrados nas superfícies mostram que há uma maior uniformidade na distribuição da luz, uma vez que não há grandes variações nesses

It is also an example of transfer learning, where a neural network trained for classification is able to extract features that can be used to describe images in

Furthermore, this domain also measures the distance between two adjacent nucleotides in the 3`region of the mRNA molecule, with the loop region verifying the pre-miRNA sequence

Perceber como a sociedade do início do século XX no Brasil se relacionava com o louco, com o discurso médico e com a instituição asilar por meio da literatura, dos

Os resultados das medições de pressão a montante do ponto de injeção e temperatura na região do ponto de injeção ao longo do tempo de preenchimento da cavidade nos experimentos

perspectiva. Quando em uma comunidade um malfeito é cometido há pessoas que experimentam danos, que têm seus direitos maculados. Assim sendo, para a construção