PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 27 de abril de 2016 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 1 / 40
Avisos Site da disciplina: http://www.decom.ufop.br/marco/ Moodle: www.decom.ufop.br/moodle Lista de e-mails: pcc173@googlegroups.com Para solicitar acesso: http://groups.google.com/group/pcc173 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 2 / 40
Conteúdo 1 Subgrafos 2 Conectividade e Caminhos 3 Alcançabilidade 4 Conexidade ou Conectividade Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 3 / 40
Avisos Semana que vem não haverá aula: Segunda: atividades de quinta; Quarta: workshop da computação. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 4 / 40
Subgrafo Definição Um grafo G s = (V s, A s ) é dito ser um subgrafo de um grafo G = (V, A) se todos os vértices e todas as arestas de G s estão em G, ou seja, se V s V e A s A Observações: Todo grafo é subgrafo de si próprio; O subgrafo G s2 de um subgrafo G s de G também é subgrafo de G; Um vértice simples de G é um subgrafo de G; Uma aresta simples de G (juntamente com suas extremidades) é um subgrafo de G. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 5 / 40
Subgrafo Encontre todos os subgrafos. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 6 / 40
Subgrafos Subgrafos Disjuntos de Arestas Dois (ou mais) subgrafos g 1 e g 2 de um grafo G são disjuntos de arestas se g 1 e g 2 não tiverem nenhuma aresta em comum. g 1 e g 2 podem ter vértices em comum? Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 7 / 40
Subgrafos Subgrafos Disjuntos de Vértices Dois (ou mais) subgrafos g 1 e g 2 de um grafo G são disjuntos de vértices se g 1 e g 2 não tiverem nenhum vértice em comum. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 8 / 40
Subgrafos Subgrafo Induzido por Vértices Contém um subconjunto dos vértices do grafo original e todas as ligações entre eles que figurarem no mesmo grafo. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 9 / 40
Subgrafos Subgrafo Induzido por Arestas Contém um subconjunto das arestas do grafo original e todos os vértices adjacentes a elas no mesmo grafo. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 10 / 40
Definições 1 2 5 a b c e 3 d 4 Passeio (aka percurso ou walk) Um passeio é uma sequência finita de vértices e arestas. Cada vértice da sequência é incidente a aresta que o precede e a aresta seguinte. Essa sequência deve acabar e iniciar em um vértice (não necessariamente os mesmos). Ex.: 1 - a - 2 - c - 3 - d - 4 - d - 3 - e - 5 ou: 1-2 - 3-4 - 3-5 O Passeio pode ser: aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-4-3-5-3-1 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 11 / 40
Definições 1 2 5 a b c e 3 d 4 Passeio (aka percurso ou walk) Um passeio é uma sequência finita de vértices e arestas. Cada vértice da sequência é incidente a aresta que o precede e a aresta seguinte. Essa sequência deve acabar e iniciar em um vértice (não necessariamente os mesmos). Ex.: 1 - a - 2 - c - 3 - d - 4 - d - 3 - e - 5 ou: 1-2 - 3-4 - 3-5 O Passeio pode ser: aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-4-3-5-3-1 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 11 / 40
Definições 1 2 5 a b c e 3 d 4 Passeio (aka percurso ou walk) Um passeio é uma sequência finita de vértices e arestas. Cada vértice da sequência é incidente a aresta que o precede e a aresta seguinte. Essa sequência deve acabar e iniciar em um vértice (não necessariamente os mesmos). Ex.: 1 - a - 2 - c - 3 - d - 4 - d - 3 - e - 5 ou: 1-2 - 3-4 - 3-5 O Passeio pode ser: aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-4-3-5-3-1 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 11 / 40
Definições 1 2 5 a b c e 3 d 4 Passeio (aka percurso ou walk) Um passeio é uma sequência finita de vértices e arestas. Cada vértice da sequência é incidente a aresta que o precede e a aresta seguinte. Essa sequência deve acabar e iniciar em um vértice (não necessariamente os mesmos). Ex.: 1 - a - 2 - c - 3 - d - 4 - d - 3 - e - 5 ou: 1-2 - 3-4 - 3-5 O Passeio pode ser: aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-4-3-5-3-1 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 11 / 40
Definições 1 2 5 a b c e 3 d 4 Passeio (aka percurso ou walk) Um passeio é uma sequência finita de vértices e arestas. Cada vértice da sequência é incidente a aresta que o precede e a aresta seguinte. Essa sequência deve acabar e iniciar em um vértice (não necessariamente os mesmos). Ex.: 1 - a - 2 - c - 3 - d - 4 - d - 3 - e - 5 ou: 1-2 - 3-4 - 3-5 O Passeio pode ser: aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-4-3-5-3-1 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 11 / 40
Definições 1 2 5 a b c e 3 d 4 Passeio (aka percurso ou walk) Um passeio é uma sequência finita de vértices e arestas. Cada vértice da sequência é incidente a aresta que o precede e a aresta seguinte. Essa sequência deve acabar e iniciar em um vértice (não necessariamente os mesmos). Ex.: 1 - a - 2 - c - 3 - d - 4 - d - 3 - e - 5 ou: 1-2 - 3-4 - 3-5 O Passeio pode ser: aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-4-3-5-3-1 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 11 / 40
Definições 1 2 5 a b c e 3 d 4 Passeio (aka percurso ou walk) Um passeio é uma sequência finita de vértices e arestas. Cada vértice da sequência é incidente a aresta que o precede e a aresta seguinte. Essa sequência deve acabar e iniciar em um vértice (não necessariamente os mesmos). Ex.: 1 - a - 2 - c - 3 - d - 4 - d - 3 - e - 5 ou: 1-2 - 3-4 - 3-5 O Passeio pode ser: aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-4-3-5-3-1 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 11 / 40
Definições 1 2 5 a b c e 3 d 4 Passeio (aka percurso ou walk) Um passeio é uma sequência finita de vértices e arestas. Cada vértice da sequência é incidente a aresta que o precede e a aresta seguinte. Essa sequência deve acabar e iniciar em um vértice (não necessariamente os mesmos). Ex.: 1 - a - 2 - c - 3 - d - 4 - d - 3 - e - 5 ou: 1-2 - 3-4 - 3-5 O Passeio pode ser: aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-4-3-5-3-1 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 11 / 40
Definições a 1 2 b 3 c d 4 Cadeia (chain) Um passeio que não repete arestas. e Ex.: 4-3 - 2-1 - 3-5 5 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 12 / 40
Definições a 1 2 b 3 c d 4 Cadeia (chain) Um passeio que não repete arestas. e Ex.: 4-3 - 2-1 - 3-5 5 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 12 / 40
Definições a 1 2 b 3 c d 4 Cadeia (chain) Um passeio que não repete arestas. e Ex.: 4-3 - 2-1 - 3-5 5 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 12 / 40
Definições a 1 2 b 3 c d 4 Cadeia (chain) Um passeio que não repete arestas. e Ex.: 4-3 - 2-1 - 3-5 5 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 12 / 40
Definições a 1 2 b 3 c d 4 Cadeia (chain) Um passeio que não repete arestas. e Ex.: 4-3 - 2-1 - 3-5 5 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 12 / 40
Definições a 1 2 b 3 c d 4 Cadeia (chain) Um passeio que não repete arestas. e Ex.: 4-3 - 2-1 - 3-5 5 Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 12 / 40
Definições 1 2 5 a b c e 3 d 4 Caminho (path) Uma cadeia sem repetição de vértices. Ex.: 1-2 - 3-5 aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-1. comprimento : o comprimento de um caminho é o número de arestas que o mesmo inclui. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 13 / 40
Definições 1 2 5 a b c e 3 d 4 Caminho (path) Uma cadeia sem repetição de vértices. Ex.: 1-2 - 3-5 aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-1. comprimento : o comprimento de um caminho é o número de arestas que o mesmo inclui. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 13 / 40
Definições 1 2 5 a b c e 3 d 4 Caminho (path) Uma cadeia sem repetição de vértices. Ex.: 1-2 - 3-5 aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-1. comprimento : o comprimento de um caminho é o número de arestas que o mesmo inclui. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 13 / 40
Definições 1 2 5 a b c e 3 d 4 Caminho (path) Uma cadeia sem repetição de vértices. Ex.: 1-2 - 3-5 aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-1. comprimento : o comprimento de um caminho é o número de arestas que o mesmo inclui. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 13 / 40
Definições 1 2 5 a b c e 3 d 4 Caminho (path) Uma cadeia sem repetição de vértices. Ex.: 1-2 - 3-5 aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-1. comprimento : o comprimento de um caminho é o número de arestas que o mesmo inclui. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 13 / 40
Definições 1 2 5 a b c e 3 d 4 Caminho (path) Uma cadeia sem repetição de vértices. Ex.: 1-2 - 3-5 aberto : quando inicia e acaba em vértices diferentes (o caso acima) fechado : quando inicia e acaba no mesmo vértice. Ex.: 1-2-3-1. comprimento : o comprimento de um caminho é o número de arestas que o mesmo inclui. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 13 / 40
Relembrando... Passeio Sequência finita de vértices e arestas. Cadeia Um passeio que não repete arestas. Caminho Uma cadeia sem repetição de vértices. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 14 / 40
Caminhos e Circuitos Teorema 1 Se um grafo possui exatamente 2 vértices de grau ímpar, existe um caminho entre esses dois vértices. Teorema 2 O número mínimo de arestas de um grafo simples com n vértices e k componentes é n k. Teorema 3 Um grafo simples com n vértices e k componentes possui no máximo (n k)(n k + 1)/2 arestas (caso trivial); Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 15 / 40
Caminhos e Circuitos Teorema 1 Se um grafo possui exatamente 2 vértices de grau ímpar, existe um caminho entre esses dois vértices. Teorema 2 O número mínimo de arestas de um grafo simples com n vértices e k componentes é n k. Teorema 3 Um grafo simples com n vértices e k componentes possui no máximo (n k)(n k + 1)/2 arestas (caso trivial); Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 15 / 40
Caminhos e Circuitos Teorema 1 Se um grafo possui exatamente 2 vértices de grau ímpar, existe um caminho entre esses dois vértices. Teorema 2 O número mínimo de arestas de um grafo simples com n vértices e k componentes é n k. Teorema 3 Um grafo simples com n vértices e k componentes possui no máximo (n k)(n k + 1)/2 arestas (caso trivial); Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 15 / 40
Ciclos Definição Um ciclo é um caminho fechado. Alguns autores, utilizam o termo circuito para o caso de grafos orientados. Grafo Ciclo: Um grafo ciclo C n é um grafo com n vértices formado por apenas um ciclo passando por todos os vértices. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 16 / 40
Ciclos Definições A cintura de um grafo é o comprimento do menor ciclo existente no mesmo. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 17 / 40
Ciclos Definições A circunferência de um grafo é o comprimento do maior ciclo existente no mesmo. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 18 / 40
Alcançabilidade Definição Um vértice w é alcançável a partir do vértice v se houver um caminho entre w e v. Definição O conjunto de vértices alcançáveis a partir de v é, portanto, formado pelos sucessores de v, os sucessores dos sucessores e assim por diante. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 19 / 40
Alcançabilidade Definição Um vértice w é alcançável a partir do vértice v se houver um caminho entre w e v. Definição O conjunto de vértices alcançáveis a partir de v é, portanto, formado pelos sucessores de v, os sucessores dos sucessores e assim por diante. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 19 / 40
Alcançabilidade Transitividade Se w é alcançável a partir de v; e se x é alcançável de w; então x é alcançável a partir de v. Transitividade Relação de Alcançabilidade é transitiva. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 20 / 40
Alcançabilidade Transitividade Se w é alcançável a partir de v; e se x é alcançável de w; então x é alcançável a partir de v. Transitividade Relação de Alcançabilidade é transitiva. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 20 / 40
Fecho Transitivo de um Vértice - Grafo Não Direcionado Definição O Fecho Transitivo de um vértice v (denotado por ˆΓ(v)) é o conjunto dos vértices de um grafo alcançáveis a partir de v. ˆΓ(1) = {2, 3, 4} ˆΓ(5) = {} Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 21 / 40
Fecho Transitivo de um Vértice - Grafo Direcionado Fecho Transitivo Direto O Fecho Transitivo Direto de um vértice v (denotado por ˆΓ + (v)) é o conjunto dos vértices de um grafo alcançáveis a partir de v. Os vértices em ˆΓ + (v) são chamados de descendentes de v. Fecho Transitivo Indireto O Fecho Transitivo Indireto de um vértice v (denotado por ˆΓ (v)) é o conjunto dos vértices de um grafo a partir dos quais v é alcançável. Os vértices em ˆΓ (v) são chamados de ascendentes de v. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 22 / 40
Fecho Transitivo Direto e Indireto ˆΓ + (1) = {2, 3, 4, 5, 7, 9, 10, 13} ˆΓ (10) = {1, 4} Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 23 / 40
Conexidade em Grafos Não Direcionados Definição Em um GND conexo, todos os vértices são alcançáveis a partir de qualquer outro. Em um GND conexo, sempre é possível fazer um passeio fechado que inclua todos os vértices. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 24 / 40
Conexidade Ponte Uma ponte de um grafo G é uma aresta cuja remoção resulta no aumento do número de componentes de G. A aresta u 1 é uma ponte. As arestas u 3 e u 4 não são. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 25 / 40
Conexidade em Grafos Direcionados Grafo Simplesmente Conexo: s-conexo O grafo subjacente não-direcionado obtido através da substituição de todas as arestas de G por arestas não direcionadas é um grafo conexo. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 26 / 40
Conexidade em Grafos Direcionados Grafo Semi-Fortemente Conexo: sf-conexo Para cada par de vértices (v 1, v 2 ), existe um caminho de v 1 para v 2 ou de v 2 para v 1. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 27 / 40
Conexidade em Grafos Direcionados Grafo Fortemente Conexo: f-conexo Para cada par de vértices (v 1, v 2 ), existe um caminho direcionado de v 1 para v 2 e de v 2 para v 1. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 28 / 40
Conexidade ou Conectividade Exemplo Conceito aplicado a Grafos Não Direcionados; Indica o quanto um grafo é conexo. Definição A conexidade ou conectividade κ(g) de um grafo G = (V, E) é o menor número de vértices cuja remoção desconecta G ou o reduz a um único vértice. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 29 / 40
Conexidade ou Conectividade Exemplo Conceito aplicado a Grafos Não Direcionados; Indica o quanto um grafo é conexo. Definição A conexidade ou conectividade κ(g) de um grafo G = (V, E) é o menor número de vértices cuja remoção desconecta G ou o reduz a um único vértice. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 29 / 40
Conexidade ou Conectividade Exemplos de remoções de conjuntos de vértices que desconectam o grafo. Neste caso, κ(g) = 1 (figura 2). Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 30 / 40
Conexidade ou Conectividade Grafos Completos Para grafos completos com n vértices, κ(k n ) = n 1. Grafos Não Completos Para grafos não completos haverá um par (v 1, v 2 ) de vértices não adjacentes, então temos que: κ(g) n 2 G K n Limite superior para κ(g) em qualquer grafo: a δ(g) : menor grau em um GND. κ(g) δ(g) a Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 31 / 40
Conexidade ou Conectividade Grafos Completos Para grafos completos com n vértices, κ(k n ) = n 1. Grafos Não Completos Para grafos não completos haverá um par (v 1, v 2 ) de vértices não adjacentes, então temos que: κ(g) n 2 G K n Limite superior para κ(g) em qualquer grafo: a δ(g) : menor grau em um GND. κ(g) δ(g) a Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 31 / 40
Conexidade ou Conectividade Grafos Completos Para grafos completos com n vértices, κ(k n ) = n 1. Grafos Não Completos Para grafos não completos haverá um par (v 1, v 2 ) de vértices não adjacentes, então temos que: κ(g) n 2 G K n Limite superior para κ(g) em qualquer grafo: a δ(g) : menor grau em um GND. κ(g) δ(g) a Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 31 / 40
Conexidade ou Conectividade Caminhos Disjuntos Dois percursos entre os vértices v e w de um grafo são disjuntos se não houver interseção de arestas. Teorema Um grafo G = (V, E) é k-conexo se e somente se para todo para v, w V, v w existirem ao menos k percursos disjuntos. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 32 / 40
Conexidade ou Conectividade 1-Conexo 2-Conexo 3-Conexo Grafo k-conexo Para todo grafo k-conexo: κ(g) δ(g) κ(g) k Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 33 / 40
Conexidade ou Conectividade Grafo k-conexo Grafo borboleta: 2-conexo K 7 : 6-conexo, mas também é 1-conexo, 2-conexo, 3-conexo, 4-conexo, 5-conexo... k κ(g) δ(g) Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 34 / 40
Exercícios 1 Quantos caminhos existem entre os vértices b e f? b e f a c d g 2 Dê um exemplo de um grafo conexo G cuja remoção de qualquer aresta torna G desconexo. Quantas arestas possui um grafo com estas características? Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 35 / 40
Exercícios 1 Com relação ao grafo abaixo, responda: v4 v1 v3 v2 v5 v6 v7 a) O grafo é simples? b) Completo? c) Regular? d) Conexo? e) Encontre 2 caminhos entre v3 e v6. f) Encontre 1 ciclo. g) Indique 1 aresta cuja remoção tornará o grafo desconexo. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 36 / 40
Exercício Quantos grafos ciclos (não isomorfos) são subgrafos do grafo abaixo? Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 37 / 40
Exercícios 1 Qual a cintura e a circunferência do grafo abaixo? c 2 Mostre que não é possível ter um grupo de 7 pessoas no qual cada um conhece exatamente outras 3 pessoas. 3 Prove que quaisquer dois grafos conexos com n vértices, todos de grau 2, são isomorfos. Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 38 / 40
Exercícios Qual a conectividade do grafo abaixo? Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 39 / 40
Dúvidas? Marco Antonio M. Carvalho (UFOP) PCC173 27 de abril de 2016 40 / 40