Você está na página 1de 47

Grafo: Algoritmos e Aplicações

Leandro Colombi Resendo


leandro@ifes.edu.br

Pós – Graduação em Engenharia de Produção


Grafos: Algortimos e Aplicações
Referências Basicas:
• Boaventura Netto, P. O., Grafos: Teoria, Modelos, Algoritmos,
2ª, SP, Edgar Blücher, 1996.
• Goldbarg, M.C. e Luna, H.P.L., Otimização Combinatória e
Programação Linear: Modelos e Algoritmos, RJ, Campus, 2000.

Referência complementar:
• Cormen, T.H, Leiserson, C.E, Rivest, R.L. e Stein, C., Algoritmos:
Teoria e Prática, RJ, Campos, 2002.
• Ahuja, R.K., Magnanti, T.L. e Orlin, J.B., Network Flows, New
Jersey, Prentice Hall, 1993.

Pós – Graduação em Engenharia de Produção


Grafos: Algortimos e Aplicações
Avaliação:

Artigo (100%)

Pós – Graduação em Engenharia de Produção


História
Leonhard Euler e as Pontes de Königsberg
(Primeira formalização de uma problema de grafos)
É possível cruzar cada ponte uma única vez e voltar ao ponto de
partida?

Pós – Graduação em Engenharia de Produção


História
Modelo de teoria de grafo

1º Teorema da Teoria dos Grafos: Euler estabeleceu um


teorema que diz em que condições é possível percorrer
cada linha exatamente uma vez e voltar ao ponto inicial.

Pós – Graduação em Engenharia de Produção


Introdução

Você é capaz de desenhar Temos que ligar luz, gás e


essa figura sem tirar o telefone a três casas sem
que as linhas se cruzem.
lapiz do papel? Você é capaz de fazer
isso?

Pós – Graduação em Engenharia de Produção


Introdução - Aplicações
Representação (em grafo) dos vôos internacionais em
uma determinada hora do dia.

Pós – Graduação em Engenharia de Produção


Introdução - Aplicações
Jogos: Manipulação de dados

Pós – Graduação em Engenharia de Produção


Introdução - Aplicações
Industria de Confecções

Pós – Graduação em Engenharia de Produção


Introdução - Aplicações
Diagramas UML

Pós – Graduação em Engenharia de Produção


Introdução - Aplicações
Quantas cores são necessárias?

Pós – Graduação em Engenharia de Produção


Introdução - Aplicações
Localização de centros de distribuição

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Notações e Definições:
• Informalmente
Um conjunto de objetos e ligações (relações) entre eles,
onde os objetos são chamados de vértices (nós) e as
ligações, de arestas (enlace, arcos).

• Matemáticamente
Um grafo pode ser definido como a relação, G, entre dois
conjunto (G(V,A)); onde V é o conjunto dos vértices e A o
conjunto das arestas.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Notações e Definições:
• Uma aresta é dita incidente com os vértices que ela liga. Se
uma aresta é incidente em um único vértice é chamado de
laço.
• Dois vértices são chamados de adjacentes se estão ligados
pôr arestas. Um vértice é dito isolado, se não tem aresta
incidindo sobre ele.
Exemplo:
Vértices Adjacentes:
(v1,v2), (v1,v5), (v2,v3),
(v2,v4), (v3,v5), (v4,v5).
Vértice Isolado: v6
Pós – Graduação em Engenharia de Produção
Teoria de Grafos
Notações e Definições:
• Ordem de um Grafo, é o número de nós do mesmo(|V| = n).
• Grau de um vértice, é o número de arestas incidentes em
um nó.
• Grafo regular, se dá quando todos os vértices possuem o
mesmo grau.
Exemplo:
a) Grafo regular.
b) Arestas paralelas em
(v5,v3), Multigrafo.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Notações e Definições:
• Grafo ponderado • Multigrafo

Modelo da Pontes de Königsberg

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Notações e Definições:
• Grafo direcionados • Grafos bipartidos: dividindo os nós
em dois conjunto (N1 e N2), somente
existem arestas de N1 para N2 e vice-versa.

• Grafo Completo
• Grafo Complementar:
“O que falta para o grafo
1º Resultado: |Amax| = n(n – 1)/2
completo.”
Pós – Graduação em Engenharia de Produção
Teoria de Grafos
Grafo bipartidos Grafo direcionados e
completos

