• Nenhum resultado encontrado

Otimização em Grafos

N/A
N/A
Protected

Academic year: 2021

Share "Otimização em Grafos"

Copied!
17
0
0

Texto

(1)

Luidi G. Simonetti

PESC/COPPE

(2)

V - conjunto dev´ertices- V ={1, 2, 3, 4, 5, 6, 7}

E - conjunto dearestas-E ={[1, 2], [1, 3], [1, 4], [2, 4], . . . , [6, 7]}

Uma fun¸c˜ao w : E → P(V ) que associa a cada aresta um subconjunto de dois ou de um elemento de V , interpretado como os pontos terminais da aresta. 1 2 3 4 7 5 6

(3)

Grafo (direcionado ou d´ıgrafo): G = (V , A)

V - conjunto de v´ertices - V ={1, 2, 3, 4, 5, 6, 7}

A - conjunto de arcos -A ={(1, 2), (1, 3), (4, 1), (2, 4), (4, 2), . . . , (7, 6)} Uma fun¸c˜ao w : A→ P(V ) que associa a cada arco um subconjunto de dois ou de um elemento de V (fonte e alvo), interpretado como os pontos terminais da arco. 1 2 3 4 7 5 6

(4)

Em um grafo (ou d´ıgrafo) com pesos, uma fun¸c˜ao adicional E → R associa um valor a cada aresta, o que pode ser considerado seu “custo”.

Note que a representa¸c˜ao gr´afica n˜ao deve ser confundida com o grafo em si (a estrutura abstrata, n˜ao-gr´afica). V´arios diferentes layouts podem

corresponder ao mesmo grafo. O que importa ´e quais v´ertices est˜ao conectados entre si por quantas arestas.

(5)

Dada uma aresta e = (a, b), dizemos que os v´ertices a e b s˜ao osextremos da aresta e e que a e b s˜ao v´erticesadjacentes.

Podemos dizer tamb´em que a aresta e ´eincidenteaos v´ertices a e b, e que os v´ertices a e b s˜ao incidentes `a aresta e.

(6)

Dizemos que um grafo ´esimplesquando n˜ao possui la¸cos ou arestas m´ultiplas.

Umla¸co´e uma aresta com ambos os extremos em um mesmo v´ertice e arestas m´ultiplas s˜ao duas ou mais arestas com o mesmo par de v´ertices como extremos.

Multigrafo ´e um grafo que permite m´ultiplas arestas ligando os mesmos v´ertices.

Exemplo:

a c

e

(7)

Ograude um v´ertice ´e o n´umero de arestas incidentes a ele. Em d´ıgrafo temos grau de sa´ıda e de entrada.

O conjunto devizinhosde um v´ertice consiste de todos os v´ertices adjacentes a ele. Outra maneira utilizada ´e o conjunto de arestas incidentes `a um v´ertice.

Exemplo: a c e b d d(a) = 2 d(b) = 3 d(c) = 4 d(d) = 3 d(e) = 2 N(a) ={b, c} N(b) ={a, c, d} N(c) ={a, b, d, e} N(d) ={b, c, e} N(e) ={c, d}

δ(a) ={(a, b), (a, c)} δ(b) ={(a, b), (b, c), (b, d)} δ(c) ={(c, a), (c, b), (c, d), (c, e)} δ(d) ={(d, b), (d, c), (d, e)} δ(e) ={(e, c), (e, d)}

Teorema

Para todo grafo G = (V , E ) temos: �

v∈V

(8)

Denotamos por|V | e |E | a cardinalidade dos conjuntos de v´ertices e arestas de um grafo G, respectivamente.

No exemplo abaixo temos|V | = 5 e |E | = 7.

a c

e

b d

(9)

UmsubgrafoH = (V�, E�) de um grafo G = (V , E ) ´e um grafo tal que V� ⊆ V , E�⊆ E .

Umsubgrafo geradorde G ´e um subgrafo H com V�= V .

Exemplo: a c e b d Grafo G a c b d

Subgrafo n˜ao gerador

a c

e

b d

Subgrafo gerador Subgrafo Induzido ´e obtido pela remo¸c˜ao de v´ertices e consequente das arestas relacionadas com ele de um outro grafo, dizemos que este novo grafo ´e um grafo induzido do original.

(10)

Em um grafo gen´erico G , ocorteassociado a um conjunto X de v´ertices ´e o conjunto de todas as arestas que tˆem uma ponta em X e outra em V− X . Grafo completo´e o grafo simples em que, para cada v´ertice do grafo, existe uma aresta conectando este v´ertice a cada um dos demais. Ou seja, todos os v´ertices do grafo possuem mesmo grau. O grafo completo de n v´ertices ´e frequentemente denotado por Kn. Ele tem n(n− 1)/2 arestas.

(11)

Caminho

Um caminho P de v0a vn no grafo G ´e uma sequˆencia finita e n˜ao vazia

(v0, v1, . . . , vn) de v´ertices tal que de cada um dos v´ertices existe uma aresta

