GRAFOS Aula 01 Introdução Max Pereira

Documentos relacionados
Módulo de Princípios Básicos de Contagem. Segundo ano

AULA 07 Distribuições Discretas de Probabilidade

Problema da Árvore Geradora Mínima

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Inteligência Artificial

QUESTÕES PARA A 3ª SÉRIE ENSINO MÉDIO MATEMÁTICA 2º BIMESTE SUGESTÕES DE RESOLUÇÕES

MÓDULO 2 Topologias de Redes

Adriana da Silva Santi Coord. Pedagógica de Matemática SMED - Abril/2015

Indíce. Indice ) Identificar a sua persona (Cliente ideal)...erro! Indicador não definido. Exemplo... 4

DISTRIBUIÇÕES ESPECIAIS DE PROBABILIDADE DISCRETAS

Depois do estudo deste capítulo, o estudante deve ser capaz de:

Técnicas de Contagem I II III IV V VI

12 26, 62, 34, , , 65

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Unidade 1: O Computador

Canguru sem fronteiras 2005

Matemática Discreta - 08

Manual SAGe Versão 1.2

SISTEMAS DISTRIBUÍDOS

Avaliação de Empresas Profa. Patricia Maria Bortolon

Índice. Conteúdo. Planilha Profissional Para Cálculo de Preços de Artesanato

Introdução à Informática. Aula 05. Redes de Computadores. Prof. Fábio Nelson

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

UM JOGO BINOMIAL 1. INTRODUÇÃO

Prof. Daniela Barreiro Claro

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

2 Segmentação de imagens e Componentes conexas

Análise Qualitativa no Gerenciamento de Riscos de Projetos

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

ENGENHARIA DE SOFTWARE

SUB12 Campeonato de Resolução de Problemas de Matemática Edição 2009/2010

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

ASPECTOS CONSTRUTIVOS DE ROBÔS

Teoria dos Grafos. Edson Prestes

Parabéns por você ter chegado até aqui isso mostra o seu real interesse em aprender como se ganhar dinheiro na internet logo abaixo te darei algumas

REGULAMENTO DE PROVA OFICIAL VOLEIBOL XXI TNG

Uso de escalas logaritmicas e linearização

Processamento Digital de Sinais. Conversão A/D e D/A. Prof. Dr. Carlos Alberto Ynoguti

Calculando distâncias sem medir

NOME: Matrícula: Turma: Prof. : Importante: i. Nas cinco páginas seguintes contém problemas para serem resolvidos e entregues.

Fundamentos de Programação. Diagrama de blocos

Prefácio. 2. As lições são programadas para pessoas que cumpram os seguintes requisitos:

Objetivo do Portal da Gestão Escolar

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Resoluções A. Combinatória 1 3 os anos Blaidi/Walter Ago/09. Nome: Nº: Turma:

A ARTE DA EAD NA BAHIA

Exercício. Exercício

Prova de Fundamentos de Bancos de Dados 1 a Prova

Ondas EM no Espaço Livre (Vácuo)

Perguntas frequentes graduação sanduíche Ciência sem Fronteiras

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

APOSTILA DE INFORMÁTICA INTERNET E

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Lista de Exercícios Critérios de Divisibilidade

Graphing Basic no Excel 2007

Sobre o Visual C

Andrés Eduardo Coca Salazar Tutor: Prof. Dr. Zhao Liang

a) O Word é um editor de TEXTOS. Com ele é possível digitar cartas, currículos e trabalhos escolares.

1 Circuitos Pneumáticos

1 O gráfico no plano cartesiano expressa a alta dos preços médios de televisores de tela plana e alta definição, do modelo LCD, full HD, 32

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

Notas de aula de Lógica para Ciência da Computação. Aula 11, 2012/2

FACULDADE MULTIVIX CURSO DE ENGENHARIA DE PRODUÇÃO 2º PERÍODO MARIANA DE OLIVEIRA BERGAMIN MONIQUE MATIELLO GOMES THANIELE ALMEIDA ALVES

Probabilidade. Evento (E) é o acontecimento que deve ser analisado.

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

Figuras geométricas planas. Joyce Danielle. e espaciais

Banco de Dados I. Prof. Edson Thizon

