• Nenhum resultado encontrado

Grafos Prof. Tiago Eugenio de Melo

N/A
N/A
Protected

Academic year: 2022

Share "Grafos Prof. Tiago Eugenio de Melo"

Copied!
104
0
0

Texto

(1)

Algoritmos e Estruturas de Dados II

Grafos

Prof. Tiago Eugenio de Melo [email protected]

www.tiagodemelo.info

(2)

2/104

Observações

As palavras com a fonte Courier indicam as palavras-reservadas da linguagem de

programação.

(3)

Referências

Projetos de Algoritmos – com

implementações em Pascal e C. Nivio Ziviani.

2a edição. Thomson, 2005.

Material baseado nas notas de aula do

professor Marco Antônio Moreira de Carvalho.

Acessado em 01/10/2019:

http://www.decom.ufop.br/marco/ensino/bcc204/material-das-aulas

(4)

4/104

REVISÃO

(5)

Revisão

(6)

6/104

Revisão

Passeio

(7)

Revisão

Passeio

Sequência finita de vértices e arestas.

(8)

8/104

Revisão

Passeio

Sequência finita de vértices e arestas.

Cadeia

(9)

Revisão

Passeio

Sequência finita de vértices e arestas.

Cadeia

Passeio que não repete arestas.

(10)

10/104

Revisão

Passeio

Sequência finita de vértices e arestas.

Cadeia

Passeio que não repete arestas.

Caminho

(11)

Revisão

Passeio

Sequência finita de vértices e arestas.

Cadeia

Passeio que não repete arestas.

Caminho

Uma cadeia sem repetição de vértices.

(12)

12/104

GRAFOS

(13)

Alcançabilidade

(14)

14/104

Alcançabilidade

Um vértice w é alcançável a partir do vértice v se houver um caminho entre w e v.

(15)

Alcançabilidade

Um vértice w é alcançável a partir do vértice v se houver um caminho entre w e v.

Um conjunto de vértices alcançáveis a partir de v é, portanto, formado pelos sucessores de v, os sucessores dos sucessores e assim por

diante.

(16)

16/104

Alcançabilidade

(17)

Alcançabilidade

Transitividade

(18)

18/104

Alcançabilidade

Transitividade

Se w é alcançável a partir de v;

(19)

Alcançabilidade

Transitividade

Se w é alcançável a partir de v;

e se x é alcançável de w;

(20)

20/104

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.

(21)

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

(22)

22/104

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

A relação de alcançabilidade é transitiva.

(23)

Fecho Transitivo de um Vértice –

Grafo Não Direcionado

(24)

24/104

Fecho Transitivo de um Vértice – Grafo Não Direcionado

O Fecho Transitivo de um vértice v, denotado por FT(v), é o conjunto dos vértices do grafo alcançáveis a partir de v.

(25)

Fecho Transitivo de um Vértice – Grafo Não Direcionado

O Fecho Transitivo de um vértice v, denotado por FT(v), é o conjunto dos vértices do grafo alcançáveis a partir de v.

(26)

26/104

Fecho Transitivo de um Vértice – Grafo Não Direcionado

O Fecho Transitivo de um vértice v, denotado por FT(v), é o conjunto dos vértices do grafo alcançáveis a partir de v.

FT(1) = {2, 3, 4}

(27)

Fecho Transitivo de um Vértice – Grafo Não Direcionado

O Fecho Transitivo de um vértice v, denotado por FT(v), é o conjunto dos vértices do grafo alcançáveis a partir de v.

FT(1) = {2, 3, 4}

FT(5) = {}

(28)

28/104

Fecho Transitivo de um Vértice –

Grafo Direcionado

(29)

Fecho Transitivo de um Vértice – Grafo Direcionado

O Fecho Transitivo Direto de um vértice v,

denotado por FTD(v), é o conjunto de vértices de um grafo alcançáveis a partir de v.

(30)

30/104

Fecho Transitivo de um Vértice – Grafo Direcionado

O Fecho Transitivo Direto de um vértice v,

denotado por FTD(v), é o conjunto de vértices de um grafo alcançáveis a partir de v.

