Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

Documentos relacionados
AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

GRAFOS Aula 03 Representações de Grafos Max Pereira

Teoria dos Grafos Aula 3

Combinando relações. Exemplo Seja A = {1, 2, 3} e B = {1, 2, 3, 4}. As relações

Matemática para Ciência de Computadores

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos Caminhos. Profª. Alessandra Martins Coelho

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

Teoria dos Grafos Aula 1 - Introdução

Grafos Orientados (digrafos)

Teoria dos Grafos. Edson Prestes

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa

Facebook. Um grafo é uma rede. Estrutura de dados fundamental em Informática, tal como listas e árvores.

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1

Estruturas de Dados Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Teoria dos Grafos. Profa. Alessandra Martins Coelho

Introdução à Teoria dos Grafos

Teoria dos Grafos Aula 6

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

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36

Capítulo 1. Aula Conectividade Caminhos

GRAFOS Conceitos Básicos (Parte 1)

Teoria dos Grafos. Edson Prestes

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

Matemática Discreta 10

Teoria dos Grafos. Motivação

Estações como pólos de desenvolvimento

Grafos tipo abstrato de dados

Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes

Prof. Marco Antonio M. Carvalho

INF 1010 Estruturas de Dados Avançadas

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Conteúdo. Histórico. Notas. Teoria dos Grafos BCC204. Notas. Notas. 1736: Euler e as Pontes de Königsberg

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47

TABELAS DE DISPERSÃO/HASH

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

O Teorema da Amizade

Teoria dos Grafos Conceitos Básicos

INF 1010 Estruturas de Dados Avançadas

Árvores: Conceitos Básicos e Árvore Geradora

Teoria dos Grafos Aula 2

INE0003 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INF1010 Lista de Exercícios 2

Matemática Discreta. Aula nº 22 Francisco Restivo

Conceito Básicos da Teoria de Grafos

Projeto e Análise de Algoritmos

Grafos - Motivação. Grafos - Motivação. Algoritmos e Estruturas de Dados II Introdução a Grafos

Grafos COM11087-Tópicos Especiais em Programação II

C 3 C 3. De acordo com o teorema de Euler, um grafo não orientado admite um ciclo de Euler se e só for conexo e não tiver vértices de grau ímpar.

Grafos - Representação

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos AULA

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

INE Fundamentos de Matemática Discreta para a Computação

Teoria dos Grafos Aula 14

Conceitos Básicos da Teoria de Grafos

IFRN. Introdução à Teoria dos Grafos. Prof. Edmilson Campos

Oalgoritmo de Dijkstra

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

Grafos: caminhos (matriz adjacência)

Circuitos Hamiltorianos

Teoria dos Grafos Aula 8

BCC204 - Teoria dos Grafos

Departamento de Engenharia de Produção UFPR 57

Grafos IFRN. Robinson Alves

Teoria dos Grafos Aula 23

Problema do Caminho Mínimo

1. Seja G = (V, A) um grafo orientado em que o conjunto dos vértices é dado por V = {a, b, c, d, e} e a lista de arestas por

Felipe Affonso Feliphe Nogueira

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

Acessibilidade e Fecho Transitivo de Grafos Dirigidos

Representações de Grafos

Algoritmos em Grafos

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação

Teoria dos Grafos Coloração. Profª. Alessandra Martins Coelho

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Teoria dos Grafos. Edson Prestes

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Pato Branco ENGENHARIA DE COMPUTAÇÃO. Prova Parcial 1 Matemática Discreta para Computação

W 8. Nas colunas "k =1 a n" executar: Nas linhas "i =1 a m" executar: Em cada linha "i" de "j=1 a n" executar: z = c ik + c kj

Otimização em Grafos

Grafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina

Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto

Teoria dos Grafos Aula 5

Considere-se a relação dos exames requeridos, na mesma época, pelos alunos de uma escola: Número do Cadeiras requeridas

Professor: Anselmo Montenegro Conteúdo (aula 7): - Noções de estruturas de dados topológicas. Instituto de Computação - UFF

Pré-Cálculo. Humberto José Bortolossi. Aula 5 27 de agosto de Departamento de Matemática Aplicada Universidade Federal Fluminense

Matemática para Ciência de Computadores

grafo nós vértices arcos arestas

1ª Ana e Eduardo. Competência Objeto de aprendizagem Habilidade

Análise e Projeto de Algoritmos

Universidade Federal de Santa Maria Centro de Ciências Naturais e Exatas Departamento de Física Laboratório de Teoria da Matéria Condensada

Transcrição:

Teoria dos Grafos Aula 5 - Estruturas de Dados para Grafos Profª. Alessandra Martins Coelho março/2013

Estrutura é o que caracteriza o próprio grafo e independe da forma como ele é representado.

A representação geométrica de um grafo é conveniente ao ser humano por ser visual. Não é adequada para fornecer a um computador dados sobre uma estrutura de grafo. Os dados relativos a um grafo precisarão sempre de uma representação numérica interna, com a qual o computador possa trabalhar.

A variedade, em termos de dimensão e de complexidade, dos problemas de grafos, tem levado à definição de diversas formas de representação que procuram, em alguns casos, atender a necessidades algébricas ou combinatórias e, em outros casos, a questões de busca ou armazenamento de caráter essencialmente algorítmico.

