30
A03 Conceitos Básicos em Grafos Prof. Dr. George H. G. Fonseca Universidade Federal de Ouro Preto CSI466 Teoria dos Grafos 1

A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. · Universidade Federal

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

<<seu nome aqui!>>

Universidade Federal de Ouro Preto

DECEA / João Monlevade

A03 Conceitos

Básicos em Grafos

Prof. Dr. George H. G. Fonseca

Universidade Federal de Ouro Preto

CSI466 – Teoria dos Grafos

1

Page 2: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Definições

Um grafo G = (V, E) é um par de conjuntos (V, E):

Conjunto de Vértices V (pontos)

Conjunto de Arestas E (ligações)

G = (V, E)

Ordem

O número de vértices de um grafo G é denotado por |V| e é

conhecido como Ordem de G

2

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

Page 3: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Definições

Cada aresta é um subconjunto de elementos de V de

tamanho 2 (E ⊇ V x V)

Incidência

Uma aresta e = (v1, v2) é dita incidente a v1 e a v2

Os vértices que a aresta conecta também são ditos incidentes à

aresta

v1 e v2 são incidentes a e

e é incidente a v1 e a v23

v1 v2e

Page 4: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Definições

Adjacência

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

adjacentes ou vizinhos

v1 e v2 são adjacentes

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

adjacentes

e1 e e2 são adjacentes 4

v1 v2e

v1

v2

e1

v2e2

Page 5: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Definições

Grau de um vértice

O grau de um vértice é o número de arestas que nele incidem

Representação: d(v)

Se d(v) = 0, v é um vértice isolado

d(v1) = 2

d(v2) = 4

d(v3) = 3

d(v4) = 2

d(v5) = 1

d(v6) = 0 (isolado)5

Page 6: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Definições

Exercício

1. Considerando o seguinte grafo:

G = (V, E)

V = {v1, v2, v3, v4, v5}

E = {(v1, v2), (v1, v3), (v1, v5), (v2, v3), (v2, v4), (v3, v4), (v3, v5)}

a) Apresente uma representação gráfica para G

b) Determine o grau de cada vértice

c) Apresente as arestas incidentes a v5

d) Apresente os vértices adjacentes a v5

e) Apresente os vértices incidentes a e5

f) Apresente as arestas adjacentes a e5

6

e1 e2 e3 e4 e5 e6 e7

Page 7: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Definições

Solução do exercício

G = (V, E)

V = {v1, v2, v3, v4, v5}

E = {(v1, v2), (v1, v3), (v1, v5), (v2, v3), (v2, v4), (v3, v4), (v3, v5)}

d(v1) = 3

d(v2) = 3

d(v3) = 4

d(v4) = 2

d(v5) = 2

Incidentes a v5 = {e3, e7}

Adjacentes a v5 = {v1, v3}

Incidentes a e5 = {v2, v4}

Adjacentes a e5 = {e1, e4, e6}7

v1

v2 v3

v5v4

e1 e2e3

e4

e5 e6 e7

e1 e2 e3 e4 e5 e6 e7

Page 8: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Vértice isolado

Vértice de grau 0

Vértice pendente

Vértice de grau 1

Grafo nulo

Grafo sem nenhuma aresta

Grafo trivial

Grafo de apenas 1 vértice e nenhuma aresta8

Page 9: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Grafo regular

Grafo em que todos os vértices possuem o mesmo grau

Um grafo regular com vértices de grau r é chamado

grafo r-regular

Exemplos

9

Page 10: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Laço

Aresta associada a um par do mesmo vértice

a’ é um laço

Aresta paralela

Quando mais de uma aresta está associada ao mesmo vértice

b’ e b’’ são arestas paralelas

Grafo simples

Grafo não contem laço nem aresta paralela10

Page 11: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Grafo Completo

Grafo simples em que todo o par de vértices é ligado por aresta

Todo vértice é adjacente a todos os outros vértices

Um grafo completo com n vértices é denotado Kn

Exemplos

11

Page 12: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Grafo Complementar

Seja G = (V, E) um grafo simples, o complemento de G, G é o

grafo formado da seguinte maneira:

Os vértices de G são os mesmos de G

As arestas de G são exatamente as arestas que faltam em G para

formarmos um grafo completo

Exemplos

12

Page 13: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Subgrafos

Dois grafos G1 e G2 são iguais se V1 = V2 e E1 = E2

Um grafo Gs é um subgrafo de G se e somente se os conjuntos

de vértices e arestas de Gs estão contidos nos conjuntos de

vértices e arestas de G

13

G2 é subgrafo de G1

Page 14: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Grafo Dirigido

Um grafo é dirigido (dígrafo) se suas arestas possuem

orientação

Denomina-se arco a aresta direcionada

Em um grafo não dirigido, uma aresta pode ser representada por

(i, j) ou por (j, i). O mesmo não ocorre em um grafo dirigido

V = {1, 2, 3, 4, 5, 6}

E = {(2, 3), (3, 1), (3, 5), (4, 3), (6, 6)}

14

Page 15: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Grafo Dirigido

Na versão dirigida G’ de um grafo não dirigido G = (V, E), cada

aresta não dirigida (i, j) de G dá origem a dois arcos (i, j) e (j, i)

em G’

15

Page 16: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Terminologia

Grafo Dirigido

Grau de vértices em grafo dirigido. Os vértices possuem:

Grau de entrada din(v): número de arcos que chegam ao vértice v

Grau de saída dout(v): número de arcos que saem do vértice v

