0% acharam este documento útil (0 voto)
28 visualizações25 páginas

Grafos

O documento aborda conceitos fundamentais sobre grafos não dirigidos, incluindo definições de cliques, caminhos, ciclos, isomorfismo, tamanho e grau dos vértices. Também discute a conectividade, subgrafos, grafos dirigidos, e apresenta noções sobre grafos especiais, bipartidos e planares. Além disso, menciona problemas clássicos como os circuitos de Euler e Hamilton, e a famosa questão das sete pontes de Königsberg.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
28 visualizações25 páginas

Grafos

O documento aborda conceitos fundamentais sobre grafos não dirigidos, incluindo definições de cliques, caminhos, ciclos, isomorfismo, tamanho e grau dos vértices. Também discute a conectividade, subgrafos, grafos dirigidos, e apresenta noções sobre grafos especiais, bipartidos e planares. Além disso, menciona problemas clássicos como os circuitos de Euler e Hamilton, e a famosa questão das sete pontes de Königsberg.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Estruturas Discretas - Grafos

2024/2025
Grafos não dirigidos

Um grafo não dirigido G é um par ordenado (V , E ), onde V é um


conjunto e E é um conjunto de subconjuntos de dois elementos de
V . Ou seja,
E ⊆ { {x, y } | x, y ∈ V , x ∕= y }.

Os elementos de V são chamados vértices do grafo (também


chamados nós) e os elementos de E são as arestas.

Se {x, y } ∈ E dizemos que x e y são vértices adjacentes do grafo


G.
Exemplos comuns grafos - Cliques

Definição: Um grafo com n vértices, em que cada par de vértices


está ligado, é chamado clique (ou n-clique) e é denotado por Kn .

Formalmente Kn = (V , E ), onde V = {1, . . . , n} e


E = { {i, j} | 1 ≤ i ∕= j ≤ n }.
󰀃n 󰀄
O número de arestas de Kn é 2 .

Exemplo: G = (V , E ), com V = {1, 2, 3, 4} e


E = {{1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4}}.
Exemplos comuns grafos - Caminhos

Definição: Um caminho Pn com n vértices, é o grafo


Pn = (V , E ), onde V = {1, 2, . . . , n} e
E = { {i, i + 1} | 1 ≤ i ≤ n − 1 }.

O número de arestas em Pn é n − 1. Os vértices 1 e n são


respectivamente o ı́nicio e fim de Pn .

Exemplo: G = (V , E ), com V = {1, 2, 3, 4, 5} e


E = {{1, 2}, {2, 3}, {3, 4}, {4, 5}}.
Exemplos comuns grafos - Ciclo

Definição: Um ciclo Cn com n ≥ 3 vértices é o grafo


Cn = (V , E ), onde V = {1, 2, . . . , n} e
E = { {i, i + 1} | 1 ≤ i ≤ n − 1 } ∪ {{1, n}}.

O número de arestas em Cn é n.

Exemplo: G = (V , E ), com V = {1, 2, 3, 4, 5} e


E = {{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 1}}.

Nota: G = (V , E ), com V = {A, B, C } e


E = {{A, B}, {B, C }, {C , A}}, também é um ciclo apesar de não
seguir a definição, pois é isomorfo ao ciclo G = (V , E ), com
V = {1, 2, 3} e E = {{1, 2}, {2, 3}, {3, 1}}.
Isomorfismo entre grafos

Definição: Dois grafos G = (V , E ) e G ′ = (V ′ , E ′ ) são isomorfos


se existe uma bijecção f : V → V ′ tal que

{x, y } ∈ E se e só se {f (x), f (y )} ∈ E .

Nesse caso escrevemos G ≃ G ′ e a função f é chamada um


isomorfismo entre G e G ′ .

Identificamos grafos que sejam isomorfos como representando o


mesmo grafo.

Grafos isomorfos a cliques, caminhos e ciclos são também cliques,


caminhos e ciclos, respectivamente.
Tamanho e Grau

Definição: O número de arestas de um grafo é chamado de


tamanho do grafo. 󰀃 󰀄
Ex: O tamanho de um grafo de n vértices é no máximo n2 e
corresponde ao clique de n vértices.

Definição: O grau dG (v ) de um vértice v num grafo


G = (V , E ), é o número de vizinhos de v em G . Ou seja

dG (v ) = |{ u ∈ V | {v , u} ∈ E }|.

Um grafo diz-se regular, se para algum número k, todos os vértices


têm grau k.
Lema dos “apertos de mão”

Proposição: O número de vértices com grau ı́mpar de um grafo


é par.

Prova: Para um grafo G = (V , E ) consideremos a soma dos graus


dos seus vértices 󰁛
s= dG (v )
v ∈V

Note-se que esta soma conta cada aresta e duas vezes, uma para
cada um dos vértices adjacentes a e. Logo s = 2|E |, e portanto, s
é par.
Subtraindo a s os graus dos vértices de G com grau par, o
resultado é a soma dos graus dos vértices de grau ı́mpar, e
continua a ser par.
Subgrafos

