teoria dos grafos - aula 14
DESCRIPTION
Teoria dos Grafos - Aula 14 - Grad UERN - 19-01-2015 - MatchingTRANSCRIPT
![Page 1: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/1.jpg)
Prof. Dario José Aloise
Teoria dos GrafosEstudo de Problemas Clássicos
Mossoró, 19 de janeiro de 2015
DEPARTAMENTO DE INFORMÁTICA
![Page 2: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/2.jpg)
PROBLEMAS CLÁSSICOS
Árvore Geradora Mínima
Caminho mais Curto
Matching ou emparelhamento
Coloração
Caixeiro Viajante
Roteamento de Veículos
![Page 3: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/3.jpg)
Emparelhamento( Matching )
![Page 4: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/4.jpg)
MATCHING OU EMPARELHAMENTO
Definição: Um matching em um grafo G é um conjunto de arestas que não
formam loops e que não compartilham vértices entre si.
Exemplo:
Um vértice incidente às arestas de um matching M é dito saturado por M.
Um matching perfeito de G satura todos os vértices de G.
![Page 5: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/5.jpg)
MATCHING OU EMPARELHAMENTO
O tamanho de um matching M é igual a quantidade de arestas de M.
Um matching M de um grafo G é maximal se toda aresta que não participa
de M é incidente a alguma aresta em M.
Se M for o matching de maior cardinalidade de G então ele é chamado
matching máximo.
![Page 6: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/6.jpg)
MATCHING OU EMPARELHAMENTO Um caminho alternante em um matching M é um caminho cujas arestas alternam entre
aquelas que estão em M e aquelas que não estão em M.
Um caminho alternante, cujos vértices extremos não são saturados por M, é um
caminho de aumento de M.
Quando M possuir um caminho de aumento P podemos trocar as arestas deste
caminho, substituindo aquelas que não estão em M pelas que estão. Isto irá aumentar
em uma (1) unidade o tamanho do matching.
Observação: o matching máximo é caracterizado pela ausência de caminhos de
aumento.
![Page 7: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/7.jpg)
MATCHING OU EMPARELHAMENTO
Matching Máximo X Matching Maximal
Um matching M é máximo se não existe um matching M' tal que |M‘ | > |M |.
A propósito, um matching M é maximal se não existe um matching M' do qual M
faça parte própria (portanto, M é maximal se não existe aresta a fora de M tal
que M+{a } também é um matching).
![Page 8: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/8.jpg)
MATCHING OU EMPARELHAMENTO
Observação: A prova de ambos os teoremas pode ser encontrada em http://www.cos.ufrj.br/~celina/cos742/jai99.pdf
FUNDAMENTAÇÃO TEÓRICA
Teorema 1 (Berge, 1957): Um matching M tem cardinalidade máxima em G se
e somente se G não possui caminho M-aumentante.
Teorema 2 (Hall, 1956): Seja G um grafo bipartido com bipartição X, Y . Então
G admite matching que satura todo vértice de X se e somente se |N(S)| |S|,
para todo S X.
Corolário 1: Seja G um grafo bipartido com bipartição X , Y. Então G admite matching
perfeito se e somente se |X| = |Y | e |N(S)| |S|, para todo S X.
Corolário 2: Um grafo bipartido tem um matching perfeito se e somente se |N(S)| |S|,
para todo S V .
![Page 9: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/9.jpg)
Matching Perfeito
Dado um grafo G= (V,E), o problema de matching é encontrar o matchingmáximo de G. Quando a cardinalidade do matching é V 2 , afirmamos que o matching é completo ou perfeito [PAPADIMITRIOU (1998)]. Isto é todos os vértices estão casados. Em grafos bipartidos G=(U,V,E), devemos ter V = U para que um matching perfeito possa existir.
Ref.: Christos H. Papadimitriou and Kenneth Steiglitz Combinatorial Optimization: Algorithms and
Complexity, Publisher: Dover Publications; Unabridged edition ,1998. 9
MATCHING OU EMPARELHAMENTO
![Page 10: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/10.jpg)
MATCHING OU EMPARELHAMENTO
PRINCIPAIS ALGORITMOS:
Algoritmo Húngaro (Grafos bipartidos sem pesos)
Algoritmo de Kuhn (Grafos bipartidos com pesos)
Algoritmo de Edmonds (Caso geral sem pesos)
Observação: Maiores detalhes sobre os algoritmos pode ser encontrado em:
http://www.cos.ufrj.br/~celina/cos742/jai99.pdf
![Page 11: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/11.jpg)
MATCHING OU EMPARELHAMENTO
APLICAÇÕES:
Problema de atribuição de pessoal
Dados n funcionários e n posições numa empresa. Cada funcionário está qualificado
para uma ou mais posições. É possível atribuir uma posição a cada funcionário, de
modo que cada funcionário ocupe exatamente uma posição na empresa? O objetivo
é encontrar uma atribuição ou uma alocação que maximize a eficiência total dos
funcionários.
Problema dos casamentos
Dada uma matriz onde cada entrada é 0 ou 1, um conjunto de entradas é independente se
não temos duas entradas na mesma linha ou na mesma coluna. Pede-se encontrar um
conjunto independente de entradas de valor 1 que tem cardinalidade máxima. Podemos
interpretar as linhas da matriz como sendo rapazes e as colunas como sendo moças. Uma
entrada i, j com valor 1 seria o caso de rapaz e moça compatíveis. O objetivo é casar um
número máximo de casais compatíveis.
![Page 12: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/12.jpg)
MATCHING OU EMPARELHAMENTO
APLICAÇÕES: Problema de construção de amostras
Um vendedor de brinquedos educativos possui em estoque brinquedos de várias
formas geométricas (cubos, pirâmides, etc.), cada qual fabricado em várias cores.
O vendedor quer carregar consigo o menor número de objetos tal que cada cor e
cada forma estejam representadas pelo menos uma vez.
Observação: Com base nesta aplicação pode-se provar a equivalência entre o
problema de cobertura de cardinalidade mínima e o problema de emparelhamento
de cardinalidade máxima.
![Page 13: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/13.jpg)
OUTROS PROBLEMAS
Alocação de tarefas
Elaboração de Horários
K-servos
Empacotamento
Clique máxima
Cobertura de Vértices
OTIM-SPT
![Page 14: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/14.jpg)
Um exemplo de Aplicação
Otimização do Corte do Layout : Ênfase na Indústria de Confecções
MCC - Teoria dos Grafos 14
![Page 15: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/15.jpg)
UM EXEMPLO DE APLICAÇÃO
Otimização do Corte do Layout na
Indústria de Confecções
![Page 16: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/16.jpg)
Objetivo
Encontrar uma seqüência ótima de corte daspeças do enfesto, de forma a minimizar odeslocamento total (ou percurso) do braçomecânico (robô) que efetua o corte e atendero mais rápido possível o setor de montagem.
![Page 17: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/17.jpg)
Processo de Produção
![Page 18: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/18.jpg)
Exemplo de enfesto...
![Page 19: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/19.jpg)
Problema do Encaixe
![Page 20: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/20.jpg)
Um exemplo de Layout
![Page 21: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/21.jpg)
Figura sem os rótulos
![Page 22: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/22.jpg)
Aplicação de Grafos
![Page 23: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/23.jpg)
Problema de Percurso:
O início dos Problemas de Roteamento em Arcos
Leonhard Euler (1736) - Publicou o primeiro artigo em grafos
C
As pontes de Königsberg e o multigrafo associado.
BA
D
![Page 24: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/24.jpg)
Construindo um Grafo Euleriano
Teorema - O número de vértices ímpares de qualquer grafo conexo é par.
Edmonds & Johnson (1973) propôs
Algoritmo 1-Matching
Complexidade: O ( n³ )
![Page 25: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/25.jpg)
Problema de Matching
![Page 26: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/26.jpg)
Problema do Carteiro Chinês:===
O Problema do Carteiro Chinês é um problema de roteamento
onde se pretende achar um percurso fechado (circuito) de
comprimento mínimo que passa por cada aresta de um grafo pelo
menos uma vez.=====================================
(b)
11
22
33
4455
66
88 77
![Page 27: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/27.jpg)
Formulação Matemática do PCC:
,
. :
0 ( 1, )
1 ,
0 e inteiro ,
ij ij
i V j V
ij ji
j V j V
ij ji
ij
Min Z c x i j
s a
x x i V
x x ij E
x ij E
cij = custo de percorrer a aresta ij ;
xij = número de vezes que a aresta ij é percorrida de i para j.
![Page 28: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/28.jpg)
Inter-relacionamento entre Matching e o PCC:
Algoritmo do Carteiro Chinês [Edmonds (1973)
![Page 29: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/29.jpg)
Matching Perfeito
![Page 30: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/30.jpg)
Abordagem Exata:
![Page 31: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/31.jpg)
Continuação:
![Page 32: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/32.jpg)
Formulação Matemática do Problema do Layout :
1
1
1 1 1 1
( )( )
( )( )
{ , }
. . :
0 , p/
( ) ( ) 0 , p/
1 , ,
, {0,1}
O O
O O
V VV V
ij ij rs rs
i j r s
ik kj E
j ki k
ik rk kj ks O
r V j k s Vi k
ij ji
ij ij
Min Z l x d y i j r s
s a
x x k V
x y x y k V
x x i j V
x y
![Page 33: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/33.jpg)
Abordagem Heurística:
• O método exato embora forneça a solução ótimado problema quanto a minimizar o percurso(tempo) de corte das peças no layout, do pontode vista prático,não satisfaz a condição deatender o mais rápido possível o setor demontagem.
• O objetivo inclui, portanto, a prioridade de cortar peças inteiras com a finalidade acima.
• O problema passa agora a ser semelhante ao do Carteiro Rural, o qual é NP-difícil.
![Page 34: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/34.jpg)
Heurísticas Propostas:
HEURÍSTICA I
(sem prioridade de aresta ou vértice)
Dados iniciais
1. Posição original do braço mecânico,
2. LAYOUT desenhado, com dimensões e referências,
3. GRAFO ASSOCIADO;
ETAPA 0 – PROCEDIMENTOS DE INICIALIZAÇÃO
Iniciar de um vértice qualquer no grafo G=(V,E,c), denominando-o de ATIVO.
ETAPA 1 – LAÇO DE CONTINUIDADE
ENQUANTO existir vértice de grau
Ø FAÇA
1. Percorrer cortando a maior aresta associada ao vértice ATIVO
1. SE encontrar um vértice de grau Ø, ENTÃO
Procurar o vértice ativo (vértice com alguma aresta associada) mais
próximo ao vértice de grau Ø (zero) .
SENÃO FINALIZE.
FIM DO ENQUANTO
![Page 35: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/35.jpg)
HEURÍSTICA 2
(com prioridade: vértice denso por arestas)
Dados iniciais
Posição original do braço mecânico,
LAYOUT desenhado, com dimensões e referências,
GRAFO ASSOCIADO;
ETAPA 0 – PROCEDIMENTOS DE INICIALIZAÇÃO
Iniciar de um vértice qualquer denso por arestas no grafo G=(V,E,c),
denominado de vértice ATIVO.
ETAPA 1 – LAÇO DE CONTINUIDADE
REPITA
ENQUANTO existir aresta em ATIVO FAÇA
Percorrer cortando uma aresta de maior custo associada ao vértice ATIVO.
Fixar ou tornar em evidência a figura (peça) de menor índice associada a
aresta citada.
Cortar a figura (peça) em evidência, totalmente
FIM DO ENQUANTO
Procurar por um vértice mais próximo, denominado-o de ATIVO (não
necessariamente percorrendo pelas arestas do Grafo – Problema do Carteiro
Rural).
ATÉ G=Ø;
![Page 36: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/36.jpg)
HEURÍSTICA 3
(com prioridade: vértice denso por figuras)
Dados iniciais
Posição original do braço mecânico,
LAYOUT desenhado, com dimensões e referências,
GRAFO ASSOCIADO;
ETAPA 0 – PROCEDIMENTOS DE INICIALIZAÇÃO
Iniciar de um vértice qualquer denso, isto é, com um a quantidade razoável de
figuras (peças) associadas no grafo G=(V,E,c), denominando-o de ATIVO.
ETAPA 1 – LAÇO DE CONTINUIDADE
REPITA
ENQUANTO existir figura associada ao vértice ATIVO FAÇA
Percorrer cortando uma figura (peça), iniciando o corte pela aresta de maior
custo associada a ela.
SE existir mais de uma figura associada a essa aresta, ENTÃO
considerar em primeiro lugar aquela de menor índice.
SE grau(ATIVO) = 0 e existir figura parcialmente cortada, ENTÃO procurar
por um vértice mais próximo dentre aqueles pertencentes as figuras
associadas ao vértice ATIVO e continuar o percurso de corte a partir desse
novo vértice até que a figura fique totalmente cortada.
FIM DO ENQUANTO
SE grau (vértice ATUAL 0 ), ENTÃO faça ATUAL = ATIVO.
SENÃO procurar por um vértice de grau 0 mais próximo do vértice
atual.
ATÉ QUE G = Ø;
![Page 37: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/37.jpg)
Pós-otimização:Caso 1 - O braço mecânico termina o procedimento de corte e volta ao ponto de partida (origem). Então
a solução ótima permanecerá como a do Carteiro Chinês sobre o grafo Euleriano. E o matching perfeito
de peso mínimo refletirá fielmente o deslocamento adicional mínimo do braço mecânico (robô).
Caso 2 - O robô ao terminar a última peça a ser cortada não retorna ao ponto de origem. Então
deveremos comparar e retirar a maior das arestas encontradas pelo matching perfeito de peso mínimo e
aquela maior aresta encontrada por um dos diversos matching maximais, mas de tal forma que a
contribuição para o deslocamento do robô fique a menor possível. Isto implica na seguinte formulação
matemática para esta situação de parada do robô:
1 2
1 2min maxiji i
ij
c i i
( *)c
![Page 38: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/38.jpg)
Conclusões e Sugestões:
Esta pesquisa teve por mérito mostrar o quanto é
importante também o corte do Encaixe ou Layout do
enfesto na Indústria de confecções;
A verificação que o ótimo nem sempre é obtido através
do matching perfeito de peso mínimo;
A apresentação de algoritmos aproximativos polinomiais
para a resolução do problema na prática.
Como sugestão fica o desenvolvimento de um
trabalho que reconheça os pontos do grafo pelo simples
scanneamento do Encaixe.
![Page 39: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/39.jpg)
Restrições:
a faca não pode furar o meio
a faca não pode voltar
bordas com restrições
os retalhos não podem ser cortados
há necessidade de priorizar peças no corte
há restrições para prender o enfesto
a faca não trabalha com grandes angulosidades
etc.
![Page 40: Teoria Dos Grafos - Aula 14](https://reader034.vdocuments.site/reader034/viewer/2022050819/55cf8ed6550346703b961b3f/html5/thumbnails/40.jpg)
FIM
Reptiles, 1943. MC Escher (1898-1972).