ARRANJO E COMBINAÇÃO. n! n,p. =, com n p. (n - p)! 4! 4! 4,3 = = = 4! = = 24 (4-3)! 1! Prof. Rivelino Matemática Básica TIPOS DE AGRUPAMENTOS

UNIVERSIDADE FEDERAL DA BAHIA ESCOLA POLITÉCNICA DEPARTAMENTO DE ENGENHARIA QUÍMICA ENG 008 Fenômenos de Transporte I A Profª Fátima Lopes

DEPARTAMENTO DE MATEMÁTICA

ÁREA DO PROFESSOR (TUTOR)

Distribuição Normal de Probabilidade

Olimpíada Brasileira de Raciocínio Lógico Nível III Fase II 2014

A 'BC' e, com uma régua, obteve estas medidas:

Vamos dar uma olhada nos Processos de Produção Musical mas, antes, começaremos com alguns Conceitos Básicos.

Manual Geral de Aplicação Universal Entrada 2008

Probabilidade e Estatística 2008/2. Regras de adicão, probabilidade condicional, multiplicação e probabilidade total.

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

REGRAS DAS PROVAS RELÂMPAGO

SLOTS NA PORTELA Rui Rodrigues Site Público

Estudo de Caso: Futebol Brasileiro no Facebook. Aha, uhu, o Maraca é nosso!

M =C J, fórmula do montante

Fundamentos de Sistemas Operacionais

Probabilidade. Luiz Carlos Terra

O papel do Professor como mediador 1

Cap. II EVENTOS MUTUAMENTE EXCLUSIVOS E EVENTOS NÃO- EXCLUSIVOS

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

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão


APOSTILA DE CIÊNCIAS NATURAIS

Autoria: Fernanda Maria Villela Reis Orientadora: Tereza G. Kirner Coordenador do Projeto: Claudio Kirner. Projeto AIPRA (Processo CNPq /2010-2)

24/06/2010. Presidência da República Secretaria de Imprensa Discurso do Presidente da República

Preço de uma lapiseira Quantidade Preço de uma agenda Quantidade R$ 10, R$ 24, R$ 15,00 80 R$ 13, R$ 20,00 60 R$ 30,00 160

ENG1000 Introdução à Engenharia

Programação Orientada a Objetos SANTOS, Rafael

Entropia, Entropia Relativa

Resolução de circuitos usando Teorema de Thévenin Exercícios Resolvidos

c- Muitas vezes nos deparamos com situações em que nos sentimos tão pequenos e às vezes pensamos que não vamos dar conta de solucioná-las.

CURSO PRÉ-VESTIBULAR DA UFSCar

Transcrição:

Ciência da Computação GRAFOS Aula 01 Introdução Max Pereira

Todos os dias nos vemos cercados por incontáveis conexões e redes: rodovias e ferrovias, linhas telefônicas e a Internet, circuitos eletrônicos e até mesmo ligações moleculares. Há também as redes sociais entre amigos e familiares. Todos esses sistemas consistem de certos pontos, chamados vértices, conectados por linhas (links), chamadas arestas. Na matemática, todas essas redes são chamadas de grafos. A teoria dos grafos é o estudo dos grafos e suas propriedades. É uma das áreas mais visuais da matemática, e tem inúmeras aplicações importantes.

Cadeia de suprimentos Rodovias Redes de Computadores Circuitos integrados Relacionamentos Conexões Neurais

Podemos projetar o layout de grafos simples usando pontos e linhas. A posição dos pontos e o comprimento das linhas são irrelevantes. Apenas precisamos ficar atentos em como eles estão conectados uns aos outros. As linhas podem até ter cruzamentos entre elas, e não precisam ser retas. Em alguns grafos, as arestas vão apenas em uma direção. Esses grafos são chamados de grafos orientados ou dirigidos. Alguns grafos consistem de múltiplos segmentos distintos que não estão conectados por arestas. Esses grafos são chamados de grafos desconexos. Outros grafos podem conter múltiplas arestas entre os mesmos pares de vértices, ou vértices que estão conectados a eles mesmos (laços).

Podemos criar grafos a partir de grafos existentes através da remoção de alguns vértices e arestas. O resultado é chamado de subgrafo. Alguns exemplos de grafos e subgrafos:

