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

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

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

Apresentações semelhantes


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

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

2 Conceitos Básicos Grafos Conectados:
Um grafo não direcionado é conectado se cada par de vértices está conectado por um caminho. Os componentes conectados são conjuntos de vértices sob a relação “é alcançável a partir de”, ou seja, são porções conectadas de um grafo. Por exemplo, o grafo na figura B, tem 3 componentes, a saber: {0, 1, 2}, {4, 5} e {3}. Em outras palavras, um grafo não direcionado é conectado se ele tem exatamente um componente conectado, i.e., cada vértice é alcançável a partir de qualquer outro vértice.

3 Conceitos Básicos Grafos Fortemente Conectados:
Um grafo direcionado G=(V, A) é fortemente conectado se cada dois vértices quaisquer são alcançáveis a partir um do outro. Os componentes fortemente conectados de um grafo direcionado são as classes de equivalência de vértices sob a relação “são mutuamente alcançáveis”. Por exemplo, o grafo na figura A, tem 3 componentes fortemente conectados, a saber: {0, 1, 2, 3}, {4} e {5}. Todos os pares em {0, 1, 2, 3} são mutuamente alcançáveis. Por outro lado, os vértices 4 e 5 não formam um componente fortemente conectado porque o vértice 5 não é alcançável a partir do vértice 4. Assim, um grafo direcionado fortemente conectado tem apenas 1 componente fortemente conectado.

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

5 Conceitos Básicos Grafos Isomorfos:
Dois grafos G=(V, A) e G’=(V’, A’) são isomorfos se existir uma bijeção ƒ : V  V’ tal que (u, v)  A se e somente se (ƒ(u), ƒ(v))  A’. Em outras palavras, deve ser possível re-rotular os vértices de G para serem rótulos de G’, mantendo as arestas correspondentes em G e G’. O exemplo da Figura C mostra 2 grafos isomorfos G e G’ com seus conjuntos de vértices V = {0, 1, 2, 3, 4, 5, 6, 7} e V’= {s, t, u, v, w, x, y, z} respectivamente.

6 Grafos Isomorfos (C) t 1 s w x 4 5 y u v z 6 7 3 2

7 Conceitos Básicos Subgrafo:
Um grafo G’ = (V’, A’) é um subgrafo de G = (V, A) se V’  V e A’  A. Dado um conjunto V’  V, o subgrafo induzido por V’ é o grafo G’ = (V’, A’), em que A’ = {(u, v)  A | u, v  V’}

8 Conceitos Básicos Na transformação de um grafo não direcionado em sua versão direcionada, cada aresta não direcionada é substituída por duas arestas direcionadas. Um grafo completo é um grafo não direcionado no qual todos os pares de vértices são adjacentes, ou seja, possui arestas ligando todos os vértices entre si. Uma árvore livre (Figura D) é um grafo não direcionado acíclico e conectado. É comum omitir-se o adjetivo “livre” quando dizemos que o grafo é uma árvore.

9 Conceitos Básicos Uma floresta é um grafo não direcionado acíclico, podendo ou não ser conectado (Figura E). (D) (E)

10 Algoritmos em Grafos Busca em Profundidade (depth-first search):
É um algoritmo para caminhar no grafo . A estratégia seguida pelo algoritmo é a de buscar o mais profundo no grafo sempre que possível. Na busca em profundidade, as arestas são exploradas a partir do vértice v mais recentemente descoberto que ainda possui arestas não exploradas saindo dele. Quando todas as arestas adjacentes a v tiverem sido exploradas, a busca anda para trás (i.e. backtracking ou backtrack) para explorar vértices que saem do vértice do qual v foi descoberto.

11 Algoritmos em Grafos Busca em Profundidade (depth-first search):
O processo continua até que sejam descobertos todos os vértices que são alcançáveis a partir do vértice original. O algoritmo é a base para muitos outros algoritmos importantes na área de grafos, tais como: Verificação de grafos acíclicos; Componentes fortemente conectados etc.

12 Algoritmos em Grafos Busca em Largura (breadth-first search):
É assim chamada porque ela expande a fronteira entre vértices descobertos e não descobertos uniformemente por meio da largura da fronteira, como se fossem círculos concêntricos gerados por uma pedra que se deixa cair em uma superfície de água completamente parada. O algoritmo é a base para muitos algoritmos importantes em grafos, como o algoritmo de Dijkstra para obter o caminho mais curto de um vértice a todos os outros vértices.

13 Algoritmos em Grafos Busca em Largura (breadth-first search):
Dados um grafo G (V, A) e um vértice origem, o algoritmo de busca em largura descobre todos os vértices a uma distância k do vértice origem antes de descobrir qualquer vértice a uma distância k + 1. O grafo G (V, A) pode ser direcionado ou não direcionado.


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

Apresentações semelhantes


Anúncios Google