Este documento apresenta um programa sobre Teoria dos Grafos e Aplicações, abordando conceitos básicos, problemas clássicos e suas soluções algorítmicas, como Árvore Geradora Mínima e Caminho mais Curto. O documento também discute breve histórico, representações de grafos no computador e aplicações em diferentes áreas como matemática, indústria eletrônica e confecções.
1. Centro de Ciências Exatas e da Terra
Departamento de Informática e Matemática Aplicada
Teoria dos Grafos e Aplicações
Prof. Dario José Aloise
Prof. João Soriano da Cruz
2001
2. Tória dos Grafos e Aplicações 2
Teoria dos Grafos e Aplicações
Programa
Objetivos: Estudar alguns problemas e algoritmos fundamentais à teoria dos grafos.
Conteúdo:
1. Breve histórico e exemplos de aplicações
2. Conceitos Básicos e Terminologia
3. Complexidade Computacional de Problemas e Algoritmos
4. Representações de Grafos no Computador
5. Estudo de Problemas Clássicos: Árvore Geradora Mínima, Caminho mais Curto,
Matching, Coloração, Caixeiro Viajante, Roteamento de Veículos, etc.
6. Fluxo em Redes
7. Sistema de Informações Geográfica
8. Metaheurísticas (opcional)
Bibliografia
[01] Brassard, G. e P. Bratley., Algorithmics”, Prentice Hall, New Jersey, (1988)
[02] Campello, R. E., e N. F. Maculan., “Algoritmos e Heurísticas: Desenvolvimento e Avaliação
de Performace”, Furnas Editora, (1994)
[03] Chartrand, G. e O. R. Oellermann, “Applied and Algoritmic Graph Theory”, McGraw-Hill,
International Editions, (1993)
[04] Christofides, N., “Graph Theory, an Algorithmic Approach”, Academic Press, London,
(1975)
[05] Even, S., “Graph Algorithms”, Computer Science Press, Rockville,(1980).
[06] Lawler, E. L., Lenstra, J. K., Rinnooy Kan, e D. B. Shmoys., “The Travelling Salesman
Problem”, John Wiley & Sons, New York, (1985).
[07] Boaventura Netto, P. O., “Grafos: Teoria, Modelos, Algoritmos”, São Paulo:. Edgard
Blücher, (1996).
[08] Peterson J. L., “Petri Net Theory and The Modeling of System”, Prentice-Hall Inc, (1981).
[09] Syslo, M. M. e DEO, N., “Discrete Optimization Algorithms with Pascal Programs”, Prentice-
Hall, 1983.
[10] Szwarcfiter, J. L., “Grafos e Algoritmos Computacionais “, Campus, Rio de Janeiro, (1984)
[11] Wai-Kai Chen., “Theory of Nets Flows in Networks”, John Wiley e Sons, (1990)
[12] Notas de Aula
Horários: Aulas ! 24T56 Atendimento a alunos ! 6T345
Sistema de Avaliação: - Resolução de listas de exercícios;
- Apresentação de Trabalhos em grupo;
- Provas ( ± a cada 20 horas/aula ).
3. Tória dos Grafos e Aplicações 3
Cap 1. Apresentação e História
1.1 – Grafos
! 1736 - “O Problema das Pontes de Königsberg”
Grafo – Solução / Euler
Ref.: J. Newman, “Leonhard Euler and the Königsberg Bridges." Scientific American. 189 (1953), pp. 66-
70.
O PRIMEIRO TEOREMA DE TEORIA DOS GRAFOS (Euler, 1736)
Dado um grafo G determinar uma rota que:
(1) retorna ou ponto inicial, e
(2) atravessa cada linha (rua, estrada) exatamente 1 vez.
A
B D
Ilhas - B,D
C Margens - A,C
Resposta - G tem uma ROTA EULERIANA precisamente quando todos os nós de G
têm grau par .
Idéia:
A
4. Tória dos Grafos e Aplicações 4
! Século XIX - Problemas isolados.
1852 - “O Problema das 4-Cores” (Francis Guthris / De Morgan)
“As regiões de todo mapa podem ser coloridas
usando não mais que 4 cores de forma que
A regiões adjacentes tenham cores distintas”,
Problema em aberto por mais de 100 anos.
Prova usando o computador em 1977
C D (Appel/Haken), e mais recentemente, em 1997,
B também usando o computador com uma prova
mais simples (Robertson / Sanders/ Seymour/
Thomas).
http://www.imada.ou.dk/Research/graphcol.html
1856 -“O Problema dos Ciclo Hamiltoniano” (William R. Hamilton)
Enigma: É possível um cavalo fazer uma rota pelo tabuleiro de xadrez, isto é,
visitar cada quadrado exatamente uma vez e retornar para o seu quadrado inicial?
- “Teoria das Árvores”(Kirchoff / Cayley)
5. Tória dos Grafos e Aplicações 5
! Século XX - Grande interesse pela Teoria dos Grafos
1930 - Resultados teóricos fundamentais (Kuratiwski, König, Minger)
1971 - PROBLEMA DE STEINER EM GRAFOS (Hakimi et. al.)
1.2 – Algoritmos
! Século XX - Formalização da Noção de Computação → Algoritmo
- associado ao desenvolvimento de técnicas para resolver problemas.
- Computador → Influenciou o desenvolvimento e o estudo dos algoritmos:
Eficiência de tempo e espaço.
Exemplo: Problema do Caminho Hamiltoniano
n ≥ 20 ⇒ inadmissível !
(sob o ponto de vista da aplicação é como se não existisse).
6. Tória dos Grafos e Aplicações 6
Algoritmo: “Função da Entrada de Dados do Problema”
Dados do problema = Dados do algoritmo
Solução do problema - Saída do algoritmo
“Algoritmo computa a função f “
E Algoritmo f S = f(E)
Entradas – Variáveis independentes – produzem as saídas do algoritmo,
permitindo a análise de tempo e espaço.
1.3 – Alguns exemplos de aplicações de Grafos
Matemática
7. Tória dos Grafos e Aplicações 7
Na Indústria eletrônica
Na Indústria de Confecções
Grafo Associado