Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRaíssa Jacome Alterado mais de 10 anos atrás
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.