UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva...

26
UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres [email protected] Mestrado em Informática

Transcript of UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva...

Page 1: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESTeoria dos Grafos

Alguns conceitos de Teoria dos Grafos para Fluxo em Redes

Maria Claudia Silva [email protected]

Mestrado em Informática

Page 2: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESTeoria dos Grafos

Motivação

• Definições e terminologias usadas em diferentes formulações e algoritmos de fluxo em redes

Page 3: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESTeoria dos Grafos

Discutiremos...

• Definições e terminologias de Teoria dos Grafos para fluxo em redes

• Estruturas de Dados para representação de Redes

• Transformações de modelos de problemas de fluxo em redes

Page 4: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Conceitos Básicos

• O que é um grafo?G=(V, E)

V = {v1, ..., vn} E = {e1, ..., em}

vértices arestas

ek = {vi,vj}, k = 1,...,m, i,j = 1,..., n

vi e vj são ditos extremos de ek

Page 5: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

ExemploG = (V, E)

V = {a,b,c,d,e}E = {{a,b},{a,c},{b,c},{b,d},{c,d},{c,e}} = { e1, e2, e4, e5, e7, e9}

a

e

b c

d

G = (V, E)

V = {a,b,c,d,e}E = {{a,b},{a,c},{b,b},{b,c},{b,d},{c,d},{c,d},{c,d},{c,e}} = { e1, e2, e3, e4, e5, e6, e7, e8, e9}

Grafo simples

Multigrafo

e1 e2

e3

e4

e5

e6 e7e8

e9

Page 6: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Conceitos

• Uma aresta do tipo {vi,vi} é denominada laço. – A aresta e3 do exemplo anterior é um laço.

• Arestas que possuem os mesmos vértices extremos são ditas paralelas.– As arestas e6, e7 e e8 do exemplo anterior são

paralelas.• Um grafo que possui arestas paralelas é

denominado multigrafo.• Um grafo sem laços nem arestas paralelas é

denominado grafo simples.

Page 7: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Conceitos

• Os extremos de uma aresta são ditos incidentes com a aresta, e vice-versa.

u v

e

u e v são incidentes a e e é incidente a u e a v

Page 8: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Conceitos

• Dois vértices que são incidentes a uma mesma aresta são ditos adjacentes.

• Duas arestas que são incidentes a um mesmo vértice são ditas adjacentes.

u v

eu e v são adjacentes

e1 e e2 são adjacentes

ue2

e1

Page 9: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Observação

O conceito de incidência ou adjacência

é importante para a representação

da estrutura de um grafo como um diagrama

Page 10: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Conceitos

• O número de vértices de um grafo G é denotado por n = |V|. O valor n também é conhecido como ordem de G

• O número de arestas de um grafo é denotado por m = |E|

• Se n e m são finitos, o grafo é finito. Caso contrário é dito infinito.– Exemplo de grafo infinito: malhas

Page 11: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Conceitos

• O número de arestas incidentes a um vértice v é denominado grau(v) e representado por d(v).

• Grau também é conhecido como valência.

a

e

b c

d

d(a) = 3d(b) = 5d(c) = 4d(d) = 2d(e) = 2

Page 12: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Conceitos• Vértice isolado é o vértice que não possui arestas

incidentes (grau nulo)• Vértice folha ou terminal é o vértice que possui grau

1• Vizinhos de um vértice são os vértices adjacentes a

ele.

b

a

cd

e

d é um vértice folha e e é um vértice isoladob e c são vizinhos de a

Page 13: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Conceitos

• Pares de vértices (ou de arestas) não adjacentes são denominadas independentes.

• Um conjunto de vértices (ou arestas) é independente se nenhum par de seus elementos é adjacente.

Page 14: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Exemplo

a

b c

d

f

ege10

e1 e2

e3

e4e5

e6e7

e8

e9

•e1 e e5 são independentes•a e d são independentes•{b,e,g} é um conjunto independente•{e1, e5 } é um conjunto independente

Page 15: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Teorema 1:

Seja G = (V,E) um grafo simples com n vértices e m arestas. Então

∑ d(v) = 2mv Є V

u v

e

Prova:

• A aresta e é incidente aos vértices v e w• É contabilizada no cômputo do grau de v etambém de w.

Page 16: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

UFESCC/EC/Mestrado Teoria dos Grafos

Corolário 1:

O número de vértices de grau ímpar, de um grafo G, é par.

Prova:V

VI VP

∑ d(v) = ∑ d(v) + ∑ d(v) = 2mv Є V v Є VI v Є VP