din(a) = 1

dout(a) = 1

din(b) = 4

dout(b) = 2

din(c) = 2

dout(c) = 3

din(d) = 0

dout(d) = 1 16

Page 17: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

TerminologiaExercício

1. Para cada grafo abaixo, identifique vértices isolados e

pendentes e determine se o grafo é simples, se é regular e se é

completo

2. Apresente o grafo complementar dos grafos G1 e G2 da

questão anterior

3. Determine se G1 é subgrafo de G2

17

1

1

2

3 4

5

6

2

3

4

6

5

4

G1

G2G3

Page 18: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

TerminologiaSolução do exercício

Vert. isolados = ∅ Vert. isolados = ∅ Vert. isolados ={5}

Vert. pendentes = ∅ Vert. pendentes = ∅ Vert. pendentes = {4}

Simples Simples Não-simples

Regular Regular Não-regular

Não-completo Completo Não-completo

G1 G2

18

1

1

2

3 4

5

6

2

3

4

6

5

4

G1

G2G3

1

2

3

4

1

2

3

6

5

4

1.

2. 3.

Sim

Page 19: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Isomorfismo

Dois grafos G1 e G2 são isomorfos se existe uma

correspondência um a um entre os vértices (função f) de

G1 e G2, sendo que v1 e v2 são adjacentes em G2 se e

somente se f(v1) e f(v2) também adjacentes em G1

G1 G2

19

= ?

Page 20: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Isomorfismo

Dois grafos G1 e G2 são isomorfos se existe uma

correspondência um a um entre os vértices (função f) de

G1 e G2, sendo que v1 e v2 são adjacentes em G2 se e

somente se f(v1) e f(v2) também adjacentes em G1

G1 G2

f(a) = 2

f(b) = 1

f(c) = 3

f(d) = 4

f(e) = 6

f(f) = 5

20

=

Page 21: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Isomorfismo

Informalmente, G1 e G2 são isomorfos se podem ser

desenhados com um mesmo diagrama

G1 G2

f(1) = a

f(2) = b

f(3) = c

f(4) = d

21

Page 22: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Isomorfismo

Condições necessárias mas não suficientes para que G1

e G2 sejam isomorfos

Mesmo número de vértices

Mesmo número de arestas

Mesmo número de vértices com o mesmo grau

Não existe algoritmo eficiente para determinar se dois grafos são

isomorfos

Esse problema é NP-Completo (discutido posteriormente)

22

Page 23: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Isomorfismo

Exemplo de aplicação: Bioquímica

Componentes moleculares, como proteínas

são representadas como grafos

Cada vértice representa um átomo e arestas representam ligações entre

os átomos

Quantas vezes e onde os sub-grafos ocorrem em uma molécula

Predizer ou incrementar funcionalidade de novas ou conhecidas

moléculas

23

⊇ ?

Page 24: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

IsomorfismoExercício

1. Determine se os pares de grafos a seguir são isomorfos e,

caso afirmativo, o correspondente de cada vértice no grafo

isomorfo

24

v1

v2 v3

v5v4

e

ab

cd

12

4

7

3

65

8

12 4

7

3 6

5

8

1

2 3

4

5

a

b c

d e

Page 25: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

IsomorfismoExercício

25

12

4

7

3

65

8

12 4

7

3 6

5

8

1

2 3

4

5

a

b c

d e

São isomorfos:

f(v1) = e

f(v2) = a

f(v3) = b

f(v4) = d

f(v5) = c

Não são isomorfos.

São isomorfos:

f(1) = a

f(2) = d

f(3) = c

f(4) = e

f(5) = b

v1

v2 v3

v5v4

e

ab

cd

Page 26: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Sobre a complexidade

Duas classes importantes de problemas

computacionais:

NP (Não determinístico em tempo polinomial)

Não há algoritmo de ordem polinomial para resolver...

Algoritmos têm ordem exponencial de complexidade

O(2n)

O(n!)

P (Tempo polinomial)

Há algoritmos polinomiais (eficientes) para resolver:

Ordenação

Bubble sort O(n2)

Quick sort O(n log n)26

Page 27: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Sobre a complexidade

Problema? Ordem de crescimento:

27

n O(n2) O(2n)

4 16 16

5 25 32

10 100 1024

100 10000 1,3 x 1030

1000 1000000 1,0 x 10301

P NP

Page 28: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Sobre a complexidade

P vs. NP questão do milênio!

Se P = NP várias tarefas seriam triviais:

Reconhecimento de visão

Compreensão de linguagens

Otimização de processos, transporte, produção..

Fim da criptografia!!

Se P != NP pouco mudaria pois é o que é assumido até então

28

Page 29: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Revisão

Definições

Ordem e Grau

Incidência

Adjacência

Terminologia

Vértice isolado e pendente

Grafo nulo, trivial, regular, completo

Laço, aresta paralela

Complemento de grafo

Subgrafo

Isomorfismo29

Page 30: A03 Conceitos Básicos em Grafos - Professores UFOPprofessor.ufop.br/.../a03_conceitos_basicos_em_grafos_1.pdf · 2020. 6. 19. ·  Universidade Federal

Bibliografia

Goldbarg, M.; Goldbarg, E. Grafos: Conceitos, algoritmos e

aplicações. 1ª edição. Elsevier, 2012.

Vishveshwara, S.; Brinda, K. V.; Kannan, N. Protein Structure

Insights from Graph Theory. Journal of Theoretical and

Computational Chemistry, Vol. 1, No. 1, 2002. [link]

30