BCC204 - Teoria dos Grafos



Documentos relacionados
BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Teoria dos Grafos. Edson Prestes

Análise e Complexidade de Algoritmos

PROBLEMA DO CARTEIRO CHINÊS

Algoritmos de Aproximação para o Problema do Caixeiro Viajante

Pesquisa Operacional Programação em Redes

Teoria dos Grafos. Aulas 3 e 4. Profa. Alessandra Martins Coelho

Roteamentos AULA ... META. Introduzir alguns problemas de roteamento. OBJETIVOS. Ao final da aula o aluno deverá ser capaz de:

Problema do Carteiro Chinês

Análise e Projeto de Algoritmos

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

5COP096 TeoriadaComputação

BCC202 - Estrutura de Dados I

TerraNetwork: Sistema de Análise de Redes Urbanas

2 Problema das p-medianas

A Otimização Colônia de Formigas

APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS

Grafo: Algoritmos e Aplicações

FATEC Zona Leste. Teoria dos Gráfos. Métodos Quantitativos de Gestão MQG

Inteligência de Enxame: ACO

PROBLEMAS FÁCEIS E DIFÍCEIS. Prof. André Vignatti DINF - UFPR

Manejo Florestal Sustentável: Dificuldade Computacional e Otimização de Processos

Faculdade Alagoana de Administração FAA Ciência da Computação. (Resolução de Problemas em) Espaço de Estados

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos

Princípio da Casa dos Pombos I

Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

Temas para estudo com alunos

EXAME DISCURSIVO 2ª fase

26/08/2013. Árvore. Árvore. Árvore. Floresta :: Exemplo. Floresta ÁRVORES

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

PESQUISA OPERACIONAL TEORIA DOS GRAFOS

PCC173 - Otimização em Redes

Grafos. Problema Abstração Modelo Solução

01/05/2016. Danillo Tourinho Sancho da Silva, MSc ROTEIRIZAÇÃO TEORIA DOS GRAFOS MOTIVAÇÃO

Algoritmos de Aproximação Segundo Semestre de 2012

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes

Análise de Links e Busca na Web

Resolução do Problema de Roteamento de Veículos com Frota Heterogênea via GRASP e Busca Tabu.

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

PLANIFICAÇÃO ANUAL. MACS Matemática Aplicada às Ciências Sociais. Curso de Línguas e Humanidades 2º ANO (11º ANO)

MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA. Busca em espaço de estados. Estados e Operadores. Jogo dos 8. Sumário. Exemplo: jogo dos 8

Resolução. = a = 700 cm = 7m; = b = 400 cm = 4 m; perímetro = 2 (7 + 4) = 22; 14 x 22 = 308; área = 7 x 4 = 28; 20 x 28 = 560; = 868

Inteligência Computacional Aplicada a Engenharia de Software

2 Revisão da Literatura

Introdução aos Conceitos de Problemas de Transporte e Roteamento de Veículos

Teoria e Algoritmos em Grafos

Investigação Operacional

O NÚMERO DE OURO E SUA RELAÇÃO COM A BELEZA E HARMONIA DOS OBJETOS. GT 10 - Docência em Matemática: desafios, contextos e possibilidades

OTIMIZAÇÃO DA COLETA DE RESÍDUOS SÓLIDOS DOMICILIARES NO MUNICÍPIO DE MARAU/RS: COLETA PORTA A PORTA

BC-0506: Comunicação e Redes Algoritmos em Grafos

Notas de aula número 1: Otimização *

RELAÇÕES BINÁRIAS Produto Cartesiano A X B

Estratégias para aumentar conversões

Algoritmos Genéticos

Árvores Binárias e Busca. Jeane Melo

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Teoria dos Grafos. Edson Prestes

Universidade Federal de Alfenas

Quinta-feira, 14 de março. Introdução aos Fluxos de Rede Handouts: Notas de Aula

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

