Grafos – Parte 1 Projeto e Análise de Algoritmos Aline Vasconcelos

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Grafos eulerianos 1.
Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Ford Fulkerson Teoria dos Grafos.
Teoria dos Grafos – Aula 2
Teoria dos Grafos Loana Tito Nogueira.
Fluxo em Redes Prof. Ricardo R. Santos.
Grafos – Parte 2 Projeto e Análise de Algoritmos Aline Vasconcelos
Análise de Decisão Aplicada a Gerência Empresarial – UVA Grafos - V
Grafos Introdução
Grafos Definições Preliminares
Teoria dos Grafos Um grafo é um conjunto de pontos, chamados vértices, conectados por linhas, chamadas de arestas. A Teoria dos Grafos é o ramo da matemática.
Exercícios PAA- Grafos
Exercícios PAA- Grafos
CC/EC/PPGI/UFES Teoria dos Grafos (INF 5037/INF2781) Coloração.
Pontes Seja (G) o número de componentes conexas de G. Uma ponte é uma aresta a tal que (G - a) > (G)
Percursos em um grafo 2010/1 Teoria dos Grafos (INF 5037/INF2781)
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
Grafos Grafo G = (V, E) V — conjunto de vértices
Grafos Grafo G = (V, E) V — conjunto de vértices
CONCEITOS BÁSICOS DE GRAFOS
Conexidade e Conectividade
CONCEITOS BÁSICOS DE GRAFOS
HISTÓRICO E ORIGEM DOS GRAFOS
Teoria dos Grafos – Aula 3 Árvores
Árvores.
Grafos - Definições Preliminares - Formas de Representação
Ronaldo Celso Messias Correia –
Pesquisa Operacional - Profa Úrsula L. F. Ribeiro
Árvore Geradora Mínima
Ordenação Topológica Luis Raphael Mareze Marcus Vinicius Lemos Chagas
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Algoritmos em Grafos.
Formas de representação e manipulação básica
Algoritmos em Grafos Conceitos principais Prof. André Renato
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Grafos Árvores Geradoras.
Teoria dos Grafos Caminhos e Noção de Grafos com pesos
Teoria dos Grafos Definições e Terminologia
Finding and Evaluating Community Structure in Networks
Análise de Redes Complexas – Conceitos e Propriedades Básicas
Aula de Monitoria – Mini-prova 7
Exercícios PAA- Grafos
Histórico, exemplos e problemas
Operações com grafos União Exemplo
O problema do emparelhamento máximo
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Teoria dos Grafos Introdução
Teoria dos Grafos Conectividade
Problema do menor Caminho
Conceitos básicos em grafos
ÁRVORES Def.: Um grafo é acíclico se não possui ciclos.
Teoria dos Grafos Conceitos Preliminares
Universidade Federal de Mato Grosso do Sul Departamento de Computação e Estatística Circuitos de Euler em Paralelo Universidade Federal de Mato Grosso.
Msc. Daniele Carvalho Oliveira
Katia S. Guimarães Busca em Grafos Katia S. Guimarães
Aula de Monitoria – Miniprova
Profº: Éder Jânio Francisco Gomes.  Grafos são assim chamados por poderem ser representados graficamente  Existe uma única maneira de desenhar um grafo?
Introdução a Algoritmos em Grafos.

Mestrado em Informática
Celso C. Ribeiro Caroline T. Rocha
Grafos Anjolina Grisi de Oliveira 2005
 Prof. Miguel Gabriel Prazeres de Carvalho 1. 2 Redes Sociais GPS Para o correio. Para Viajantes. Pesquisas Biológicas. Distribuição de Tarefas. Recomendações.
Grafos Prof. Miguel Gabriel Prazeres de Carvalho.
Redes Sociais e Sistemas Multiagentes
Transcrição da apresentação:

Grafos – Parte 1 Projeto e Análise de Algoritmos Aline Vasconcelos aline.vasconcelos@terra.com.br

GRAFOS: Introdução Muitas aplicações em computação necessitam considerar um conjunto de conexões entre pares de objetos. Grupos de objetos conectados representam grafos. Os relacionamentos derivados das conexões entre nós de um grafo podem ser usados para responder a questões tais como: Existe um caminho para ir de um objeto a outro? Quantos outros objetos podem ser alcançados a partir de um determinado objeto? Qual é a menor distância entre um determinado objeto e outro objeto?

Web Modelada como Grafo Exemplos de Problemas que podem ser resolvidos por meio de uma modelagem com Grafos incluem: a Web, roteiro para visitas a cidades, aplicações de candidatos a empregos etc. Exemplo da Web: Navegando pela Web, documentos contêm referências para outros documentos (hiperlinks). A Web pode ser modelada como um imenso grafo no qual objetos são documentos e as conexões são os links entre os documentos. Algoritmos para processamento de grafos constituem componentes importantes das máquinas de busca que ajudam os usuários a localizar informações relevantes na Web.

