Transcript Árvores
Grafos
Histórico, exemplos e problemas
Pontes de Königsberg
Königsberg, Prússia (atual Калинингра́д), Rússia
Pontes de Königsberg
É possível cruzar cada ponte uma única vez e voltar ao ponto de partida?
Pontes de Königsberg
É possível cruzar cada ponte uma única vez e voltar ao ponto de partida?
Pontes de Königsberg
Ninguém conseguia uma solução. Alguns achavam que era impossível.
Leonhard Euler (“Óiler”)
• Um dos matemáticos mais produtivos da história – 13 filhos – mais de 800 artigos publicados • séries – Cálculo • equações diferenciais – Cálculo e Cálculo Numérico – Ficou cego e continuou escrevendo artigos por mais 17 anos até sua morte
Pontes de Königsberg
– Resolvido em 1736 por Leonhard Euler – Necessário um modelo para representar o problema – Abstração de detalhes irrelevantes: • Área de cada ilha • Formato de cada ilha • Tipo da ponte, etc .
Pontes de Königsberg
• Euler demonstrou que o problema das pontes de Königsberg não tem solução • Ele usou um modelo simplificado das ligações entre as regiões • Euler usou um raciocínio muito simples. Transformou os caminhos em retas e suas intersecções em pontos criando possivelmente o primeiro grafo da história.
Pontes de Königsberg
• Então percebeu que só seria possível atravessar o caminho inteiro passando uma única vez em cada ponte se
houvesse no máximo dois pontos de onde saia um número ímpar de caminhos
. • A razão de tal coisa é: de cada ponto deve haver um número par de caminhos, pois será preciso um caminho para "entrar" e outro para "sair". • Os dois pontos com caminhos ímpares referem-se ao início e ao final do percurso, pois estes não precisam de um para entrar e um para sair, respectivamente
Pontes de Königsberg
• Euler estabeleceu um teorema que diz em que condições é possível percorrer cada linha exatamente uma vez e voltar ao ponto inicial – Foi o primeiro teorema da Teoria dos Grafos
Pontes de Königsberg
• Como os graus de todos os vértices são impares, é fácil verificar que este grafo não apresenta nem uma trilha, nem um ciclo euleriano, visto que ele não satisfaz o
teorema de euler
, nem tampouco é um
grafo atravessável
. Logo, a travessia proposta não é possível.
– Teorema de euler: Um multigrafo
M M
é conexo e cada vértice de
M
é euleriano se e somente se tem grau par.
– Teorema de grafo atravessável: Um multigrafo
M
é atravessável se e somente se
M
é conexo e tem exatamente dois vértices de grau impar. Consequentemente, qualquer trilha euleriana de começa em um dos vértices de grau impar e termina no outro vértice de grau impar.
M
Pontes de Königsberg
• Euler mostrou que não existe o trajeto proposto utilizando o modelo em grafos • Verifique nos grafos abaixo se o trajeto proposto é possível
Mais história • Um século sem estudos em grafos • Leis de Kirchoff (Kirchoff, 1847) •
Problema das 4 cores
(De Morgan, 1852) • Aplicações em Química orgânica (Cayley, 1857) •
Problema do ciclo Hamiltoniano
(Hamilton 1859)
O problema das 3 casas
• É possível conectar os 3 serviços às 3 casas sem haver cruzamento de tubulação?
A teoria dos grafos mostra que não é possível água luz telefone
Mapas • Quantas cores são necessárias?
Mapas • Quantas cores são necessárias?
Questões sobre o caminho mínimo • De forma a reduzir seus custos operacionais, uma empresa de transporte de cargas deseja oferecer aos motoristas de sua frota um mecanismo que os auxilie a selecionar o melhor caminho (o de menor distância) entre quaisquer duas cidades por ela servidas, de forma a que sejam minimizados os custos de transporte.
Modelagem com grafos • Estamos interessados em objetos e nas relações entre eles • Quem são eles nos problemas apresentados?
• Como representar graficamente?
Modelagem com grafos
No problema das casas – Vértices são casas e serviços – Arestas são as tubulações entre casas e serviços • No problema da coloração de mapas – Vértices são estados – Arestas relacionam estados vizinhos • No problema do caminho mais curto – Vértices são as cidades – Arestas são as ligações entre as cidades
Três desenvolvimentos isolados despertaram o interesse pela área • Formulação do problema das 4 cores (De Morgan 1852). •
Q
ual a quantidade mínima de cores para colorir um mapa de tal forma que países fronteiriços possuam cores diferentes? •
A
presenta se um exemplo em que 3 cores não são suficientes. Uma prova de que 5 cores é suficiente foi formulada. Conjecturou se então que 4 cores seriam suficientes. Esta questão ficou em aberto até 1976 quando Appel e Haken provaram para 4 cores .
Três desenvolvimentos isolados despertaram o interesse pela área • Problema do ciclo Hamiltoniano (Hamilton 1859) Existem n cidades. Cada par de cidades pode ser adjacente ou não arbitrariamente. Partindo de uma cidade qualquer, o problema consiste em determinar um trajeto que passe exatamente uma vez em cada cidade e retorne ao ponto de partida.
Três desenvolvimentos isolados despertaram o interesse pela área • Teoria das árvores - Kirchoff (1847) - problemas de circuitos elétricos - Cayley (1857) Química Orgânica
Então, o que é um grafo?
• Informalmente, um conjunto de objetos e ligações (relações) entre eles • Alguns chamam de rede • Muitas vezes representado graficamente (pontos e linhas) • Os objetos são chamados de vértices e as • ligações, de arestas
O que são Grafos • Diagrama - Corresponde a soma de pontos e linhas, onde os pontos apresentam alguma informação e as linhas indicam o relacionamento entre dois pontos quaisquer • Ferramenta de modelagem • Abstração matemática que representa situações reais através de um diagrama.
Grafo vs gráfico • Um grafo pode ser representado graficamente de diversas maneiras
Grafo vs gráfico • O que importa são as relações que existem entre os vértices
Porque estudar Grafos ?
– Importante ferramenta matemática com aplicação em diversas áreas do conhecimento • Genética, química, pesquisa operacional, telecomunicações, engenharia elétrica, redes de computadores, conexão de vôos aéreos, restrições de precedência, fluxo de programas, dentre outros – Utilizados na definição e/ou resolução de problemas
Porque estudar Grafos
– Em computação : estudar grafos é mais uma forma de solucionar problemas computáveis – Os estudos teóricos em grafos, buscam o desenvolvimento de algoritmos mais eficientes.