• Nenhum resultado encontrado

Grafos. Grafos. Grafos. Grafos. Grafo formado por dois. conjuntos: Vértices Arcos a b c d e f g h i j

N/A
N/A
Protected

Academic year: 2021

Share "Grafos. Grafos. Grafos. Grafos. Grafo formado por dois. conjuntos: Vértices Arcos a b c d e f g h i j"

Copied!
11
0
0

Texto

(1)

1

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Grafos

Grafos

Grafos

2

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Grafos

Grafos

j

8

5

1

7

3

h

g

i

2

6

c

e

b

d

0

4

f

a

3

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Grafos

Grafos

j

8

5

1

7

3

h

g

i

2

6

c

e

b

d

0

4

f

a

4

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Grafos

Grafos

j

8

5

1

7

3

h

g

i

2

6

c

e

b

d

0

4

f

a

Grafo

– formado por dois

conjuntos:

Vértices

Arcos

Ponta inicial

arco

Ponta final

0 0 2 6 6 6 1 1 3 8

a b c d e f g h i j

0 2 6 0 2 4 3 3 7 5

(2)

5

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Aplica

Aplica

ç

ç

ões

ões

Associando-se significados aos

v

v

é

é

rtices

rtices

e às

linhas

linhas

, o

grafo passa a constituir um

modelo

modelo

de uma situação ou

informação real

4

2

3

1

5

6

vértices

arestas

6

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

1a. Aplicação conhecida (1736)

• Problema da ponte de Koenigsberg (na Prússia oriental)

• Resolvido por Euler

Exemplos de aplica

Exemplos de aplica

ç

ç

ões

ões

A

A

Kneiphof

Kneiphof

B

B

D

D

C

C

Rio

Rio

Pregal

Pregal

a

a

b

b

c

c

d

d

e

e

f

f

g

g

C

C

D

D

A

A

B

B

É

É

poss

poss

í

í

vel atravessar todas as pontes

vel atravessar todas as pontes

uma

uma

ú

ú

nica vez, voltando ao lugar de partida?

nica vez, voltando ao lugar de partida?

7

Cidades e estradas

Exemplos de aplica

Exemplos de aplica

ç

ç

ões

ões

S.LEO

MONTN

IVOTI

POA

N.HAMB

CAXIAS

POA

CURIT.

FPOLIS

RIO

SAO

Tráfego aéreo

8

Atividades e tempo de execução

Exemplos de aplica

Exemplos de aplica

ç

ç

ões

ões

Exame

médico

Concurso

Documen-tação

Ex.

psico-técnico

Assinar

contrato

Avisar

recusado

Avaliação

2

2

3

2

1

7

1

(3)

9

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Outras Aplicações

• Cada vértice é uma

tarefa de um grande projeto

. Há

um arco de x a y se x é pré-requisito de y, ou

seja, se x deve estar pronta antes que y possa

começar. Análise de circuitos elétricos

• Cada vértice é um

arquivo de um sistema de

software

. Cada arco é uma "dependência": um

arquivo v é construído a partir de todos os

arquivos w para os quais existe um arco da

forma (v,w).

– O utilitário make do UNIX trabalha sobre grafos deste tipo

• Cada vértice é uma

página na teia WWW

. Cada

arco é um link que leva de uma página a

outra. [Parece que há cerca de 2 milhões de

vértices e 5 milhões de arcos.]

10

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Outras Aplicações

• Cada vértice é uma tarefa de um grande

projeto. Há um arco de x a y se x é

pré-requisito de y, ou seja, se x deve estar

pronta antes que y possa começar. Análise

de circuitos elétricos

• Os vértices são times de futebol

e os arcos

são os jogos entre os times durante um

campeonato.

• Os vértices são as casas de um tabuleiro de

xadrez. Há um arco de x para y se um

cavalo do jogo pode ir de x a y em um só

11

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Outras Aplicações

• Outras aplicações

– Análise de circuitos elétricos

– Verificação de caminhos mais curtos

– Análise de planejamento de projetos

– Identificação de compostos químicos