Os vértices em FTD(v) são chamados de descendentes ou sucessores de v.

(31)

Fecho Transitivo de um Vértice – Grafo Direcionado

O Fecho Transitivo Direto de um vértice v,

denotado por FTD(v), é o conjunto de vértices de um grafo alcançáveis a partir de v.

Os vértices em FTD(v) são chamados de descendentes ou sucessores de v.

O Fecho Transitivo Indireto de um vértice v, denotado por FTI(v), é o conjunto de vértices de um grafo a partir dos quais v é alcançável.

(32)

32/104

Fecho Transitivo de um Vértice – Grafo Direcionado

O Fecho Transitivo Direto de um vértice v,

denotado por FTD(v), é o conjunto de vértices de um grafo alcançáveis a partir de v.

Os vértices em FTD(v) são chamados de descendentes ou sucessores de v.

O Fecho Transitivo Indireto de um vértice v, denotado por FTI(v), é o conjunto de vértices de um grafo a partir dos quais v é alcançável.

Os vértices em FTI(v) são chamados ascendentes ou antecessores de v.

(33)

Fecho Transitivo Direto e Indireto

(34)

34/104

Fecho Transitivo Direto e Indireto

(35)

Fecho Transitivo Direto e Indireto

(36)

36/104

Fecho Transitivo Direto e Indireto

FTD(1) = {2, 3, 4, 5, 7, 9, 10, 13}

(37)

Fecho Transitivo Direto e Indireto

(38)

38/104

Conectividade (Conexidade) em

Grafos Não Direcionados

(39)

Conectividade (Conexidade) em Grafos Não Direcionados

Em um GND conexo, todos os vértices são alcançáveis a partir de qualquer outro.

(40)

40/104

Conectividade (Conexidade) em Grafos Não Direcionados

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.

(41)

Conectividade (Conexidade) em Grafos Não Direcionados

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.

(42)

42/104

Conectividade em Grafos

Direcionados

(43)

Conectividade em Grafos Direcionados

Se G é um grafo direcionado, então ele é

considerado conexo quando o seu grafo não direcionado subjacente é conexo.

(44)

44/104

Conectividade em Grafos Direcionados

Se G é um grafo direcionado, então ele é

considerado conexo quando o seu grafo não direcionado subjacente é conexo.

O grafo não direcionado subjacente é o grafo resultante quando a orientação dos arcos de G é ignorada.

(45)

Conectividade em Grafos Direcionados

Se G é um grafo direcionado, então ele é

considerado conexo quando o seu grafo não direcionado subjacente é conexo.

O grafo não direcionado subjacente é o grafo resultante quando a orientação dos arcos de G é ignorada.

(46)

46/104

Conectividade em Grafos Direcionados

Se G é um grafo direcionado, então ele é

considerado conexo quando o seu grafo não direcionado subjacente é conexo.

O grafo não direcionado subjacente é o grafo resultante quando a orientação dos arcos de G é ignorada.

Grafo Direcionado

(47)

Conectividade em Grafos Direcionados

Se G é um grafo direcionado, então ele é

considerado conexo quando o seu grafo não direcionado subjacente é conexo.

O grafo não direcionado subjacente é o grafo resultante quando a orientação dos arcos de G é ignorada.

(48)

48/104

Subgrafos Maximais

(49)

Subgrafos Maximais

Subgrafo

(50)

50/104

Subgrafos Maximais

Subgrafo

Um grafo Gs = (Vs, As) é considerado um subgrafo de um grafo G = (V, A) se todos os vértices e todas as arestas de Gs estão em G, ou seja, se Vs V e As A.

(51)

Subgrafos Maximais

Subgrafo

Um grafo Gs = (Vs, As) é considerado um subgrafo de um grafo G = (V, A) se todos os vértices e todas as arestas de Gs estão em G, ou seja, se Vs V e As A.

Propriedades:

(52)

52/104

Subgrafos Maximais

Subgrafo

Um grafo Gs = (Vs, As) é considerado um subgrafo de um grafo G = (V, A) se todos os vértices e todas as arestas de Gs estão em G, ou seja, se Vs V e As A.

Propriedades:

Todo grafo é subgrafo de si próprio.

(53)

Subgrafos Maximais

Subgrafo

Um grafo Gs = (Vs, As) é considerado um subgrafo de um grafo G = (V, A) se todos os vértices e todas as arestas de Gs estão em G, ou seja, se Vs V e As A.

Propriedades:

Todo grafo é subgrafo de si próprio.

O subgrafo Gs2 de um subgrafo Gs de G também é

(54)

54/104

Subgrafos Maximais

Subgrafo Maximal

Um subgrafo Gs de G é dito maximal em relação a uma propriedade P se não for subgrafo de nenhum outro subgrafo de G que também possua a

propriedade P.

O conceito de maximalidade é relacionado a uma condição de pertinência.

(55)

Conectividade

(56)

56/104

Conectividade

Componentes conexos

(57)

Conectividade

Componentes conexos

Um componente conexo de um grafo G é um subgrafo conexo maximal de G.

(58)

58/104

Conectividade

Componentes conexos

Um componente conexo de um grafo G é um subgrafo conexo maximal de G.

O número de componentes conexos em G é denotado por c.

(59)

Conectividade

Componentes conexos

Um componente conexo de um grafo G é um subgrafo conexo maximal de G.

O número de componentes conexos em G é denotado por c.

Grafos conexos possuem apenas um componente conexo.

(60)

60/104

Conectividade

Componentes conexos

Grafo Desconexo Componentes Conexos Subgrafos não maximais

(61)

Conectividade em Grafos

Direcionados

(62)

62/104

Conectividade em Grafos Direcionados

Grafo Simplesmente Conexo: s-conexo

(63)

Conectividade 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.

(64)

64/104

Conectividade 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.

(65)

Conectividade em Grafos

Direcionados

(66)

66/104

Conectividade em Grafos Direcionados

Grafo Semi-Fortemente Conexo: sf-conexo

(67)

Conectividade em Grafos Direcionados

Grafo Semi-Fortemente Conexo: sf-conexo

Para cada par de vértices (v1, v2), existe um caminho de v1 para v2 ou de v2 para v1.

(68)

68/104

Conectividade em Grafos Direcionados

Grafo Semi-Fortemente Conexo: sf-conexo

Para cada par de vértices (v1, v2), existe um caminho de v1 para v2 ou de v2 para v1.

(69)

Conectividade em Grafos

Direcionados

(70)

70/104

Conectividade em Grafos Direcionados

Grafo Fortemente Conexo: f-conexo

(71)

Conectividade em Grafos Direcionados

Grafo Fortemente Conexo: f-conexo

Para cada par de vértices (v1, v2), existe um

caminho direcionado de v1 para v2 e de v2 para v1.

(72)

72/104

Conectividade em Grafos Direcionados

Grafo Fortemente Conexo: f-conexo

Para cada par de vértices (v1, v2), existe um

caminho direcionado de v1 para v2 e de v2 para v1.

(73)

Conectividade em Grafos

Direcionados

(74)

74/104

Conectividade em Grafos Direcionados

Componentes Fortemente Conexos

(75)

Conectividade em Grafos Direcionados

Componentes Fortemente Conexos

Em um grafo direcionado, componentes fortemente conexos são subgrafos maximais f-conexos.

(76)

76/104

Conectividade em Grafos Direcionados

Componentes Fortemente Conexos

Em um grafo direcionado, componentes fortemente conexos são subgrafos maximais f-conexos.

(77)

Conectividade em Vértices

(78)

78/104

Conectividade em Vértices

Definição

(79)

Conectividade em Vértices

Definição