par par par

Page 17: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Subgrafos Subgrafo: G' = (N', A') é um subgrafo de G = (N, A) se N' N e A'

A. Subgrafo induzido por N': G' = (N', A') é um subgrafo de G = (N,

A) induzido por N' se G' contém todos os arcos de G que ligam apenas os vértices de N'.

• Subgrafo gerador: o subgrafo G' = (N', A') de G = (N, A) é gerador se N' = N e A' A.

Page 18: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Percursos Percurso: é um subgrafo de G = (N, A) que consiste de vértices e

arcos em uma sequência i1 – a1 – i2 – a2 – i3 – a3 - … - ir-1 – ir, que satisfaz a seguinte propriedade:

k, 1 k r-1, ak = (ik, ik+1) Aou ak = (ik+1, ik) A.

Percurso direcionado: todos os arcos do percurso estão na mesma direção.

Percurso simples direcionado: étodos os arcos do percurso direcionado não se repetem, podendo haver repetição de vértices.

• Caminho: percurso simples sem repetição de vértices.

• Caminho direcionado: percurso simples direcionado sem repetição de vértices.

Page 19: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Percursos Ciclo: percurso simples e fechado (o nó inicial coincide com o final). Ciclo direcionado: ciclo orientado com todos os arcos na mesma

direção. Rede acíclica: um grafo é acíclico se não contém ciclo direcionado.

Page 20: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Conexidade Dois vértices estão conectados se existe um caminho entre eles. Um grafo é conexo se todo par de vértices é conectado. Caso contrário

é desconexo. Grafo simplesmente conexo ou s-conexo: todo par de vértices é

unido por ao menos um caminho no grafo correspondente não direcionado.

Grafo semi-fortemente conexo ou sf-conexo: em todo par de vértices do grafo, um deles é atingível a partir do outro (ou seja, entre eles existe um caminho em ao menos um dos dois sentidos possíveis)

Grafo fortemente conexo ou f-conexo: todo par de vértices é mutuamente atingível, ou seja, a todo par de vértices está associado um par de caminhos de sentidos opostos. Todo vértice é atingível a partir de um vértice dado e todo vértice atinge todo vértice dado

Page 21: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Exemplosa

d

b c

a

d

b c

a

b c

d

Page 22: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Níveis de Conexidade

s-conexo

f-conexo

sf-conexo

Page 23: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Componentes f-conexas

• Um grafo orientado qualquer pode ser particionado em componentes f-conexas maximais.

• Se um grafo orientado é f-conexo: a partição é o próprio conjunto de vértices do grafo.

Page 24: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Corte de arcos• Um corte é um conjunto de arcos que define uma partição do

conjunto de vértices [S, N-S], de maneira que cada arco pertencente ao corte possui um dos seus extremos em S e o outro em N-S.

• Um corte s-t é um corte [S, N-S] com respeito a dois vértices s e t do grafo, de maneira que s S e t N-S.

Page 25: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Árvores• Uma árvore é um grafo conexo sem ciclos.• Algumas propriedades:

– Uma árvore com n nós possui exatamente n-1 arcos– Cada par de vértices de uma árvore está conectado por

exatamente um único caminho– Uma árvore possui pelo menos 2 folhas (vértices de grau

1)• Uma floresta é um grafo sem ciclos.• Subárvore: um subgrafo conexo de uma árvore• Árvore enraizada: algum vértice da árvore é escolhido como raíz e

todos os outros vértices são “hierarquizados” de acordo com essa raíz

Page 26: UFES Teoria dos Grafos Alguns conceitos de Teoria dos Grafos para Fluxo em Redes Maria Claudia Silva Boeres boeres@inf.ufes.br Mestrado em Informática.

2010/2 Teoria dos Grafos UFES

Árvores• Uma árvore out-tree direcionada enraizada no nó s é uma árvore

T na qual o único caminho entre s e cada vértice de T é um caminho direcionado.

• Uma árvore in-tree direcionada enraizada no nó s é uma árvore T na qual o único caminho entre cada vértice de T e s é um caminho direcionado.

• Árvore geradora: Uma árvore T é uma árvore geradora de G se T é subgrafo gerador de G e é uma árvore.

• Um grafo G é bipartido se o seu conjunto de vértices pode ser particionado em 2 conjuntos N1 e N2 de forma que cada arco de G possui um dos extremos em N1 e o outro em N2 e não há arcos que liguem vértices de uma mesma partição.

– Propriedade: Um grafo G é bipartido sss cada ciclo em G possui comprimento par.