– Mecânica estática

– Genética

– Cibernética

– Linguística

– Ciências sociais

– ...

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

12

Grafos

Grafos

Representação

• implementação da

ED

ED

HOJE!!!

HOJE!!!

Principais Algoritmos

4

2

3

1

5

6

(4)

13

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Problemas t

Problemas t

í

í

picos

picos

planaridade

caminho Mínimo (Crítico)

número cromático

14

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

1

4

3

2

5

6

18

10

20

15

30

20

20

Caminho M

Caminho M

ínimo

í

nimo

O

caminho crí

caminho cr

ítico

tico

entre dois vértices

u

e

w

, em um grafo

orientado

G

, é o caminho de maior custo de

u

até

w

em

G

15

N

N

ú

ú

mero crom

mero crom

á

á

tico

tico

É o número mínimo de cores

suficiente para que os vértices

do grafo sejam coloridos sem

que se atribua a mesma cor a

dois vértices adjacentes

v3

v2

v1

v5

v4

v4

v4

16

v4

v3

v2

v1

?

?

N

N

ú

ú

mero crom

mero crom

á

á

tico

tico

v4

v3

v2

v1

?

?

v4

v3

v2

v1

?

?

1 cor

1 cor

2 cores

2 cores

4 cores

4 cores

(5)

17

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

v3

v2

v1

?

?

Planaridade

Planaridade

v3

v2

v1

v5

v4

?

?

v3

v2

v1

v5

v4

?

?

planar

planar

planar

planar

não

não-

-planar

planar

18

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

GRAFOS

-Definições

GRAFOS

GRAFOS

-

-Defini

Defini

ç

ç

ões

ões

19

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Um grafo é uma tripla

(V,A,f)

, onde

V

é um

conjunto não-vazio de nodos (vértices),

A

é

um conjunto possivelmente vazio de

rela-cionamentos (linhas) e

f

é uma função de

incidência que representa um

relaciona-mento

vértices

Linhas:

arestas

arcos

Defini

Defini

ç

ç

ão formal

ão formal

20

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

a = (v1,v2) é um arco

Grafo orientado

Grafo orientado

5

1

2

3

4

a1

a3

a2

a4

a5

a6

Exemplo: malha de

Exemplo: malha de

transporte urbano

transporte urbano

(6)

21

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

a = {v1,v2} é uma aresta

4

2

3

1

a3

a2

a4

a1

Grafo não

Grafo não

-

-

orientado

orientado

Exemplo: malha

Exemplo: malha

rodovi

rodoviá

ária

ria

22

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Grafos orientados x não

Grafos orientados x não

-

-

orientados

orientados

Um grafo expressa uma relação binária R

Grafo não-orientado:

( v1, v2 )

Є

G ↔ v1 R v2

Grafo orientado:

{ v1, v2 }

Є

G

v1 R v2 ^ v2 R v1

23

Um grafo é

valorado

se possuir valores associados às

linhas e/ou aos vértices.

6

1

3

4

2

5

23

8

15

17

7

9

19

Defini

Defini

ç

ç

ões e terminologia

ões e terminologia

24

Dois vértices

v1

e

v2

são ditos

adjacentes

em

G

, se neste existe a

aresta

{v1,v2}

ou um dos arcos

(v1,v2)

e

(v2,v1)

Uma linha

a

é

incidente

a um

vértice

v

, se

v

for uma das

extremidades de

a

.

v1

v2

Defini

(7)

25

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Grau

de um vértice é

igual ao número de

linhas que nele

incidem

Vértices com grau igual a

zero são ditos

isolados

A

ordem

de um grafo é

igual ao número de

vértices do mesmo

v1

v4

v3

v2

v7

v6

v5

?

v8

Defini

Defini

ç

ç

ões e terminologia

ões e terminologia

26

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Uma linha que tem ambas

extremidades em um mesmo

vértice é chamada

laço

V

Um grafo é

dito

completo

se todos os

seus pares de vértices

forem adjacentes

v3

v2

v1

v5

v4

Defini

Definiç

