A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Grafos – Parte 1 Projeto e Análise de Algoritmos Aline Vasconcelos"— Transcrição da apresentação:

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

2 2 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? Existe um caminho para ir de um objeto a outro? Quantos outros objetos podem ser alcançados a partir de um determinado objeto? 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? Qual é a menor distância entre um determinado objeto e outro objeto?

3 3 Web Modelada como Grafo Grafos 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.

4 4 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.

5 5 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.

6 6 Grafo: Definições Iniciais Grafo Grafo: conjunto de vértices (ou nós) e conjunto de arestas (ou arcos) conectando pares de vértices. DirecionadosNão Direcionados Podem ser Direcionados ou Não Direcionados. Grafo Direcionado 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. Grafo Não Direcionado 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) Nó (ou vértice):é um objeto simples que pode ter um nome e outros atributos.

7 7 Exemplo: (A) (B) 5 4

8 8 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.

9 9 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.

10 10 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.

11 11 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 (v 0, v 1, v 2,..., v k ) tal que x= v 0, y= v k e (v i-1, v i ) 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 v 0, v 1, v 2,..., v k, contém as arestas (v 0,v 1 ), (v 1, v 2 ),..., (v k-1,..., v k ). 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.

12 12 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 (v 0, v 1, v 2,..., v k ) forma um ciclo se v 0 = v k e o caminho contém pelo menos uma aresta. O ciclo é simples se os vértices v 1, v 2,..., v k 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.

13 13 Conceitos Básicos Dois caminhos (v 0, v 1, v 2,..., v k ) 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).

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


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

Apresentações semelhantes


Anúncios Google