Definição: Dado um grafo G = (V , E ):


• Um grafo G ′ = (V ′ , E ′ ) é um subgrafo de G se e só se
V ′ ⊆ V e E′ ⊆ E.

• Um grafo G ′ = (V ′ , E ′ ) é chamado de subgrafo induzido de G


se e só se V ′ ⊆ V e E ′ = { {u, v } ∈ E | u, v ∈ V ′ }.

Dado um grafo G , um caminho, ciclo, ou clique em G é um


subgrafo de G que é respectivamente um caminho, ciclo ou clique.
Conectividade

Definição: Dois vértices v e u de G dizem-se ligados se e só se


existe um caminho em G que liga u e v .

Definição: Um grafo G diz-se conexo se e só se qualquer par de


vértices em G está ligado.

Um subgrafo G ′ de G é chamado de componente conexa de G se


G ′ é conexo e não existe um grafo G ′′ , tal que G ′ ⊂ G ′′ ⊆ G que
seja conexo. Um grafo é conexo se e só se tem uma única
componente conexa.
Grafos dirigidos - digrafos

Definição: Um grafo dirigido G é um par ordenado (V , E ), onde


V é um conjunto e E é um conjunto de pares ordenados de V . Ou
seja
E ⊆ { (x, y ) | x, y ∈ V }.

Nota: Representamos uma relação binária R definida num


conjunto A pelo grafo dirigido GR = (A, R).

Para grafos dirigidos, definimos a noção de grau de entrada e grau


de saı́da de um vértice v definidos respectivamente como
|{ u ∈ V | (u, v ) ∈ E }| e |{ u ∈ V | (v , u) ∈ E }|.
Outras Noções de Grafos

Um grafo (dirigido ou não dirigido) pode ter múltiplas arestas


entre o mesmo par de vértices.

A presença de múltiplas arestas significa que as arestas passam a


ser representadas por um multiconjunto.

Um grafo com pesos é um grafo onde podemos associar pesos


(númericos) às arestas.

Quando não indicado nada em contrário usamos a designação


grafo para grafos não dirigidos (sem pesos).
Grafo Complementar e União de Grafos

Definição: Dado um grafo G = (V , E ), definimos o grafo


complementar de G , como o par (V , E ′ ), tal que uma aresta
e ′ ∈ E ′ se e só se e ′ ∈
/ E . Denotamos o grafo complementar por G .

Definição: A união de dois grafos G1 = (V1 , E1 ), G2 = (V2 , E2 ) é


o grafo com conjunto de vértices V1 ∪ V2 e conjunto de arestas
E1 ∪ E2 . A união de G1 e G2 é denotada por G1 ∪ G2 .
Percursos, Pistas e Circuitos

Definição: Dado um grafo G = (V , E ), um percurso W em G é


uma sequência W = (v1 , e1 , v2 , e2 , . . . , vn−1 , en−1 , vn ) de vértices e
arestas em G que não são necessariamente distintas e tais que
{v1 , v2 , . . . , vn } ⊆ V , {e1 , e2 , . . . , en−1 } ⊆ E , e ei = {vi , vi+1 },
para todo 1 ≤ i ≤ n − 1.

Definição: Dado um grafo G = (V , E ), uma pista é um percurso


W = (v1 , e1 , v2 , e2 , . . . , vn−1 , en−1 , vn ) em que cada aresta aparece
no máximo uma vez.

Definição: Dado um grafo G = (V , E ), um circuito é um


percurso fechado W = (v1 , e1 , v2 , e2 , . . . , vn−1 , en−1 , vn ) em que v1
e vn coincidem.
Percursos e circuitos Eulerianos

Definição: Um percurso de Euler num grafo é uma pista que


inclui todos os ramos desse grafo.

Um percurso Euleriano fechado (ou seja um circuito), é chamado


de circuito Euleriano.

Um grafo diz-se Euleriano se contém um circuito Euleriano.

Teorema: Um grafo é Euleriano se e só se é conexo e cada um


dos seus vértices tem um grau par.
Sete pontes de Königsberg

O problema é baseado na cidade de Königsberg (Prússia até 1945,


actual Kaliningrado, Rússia) que é cortada pelo Rio Pregolia e
onde há duas grandes ilhas que, juntas, formam um complexo que
na época continha sete (7) pontes.

Discutia-se nas ruas da cidade a possibilidade de atravessar todas


as pontes, sem repetir nenhuma, voltando ao ponto de partida.

Havia-se tornado uma lenda popular a possibilidade da façanha


quando Leonhard Euler, em 1736, provou que não existia caminho
que possibilitasse tais restrições.
Percursos e circuitos Hamiltoneanos

Definição: Um percurso de Hamilton (1859) num grafo é um


percurso que passa por cada vértice do grafo uma e uma só vez.

Definição: Um circuito de Hamilton é um circuito com origem e


fim no mesmo vértice e que passa por cada um dos restantes
vértices do grafo uma e uma só vez.

Serve de modelo ao “Problema do caixeiro viajante”, que tendo