para o v´ertice seguinte.

O comprimento do caminho P ´e dado pelo seu n´umero de arestas, ou seja, n. (contando-se arestas m´ultiplas m´ultiplas vezes)

O custo de um caminho num grafo balanceado ´e a soma dos custos das arestas atravessadas.

Dois caminhos s˜ao independentes se n˜ao tiverem nenhum v´ertice em comum, excepto o primeiro e o ´ultimo.

a f c e b d v0= a v1= b v2= d v3= c v4= b v5= d v6= e |P| = 6

(12)

arestas na sequˆencia.

Umciclo(circuito) ou caminho fechado ´e um caminho em que v0= vn.

Umciclo simples´e um ciclo que tem um comprimento pelo menos de 3 e no qual o v´ertice inicial s´o aparece mais uma vez, como v´ertice final, e os outros v´ertices aparecem s´o uma vez.

Exemplo: a f c e b d Caminho Simples a f c e b d Ciclo

Caminho hamiltonianoem um grafo ´e o caminho que visita cada v´ertice exatamente uma vez. Umciclo hamiltoniano´e um ciclo que visita cada v´ertice uma s´o vez.

(13)

Se for poss´ıvel estabelecer um caminho de qualquer v´ertice para qualquer outro v´ertice de um grafo, diz-se que o grafo ´econexo.

Quando o grafo G n˜ao ´e conexo, podemos particionar emcomponentes conexos. Dois v´ertices u e v de G est˜ao no mesmo componente conexo de G se h´a caminho de u a v em G. Exemplo: a f c e b d Conexo a f c e b d

n˜ao-conexo com 3 componentes conexos

(14)

Um grafo G ´e uma ´arvore se ´e conexo e n˜ao possui ciclos (ac´ıclico). ´e conexo com|V | − 1 arestas.

´e conexo e a remo¸c˜ao de qualquer aresta desconecta o grafo (minimal conexo). Para todo par de v´ertices u, v de G , existe exatamente um caminho de u a v em G . Exemplo: a f c e b d ´

As vezes, um v´ertice da ´arvore ´e distinto e chamado de raiz. Floresta ´e um conjunto de ´arvores.

(15)

Algoritmos em Grafos - Motiva¸c˜ao

Grafos s˜ao estruturas abstratas que podem modelar diversos problemas do mundo real.

Por exemplo, um grafo pode representar conex˜oes entre cidades por estradas ou uma rede de computadores.

O interesse em estudar algoritmos para problemas em grafos ´e que conhecer algoritmo para um ´unico problema em grafos pode significar conhecer algoritmos para diversos problemas reais.

(16)

Representa¸c˜ao Interna

A complexidade dos algoritmos para solu¸c˜ao de problemas modelados por grafos depende fortemente da sua representa¸c˜ao interna.

Existem duas representa¸c˜oes canˆonicas: matriz de adjacˆenciaselista de adjacˆencias.

O uso de uma ou outra num determinado algoritmo depende da natureza das opera¸c˜oes que ditam a complexidade do algoritmo.

Outras representa¸c˜oes podem ser utilizadas mas essas duas s˜ao as mais utilizadas por sua simplicidade.

Para alguns problemas em grafos o uso de estruturas de dados adicionais s˜ao fundamentais para o projeto de algoritmos eficientes.

(17)

Bibliografia

Algorithm Design - Jon Kleinberg e ´Eva Tardos, Addison-Wesley, 2005. Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein, McGraw Hill, 2002 (2a. edi¸c˜ao).

Grafos e algoritmos computacionais - Jayme Szwarcfiter, Ed. Campus, 1984. Alan Gibbons. Algorithmic Graph Theory - Cambridge University Press, 1985. Introduction to Algorithms - Cormen et al., 3rd edition, MIT Press, 2009. Network Flows: Theory, Algorithms, and Applications - Ahuja et al., Prentice Hall, 1993.

http://en.wikipedia.org/wiki/Graph_theory . . .

Referências

Documentos relacionados

No entanto, mesmo teóricos apontando a relevância desse tipo de tecnologia em sala aula para a contribuição da autonomia e desenvolvimento das crianças e

Os africanos contribuíram para a cultura brasileira em uma enormidade de aspectos: dança música, religião, culinária e idioma. Essa influência se faz notar em grande parte do

Constituição abarcará princípios aparentemente contraditórios, cabendo ao intérprete apresentar a melhor solução ao caso concreto 19. O que se busca iluminar, no

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

Diante dos assuntos que envolvem o planejamento das cidades encontram-se os equipamentos urbanos, que segundo Manfio (2015), são bens públicos e privados destinados a

Tabela 5 – Atividades desenvolvidas na área de medicina veterinária preventiva durante o Estágio Curricular Supervisionado em Medicina Veterinária empresa

Convém destacar que, nesse capítulo 3, não apenas objetivamos fazer uma revisão bibliográfica sobre os temas abordados, como também, e principalmente, tentaremos proceder a