ç

ões e terminologia

ões e terminologia

27

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Um grafo é dito

simétrico

se

para cada arco da

forma (v,w) existe um arco da

forma (w,v).

Defini

Defini

ç

ç

ões e terminologia

ões e terminologia

v2

v1

v4

v3

v2

v1

v4

v3

28

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Semigrau interior

de um vértice

w

, em

um grafo orientado, é igual ao número de

arcos

(v,w)

existente no grafo.

Entradas

ou

fontes

são vértices

que possuem semigrau interior igual a

zero.

W

Defini

Defini

ç

ç

ões e terminologia

ões e terminologia

(8)

29

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Semigrau exterior

de um vértice

w

, em

um grafo orientado, é igual ao número de

arcos

(w,v)

existente no grafo.

Saídas

ou

sumidouros

são

vértices que possuem semigrau exterior

igual a zero.

W

Defini

Defini

ç

ç

ões e terminologia

ões e terminologia

W

30

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Representa

Representa

ç

ç

ão f

ão f

í

í

sica de grafos

sica de grafos

matriz de adjacência

matriz de incidência

lista de adjacência

lista de incidência

31

Matriz de adjacência A(n x n) de um grafo G de ordem n,

é uma matriz onde cada elemento a

i,j

é:

Grafos orientados:

a

i,j

= 1 se (v

i

,v

j

)

ε G

a

i,j

= 0 se (v

i

,v

j

) ~

ε G

Grafos não orientados:

a

i,j

= 1 se {v

i

,v

j

}

ε G

a

i,j

= 0 se {v

i

,v

j

} ~

ε G

Matriz de adjacência

Matriz de adjacência

32

A

matriz de adjacência

é uma forma de representação de grafos

simples, econômica e adequada para muitos problemas que envolvem

apenas a estrutura do grafo.

Matriz de adjacência

Matriz de adjacência

1

2

3

4

5

6

0

0

0

0

0

0

1

0

0

0

0

1

0

1

0

1

0

0

1

1

0

0

1

1

0

0

0

1

0

0

1

1

0

0

1

0

1

2

3

4

5

6

1

2

3

4

5

6

vértices

vértices

(9)

33

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

1

2

3

4

1

2

3

4

0

1

1

0

1

0

1

1

1

1

0

1

0

1

1

0

a

ij

=1 se {v

i

,v

j

}

ε G

a

ij

=0 se {v

i

,v

j

} ~

ε G

1

4

2

3

Matriz de adjacência

Matriz de adjacência

34

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

1

2

3

4

1

2

3

4

0

1

1

0

1

1

0

1

0

0

a

ij

=1 se {v

i

,v

j

}

ε G

a

ij

=0 se {v

i

,v

j

} ~

ε G

1

4

2

3

Matriz de adjacência

Matriz de adjacência

Não-orientado - SIMÉTRICO

35

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Valores associados às linhas podem ser representados por uma extensão

simples da Matriz de Adjacência

a

ij

=k se (v

i

,v

j

)

ε G

a

ij

=* se (v

i

,v

j

) ~

ε G

1

2

3

1

6

5

4

2

3

4

5

6

*

9

*

7

*

19

9

*

23

15

*

*

*

23

*

27

*

*

7

15

27

*

30

17

*

*

*

30

*

8

19

*

*

17

8

*

6

1

3

4

2

5

27

30

23

8

15

17

7

9

19

Matriz de adjacência

Matriz de adjacência

36

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Matriz binária: ocupa pouco espaço, especialmente para

grafos densos

Manipulação simples: recursos p/matrizes em qualquer

linguagem

Fácil determinar se (v

i

,v

j

)

ε G

Fácil determinar {Adjacentes(v,G)}

Quando o grafo é não orientado, a MA é simétrica (mais

econômica)

Inserção de novos vértices é muito difícil

Matriz de adjacência (MA)

Matriz de adjacência (MA)

(10)

37

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

É uma matriz B(n x m), sendo n o número de vértices, m o número de linhas

e:

b

ij

= -1 se o vértice i é a origem da linha j

