Percursos em um grafo
Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira e da última) Percurso fechado: a última aresta da sucessão é adjacente a primeira; Percurso aberto: caso contrário
Notação A sucessão é indicada por: Vértices Arestas Vértices e arestas alternados
Exemplo G a c e b d
Comprimento de um percurso Número de arestas por ele utilizado (incluindo repetições) O que é o comprimento de um percurso em um grafo valorado?
Tipos de percurso Simples: não repete arestas Elementar: não repete vértices nem arestas (caminho) Ciclo: percurso simples e fechado Ciclo elementar: só há repetição do último vértice Uma corda é uma aresta que une dois vértices não consecutivos de um ciclo
Percurso abrangente Um percurso é abrangente a um dos conjuntos do grafo quando utiliza todos os elementos desse conjunto ao menos uma vez Euleriano Hamiltoniano
Exercícios Indique percursos simples e não simples em G 1 Indique percursos elementares em G 2 Todo percurso elementar é simples. Todo percurso simples é elementar? Explique. Indique um ciclo em G 1 e um ciclo elementar em G 2 Indique um caminho de comprimento 4 em G 2 e um percurso de comprimento 6 em G 2 G 1 a d a b c b c G d e 2 e
Conexidade
Grafo Conexo u e v são ditos conectados se existir um caminho entre u e v em G.
Grafo Conexo u e v são ditos conectados se existir um caminho entre u e v em G Notação: caminho-(u,v) G é dito conexo se existir caminho entre quaisquer dois vértices de G
Grafo Conexo u e v são ditos conectados se existir um caminho entre u e v em G Notação: caminho-(u,v) G é dito conexo se existir caminho entre quaisquer dois vértices de G Relação de Equivalência definida pela conexão entre os vértices
Reflexiva Equivalência
Equivalência Caminho-(u, u)
Caminho-(u, u) Simétrica Equivalência
Equivalência Caminho-(u, u) Se existe caminho-(u,v) então existe caminho-(v,u)
Equivalência Caminho-(u, u) Se existe caminho-(u,v) então existe caminho-(v,u) Transitiva
Equivalência Caminho-(u, u) Se existe caminho-(u,v) então existe caminho-(v,u) Se existem os caminhos-(u,v) e (v,w) então existe caminho-(u,w)
Componentes Conexas
Componentes Conexas É possível particionar G em classes de equivalência: V1, V2,..., Vp tal que dois vértices são conectados se e somente se pertence a um mesmo Vi
Componentes Conexas É possível particionar G em classes de equivalência: V1, V2,..., Vp tal que dois vértices são conectados se e somente se pertence a um mesmo Vi Os subgrafos G(V1),..., G(Vp) são chamados de componentes conexas de G.
Maximalidade (Minimalidade) Seja S um conjunto e S' S. Diz-se que S' é maximal em relação a uma certa propriedade π quando S' satisfaz a propriedade π e não existe subconjunto S'' S e S' S'' que também satisfaz π. Isto é, S' não está contido propriamente em nenhum subconjunto de S que satisfaz π.
Maximal (Minimal) G G é maximal em relação a uma propriedade π se não houver G G tal que G tem a propriedade π. Componentes conexas: são todos os subgrafos conexos maximais de G.
Exemplo G
Exemplo G G é Conexo
Exemplo G H G é Conexo
Exemplo G H G é Conexo H é desconexo
Exemplo G H G é Conexo H é desconexo
Exemplo G H G é Conexo H é desconexo
Exemplo G H G é Conexo H é desconexo
Exemplo G H G é Conexo H é desconexo
Exemplo G H G é Conexo H é desconexo ω(g)= número de componentes conexas de G
Decomposição por Conexidade Conex (s 0 V) entrada: G = (V,E) 1. v s 0 ; 2. R(v) {v}; 3. Y ; 4. enquanto Γ (R(v)) R(v) faça 5. Y Γ (R(v)) R(v); 6. R(v) R(v) U Y; 7. fim-enquanto 8. Y R(v); 9. V V Y; 10. se V então 11. Conex (s V) 12. fim-se-então saída: componentes conexos de G
Exemplo G a v a Y, {b,c}, {d} R(v) {a}, {a,b,c},{a,b,c,d} b c d e f h i j g
Decomposição por Conexidade Adaptação para grafos não orientados do Algoritmo de Malgrange Se baseia na determinação de vizinhanças dos vértices Complexidade: O(n 2 ) Outros algoritmos disponíveis (Trémaux, Tarjan, Gondran e Minoux, Szwarcfiter)
Exercício Aplique a adaptação do algoritmo de Malgrange no grafo G abaixo e indique o resultado. G a d b c e f g h i j
Teorema Um grafo G é desconexo sss V pode ser particionado em dois subconjuntos V1 e V2 de maneira que não existe aresta em G com um dos vértices extremos em V1 e o outro em V2
Teorema Se um grafo (conexo ou desconexo) tem exatamente dois vértices de grau ímpar, então existe um caminho que liga esses dois vértices
Teorema Um grafo G é bipartido se e somente se não contém ciclo ímpar
( ) v u
( ) P v u
( ) P w v u
( ) w P Q v u
( ) w P Q v u u 1
( ) w P P Q v u u 1 1
( ) w P P Q u u v Q 1 1 Teoria dos 1 Grafos
( ) w P Q v u u 1
( ) w P Q v u u 1
Teorema Um grafo simples G com n vértices e k componentes conexas pode ter no máximo (n-k)(n-k+1)/2 arestas
Prova Idéia: k = 1: (n-1)(n-1+1)/2 (n-1)n/2 k = 2: (n-2)(n-2+1)/2 (n-2)(n-1)/2...
Prova Idéia: n1 + n2 +... + nk = n e ni 1, 1 i k Desigualdade algébrica utilizada: Σi=1,k ni 2 n 2 (k-1)(2n-k)