Aplicações: Aplicações:
• Problema de Atribuição • Roterisação de
• Problema de veículos e variações
Transportes de carga
• Problema de transbordo

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Notações e Definições:
• Árvores: se o grafo não • Planar: quando traço em um
possui ciclos. plano duas arestas quaisquer não
se cruzam.

Planar NÃO Planar


Aplicações: Aplicações:
• Indexação e busca de • Problema das 4 cores
informações • Construção de circuito
impresso

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Notações e Definições:
• Rede (malha): • Anel:
NSF-net

• Compressão de nós

RNP

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Notações e Definições:
• Caminho: é uma sequência de arestas em que todos os
nós visitados são distintos.

Origem = H Origem = 4
Destino = F Destino = 2
Caminho = H – A – C – F Caminho = 4 – 3 – 2
Comprimento = 22 Comprimento = 2
Pós – Graduação em Engenharia de Produção
Teoria de Grafos
Notações e Definições:
• Isomorfismo: são grafos analiticamente idênticos, contudo
são representados graficamente de forma diferentes.

Uma aplicação:

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Representação computacional

• Matriz de adjacências (Grafo NÃO direcionado)

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Representação computacional

• Matriz de incidência (Grafo direcionado)

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Representação computacional

• Lista encadeada

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos
• Problema do Caminho

Histórico
1ª solução: Sugerida por Trémaux para o labirinto do Minotauro.

Aplicações: trânsito, transporte, roteamento, localização de sistemas


discretos, etc.

Não basta obter um caminho, para otimização de recursos precisamos


do caminho mínimo.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos
• Problema do Caminho Mínimo entre s e d: é uma sequência
de arestas que, passando por vétices distintos, liga o nó s ao d
de forma a acumular o menor comprimento.
Formulação:

Min : cij xij s = origem
d = destino
 1; is

i xij  i x ji    1; id
 0 ; i  s ou i  d

xij  {0,1} (i, j )  A
Pós – Graduação em Engenharia de Produção
Teoria de Grafos
Problemas Clássicos
• Problema do Caminho Mínimo entre s e d:
Algoritmos mais famosos:
Algoritmo de Dijkstra — Resolve o problema com um vértice-
fonte em grafos cujas arestas tenham peso maior ou igual a
zero.

Algoritmo de Bellman-Ford — Resolve o problema para


grafos com um vértice-fonte e arestas que podem ter pesos
negativos.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos
• Ciclos e Circuito, Euleriano e Hamiltoniano:
Ciclo: é um caminho fechada, ou seja, que inicia e termina em
um mesmo nó. Onde cada aresta é vizitada um única vez.
Circuito: é um caminho fechado em um grafo orientado.

Percurso fechado:
Euleriano: utiliza cada aresta do grafo um única vez.
Hamiltoniano: Utiliza cada vértice do grafo unica vez.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos
Ciclo Euleriano

• Você é capaz de desenhar • É possível cruzar cada ponte uma


essa figura sem tirar o lapiz do única vez e voltar ao ponto de
papel? partida?

Sugestão: inicie pelo nó A.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos
Ciclo Euleriano
Resultado de Euler (Teorema): G tem uma ROTA EULERIANA
precisamente quando todos os nós de G têm grau par.

Idéia:

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos
Problema do Caixeiro Viajante: Consiste em vizitar todos os nós
do grafo e voltar ao ponto de origem (percurso Hamiltoniano).

• Problema proposto por Willian Rowan Hamilton.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos
Ciclo Hamiltoniano

Problema do Caixeiro Viajante

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos
Problema do Caixeiro Viajante: Algumas aplicações e referências
• Programação de operações de máquinas em manufaturas (Kusiak e Finke
[1987]).
• Programação de transporte entre células de manufatura (Kusiak e Finke
[1985]).
• Otimização de perfuração em placas de circuito impressos (Reinelt [1989]).
• Otimização do movimento de ferramentas de corte (Chauny et al. [1987]).
• Problemas de Roteamento de Veículos (Bodin [1983]).
• Problemas de Sequênciamento (Whitley [1991]).
• Trabalhos administrativos (Laporte et al. [1996]).

Retirado de: Goldbarg M. C. e Luna, H. P. L., Otimização Combinatória e Programação