b

ij

= 1 se o vértice i é o término da linha j

Para grafos não orientados, b

ij

= 1 se a aresta j é incidente ao vértice i.

1

2

3

a1

4

a2

a3

a4

a5

-1

-1

0

0

0

1

0

-1

-1

0

0

1

1

0

-1

0

0

0

1

1

1

4

2

3

a2

a5

a1

a4

a3

Matriz de incidência

Matriz de incidência

arcos

vértices

38

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Para cada vértice v é representada a lista de

vértices u tais que (v,u)

ε G

Contigüidade Física

1

2

4

3

1

2

2

3

4

0

3

4

0

0

• Muito rígida

• Requer previsão do tamanho máximo das

listas

• Eficiente para grafos pouco densos, com

graus uniformes

1

4

2

3

Listas de adjacência

Listas de adjacência

Grau máximo

vértices

39

Representação mista

1

4

3

2

/

2

3

/

3

4

/

4

/

• Uso mais racional do espaço

• Inserção/exclusão de linhas mais fácil

• Inserção de vértices problemática

1

4

2

3

Listas de adjacência

Listas de adjacência

40

Encadeamento

G

?

G

1

?

2

?

3

?

/

2

?

3

?

4

?

/

/

?

3

?

4

/

?

4

/

• Uso racional do espaço

• Flexibilidade

• Nós podem ser estendidos para representar

outras informações

• Designações das linhas

• Pares atributo/valor

1

4

2

3

Listas de adjacência

Listas de adjacência

(11)

41

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Contigüidade Física

1

2

3

4

5

6

7

8

9

10

11

12

1

2

1

3

2

3

2

4

3

4

1

2

3

4

5

6

7

8

1

2

1

3

2

3

2

4

3

4

Encadeamento

1 2

1 3

2 3

2 4

3 4

/

G

1

4

2

3

Listas de incidência

Listas de incidência

42

Clesio S. Santos, Nina Edelweiss & Luciana P. Nedel Estruturas de Dados - Grafos

Exerc

Exercí

ício

cio

5

2

6

10

33

4

1

14

9

19

8

33

1

1

2

3

4

5

6

7

2

3

4

5

6

7

2.

Representar o grafo por Matriz de

Adjacência

3.

Representar o grafo por Matriz de

Incidência

3.

Representar o grafo por Lista de

Adjacência

3.

Representar o grafo por Lista de

Incidência

Exerc

Exerc

í

í

cio 01

cio 01

.

Os Turistas Jensen, Leuzingner, Dufour e Medeiros se encontram em um bar

de Paris e começam a conversar. As línguas disponíveis são o inglês, o francês, o português e o

alemão. Jensen fala todas. Leuzingner não fala apenas o português. Dufour fala francês e alemão.

Medeiros fala inglês e português. Represente por meio de um grafo todas as possibilidades de um

deles dirigir a palavra a outro, sendo compreendido.

Exerc

Referências

Documentos relacionados

Levando-se em consideração que: i tem elevada prevalência e atinge todas as faixas etárias; ii que é uma patologia que necessita controle metabólico por toda a vida; iii

Diagnóstico energético: Avaliação detalhada das oportunidades de eficiência energética na instalação da unidade consumidora de energia, resultando em um relatório contendo,

[r]

Foram feitas medidas PPES para caracterização térmica, em que foram obtidas a difusividade e a condutividade térmicas e, através de ajustes das equações teóricas aos

Os carvões preparados foram testados quanto à sua capacidade de adsorção e utilizados como suporte de catalisadores heteropoliácidos em reações de esterificação e transesterificação de

“Em princípio a infraestrutura de rádio será constituída estações rádio base em cada estação no túnel e duas ERB para cobertura da área aberta da linha férrea, bem como

Com o cenário atual de desigualdade de gênero, o Brasil apresenta não só desafios para sua inserção internacional como promotor de desenvolvimento sustentável

O potencial antimetastático foi verificado através da indução de metástase tumoral em camundongos pela administração da linhagem de melanoma B16F10, para tanto