A ordem de um grafo é o seu número de vértices. O grau de um vértice em um grafo é o número de arestas que estão conectadas a esse vértice. Ordem: Grau = 2 Grau = 3 Grau = 1

Grafos que formam um único anel de vértices são chamados ciclos. Todos os ciclos tem o mesmo número de arestas e vértices.

Suponha que você tenha sido convidado para uma festa. Depois da celebração os convidados estão indo embora e todos se cumprimentam. Quantos apertos de mãos são realizados no total? Podemos representar os apertos de mãos usando um grafo: cada pessoa é um vértice e todo aperto de mão é uma aresta. Suponha que, incluindo você mesmo e o dono da festa, há 5 pessoas presentes. São 10 apertos de mãos!

Melhor do que contar as muitas arestas para um número maior de convidados, podemos tentar encontrar uma fórmula simples que nos dê o resultado para qualquer número de convidados. Cada uma das 5 pessoas aperta a mão de outras 4. Temos então 5 X 4 = 20 apertos de mãos no total. De forma geral, parece que número de apertos de mãos para um grupo de n pessoas é: n x (n 1) No entanto, contamos cada aperto de mão duas vezes, uma para cada pessoa envolvida. Quando a pessoa 1 aperta a mão da pessoa 2, então automaticamente a pessoa 2 aperta a mão da pessoa 1. n x (n 1) 2

O grafo do aperto de mãos possui a característica de que todos os vértices estão conectados entre si. Grafos com essa propriedade são chamados grafos completos. O grafo completo com 4 vértices é geralmente chamado de K 4, o grafo completo com 5 vértices é conhecido como K 5, e assim por diante. Um grafo completo com n vértices, K n, tem n x (n 1) 2 arestas.

Suponha agora um outro cenário: temos 5 homens e 4 mulheres, há pequenas mesas e cada homem pode conversar durante 5 minutos com cada uma das mulheres. Quantos encontros individuais ocorrem? Nesse caso, o grafo consiste em dois conjuntos separados de vértices. Cada vértice está conectado a todos os vértices do conjunto oposto, mas com nenhum vértice do seu próprio conjunto. Grafos que possuem esse layout são chamados de grafos bipartidos.

Um grafo bipartido com dois conjuntos de tamanhos x e y é geralmente referenciado como K x,y. Possui x y arestas, ou seja, para nosso exemplo temos 5 x 4 = 20 encontros.

As pontes de Königsberg Um dos primeiros matemáticos a pensar sobre grafos e redes foi Leonhard Euler. Ele ficou intrigado por um antigo problema referente a cidade de Königsberg (hoje Kaliningrado): O rio Pregel divide Königsberg em 4 partes, que estão conectadas por 7 pontes. É possível andar pela cidade cruzando cada uma das pontes exatamente uma única vez? Você pode começar e terminar em qualquer lugar.

As pontes de Königsberg No caso de Königsberg parece ser impossível encontrar um caminho válido. Euler procurou encontrar uma regra simples que poderia ser aplicada em qualquer cidade, sem precisar tentar várias possibilidades, usando teoria dos grafos.

Primeiro, precisamos converter o mapa da cidade em um grafo. Cada região está representada por um vértice e cada ponte conectando duas regiões está representada por uma aresta. Agora o problema de Königsberg torna-se um problema de desenhar um grafo com uma linha contínua enquanto passa uma única vez por cada aresta.

Para alguns grafos é possível para outros não. Um grafo pode ser desenhado se ele tiver não mais do que dois vértices de grau ímpar, ou seja, todos os vértices devem ter grau par, exceto os vértices de início e fim do caminho (esses dois podem ter grau ímpar).

Voltando para o problema das pontes de Königsberg, podemos notar que há mais de dois vértices com grau ímpar. Dessa forma, um caminho que cruze todas as pontes uma única vez é impossível.

Esse problema também é impossível. Alguns grafos podem ser desenhados sem que haja cruzamento das arestas esses grafos são chamados de grafos planares mas outros não podem.

K 3 é planar K 4 é planar?? K 4 é planar K 5 é planar?? K 5 não é planar