Linear, Ed. Campus, pág. 403, 2000.
Pós – Graduação em Engenharia de Produção
Teoria de Grafos
Problemas Clássicos
Problema do Caixeiro Viajante (PCV): Algumas Variações
• PCV Simétrico: se dá quando a matriz de custos é simétrica
• PCV Generalizado: está sujeito ao agrupamento dos nós, onde cada
grupo contribui com certo número do nó.
• PCV com Backhauls: ocorre quando é dado prioridade para um
grupo de nós.
• PCV com Janelas de Tempo: se dá associando uma variável de
tempo a cada aresta ij.
• PCV Múltiplo: encontra as K-melhores rotas para o PCV.
• PCV com prioridades (bônus): quando existe um bônus
associado à cada nós.
Pós – Graduação em Engenharia de Produção
Teoria de Grafos
Problemas Clássicos
Fluxo em Redes: em um grafo orientado, onde a partir de um
nó de origem busca-se um nó de destino, tendo as aresta uma
capacidade máxima. Defini-se um fluxo com as seguintes
propriedades:
Capacidade: f(i,j) ≤ c(i,j)
Conservação de fluxo:
Fluxo que + Fluxo = Fluxo + Fluxo
chega ao produzido que sai consumido
vétice no vétice do vétice no vétice

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos Restrições:
Fluxo em Redes: Exemplo
• Capacidade:
Demanda: origem-destino (s,t)
carga: 8u.t. • Conservação de fluxo:

Uma solução

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos (Fluxo em Redes)
Fluxo Máximo: consiste em encontrar a capacidade máxima
em que uma rede tem de escoar um determinado tráfego.

Fluxo Máximo com mínimo custo: corresponde à


necessidade de circular em fluxo em uma rede “pagando” o
mínimo o possível. Normente, nesse caso, as arestas possuem
as informações de limite inferior, custo do fluxo e limite
superior.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos (ainda sobre o fluxo em redes)
Problema de Transporte (grafo bipartido): consiste em
determinar o menor custo para transportar produtos de
várias origens para vários destinos. Obedecendo as restrições
de capacidade de produção, demanda, custo de transporte.

ui: capacidades de produção do


fornecedor i.
di: demanda do cliente j.
Cij: custe de transporte do
fornecedor i para o cliente j.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos (ainda sobre o fluxo em redes)
Problema de Designação (Alocação ou Atribuição): é
definido como um problema de transporte com oferta e
demanda unitática. Isto é, consiste em designar n pessoas a n
tarefas com o objetivo de otimizar algum critério.

Exemplo:
Alocação de escala de trabalho
Problema da grade de horário

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos (ainda sobre o fluxo em redes)
Problema de Transbordo: no Problema de transporte,
suponha agora a existência de nós intermediários sem
produção e nem demanda (como portos, armazéns, ...).

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos (ainda sobre o fluxo em redes)
Problema de Caminho Crítico (PERT): Supondo que temos
um trabalho a executar, e que esse trabalho pode ser dividido
em um certo número de atividades. Algumas atividades
podem ser feitas simultaneamente, enquanto algumas
precisam ser terminadas para que outras sejam iniciadas.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Grafos Planares: Um grafo G é dito planar se existir alguma
representação geométrica de G que possa ser desenhada um
plano, de tal modo que não existe cruzamento de arestas.
Para lembrar: Temos que As ligações do Cubo abaixo
ligar luz, gás e telefone a pode ser representado por
três casas sem que as um grafo planar?
linhas se cruzem. Você é
capaz de fazer isso?

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Grafos Planares: Pode-se fazer uma associação entre um grafo
planar e um mapa, onde cada região do mapa corresponde a
um vértice e as fronteiras entre as regiões correspondem às
arestas.
Exemplo: Uma aplicação que utiliza o
conceito de grafos planares é a
disposição de componente em um
circuitos impressos.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Problemas Clássicos (Coloração)
Problema de Colorir as arestas de uma Multigrafo: Quantas
cores são necessária para colorir as arestas de uma
multigrafo, sem repetição de cor entre dois nós adjacentes.
Usuários
da rede
Usuários
da rede
Nó de núcleo

Nó de
2 3
Borda

Recurso 1 6 4 Nó de
Computacinal
Borda

7 5
Rede óptica
8
Nó de Recurso
Borda Computacinal

Usuários
da rede

Servidor
De dados

Pós – Graduação em Engenharia de Produção


Teoria de Grafos
Temas Selecionados
Problema de Alocação Quadrática: Consideremos o
problema de se designar n objetos a n locais de modo que
cada objeto seja atribuído a um único local, quando são
conhecidas as distâncias e os custos entre os pares de locais.

Pós – Graduação em Engenharia de Produção


Teoria de Grafos

Proposição de novos problemas!

Pós – Graduação em Engenharia de Produção

Você também pode gostar