• Nenhum resultado encontrado

Direcionados e Não Direcionados

N/A
N/A
Protected

Academic year: 2019

Share "Direcionados e Não Direcionados"

Copied!
46
0
0

Texto

(1)

Grafos

(2)

Definição

●Estrutura matemática para modelar relações

●Um grafo G(V,E) é composto por um conjunto de

vértices V e um conjunto de Arcos/Arestas E.

●Vértices são também chamados de Nós ou

(3)

Arcos e Arestas

● Um Arco a=(u,v) é uma ligação entre dois

vértices u e v. Neste caso dizemos que o arco tem origem em u e destino em v

● Uma Aresta e=(u,v) é uma ligação entre dois

vértices u e v. A aresta incide nos dois vértices

(4)

Adjacência

● Arcos/Arestas expressam relações de

adjacência

● No caso das arestas dizemos que os dois nós

(5)

Exemplo

1 2

(6)

Definições

● Caminho de i para j: é um conjunto de nós

pelos quais é possível passar para chegar a um nó j partindo de um nó i, observando a relação de adjacência

(7)

Exemplo

1 2

3 4

(8)

Definições

● Laço: (loop) arcos/aresta com início e fim no

mesmo vértice (u,u)

● Grafo Trivial: Grafo com um único Vértice

(9)

Definições

● Grafo Completo: um grafo com uma aresta

para cada par de nós

● Subgrafo: um grafo G'(V',E') é dito subgrafo de

G(V,E) se e

● Grafo Conexos: Existe um caminho para cada

par de vértices. Grafos desconexos são

(10)

Variações

● Em alguns casos, os nós além de uma

identificação possuem informações relevantes ao problema

● Aos arcos são comumente atribuídos valores

(11)

Exemplo

1,N 2,A

3,B 4,C

12

8 2

5

(12)

Caminho

● Comprimento de um caminho é o número de

nós que este caminho possuí

● Custo de um caminho é a soma dos custos

envolvidos para atravessar o caminho (os

(13)

Representações

● Existem duas representações clássicas para

grafos

● Matriz de Adjacência

(14)

Matriz de Adjacência

1 2 3 4 5

1 0 1 2 2 3

2 1 0 2 1 3

3 2 2 0 2 3

4 2 1 2 0 3

(15)

Matriz de Adjacência

1 2 3 4 5

1 0 1 2 2 3

2 1 0 2 1 3

3 2 2 0 2 3

4 2 1 2 0 3

5 3 3 3 3 0

O

ri

g

e

n

s

Destinos

(16)

Lista de Adjacência

1

2

3

...

2,3 3,1 5,9

1,3 3,4

(17)

Prós e Contras

● Lista de Adjacência é mais adequada quando o

grafo é esparso

● Para grafos densos a representação por matriz

(18)

Caminho mínimo

● Em muitos casos é necessário determinar o

caminho mínimo (ou de custo mínimo) entre dois nós. O mais comum é encontrar o

caminho mínimo de uma origem para todos os outros nós

(19)

Modelagem matemática do

problema de Caminho Mínimo

● Seja o grafo G(V,E) onde V é o conjunto de

vértices e E o conjunto de arestas.

● Seja (i,j) uma aresta entre os vértices

● Seja o custo de atravessar a aresta (i,j)

● Seja s um vértice especial origem dos caminhos

● Seja

● Seja a variável que representa o fluxo que

i , jV

cij

n=∣V

(20)

Modelagem matemática do

problema de Caminho Mínimo

minimizar

(i , j)∈E

cij xij

sujeito a

j:(i , j)∈E

xij

j:( j , i)∈E

x ji=n−1, se i=s

j:(i , j)∈E

xij

j:( j , i)∈E

x ji=−1, ∀ iV −{s }

(21)

Modelagem matemática do

problema de Caminho Mínimo

● Seja o grafo G(V,E) onde V é o conjunto de vértices e

E o conjunto de arestas.

● Seja (i,j) uma aresta entre os vértices

● Seja o custo de atravessar a aresta (i,j)

● Seja s um vértice especial origem dos caminhos

● Seja

● Seja a variável que representa o fluxo que passa

pela aresta (i,j)

i , jV

cij

n=∣V

(22)

Modelagem matemática do

problema de Caminho Mínimo

minimizar

(i , j)∈E

cij yij

sujeito a

j:(i , j)∈E

xij

j:( j , i)∈E

x ji=n−1, se i=s

j:(i , j)∈E

xij

j:( j , i)∈E

(23)

Algoritmo de Dijkstra

● Seja c[i][j] o custo do arco que vai de i para j.

Caso este arco não exista c[i][j] = Infinito

● Seja D[i] o custo do menor caminho entre o nó

(24)

Algoritmo de Dijkstra

X = {origem}

Para cada i pertencente a V-X

D[i] <- C[origem][i] //inicialização D Enquanto (V-X != Vazio)

escolha w em V-X tal que D[w] é mínimo X = X+{w}

(25)
(26)
(27)
(28)
(29)
(30)
(31)

Casos Gerais

● O Algoritmo de Dijkstra é eficiente quando os

arcos não possuem custos negativos

● Em casos onde há custos negativos o

(32)

Casos Gerais

● Adicionar uma constante a todos os arcos não

resolve o problema

s t

2

2

1 -10

(33)

Casos Gerais

● Adicionar uma constante a todos os arcos não

resolve o problema

s t

2

2

1 -10

5

s t

12 12

(34)

Algoritmo de Correção de Rótulos

● Seja “s” a origem do caminho

● Seja p um vetor que diz quem é o predecessor

(35)

Algoritmo de Correção de Rótulos

Início D[s]=0

D[j]= M para cada j em V-{s}//M→constante muito grande

P[s]=0

P[j]=N para cada j em V-{s}// N → indica não avaliado

enquanto( )faça D[j]= D[i]+c[i][j]

p[j] = i

(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)

Referências

Documentos relacionados

O produto a ser ofertado pela MultiFit Gourmet será um tipo de alimentação voltada para pessoas que fazem musculação, que precisam se alimentar de maneira

Fonte: Dados elaborados pela autora deste trabalho (2019). Considerando a biblioteca como lugar de possibilidades, na qual tudo depende com quem se identifica com o espaço

Para tanto, foram delimitados como objetivos específicos: identificar as vivências formativas em contextos de cultura escrita de professoras do ciclo de alfabetização; reconhecer

Ha fase 02, a estabilidade maxima da mistura, com 5% de filer, foi estimada para um teor de cimento asfaltico de 6%. Porem, ao acrescentar a taxa de filer na

A Tabela 6 identifica as categorias de CI mais empregadas nos estudos investigados. Percebe-se que as categorias empregadas referem-se a categorias que mesclam a

autoincriminação”, designadamente através da indicação de exemplos paradigmáticos. Sem prejuízo da relevância da matéria – traduzida, desde logo, no número e

Examinamos as demonstrações financeiras individuais da Klabin S/A (“Companhia”), que compreendem o balanço patrimonial em 31 de dezembro de 2016 e as respectivas demonstrações

Corporate Control and Policies Page 12 UNIVERSIDAD DE PIURA UNIVERSIDAD DEL PACÍFICO UNIVERSIDAD ESAN UNIVERSIDAD NACIONAL AGRARIA LA MOLINA UNIVERSIDAD NACIONAL