Um aspecto importante na estrutura de um grafo é a sua formação a partir de grafos menores, chamados de sub-grafos. As operações de acrescentar um vértice ou uma aresta, e remover um vértice ou aresta, fornecem um mecanismo para transformar qualquer grafo em outro.

É possível ir de um vértice para outro vértice?

É possível ir de um vértice para outro vértice? Sendo possível, qual o número mínimo de passos a serem dados de um vértice a qualquer outro vértice do grafo?

Enquanto essas perguntas são relativamente fáceis de responder para um grafo de pequeno porte, o mesmo não ocorre quando o número de vértices e lados aumentam de modo significativo. As matrizes e o uso de computadores podem nos auxiliar a responder estas perguntas.

Representação por matriz Uma das formas mais simples de representar um grafo no computador é usando matrizes. A representação por matrizes permite usar as ferramentas da álgebra linear para tratar grafos. Representações usuais: matriz de adjacência, matriz de incidência.

Matriz de Adjacência A matriz de adjacência de um grafo G = (V,A) contendo n vértices é uma matriz n n de bits, onde A[i, j] é 1 (ou verdadeiro) se e somente se existe um arco do vértice i para o vértice j.

Matriz de Adjacência A matriz de adjacência de um grafo G = (V,A) contendo n vértices é uma matriz n n de bits, onde A[i, j] é 1 (ou verdadeiro) se e somente se existe um arco do vértice i para o vértice j. Para grafos ponderados A[i, j] contém o rótulo ou peso associado com a aresta e, neste caso, a matriz não é de bits.

Matriz de Adjacência Se não existir uma aresta de i para j então é necessário utilizar um valor que não possa ser usado como rótulo ou peso.

Matriz de Adjacência

Matriz de Adjacência Se o grafo é simples e não orientado, não aparecem "uns" na diagonal principal e a matriz é simétrica em relação à diagonal principal.

Matriz de Adjacência grafo orientado

O Fecho transitivo do vértice é o conjunto de vértices que é possível atingir, a partir de v i, por caminho de comprimento qualquer. O cláculo do fecho transitivo de qualquer vértice efetua-se na matriz booleana do grafo onde tem lugar um processo iterativo.

Cálculo do Fecho Transitivo do vértice: Adjacente à matriz considera-se uma coluna adicional para registro. Inserir 0 na linha de vi (vi atinge vi por caminho de comprimento 0 (nível 0). Percorrer a linha de vi e registrar 1 na linha dos vértices v2 e v5 a que v1 está ligado por um arco. Ficam assinalados os vértices do nível 1.

V 1 V 2 V 5

Prosseguindo a pesquisa, exploram-se agora os vértices do nível 1 (v 2 e v 5 ) para detectar os vértices do nível 2. Na linha de v 2 verifica-se que este vértice tem ligação para v 4. Deve-se inserir 2 na linha de v 4. Na linha de v 5 verifica-se que este tem ligação para v 2.Como v 2 já tem registro (vértice de nível 1) nada é registrado.

Leitura: v 1 atinge v 4. por caminho de comprimento 2 (nível 2)

Prosseguindo a pesquisa, exploram-se agora os vértices do nível 2 (v 4 ) para detectar os vértices do nível 3. Na linha de v 4 verifica-se que este vértice tem ligação para v 3 e v 5.Deve-se inserir 3 na linha de v 3 pois v 5 já tem registro.

Leitura: v 1 atinge v 4. por caminho de comprimento 3 (nível 3)

A exploração dos vértices de nível 3 (v 3 ) é desnecessária pois na coluna do fecho transitivo já figuram todos os vértices não havendo lugar para novos registros. O fecho transitivo do vértice v 1 é {v 1, v 2, v 3, v 4, v 5 }

A exploração dos vértices de nível 3 (v 3 ) é desnecessária pois na coluna do fecho transitivo já figuram todos os vértices não havendo lugar para novos registros. O fecho transitivo do vértice v 1 é {v 1, v 2, v 3, v 4, v 5 }

Fecho Transitivo Inverso É o conjunto de vértices de que é possível atingir v i, por caminho de comprimento qualquer. O cálculo a ser feito é semelhante ao anteriormente apresentado para o fecho transitivo direto, sendo cada vértice analisado em coluna.

Fecho Transitivo Inverso

O elemento (4,6) de A 2 indica que não há nenhum caminho de comprimento 2 ligando os vértices 4 e 6 do grafo acima.

Matriz de Adjacência - Análise É muito útil para algoritmos em que necessitamos saber com rapidez se existe uma aresta ligando dois vértices. A maior desvantagem é o uso da memória.

Matriz de Incidência Seja A= [a kj ] uma matriz de dimensão m x n denominada matriz de incidência de G=(N,M). a kj = + 1, se a aresta u k, tem origem no vertice i a kj =-1, se i é o vértice destino da aresta u k a kj =0, se a aresta u k não incide no vértice i a kj =2 se há um loop no vértice i u v w x d f e c g h b a = 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 2 2 x w v u I h g f e d c b a G

Matriz de Incidência

Matriz de Incidência

A matriz de adjacência e a matriz de incidência são compostas, em sua maior parte, por zeros É possível construir uma representação mais eficiente, no que diz respeito ao uso de memória.