• Nenhum resultado encontrado

BCC204 - Teoria dos Grafos

N/A
N/A
Protected

Academic year: 2021

Share "BCC204 - Teoria dos Grafos"

Copied!
42
0
0

Texto

(1)

Marco Antonio M. Carvalho

(baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação

Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto

(2)

Avisos

Site da disciplina:

I http://www.decom.ufop.br/marco/

Lista de e-mails:

I bcc204@googlegroups.com

Para solicitar acesso:

(3)

1 O Problema do Caixeiro Viajante

Casos Especiais

Evolução dos Benchmarks Algoritmo de Christofides Aplicações Práticas

2 O Problema do Carteiro Chinês

Complexidade Solução

(4)

O Problema do Caixeiro Viajante

Definição

O Problema do Caixeiro Viajante– PCV, consiste em determinar um ciclo hamiltoniano de custo mínimo em um grafo ponderado, direcionado ou não.

Complexidade

Encontrar um ciclo hamiltoniano de custo mínimo em um grafo sem propriedades particulares é NP-Difícil.

(5)
(6)

O Problema do Caixeiro Viajante

Histórico

O Problema do Caixeiro Viajante é um problema clássico de otimização combinatória.

De acordo com o trabalho On the history of combinatorial optimization, de 1960, a idéia de um ciclo hamiltoniano de custo mínimo como um problema de aplicação surgiu em 1920 em Viena, atribuído a Karl Menger.

Karl Menger conhece Hassler Whitney, que supostamente, entre 1931 e 1932, teria se referido ao problema como o Problema do Caixeiro Viajante.

(7)

Histórico

Em anos futuros, o problema foi estudado por diversos pesquisadores:

I Menger (1940); I Milgran (1940); I Mahalanobis (1940); I Jessen (1942); I Gosh (1948); I Maks (1948);

(8)

O Problema do Caixeiro Viajante

O Desafio

Em 1962, a Procter & Gamble lançou um desafio com um prêmio de

US$10.000,00 (o suficiente para comprar uma casa na época) e 54 prêmios de US$ 1.000,00 para quem resolvesse um PCV com 33 cidades espalhadas pelos EUA. A solução ótima é uma rota de ≈ 17480 km de comprimento, e vários

participantes a alcançaram, mesmo sem saber que esta era a solução ótima. O critério de desempate foi a melhor redação sobre produtos da Procter & Gamble :(

(9)

A Importância do PCV

O problema do caixeiro viajante é um dos problemas de otimização combinatória mais intensamente pesquisados até o momento.

Esta importância é atribuída a três características combinadas:

I Grande número de aplicações práticas;

I Relação com vários outros problemas e muitas variantes;

(10)
(11)
(12)
(13)

O Filme

Quatro matemáticos descobrem um algoritmo para solução eficiente do PCV e provam que P=NP, quando se

confrontam com as implicações globais da descoberta.

O departamento de defesa americano oferece US$10 milhões para cada pelo algoritmo, porém, um dos matemáticos se recusa a vender, sendo forçado a revelar um segredo importante sobre sua parte do algoritmo.

(14)

Casos Especiais do PCV

PCV Métrico

Também conhecido como ∆-PCV, em que as distâncias entre as cidades obedecem à desigualdade triangular, ou seja, a distância de uma cidade A até uma cidade B nunca é maior do que uma rota que inclui uma cidade intermediária C .

Em outras palavras, dAB ≤ dAC + dCB.

PCV Euclideano

Também conhecido como PCV planar, em que as distâncias são euclideanas.

PCV Assimétrico

A distância entre dois vértices no grafo depende do sentido em que a aresta está sendo percorrida.

(15)

Evolução dos Benchmarks

Ao longo do tempo, a ampla investigação e criação de métodos para solução do PCV resultou em uma grande evolução no tamanho das instâncias não triviais resolvidas à otimalidade:

I 318 cidades (1980);

I 7.397 cidades (1990);

I 24.978 cidades (2004);

I 85.900 cidades (2006).

Atualmente, a maior instância do PCV não resolvida é conhecida como “World TSP”, contando com 1.904.711 cidadesa.

(16)

O Problema do Caixeiro Viajante

(17)
(18)

O Problema do Caixeiro Viajante

(19)

Princípio

O algoritmo de Christofides, proposto em 1976, determina um ciclo hamiltoniano da seguinte forma:

I Dado um grafo G , determina uma árvore geradora mínima T ;

I Calcula um casamento perfeito de custo mínimo entre os vértices de grau ímpar de T ;

I Adiciona as arestas do casamento em T , tornando-a um grafo euleriano;

I Aplica o procedimento Twice-Around para determinar o ciclo hamiltoniano a partir do ciclo euleriano.

Comprovadamente, o algoritmo de Christofides produz soluções que são no máximo 1,5 vezes piores do que as soluções ótimas dos problemas.

(20)

Twice-Around

Princípio

O algoritmo de Christofides utiliza parte do princípio da heurística Twice-Around. Partindo de uma árvore geradora mínima de um grafo G , um ciclo hamiltoniano é obtido a partir de um ciclo euleriano em G através de um percurso que, utilizando “atalhos” sempre que possível, evita a repetição de vértices no ciclo.

Complexidade

A complexidade desta heurística é dominada pela determinação do casamento perfeito de custo mínimo: O(n3).

(21)

Terminologia

I H: conjunto de vértices que determinam o ciclo hamiltoniano;

I T : árvore geradora mínima do grafo da entrada;

I AT: conjunto de arestas de T ;

I G0 = (V0, A0): grafo reduzido que possui os vértices de grau ímpar de T e as arestas de A incidentes aos vértices de T ;

I E : casamento perfeito de custo mínimo dos vértices de G0;

I G0: grafo que possui o conjunto de vértices original e o conjunto de arestas de T e E ;

(22)

Algoritmo de Christofides

Entrada: Grafo G = (V , A) 1 H ← ∅;

2 determine T = (V , AT), uma árvore geradora mínima de G ;

3 defina G0= (V0, A0), em que V0é o conjunto de vértices de T que possuem grau

ímpar e A0= {{i , j } ∈ A|i , j ∈ V0};

4 determine E , o casamento perfeito mínimo em G0;

5 faça G0 = (V , AT∪ E );

6 determine um ciclo euleriano L em G0;

7 //Twice-Around 8 enquanto L 6= ∅ faça 9 escolher sequencialmente lk ∈ L; 10 se lk 3 H então H ← H ∪ {lk} ; 11 L ← L \ lk; 12 fim

(23)
(24)

Algoritmo de Christofides

(25)
(26)

Algoritmo de Christofides

G0 = (V , AT ∪ E )

(27)

L = 6-3-6-1-2-4-5-6 (possui repetição) H = (6, 3, 1, 2, 4, 5, 6).

(28)

Aplicações Práticas

Transporte de Bagagens em Aeroportos

Normalmente, os aeroportos são constituídos de vastos terminais e exigem uma frota de pequenos veículos para carga e descarga de bagagens das aeronaves. As bagagens são concentradas em um centro de distribuição tanto para carga quanto para descarga dos aviões estacionados, e os veículos seguem rotas pré-estabelecidas no aeroporto.

Este problema pode ser modelado como o m-PCV, em que m veículos executam rotas de recolhimento ou entrega de bagagens, atendendo às diversas posições de estacionamento.

(29)
(30)

Aplicações Práticas

O Passeio do Pistoneio

Campos terrestres de petróleo podem não ter pressão suficiente para trazer o petróleo até a superfície, e desta forma, é necessário empregar uma unidade móvel de pistoneio para a extração.

A unidade móvel de pistoneio diminui o volume de petróleo no poço que

temporariamente “esvazia”, até que seu equilíbrio seja recuperado e o poço “encha” novamente.

Cada poço pode levar um tempo diferente para recuperar seu equilíbrio, e enquanto isto ocorre, a unidade móvel de pistoneio extrai petróleo de outros poços.

O objetivo é estabelecer rotas para a unidade móvel de pistoneio extrair petróleo considerando apenas os poços disponíveis, minimizando a distância percorrida.

(31)

Distribuição de poços de petróleo e passeios para etapas diferentes de extração de petróleo.

(32)

Aplicações Práticas

Otimização de Cadeias de Varreduras de Semicondutores

Uma fábrica de semicondutores utilizou a heurística Kernighan-Lin (uma das heurísticas mais eficientes para o PCV simétrico) para determinação de rotas em um experimento de otimização de circuitos integrados.

Cadeias de varredura são rotas desenhadas em um chip que fornecem elementos de testes para este mesmo chip. O propósito do problema é minimizar o tamanho destas cadeias para evitar perda de tempo e potência dentro do chip.

(33)
(34)

O Problema do Carteiro Chinês

Introdução

Considere serviços como coleta de lixo ou correios. Os cruzamentos das ruas são vértices do grafo e as arestas são as ruas. Cada rua tem um custo de percurso associado que representa a distância (ou tempo).

É necessário percorrer todas as ruas e retornar ao ponto inicial com custo mínimo. Aplicações I Coleta de lixo; I Vendas em domicílio; I Entrega do correio; I Recenseamento;

(35)

Histórico

A literatura relata um grande número de problemas de otimização combinatória associados aos percursos desenvolvidos sobre as arestas de um grafo G .

O Problema do Carteiro Chinês foi relatado inicialmente por Kwan Mei-Ko em 1962, na revista Chinese Mathematics.

Definição

OProblema do Carteiro Chinês – PCC, consiste em determinar um passeio fechado de custo mínimo que passe por cada aresta de um grafo G conectado pelo menos uma vez.

(36)

O Problema do Carteiro Chinês

(37)

PCC em Grafos Não Orientados

Para o caso de grafos não orientados, a solução exata deste problema pode ser obtida em O(n3)a, portanto, em tempo polinomial.

a

Papadimitriou & Steiglitz (1982)

PCC em Grafos Orientados

Para o caso de grafos orientados, a solução exata deste problema pode ser obtida utilizando um algoritmo de fluxo em redes, portanto, em tempo polinomial.

PCC em Grafos Mistos

Para o caso de grafos que possuem ambos os tipos de arestas, orientadas e não orientadas, o problema é NP-Difícil.

(38)

Complexidade

PCC em Grafos – Caso Simétrico

Para o caso de grafos nos quais as distâncias são iguais independente do sentido de travessia, o problema possui solução em tempo polinomial.

PCC em Grafos – Caso Íngreme

Para o caso de grafos nos quais as distâncias dependem do sentido de travessia, o problema é NP-Difícil.

(39)

Solução

Em grafoseulerianose não orientados, a solução consiste em determinar o ciclo euleriano.

A solução deverá consistir em um itinerário único, de modo que caso o grafo não seja euleriano, algumas arestas serão percorridas mais de uma vez.

O processo de solução, no caso de trabalharmos com um grafo não euleriano,

adiciona arestas até que se obtenha um grafo euleriano. Desta forma, indicamos quais arestas serão percorridas duas vezes.

(40)

O Problema do Carteiro Chinês

Abordagem para Grafos Não Orientados e Conexos

1 Verifique se G é euleriano; 2 Caso positivo vá para 5;

3 Caso negativo, o grafo possui vértices de grau ímpar;

4 Adicione arestas ao grafo, duplicando as arestas que formam ocaminho mais

curtoentre os vértices de grau ímpar, de modo que se tornem vértices de grau par;

(41)

Exercício

EXERCISE 3B

1 Find the length of an optimal Chinese postman route for the

networks below.

(a)

(b)

(c)

3.5 Finding a route

The method for finding the length of the Chinese postman route is quite straightforward, but to find the list of edges corresponding to this route can be quite tricky, especially in complicated

networks. It is useful to calculate how many times each vertex will appear in a Chinese postman route. The following method should be applied before trying to find the route.

Step 1 On the original diagram add the extra edges to make the

graph Eulerian. C F J H E B 6 13 3 A D G I 4 8 7 8 5 9 6 12 9 3 1 13 14 F 5 G E 8 7 D C B 6 12 5 6 5 7 11 A F 2 E D C B 3 12 4 5 4 3 A

Torne o grafo acima euleriano e determine a solução do PCC.

(42)

Referências

Documentos relacionados

Tal como previsto, foi feita uma Consulta a todos os Colaboradores do Grupo 8 tendo sido incluída a componente da Responsabilidade Social. Desta Consulta resultaram

suportado na simplicidade, na comodidade and value-for-money Empresa Alargar a penetração dos serviços TI/SI (Cloud, Outsourcing e BPO) para aumentar o share of wallet do

A média de pacientes que apresentaram cefaléia durante as sessões de hemodiálise foi de 7,62%, em um estudo realizado sobre cefaléia relacionada à hemodiálise observa-se que os

Pensar o uso das geotecnologias no ensino de Geografia cada vez mais tem sido uma necessidade mediante as diferentes formas de compreender o espaço geográfico que se vive, pois

in‡ação para os próximos 12 meses, consideramos a seguinte hipótese: os agentes esperam que a in‡ação para os trimestres do próximo ano necessários para completar os próximos

“A formação de líderes evolutivos contribuiu para uma maior percepção da minha própria jornada e do reconhecimento mais profundo dos três pilares: propósito

A dengue é um grande problema de saúde pública em áreas tropicais e subtropicais, sendo considerada uma das causas mais comuns de hospitalização e morte em

Embora a redução da RLA pelos SF em relação aos SM se tivesse mantido, obteve-se uma maior taxa de morte cardíaca não fatal em pacientes tratados com SF, comparativamente