A conexidade ou conectividade em vértices k(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.

(80)

80/104

Conectividade em Vértices

(81)

Conectividade em Vértices

Exemplos de remoções de conjuntos de vértices que desconectam o grafo.

(82)

82/104

Conectividade em Vértices

Exemplos de remoções de conjuntos de vértices que desconectam o grafo.

(83)

Conectividade em Vértices

Exemplos de remoções de conjuntos de vértices que desconectam o grafo.

(84)

84/104

Conectividade em Vértices

Exemplos de remoções de conjuntos de vértices que desconectam o grafo.

(85)

k-Conectividade

(86)

87/104

k-Conectividade

Definição

(87)

k-Conectividade

Definição

Um grafo G = (V,A) é k-conexo se e somente se para todo v, w ϵ V, v w existirem ao menos k caminhos disjuntos.

(88)

89/104

k-Conectividade

Definição

Um grafo G = (V,A) é k-conexo se e somente se para todo v, w ϵ V, v w existirem ao menos k caminhos disjuntos.

Caminhos Disjuntos

(89)

k-Conectividade

Definição

Um grafo G = (V,A) é k-conexo se e somente se para todo v, w ϵ V, v w existirem ao menos k caminhos disjuntos.

Caminhos Disjuntos

Dois caminhos entre os vértices v e w de um grafo são disjuntos se não possuírem arestas em

comum.

(90)

91/104

k-Conectividade

Definição

Um grafo G = (V,A) é k-conexo se e somente se para todo v, w ϵ V, v w existirem ao menos k caminhos disjuntos.

Caminhos Disjuntos

Dois caminhos entre os vértices v e w de um grafo são disjuntos se não possuírem arestas em

comum.

(91)

k-Conectividade

Exemplos

Grafo borboleta: 2-conexo

K7: 6-conexo, mas também é

(92)

94/104

Articulação

(93)

Articulação

Aresta de articulação (ou ponte)

Uma aresta de articulação de um grafo G é uma aresta cuja remoção resulta na desconexão de G.

(94)

96/104

Articulação

Aresta de articulação (ou ponte)

Uma aresta de articulação de um grafo G é uma aresta cuja remoção resulta na desconexão de G.

(95)

Articulação

Aresta de articulação (ou ponte)

Uma aresta de articulação de um grafo G é uma aresta cuja remoção resulta na desconexão de G.

(96)

98/104

Articulação

Aresta de articulação (ou ponte)

Uma aresta de articulação de um grafo G é uma aresta cuja remoção resulta na desconexão de G.

A aresta u1 é de articulação. As arestas u2 e u3 não são.

(97)

Articulação

(98)

100/104

Articulação

Vértice de Articulação

(99)

Articulação

Vértice de Articulação

Um vértice de articulação de um grafo G é um

vértice cuja remoção resulta na desconexão de G.

(100)

102/104

Articulação

Vértice de Articulação

Um vértice de articulação de um grafo G é um

vértice cuja remoção resulta na desconexão de G.

(101)

Articulação

Vértice de Articulação

Um vértice de articulação de um grafo G é um

vértice cuja remoção resulta na desconexão de G.

(102)

104/104

Articulação

Vértice de Articulação

Um vértice de articulação de um grafo G é um

vértice cuja remoção resulta na desconexão de G.

O vértice 4 é de articulação. O vértice 2 não é de articulação.

(103)

EXERCÍCIOS

(104)

106/104

Exercícios

Qual é a conectividade dos vértices do grafo abaixo?

Referências

Documentos relacionados

Se a luz de advertência não acender inicial- mente quando a chave for girada para “ON”, ou se a luz de advertência permane- cer acesa, solicite a um concessionário Yamaha

O comparativo da participação dos veículos em acidentes de trânsito consiste na diferença percentual entre os anos de 2011 e 2010. Destaca-se a participação da

● Também conhecido como Bubble Sort. 10

Escreva uma query para mostrar o nome do empregado e data de contratação para todos os empregados do departamento do Blake. Crie uma query para mostrar o número e nome dos

Entretando, para assegurar a sustentabilidade da bacia outras ações reguladores podem ser desenvolvidas como: realizar os estudos aqui feitos com outros níveis

Quase todos estão de acordo quando afirmam que o trabalho com informação não é exclusivo de uma área profissional, e com a idéia de uma crescente integração de

• “A  idéia  era  construir  um  computador  para  realizar  vários  tipos  de  cálculos  de  artilharia  para  ajudar  as  tropas  aliadas  durante  a  II 

--- Continuou no uso da palavra o senhor Presidente da Câmara Municipal, José Gabriel Paixão Calixto, para informar os membros do executivo municipal que esteve presente na