Beruflich Dokumente
Kultur Dokumente
Grafos - Definio
Grafo um modelo matemtico que representa relaes entre objetos. Exemplos 1. 2. 3. Descobrir a melhor rota para um restaurante em uma cidade. Escalonamento de classes em uma universidade. Partio de um programa em estados.
Introduo
Porque estudar Grafos Importante ferramenta matemtica com aplicao em diversas reas do conhecimento
Gentica, qumica, pesquisa operacional, telecomunicaes, engenharia eltrica, redes de computadores, conexo de vos areos, restries de precedncia, fluxo de programas, dentre outros
Porque estudar Grafos Em computao: estudar grafos mais uma forma de solucionar problemas computveis Os estudos tericos em grafos, buscam o desenvolvimento de algoritmos mais eficientes.
O que so Grafos
Diagrama - Corresponde a soma de pontos e linhas, onde os pontos apresentam alguma informao e as linhas indicam o relacionamento entre dois pontos quaisquer Ferramenta de modelagem Abstrao matemtica que representa situaes reais atravs de um diagrama.
5
Um grafo G(V,E) um conjunto finito no-vazio V (vrtices) e um conjunto E (arestas) de pares no-ordenados de elementos distintos de V. Cada aresta e E ser denotada pelo par de vrtices e = (v,w) que a forma. Os vrtices v,w so os extremos (ou extremidades) da aresta e, sendo denominados adjacentes Um grafo G(V,E) trivial quando |V| = 1.
G = (V,E)
Grafos - Definio
Um grafo pode representar, por exemplo, um conjunto de cidades e as ligaes areas entre elas.
Man Rec
Grafos - Variaes
Arestas direcionadas, ou mltiplas. Alguns vrtices podem ser isolados.
Man Rec
Grafos - Variaes
Arestas (ou vrtices) com pesos.
Man 450 480 BSB 380 470 395 240 Rio 430 Rec
255 SAO
10
1 2 3 4 5 6
5 1 4 6
11
Rec
Rio
12
Rec 450
430
255 SAO
13
14
Caminho simples : 2, 1, 4, 6 Caminho fechado (simples) ou Ciclo: 3, 6, 1, 3 Em grafos no direcionados, um ciclo tem pelo menos 3 arestas.
4 6
15
Um caminho de k vrtices formado por (k 1) arestas (v1,v2),(v2,v3),...,(vk-1,vk). O valor (k 1) o comprimento do caminho . A distncia d(v,w) entre dois vrtices v,w o comprimento do menor caminho entre v e w. Em um grafo G(V,E), define-se grau de um vrtice v V, denotado por grau(v), como o nmero de vrtices adjacentes a v.
16
Grau de um vrtice
Grau de um vrtice v (grau(v)) o nmero de arestas que incidem em v. O grau de um vrtice v tambm pode ser definido como o nmero de arestas adjacentes a v.
Obs.: Um lao conta duas vezes para o grau de um vrtice Grau(b) = 3 Grau(d) = 2 Grau(a) = 2
17
Subgrafo
Um grafo Gs(Vs, As) dito ser subgrafo de um grafo G(V,A) quando Vs V e As A. O grafo G2, por exemplo, subgrafo de G1
G1
G2
18
Subgrafo Prprio
Um subgrafo G2 dito prprio, quando G2 subgrafo distinto de G1
19
Subgrafo Induzido
Se G2 um subgrafo de G1 e possui toda a aresta (v, w) de G1 tal que ambos, v e w, estejam em V2, ento G2 o subgrafo induzido pelo subconjunto de 3 vrtices 2 3 V2. 2 G1
4
1
G2
5 4
V1= {1,2,3,4,5}
V2= {1,2,3,4}
20
V2 induz G2
Grafos Conexos
Grafos Conexos so grafos onde existe um caminho de um vrtice para qualquer outro. Seja S um conjunto e S S. Diz-se que S maximal em relao a uma certa propriedade P, quando S satisfaz P e no existe subconjunto S S, que tambm satisfaz P. Componentes conexos so subgrafos conexos maximais.
21
Conectividade
Grafo Conexo
G1 G2
22
Grafo desconexo
Um grafo G(V,A) dito ser desconexo quando ele no conexo
23
Componente conexa
Um grafo G(V,A) desconexo formado por pelo menos dois subgrafos conexos, disjuntos em relao aos vrtices Cada um destes subgrafos conexos dito ser uma componente conexa de G.
24
rvores
rvores so grafos conexos e acclicos, isto , sem ciclos. rvores so grafos (simples) conexos com n-1 arestas. rvores so grafos conexos minimais.
25
Busca em Grafos
OBJETIVO: Visitar todos os vrtices de forma sistemtica. Se o grafo uma rvore, a tarefa simples:
Busca em pr-ordem Busca em ps-ordem Busca em em ordem (rvores binrias) Busca por nvel
26
27
28
29
30
Busca em Profundidade
Por exemplo, temos a rvore rotulada onde os rtulos correspondem ordem em que os vrtices foram visitados pela busca em profundidade
1
2 3 7 5 6 9
11
12
10 31
Busca em Profundidade
Funo principal
Inicialize pilha Q como vazia; Desmarque todos os vrtices e arestas; Tome um vrtice v qualquer; Inclua v em Q; Profundidade(v); Remova v de Q.
32
Controle para
Busca em Profundidade
A busca em profundidade biparticiona o conjunto de arestas em:
1 6 1 3 4 2 7 5 6 4
- Arestas de rvore
- Arestas de Retorno
34
Busca em Largura
Cria um centro no vrtice inicial e forma nveis ou camadas a partir deste n.
1 6 1 3 4 2 2 7 3 7 5 6 4 5
35
Busca em Largura
Utilizando o exemplo anteriormente visto, temos a rvore rotulada onde os rtulos correspondem ordem em que os vrtices foram visitados pela busca em largura
1
2 4 5 10 11 36 6 7
12
/* aresta de rvore */
Busca em Largura
A busca em largura biparticiona as arestas do grafo em arestas de rvore e arestas de cruzamento.
1 6 1 3 4 2 7 5 6 4 5
38