Escolar Documentos
Profissional Documentos
Cultura Documentos
Licenciatura em Matemática
Departamento de Matemática
Matemática Discreta
Capı́tulo - Teoria de Grafos Assis Azevedo
1. Generalidades
Definição 1.2. Um grafo diz-se simples se não tem lacetes nem admite arestas diferentes
com as mesmas extremidades.
Note-se que um grafo simples com n vértices tem entre 0 e n2 arestas. Em particular
um grafo simples é finito se e só se tiver um número finito de vértices. Se um grafo não for
simples ele pode ter uma infinidade de arestas mesmo tendo um número finito de vértices,
se existir uma infinidade de lacetes extremidade num dado vértice ou então uma infinidade
de arestas com as mesmas extremidades.
Por outro lado, um grafo simples infinito pode ter um número finito de arestas.
Existem por vezes na literatura definições mais restritivas. Por exemplo, alguns autores
chamam grafo ao que nós aqui chamamos grafo simples.
A representação de um grafo finito pode ser obtida dos seguinte modo: começamos por
marcar no plano (por exemplo) um ponto por cada vértice do grafo; para cada aresta do
grafo unimos por uma linha contı́nua (recta ou não) as suas extremidades (se existirem duas
arestas com as mesmas extremidades desenhamos duas linhas a uni-las). A menos que seja
estritamente necessário não daremos nomes às arestas e, por vezes, aos vértices.
2
Exemplos 1.3.
a) Se |V | = 4 e para cada par de vértices distintos existir uma e uma só aresta
cujas extremidades sejam esses dois vértices temos (por exemplo) as seguintes repre-
sentações do grafo
v3 v4 v3
v4
v1 v2 v1 v2
b) O seguinte grafo (com duas representações) foi obtido a partir do anterior com a
inclusão de duas arestas.
v3 v4 v3
v4
v1 v2 v1 v2
De seguida vou identificar alguns grafos que serão usados no que segue.
Exemplos 1.4. Com apenas duas excepções (C2 e W2 ) os grafos seguintes são grafos sim-
ples. Para simplificar a representação dos grafos não vou “dar nomes” às arestas nem aos
vértices.
a) Os grafos Pn têm n vértices, v1 , v2 , . . . , vn e n − 1 arestas, e1 , e2 , . . . , en−1 em que,
se 1 ≤ i < n as extremidades de ei são vi e vi+1 .
P1 P2 P3 P4 P5
C2 C3 C4 C5
W2 W3 W4 W5
3
K1 K2 K3 K4 K5
e) Os grafos Kn,m podem ser obtidos do seguinte modo: consideramos dois grupos de
vértices, um com n e o outro com m elementos; unimos cada vértices do primeiro
grupo a cada um dos vértices do segundo por uma única aresta.
f ) Temos também os grafos platónicos obtidos pela “planificação” dos sólidos platónicos.
Ver secção 6 para uma caracterização destes poliedros.
“Dodecaedro” “Icosaedro”
4
g) Outros dois grafos muito usuais e que servem em muitos casos para procurarmos
“contra-exemplos” são os chamados grafo de Petersen e grafo de Tutte
Note-se que num grafo simples com n vértices, cada vértice tem grau entre 0 e n − 1.
Como não pode haver simultaneamente um vértice com grau 0 e um outro com grau n − 1
(pois este seria adjacente a todos os outros) então temos n vértices e n − 1 possibilidades
para grau dos vértices. Fica assim mostramos o seguinte resultado.
Lema 1.6. Num grafo simples finito há sempre dois vértices com o mesmo grau.
Decorre imediatamente da definição de grau de um vértice o seguinte resultado.
Lema 1.7 (do aperto de mão). A soma dos graus dos vértices de um grafo finito é igual ao
dobro do número de arestas do grafo. Em particular essa soma é par.
Como consequência temos.
Teorema 1.8. Num grafo finito o número de vértices de grau ı́mpar é par.
Demonstração. Seja G um grafo finito e consideremos
V p = {v ∈ V : gr v é par}, V i = {v ∈ V : gr v é ı́mpar}.
Do Lema 1.7 e da igualdade
X X X
gr v = gr v + gr v
v∈V v∈V p v∈V i
resulta que o último somatório é par (pois os outros também são). Como a soma de um
número finito de números ı́mpares é par se e só se o número de parcelas o for, concluı́mos
que V i tem um número par de elementos.
5
Como exemplo vejamos que numa dada festa com 49 elementos há sempre uma pessoa
que conhece um número par de (outras) pessoas. Para isso basta considerar o grafo simples
em que: os vértices são formados pelas pessoas presentes na festa; dois vértices diferentes
são unidos por uma aresta se as pessoas representadas por esses vértices se conhecerem.
Aplicando o teorema anterior podemos concluir que o número k de pessoas que conhece um
número ı́mpar de (outras) pessoas é par. Por exclusão de partes existem 49 − k pessoas que
conhecem um número par de (outras) pessoas. Note-se que 49 − k não é zero pois é um
número ı́mpar.
Note-se que se na festa estivessem 48 pessoas poderia acontecer o caso de todas elas se
conhecerem e portanto cada uma delas conhecia um número ı́mpar (47) de pessoas na festa.
O teorema anterior tem uma espécie de recı́proco.
Definição 1.10. Um grafo G diz-se bipartido se o conjunto dos vértices é a união disjunta
de dois conjuntos V1 e V2 tais que toda a aresta de G tem uma extremidade em V1 e outra
em V2 .
Os grafos Kn,m (m, n ∈ N), são casos tı́picos de grafos bipartidos. De facto são o que se
chama grafos simples bipartidos completos. Note-se que estes grafos não são completos
mas não podemos acrescentar mais arestas a esses grafos mantendo-o simples e bipartido.
Uma maneira de ver se um dado grafo é ou não bipartido é tentar usar duas cores (cor 1
e cor 2) para colorir os vértices do grafo de modo a que dois vértices com a mesma cor não
sejam adjacentes. Caso consigamos, consideramos V1 e V2 o conjunto formado pelos vértices
que foram coloridos com a cor 1 e com a cor 2, respectivamente.
Na prática, se o grafo for finito, escolhemos a cor 1 para um dos vértices. Para que o grafo
seja bipartido todos os vértices adjacentes ao vértice inicial têm de ter a cor 2. Para cada
um dos vértices já com a cor 2 vamos atribuir a cor 1 aos vértices que lhes são adjacentes.
6
Se chegarmos a uma contradição, o grafo não é bipartido, caso contrário continuamos com
o processo. Mais cedo ou mais tarde o processo termina. O que estamos a fazer é a definir
o que se chama uma 2-coloração de um grafo, que será mais tarde generalizada.
v4 v4 v4
v1 v2 v1 v2 v1 v2 v1 v2
Note-se que o primeiro, o segundo e quarto grafos na figura acima são obtidos do grafo
original, retirando arestas e que o terceiro grafo é G − {v4 }.
7
O seguinte grafo é um subgrafo do grafo da alı́nea b) do Exemplo 1.3 que não é da forma
G − C nem G − E, com C ⊆ V e E ⊆ A
v3
v1 v2
Note-se que pode haver muitos subgrafos de um grafo dado. Por exemplo grafos da forma
G − C em que C ⊆ V existem 2|V | , que é o número de subconjuntos de V . Para cada um
desses subgrafos podemos ainda retirar algumas arestas obtendo em cada caso subgrafos
diferentes. É claro que muitos desses subgrafos podem ter a mesma representação.
Para terminar esta secção vamos formalizar o que se entende por dois grafos terem a
mesma estrutura.
2. Caminhos
Vamos agora introduzir a noção de caminho e de alguns dos seus casos particulares.
C = (v0 , e1 , v1 , e2 , . . . , vn−1 , en , vn ),
Nas condições desta definição, se n = 0 o caminho diz-se trivial. Dizemos que C une v0
a vn e que v0 a vn são as extremidades de C , sendo v0 o inı́cio e vn o fim de C .
Em geral, nas condições da definição dizemos que o caminho passa nos vértices v0 , v1 , . . . , vn
e nas arestas e1 , . . . , en . Na definição de caminho é necessário referir que ϕG (ei ) = {vi−1 , vi }
(se i ≤ n) e não apenas que vi−1 , vi são extremidades de ei . Por exemplo, se o desenho
seguinte for uma representação de parte de um grafo
v1 e1 v0 e2 v2
então a sequência (v0 , e1 , v0 , e2 , v2 ) não é um caminho embora v0 seja extremidade de e1 e
v0 e v2 sejam extremidades de e1 .
Note-se também que, na definição do caminho é necessário indicar as arestas pois no grafo
podem existir arestas com as mesmas extremidades. Se tal não acontecer (por exemplo, se
G é simples) podemos definir caminhos apenas pela sucessão dos vértices por onde ele passa.
Com as notações referidas, o número de arestas, contando com as repetições, usadas para
definir um caminho C diz-se o comprimento do caminho e denota-se por |C |.
Como é de esperar, podemos multiplicar (em certas condições) e inverter caminhos.
9
C ∗D = (v0 , e1 , v1 , · · · , en , vn , f1 , u1 , · · · , fm , um ).
C −1 = (vn , en , · · · , v1 , e1 , v0 ).
Nota 2.4. Se C , D e E são caminhos num grafo G tais que podemos considerar os produtos
de concatenação C ∗ D e (C ∗ D) ∗ E então:
• (C ∗ D)−1 = D −1 ∗ C −1 ;
• (C ∗ D) ∗ E = C ∗ (D ∗ E ) (o produto de concatenação é associativo).
Esta última observação dá sentido à expressão C ∗ D ∗ E .
Nota 2.6. Se um caminho repetir arestas então não é simples pois repete os vértices que
incidem na aresta repetida e uma das ocorrências dessa repetição não é extremidade do
caminho. Por outro lado um caminho pode ser simples e repetir arestas, como acontece com
os caminhos da forma (u, e, v, e, u), que só repetem os vértices que são extremidades. De facto
os caminho desta forma são os únicos caminhos simples que repetem arestas. Verifique!
Lema 2.7. Sejam G um grafo finito e C um trilho em G. Então existe um trilho D que
prolonga C à direita (esquerda) e que não pode ser prolongado à direita (esquerda) por outro
trilho.
Demonstração. Prolongando o trilho C à direita usando novas arestas enquanto isso for
possı́vel, obtemos um trilho nas condições pretendidas.
Usando as duas versões deste lema, à esquerda e à direita obtemos o seguinte resultado.
Corolário 2.8. Todo o trilho num grafo finito é um subgrafo de um trilho que por sua vez
não é um subgrafo de nenhum outro trilho.
O próximo resultado dá-nos uma condição suficiente sobre um grafo de modo a garantir
a existência de ciclos simples.
Proposição 2.9. Sejam G um grafo e C um circuito que usa uma dada aresta apenas uma
vez. Então existe um ciclo simples no grafo que usa apenas arestas de C e que passa pela
aresta referida.
Demonstração. Seja e uma aresta que é usada uma só vez no caminho C e consideremos D
e E caminhos tais que C = D ∗ E e e é a primeira aresta do caminho E . Consideremos o
caminho E ∗D. Note-se que este caminho é da forma (v0 , e, v1 , . . . , en , vn ), com vn = v0 . Seja
k o menor ı́ndice positivo tal que vk = v0 e consideremos D1 = (v0 , e, v1 , . . . , ek , vk ). Se este
caminho for simples a demonstração terminou. Se o caminho não for simples então existem
0 < i < j < n tais que vi = vj . Nesse caso consideramos D2 = (v0 , e, . . . , vi , ej , . . . , vk ), que
11
é um caminho fechado que usa apenas arestas do caminho original, usa a aresta e uma só
vez e tem comprimento menor do que D1 . Se D2 não for simples podemos repetir o processo.
Como o caminho C tem comprimento finito, este processo pára, obtendo nesse momento um
circuito simples. Como a aresta e só pode aparecer uma vez este circuito não é da forma
(u, e, v, e, u) e portanto é um ciclo (ver a parte final da Nota 2.6).
Se no enunciado considerasse que a aresta e aparecia 2 vezes (de facto um número par
de vezes) então o resultado poderia não ser verdadeiro pois o caminho poderia ser da forma
(u, e, v, e, u), por exemplo.
Corolário 2.10. Sejam G um grafo, e uma aresta de G e C um circuito que usa a aresta e
um número ı́mpar de vezes. Então existe um ciclo simples no grafo que usa apenas arestas
de C e que passa pela aresta e.
C0 ∗ E1 ∗ C1 ∗ E2 ∗ · · · Ck−1 ∗ Ek ∗ Ck ,
Se existir i < k tal que Ei = Ei+1 então aplicamos a proposição anterior ao caminho Ei ∗ Ci
que é um caminho fechado usando a aresta e apenas uma vez. Se Ei 6= Ei+1 para todo i < k
então necessariamente
E1 = E3 = · · · = Ek , E2 = E4 = · · · = Ek−1 .
Por exemplo, se n, m ∈ N:
• Pn , Cn , Wn , Kn e os grafos platónicos são hamiltonianos;
• Km,n é hamiltoniano se e só se n = m;
• Cn é euleriano;
• Wn não é euleriano para n ≥ 2;
• Kn é euleriano se e só se n é ı́mpar;
• Km,n é euleriano se e só se n e m são pares;
• o “octaedro” é o único grafo platónico euleriano.
A demonstração de que alguns destes grafos não são eulerianos pode não ser óbvia!
12
Definição 2.12. Um grafo diz-se conexo se dois quaisquer dos seus vértices podem ser
unidos por um caminho. Um grafo que não seja conexo diz-se desconexo.
Note-se que todos os grafos que vimos até agora são conexos.
A propriedade de “ser euleriano”, “ser hamiltoniano”, “ser conexo” é preservada por
isomorfismo. Dito de outro modo, se G e H são grafos isomorfos e um deles é euleriano (ou
hamiltoniano, ou conexo) então o outro também é.
A distância entre dois vértices num grafo conexo é o menor comprimento possı́vel de um
caminho que una esses dois vértices.
Como exercı́cio pode verificar que a função d : VG × VG −→ N0 que a cada par de vértices
associa a distância entre eles é o que se chama uma métrica sobre VG , isto é satisfaz as
condições:
• ∀u, v ∈ VG , d(u, v) ≥ 0;
• ∀u, v ∈ VG , d(u, v)) = 0 se e só se u = v;
• ∀u, v ∈ VG , d(u, v) = d(v, u);
• ∀u, v, w ∈ VG , d(u, w) ≤ d(u, v) + d(v, w) (desigualdade triangular).
Chamamos diâmetro de um grafo conexo ao supremo das distâncias entre vértices do
grafo.
Intuitivamente parece claro que se fizermos uma representação plana (por exemplo) de
um grafo desconexo estamos no fundo a fazer representações de 2 ou mais grafos conexos.
Cada um desses grafos é o que se chama “uma componente conexa do grafo original”.
Formalmente a situação é a seguinte. Se G é um grafo (desconexo para o que interessa
agora) definimos a seguinte relação R sobre VG (que facilmente se vê ser de uma relação de
equivalência)
R = {(u, v) ∈ VG × VG : existe um caminho em G que une u a v}.
Usando a partição sobre VG induzida por esta relação de equivalência obtemos G como
uma “união” de subgrafos de G conexos. Cada um deles tendo os elementos de uma classe
como vértices e como arestas as arestas de G que unem vértices dessas classe.
Note-se que dois pontos de duas classe de equivalência diferentes não são extremidades
do mesmo caminho e, muito menos, da mesma aresta. Se G for conexo esta relação de
equivalência é universal. O número de classes desta relação de equivalência diz-se o número
de componentes conexas de G.
É óbvio que se dois grafos são isomorfos então admitem o mesmo número de componentes
conexas. Quando queremos mostrar que dois grafos não são isomorfos começamos por ver se
têm o mesmo número de vértices e se os graus dos vértices são os mesmos. A partir daqui
o problema pode complicar-se. Se, por exemplo, tivermos dois grafos G e H, e ∈ AG tais
que G − {e} é desconexo então, se G e H forem isomorfos tem de existir f ∈ AH tal que
H − {f } é desconexo e G − {e} e H − {f } são isomorfos. E o processo pode continuar!
13
Exemplos 2.13.
v2 v3
v1 v4
Para além disso, o grafo de Petersen não é um grafo hamiltoniano mas, se tirarmos
um qualquer dos seus vértices (e todas as arestas que lhe são adjacentes) obtemos
um grafo hamiltoniano. Verifique!
3. Árvores
Definição 3.1. Seja G um grafo. Uma aresta e diz-se uma ponte de G se o número de
componentes conexas de G − e for maior do que o número de componentes conexas de G.
Dito de outra maneira: num grafo G uma aresta e é uma ponte se e só se as suas extre-
midades só poderem ser unidos por caminhos que usem a aresta e.
Vejamos uma outra caracterização das pontes num grafo.
Lema 3.2. Num grafo G uma aresta é uma ponte se e só se não pertence a um ciclo.
É claro que as componentes conexas de uma floresta são árvores. Note-se que todo o
subgrafo de uma floresta é uma floresta mas um subgrafo de uma árvore pode não ser uma
árvore, pois pode não ser conexa.
Dado um grafo G dizemos que um seu subgrafo é uma árvore geradora de G se for uma
árvore e contiver todos os vértices de G.
15
Proposição 3.4. Todo o grafo conexo finito admite uma árvore geradora.
Demonstração. Seja G um grafo conexo. Se G não admitir ciclos então é uma árvore gera-
dora. Se G admitir ciclos então retiramos uma aresta ao ciclo obtendo-se um grafo conexo
(pois a aresta não é uma ponte, pelo Lema 3.2) com os mesmo vértices. Se este grafo for
uma árvore o processo termina, caso contrário retirámos-lhe uma aresta que pertença a um
ciclo. Como o grafo é finito, o processo pára, obtendo então uma árvore geradora de G.
sendo o grafo da direita uma árvore geradora do grafo da esquerda (e também dos outros).
Note-se que poderı́amos ter aplicado este método de outras maneiras e obterı́amos várias
árvores geradores deste grafo.
Lema 3.5. Se numa árvore finita há um vértice de grau k (k ∈ N) então a árvore tem pelo
menos k vértices de grau 1.
ei Ei
vj
v wi = wj Neste desenho Ci = (v, ei , vi ) ∗ Ei
ej vi
Ej
Este resultado dá-nos a ideia que numa árvore a média dos graus dos vértices é muito
baixo. De facto, se n é o número de vértices da árvore, a média referida é igual a 2(1 − n1 ),
que é um número entre 1 e 2 (ver Exercı́cio 41).
16
Demonstração. O Lema 3.2 mostra que as duas primeiras condições são equivalentes.
a) ⇒ c) Vamos fazer a demonstração por indução sobre o número de vértices de G. Se G
tem um só vértice então não tem arestas, pois caso contrário teria um ciclo.
Suponhamos agora que o resultado vale para todas as árvores com n vértices (para algum
n ∈ N) e seja G uma árvore com n + 1 vértices. Pelo lema anterior G tem (pelo menos) um
vértice v de grau 1. Seja e a aresta de G incidente em v. Neste caso G − v é uma árvore
pois é conexo (porquê?). Aplicando a hipótese de indução, podemos concluir que G − v tem
mais um vértice do que arestas. Como G tem mais um vértice e uma aresta do que G − v a
conclusão segue imediatamente.
c) ⇒ a) Seja agora G um grafo conexo tal que |VG | = |AG | + 1. Usando a Proposição 3.4,
seja H uma árvore geradora de G. Pela implicação que acabámos de demonstrar, aplicada
a H, temos |VH | = |AH | + 1. Desta igualdade, do facto de H e G terem os mesmos vértices
e da igualdade |VG | = |AG | + 1 obtemos |AH | = |AG |. Em particular G = H, pois H é um
subgrafo de G. Concluı́mos assim que G é uma árvore.
Se considerarmos florestas em vez de árvores podemos usar este teorema em cada compo-
nente conexa da floresta, que é uma árvore, e obter o seguinte resultado.
4. Caminhos eulerianos
É claro que se o grafo for desconexo existem vértices no grafo que não podem ser unidos
por um caminho e, portanto, o grafo não admite nenhum caminho euleriano ou hamiltoniano.
17
Teorema 4.1. Um grafo conexo finito é euleriano se e só se todos os seus vértices tiverem
grau par.
Inversamente, se todos os vértices de G têm grau par começamos por escolher um vértice
v0 e vamos definir um caminho que comece em v0 . Esse caminho pode ir sempre sendo
prolongado, sem repetir arestas, até chegarmos a um vértice em que todas as arestas nele
incidentes já tenham sido usadas.
Nesse momento obtemos um caminho da forma
C1 = (v0 , e1 , v1 , . . . , en , vn )
Suponhamos que há um vértice vi de C1 que é uma extremidade de uma aresta que não
pertence a C1 . Nesse caso o grafo H obtido de G por exclusão das arestas que pertencem
a C1 é um grafo (possivelmente não conexo) cujos vértices têm todos grau par. Podemos
aplicar a este grafo o raciocı́nio referido acima para encontrar um trilho fechado D em H
que começa e acaba em vi . Deste modo o caminho
Nota 4.2. Da demonstração do teorema segue também que, se um grafo for euleriano então
admite um circuito euleriano a começar em qualquer dos seus vértices e seguindo por uma
qualquer aresta nele incidente.
Vejamos um exemplo.
8
A 1 B
C
3 7
2 6 10 9
4 12
5 D
F E
11
8
A B
C
3 7
10 9
4 12
D
F E
11
e repetimos o processo começando num dos vértices já usados e que incida em alguma aresta,
por exemplo o F . Construo um trilho fechado, por exemplo, D = (F, 4, B, 7, C, 8, B, 3, F ).
“Incluı́mos” agora este trilho em C1 , substituindo F por D, obtendo assim o trilho
C2 = (A, 1, B, 6, E, 5, F, 4, B, 7, C, 8, B, 3, F, 2, A).
De seguida retiramos as arestas já usadas e repetimos o processo agora no grafo
A B
C
10 9
12
D
F E
11
Se apenas dois dos vértices de um grafo tiverem grau ı́mpar então podemos encontrar
caminhos (não ciclos) eulerianos no grafo.
Corolário 4.4. Um grafo admite um caminho euleriano que não é fechado se e só se tiver
exactamente dois vértices com grau ı́mpar. Caso exista um caminho euleriano não fechado
os vértices de grau ı́mpar são as extremidades do caminho.
Um outro algoritmo (em geral muito mais simples de executar) para construir circuitos
eulerianos, quando existem, é o chamado algoritmo de Fleury.
Começamos num vértice qualquer. Em cada passo acrescentamos uma aresta e um vértice
ao caminho que queremos definir e construı́mos um novo grafo obtido do anterior por remoção
da aresta escolhida. O único cuidado é que a aresta que se vai escolher em cada momento
não seja uma ponte do grafo com que estamos nesse momento a trabalhar, a não ser que não
haja outra hipótese. Mostra-se que quando retirarmos todas as arestas ao grafo original, o
caminho que estamos a construir em paralelo é um circuito euleriano.
Este algoritmo pode ser usado no caso em que o grafo tem exactamente dois vértices de
grau ı́mpar. A única diferença é que temos de começar num desses dois vértices.
Vamos aplicar este algoritmo ao grafo do Exemplo 2.13, alı́nea b), começando pelo vértice
v1 . A sucessão de grafos obtida por este processo pode ser
v5 v5 v5 v5 v5 v5 v5 v5
v2 v3 v2 v3 v2 v3 v2 v3 v2 v3 v2 v3 v2 v3 v2 v3
v1 v4 v1 v4 v1 v4 v1 v4 v1 v4 v1 v4 v1 v4 v1 v4
O caminho euleriano é aquele que começa em v1 e vai seguindo as arestas que vão ficando
a tracejado conforme percorremos a sucessão dos grafos. Dito de outro modo, o caminho
euleriano passa sucessivamente pelos vértices v1 , v3 , v4 , v1 , v2 , v3 , v5 , v2 e v4 .
20
5. Grafos planares
Parece ser intuitivo (e é verdade!) que todo o grafo finito pode ser representado no
espaço (a 3 dimensões) sem cruzamento de arestas a não ser nos vértices. Uma questão mais
complicada é a de caracterizar quais os grafos finitos que podem ser representados no plano
com as condições referidas.
Definição 5.1. Um grafo diz-se planar se tiver uma representação no plano de tal modo
que as arestas não se intersectem a não ser em vértices.
Note-se que podemos ter uma representação não planar de um grafo planar. Por exemplo
as seguintes são representações de um mesmo grafo
três delas planares (duas usando apenas segmentos de recta) e uma não planar.
É também claro que dois grafos isomorfos são ambos planares ou ambos não planares.
···
K4 K3 K2 K1 K2,m
Atendendo aos dois últimos pontos, no estudo da planaridade basta-nos considerar grafos
simples.
Nota 5.2. Podemos fazer algumas operações sobre grafos finitos mantendo a sua planari-
dade. Seja G um grafo finito.
a) (eliminação de vértices de grau dois) Seja (u, e, v, f, w) um caminho em G,
em que u, v e w são vértices diferentes e gr v = 2. Então G é planar se e só se o
grafo obtido a partir de G − v por inclusão de uma aresta g incidente em u e w é
planar. Na prática no desenho do grafo esquecemos o vértice v (que era adjacente
apenas às arestas e e f ) e juntamos as arestas e e f numa só.
A situação pode ser descrita pelo seguinte desenho (da parte relevante dos grafo)
u u
e g
v w w
f
v
e u t u t
z z
Se o grafo original for planar então o novo grafo também é planar, mas o
reverso não é verdadeiro, como se poderá ver mais tarde quando tivermos exemplos
de grafos não planares.
A sequência que segue mostra que o grafo K3,3 pode ser obtido, usando as operações
referidas na nota acima a partir do grafo de Petersen.
Pelo que foi dito acima se dois grafos são homeomórficos então são ambos planares ou
ambos não planares.
Vamos agora mostrar a fórmula de Euler para grafos planares. Esta fórmula, que como
veremos, generaliza a conhecida fórmula de Euler para poliedros, servirá, em particular, para
mostrar que K3,3 e K5 não são grafos planares.
Neste momento nada nos diz que duas representações planas de um dado grafo dividam
o plano no mesmo número de regiões. Veremos que isto de facto acontece.
Dada uma representação plana de um grafo, o plano fica dividido em várias regiões. Se
nessa representação retirarmos uma “aresta” que pertença a um ciclo então o número de
regiões diminui de uma unidade. Esta observação está na base da demonstração do teorema
seguinte.
Teorema 5.4 (Euler). Seja G = (V, A, ϕ) um grafo finito, conexo e planar e consideremos
uma sua representação plana. Nestas condições, se |F | for o número de regiões em que o
plano fica “dividido” pela representação gráfica, então
|V | − |A| + |F | = 2.
Demonstração. Se o grafo é uma árvore então o resultado é equivalente ao Teorema 3.6, uma
vez que |F | = 1.
Se G não é uma árvore, então G admite um ciclo. Seja e uma aresta pertencente a esse
ciclo e consideremos H = G − e. Pelo Lema 3.2, H é um grafo conexo que é planar pois é
um subgrafo de G. Usando um argumento de indução (sobre o número de arestas) podemos
concluir que H satisfaz a tese do teorema. Como VH = V e AH = A \ {e} e H divide o
plano em |F | − 1 regiões então |V | − (|A| − 1) + (|F | − 1) = 2 ou seja |V | − |A| + |F | = 2.
A segunda parte do teorema é uma consequência da primeira uma vez que os números
|V | e |A| não dependem da representação do grafo e |F | = 2 − |V | + |A|.
23
O seguinte lema vai servir para mostrar que os grafos K3,3 e K5 , por exemplo, não são
planares.
Lema 5.5. Seja s ∈ N. Se G é um grafo planar em que todos os seus ciclos têm comprimento
pelo menos s, então (com as notações anteriores) |F | ≤ 2s |A|.
Demonstração. Sejam P1 , P2 , . . . , P|F | as regiões delimitadas pelo grafo. Deste modo, como
o número de arestas de Pi é pelo menos s, temos
|F | |F |
X X
(número de arestas de Pk ) ≥ s = s |F |.
k=1 k=1
Por outro lado, como cada aresta delimita no máximo duas regiões temos
|F |
X
(número de arestas de Pk ) ≤ 2 |A|.
k=1
2
Em particular s |F | ≤ 2 |A| ou seja |F | ≤ s |A|.
Note-se que, se um grafo planar for simples então o número s referido no enunciado do
lema é pelo menos 3.
Note-se que daqui resulta que o grafo de Petersen não é planar (ver página 21). Vejamos
mais 3 demonstrações deste facto (apenas a tı́tulo de exercı́cio).
······
24
Vamos agora obter o grafo K3,3 a partir do grafo de Petersen. Começamos por eliminar
duas arestas, depois eliminamos os vértices de grau 2. No final obtivemos uma representação
do grafo K3,3 .
A terceira demonstração é similar à que foi feita no caso dos grafos K3,3 e K5 . Aplicando
a fórmula de Euler, se o grafo de Petersen fosse plano então uma sua representação plana
dividiria o plano em 7 regiões. Por outro lado os ciclos no grafo de Petersen têm todos
comprimento pelo menos 5. Deste modo, usando o Lema 5.5, 7 ≤ 30 5 o que é falso.
Proposição 5.8. Se um grafo simples finito é planar então admite pelo menos um vértice
de grau menor ou igual a 5.
Demonstração. Suponhamos que G é um grafo finito em que todos os seus vértices têm grau
maior do que 5. Pelo Lema 1.7 a soma dos graus dos vértices é igual ao dobro do número
das arestas. Daqui concluı́mos, com a notação usual, que 6 |V | ≤ 2 |A|. Usando o Lema 5.5
e a fórmula de Euler temos
1 2
2 = |V | − |A| + |F | ≤ |A| − |A| + |A| = 0
3 3
o que, obviamente, é um absurdo.
Note-se que há grafos planares cujos vértices têm todos grau 5. Basta considerar o “Ico-
saedro” referido na página 3. Nesse sentido, o resultado anterior não pode ser melhorado.
Para terminar esta secção vamos apresentar, sem demonstração e apenas como curio-
sidade, três resultados sobre planaridade de grafos. O mais importante é o teorema de
Kuratowski.
Teorema 5.9 (K. Wagner, 1936, I. Fary, 1948). Um grafo simples é planar se e só se puder
ser representado no plano usando segmentos de recta para representar as arestas.
Teorema 5.10 (Kuratowski, 1930). Um grafo é planar se e só se não contém nenhum
subgrafo que seja homeomórfico a K5 nem a K3,3 .
Teorema 5.11 (Wagner, 1937). Um grafo é planar se e só se não não tem nenhum subgrafo
que possa ser contraı́do em K5 ou em K3,3 .
Há vários programas “livres” que lidam com grafos. O mais simples é provavelmente
o GRIN (“GRaph INterface”) de Vitali Petchenkine, Saratov State Technical University,
Russia. Outro programa usado é “AlgodeGrafos”, coordenado por Paulo Boaventura Netto,
Universidade Federal do Rio de Janeiro, Brasil.
25
6. Poliedros
Comecemos por definir a chamada projecção estereográfica que é uma bijecção entre uma
superfı́cie esférica à qual tiramos um ponto e o plano. Consideremos S 2 uma superfı́cie
esférica “pousada” num plano Π e seja N o pólo norte da superfı́cie. A projecção é então
definida da seguinte maneira: se P é um ponto de S 2 \ {N } a projecção P 0 é o ponto do
plano que pertence à recta definida por P e N .
S
Π P′
Corolário 6.1 (Teorema de Euler). Num poliedro convexo o número de vértices menos o
número de arestas mais o número de faces é igual a 2.
De seguida vamos usar este resultado para mostrar alguns resultados sobre poliedros
convexos. No que segue entendemos que as faces dos poliedros são polı́gonos regulares.
Vamos começar por mostrar que o cubo, o tetraedro, o octaedro, o dodecaedro e o icosae-
dro são os únicos sólidos platónicos, isto é, poliedros regulares cujas faces têm todas o mesmo
número de arestas e cujos vértices têm todos o mesmo número de arestas neles incidentes.
26
A seguinte tabela apresenta estes sólidos acima referidos, indicando o grau dos vértices e
o número de arestas de cada um deles. Podemos também “confirmar” da fórmula de Euler.
Arestas/face 4 3 3 5 3
Grau dos vértices 3 3 4 3 5
Faces 6 4 8 12 20
Arestas 12 6 12 30 30
Vértices 8 4 6 20 12
V −A+F 2 2 2 2 2
Teorema 6.2. Os únicos sólidos platónicos são o cubo, o tetraedro, o octaedro, o dodecaedro
e o icosaedro.
k
A = V
kV = 2A
2
nF = 2A F k
= V
n
V −A+F = 2 ou seja k k
1− 2 + n V = 2
n ∈ {3, 4, 5}
n ∈ {3, 4, 5}
k ≥ 3
k ≥ 3
• (10 − 3k) V = 20 se n = 5;
• (4 − k) V = 8 se n = 4;
• (6 − k) V = 12 se n = 3.
Recorde-se que k é um inteiro maior ou igual a 3 e que V é um inteiro positivo. As
hipóteses possı́veis são as que aparecem na tabela
n k V A F Sólido
5 3 20 30 12 Dodecaedro
5 ≥4 −− −− −−
4 3 8 12 6 Cubo
4 ≥4 −− −− −−
3 5 12 30 20 Icosaedro
3 4 6 12 8 Octaedro
3 3 4 6 4 Tetraedro
3 ≥6 −− −− −−
Os sólidos platónicos admitem 3 esferas concêntricas peculiares: uma inscrita, que é tan-
gente a cada face no centro da face (raio r); uma tangente a cada aresta no ponto médio da
aresta (raio ρ); uma circunscrita que passa em todos os vértices (raio R). A seguinte tabela
dá a área (S) e o volume (V ) de um sólido platónico bem como os raios das três esferas
referidas em função da medida das arestas do sólido platónico (a).
Há sólidos convexos cujas faces são polı́gonos de tipo diferente mas ainda assim existe
uma regularidade nos vértices. Por exemplo nos seguintes sólidos
A tı́tulo de exemplo vamos apresentar os sólidos arquimedianos cujas faces são pentágonos
ou hexágonos.
Se P é um poliedro nessas condições então: tem f5 faces que são pentágonos e f6 faces
que são hexágonos; cada um dos seus vértices é vértice de s pentágonos e de t hexágonos.
Usando o mesmo tipo de argumento que no caso dos sólidos platónicos temos:
• s + t ≥ 3, isto é, cada vértice é vértice de pelo menos 3 polı́gonos;
• 6 f6 + 5 f5 = 2 A, contando as arestas usando o número de lados das faces;
• (s + t) V = 2 A, contando as arestas usando os graus dos vértices;
• a soma dos ângulos incidentes em cada vértice é menor que 2π, pois o poliedro é
convexo;
• a soma dos ângulos incidentes em cada vértice é igual a 3π 2π
5 s + 3 t;
• 9 s + 10 t ≤ 30, usando os dois pontos anteriores.
Como s, t ∈ N e s + t ≥ 3 as soluções da desigualdade 9 s + 10 t ≤ 30 são: s = 2 e t = 1;
s = 1 e t = 2. Em qualquer um dos casos, usando a fórmula de Euler obtemos sucessivamente
2 6 f6 +5 f5
V = 3 A V =
3 V = 2 f6 + 20
A = 6 f6 +5
2
f5
A = 6 f6 +5 2
f5 A = 3 f6 + 30
V − A + (f5 + f6 ) = 2
f5 = 12 f5 = 12
Deste modo podemos concluir que o poliedro tem 12 faces que são pentágonos.
Primeiro caso: s = 2 e t = 1. Deste modo cada vértice do poliedro é vértice de um e
um só dos f6 hexágonos. Em particular V = 6 f6 . Substituindo no sistema acima, obtemos
f6 = 5 e A = 45. Note-se que isto prova apenas que a existir um poliedro nestas condições,
ele tem 5 faces que são hexágonos e 12 faces que são pentágonos. Mostra-se, usando outro
argumento para além da fórmula de Euler, que não há nenhum sólido com esta propriedade.
Segundo caso: s = 1 e t = 2. Deste modo cada vértice do poliedro é vértice de um e
um só dos 12 pentágonos. Em particular V = 5 f5 = 60. Substituindo no sistema acima,
obtemos f6 = 20 e A = 90.
Contrariamente ao caso anterior existe um poliedro nestas condições: o icosaedro truncado
(a “bola de futebol”) cuja imagem é apresentada de seguida
Note-se também que não há dois pentágonos com uma aresta em comum e que cada vértice
é vértice de um pentágono e de dois hexágonos.
Este sólido é também a estrutura molecular do fulereno (carbono 60, descoberto em 1985
e que deu origem ao prémio Nobel da Quı́mica em 1996). A imagem da direita é de um selo
comemorativo do centésimo aniversário dos prémios Nobel.
29
Exercı́cios
a) Começamos por escolher um grafo G = (V, A, ϕ) que pode ser um dos dados nas
aulas ou outro qualquer (é sempre fácil definir grafos) e podemos verificar se o grafo:
é bipartido; pode ser colorido com 3 cores; admite um caminho ou um circuito eu-
leriano; admite um caminho ou ciclo hamiltoniano; é planar; é isomorfo a um outro
grafo dado.
b) Começamos por escolher um grafo G = (V, A, ϕ) e pedimos, por exemplo, para cal-
cular: os grafos da forma G − e e G − v, em que e ∈ A e v ∈ V ; o diâmetro de G; o
número máximo de arestas que se lhe podem retirar mantendo a conectividade (se
G for conexo); quantas arestas é necessário tirar ao grafo para obter uma árvore;
quantas arestas é necessário aumentar para tornar o grafo euleriano; o ciclo de maior
comprimento; as pontes; o número de árvores geradores; os grafos obtidos por con-
tracção de arestas.
c) Queremos saber se existem grafos com determinadas condições. Por exemplo: com
uma dada sequência para o grau dos seus vértices, com eventuais restrições sobre G;
isomorfos ao seu grafo complementar, com 6 vértices e sem ciclos de comprimento 3.
O aluno deve responder a estas duas primeiras questões para os grafos que foram referidos
nas aulas, Pn , Cn , Wn . Kn , Kn,m , os grafos platónicos, o grafo de Petersen e o de Tutte,
para além de outros que imagine. A tı́tulo de exemplo vou definir (mais) alguns grafos.
30
É claro que estes 3 últimos grafos podem ser generalizados começando por considerar o
rectângulo com outra malha (n linhas e m colunas). O segundo grafo é um “cilindro” e o
terceiro é um “toro”. Poderı́amos também a partir do “cilindro” ligar as arestas da “coluna”
da direita com as arestas da “coluna” da esquerda por ordem trocada, obtendo assim o que
se chama uma “garrafa de Klein”. Mas isto (cilindros toros, garrafas de Klein) faz parte de
outra história.
Como se pode ver, alguns destes exemplos foram construı́dos a partir de dois outros grafos
acrescentando algumas arestas a unir vértices dos dois grafos.
Definição Dado um grafo simples G chamamos grafo complementar de G e denotá-mo-lo
por G, como sendo o grafo simples com os mesmos vértices que G e tal que dois vértices em
G estão unidos se e só se não estiverem unidos em G.
Definição Dado um grafo G define-se L(G) como o grafo simples cujos vértices são as
arestas de G, estando dois vértices de L(G) ligados se e só se as arestas de G correspondentes
forem adjacentes em G.
Exercı́cios.
1) Encontre, todos os grafos
a) com 3 vértices e 3 arestas;
b) com 3 vértices e 7 arestas;
c) com 5 vértices, sendo apenas 1 com grau 3.
2) Encontre, a menos de isomorfismo, todos os grafos simples com 3, 4 e 5 vértices.
3) Dê um exemplo, ou mostre que não existe, de um grafo simples:
a) com 4 vértices, de graus 1, 3, 3, 3;
b) com 6 vértices, de graus 1, 2, 2, 4, 4, 5;
c) com 6 vértices cujos graus são 1, 4, 4, 4, 4, 3.
d) com 5 vértices e sem arestas adjacentes;
e) com 11 vértices, todos eles de grau 5;
f) com 31 arestas, 13 vértices, 3 dos quais de grau 1 e 7 de grau 4;
g) em que não há dois vértices com o mesmo grau. E se o grafo for finito?
h) com 13 vértices, tendo exactamente 10 deles grau par;
i) com 12 vértices, tendo exactamente 10 deles grau par;
j) com tantos vértices como arestas.
O que muda se retirarmos a hipótese de o grafo ser simples?
4) Num grupo de 9 pessoas podem cada uma delas cumprimentar exactamente 3 pes-
soas?
31
5) Num grupo de 6 pessoas é ou não verdade que é sempre possı́vel escolhermos 3 delas
que se conhecem todas umas às outras ou tal que nenhuma das 3 conhece as outras?
6) Sejam G um grafo bipartido simples e u, v ∈ VG . É verdade que gr u + gr v ≤ |VG |?
E se u e v forem adjacentes?
2
7) Mostre que um grafo simples com n vértices e mais do que n4 arestas não é bipartido.
8) Quais os grafos bipartidos simples cujo complementar também é bipartido?
9) Mostre que um grafo simples finito é bipartido se e só se não tem ciclos de compri-
mento ı́mpar.
10) Qual o maior número possı́vel de arestas dos grafos bipartidos completos com m
vértices?
11) Mostre que todo o grafo simples com n vértices é um subgrafo de Kn .
12) É ou não verdade que um subgrafo de um grafo bipartido é ainda bipartido?
13) Mostre que todo o grafo simples bipartido finito é um subgrafo de um grafo da forma
Kn,m com n, m ∈ N.
14) (Ver Exercı́cio 50) Mostre que cada uma seguintes propriedades sobre um grafo é um
invariante de isomorfismo (isto é, o grafo tem essa propriedade se e só se qualquer
outro grafo que lhe seja isomorfo também a tem). No que segue n, m ∈ N.
a) tem n vértices;
b) tem m arestas;
c) tem n de vértices com grau m;
d) é bipartido;
e) tem dois vértices, um de grau n e outro de grau m, que são adjacentes;
f) tem n vértices de grau m;
g) tem dois vértices de grau n e m que não são adjacentes.
15) Mostre que o grafo de Petersen é isomorfo a cada um dos grafos representados por
são isomorfos.
17) Sejam G e H dois grafos simples isomorfos. Mostre que G e H são isomorfos e o
mesmo acontece com L(G) e L(H).
32
23) Seja
G um grafo simples. Mostre que o número de arestas de L(G) é igual a
X gr v
.
2
v∈VG
24) Seja G um grafo com 6 vértices, todos com grau 3. Mostre que:
a) Se G não tem ciclos de comprimentos 3 então é isomorfo a K3,3 .
b) Se G tem ciclos de comprimento 3 então é isomorfo ao grafo representado por
25) Mostre que num grafo conexo existe um caminho que passa por todos os vértices.
26) Desenhe um grafo conexo com 8 vértices e com o menor número possı́vel de arestas.
27) Mostre que num grafo simples conexo com n vértices e m arestas temos
n
n−1≤m≤ .
2
28) Mostre que todo o caminho simples num grafo G é um trilho ou é da forma (u, e, v, e, u)
em que u, v ∈ V e e ∈ A.
29) Mostre que o caminho mais curto entre dois vértices num grafo não pode repetir
vértices nem arestas.
30) Mostre que todo o grafo simples com n vértices todos de grau maior ou igual a n−1 2
é necessariamente conexo.
31) Sejam m, n ∈ N tais que n < m e n é par. É ou não verdade que existe um grafo
conexo simples com m vértices tendo exactamente n deles grau ı́mpar?
32) Sejam n ∈ N e G um grafo simples com 2n vértices, v1 , . . . , vn , u1 , . . . , un e sem ciclos
de comprimento 3.
a) Mostre que G tem no máximo n2 arestas. Sugestão: Considere u e v, dois
vértices de G que sejam adjacentes e aplique indução sobre o grafo G − {u, v}.
b) Construa um grafo G nas condições referidas e com n2 arestas.
33
46) Seja G um grafo simples conexo. Mostre que G tem um único ciclo se e só se existe
e ∈ AG tal que G − e é uma árvore se e só se o número de arestas e de vértices de G
é igual.
47) Mostre que uma árvore tem diâmetro 2 se e só se for isomorfo a K1,n para algum
n ∈ N.
48) Mostre que, se num grafo todos os vértices têm grau maior dou igual a 2 então G
admite um ciclo.
49) Verifique quais dos grafos representados nestes apontamentos admitem caminhos/circuitos
hamiltonianos/eulerianos?
50) Mostre que as seguintes propriedades sobre um grafo são um invariante de isomor-
fismo (ver Exercı́cio 14).
a) é conexo;
b) se lhe tirarmos qualquer aresta fica desconexo;
c) tem um ciclo de um certo comprimento;
d) tem um certo número de componentes conexas;
e) é euleriano;
f) é hamiltoniano.
51) Mostre que Kn é hamiltoniano.
52) Encontre um grafo não hamiltoniano com 7 vértices, todos com grau pelo menos 3.
53) Mostre que se G é um grafo euleriano então L(G) é hamiltoniano.
54) Quais dos grafos Kn,m são hamiltonianos?
55) Mostre que, se G é um grafo simples euleriano, então L(G) é euleriano.
56) Verifique que o grafo L(K4 ) é euleriano apesar de K4 ser simples e não euleriano.
57) Seja n ∈ N. Considere o grafo simples Qn cujos vértices são os n-uplos cujas entra-
das são zeros e uns tais que dois vértices são adjacentes se diferirem apenas numa
coordenada. Por exemplo, Q2 tem a seguinte representação:
(0, 1) (1, 1)
(0, 0) (1, 0)
70) Verifique que o grafo representado a seguir e o seu complementar são planares
a) Defina um caminho fechado no grafo que passa por todos os vértices sem re-
petição.
b) Retire uma aresta do grafo de modo a obter um grafo planar.
c) Mostre que o grafo obtido de G por eliminação do vértice 4 é planar.
d) Verifique que o grafo G não é planar.
73) Considere o grafo simples G com a representação seguinte
5 3
6 2
7 1
8 12
9 11
10
a) Defina um caminho que passe por todos os vértices, sem repetição e sem usar
as arestas representadas por arcos de circunferência.
b) Apresente uma representação planar do grafo G (de preferência usando segmen-
tos de recta para representar as arestas)
c) Mostre que se acrescentarmos a G uma aresta unindo os vértices 4 e 10 obtemos
um grafo não planar. Sugestão: Considere os vértices 1, 3, 4, 5, 7 e 10.
37
4 5 6
1 2 3
a) Defina um caminho no grafo que passa por todas as arestas sem repetição.
b) Diga se o grafo G é euleriano. Justifique.
c) Apresente uma representação planar do grafo obtido de G por remoção da aresta
que une os vértices 1 e 3.
d) Mostre que o K5 é um subgrafo do grafo obtido a partir de G por contracção
da aresta que une 1 a 3.
e) Mostre que o grafo K3,3 é um subgrafo de G.
75) Considere o grafo simples G com a representação seguinte
3 2
8 9
4 7 10 1
12 11
5 6
a) Mostre que o grafo obtido a partir de G−{7, 8, 9, 10} por eliminação dos vértices
de grau 2 não é planar.
b) Retire as 6 arestas do circuito 1 → 9 → 3 → 7 → 5 → 6 → 1 e verifique que o
grafo obtido é planar.
c) Retire as 5 arestas do caminho 1 → 9 → 3 → 7 → 5 → 6 e verifique que o grafo
obtido não é planar.
d) Mostre que se retirarmos 3 arestas ao grafo G o grafo obtido não é planar.
76) Verifique se o grafo representado a seguir é planar
38
6 5
1 4
0
2 3
79) Considere um grafo planar finito G. Mostre usando indução sobre o número de
vértices de G e a Proposição 5.8 que os vértices de G podem ser colorido com 6
cores de modo a que dois quaisquer vértices adjacentes estão coloridos com cores
diferentes. Observação: Com um pouco mais de trabalho pode-se mostrar que
bastam 5 cores. De facto um dos teorema mais famosos na teoria de grafos diz que
bastam 4 cores para colorir um grafo nas condições referidas. Note-se também que
este resultado é equivalente a mostrar que qualquer mapa no plano (nas condições
“usuais”) pode ser pintado com 4 cores de modo a que dois paı́ses diferentes sejam
pintados com cores diferentes.