ESTRATÉGIAS DE RESOLUÇÃO DE PROBLEMAS DE PESQUISA OPERACIONAL

Aula 4 Análise Circuitos Elétricos Prof. Marcio Kimpara

CAPÍTULO 2. Grafos e Redes

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Grafos. Redes Sociais e Econômicas. Prof. André Vignatti

Análise de Redes de Transportes. Útil também para várias outras áreas além de Transportes!

Princípio da Casa dos Pombos II

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Algoritmos de aproximação - Problema do caixeiro viajante

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.

Complexidade de Algoritmos

Busca em Árvores ou Grafos

Problema do Caixeiro Viajante Aplicado ao Roteamento de Veículos numa Malha Viária. José Luiz Machado Morais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Resolução de problemas e desenvolvimento de algoritmos

Associação de resistores

Uma Heurística para o Problema de Redução de Padrões de Corte

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Dadas a base e a altura de um triangulo, determinar sua área.

Investigação Operacional e Gestão de Projectos

Teoria dos Grafos Aula 27

Kerio Exchange Migration Tool

Introdução a IO V 1.1, V.Lobo, EN/ISEGI, 2007

Problema de Transporte. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 8 modelos

Capítulo 04. Geradores Elétricos. 1. Definição. 2. Força Eletromotriz (fem) de um Gerador. 3. Resistência interna do gerador

Modelos e Métodos de Resolução para Problemas de Escalonamento de Projetos

OPERAÇÃO DE SISTEMAS DE POTÊNCIA. TEE Aula 13 Prof. Vitor Hugo Ferreira

Mercados de Emparelhamento

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI

Itinerários de Ônibus Relatório Final

TIPOS DE REFLEXÃO Regular Difusa

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Transcrição:

BCC204 - Teoria dos Grafos 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 12 de novembro de 2014 Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 1 / 42

Avisos Site da disciplina: http://www.decom.ufop.br/marco/ Moodle: www.decom.ufop.br/moodle Lista de e-mails: bcc204@googlegroups.com Para solicitar acesso: http://groups.google.com/group/bcc204 Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 2 / 42

Conteúdo 1 O Problema do Caixeiro Viajante 2 Casos Especiais 3 Evolução dos Benchmarks 4 Algoritmo de Christofides 5 Aplicações Práticas 6 O Problema do Carteiro Chinês 7 Complexidade 8 Solução Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 3 / 42

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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 4 / 42

O Problema do Caixeiro Viajante Grafo de exemplo e solução do PCV. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 5 / 42

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. Obviamente, esta versão da história não está isenta de contestações. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 6 / 42

O Problema do Caixeiro Viajante Histórico Em anos futuros, o problema foi estudado por diversos pesquisadores: Menger (1940); Milgran (1940); Mahalanobis (1940); Jessen (1942); Gosh (1948); Maks (1948); Flood, em 1956, publica um trabalho pioneiro na revista Operations Research. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 7 / 42

O Problema do Caixeiro Viajante 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: Grande número de aplicações práticas; Relação com vários outros problemas e muitas variantes; Grande dificuldade de solução exata. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 8 / 42

O Problema do Caixeiro Viajante Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 9 / 42

O Problema do Caixeiro Viajante Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 10 / 42

O Problema do Caixeiro Viajante Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 11 / 42

O Problema do Caixeiro Viajante 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. Lançado em 2012. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 12 / 42

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 d AB d AC + d CB. 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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 13 / 42

O Problema do Caixeiro Viajante 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: 318 cidades (1980); 7.397 cidades (1990); 24.978 cidades (2004); 85.900 cidades (2006). Atualmente, a maior instância do PCV não resolvida é conhecida como World TSP, contando com 1.904.711 cidades a. a Disponível em http://www.math.uwaterloo.ca/tsp/world/index.html Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 14 / 42

O Problema do Caixeiro Viajante 15.112 cidades na Alemanha e 24.978 cidades na Suécia. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 15 / 42

