21
CC/EC/Mestrado Teoria dos Grafos UFES Representação de Grafos

UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

Embed Size (px)

Citation preview

Page 1: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Representação de Grafos

Page 2: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Representação de Grafos

• Por diagrama: mais usual e mais fácil de visualização de aspectos topológicos– Percursos em grafos, adjacências, etc.

• Percepção de propriedades pode ser facilitada ou dificultada de acordo com o aspecto visual de um grafo– Isomorfismos, planaridade

• Representação visual: não adequada para o computador– Como armazenar a estrutura de um grafo?

Page 3: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Representações mais usuais

• Lista de adjacência ou dicionário– Simples– Lista de listas de vértices– Cada lista: formada por um vértice e seus

adjacentes– Adequada na representação de grafos

esparsos– Ineficiente na busca de uma aresta no grafo

Page 4: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Lista de adjacência - exemplo

1

2 3

4

1 2 4 •

1

2 4

1 3

3 •

4 •

3 •

2

1

3

4

a

e

b c

d

b c e •

a

a b

b

c •

d •

c •

b

a

c

d

e

d •

e •

a • c •

Page 5: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Lista de adjacência

• A lista associada a um vértice pode ser vazia.

• Em grafos não orientados, pode-se evitar a repetição na representação de arestas adotando-se algum critério de ordenação.

Page 6: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Matriz de Adjacência

• Seja G = (V,E)

• A = (aij), 1 ≤ i,j ≤ n

• aij = 1, quando {i,j} E

0, caso contrário

Page 7: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Matriz de Adjacência

a

e

b c

d

0 1 1 0 1

1 0 1 1 0

1 1 0 1 1

0 1 1 0 0

1 0 1 0 0

a b c d e

a

b

c

e

d

Page 8: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Matriz de Adjacência

Diagonal principal nula:

Matriz simétrica:

Número de 1´s na matriz = (grafo simples)

Valores nulos: ausência de arestas

Valores não nulos: presença de arestas ou arcos

grafos sem laços

grafo não orientado

2m

Page 9: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Matriz de Incidência

• Seja G = (V,E)

• B = (bkl), 1 ≤ k ≤ n, 1 ≤ l ≤ m

• bkl = 1, quando o vértice k é incidente à

aresta l

0, caso contrário

Page 10: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Matriz de Incidência

a

e

b c

d

{a,b} {a,c} {a,e} {b,c} {b,d} {c,d} {c,e}

1 1 1 0 0 0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 1

0 0 0 0 1 1 0

0 0 1 0 0 0 1e

a

b

c

d

Page 11: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Matriz de Incidência• Matriz esparsa de dimensão nxm• Exige muito espaço de armazenamento• Número de 1´s na matriz = 2m• Representa exatamente um grafo• Cada linha corresponde a um vértice• Cada coluna corresponde a uma aresta• Mais utilizada para representação de

hipergrafos e programação inteira envolvendo estruturas de grafos

Page 12: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Questão

• Qual das representações computacionais de um grafo é a mais adequada?

Page 13: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

CC/EC/Mestrado Teoria dos Grafos UFES

Exercícios• Considere o grafo G e construa:

– sua lista de adjacência

– sua matriz A de adjacência

– sua matriz B de incidência

– Calcule:

• O produto A2. O que significam os números na diagonal?

• O produto B.Bt.O que significam os números na diagonal? E fora da diagonal?

• Existe relação entre a matriz de adjacência de um grafo G e a matriz de adjacência do seu grafo complementar G?

a

b c

d

Page 14: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

UFES

Percursos em um grafo

Page 15: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

UFES

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

Page 16: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

UFES

Notação

• A sucessão é indicada por:– Vértices– Arestas– Vértices e arestas alternados

Page 17: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

UFES

Exemplo

e

G

a

b

c

d

Page 18: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

UFES

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?

Page 19: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

UFES

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

Page 20: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

UFES

Percurso abrangente

• Um percurso é abrangente a um dos conjuntos do grafo quando utiliza todos os elementos desse conjunto ao menos uma vez

• Euleriano

• Hamiltoniano

Page 21: UFES CC/EC/MestradoTeoria dos Grafos Representação de Grafos

UFES

Exercícios• Indique percursos simples e não simples em G

1

• Indique percursos elementares em G2

• Todo percurso elementar é simples. Todo percurso simples é elementar? Explique.

• Indique um ciclo em G1 e um ciclo elementar em G

2

• Indique um caminho de comprimento 4 em G2 e um percurso de

comprimento 6 em G2

G2

a

b

G1

a

b c

d

e

ca b

d e 2