O grafo completo K 5 é o menor grafo não planar. Qualquer outro grafo que contenha o K 5 como um subgrafo de certa forma também e não planar. Isso inclui K 6, K 7, e todos os grafos maiores completos. O grafo do problema das três casas é um grafo bipartido K 3,3. Assim, qualquer grafo não planar deve conter um K 5 ou um K 3,3 ou uma subdivisão desses dois grafos como um subgrafo.

A Fórmula de Euler Todos os grafos planares dividem o plano em um número de áreas, chamadas de faces. 4 vértices 3 faces 6 arestas 8 vértices 5 faces 12 arestas 6 vértices 7 faces 12 arestas Podemos notar que o número de arestas é sempre um menos o número de faces mais o número de vértices. Esse resultado é chamado de equação de Euler.

Muitos grafos planares são muito similares aos poliedros. Isso significa que podemos usar a fórmula de Euler também para os poliedros, com uma pequena diferença. Quando transformamos os poliedros em grafos planares, uma das faces desaparece. Assim, o número de arestas é igual o número de vértices somado ao número de faces, menos dois, para qualquer poliedro.

Coloração de Mapas Quando os mapas são coloridos - ou qualquer outro desenho que contenha regiões distintas - os países adjacentes não podem ter a mesma cor. É importante também usar o menor número de cores diferentes possível.

Quantas cores são necessárias? Todos esses mapas podem ser coloridos com apenas 4 cores.

Podemos converter os mapas com países e fronteiras em grafos planares: cada país se torna um vértice, e países que compartilham fronteiras são conectados por uma aresta. Agora queremos colorir os vértices do grafo, e dois vértices devem ter cores diferentes se estiverem conectados por uma aresta.

Em 1852, um estudante de botânica Francis Guthrie precisou colorir um mapa de regiões da Inglaterra. Ele observou que 4 cores pareciam ser suficientes para qualquer mapa que ele tentasse colorir. No entanto, ele não conseguiu provar que funcionaria para todos os mapas. Isso se tornou um problema extremamente difícil, e ficou conhecido como o teorema das quatro cores. Durante os 100 anos seguintes, muitos matemáticos publicaram provas que posteriormente foram desqualificadas. Por muito tempo os matemáticos foram incapazes de provar que as 4 cores eram suficientes ou encontrar um mapa que precisasse de mais de 4 cores.

Muito pouco foi feito para resolver o problema das 4 cores até 1976, quando Wolfgang Haken e Kenneth Appel usaram um computador para finalmente resolvê-lo. Eles utilizaram 1936 mapas possíveis, os quais foram analisados por um computador levando mais de 1000 horas de processamento. Carimbo postal do Departamento de Matemática da Universidade de Illinois, onde Haken e Appel trabalhavam.

O Problema do Caixeiro Viajante Vamos supor que um serviço de entregas tenha que visitar 8 diferentes cidades para distribuir algumas encomendas. Podemos pensar nessas cidades como vértices em um grafo. Se todas as cidades estiverem conectadas por estradas, ou seja, um grafo completo, então há 8 (8 1) 28 arestas no total. O caminhão deverá visitar todas as cidades, em qualquer ordem. No problema das pontes de Königsberg procuramos por caminhos que passavam pelas arestas exatamente uma única vez. Agora queremos encontrar caminhos que visitam cada vértice exatamente uma única vez. Esses caminhos são chamados de ciclos Hamiltonianos. 2 =

Há muitas possibilidades de ciclos Hamiltonianos em um grafo completo. Podemos escolher qualquer vértice para iniciar e depois escolher qualquer uma das cidades restantes em qualquer ordem. Em um grafo com 4 cidades, cada ciclo Hamiltoniano deve conter também 4 cidades. Há 4 escolhas para a primeira cidade. Depois, sobram somente 3 escolhas para a segunda cidade. Seguindo, sobrem 2 escolhas para a terceira cidade. Finalmente, há apenas 1 escolha restante para a quarta cidade. Isso significa que, no total, há 4 3 2 1 = 24 caminhos possíveis ou 4!

