




































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Uma introdução abrangente ao estudo de grafos, cobrindo conceitos fundamentais, diferentes tipos de grafos, suas representações (matrizes de adjacência e incidência), e algoritmos de busca (dfs e bfs). explica o problema do caminho mínimo e o problema do caixeiro-viajante, com exemplos práticos e ilustrações. ideal para estudantes de ciência da computação e áreas afins.
Tipologia: Resumos
1 / 76
Esta página não é visível na pré-visualização
Não perca as partes importantes!





































































Conceitos, representações, tipos e busca sobre grafos, além de algoritmos de caminho mínimo e algoritmo caixeiro-viajante.
Apresentar os conceitos básicos para o entendimento de grafos a partir de exemplos, os diferentes tipos, representações e operações, a distinção entre os algoritmos de busca sobre grafos, o problema de custo mínimo e o problema do caixeiro-viajante.
Definir os conceitos básicos de grafos
Identificar as diferentes representações de grafos
Descrever os algoritmos de busca em grafos
Descrever o problema do custo mínimo sobre um grafo ponderado
A teoria dos grafos é estudada desde o século XVIII, antes da invenção do computador. No entanto, estes ainda são largamente aplicados para resolver diversos problemas, como a implementação de redes sociais.
Várias redes sociais utilizam fortemente grafos como abordagem para diversas funcionalidades apresentadas, como quais perfis amigos de um usuário curtiram um post ou sugestão de amigos para serem adicionados na rede de contatos.
Atualmente, existem bancos de dados criados para armazenamento e recuperação de grafos para resolver problemas das redes sociais e para extração de uma infinidade de informações da utilização da rede social por parte dos usuários.
Figura 1.1 − As Pontes de Königsberg Fonte: Bogdan Giuşcă. Domínio Público. Wikipedia.
Com o passar dos séculos, foi obtido bastante conhecimento teórico e prático para aplicação da teoria dos grafos, como no problema anterior.
No entanto, com o surgimento da computação, a estrutura ganhou uma importância extraordinária por servir como base para modelagem de diversos processos e simulações matemáticas que são processados pelo computador.
Muitos problemas NP-difícil e NP-completos possuem a solução ótima obtida através de algoritmos de caminho em estruturas como grafos.
Em algumas literaturas, o grafo é nomeado como um modelo matemático e, em outras, como uma estrutura. Vamos considerá-lo como uma estrutura.
Sua função é ajudar a simplificar problemas matemáticos complexos, e pode ser definido como:
Neste tema, utilizaremos tanto o nome vértice como nós para referenciarmos os elementos de V.
Existem duas restrições para a definição:
Deve ser V um conjunto não vazio. Cada aresta é indivisível. Como exemplo, temos o conjunto V, onde, V = {v0, v1, v2, v3, v4, v5} e v0...vn são vértices.
É um conjunto de arestas que, por sua vez, são pares de vértices distintos e não ordenados.
As arestas de um grafo podem ter um peso associado, podem ter direção, pode ser permitido ou não ligar um nó a ele mesmo. Se um grafo tem as arestas direcionadas, chamamos de dígrafo.
Para representar visualmente um grafo são, normalmente, empregados círculos para representarem os nós, ou vértices, e linhas para representar as arestas que interligam os nós. Caso o grafo seja direcionado, a linha será substituída por uma seta.
Existem algumas outras formas de representar um grafo, conforme será apresentado mais adiante, mas, por enquanto, focaremos apenas nesse tipo de representação para facilitar a compreensão.
Para exemplificar, podemos apresentar um grafo para interligação entre os estados da região Sudeste do Brasil:
O grafo terá a seguinte representação na notação de grafos , onde:
e
Consideramos como arestas apenas os estados que possuem fronteira geográfica entre si. Um grafo é construído considerando par de arestas “ligando” dois nós.
Adição da aresta representada na Figura 1.2.
Adição da aresta representada na Figura 1.4.
Fonte: EnsineMe Figura 1.4 − Adição da aresta (RJ, SP) Fonte: EnsineMe.
Adição da aresta representada na Figura 1.5.
Fonte: EnsineMe
Figura 1.5 − Adição da aresta (MG, ES) Fonte: EnsineMe.
Finalização do grafo com adição da aresta
representada na Figura 1.6.
Fonte: EnsineMe Figura 1.6 − Adição da aresta (MG, ES) Fonte: EnsineMe.
Assim, finaliza a construção do grafo-exemplo, que, nesse caso, representa a fronteira geográfica entre os estados.
Importante ressaltar que o grafo é um conjunto não ordenado de pontos, portanto, não existe uma aresta que seja, obrigatoriamente, construída primeiro, segundo etc.
Isso significa que esse grafo pode ser construído de diferentes maneiras e o resultado será sempre o mesmo.
Partindo do grafo final, vários problemas podem ser resolvidos através dos algoritmos de caminhos sobre grafos, por exemplo: O menor caminho para se percorrer todos os estados sem
Fonte: EnsineMe Figura 1.7 − Grafo exemplo. Fonte: EnsineMe.
A partir desses grafos serão apresentadas algumas definições a respeito dos mesmos.
Definição 1 − Extremidades Se e é uma aresta de G e ψG(e) = uv, então u e v são extremidades de e. Portanto, no grafo da figura 1.7, a e b são as extremidades de e2 e e3.
Definição 2 – Vértices adjacentes Se dois vértices são extremidades de uma mesma aresta, eles são ditos adjacentes. Algumas referências tratam como vértices vizinhos. Na figura 1.7, a e b (ψG(e2) = ab) são adjacentes, enquanto c e d não são. Ou seja, não existe uma aresta que se inicie em c e finalize em d.
Definição 3 – Laço É uma aresta cujas duas extremidades são idênticas, ou seja, as extremidades são o mesmo nó. Na figura 1.7, e6 é um laço. Utilizando a definição de arestas ψG(e6) = cc.
Definição 4 – Arestas paralelas Essa definição consiste em duas arestas distintas com extremidades idênticas, ou seja, as duas chegam nos mesmos nós. Na figura 1.7, e2 e e3 são arestas paralelas. Utilizando a definição de arestas ψG(e2) = ab, ψG(e3) =ab.
Definição 5 – Grafos simples Um grafo é dito simples se não contém arestas paralelas nem laços. O grafo da figura 1.7 não é
simples, pois, conforme as definições apresentadas anteriormente, possui um laço na aresta e e arestas paralelas e2 e e3. Ele pode, porém, ser redesenhado para se tornar um grafo simples,
conforme a figura 1.8.
Fonte: EnsineMe Figura 1.8 − Transformação para grafo simples. Fonte: EnsineMe.
Outro conceito novo é o nó e, que não é vizinho a nenhum vértice do grafo, tornando-se um grafo isolado. Os grafos simples são mais utilizados de forma didática para simplificação dos problemas.
Definição 6 – Grau de vértices Na figura 1.7, o vértice a tem 3 arestas ligadas a ele, o vértice c tem 3 arestas ligadas a ele e assim por diante. Dizemos que essas arestas são incidentes ao vértice.
O número de vezes que as arestas incidem sobre o vértice v é chamado grau do vértice v, simbolizado por d(v). No nosso exemplo, d(a) = 3; d(c) = 3. Completando o grau do restante dos vértices, d(b) = 4 e d(v) 1.
Considerando o grafo da figura 1.9 dos estados da região Sudeste.
D) I e II
E) I, II e III
1. Considerando o seguinte conjunto de nós e arestas: V = {A, B, C, D, E} e E= {(E,E), (A,A), (A,E), (A,B), (C,E), (D,D)}.
Indique o grafo que representa corretamente esse conjunto de nós e arestas:
A alternativa "B " está correta.
Analisando o grafo do enunciado V = {A, B, C, D, E} e E= {(E,E), (A,A), (A,E), (A,B), (C,E), (D,D)}, temos os vértices A, B, C, D e E e as arestas definidas no conjunto E. O desenho do grafo é formado por laços no nó E, no nó A e no nó D. Também temos ligações entre os nós A e E; A e B; C e E. Portanto, o desenho que representa corretamente é o apresentado em b).
2. Considerando o grafo abaixo:
I. O grau dos vértices a é 2 e do nó c é 4.
II. A soma de todos os graus é 15.
III. O número de arestas é 7.
IV. O número de nós é 6.
Estão corretas apenas as afirmativas:
A alternativa "A " está correta.
Estão corretas a I e a III. No item I, o grau do nó é definido pelo número de arestas ligadas a ele, portanto, temos grau 2 para o nó a e para o nó c, grau 4. No item II, o somatório correto são 14 nós, e no item IV o correto são 5 nós.
Identificar as diferentes representações de grafos
Para o entendimento e para a aplicação de grafos, é necessário conhecer alguns teoremas e tipos de grafos.
A partir dos tipos, existirão diversos algoritmos para se caminhar sobre os grafos.
Para essas representações, iremos considerar um grafo pela letra G e representaremos por V(G) e A(G) , respectivamente, os conjuntos de vértices e das arestas de G.
Fonte: EnsineMe Figura 2.1 – Grafo para contagem dos vértices. Fonte: EnsineMe.
Utilizando o teorema, temos que:
Atenção! Para visualização completa da equação utilize a rolagem horizontal
Onde:
= 5 = número de arestas
Pela demonstração, realmente concluímos que em um grafo com 5 arestas a soma do grau de todos os vértices é igual a 10, ou seja, corresponde a 2.m = 10.
Corolário: Todo grafo G possui um número par de vértices de grau ímpar.
Demonstração:
∑ ν ∈V ( G ) d( ν )= 2. m
Novamente, pode ser utilizada a resolução do grafo da figura 2.1:
d(SP) + d(MG) + d(RJ) + d(ES) = 2 + 3 + 3 + 2 = 10 => existem dois vértices(d(MG) e d(RJ)) com grau ímpar de vértices (3).
a) Remoção de vértices
Quando se remove um vértice v, retira-se todas as arestas que têm v como extremidade. A partir da retirada do vértice, o novo grafo resultante é V(G) – {V} pela remoção do vértice v ∈ V (G), conforme apresentado na figura 2.2.
Fonte: EnsineMe Figura 2.2 – Remoção do vértice e do grafo. Fonte: EnsineMe.