que visitar várias localidades, pretende saber qual o melhor
caminho a percorrer sem passar (se possı́vel) duas vezes na mesma
localidade.

Nota: É um problema NP-completo.


Alguns grafos especiais

Recordemos:
Grafo completo de n vértices: O grafo Kn com n vértices em
que cada par de vértices está ligado.

Ciclo de n vértices: O grafo Cn = (V , E ), com n ≥ 3 vértices,


onde V = {1, 2, . . . , n} e
E = {{i, i + 1} : 1 ≤ i ≤ n − 1} ∪ {{1, n}}.

Roda de n vértices: O grafo Wn , pode ser obtido de Cn ,


adicionando um vértice adicional e ligando o novo vértice aos n
vértices de Cn .
Grafos bipartidos

Um grafo bipartido é um grafo que pode ser particionado em duas


partes tal que as arestas do grafo ligam uma parte à outra, mas
não vértices numa mesma parte.

Definição: Um grafo G = (V , E ) diz-se bipartido se e só se


existe uma partição {V1 , V2 } de V , tal que

E ⊆ { {v1 , v2 } | v1 ∈ V1 , v2 ∈ V2 }.

Os conjuntos V1 and V2 são chamados de classes de G .

O grafo C6 é um grafo bipartido e K3 não é bipartido.

Proposição: Um grafo é bipartido se e só se não tem ciclos de


tamanho ı́mpar.
Grafos bipartidos completos

Um grafo bipartido completo Km,n é um grafo que contém todas


as arestas possı́veis entre as duas classes.

Ou seja, Km,n = (V , E ), onde V = {1, 2, . . . , m + n} e


E = { {i, j} | 1 ≤ i ≤ m, m + 1 ≤ j ≤ m + n }.

O número de arestas em Km,n é mn.

Uma rede com uma topologia em estrela, pode ser representada


por um grafo bipartido completo K1,n .
Grafos planares

Definição: Um grafo é planar se e só se for possı́vel representá-lo


no plano sem que haja cruzamento de arestas.

Essa representação é chamada de representação planar do grafo.

Caminhos e ciclos são exemplos de grafos planares (assim como


árvores).

O grafo K4 é planar

O grafo K3,3 é não-planar.

A representação planar de um grafo divide o plano em regiões,


incluindo uma região não limitada.
Árvores

Definição: Uma árvore T é um grafo conexo sem ciclos.

Os grafos com apenas um vértice representam árvores


degeneradas, constituı́dos por apenas uma folha.
Numa árvore não degenerada chamamos folhas aos vértices de
grau um.

Uma árvore, juntamente com um nó especial, ao qual designamos


de raı́z, define um grafo dirigido.

Se T é uma árvore com uma raiz e v é um nó da árvore, então v é


pai dos nós u tais que (v , u) é uma aresta da árvore e filho do nó
w tal que (w , v ) é uma aresta.

Chamamos nós internos aos nós com descendentes.


Árvores
Teorema: Um grafo é uma árvore se e só se existe um único
caminho entre quaisquer dois dos seus vértices.

Prova: Vamos assumir que T é uma árvore. Então T é um grafo


conexo, sem ciclos. Sejam x e y dois vértices de T . Como T é conexo,
existe um caminho entre x e y . Se existir mais do que um caminho entre
x e y , é possı́vel combinar (partes dos) os dois caminhos de forma a
obter um ciclo em T , o que contradiz a definição de árvore. Para isso,
note que nesse caso teriamos um caminho 〈v0 = x, v1 , . . . , vk , vk+1 = y 〉
(k ≥ 1) e outro caminho 〈w0 = x, w1 , . . . , wℓ , wℓ+1 = y 〉 (ℓ ≥ 0) entre x
e y . Tomando j = min { i | vi ∕= wi (1 ≤ i ≤ k, ℓ) }, e
r = min { i | vi ∈ {wj+1 , . . . , wℓ+1 } (j ≤ i ≤ k + 1) }, e ainda
s ∈ {j + 1, . . . , ℓ + 1} tal que vr = ws , obtemos o ciclo
〈vj−1 = wj−1 , vj , . . . , vr = ws , ws−1 , . . . , wj , wj−1 = vj−1 〉.
Por outro lado, se entre quaisquer dois vértices de um grafo T existir um
(único) caminho, então T é conexo. Supondo que existe um ciclo em T
contendo dois vértices x e y , então existiriam dois caminhos entre x e y .
Logo não existem ciclos em T . Concluimos que T é uma árvore.
Árvores

Teorema: Uma árvore com n ≥ 1 vértices tem n − 1 arestas.

Prova: Por indução sobre n:


• Caso base: para n = 1, temos uma árvore com 0 arestas.
• Caso indutivo: Supomos que qualquer árvore com k vértices
tem k − 1 arestas. Seja T uma árvore com k + 1 vértices e
seja v uma folha em T .

Removendo v e a única aresta {w , v } resulta numa árvore T ′


com k vértices. Por hipótese de indução T ′ tem k − 1 arestas.
Logo T tem k arestas, pois tem uma aresta mais que T , que
é a aresta {w , v }.

Você também pode gostar