O Problema do Caixeiro Viajante 85.900 pontos em um circuito VLSI. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 16 / 42

O Problema do Caixeiro Viajante World TSP: 1.904.711 cidades. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 17 / 42

Algoritmo de Christofides Princípio O algoritmo de Christofides, proposto em 1976, determina um ciclo hamiltoniano da seguinte forma: Dado um grafo G, determina uma árvore geradora mínima T ; Calcula um casamento perfeito de custo mínimo entre os vértices de grau ímpar de T ; Adiciona as arestas do casamento em T, tornando-a um grafo euleriano; 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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 18 / 42

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(n 3 ). Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 19 / 42

Algoritmo de Christofides Terminologia H: conjunto de vértices que determinam o ciclo hamiltoniano; T : árvore geradora mínima do grafo da entrada; A T : conjunto de arestas de T ; G 0 = (V 0, A 0 ): grafo reduzido que possui os vértices de grau ímpar de T e as arestas de A incidentes aos vértices de T ; E: casamento perfeito de custo mínimo dos vértices de G 0 ; G : grafo que possui o conjunto de vértices original e o conjunto de arestas de T e E; L: ciclo euleriano em G. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 20 / 42

Algoritmo de Christofides Entrada: Grafo G = (V, A) 1 H ; 2 determine T = (V, A T ), uma árvore geradora mínima de G; 3 defina G 0 = (V 0, A 0 ), onde V 0 é o conjunto de vértices de T que possuem grau ímpar e A 0 = {(i, j) A i, j V 0 }; 4 determine E, o casamento perfeito mínimo em G 0 ; 5 faça G = (V, A T E); 6 determine um ciclo euleriano L em G ; 7 //Twice-Around 8 enquanto L faça 9 escolher sequencialmente l k L; 0 se l k H então H H {l k } ; 1 L L \ l k ; 2 fim Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 21 / 42

Algoritmo de Christofides Grafo G. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 22 / 42

Algoritmo de Christofides Vértices de grau ímpar na árvore geradora mínima T obtida a partir de G. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 23 / 42

Algoritmo de Christofides Casamento E = {(2, 4), (6, 3)} em G. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 24 / 42

Algoritmo de Christofides G = (V, A T E) Grafo cujas arestas são a união das arestas da árvore geradora mínima e do casamento perfeito mínimo. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 25 / 42

Algoritmo de Christofides L = 6-3-6-1-2-4-5-6 (possui repetição) H = (6, 3, 1, 2, 4, 5, 6). Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 26 / 42

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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 27 / 42

Aplicações Práticas Planta de um aeroporto com posições de estacionamento e vias de acesso. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 28 / 42

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 temporaria esvazia, até que seu equilíbrio hidrostático 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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 29 / 42

Aplicações práticas Distribuição de poços de petróleo e passeios para etapas diferentes de extração de petróleo. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 30 / 42

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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 31 / 42

Aplicações Práticas Exemplo de chip com cadeias de varreduras otimizadas. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 32 / 42

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 Coleta de lixo; Vendas em domicílio; Entrega do correio; Recenseamento; Nebulização contra dengue; etc... Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 33 / 42

O Problema do Carteiro Chinês 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 O Problema 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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 34 / 42

O Problema do Carteiro Chinês Grafo de exemplo e ciclos que compõem uma solução. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 35 / 42

Complexidade 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(n 3 ) 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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 36 / 42

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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 37 / 42

O Problema do Carteiro Chinês Solução Em grafos eulerianos e 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. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 38 / 42

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 o caminho mais curto entre os vértices de grau ímpar, de modo que se tornem vértices de grau par; 5 Aplique um algoritmo de determinação de ciclos eulerianos. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 39 / 42

Exercício Torne o grafo acima euleriano e determine a solução do PCC. Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 40 / 42

Dúvidas? Marco Antonio M. Carvalho (UFOP) BCC204 12 de novembro de 2014 41 / 42