Roteiros de Turismo Modelados como Grafo Exemplo do Roteiro de Turismo de Visita às Cidades: Em um planejamento para visitar as principais cidades de uma região turística, uma pessoa pode estar interessada em saber qual é o caminho mais curto para realizar o roteiro. Neste caso, os objetos são as cidades e as conexões são as distâncias entre as cidades.

Aplicações de Candidatos a Empregos Modelados como Grafo Exemplo de Aplicações de Candidatos a Empregos: Pessoas aplicam (i.e. se candidatam) para vagas de empregos em instituições altamente seletivas. Neste caso, os nós do grafo são as pessoas e as vagas de emprego pretendidas nas instituições. As conexões são as aplicações das pessoas às vagas. Existem algoritmos em grafos para descobrir o melhor casamento (do inglês matching) entre pessoas candidatas e as vagas de emprego disponíveis.

Grafo: Definições Iniciais Grafo: conjunto de vértices (ou nós) e conjunto de arestas (ou arcos) conectando pares de vértices. Podem ser Direcionados ou Não Direcionados. Um Grafo Direcionado G é um par (V, A) em que V é um conjunto finito de nós ou vértices e A é um conjunto de arestas com uma relação binária em V. Um Grafo Não Direcionado G é um par (V, A), em que o conjunto de arestas A é constituído de pares de vértices não ordenados. As arestas (x, y) e (y, x) são consideradas como única. Nó (ou vértice):é um objeto simples que pode ter um nome e outros atributos.

Exemplo: (A) (B) 4 1 4 1 3 2 3 2 5 5

Conceitos Básicos O exemplo (A) apresenta um grafo direcionado sobre o conjunto de vértices V={0, 1, 2, 3, 4, 5} e de arestas A={(0,1), (0,3), (1,2), (1,3), (2,2), (2,3), (3,0), (5,4)}. Vértices ou nós são representados por círculos e arestas ou arcos por setas. Em grafos direcionados podem existir arestas de um vértice para ele mesmo, chamadas de self-loops. Se (x,y) é uma aresta no grafo G=(V, A), o vértice y é adjacente ao vértice x. Ex: vértice 1 é adjacente ao vértice 0 na figura (A), mas vértice 0 não é adjacente ao 1.

Conceitos Básicos Grafos não direcionados não permitem self-loops. Em grafos não direcionados, a relação de adjacência é simétrica. Ex: vértice 1 é adjacente ao vértice 0 na figura (B) e vice-versa. O grau de um vértice em um grafo não direcionado é o número de arestas que incidem nele. Exemplo: o vértice 1 na figura (B) tem grau 2. Um vértice de grau 0, tal como o vértice 3 da figura (B), é dito isolado ou não conectado.

Conceitos Básicos Em um grafo direcionado, o grau de um vértice corresponde ao número de arestas que saem do vértice (out-degree) mais o número de arestas que chegam ao vértice (in-degree). Por exemplo, o vértice 2 da figura (A) tem in- degree 2 e out-degree 2, totalizando um grau de valor 4.

Conceitos Básicos Um caminho de comprimento k de um vértice x a um vértice y em um grafo G=(V, A) é uma seqüência de vértices (v0, v1, v2, ..., vk) tal que x= v0, y= vk e (vi-1, vi)  A para i = 1, 2, ..., k. O comprimento de um caminho é o número de arestas nele. Assim, o caminho que contém os vértices v0, v1, v2, ..., vk, contém as arestas (v0,v1), (v1, v2), ..., (vk-1, ..., vk). Se existir um caminho c de um vértice x a um vértice y, então y é alcançável a partir de x via c.

Conceitos Básicos Um caminho é simples se todos os vértices do caminho são distintos. Exemplo: na figura (A), o caminho (0, 1, 2, 3) é simples e tem comprimento 3. Por outro lado, o caminho (1, 3, 0, 3) não é simples. Em um grafo direcionado, um caminho (v0, v1, v2, ..., vk) forma um ciclo se v0 = vk e o caminho contém pelo menos uma aresta. O ciclo é simples se os vértices v1, v2, ..., vk são distintos. O self-loop é um ciclo de tamanho 1. Exemplo: na figura (A), o caminho (0, 1, 2, 3, 0) forma um ciclo simples.

Conceitos Básicos Dois caminhos (v0, v1, v2, ..., vk) e (v’0, v’1, v’2, ..., v’k) formam o mesmo ciclo se existir um inteiro j tal que v’i = v(i + j) mod k para i = 0, 1, ..., k- 1. Exemplo: na figura (A), o caminho (0, 1, 3, 0) forma o mesmo ciclo que os caminhos (1, 3, 0, 1) e (3, 0, 1, 3).

Conceitos Básicos Em um grafo não direcionado, um caminho (v0, v1, v2, ..., vk) forma um ciclo se v0 = vk e o caminho contém pelo menos 3 arestas. O ciclo é simples se os vértices v1, v2, ..., vk são distintos. Por exemplo, na figura (B), o caminho (0, 1, 2, 0) é um ciclo. Um grafo sem ciclos é um grafo acíclico.