Até agora ignoramos o fato que algumas cidades possuem distâncias diferentes umas das outras. Em problemas reais, essa consideração é muito importante. Não queremos apenas encontrar qualquer caminho, mas queremos encontrar o caminho mais curto. Nesse caso, o Problema do Caixeiro Viajante. Esse problema não aplica-se somente aos transportes ou logística, mas também quando transistores devem ser posicionados em microships ou quando se faz análises de estruturas de DNA.

Um método simples seria tentar todos os possíveis caminhos, encontrando o comprimento de cada um, e depois escolher o menor. Porém, com apenas 10 cidades há 10! = 3.628.800 caminhos possíveis. Infelizmente não há um algoritmo eficiente para resolver o problema do caixeiro viajante. Matemáticos e cientistas da computação desenvolveram vários algoritmos que encontram boas soluções, mesmo que não sejam as soluções ótimas. O problema do caixeiro viajante é NP-completo, ou seja, muito difícil de ser resolvido por computadores (pelo menos para um número muito grande de cidades).

A teoria dos grafos no dia-a-dia A Internet, por exemplo, é um grande grafo virtual. Cada vértice é uma página, e cada aresta significa que há um link entre duas páginas. Algumas páginas possuem muitos links de chegada, enquanto outras possuem muito poucos. Esse é o conceito base com o qual o Google trabalha para ordenar os resultados de busca. Páginas com mais links de chegada tem uma tendência de mais qualidade e devem ser mostrados no topo dos resultados de busca. Essa simples ideia da teoria dos grafos, o algoritmo Page Rank, fez o Google ser significativamente melhor do que outras máquinas de busca.

A teoria dos grafos no dia-a-dia Os grafos também possuem um papel importante na área de transportes e navegação. Todos os voos, trens e redes de metrôs formam grafos, que podem ser usados na criação de agendas (escalonamento) eficientes.

As ligações entre átomos nas moléculas formam grafos As epidemias podem ser modeladas usando uma rede (grafo). Na biologia, as árvores de evolução que mostram os ancestrais de uma espécie formam grafos.

As estruturas gramaticais das linguagens podem ser modeladas usando grafos, por exemplo, para criar algoritmos de tradução Os grafos também possuem muitas aplicações em probabilidade, teoria dos jogos e matemática financeira. Os diferentes componentes de circuitos elétricos e chips de computadores formam redes (grafos).

Redes Sociais Um bom exemplo de grafos presente na vida de quase todas as pessoas. Aqui, os vértices representam pessoas e as arestas representam relacionamentos, likes, seguidores, etc. Quando começamos a desenhar grafos de redes sociais, vemos claramente determinados grupos de amigos mútuos, os quais podem ter frequentado a mesma escola ou moram na mesma cidade. Podemos definir também a centralidade das pessoas, que pode ser uma medida de popularidade da pessoa na rede social.

Em 2014, o Facebook tinha 1.4 bilhão de usuários ativos e um total de mais de 200 bilhões de relacionamentos. Metade dos usuários do Facebook tinham mais de 200 amigos, e como a maioria dos amigos tem um número similar de amigos, é fácil perceber que temos centenas de milhares de amigos de amigos. Baseado em um estudo feito pelo Facebook em 2016, cada pessoa está, em média, conectado com todas as pessoas no Facebook através de no máximo 3.57 outras pessoas, ou seja, há 3.57 graus de separação. Em outras palavras, se você selecionar um dos bilhões de usuários do Facebook em todo o mundo, ele terá um amigo de um amigo que conhece um amigo de um de seus amigos.

Visualização geográfica de todos os relacionamentos no Facebook em 2010.

Em 1929, quando o húngaro Frigyes Karinthy pela primeira vez propôs a ideia de 6 graus de separação, obviamente não havia internet nem tampouco redes sociais, mas o mundo começava a ficar mais conectado. Em 1967, Stanley Milgram conduziu o primeiro experimento, onde 296 participantes moradores do Nebraska e Kansas enviaram uma carta para uma pessoa em Boston. Eles tinham que escolher um amigo para enviar a carta que, por sua vez, escolheria um outro amigo. A cada passo, a carta se aproximava de Boston. Milgram descobriu que, em média, apenas 5.2 amigos intermediários foram necessários 5.2 graus de separação. Hoje em dia cada um de nós e parte de incontáveis grafos invisíveis que constituem nossas interações sociais, viagens, internet, ciência, e muito mais.