a teoria dos grafos e sua aplicação · 2015. 9. 9. · universidade de trás-os-montes e alto...
TRANSCRIPT
UNIVERSIDADE DE TRÁS-OS-MONTES E ALTO DOURO
A Teoria dos Grafos e sua Aplicação
Dissertação de Mestrado em Ensino de Matemática no 3.º Ciclo do Ensino Básico e
Secundário
Idília Maria Rocha Caetano
Vila Real, 2014.
Universidade de Trás-os-Montes e Alto Douro II
UNIVERSIDADE DE TRÁS-OS-MONTES E ALTO DOURO
A Teoria dos Grafos e sua Aplicação
De:
Nome: Idília Maria Rocha Caetano.
Orientadores:
Professor Doutor José Luís Santos
Cardoso.
Professora Doutora Ana Paula Aires
Borges Teixeira.
Vila Real, 2014.
Teoria de Grafos e sua aplicação
III Universidade de Trás-os-Montes e Alto Douro
Este trabalho foi elaborado como
dissertação para efeito de obtenção do
grau de Mestre no Ensino de
Matemática do 3.º ciclo do Ensino
Básico e Secundário, sendo
apresentado na Universidade de Trás-
os-Montes e Alto Douro.
Universidade de Trás-os-Montes e Alto Douro IV
Aos meus pais.
À minha filha.
À minha irmã.
Ao meu marido.
Teoria de Grafos e sua aplicação
V Universidade de Trás-os-Montes e Alto Douro
Agradecimentos
A realização desta investigação frutificou devido ao contributo de inúmeras pessoas,
sem as quais não teria sido possível a sua concretização, e às quais quero deixar uma
palavra de profunda gratidão e apreço:
À orientadora, Professora Doutora Ana Paula Aires Borges Teixeira pela orientação
científica, pelo apoio, pela dedicação e total disponibilidade que sempre demonstrou
durante este trabalho, sem o qual este trabalho não teria sido possível.
Ao orientador, Professor Doutor José Luís Santos Cardoso, pela sua disponibilidade
na orientação, e pelas sugestões e valiosas críticas ao trabalho.
Aos meus pais, pela força concedida, e por me incentivarem perante os desafios a
fazer mais e melhor. Agradeço-vos do fundo do coração pelo amor incondicional e
pela forma como ao longo de todos estes anos, tão bem souberam ajudar-me.
À minha filha, Célia, fonte inesgotável de alegrias e força para que eu pudesse seguir
adiante em mais uma fase de superação académica.
À minha irmã, pela confiança que sempre depositou no meu trabalho.
Ao meu marido, pelo apoio, pela confiança, pela paciência, pela compreensão, pelo
total apoio, valorizando sempre o meu trabalho dando-me, força e coragem durante a
sua realização.
Universidade de Trás-os-Montes e Alto Douro VI
Resumo
A Teoria dos Grafos é atualmente uma das áreas mais importantes da matemática
discreta, tendo as suas raízes em jogos e recreações matemáticas. Atribui-se a sua
origem/criação a Euler, ao resolver o problema das pontes de Königsberg (cidade da
Prússia) em 1736, mas foram os problemas acerca de fórmulas de estrutura de
compostos químicos, que A. Cayley resolveu na segunda metade do século XIX, que
impulsionaram decisivamente o seu desenvolvimento.
A Teoria de Grafos é uma teoria relativamente recente, nascida no século XVIII. Com
a reestruração de novas disciplinas no secundário, foi na disciplina de Matemática
Aplicada às Ciências Sociais que a Teoria de Grafos ganhou relevância nos
programas de Matemática, na vertente social, isto no final do século XX. Sendo
abordado no 11.º ou 12.º ano (dependendo do ano que se iniciou MACS(2.º ano)).
No programa de Matemática aplicada às ciências sociais pretende-se que os
estudantes interpretem situações de sistema de distribuição e explorem diversas
soluções para problemas que lhe sejam postos em cada situação. Representar-se-á
cada situação por um sistema de pontos e de linhas unindo alguns desses pontos.
Deverão ser abordados os teoremas, problemas dos circuitos de Euler e Hamilton,
bem como, definições e notações deverão ser introduzidas à medida que sejam
necessárias por forma a clarificar a linguagem. Os modelos de grafos pretendem ser
modelos úteis para enfrentar problemas de gestão e iniciar intervenções sociais ao
nível da compreensão dos sistemas de distribuição e recolha (tanto nos sistemas de
distribuição de bens alimentares, de correio ou de recolha de lixo como às decisões
sobre a localização de serviços (segundo os programas de MACS homologados em
16/05/2001 [10]).
Teoria de Grafos e sua aplicação
VII Universidade de Trás-os-Montes e Alto Douro
Abstract
The Graph Theory is currently one of the most important areas of discrete
mathematics, having their roots in mathematical games and recreations. Attributed to
its origin / creation Euler, to solve the problem of the bridges of Königsberg (city of
Prussia) in 1736, but were problems about structural formulas of chemical compounds
that A. Cayley decided in the second half of the nineteenth century that decisively
boosted its development.
Graph Theory is a relatively new theory, born in the eighteenth century. With
restructuring new disciplines in the secondary, was in Mathematics Applied to Social
Sciences that graph theory gained prominence in Mathematics programs, the social
aspect, ie the end of the twentieth century. Being addressed in 11. º or 12. º year
(depending on the year that began MACS (2. º year)).
Program in mathematics applied to social sciences is intended that students interpret
situations of distribution system and explore solutions to several problems which put in
every situation. Will represent each case by a system of points and lines connecting
certain points. Theorems will be addressed problems Euler circuits and Hamilton, as
well as definitions and notation will be introduced as necessary to clarify language. The
graph models are intended to be useful models to address management problems and
initiate social interventions at the level of understanding of the distribution and
collection systems (both in the distribution systems of food, mail or garbage collection
to decisions about location services (according to programs approved on 16/05/2001
MACS[10]).
Universidade de Trás-os-Montes e Alto Douro VIII
Índice
Agradecimentos ............................................................................................................ V
Resumo ....................................................................................................................... VI
Abstract ...................................................................................................................... VII
Índice ......................................................................................................................... VIII
Índice das tabelas ........................................................................................................ IX
Índice de figuras ........................................................................................................... X
Introdução ..................................................................................................................... 1
Capítulo 1 – Noções Fundamentais .............................................................................. 3
As pontes de Königsberg .............................................................................................. 3
1.1- Grafos e Digrafos............................................................................................ 4
1.2- Adjacência e Incidência .................................................................................. 7
1.3- Grau de um vértice, ordem e dimensão ........................................................ 10
1.4- Subgrafos ..................................................................................................... 12
1.5- Grafos isomorfos .......................................................................................... 13
1.6- Operações com grafos ................................................................................. 15
1.7- Grafos especiais ........................................................................................... 17
1.8- Caminhos e ciclos ......................................................................................... 26
Capítulo 2 – Grafos Eulerianos e Hamiltonianos ......................................................... 33
2.1- Grafos Eulerianos ......................................................................................... 33
2.2- Grafos Hamiltonianos ................................................................................... 41
Capítulo 3 – Árvores ................................................................................................... 50
3.1- Definições e Propriedades ............................................................................ 50
3.2- Árvores Geradoras ....................................................................................... 55
Capítulo 4 - Aplicações práticas .................................................................................. 61
Conclusão ................................................................................................................... 84
Bibliografia .................................................................................................................. 85
Teoria de Grafos e sua aplicação
IX Universidade de Trás-os-Montes e Alto Douro
Índice das tabelas
Tabela 1...................................................................................................................... 45
Tabela 2 - Os 24 ciclos de Hamilton do grafo da Figura 56. ........................................ 46
Tabela 3 - Distância de B entre CB, F, L e S. ............................................................. 59
Tabela 4 - Distância de B e S entre CB, F, L. ............................................................. 59
Tabela 5 - Distância de B, S e L entre CB e F............................................................. 60
Tabela 6 - Distância de B, S, L e F com CB. ............................................................... 60
Tabela 7 - Graus dos vértices da Figura 64. ............................................................... 64
Tabela 8 - Distâncias entre as cidades. ...................................................................... 79
Tabela 9...................................................................................................................... 83
Tabela 10 .................................................................................................................... 83
Tabela 11 .................................................................................................................... 83
Tabela 12 .................................................................................................................... 83
Tabela 13 .................................................................................................................... 83
Universidade de Trás-os-Montes e Alto Douro X
Índice de figuras
Figura 1 - Pontes de Konigsberg em 1736. ................................................................... 3
Figura 2 - Esquema construído por Euler para a cidade de Königsberg........................ 3
Figura 3 - Grafo dual das pontes de Königsberg. .......................................................... 4
Figura 4 - Mapa de estradas. ........................................................................................ 4
Figura 5 - Rede elétrica. ............................................................................................... 4
Figura 6 - Representação das secções da Figura 4 e da Figura 5. ............................... 5
Figura 7 - Diversas representações do grafo da Figura 6. ............................................ 5
Figura 9 - Grafo subjacente ao grafo representado na Figura 8. ................................... 6
Figura 8 - Exemplo de grafo orientado. ......................................................................... 6
Figura 10 - Exemplos de grafos. ................................................................................... 6
Figura 11 - Grafo orientado com lacete no vértice C. .................................................... 7
Figura 12 - Digrafo F e o seu grafo subjacente, G. ....................................................... 8
Figura 13 - Matrizes de adjacência e incidência de G. ................................................ 10
Figura 14 - Matrizes de adjacência e incidência de F. ................................................. 10
Figura 15 - Grafos G1 e G2. ......................................................................................... 11
Figura 16 - Diagramas semelhantes que não representam o mesmo grafo. ............... 13
Figura 17 - Grafos Isomorfos. ..................................................................................... 14
Figura 18 - Grafos não isomorfos................................................................................ 15
Figura 19 - Grafos Reunião, Interseção e Complementar. .......................................... 16
Figura 20 - Grafo nulo com 5 vértices (N5). ................................................................. 17
Figura 21 - Grafos completos K5 e K6. ......................................................................... 18
Figura 22 -O grafo G' é um grafo clique do grafo G. ................................................... 19
Figura 23 - Grafo bipartido. ......................................................................................... 19
Figura 24 - Representações do grafo K3,3. .................................................................. 20
Figura 25 - Grafo estrela. ............................................................................................ 20
Figura 26 - Grafo bipartido completo K 3,2 ................................................................... 20
Figura 27 - Grafo complementar de K3,2. ..................................................................... 21
Figura 28 .................................................................................................................... 21
Figura 29 .................................................................................................................... 21
Figura 30 - Sólidos Platónicos. ................................................................................... 22
Figura 31 - Grafos platónicos do Tetraedro, Cubo, Octaedro, Dodecaedro e Icosaedro
respetivamente. .......................................................................................................... 22
Figura 32 - Grafos planar 4K . ..................................................................................... 23
Figura 33 - Grafo conexo - G1 e Grafo desconexo- G2. ............................................... 24
Teoria de Grafos e sua aplicação
XI Universidade de Trás-os-Montes e Alto Douro
Figura 34 - Rede do metro de Lisboa. ......................................................................... 24
Figura 35 - Digrafo conexo D. ..................................................................................... 24
Figura 36 - Grafo 1-Conexo. ....................................................................................... 25
Figura 37 - Grafo Ciclo C5. .......................................................................................... 25
Figura 38 - Grafo Roda com 6 vértices. ...................................................................... 26
Figura 39 - Grafo G. .................................................................................................... 27
Figura 40 - Digrafo D. ................................................................................................. 28
Figura 41 - Digrafo conexo.......................................................................................... 29
Figura 42 - Grafo orientável. ....................................................................................... 29
Figura 43 - Grafo com várias pontes. .......................................................................... 30
Figura 44 - Grafo desconexo. ..................................................................................... 30
Figura 45 - G1 é Eureliano, G2 é semieuleriano e G3 nem é euleriano nem
semieuleriano. ............................................................................................................ 33
Figura 46 - D1 é euleriano, D2 é semieureliano e D3 nem é Euleriano nem
semieuleriano. ............................................................................................................ 34
Figura 47 - Grafo Euleriano obtido do Grafo não euleriano G2 da Figura 45. .............. 36
Figura 48 - Exemplos de grafos eulerianos obtidos através de eulerizações do grafo G3
da Figura 45. .............................................................................................................. 36
Figura 49 - Grafo Euleriano. ........................................................................................ 37
Figura 50 - Aplicação do Algoritmo de Fleury da Figura 49. ........................................ 38
Figura 51 - Digrafo Eureliano. ..................................................................................... 40
Figura 52 - Aplicação do Algoritmo de Fleury ao digrafo da Figura 51. ....................... 40
Figura 53 .................................................................................................................... 41
Figura 54 - Exemplo de Caminho Hamiltoniano para a demonstração do Teorema 8. 43
Figura 55 - Mapa de Portugal. .................................................................................... 45
Figura 56 - Grafo relativo ao exemplo enunciado. ....................................................... 45
Figura 57 - Grafo Árvore. ............................................................................................ 50
Figura 58 - Grafo G. .................................................................................................... 51
Figura 59 - Árvores geradoras de G da Figura 58. ...................................................... 51
Figura 60 - Grafo G. .................................................................................................... 55
Figura 61 - Aplicação do Algoritmo de Corte ao grafo da Figura 60. ........................... 56
Figura 62 - Aplicação do Algoritmo de Construção ao grafo da Figura 60. .................. 56
Figura 63 - Árvore geradora de menor peso do grafo G. ............................................. 58
Figura 64 - Grafo S. .................................................................................................... 62
Figura 65 - Representação do subgrafo de S, S’. ....................................................... 65
Figura 66 - Grafo desconexo. ..................................................................................... 65
Figura 67 - Subgrafo S'' do grafo da Figura 64. ........................................................... 65
Universidade de Trás-os-Montes e Alto Douro XII
Figura 68 - Grafo completo k9...................................................................................... 67
Figura 69 - Grafo complementar de S. ........................................................................ 67
Figura 70 - Subgrafo simples de S. ............................................................................. 68
Figura 71 - Representação das cidades...................................................................... 69
Figura 72 - Passeio da cidade A por um lacete em A. ................................................. 69
Figura 73 - O percurso da cidade A para a cidade B pelo arco (A,B). ......................... 69
Figura 74 - O percurso da cidade B para a cidade D pelo arco (B,D). ......................... 70
Figura 75 - O percurso da cidade D para a cidade E pelo arco (D,E). ......................... 70
Figura 76 - O percurso da cidade E para a cidade F pelo arco (E,F). ......................... 70
Figura 77 - O percurso da cidade F para a cidade E pelo arco (F,E). ......................... 70
Figura 78 - O percurso da cidade E para a cidade D pelo arco (E,D). ......................... 71
Figura 79 - O percurso da cidade D para a cidade C pelo arco (D,C). ........................ 71
Figura 80 – Digrafo que representa o percurso do Jorge. ........................................... 71
Figura 81 - Grafo subjacente ao digrafo da Figura 80. ................................................ 71
Figura 82 - Grafo S. .................................................................................................... 73
Figura 83 – Subgrafo de S, S1. .................................................................................... 74
Figura 84 - Grafo G. .................................................................................................... 75
Figura 85 .................................................................................................................... 75
Figura 86 - Grafos G1, G2 e G3. .................................................................................... 76
Figura 87 – Eulerização do grafo G2 ........................................................................... 77
Figura 88 - Melhor eulerização do grafo G1................................................................. 77
Figura 89 – Grafo G .................................................................................................... 78
Figura 90 - Grafo pesado que representa o problema. ................................................ 81
Figura 91 - Grafo da ligação das cidades em rede. ..................................................... 81
Figura 92 .................................................................................................................... 82
Figura 93 .................................................................................................................... 82
Figura 94 .................................................................................................................... 82
Figura 95 .................................................................................................................... 82
Figura 96 .................................................................................................................... 82
1
Introdução
Esta dissertação, foi realizada no âmbito do Mestrado em Ensino de Matemática no 3.º
Ciclo do Ensino Básico e Secundário.
O tema da tese é "A Teoria de Grafos e a sua Aplicação".
A Teoria de Grafos, é uma área que nos permite obter uma relação entre a resolução
de problemas e a modelação matemática. A investigação em Teoria de Grafos,
suscitou-me bastante interesse e curiosidade.
Assim, esta dissertação é composta por três capítulos, cujo conteúdo se passa a
descrever.
No primeiro capítulo, abordam-se as noções fundamentais, principais conceitos e
resultados relativos à Teoria de Grafos, necessários para a compreensão dos
capítulos seguintes. Serão abordados os seguintes conceitos: grafos e digrafos;
Adjacência e Incidência; grau de um vértice, ordem e dimensão de um grafo;
subgrafos; grafos isomorfos, operações com grafos; grafos especiais e ainda
caminhos e ciclos.
No segundo capítulo introduz-se, as noções de Grafos Eulerianos e Grafos
Hamiltonianos.
No terceiro capítulo descrevem-se, o estudo das árvores suas definições e
propriedades e ainda árvore geradora.
Finalmente, no quarto capítulo apresentam-se, algumas aplicações que, pretendem
ser uma ajuda aos docentes da disciplina de Matemática Aplicada às Ciências Sociais.
A Teoria dos Grafos estabeleceu-se, como uma importante ferramenta matemática,
numa grande variedade de áreas do conhecimento e algumas áreas específicas, tais
como, investigação operacional, indústria eletrónica, indústria de confeção,
engenharia, economia, genética, sociologia, geografia, ecologia, análise numérica,
computação paralela, telecomunicações e química, pois um grafo constitui o modelo
matemático ideal para o estudo das relações entre objetos discretos de qualquer tipo.
No programa de MACS pretende-se que, os estudantes interpretem situações de
sistema de distribuição e explorem diversas soluções para problemas que lhe sejam
Universidade de Trás-os-Montes e Alto Douro 2
postos em cada situação. Representar-se-á cada situação por um sistema de pontos e
de linhas unindo alguns desses pontos. Deverão ser abordados os teoremas,
problemas dos circuitos de Euler e Hamilton, bem como, definições e notações, que
deverão ser introduzidas à medida que sejam necessárias por forma a clarificar a
linguagem. "Os modelos de grafos pretendem ser, modelos úteis para enfrentar
problemas de gestão e iniciar intervenções sociais ao nível da compreensão dos
sistemas de distribuição e recolha" [10].
Pela diversidade de aplicações, potencialidades e facilidade de exploração em
contexto escolar, a teoria de grafos pode assumir um papel preponderante na criação
e desenvolvimento dessas competências, contribuindo para que, os alunos adquiram
uma cultura matemática mais rica que, os ajude a tornar-se cidadãos mais aptos a
intervir na sociedade.
Como a teoria de grafos é uma área de matemática onde não são necessários
grandes pré-requisitos, podemos abordar, praticamente, todos os conceitos básicos
envolvidos em qualquer ano de escolaridade, sem ser necessário formalizar ou
desenvolvê-los. É comum dizer-se que, muitos problemas em diversas ciências,
podem ser modelizado por um grafo e resolvido com a teoria dos grafos. Por exemplo,
é possível calcular as diferentes combinações de voos entre duas cidades, determinar
se é ou não possível percorrer todas as ruas de uma cidade sem percorrer a mesma
rua duas vezes e determinar o número de cores necessárias para colorir um mapa.
Até à década de 90 do século transato, a teoria dos grafos era abordada somente no
ensino universitário. Com o surgimento de novas disciplinas no ensino secundário,
nomeadamente, da disciplina de MACS, a teoria dos grafos ganha um lugar nos
programas de Matemática, na vertente.
O objetivo de fundo deste trabalho, é ser um manual de ajuda ao docente do Ensino
Secundário.
Idília Caetano
3
Capítulo 1 – Noções Fundamentais
As pontes de Königsberg
Parte da cidade de Königsberg, localizava-se em duas ilhas do rio Pregel as quais
estavam ligadas às margens e uma à outra através de 7 pontes, conforme ilustra a
Figura 1.
Figura 1 - Pontes de Konigsberg em 1736.
De acordo com a tradição, ao domingo, os habitantes de Königsberg gostavam de dar
passeios de modo a atravessar todas as pontes e um passatempo popular era tentar
encontrar um trajeto que lhes permitissem atravessar toda a cidade passando em cada
uma das pontes apenas uma vez.
Em 1736, o matemático suíço Leonard Euler (1707-1783), interessou-se por este
problema e resolveu-o. As soluções de Euler para este problema e as técnicas por ele
utilizadas, marcaram o início do estudo do tema atualmente designado por Teoria de
Grafos. A técnica de Euler consistiu, essencialmente, em considerar as margens e as
ilhas, no mapa da cidade, como pontos, que ligou por linhas, do mesmo modo que,
aquelas eram unidas pelas referidas pontes. O esquema obtido por Euler, assemelha-
se ao da Figura 2 e é habitualmente designado por Grafo. Assim, um grafo é um
diagrama que consiste em pontos, designados por vértices, ligados uns aos outros por
linhas, denominadas arestas; cada aresta une exatamente dois vértices.
Figura 2 - Esquema construído por Euler para a cidade de Königsberg.
Universidade de Trás-os-Montes e Alto Douro 4
O problema dual do problema das pontes de Königsberg, Figura 1, consiste em saber
se um nadador poderia nadar naquele mesmo rio de modo a passar por baixo de
todas as pontes sem repetir nenhuma. O grafo associado a este problema está
representado na Figura 3.
Por exemplo, o grafo da Figura 3, determina cinco regiões. A região exterior que
indicamos com o algarismo 1, e mais quatro regiões limitadas, as quais indicamos com
os algarismos 2, 3, 4 e 5 na Figura 2.
Figura 3 - Grafo dual das pontes de Königsberg.
Um outro problema envolvendo o grafo da Figura 2, foi formulado e resolvido (em
1857-1859), pelo matemático irlandês Sir William Hamilton (1805-1865). Este
problema, habitualmente conhecido por, viagem à volta do mundo, consistia em
percorrer todos os vértices de um dodecaedro regular com vinte vértices, em que,
cada vértice tem o nome de uma cidade e que passe uma única vez em cada vértice,
iniciando e finalizando no mesmo vértice.
1.1- Grafos e Digrafos
As secções de um mapa de estradas e de uma rede elétrica são também exemplos de
aplicação da teoria de grafos.
Consideremos, as secções de um mapa de estradas e de uma rede elétrica,
representadas na Figura 4 e Figura 5, respetivamente.
Ambas as secções podem ser representadas, por meio de pontos e de segmentos de
reta, tal como no esquema da Figura 6.
Figura 4 - Mapa de estradas. Figura 5 - Rede elétrica.
Idília Caetano
5
Figura 6 - Representação das secções da Figura 4 e da Figura 5.
O esquema da Figura 6 diz-se um grafo. Notemos que, na passagem da situação real
para o grafo, é irrelevante se as linhas são longas ou curtas, retilíneas ou curvas, ou
do lado de onde partem. O importante é, conhecer os pontos e as linhas que os ligam.
Assim, o mesmo grafo pode ser representado por diferentes esquemas. A título de
exemplo, na Figura 7, apresentam-se outras quatro representações do grafo da figura
6. Os cinco esquemas, Figuras 6 e 7, representam o mesmo grafo, em virtude de
possuírem os mesmos pontos, aqui designados por P, Q, R, S e T e serem
constituídos por linhas que unem os mesmos pontos: PQ, PS, PT, QT, QS, QR, RS,
ST.
Figura 7 - Diversas representações do grafo da Figura 6.
Definição 1
Um grafo G é um par ordenado (V,E), em que V é um conjunto e E é um conjunto
constituído por subconjuntos de V com dois elementos. A V dá-se o nome de
conjunto de vértices enquanto E denomina-se por conjunto de arestas.
Dizemos que os vértices A e B estão unidos por uma aresta se {A,B}≡AB pertence
a E.
No caso particular de V=E=Ø, então a G=(V,E) dá-se o nome de grafo vazio.
A Figura 6 representa o grafo G=(V,E):
cujo conjunto dos vértices é V={P, Q, R, S, T};
cujo conjunto das arestas é E={PQ, QR, RS, ST, TQ, SP, TP, QS}.
Universidade de Trás-os-Montes e Alto Douro 6
É indiferente escrever aresta PQ ou aresta QP, dado que ambas representam a
existência de um caminho do vértice P para o vértice Q, que pode ser percorrido nos
dois sentidos. Se o caminho tivesse um só sentido, por exemplo, apenas de P para Q,
no grafo haveria uma seta com origem no vértice P e términus no vértice Q; neste
caso, a aresta seria orientada e representar-se-ia por (P,Q).
A um grafo com arestas orientadas, chama-se grafo orientado, grafo dirigido ou
digrafo.
Definição 2
Um digrafo G é um par ordenado (V,E), em que V é um conjunto de vértices e E é
um subconjunto de V×V. Ao conjunto E dá-se o nome conjunto de arcos.
Dizemos que os vértices A e B estão unidos por um arco se (A,B) pertence a E.
Ao grafo obtido substituindo cada arco de E por uma aresta chama-se grafo
subjacente a G.
O grafo da Figura 8 é orientado. Neste caso:
O conjunto dos vértices é V = {A, B, C, D, E};
O conjunto dos arcos é E = {(A,B), (B,A), (A,C), (C,E), (C,D)}.
Figura 9 - Grafo subjacente ao grafo
representado na Figura 8.
Na Figura 10, apresentamos mais alguns exemplos de grafos.
Figura 8 - Exemplo de grafo orientado.
Figura 10 - Exemplos de grafos.
Idília Caetano
7
1.2- Adjacência e Incidência
De seguida introduzimos os conceitos de adjacência e incidência, que caracterizam os
vértices dum grafo, dirigido ou não, e as respetivas ligações (arestas ou arcos). Na
Figura 11, o digrafo apresenta um lacete no vértice C.
Definição 3
Seja G=(V,E) um grafo (digrafo). Se ABE ((A,B)E), A e B (distintos) dizem-se
vértices adjacentes e AB ((A,B)) diz-se aresta (arco) incidente nos vértices A e
B (A diz-se vértice inicial e B vértice terminal). Se VA não é adjacente a
qualquer vértice de V, então A diz-se um vértice isolado. No caso de dois
vértices adjacentes serem coincidentes, a aresta (arco) correspondente designa-
se por lacete.
No grafo da Figura 6, os vértices P e Q são adjacentes, enquanto P e R não o são; PQ
é incidente nos vértices P e Q. Este grafo não apresenta lacetes.
O grafo da Figura 8, é orientado, isto é, é um digrafo. Por exemplo, os vértices A e C
são adjacentes, assim como A e B, enquanto A e E não o são; o arco (A,B) é incidente
nos vértices A e B (A é o vértice inicial e B é o vértice terminal); (A,C) é incidente nos
vértices A e C (neste caso A é também o vértice inicial, mas C é o vértice terminal).
Este grafo não apresenta lacetes.
Figura 11 - Grafo orientado com lacete no vértice C.
Quando o número de vértices do grafo é elevado e, em particular, quando o seu
número de arestas é reduzido, isto é, quando o grafo é esparso, é também bastante
prático representá-lo através de uma matriz.
Neste trabalho, abordaremos as representações matriciais relacionadas com as
noções de adjacência e incidência.
Universidade de Trás-os-Montes e Alto Douro 8
Definição 4
Seja G=(V,E) um grafo (digrafo) com n vértices numerados de 1 a n. A matriz
adjacência de G é uma matriz quadrada de dimensão igual ao número de vértices
de G e cujo elemento da linha i e coluna j é igual ao número de arestas que unem
os vértices iV e jV (arcos que unem iV a jV , sendo iV o vértice inicial e jV o
vértice terminal).
Observamos que:
i) como o nome indica, a matriz adjacência, especifica quais os vértices do grafo
que são adjacentes;
ii) num grafo que não possui lacetes, a diagonal principal da matriz adjacência é
nula;
iii) a matriz adjacência de um grafo é simétrica enquanto a de um digrafo, em
geral, não o é.
Consideremos o digrafo F representado na Figura 12, e o respetivo grafo subjacente,
G.
Figura 12 - Digrafo F e o seu grafo subjacente, G.
Como o grafo G tem quatro vértices, a matriz adjacência é de ordem 4.
O procedimento para a construir é o seguinte:
Como G, apenas possui um lacete no vértice C, a diagonal principal é nula com
exceção do elemento da posição (3,3) que terá o valor 1;
Como G, é não dirigido, a matriz de adjacência de G é simétrica relativamente
à sua diagonal principal;
Os vértices A e B são ligados por uma aresta de G, assim a matriz conterá 1 na
posição (1,2) e, consequentemente na posição (2,1);
Idília Caetano
9
Os vértices A e C também são ligados por uma aresta de G e, como tal, as
posições (1,3) e (3,1) desta matriz conterá o valor 1;
Como os vértices A e D não estão ligados por uma aresta, as posições (1, 4) e
(4, 1) da matriz adjacência são nulas.
Aplicando, o procedimento anterior, a todos os pares de vértices de G obtém-se a
matriz adjacência de G.
Notemos que se, por exemplo, os vértices A estivessem ligados ao vértice B por 3
arcos na entrada (1, 2) estaria o valor 3.
Observemos ainda que, como a matriz adjacência dum grafo é simétrica em relação à
diagonal principal, basta construir o seu triângulo superior (ou inferior) e preencher as
restantes entradas de modo a obter uma matriz simétrica.
Para construir a matriz adjacência do digrafo F, dado um par de vértices, não só é
necessário observar o número de ligações entre os vértices, mas também tem de ser
tida em consideração, a informação referente aos vértices inicial e final. Assim, por
exemplo, como os vértices A e B estão ligados por um arco (A, B), mas não por um
arco (B, A), na posição (1, 2) da matriz de adjacência deve constar o valor 1, enquanto
na posição (2,1) deve constar o valor 0. Procedendo deste modo, obtém-se a matriz
adjacência de F.
Vejamos de seguida, a noção de matriz incidência.
Definição 5
Seja G=(V,E) um grafo sem lacetes e com n vértices numerados de 1 a n e m
arestas (arcos) numerados de 1 até m. A matriz incidência de G é uma matriz de
ordem mn , cujo elemento da linha i e coluna j é igual a 1 se o vértice i é
incidente com a aresta (arco) j e 0 no caso contrário.
Para o digrafo, na construção da sua matriz de incidência, temos de ter atenção o
sentido da orientação. Dá-se, o valor de 1 se a orientação for de saída, valor -1 se
a orientação for de entrada e é de salientar que, no caso de existir um lacete no
vértice i , a respetiva entrada na matriz de incidência quer no grafo ou no digrafo é
igual a 2.
Universidade de Trás-os-Montes e Alto Douro 10
Enquanto a matriz adjacência é quadrada, a matriz incidência, em geral, não o é; o
seu número de linhas, coincide com o cardinal do conjunto de vértices, enquanto o seu
número de colunas, com o número de arestas (arcos).
Figura 13 - Matrizes de adjacência e incidência de G.
Figura 14 - Matrizes de adjacência e incidência de F.
1.3- Grau de um vértice, ordem e dimensão
É útil ter nomenclatura que caracterize, por exemplo, num mapa de estradas, o
número total de cidades e estradas que as ligam, existentes nesse mapa, bem como,
para cada cidade, o número de vias que permitem partir e ou chegar a essa cidade.
Com este intuito, introduziremos seguidamente, as noções de ordem dum grafo,
dimensão dum grafo e grau dum vértice.
Definição 6
Dado um grafo (digrafo) G=(V,E), ao respetivo número de vértices chama-se
ordem de G e ao número de arestas (arcos) dimensão de G. Por sua vez, grau
de um vértice é o número de arestas (arcos) que lhe são incidentes. Quando
todos os vértices têm o mesmo grau, r, G diz-se grafo regular de grau r.
Observamos que, como um lacete de um dado vértice, A, é duplamente incidente em
A, contribui com duas unidades para o grau de A; um vértice de grau zero é um vértice
isolado.
Consideremos os grafos da Figura 15, como ambos têm quatro vértices, a ordem de
G1 e de G2 é 4. No entanto, G1 tem 6 arestas enquanto G2 possui apenas 5, assim a
Idília Caetano
11
dimensão de G1 é 6 e a dimensão de G2 é 5. Como todos os vértices de G1 têm grau
3, G1 é um grafo regular de grau 3. No caso de G2, este não é regular, pois o grau de
D' é zero, isto é, D' é um vértice isolado; o grau de A' coincide com o de B' e é igual a
2 e, dado possuir um lacete em C', o grau de C' é 4.
Figura 15 - Grafos G1 e G2.
No grafo da Figura 11, os vértices A e C tem grau 3, mas o vértice B tem grau 2,
assim, esse grafo não é regular. A ordem e a dimensão desse grafo são iguais a 3 e a
5, respetivamente.
Euler mostrou que, a soma dos graus de todos os vértices de um grafo é sempre um
número par, igual ao dobro das arestas; este resultado, é conhecido como lema dos
apertos de mão, dado que, quando várias pessoas apertam as mãos, o número total
de mãos envolvidas é par (em cada aperto estão envolvidas duas mãos).
Teorema 1
(Lema dos apertos de mão): Sendo G=(V,E) um grafo, a soma dos graus de
todos os vértices é igual ao dobro do número de arestas.
Para provar este resultado, basta observar que cada aresta (arco) contribui
exatamente com duas unidades para a soma dos graus.
Do Lema dos apertos de mão podemos concluir que em qualquer grafo (digrafo):
i) a soma dos graus de todos os vértices é um número par;
ii) o número de vértices de grau ímpar é par;
iii) regular de grau r, com n vértices, o número de arestas (arcos) é igual a .
No grafo da Figura 12, a soma dos graus de todos os vértice é par ( 2+2+5+1=10), e o
número de vértices de grau ímpar é par. O grafo G1 da Figura 15, é regular de grau 3
com 4 vértices e 6 arestas verificando o lema dos apertos de mão .
Universidade de Trás-os-Montes e Alto Douro 12
Definição 7
Seja D=(V,E) um digrafo e VA um dos seus vértices. O grau de entrada
(saída) de A é o número de arcos em que A é o vértice terminal (inicial).
Qualquer grafo orientado, satisfaz um resultado semelhante ao Lema do aperto de
mão, chamado Di-lema dos apertos de mão.
Teorema 2
(Di-lema dos apertos de mão): Sendo D=(V,E) um digrafo, a soma de todos os
graus de saída (entrada) é igual ao número de arcos correspondentes.
Este resultado, é uma consequência direta do facto de, cada arco contribuir
exatamente com uma unidade para a soma dos graus de saída (entrada).
No digrafo F, representado na Figura 12, os graus de saída são os seguintes: 2 em A,
1 em B, 3 em C e 1 em D, sendo a soma destes graus igual a 7; contando os seus
arcos verificamos que, também são 7 dado que o lacete conta como 2 arcos.
Consideramos, agora, os graus de entrada deste grafo: 0 em A; 2 em B; 4 em C e 1
em D, também, a sua soma 7.
1.4- Subgrafos
Por vezes, a resolução de um problema implica considerar apenas uma parte de um
grafo. A título de exemplo, consideremos o caso de uma rota aérea envolvendo os
aeroportos de Bragança, Vila Real, Porto, Lisboa e Faro. Se, em determinada
situação, forem relevantes somente rotas envolvendo as cidades de Bragança, Vila
Real e Lisboa, podemos ignorar os aeroportos das restantes cidades. Então, no grafo
que modela a rede completa, podemos remover os vértices das cidades não
relevantes para o problema e, também, as arestas que incidam nos vértices
removidos; com este procedimento, obtemos um grafo com ordem inferior ao original e
que, designamos por subgrafo do grafo original.
Definição 8
Seja G=(V,E) um grafo (digrafo). O Grafo G’=(V’,E’) diz-se um subgrafo
(subdigrafo) de G se VV ' e se E’ é constituído por arestas (arcos) de E que
Idília Caetano
13
unem vértices de V’. Neste caso, G é um supergrafo (superdigrafo) de G’.
Sendo VW ' , o subgrafo (subdigrafo) induzido por W’ é o grafo (digrafo) cujo
conjunto de vértices é W’ e o conjunto de arestas (arcos) é formado por todas as
arestas (arcos) em E que unem os vértices de W’.
Consideremos, o grafo G2 da Figura 17. O Grafo G3, Figura 18, é um subgrafo de G2.
O grafo G5 é um subgrafo de G2 e é o subgrafo de G2 induzido por {1,2,3,4,5,7,8}. O
grafo G2 é supergrafo dos grafos G3 e G5.
Sejam G=(V,E) um grafo, A e B dois dos seus vértices e AB uma aresta de G. Os
grafos seguintes são subgrafos de G:
▪ o próprio G;
▪ o grafo (V, Ø);
▪ o grafo resultante de G por eliminação da aresta AB, isto é, o grafo (V,E\{AB});
▪ o grafo ({A,B},{AB});
▪ qualquer subgrafo de um subgrafo de G;
▪ o grafo constituído apenas por um único vértice de G (em que E=Ø).
1.5- Grafos isomorfos
Como vimos na Secção 1.1, dois diagramas podem ser muito diferentes e representar
o mesmo grafo; o caso contrário também pode acontecer, isto é, dois diagramas
podem ser muito semelhantes e, no entanto, não representarem o mesmo grafo, como
por exemplo na Figura 16.
Figura 16 - Diagramas semelhantes que não representam o mesmo grafo.
Observemos que, os diagramas da Figura 16, não representam o mesmo grafo, dado
que, embora ambos possuam os mesmos vértices, BC é aresta do primeiro grafo, mas
G1 G2
Universidade de Trás-os-Montes e Alto Douro 14
não é do segundo. No entanto, se em G1 o vértice A for substituído pelo B e vice-
versa, obtemos o grafo G2.
Definição 9
Dois grafos, G1 e G2, dizem-se isomorfos se existe uma correspondência unívoca
entre os seus vértices e arestas de tal maneira que a relação de incidência seja
preservada, isto é, se existe uma correspondência, de um para um, entre os
vértices de G1 e os de G2, com a propriedade de o número de arestas que unem
dois vértices de G1 ser igual ao número de arestas que unem os vértices
correspondentes de G2.
G1 G2
Figura 17 - Grafos Isomorfos.
Os grafos G1 e G2 da Figura 17, embora apresentem formas muito distintas, são
isomorfos. Basta, designar os vértices A, B, C, D, G, H, I e J do Grafo G1,
respetivamente, por 1, 3, 6, 7, 2, 4, 5 e 8, para obter o grafo G2.
Como entre dois grafos de ordem n , há !n possibilidades de correspondências de um
para um, para um valor de n elevado torna-se impraticável testar, se cada uma das
!n correspondências preservam a adjacência. Assim, na prática, torna-se difícil
determinar se dois grafos são ou não isomorfos. Para mostrar que, dois grafos não
são isomorfos, uma forma de contornar esta dificuldade é mostrar que, estes não
partilham, pelo menos, uma das propriedades que os grafos isomorfos partilham. Por
exemplo, grafos isomorfos apresentam o mesmo número de vértices e de arestas;
adicionalmente, os graus dos vértices correspondentes devem coincidir; caso
contrário, concluímos que, os grafos não são isomorfos.
O grafo G3 da Figura 18, não é isomorfo aos grafos G1 e G2 da Figura 17, dado possuir
menos uma aresta; G4 não é isomorfo nem a G1 nem a G2, visto possuir menos uma
aresta; G5 é não isomorfo a G1 e a G2 pois, possui menos um vértice. Também é
Idília Caetano
15
simples concluir que, os grafos G3, G4 e G5 são não isomorfos entre si; para tal, basta
observar que, o grafo G5 tem menos vértices que os grafos G3 e G4, logo não é
isomorfo a nenhum destes. Por sua vez, os grafos G3 e G4 também não são isomorfos
pois, por exemplo, o grau do vértice 6 em G3 é 2, enquanto em G4, o grau de B (vértice
correspondente) é 3.
G3 G4 G5
Figura 18 - Grafos não isomorfos.
1.6- Operações com grafos
Existem várias operações que podemos efetuar com grafos, de modo a obter novos
grafos. Aqui são focadas as mais utilizadas.
Na definição seguinte, usam-se as letras A e B para representar, genericamente,
vértices de um dado grafo (digrafo).
Definição 10
Consideremos, os grafos (digrafos) Gi=(Vi,Ei), i=1,2. O grafo (digrafo)
i) complementar de é o grafo (digrafo) ),( '
iEVG ii tal que:
ii VBAEABABEi
,:' ii VBAEBABAE
i ,),(:),('
;
ii) que resulta da interseção de G1 e G2 é definido por:
),( 212121 EEVVGG ;
iii) que resulta da reunião de G1 e G2 é definido por:
),( 212121 EEVVGG .
Na Figura 19, apresentamos exemplos que, pretendem clarificar os conceitos
introduzidos na Definição 10.
Universidade de Trás-os-Montes e Alto Douro 16
Figura 19 - Grafos Reunião, Interseção e Complementar.
Idília Caetano
17
1.7- Grafos especiais
Nesta secção, são abordados alguns casos particulares de grafos que, pelas suas
características especificas, justificam ser destacados dos demais.
Definição 11
Seja G=(V,E) um grafo (digrafo). Se V for um conjunto constituído por n vértices
isolados, então G diz-se um grafo nulo e representa-se por nN .
Na Figura 20, está representado 5N , isto é, o grafo nulo com 5 vértices.
Figura 20 - Grafo nulo com 5 vértices (N5).
Notemos que, todo o grafo nulo é regular de grau 0, visto todos os seus vértices terem
grau zero. Observemos, adicionalmente, que o grafo nulo, Nn, é um subgrafo de
qualquer grafo de ordem n.
Definição 12
Dado um grafo (digrafo) G, se dois dos seus vértices estiverem ligados por
lacetes ou mais de uma aresta (arco), a G dá-se o nome de multigrafo. O
grafo (digrafo) G diz-se simples se não contiver lacetes nem arestas (arcos)
múltiplas(os) Se G for simples e todos os vértices de G forem adjacentes entre
si, então G diz-se completo e representa-se por nK .
Notemos que o grafo completo com n vértices (representado por nK ) é regular de
grau 1n .
Na Figura 21, estão representados dois grafos completos e, na Figura 15 está
representado 4K . O grafo da, Figura 6, é simples, mas não é completo.
Universidade de Trás-os-Montes e Alto Douro 18
K5 K6
Figura 21 - Grafos completos K5 e K6.
Observamos que, os grafos da Figura 19, são simples, enquanto os da Figura 10, são
todos multigrafos, dado que todos eles apresentam lacetes no vértice A.
Conforme foi referido anteriormente, podemos representar três cidades pelos vértices
A, B e C, e as estradas que as ligam por arestas. Assim, a correspondente rede viária
pode ser representada por um grafo. Se, por exemplo, as cidades A e B têm duas
estradas diferentes a uni-las, então, existem arestas múltiplas entre esses dois
vértices e o grafo correspondente é um multigrafo.
Do Lema dos apertos de mão, podemos concluir que, em qualquer grafo (digrafo)
completo com n vértices, o número de arestas (arcos) é ).1(2
12 nnCn Por exemplo,
uma vez que o grafo completo 6K , da Figura 21, tem 6 vértices, pelo lema dos apertos
de mão, concluímos que tem 15 arestas.
O complementar de um grafo G com n vértices, pode ser construído utilizando o
correspondente grafo nK . Basta, para tal, remover de nK todas as arestas de G.
O complementar de qualquer grafo completo, é o grafo nulo correspondente e vice-
versa.
Definição 13
Dado um grafo G, dá-se o nome de clique de G a qualquer subgrafo completo
de G.
Idília Caetano
19
Consideremos, os grafos G e G' da Figura 22. O Grafo G' é um Grafo Clique do Grafo
G.
Figura 22 -O grafo G' é um grafo clique do grafo G.
Definição 14
Seja G=(V,E) um grafo (digrafo). Se for possível encontrar um subconjunto A
de V, de tal modo que cada aresta (arco) de G una um vértice de A a um
vértice de V\ A, G diz-se bipartido.
Num grafo bipartido, podem existir vértices em A, que não estejam unidos a nenhum
vértice de V\A.
Consideremos os grafos seguintes:
Figura 23 - Grafo bipartido.
Ambos os grafos são grafos bipartidos, embora no segundo grafo, o terceiro vértice
preto não esteja unido ao nenhum vértice branco.
Definição 15
Seja G=(V,E) um grafo simples (digrafo). Se G for bipartido e se cada vértice de A
estiver unido a cada um dos vértices de V\A, G designa-se por grafo bipartido
completo e representa-se por , onde r e s são o número de vértices em A e
V\A, respetivamente. No caso particular de r=1 ou s=1, G diz-se grafo estrela.
Universidade de Trás-os-Montes e Alto Douro 20
De seguida, apresentamos dois exemplos de grafos bipartidos completos. O grafo
que se pode representar da seguinte forma:
Figura 24 - Representações do grafo K3,3.
O grafo estrela com 8 vértices apresenta a forma seguinte:
Figura 25 - Grafo estrela.
Da Definição 15, concluímos que, qualquer grafo (digrafo) bipartido completo tem
um número de arestas (arcos) exatamente igual a rs.
Observemos ainda que, o complementar de um grafo bipartido completo é a união de
dois grafos completos.
Ilustremos esta ideia, com o caso do grafo bipartido completo K3,2 da Figura 26, o qual
contém arestas.
Figura 26 - Grafo bipartido completo K 3,2
O complementar de K3,2 é o grafo da Figura 27, que é a união dos grafos das Figuras
28 e 29.
Idília Caetano
21
Figura 27 - Grafo complementar de K3,2.
Figura 28
Figura 29
Outros exemplos:
Consideremos, agora, um grafo que representa os casamentos entre as
pessoas de uma cidade, onde cada pessoa é representada por um vértice e
um casamento por uma aresta. Assumindo que, só se verificam casamentos
entre pessoas de sexo diferente, o grafo será bipartido, já que os vértices a
serem unidos por uma aresta são obtidos da seguinte forma: um do
subconjunto dos vértices que representam o sexo masculino e o outro do
subconjunto dos vértices que representam o sexo feminino;
O caso de uma rede local constituída por sete computadores e impressoras,
todos ligados a um servidor central. Esta rede tem uma topologia em estrela, a
qual pode ser representada pelo grafo bipartido completo 1,7K , representado
na Figura 25.
Universidade de Trás-os-Montes e Alto Douro 22
O tetraedro, o cubo, o octaedro, o dodecaedro e o icosaedro, Figura 30, são os cinco
sólidos regulares, conhecidos como Sólidos Platónicos. Da projeção destes cinco
sólidos no plano, obtêm-se os cinco grafos habitualmente conhecidos por grafos
Platónicos.
Figura 30 - Sólidos Platónicos.
Definição 16
Um grafo regular formado pelos vértices e arestas da projeção no plano de um
dos sólidos regulares, tetraedro, cubo, octaedro, dodecaedro ou icosaedro,
designa-se por grafo platónico.
Na Figura 31, encontram-se os cinco grafos platónicos referidos na Definição 16.
Figura 31 - Grafos platónicos do Tetraedro, Cubo, Octaedro, Dodecaedro e Icosaedro
respetivamente.
Idília Caetano
23
Todos os grafos platónicos, têm a particularidade de poderem ser representados por
grafos, de tal modo que, quaisquer duas das suas arestas nunca se cruzem. Em
muitos problemas, é útil conseguir desenhar grafos que gozem desta particularidade e
que são conhecidos por grafos planares.
Definição 17
Um grafo G diz-se planar se puder ser desenhado no plano de modo a que
quaisquer duas das suas arestas nunca se cruzem, exceto nos vértices onde
ambas são incidentes. Os esboços correspondentes designam-se por esboços
planos de G.
Contrariamente aos grafos platónicos, o grafo bipartido completo 3,3K , Figura 24, não
é planar, dado que, qualquer um dos seus esboços planos contêm pelo menos um
cruzamento.
O grafo 4K é planar, dado que admite os seguintes esboços planos:
Figura 32 - Grafos planar 4K .
Definição 18
Qualquer grafo G que não possa ser expresso como a reunião de dois grafos com
interseção vazia, é um grafo conexo; caso contrário, diz-se desconexo. Neste
último caso, G pode ser expresso como a reunião de um número finito de grafos
conexos, sendo cada um destes designado por componente de G.
Universidade de Trás-os-Montes e Alto Douro 24
Na Figura 33, constam um grafo conexo G1 e outro desconexo G2.
Figura 33 - Grafo conexo - G1 e Grafo desconexo- G2.
A rede do metro de Lisboa, Figura 34, pode ser representada por um grafo conexo,
dado que, quaisquer duas das estações de metro estão ligadas pela rede.
Figura 34 - Rede do metro de Lisboa.
Definição 19
Um digrafo D diz-se conexo, se o grafo subjacente a D é conexo.
Figura 35 - Digrafo conexo D.
Idília Caetano
25
Consideremos, o digrafo D da Figura 35. Como o grafo G1 da Figura 33, é o grafo
subjacente a D, e G1 é conexo, pela Definição 19, concluímos que, o digrafo D da
Figura 35, é conexo.
Definição 20
Um grafo G diz-se k-conexo, se dois quaisquer dos seus vértices estiverem
ligados por, pelo menos, k arestas, onde k é o maior inteiro não negativo naquelas
condições.
A título de exemplo, se após a remoção de, no mínimo, dois vértices, um grafo conexo
G passa a ser desconexo, então G diz-se 2-conexo. O grafo G1 da Figura 33,
transforma-se num grafo desconexo, se lhe for retirado o vértice B, logo G1 é 1-
conexo. O mesmo acontece com o grafo da Figura 36 que, também fica desconexo
quando se retira o vértice C.
.
Figura 36 - Grafo 1-Conexo.
Definição 21
Seja G um grafo simples com n vértices. Se G for conexo e regular de grau 2,
então a G dá-se o nome de grafo ciclo ou grafo circuito de ordem n e
representa-se por .
A Figura 37, representa o grafo circuito , isto é o grafo ciclo com 5 vértices.
Figura 37 - Grafo Ciclo C5.
Universidade de Trás-os-Montes e Alto Douro 26
Se considerarmos, agora uma rede de computadores, em que cada unidade está
ligada a exatamente duas outras unidades e a informação circula de computador para
computador, ao longo do circuito, até ao local pretendido, este tipo de rede pode ser
modelada por um grafo circuito. No caso de essa rede ser formada por cinco
computadores, pode ser modelada pelo grafo ciclo da Figura 37.
Algumas redes de computadores, estão organizadas de tal modo que, a informação é
transferida ao longo do circuito ou através de um servidor central, podendo estas
redes ser representadas por um misto de grafo estrela e grafo ciclo. Chega-se, assim,
ao conceito de grafo roda. No caso de a rede ter seis computadores, o grafo roda
correspondente é o da Figura 38.
Figura 38 - Grafo Roda com 6 vértices.
O grafo da Figura 38, obtém-se a partir do grafo ciclo C5, acrescentando um novo
vértice e unindo este novo vértice a cada um dos vértices do grafo C5.
Definição 22
Consideremos o grafo ciclo , com 3n . Ao grafo simples, de n+1 vértices, que
se obtém acrescentando um vértice extra a e unindo, através de arestas, este
novo vértice a cada um dos n vértices deste grafo ciclo, dá-se o nome de grafo
roda e representa-se por .
1.8- Caminhos e ciclos
Várias aplicações da teoria de grafos envolvem ir de um vértice para outro, no grafo. O
problema das pontes de Königsberg, já descrito anteriormente, é um exemplo; outro,
será tentar encontrar o caminho mais curto entre uma dada escola e a estação de
camionagem. De seguida, apresentamos alguns conceitos que, pretendem clarificar
estas noções no contexto da teoria de grafos.
Idília Caetano
27
Definição 23
Seja G um grafo (digrafo). Um passeio de comprimento k em G, entre os
vértices 1v e 1kv , é uma sucessão de k arestas (arcos) de G da forma
13221 , , , kkvvvvvv ( ),( , ),,( ),,( 13221 kk vvvvvv ) (1)
e que se representa por 1321 kkvvvvv .
No caso do grafo da Definição 23, não ser dirigido, o passeio (1) também pode
representar o passeio entre os vértices 1kv e 1v .
Num passeio pode haver repetição de vértices e arestas; por exemplo,
6754254231 vvvvvvvvvv é um passeio de comprimento 9, no grafo da Figura 39, entre os
vértices 1v e 6v .
Figura 39 - Grafo G.
No caso de não poder haver repetição de arestas (arcos), num dado passeio, este
passa a chamar-se um trajeto.
Definição 24
Seja G um grafo (digrafo). Se todas as arestas (arcos) de um passeio em G são
diferentes, então o passeio designa-se por trajeto. No caso de todas as arestas
(arcos) e todos os vértices de um passeio em G serem diferentes, então o passeio
designa-se por caminho.
Consideremos, o grafo da Figura 39. O passeio 6754254231 vvvvvvvvvv não é um trajeto
no grafo da Figura 39, visto haver repetição da aresta 54vv , enquanto o passeio
675432531 vvvvvvvvv já é um trajeto no grafo da Figura 39 (pois, não tem arestas
Universidade de Trás-os-Montes e Alto Douro 28
repetidas), embora não seja um caminho (dado que, por exemplo, o vértice 3v ocorre
duas vezes). Como, o passeio 7531 vvvv , não apresenta vértices nem arestas repetidos
então, é um caminho no grafo da Figura 39.
No caso do digrafo da Figura 40, o passeio 36521 vvvvv representa um caminho entre os
vértices 1v e 3v , enquanto 636521 vvvvvv representa um trajeto, entre os vértices 1v e
6v , mas não é um caminho, dado que o vértice 6v ocorre mais do que uma vez.
Figura 40 - Digrafo D.
Definição 25
Seja G um grafo (digrafo). Um passeio fechado em G, é uma sucessão de
arestas (arcos) de G da forma:
113221 , , , vvvvvv k
onde o primeiro e o último vértices coincidem. Se todas as arestas (arcos) do
passeio fechado são diferentes, então o passeio fechado designa-se por trajeto
fechado.
É de notar que, no trajeto fechado estamos também perante um circuito.
No caso de todos os vértices de um trajeto fechado, exceto o primeiro e o último,
serem diferentes, então este trajeto designa-se por caminho fechado.
É de notar que, no caminho fechado estamos também perante um ciclo.
Na Figura 39, a sequência 25125312 vvvvvvvv é um passeio fechado, mas não um
trajeto fechado (por exemplo, a aresta 12 vv aparece duas vezes). Por sua vez,
2154352 vvvvvvv é um trajeto fechado e não é um ciclo (o vértice 5v aparece mais de
uma vez), enquanto 5435 vvvv é um exemplo de um ciclo.
Idília Caetano
29
A noção de caminho, permite caraterizar a conetividade de um grafo (digrafo). Das
Definições 18 e 24, concluímos que um grafo G é conexo se existe um caminho em G
entre qualquer par dos seus vértices.
Definição 26
Um digrafo G diz-se fortemente conexo, se existir um caminho em G entre
quaisquer dois dos seus vértices.
O digrafo D da Figura 35, embora seja conexo, não é um digrafo fortemente conexo,
pois não existe um caminho de C para B. O digrafo representado na Figura 41 é
fortemente conexo, dado existir um caminho entre quaisquer par de vértices.
Figura 41 - Digrafo conexo.
Assim, embora qualquer digrafo fortemente conexo seja conexo, nem todo o digrafo
conexo é fortemente conexo.
Definição 27
Um grafo G é orientável, se G for o grafo subjacente dum digrafo fortemente
conexo, isto é, se for possível orientar (pelo menos num sentido) as arestas de G
de modo que o digrafo resultante seja fortemente conexo.
O grafo da Figura 42 é orientável, dado ser o grafo subjacente ao digrafo da Figura 41
que é fortemente conexo.
Figura 42 - Grafo orientável.
Universidade de Trás-os-Montes e Alto Douro 30
Consideremos as Figuras 43 e 44. Observemos que, a remoção da aresta BE do grafo
da Figura 43, transforma este grafo no grafo desconexo da Figura 44. A uma aresta
com esta característica dá-se o nome de ponte.
Notemos que, se removermos, por exemplo, a aresta AB, o grafo resultante da Figura
43 é desconexo, ou seja AB também é uma ponte.
Figura 43 - Grafo com várias pontes.
Figura 44 - Grafo desconexo.
Definição 28
Num grafo conexo, uma ponte é uma aresta cuja remoção deixa o grafo
desconexo.
O exemplo a que se refere a Figura 43, permite concluir que, qualquer grafo que
contenha uma ponte não pode ser orientável, isto é, não pode ser o grafo subjacente
de um digrafo orientável, dado essa ponte ter de ser orientada ou num sentido ou no
outro.
O próximo resultado, permite saber se, substituindo cada aresta por um arco, é
possível transformar um grafo num digrafo fortemente conexo.
Teorema 3
Um grafo conexo é orientável se e só se não contiver pontes.
Demonstração:
O grafo da Figura 43, permite mostrar que, se um grafo é orientável então não pode
possuir pontes.
Para demonstrar o recíproco, comecemos por supor que o grafo conexo G não possui
qualquer ponte. Como não há pontes, cada aresta tem de pertencer a um ciclo.
Consideremos, um qualquer ciclo C1 de G e orientemos as suas arestas de modo a
Idília Caetano
31
obter um ciclo dirigido; assim conseguimos ir de um dado vértice de C1 para outro
qualquer vértice deste mesmo ciclo. Consideremos, agora, um arco, que não esteja
contido em C1, mas que seja incidente num vértice de C1. Uma vez que, estamos a
admitir que, o grafo G não tem pontes, este arco está obrigatoriamente contido num
dado ciclo C2 de G. É possível orientar os arcos de C2 de modo, a obter um ciclo
orientado, desde que se respeite a orientação já estabelecida nos arcos do ciclo C2
comuns ao ciclo C1. Deste modo, é possível ir de qualquer vértice de C1 ou C2 para
qualquer outro vértice de C1 ou C2. Como G é conexo, é possível continuar este
procedimento até que todos os arcos de G estejam orientados, obtendo, deste modo,
um digrafo fortemente conexo. c.q.d.
O próximo teorema, fornece uma condição suficiente para que um grafo contenha um
ciclo ou circuito.
Teorema 4
Se G é um grafo conexo tal que o grau de cada vértice é, no mínimo, 2, então G
contém um circuito.
Demonstração:
No caso de G ter arestas múltiplas, o resultado é trivial. Seja G, um grafo simples
e um dos seus vértices. Admitamos, agora, que é um vértice adjacente a ;
de seguida, escolhamos um vértice , distinto de , adjacente a ; continuando
este processo, escolhamos um vértice , distinto de , adjacente , onde
1i (como o grau de cada vértice é, pelo menos, dois é sempre possível
encontrar esse vértice). Este processo termina, quando se encontra um vértice
que já foi escolhido anteriormente ( o que acontece sempre dado o número de
vértices de G ser finito), obtendo-se assim, um ciclo e portanto um circuito. c.q.d.
Um grafo bipartido, pode ser caraterizado a partir do conceito de ciclo.
Teorema 5
Um grafo é bipartido se e só se não contiver nenhum ciclo ímpar, isto é, se não
contiver qualquer ciclo com um número ímpar de vértices.
Universidade de Trás-os-Montes e Alto Douro 32
Demonstração:
Relativamente à condição necessária.
Consideremos, um grafo G bipartido que, contenha pelo menos um ciclo (o caso
em que G não possui ciclos é trivial). Sejam, X e Y , os seus conjuntos partição e
um seu ciclo arbitrário. Suponhamos que, ; então e
com . Como é adjacente a , k é par e, assim, C é um
ciclo par.
No que diz respeito à condição suficiente.
Seja G, um grafo conexo com pelo menos 2 vértices, isto é, cujo cardinal , e
que não contém ciclos ímpares. Consideremos um vértice de G, v , fixo e X
como sendo o conjunto dos vértices de G cujo caminho mais curto entre x e v tem
comprimento par, sendo Y V X . Suponhamos, agora, que são
adjacentes. Se x v , então o menor caminho entre v e 'x tem comprimento
um, logo , o que é um absurdo. Assim, x e v têm de ser distintos bem
como 'x e v . Sejam 1 2 2 2 2 1k kvv v v v x o caminho de menor comprimento entre v
e x, 1 2 2 2 2 1... 't tvw w w w x o caminho de menor comprimento entre v e 'x .
Consideremos, agora, o último vértice que os 2 caminhos anteriores têm em
comum, i jZ v w , algum par ,i j . Como i e j possuem a mesma paridade e
x e 'x são adjacentes, 1 2 2 2 1 2 1 2 2... ' ...j j k k t t jv v v v xx w w w é um ciclo de
comprimento ímpar, o que é um absurdo. Logo, quaisquer dois vértices em X (ou
Y ) não são adjacentes e, como tal, G é bipartido com os conjuntos de partição X
e Y . c.q.d.
Os temas abordados neste capítulo foram, baseados nas referências [12], [13], [14] e
[18].
Idília Caetano
33
Capítulo 2 – Grafos Eulerianos e Hamiltonianos
2.1- Grafos Eulerianos
Voltemos, agora, ao problema das pontes de Königsberg, resolvido por Euler; o grafo
associado a este problema é o que consta na Figura 2. Neste problema, pretendemos
encontrar um trajeto fechado que inclua todas as arestas do referido grafo. A um
trajeto com estas caraterísticas, dá-se o nome de trajeto Euleriano.
Definição 29
Seja G, um grafo (digrafo) conexo. A G dá-se o nome de grafo (digrafo)
euleriano (semieuleriano), se existe um circuito (trajeto) que inclua todas as
arestas (arcos) de G; neste caso o circuito (trajeto) diz-se euleriano.
As Definições 25 e 29, permitem concluir que, qualquer grafo euleriano é também
semieuleriano.
Figura 45 - G1 é Eureliano, G2 é semieuleriano e G3 nem é euleriano nem semieuleriano.
O grafo G1 é Euleriano, dado existir o circuito ABCDBEDAEFA, que contém todas as
arestas de G1. Por sua vez, como em G2 existe o trajeto ABCDBEDAE que contém
todas as arestas de G2 então este é semieuleriano; o grafo G3 não é euleriano nem
semieuleriano porque, não é possível definir um trajeto euleriano.
Universidade de Trás-os-Montes e Alto Douro 34
Figura 46 - D1 é euleriano, D2 é semieureliano e D3 nem é Euleriano nem semieuleriano.
O digrafo D1 é Euleriano, dado existir o circuito FAEDCBDABEF; em D2 existe o trajeto
AEDCBDABE, logo D2 é semieuleriano; o digrafo D3 não é euleriano nem
semieuleriano porque não é possível definir nenhum circuito ou trajeto euleriano.
O resultado seguinte, conhecido por Teorema de Euler, fornece uma condição
necessária e suficiente para que um grafo seja euleriano.
Teorema 6 (Teorema de Euler)
Um grafo conexo G é euleriano se e só se todos os vértices de G têm grau par.
Demonstração:
Seja G um grafo conexo euleriano, 1 2 1... nE VV V V um circuito euleriano em G e X um
vértice qualquer de G. Uma vez que G é conexo e E é euleriano então iX V para
algum i ∈ {1,2,...,n −1,n}.
Vejamos que Vi tem grau par. Cada vértice que figura na sequência de vértices do
circuito euleriano E , tem duas arestas nele incidentes. Como cada aresta ocorre
precisamente uma vez em E , o grau de cada vértice é par.
Provaremos a recíproca por indução sobre o número de arestas de G. Suponhamos,
então, que o grau de cada vértice de G é par. O caso em que G não possui arestas é
trivial. Portanto, como hipótese de indução, admitiremos que o resultado é válido se G
possuir menos n arestas e, nessas condições provaremos que o resultado é válido no
caso de G possuir n arestas ( ). Admitamos, então, que G tem n arestas. Como G
é conexo, cada vértice terá pelo menos grau 2 e, portanto, a partir de G, é possível
obter um subgrafo regular onde cada vértice tem grau 2, ou seja, pela Definição 21,
podemos obter, um subgrafo ciclo C de G. Se C contiver todas as arestas de G, a
prova está terminada.
No caso contrário, removemos de G todas as arestas de C, resultando assim um novo
subgrafo H de G, eventualmente desconexo, com menos arestas que G (logo com
Idília Caetano
35
menos de n arestas) e no qual todo o vértice continua a ter grau par. Pela hipótese de
indução, podemos concluir que, cada componente de H possui um circuito euleriano.
Como cada componente de H possui, pelo menos, um vértice em comum com C
(porque G é conexo), obtemos um circuito euleriano de G, começando num vértice
qualquer de C, seguindo as arestas de C até um vértice comum ao grafo ciclo C e a
uma das componentes de H, percorrendo em seguida, o circuito euleriano da
componente de H que contém este vértice comum e, de seguida, continuando pelas
arestas de C até encontrar um vértice comum ao grafo ciclo C e a outra componente
de H, seguindo o circuito euleriano desta, e assim sucessivamente. O processo
terminará quando voltarmos ao vértice inicial.
O Teorema de Euler permite concluir que, não é possível efetuar o “trajeto” pretendido
pelos habitantes de Königsberg. Como se pode observar na Figura 2, existem quatro
vértices de grau ímpar. Assim, é impossível iniciar e terminar o percurso no mesmo
ponto e passar por cada ponte apenas uma vez. c.q.d.
O próximo resultado permite caracterizar os grafos semieulerianos.
Teorema 7
Um grafo conexo G é semieuleriano se e só se existem apenas dois vértices de G
com grau ímpar.
Demonstração:
Suponhamos que, o grafo conexo G é semieuleriano.
Seja E, um trajeto semieuleriano de G, começando num vértice V e terminando num
vértice W . Se então E é um circuito e, nesse caso, pelo teorema anterior, todos
os vértices de G teriam grau par. Admitamos, então, que . É claro que V e W
têm ambos grau ímpar. Por sua vez, cada um dos restantes vértices que figura na
sequência de vértices de E tem 2 arestas incidentes (isto é, cada um dos restantes
vértices tem grau 2). Como cada aresta ocorre precisamente uma vez em E, o grau
desses vértices é par.
Reciprocamente, suponhamos que G é conexo e possui exatamente 2 vértices, A e B,
de grau ímpar. Consideremos o grafo G* que, se obtém de G por junção de uma nova
aresta ligando A a B. A este novo grafo podemos aplicar o Teorema de Euler e
concluir que admite um circuito euleriano. Retirando deste circuito a aresta
previamente adicionada a G obtemos um trajeto semieuleriano ligando A e B, o que
termina a demonstração. c.q.d.
Universidade de Trás-os-Montes e Alto Douro 36
O Teorema 7 permite concluir que, o grafo das pontes de Königsberg, da Figura 2
também não é semieureliano, pois tem quatro vértices de grau ímpar.
Os Teoremas 6 (Teorema de Euler) e 7, permitem concluir que, se G for um grafo
semieuleriano, para obter um grafo euleriano com os mesmos vértices de G, basta
adicionar uma nova aresta/arco incidente aos dois vértices de grau ímpar.
A partir do grafo semieuleriano G2 da Figura 45, adicionando uma nova aresta
incidente nos vértices de grau ímpar, A e E, obtém-se um grafo euleriano (Figura 47)
com os mesmos vértices de G2.
Figura 47 - Grafo Euleriano obtido do Grafo não euleriano G2 da Figura 45.
Observamos que, o processo efetuado no último exemplo, permite transformar um
grafo G não euleriano num grafo de Euler. A este processo, dá-se o nome de
eulerização de G.
Os exemplos da Figura 48, são exemplos de duas eulerizações distintas do grafo G3
da Figura 45. A melhor eulerização deste é o grafo GE1, pois a melhor eulerização de
um dado grafo G é aquela que, difere de G no número mínimo de arestas.
Figura 48 - Exemplos de grafos eulerianos obtidos através de eulerizações do grafo G3
da Figura 45.
Se um dado grafo é euleriano e tem um número de arestas reduzido, é relativamente
fácil, por tentativa, determinar um circuito euleriano do mesmo. Contudo, esta tarefa
Idília Caetano
37
pode complicar-se quando o número de arestas é elevado. Neste caso, é conveniente
utilizar um método sistemático para determinar um circuito de Euler. Existem alguns
algoritmos que permitem atingir este propósito, nomeadamente o algoritmo de
Herholzer e o algoritmo de Fleury. Neste trabalho, apenas se fará referência a este
último, o qual consiste em, num dado grafo G de Euler, encontrar um circuito C de
Euler. No processo de determinação desse circuito, vai-se eliminando do grafo G as
arestas já percorridas, assim como os vértices sempre que estes fiquem isolados.
Algoritmo de Fleury:
Seja G um grafo eureliano:
Passo 1: Seleciona-se, aleatoriamente, um vértice de G, como ponto de partida
do circuito C.
Passo 2: Em seguida, escolhe-se, para o circuito C, uma aresta incidente no
vértice de partida e elimina-se a mesma do grafo G.
Passo 3: Repete-se o Passo 2 respeitando os seguintes critérios:
Passo 3.1. sempre que possível, evitar escolher arestas que sejam
pontes;
Passo 3.2 eliminar os vértices sempre que estes, no processo de
eliminação de arestas do Passo 2, fiquem isolados.
Passo 4: O processo termina quando, se percorre (e elimina) todas as arestas
de G e se regressa ao vértice de partida.
Figura 49 - Grafo Euleriano.
A título de exemplo, aplicamos o Algoritmo de Fleury ao grafo da Figura 49, iniciando
pelo vértice A. Para facilitar a visualização, sempre que, uma aresta for "eliminada"
será desenhada a tracejado e, sempre que, o vértice fique isolado e seja removido, a
bola preta que o representa será substituída por uma bola branca.
Universidade de Trás-os-Montes e Alto Douro 38
Figura 50 - Aplicação do Algoritmo de Fleury da Figura 49.
Partindo do vértice A podemos optar por quatro arestas: escolhemos AB (grafo G1).
Em B existem três alternativas; seguimos a aresta BC (grafo G2). Em C optamos por
CD (grafo G3) e em D por DB (grafo G4). Em B apenas existe a alternativa BF (grafo
G5). Em F escolhemos a aresta FE (grafo G6). No vértice E optamos pela aresta EC
(grafo G7) e em C seguimos, obrigatoriamente, CA (grafo G8). Em A escolhemos a
resta AE (grafo G9) e em E, forçosamente, tomamos ED (grafo G10); em D seguimos,
obrigatoriamente por DF (grafo G11) e, finalmente, em F percorremos a aresta FA
(grafo G12). Como já não existem outras arestas e voltamos ao vértice de partida, o
circuito de Euler obtido é ABCDBFECAEDFA.
O Algoritmo de Fleury, pode ser adaptado de modo a permitir, encontrar um trajeto
eureliano num grafo semieuleriano.
Idília Caetano
39
Seja G um grafo semieureliano:
Passo 1: Seleciona-se, como ponto de partida do circuito C, um dos dois
vértices de grau ímpar de G.
Passo 2: Em seguida, escolhe-se, para o circuito C, uma aresta incidente no
vértice de partida e elimina-se a mesma do grafo G.
Passo 3: Repete-se o Passo 2 respeitando os seguintes critérios:
Passo 3.1. sempre que possível, evitar escolher arestas que sejam
pontes;
Passo 3.2 eliminar os vértices sempre que estes, no processo de
eliminação de arestas do Passo 2, fiquem isolados.
Passo 4: O processo termina quando, se alcança o outro vértice de grau ímpar
percorrendo (e eliminando) todas as arestas de G.
Grande parte dos resultados apresentados até aqui para grafos (semi)eulerianos
admitem homólogos para digrafos. No caso do Teorema 6 (Teorema de Euler), basta
garantir que, para todos os vértices do digrafo D, os graus de entrada e de saída
sejam coincidentes, enquanto no Teorema 7, devem existir apenas dois vértices com
os graus de entrada e de saída distintos (o grau de saída de um deles excede em uma
unidade o grau de entrada, enquanto no outro vértice é forçosamente o contrário, isto
é, o grau de entrada excede em uma unidade o grau de saída).
Para obter o homólogo do Algoritmo de Fleury para digrafos, vamos considerar, de
modo idêntico, em separado, os casos digrafo eureliano e digrafo semieureliano. No
primeiro destes, a escolha do vértice inicial, no Algoritmo de Fleury, é arbitrária,
enquanto no caso do digrafo semieuleriano, toma-se como vértice inicial aquele cujo
grau de saída excede o grau de entrada numa unidade. É claro que, o vértice final vai
ser aquele cujo grau de entrada é superior ao grau de saída. Nos passos 2 e 3 deste
algoritmo, deve substituir-se "aresta" por "arco".
Em seguida, aplicamos o Algoritmo de Fleury a um exemplo de digrafo semieuleriano:
Consideremos, então, o digrafo semieuleriano da Figura 51. Neste caso, vamos
escolher A para vértice de partida de um circuito eureliano daquele digrafo uma vez
que este tem grau 2 de saída e grau 1 de entrada (notar que o vértice C tem grau 1 de
saída e grau 2 de entrada, enquanto os restantes vértices B, D, E e F tem todos grau 2
de entrada e de saída).
Universidade de Trás-os-Montes e Alto Douro 40
Figura 51 - Digrafo Eureliano.
Obtém-se (de modo análogo ao que acontece nos grafos), a sequência de digrafos da
Figura 52. No final obtém-se o circuito ABCDBFEAFDEC, iniciando pelo vértice A
(neste caso o grau de saída é 2 e o de entrada é 1):
Figura 52 - Aplicação do Algoritmo de Fleury ao digrafo da Figura 51.
Idília Caetano
41
2.2- Grafos Hamiltonianos
Uma das ideias que se desenvolveu na secção 2.1, foi a de saber, se existe um trajeto
(trajeto fechado) que, inclua todas as arestas de um dado grafo conexo G
semieureliano (eureliano). Utilizando a filosofia anterior, mas substituindo arestas por
vértices, obtemos um novo problema, no qual se pretende encontrar um trajeto (trajeto
fechado) que, passe uma única vez por cada vértice de G, ou seja, encontrar um
caminho que inclua todos os vértices de G. A este caminho, dá-se o nome de caminho
Hamiltoniano.
Definição 30
Seja G um grafo conexo. A G dá-se o nome de grafo Hamiltoniano (semi-
Hamiltoniano) se existe um caminho fechado ou ciclo (caminho) que contém
todos os vértices de G. Neste caso o ciclo (caminho) diz-se Hamiltoniano.
Da Definição 30, podemos concluir que, qualquer grafo Hamiltoniano é também um
grafo semi-Hamiltoniano.
Figura 53
O grafo G1 da Figura 53 é Hamiltoniano, pois admite um ciclo de Hamilton, por
exemplo, ADBFCEA, onde constam todos vértices de G1; já o grafo G2 da Figura 53 é
semi-Hamiltoniano, pois admite, por exemplo, o caminho GJIKH que inclui todos os
vértices de G2, mas como não possui qualquer ciclo (qualquer caminho fechado) que
inclua todos os vértices de G2, não é Hamiltoniano; quanto ao grafo G3, este não
admite qualquer caminho que contenha todos os vértices de G3, não sendo, assim,
sequer semi-Hamiltoniano.
Notemos que, por exemplo, um grafo com um vértice de grau 1 não pode conter um
ciclo Hamiltoniano dado que, neste tipo de ciclo, cada vértice tem duas arestas do
ciclo que lhe são incidentes. Adicionalmente, se um vértice de um grafo tem grau 2,
Universidade de Trás-os-Montes e Alto Douro 42
então ambas as arestas que lhe são incidentes fazem parte do ciclo Hamiltoniano.
Observemos, ainda, que quando se constrói um ciclo Hamiltoniano e esse ciclo
contém um vértice, então, de todas as arestas incidentes nesse vértice, apenas duas
podem fazer parte desse ciclo.
A noção de digrafo Hamiltoniano (semi-Hamiltoniano) pode obter-se diretamente da
Definição 30.
Embora, o problema em que se pretende encontrar um ciclo Hamiltoniano, pareça ser
análogo ao problema de encontrar um ciclo euleriano, contrariamente ao que acontece
para este último caso, não é possível encontrar uma condição necessária e suficiente
para que um grafo seja Hamiltoniano. Existem, no entanto, algumas propriedades que
os grafos hamiltonianos satisfazem que, permitem concluir sobre a (im)possibilidade
do grafo conter um ciclo de Hamilton. Seguem-se, algumas dessas propriedades, cuja
a constatação é imediata:
1. Se um grafo simples admite um ciclo Hamiltoniano então não tem pontes.
2. O grafo completo de ordem 3n , , é Hamiltoniano.
3. O grafo ciclo (com n vértices), é Hamiltoniano para qualquer ordem n.
4. Qualquer grafo que se obtenha de um grafo Hamiltoniano acrescentando novas
arestas ainda é um grafo Hamiltoniano.
Observemos que, o recíproco da Propriedade 1 não é verdadeiro, como se pode
verificar pelo grafo G2 e G3 da Figura 53. Nesse grafo não existe qualquer ponte; no
entanto, não existe qualquer ciclo Hamiltoniano.
Seguem-se, dois resultados que, fornecem condições suficientes para que um grafo
seja Hamiltoniano. O primeiro resultado, é habitualmente conhecido por Teorema de
Ore enquanto, o segundo por Teorema de Dirac.
No próximo teorema utilizamos o seguinte conceito.
Definição 31
Um grafo G simples diz-se grafo maximal não hamiltoniano se não é um grafo
hamiltoniano mas a adição de qualquer aresta que ligue dois vértices não
adjacentes transforma G num grafo hamiltoniano.
Idília Caetano
43
Teorema 8 (Teorema de Ore)
Seja G um grafo simples cujo número de vértices é 3n . Se para cada par de
vértices não adjacentes A e B, a soma dos graus de A e B for não inferior a n,
então G é Hamiltoniano.
Demonstração:
Suponhamos que, o grafo G=(V,E) satisfaz as condições do teorema, mas não é um
grafo Hamiltoniano. Acrescentemos arestas a G (sem acrescentar novos vértices) de
forma, a obtermos um supergrafo G*=(V*,E*) de G, tal que, o grafo G* é um grafo
simples maximal que, satisfaz a condição do teorema, mas não é Hamiltoniano. Um
grafo G* deve existir, pois G não é um grafo Hamiltoniano, enquanto o grafo completo
definido no conjunto V dos vértices de G é Hamiltoniano. Por esta razão, para cada
par A e B de vértices não adjacentes de G*, se acrescentarmos a aresta AB ao grafo
G*, este deve conter um ciclo Hamiltoniano C. Este ciclo C, conterá certamente a
aresta AB . Finalmente, se a este ciclo C retirarmos a aresta AB, obtemos um
caminho Hamiltoniano de G*, 1 2 3, , ,..., nA V V V V B .
Assim, se, para algum i, iV é adjacente ao vértice 1A V então 1iV não pode ser
adjacente ao vértice nV B pois, no caso contrário, 1 2 1 1 2 1 1... ...i n n n i iVV V V V V V VV seria
um ciclo Hamiltoniano em G*. Por esta razão, para cada vértice adjacente a 1A V ,
existe um vértice de G distinto de nB V não adjacente a este mesmo vértice. Deste
modo, podemos concluir que 1( ) ( 1) ( )ngrau V n grau V .
Da desigualdade de cima, resulta 1( ) ( ) 1ngrau V grau V n , o que é uma
contradição. Este absurdo resultou, de termos admitido, além da hipótese, que G não
era Hamiltoniano. Assim, concluímos que G é um grafo Hamiltoniano. c.q.d.
Figura 54 - Exemplo de Caminho Hamiltoniano para a demonstração do Teorema 8.
Universidade de Trás-os-Montes e Alto Douro 44
O próximo teorema é uma consequência imediata do Teorema de Ore.
Teorema 9 (Teorema de Dirac)
Seja G um grafo simples cujo número de vértices é 3n . Se o grau de cada
vértice for superior ou igual a , então G é Hamiltoniano.
Consideremos, o grafo G1 da Figura 53. Neste caso 6n . Como, G1 é regular de grau
três, a soma dos graus de quaisquer dois dos seus vértices não adjacentes é seis.
Logo, pelo Teorema de Ore, conclui-se que G1 é Hamiltoniano. O mesmo se conclui,
usando o Teorema de Dirac, visto o grau de cada vértice ser igual a 3 (3 = 0,5 x 6).
Os Teoremas de Dirac e de Ore admitem homólogos para digrafos. No caso deste
último, sendo A e B dois vértices quaisquer não adjacentes de um digrafo G simples
de ordem 3n , basta garantir que, a soma dos graus de saída de A e dos graus de
entrada de B seja não inferior a n ; enquanto para o primeiro é suficiente que tanto os
graus de entrada como os respetivos graus de saída de todos os vértices sejam não
inferiores a .
Os caminhos ou ciclos Hamiltonianos têm várias aplicações, sendo o Problema do
Caixeiro Viajante uma delas. Neste problema, pretende-se que, o caixeiro visite um
determinado número de cidades e retorne à cidade de onde partiu, passando em cada
cidade apenas uma vez e percorrendo a distância mínima. A solução deste problema
consiste, em encontrar um ciclo Hamiltoniano no grafo, de modo a que a soma da
distância percorrida seja a menor possível.
Para este efeito, torna-se necessário introduzir o conceito de custo ou peso de uma
aresta: a cada aresta de um grafo associamos um número (custo ou peso). O grafo
passa, então, a designar-se por grafo com custos ou pesos nas arestas. Nesse caso, o
custo ou peso de um grafo é definido, pela soma dos custos ou pesos das suas
arestas.
Em muitas aplicações, é frequente a determinação de árvores (ver capítulo 3) de custo
mínimo.
Existem diferentes estratégias de resolução deste problema. Uma delas, designada
por Método Exaustivo, consiste em determinar todos os ciclos de Hamilton do grafo,
calcular o peso de cada um deles e escolher um que tenha o peso mínimo.
Idília Caetano
45
O problema seguinte, retirado de [7], pretende clarificar as noções expostas em
cima.
O António é representante duma marca de vinho de mesa e tem regularmente de
visitar os seus clientes em Beja, Castelo Branco, Faro, Lisboa e Setúbal. As
distâncias entre estas cidades encontram-se na tabela seguinte:
Distâncias entre cidades portuguesas
km Beja C. Branco Faro Lisboa Setúbal
Beja 279 147 175 143
C. Branco 279 465 228 263
Faro 147 465 277 245
Lisboa 175 228 277 50
Setúbal 143 263 245 50
Tabela 1
Sabendo que parte de Beja, que visita todas as cidades e regressa a Beja, determine
o percurso que o António deve escolher de modo a percorrer a menor distância.
Figura 55 - Mapa de Portugal.
Figura 56 - Grafo relativo ao exemplo
enunciado.
O grafo de Hamilton correspondente a este problema, pode representar-se como na
Figura 56.
Universidade de Trás-os-Montes e Alto Douro 46
Para resolver o problema, começamos por listar todos os possíveis percursos e as
distâncias correspondentes Tabela 2.
N.º Percursos(ciclos) Distâncias(pesos)
1 Beja - C. Branco - Faro - Lisboa - Setúbal - Beja 279+465+277+50+143 =1214
2 Beja - C. Branco - Faro - Setúbal - Lisboa - Beja 279+465+245+50+175 =1214
3 Beja - C. Branco - Lisboa - Faro - Setúbal - Beja 279+228+277+245+143 =1172
4 Beja - C. Branco - Lisboa - Setúbal - Faro - Beja 279+228+50+245+147 =949
5 Beja - C. Branco - Setúbal - Faro - Lisboa - Beja 279+263+245+277+175 =1239
6 Beja - C. Branco - Setúbal - Lisboa - Faro - Beja 279+263+50+277+147 =1016
7 Beja - Faro - C. Branco - Lisboa - Setúbal - Beja 147+465+228+50+143 =1033
8 Beja - Faro - C. Branco - Setúbal - Lisboa - Beja 147+465+263+50+175 =1100
9 Beja - Faro - Lisboa - C. Branco - Setúbal - Beja 147+277+228+263+143 =1058
10 Beja - Faro - Setúbal - C. Branco - Lisboa - Beja 147+245+263+228+175 =1058
11 Beja - Lisboa - C. Branco - Faro - Setúbal - Beja 175+228+465+245+143 =1256
12 Beja - Lisboa - Faro - C. Branco - Setúbal - Beja 175+277+465+263+143 =1323
13 Beja - Setúbal - Lisboa - Faro - C. Branco - Beja 143+50+277+465+279 =1214
14 Beja - Lisboa - Setúbal - Faro - C. Branco - Beja 175+50+245+465+279 =1214
15 Beja - Setúbal - Faro - Lisboa - C. Branco - Beja 143+245+277+228+279 =1172
16 Beja - Faro - Setúbal - Faro - C. Branco - Beja 143+245+50+228+279 =949
17 Beja - Lisboa - Faro - Setúbal - C. Branco - Beja 175+277+245+263+279 =1239
18 Beja - Faro - Lisboa - Setúbal - C. Branco - - Beja 147+277+50+263+279 =1016
19 Beja - Setúbal - Lisboa - C. Branco - Faro - Beja 143+50+228+465+147 =1033
20 Beja - Lisboa - Setúbal - C. Branco - Faro - Beja 175+50+263+465+147 =1100
21 Beja - Setúbal - C. Branco - Lisboa - Faro - Beja 143+263+228+277+147 =1058
22 Beja - Lisboa - C. Branco - Setúbal - Faro - Beja 175+228+263+245+147 = 1058
23 Beja - Setúbal - Faro - C. Branco - Lisboa - Beja 143+245+465+228+175 =1256
24 Beja - Setúbal - C. Branco -Faro - Lisboa - Beja 143+263+465+277+175 =1323
Tabela 2 - Os 24 ciclos de Hamilton do grafo da Figura 56.
Como se pode observar na Tabela 2, há dois percursos ótimos, isto é, a distância é
mínima, os de números 4 e 16, isto é, Beja – C. Branco – Lisboa – Setúbal - Faro –
Beja e Beja – Faro – Setúbal - Lisboa – C. Branco – Beja respetivamente, em ambos a
distância percorrida é de 949 km.
Idília Caetano
47
Observemos que, o percurso número 4 é o inverso do percurso 16, o mesmo se passa
com todos os pares de percursos (i, 12+i), i=1,…12. Assim, o número de ciclos de
Hamilton distintos do grafo da Figura 56 é 12.
A desvantagem do Método Exaustivo é que, um grafo completo de ordem n admite
ciclos de Hamilton; assim, este processo é demasiado moroso para se obter
resultados em tempo útil, mesmo quando a ordem do grafo não é elevada. Notemos
que, num grafo com 4 vértices, existem 3 ciclos de Hamilton, num de 5 vértices
existem 12, para 6 vértices têm-se 60 e para 7 vértices 360 ciclos Hamiltonianos. Por
exemplo, para 9 vértices temos 20160 ciclos de Hamilton, aumentando este número
para quando o grafo tem 10 vértices. Atualmente, não se conhecem
métodos exatos que permitam encontrar caminhos de Hamilton, mesmo para grafos
com ordens relativamente pequenas. Por esse motivo, foram desenvolvidos outros
métodos que, embora não deem garantia de encontrar a melhor solução para o
problema, permitem encontrar uma solução muito próxima da ótima, em tempo
adequado para as necessidades da aplicação.
De seguida, apresentamos os algoritmos referentes a dois deles: o Método do Vizinho
Mais Próximo e o Método da Aresta de Menor Peso.
Método do Vizinho Mais Próximo:
Dado G um grafo completo de ordem n.
Considerar um novo grafo S, contendo um vértice arbitrário de G.
Seja esse vértice.
Enquanto houver vértices de G que não pertençam a S:
Passo 1: Listar todas as arestas incidentes no vértice , que envolvam apenas
vértices de G que não estão em S.
Passo 2: Escolher a aresta de peso mínimo, introduzi-la em S, bem como ao
correspondente vértice de G que ainda não pertence a S: seja esse
vértice.
Passo 3: Repetir sucessivamente os passos 1 e 2 incrementando, por cada
repetição, uma unidade aos índices dos vértices, até percorrer todos
os vértices de G.
Introduzir em S a aresta .
Vamos agora, usar o Método do Vizinho Mais Próximo, para resolver o problema do
exemplo da página 45; relembramos que, este método não dá a garantia de se obter
uma solução ótima, mas apenas uma sua aproximação.
Universidade de Trás-os-Montes e Alto Douro 48
Começamos por Beja, de seguida listamos todas as arestas incidentes em Beja (Beja
– Castelo Branco, Beja – Faro, Beja – Lisboa, Beja – Setúbal) e escolhe-se a mais
curta: Beja – Setúbal (com 143 km); de Setúbal, pelo mesmo método, seguimos para
Lisboa (visto ser a aresta de menor distância; 50 km); de Lisboa percorre-se 228 km
para Castelo Branco; finalmente, de Castelo Branco vai-se na direção de Faro (a 465
km de distância) (dado que a única alternativa seria ir para Faro e, neste último caso, a
distância a percorrer seria 465 km), de onde se regressa a Beja (a 147 km de
distância), isto é, o António fará o percurso 19 da Tabela 2:
Beja – Setúbal - Lisboa – C. Branco – Faro – Beja
conduzindo a sua viatura num total de 1033 km. Este percurso não é ótimo, conforme
constatámos acima; no entanto, foi obtido de modo muito mais rápido e o erro relativo
é apenas, aproximadamente, de 8,85% ( ), sendo 84=1033-949.
Contrariamente, ao Método do Vizinho Mais Próximo que, constrói o caminho
Hamiltoniano utilizando vértices adjacentes, o objetivo do algoritmo da Aresta de
Menor Peso é encontrar um ciclo Hamiltoniano à custa de arestas “soltas”.
Algoritmo da Aresta de Menor Peso:
Dado G um grafo completo de ordem n.
Considerar o grafo vazio, S.
Enquanto não for obtido um ciclo em S:
Passo 1: Ordenam-se as arestas de G.
Passo 2: Escolher a aresta de menor peso de G que ainda não pertence a S e
que não permita que:
Passo 2.1: se forme um ciclo se a ordem de S for inferior a n;
Passo 2.2: haja três arestas incidentes no mesmo vértice em S.
Passo 3: Introduzir em S a aresta obtida no Passo 2, bem como os
correspondentes vértices de G que ainda não lhe pertençam.
De seguida, resolveremos o problema do caixeiro viajante do exemplo da página 45,
através do método da Aresta de Menor Peso. Este método, tal como o do Vizinho Mais
Próximo, apenas garante uma solução aproximada na obtenção de ciclos de Hamilton.
Começamos por ordenar as arestas por ordem crescente do seu peso, obtendo-se a
sequência seguinte:
Setúbal – Lisboa (50 km); Setúbal – Beja (143 km); Beja – Faro (147 km); Beja –
Lisboa (175 km); Lisboa – C. Branco (228 km); Setúbal – Faro (245 km); C. Branco -
Idília Caetano
49
Setúbal (263 km); Lisboa – Faro (277 km); C. Branco – Beja (279 km); C. Branco –
Faro (465 km).
De seguida, introduz-se em S a aresta com a menor distância “Setúbal – Lisboa” (50
km); na iteração seguinte incluir-se-á em S a aresta “Setúbal – Beja” (143 km); na 3ª
iteração introduz-se em S a aresta Beja – Faro (147 km); na 4ª iteração rejeita-se a
inclusão em S das arestas” Beja – Lisboa (175 km)” pois, contradiz a condição 1 do
Passo 2 do algoritmo, pois forma um ciclo de ordem S=3<5 e considera-se a aresta
“Lisboa – C. Branco” (228 km); na 5ª iteração rejeita-se a inclusão em S das arestas
“Setúbal – Faro (245 km)” e “Setúbal – C. Branco (263 km)” "Lisboa - Faro (277 km)" e
"Beja - C. Branco (279 km)" pois, nas duas primeiras arestas contrariam o Passo 2.2
do algoritmo, uma vez que o vértice “Setúbal” apareceria três vezes e as outras duas
arestas formariam um ciclo , portanto resta-nos escolher "C. Branco - Faro" (465 km).
Por este processo obtém-se, tal como no caso do Algoritmo do Vizinho Mais Próximo,
o percurso 19, tendo o António de percorrer 1033 km na sua viagem.
As definições e teoremas deste capítulo foram, fundamentadas em [13] e [14].
Universidade de Trás-os-Montes e Alto Douro 50
Capítulo 3 – Árvores
3.1- Definições e Propriedades
Neste capítulo será analisado, o tipo de grafo não trivial mais simples, a árvore. Este
tipo particular de grafo é especialmente adequado para representar estruturas
hierárquicas e é usado em teoria da codificação e em algoritmos de pesquisa, entre
outros.
Definição 32
Qualquer grafo G conexo que não contenha nenhum grafo ciclo como subgrafo
designa-se por árvore.
O grafo da Figura 57 é uma árvore, dado não conter nenhum subgrafo ciclo.
Figura 57 - Grafo Árvore.
Definição 33
Sendo G um grafo, designa‐se por árvore geradora em G a todo o subgrafo de G
que é uma árvore e que contém todos os vértices de G .
Notemos que, o grafo G da Figura 58, não é uma árvore, uma vez que possui vários
ciclos tais como, por exemplo, ABCA, BADB, ABDCA.
Idília Caetano
51
Figura 58 - Grafo G.
Os três grafos da Figura 59, são árvores geradoras do grafo da Figura 58.
Figura 59 - Árvores geradoras de G da Figura 58.
Teorema 10
Se G um grafo conexo com n vértices então G é uma árvore se e só se G tem 1n
arestas.
Demonstração:
Notemos que, começando com a árvore de ordem um, é possível construir uma árvore
de qualquer ordem, bastando, para tal, adicionar sucessivamente uma nova aresta e
um novo vértice. Assim, em cada iteração, a ordem e a dimensão da árvore aumentam
exatamente em uma unidade, isto é, uma árvore com n vértices tem exatamente 1n
arestas.
Provemos, agora, nas condições deste teorema que, se G tem 1n arestas então G é
uma árvore. De facto, para um dado inteiro k compreendido entre 0 e n , se existisse
um ciclo kC que, fosse subgrafo de G chegaríamos a um absurdo. De facto, partindo
do ciclo kC , acrescentando sucessivamente, a este ciclo cada um dos n k vértices
de G não pertencentes a kC , assim como as correspondentes arestas, chegaríamos à
conclusão que, G teria n vértices e n arestas, o que entra em contradição com a
hipótese. c.q.d.
Universidade de Trás-os-Montes e Alto Douro 52
Teorema 11
Um grafo G é uma árvore se e só se existe um único caminho entre cada par de
vértices.
Demonstração:
Admitamos que, G é uma árvore, pretendemos provar que, existe um único caminho
entre cada par de vértices. Se admitirmos que, existem pelo menos dois caminhos
distintos a unir dois vértices de G então G teria um ciclo, e portanto, G não seria uma
árvore.
Provemos, agora, o recíproco. Suponhamos que, existe um único caminho sem
repetição de vértices, unindo quaisquer dois vértices do grafo G. Então, G é
claramente conexo. Além disso, não pode conter ciclos pois, no caso contrário, sendo
X e Y dois dos seus vértices, existiriam evidentemente dois caminhos, sem repetição
de vértices, unindo X a Y . Deste modo, concluímos que G é uma árvore. c.q.d.
Teorema 12
Se G é um grafo conexo então, G é uma árvore se e só se qualquer uma das suas
arestas é uma ponte.
Demonstração:
Numa árvore, quaisquer dois dos seus vértices estão unidos apenas por uma aresta.
Assim, caso esta seja eliminada, o grafo fica desconexo, o que mostra que, numa
árvore, qualquer aresta é uma ponte.
Admitamos, agora que, cada aresta de G é uma ponte. Nestas condições, G não pode
conter nenhum ciclo pois, no caso contrário, nenhuma das arestas daquele ciclo seria
uma ponte, o que contraria a hipótese. Assim, G é uma árvore. c.q.d.
Teorema 13
G é uma árvore se e só se G é um grafo sem ciclos tal que, sempre que se unem dois
quaisquer dos seus vértices não adjacentes por uma nova aresta, obtém-se um
supergrafo de G que, contém exatamente um ciclo.
Demonstração:
Se G é uma árvore, é claro que, G é um grafo sem ciclos. Admitamos, por absurdo,
que ao unirmos dois vértices não adjacentes de G por uma nova aresta, obtemos um
supergrafo de G com dois ciclos. Isto, só pode ser verdade, se o grafo G contiver, à
Idília Caetano
53
partida, um ciclo (pois removendo do supergrafo obtido a aresta introduzida seria
possível obter um ciclo em G), o que contraria a hipótese de G ser uma árvore.
Para provar o recíproco, basta mostrar que G é conexo (pois para ser árvore tem que
ser conexo e não ter ciclos). Suponhamos que, G satisfaz a hipótese do recíproco mas
não é conexo. Se acrescentarmos uma aresta AB ligando vértices A e B pertencentes
a componentes distintas, não obtemos qualquer ciclo, o que constitui uma contradição
com a hipótese. Assim, G tem de ser conexo e por consequência é uma árvore. c.q.d.
O próximo teorema reúne estas últimas propriedades e outras.
Teorema 14
Seja G um grafo simples de ordem n. Então, as afirmações seguintes são
equivalentes:
a) G é conexo e não tem ciclos (ou, G é uma árvore).
b) G é conexo e tem dimensão 1n .
c) G não tem ciclos e tem dimensão 1n .
d) G é conexo e cada aresta é uma ponte.
e) Existe um caminho único entre dois quaisquer vértices de G.
f) G não tem ciclos e da introdução de uma aresta que liga dois quaisquer
vértices não adjacentes de G obtém-se um novo grafo que possui exatamente
um ciclo.
Demonstração:
Para demonstrar estas equivalências, basta provar que
Comecemos por provar que ) )a b .
Mostremos, então, que se G é uma árvore, isto é, se G é um grafo conexo e não tem
ciclos então tem dimensão . Faremos a respetiva prova por indução sobre o
número de vértices . Obviamente que, se então o único grafo conexo com um
vértice é o grafo que tem 1 vértice e 0 arestas, e portanto o grafo tem dimensão
. Suponhamos, agora que, a implicação é verdadeira para todos os grafos
conexos sem ciclos com menos de vértices. Uma vez que, por hipótese, não
tem ciclos, a remoção de qualquer aresta subdivide o grafo em duas componentes
e , cada uma das quais é uma árvore. Supondo que, tem vértices e que
tem vértices, com , então, uma vez que, e são inferiores a , pela
hipótese de indução, a dimensão de é igual a e a dimensão de é igual a
Universidade de Trás-os-Montes e Alto Douro 54
. Assim, o número total de arestas de G é igual a , o
que prova o pretendido.
Provemos que ) )b c .
Suponhamos, agora, que é conexo e tem dimensão . Pretendemos provar que,
G não tem ciclos. Se admitirmos que, G tem ciclos, então podemos eliminar arestas
mantendo o grafo conexo. No fim deste processo, obteríamos uma árvore com n
vértices mas com dimensão inferior a , o que já vimos não ser possível. Logo G
não tem ciclos.
Provemos, agora, a implicação ) )c d .
Admitamos que, não tem ciclos e tem dimensão . Provemos, então, que é
conexo e cada aresta é uma ponte. Admitamos, por absurdo, que G não era conexo.
Nesse caso, conteria duas componentes G1 e G2 (pelo menos). Unindo um vértice de
G1 com um vértice de G2 através de uma aresta, obteríamos um novo grafo, com n
vértices e dimensão n, conexo e sem ciclos, e portanto, seria uma árvore. Isto é um
absurdo, pelo que vimos acima, pois uma árvore com .vértices, tem obrigatoriamente
dimensão . Concluímos, assim, que G é forçosamente conexo; mas, se G é
conexo e não tem ciclos então G é uma árvore donde, pelo que vimos no Teorema 12,
cada aresta de G é uma ponte, ficando, assim, d) provada.
De seguida, iremos provar a implicação ) )d e .
Já vimos (ver Teorema 12) que ) )d a . Por sua vez, no Teorema 11, vimos que
) )a e , e portanto, ) )d e .
Provemos a implicação ) )e f .
Da hipótese admitida em e) resulta, pelo Teorema 11, que G é uma árvore donde, pelo
Teorema 13, resulta imediatamente a alínea f).
Finalmente, provemos a implicação ) )f a .
Para provar esta implicação basta mostrar, partindo de f), que G é conexo. Ora, da
hipótese admitida em f) podemos concluir, por intermédio do Teorema 13, que G é
uma árvore. c.q.d.
As noções e os resultados anteriores, permitem concluir o resultado que se segue.
Idília Caetano
55
Teorema 15
Um grafo G é conexo se e só se G possui uma árvore geradora.
Demonstração:
Seja G um grafo conexo. Se G não tem ciclos então, por definição, é uma árvore e o
resultado verifica-se. Suponhamos que, G tem, pelo menos, um ciclo. Então, retirando
uma aresta a esse ciclo o grafo mantém-se conexo. Repetindo este processo, ao fim
de um número finito de arestas eliminadas, obtém-se uma árvore geradora (uma vez
que o conjunto de vértices não foi alterado).
Reciprocamente, Se G possui uma árvore geradora, então, pelas Definições 32 e 33,
conclui-se que, G é conexo. c.q.d.
3.2- Árvores Geradoras
Dado que, a resolução de vários problemas passíveis de serem representados por
grafos, se pode fazer com recurso a uma ou várias das suas árvores geradoras, nesta
secção analisa-se, em particular, este tipo de árvore.
Dado um grafo conexo, é possível obter uma sua árvore geradora aplicando ou o
Algoritmo de Corte ou o Algoritmo de Construção.
Algoritmo de Corte:
Seja G um grafo conexo.
Enquanto houver ciclos:
Passo 1: Escolher um ciclo arbitrário em G.
Passo 2: Escolher uma das suas arestas e eliminá-la.
Notemos que, caso não exista qualquer ciclo num grafo conexo G, G é ele próprio uma
árvore geradora. Adicionalmente, como a remoção de uma só aresta de um ciclo não
torna um grafo desconexo, o grafo obtido em cada iteração do método de corte, ainda
é um grafo conexo.
Vamos aplicar o algoritmo de corte ao grafo da Figura 60, daí resultando, nas
sucessivas iterações do método, os grafos da Figura 61.
Figura 60 - Grafo G.
Universidade de Trás-os-Montes e Alto Douro 56
Figura 61 - Aplicação do Algoritmo de Corte ao grafo da Figura 60.
Comecemos por considerar o ciclo CDEABC do grafo G. Optando por eliminar a aresta
BC, obtemos o subgrafo G1 da Figura 61. Em seguida, escolhemos (por exemplo) o
ciclo DBAED e optamos por eliminar a aresta DE, daí resultando o subgrafo G2.
Finalmente, considerando o ciclo BAEB e eliminando (por exemplo) a aresta BE,
obtém-se o subgrafo G3. Este último subgrafo, contém todos os vértices de G, é
conexo e não tem ciclos, e portanto é uma árvore, constituindo assim uma das árvores
geradoras de G.
Consideremos, agora, o seguinte algoritmo.
Algoritmo de Construção:
Seja G um grafo conexo.
Vamos partir do grafo vazio S.
Enquanto houver vértices de G que não pertençam a S:
Passo 1: Escolhemos uma aresta arbitrária em G.
Passo 2: Averiguamos se a introdução dessa aresta cria um ciclo em S. No caso
negativo, introduzimos esta aresta e os vértices adjacentes em S.
Agora, vamos aplicar o Algoritmo de Construção ao grafo da Figura 60, obtendo-se,
nas sucessivas iterações do método, os grafos da Figura 62.
Comecemos por incluir em S, a aresta BC e os vértices adjacentes (grafo G1); depois,
incluímos a aresta CD e o vértice D (grafo G2) pois, não se obtém um ciclo; em
seguida, a aresta DE e o vértice E (grafo G3). Finalmente a aresta EA e o vértice A
(grafo G4). O grafo G4 é outra das árvores geradoras de G.
Figura 62 - Aplicação do Algoritmo de Construção ao grafo da Figura 60.
Idília Caetano
57
Se a cada aresta de um grafo for associado um número real, designado por peso,
obtém-se uma rede. A definição seguinte, caracteriza o peso de uma árvore geradora
de uma rede.
Definição 34
Seja G um grafo tal que a cada uma das suas arestas está associado um número
real, designado por peso. O peso duma árvore geradora em G é a soma dos
pesos de todos as arestas dessa árvore geradora. Chama-se árvore geradora
mínima em G a toda a árvore geradora em G cujo peso seja não superior ao peso
de qualquer outra árvore geradora em G.
O conceito de árvore geradora mínima num determinado grafo é um conceito com
diversas aplicações práticas, podendo ser utilizado, por exemplo, no planeamento de
redes de comunicação e distribuição, quando o objetivo é selecionar itinerários entre
todos os pares de vértices da forma mais económica. Os vértices podem representar
cidades ou terminais, as arestas vias ou ligações e os pesos dessas arestas podem
ser, entre outros, as distâncias, os custos ou os tempos envolvidos nestes processos.
De seguida, apresentam-se os dois algoritmos mais populares para determinar a
árvore geradora mínima de um dado grafo; um é devido a Kruskal e o outro a Prim.
Começamos por apresentar, o Algoritmo de Kruskal, que é uma variação do Algoritmo
da Aresta de Menor Peso para o caso particular das árvores; ao contrário deste último,
o Algoritmo de Kruskal não fornece uma solução aproximada, mas sim a ótima, isto é,
garante que a árvore geradora obtida é mínima.
Algoritmo de Kruskal:
Dado um grafo conexo G de ordem n com pesos nas arestas.
Construir uma lista de arestas de G, ordenadas de forma ascendente em função dos
seus pesos.
Considerar o grafo vazio S e representar por o número de vértices de S
Considerar .
Enquanto :
Passo 1: Da lista de arestas de G, escolhe-se a de menor peso para introduzir
em S.
Universidade de Trás-os-Montes e Alto Douro 58
Passo 2: Das restantes arestas de G, escolhe-se para introduzir em S) aquela
que tiver menor peso exceto se esta introdução der origem a um ciclo
em S.
Consideremos, agora, as Figuras 55 e 56 do problema do exemplo da página 45.
Suponhamos, agora, que a empresa “Estradas de Portugal” pretende alcatroar
algumas destas estradas com piso novo, de forma que seja possível efetuar o trajeto
entre quaisquer duas destas cidades (direta ou indiretamente), sempre por piso novo.
Indique, qual a rede de estradas que deve ser sujeita a obras, de modo a que o
número total de quilómetros a pavimentar seja o menor possível.
Para resolver este problema usando o Algoritmo de Kruskal, começamos por
considerar, o grafo conexo com 5 vértices da Figura 56; o qual representaremos por G.
De seguida, para obter as quatro arestas que irão formar a árvore geradora mínima
(número de arestas da árvore geradora mínima é igual a 1n ), de entre as arestas
deste grafo, escolhemos “Setúbal – Lisboa” (50 km), por ser esta a que tem peso
mínimo e introduz-se esta aresta em S. Depois, continuamos o algoritmo e, das
restantes arestas de G, escolhemos a que tem menor peso: neste caso é a aresta
“Setúbal – Beja” (143 km) a qual é incluída em S. Repetindo o processo, incluímos em
S a aresta “Beja – Faro” (147 km). Até ao momento, S tem 4 vértices. Agora não
podemos escolher a aresta de menor peso ”Beja – Lisboa” (175 km) para incluir em S
porque esta inclusão daria origem a um ciclo em S. Escolhemos, então, a aresta
“Lisboa – C. Branco” (228 km) pois esta, não dá origem a nenhum ciclo em S e é
aquela que tem menor peso. Com esta inclusão, S tem os 5 vértices de G e constitui a
árvore geradora de menor peso do grafo G (Figura 63), a que corresponde uma
distância mínima total de 568 quilómetros a pavimentar.
Usando as siglas B, S, L, F e CB para representar as cidades Beja, Setúbal, Lisboa,
Faro e Castelo Branco respetivamente, obtemos o grafo da Figura 63, que é uma
árvore geradora mínima do grafo G.
Figura 63 - Árvore geradora de menor peso do grafo G.
Idília Caetano
59
Apresentamos, agora, o algoritmo devido a Prim, o qual à semelhança do de Kruskal,
também garante que, no final, se obtém a árvore geradora mínima.
Algoritmo de Prim:
Dado G um grafo conexo com pesos nas arestas.
Considerar k=0.
Considerar um novo grafo S, contendo um vértice arbitrário de G.
Enquanto houver vértices de G que não pertençam a S:
Passo 1: Listar, todas as arestas incidentes aos vértices de S, que envolvam
apenas vértices de G que não estão em S.
Passo 2: Escolher, a aresta de peso mínimo que não cria um ciclo em S.
Passo 3: Introduzir, em S a aresta nas condições do Passo 2; bem como o
correspondente vértice de G que ainda não pertence a S.
Agora, apliquemos o Algoritmo de Prim à resolução do problema do exemplo da
página 45. Para tal, começa-se por uma cidade arbitrária, por exemplo Beja e
considera-se a aresta incidente em Beja com menor peso: “Beja – Setúbal” (143 km),
Tabela 3. Nesta fase, S contém os vértices “Beja” e “Setúbal” e a aresta
correspondente. Na iteração seguinte, analisam-se todas as restantes arestas de G
incidentes a um dos vértices de S e introduz-se em S aquela que apresenta o menor
peso: “Setúbal – Lisboa” (50 km), Tabela 4; nesta fase S contém os vértices “Beja”,
“Setúbal” e “Lisboa”, bem como as arestas correspondentes. A terceira iteração
permite incluir em S a cidade de “Faro” e a aresta “Beja – Faro” (147 km), Tabela 5.
Em seguida, das restantes arestas de G incidentes a um dos vértices de S, a que tem
menor peso é "Beja - Lisboa"(175km); contudo, não se escolhe esta aresta para
introduzir em S, porque isso daria origem um ciclo. Escolhe-se sim, das restantes
arestas de G, a aresta "Lisboa - Castelo Branco" (228km) por ser aquela com peso
menor de entre as que não dão origem a ciclos em S, Tabela 6. Como S já tem os 5
vértices iniciais de G, S é a árvore geradora mínima de G (Figura 63), à qual
correspondem 568 quilómetros de via a pavimentar.
B B B B
CB F L S
279 147 175 143
Tabela 3 - Distância de B entre CB, F, L e S.
B B B S S S
CB F L CB F L
279 147 175 263 245 50
Tabela 4 - Distância de B e S entre CB, F, L.
Universidade de Trás-os-Montes e Alto Douro 60
B B S S L L
CB F CB F CB F
279 147 263 245 228 277
Tabela 5 - Distância de B, S e L entre CB e F.
B S L F
CB CB CB CB
279 263 228 465
Tabela 6 - Distância de B, S, L e F com CB.
Observamos que, o Algoritmo de Prim é mais adequado para grafos de grandes
dimensões do que o Algoritmo de Kruskal, uma vez que, permite trabalhar diretamente
numa tabela de pesos em vez de trabalhar no próprio grafo.
As definições e teoremas deste capítulo foram, fundamentadas em [13] e [14].
A Teoria dos Grafos e sua aplicação
61
Capítulo 4 - Aplicações práticas
A teoria de grafos pretende fornecer aos alunos ferramentas úteis que lhes permitam,
entre outros, lidar com problemas de gestão, compreender melhor os sistemas de
distribuição e desenvolver a capacidade de explorar e transmitir as diferentes soluções
obtidas para cada problema proposto.
Nesta secção, propomos algumas tarefas de aplicação dos conceitos abordados ao
longo desta dissertação. Com estas atividades, pretendemos não só ajudar os
docentes a preparar as aulas relativas aos conteúdos programáticos aqui abordados,
mas também que estes consigam atingir as finalidades propostas para a disciplina,
[10]:
"Promover o aprofundamento de uma cultura científica, técnica e humanística
que constitua suporte cognitivo e metodológico tanto para o prosseguimento de
estudos como para a inserção na vida ativa.
Desenvolver a capacidade de usar a Matemática como instrumento de
interpretação e intervenção no real.
Desenvolver as capacidades de formular e resolver problemas simples em
situações do dia a dia e no domínio das Ciências Sociais.
Desenvolver a capacidade de interpretar textos escritos em linguagem
matemática, a capacidade de comunicar e o espírito crítico.
Contribuir para formar uma atitude positiva face à ciência e particularmente
para com a Matemática.
Promover a realização pessoal mediante o desenvolvimento de atitudes de
autonomia e solidariedade.
Desenvolver capacidades de intervenção social pela compreensão e discussão
de sistemas e instâncias de decisão que influenciam a vida dos cidadãos,
participando desse modo na formação para uma cidadania ativa e
participativa."
Propomos, adicionalmente, que antes de iniciar cada uma das atividades propostas, o
docente comece por dividir a turma em grupos e durante a sua execução, cada grupo
explore os conceitos abordados e discuta diferentes possibilidades de abordagem, de
modo a conseguir resolver a tarefa em questão.
Universidade de Trás-os-Montes e Alto Douro 62
Para cada um dos exercícios propostos, pretende-se que o aluno seja capaz de
cumprir os objetivos listados no início da atividade. Adicionalmente e com o propósito
de disponibilizar ao docente uma possível resolução, para cada tarefa é facultada uma
proposta de resolução.
Exercício 1
Objetivos:
Identificar os vértices, as arestas, os vértices isolados, os lacetes;
Utilizar a definição de ordem e dimensão de um grafo;
Dominar a noção de grau de um vértice;
Usar a noção de grafo regular;
Dado um vértice, identificar os vértices que lhes são adjacentes e as
arestas que lhe são incidentes;
Identificar pontes;
Aplicar a noção de caminho, trajeto e circuito;
Construir um subgrafo;
Dominar a noção de grafo conexo;
Identificar grafos completos e o grafo complementar;
Identificar grafos simples.
Considere, o grafo apresentado na figura seguinte e indique:
Figura 64 - Grafo S.
a) o conjunto dos vértices de S e o conjunto das suas arestas.
b) os vértices isolados e os lacetes.
c) a ordem e a dimensão de S.
d) o grau de cada vértice de S.
e) justificando, se o grafo S é regular.
f) O subgrafo de vértices D, E, F, G.
A Teoria dos Grafos e sua aplicação
63
g) todas as pontes do subgrafo de vértices D, E, F, G.
h) os vértices adjacentes ao vértice A .
i) as arestas incidentes no vértice A.
j) no subgrafo de vértices A, B, C, D, E, F e G.
1. um caminho de A para E.
2. um trajeto de A para E.
3. um circuito de tamanho 3 que passe em A.
4. um circuito de tamanho 6 que passe em D.
k) se o grafo S é conexo. Em caso negativo, apresente um seu subgrafo conexo.
l) o grafo completo cujo conjunto de vértices é V. (OBS: Na proposta de
resolução deve dizer-se que o docente deve conduzir os grupos a referir que o grafo é
completo com n vértices e, como tal, representa-se como Kn).
m) o grafo complementar a S.
n) se o grafo S é simples. Em caso negativo, apresente um seu subgrafo simples.
Apresentamos, em seguida, uma proposta de resolução.
a) Os alunos deverão referir que, um grafo é representado por pontos e por linhas
que ligam esses pontos, e que, neste caso, o grafo S tem 9 pontos e 12 linhas,
respetivamente:
A, B, C, D, E, F, G, H e I
AA, AB, AC, AD, BC, BD, CD, DE, DE, EF, FG e FG;
Devem ainda acrescentar que, os pontos são designados por vértices e as linhas por
arestas e, como tal, o conjunto dos vértices de S, V, e o conjunto de arestas de S, E,
são, respetivamente:
V={A, B, C, D, E, F, G, H e I}
E={AA, AB, AC, AD, BC, BD, CD, DE, DE, EF, FG e FG}.
b) Os alunos deverão indicar:
H e I como vértices isolados, em virtude de cada um deles não ser
adjacente a nenhum outro vértice de S.
a existência de um único lacete no vértice A, justificando que um lacete
é uma aresta cujos vértices adjacentes são coincidentes.
Universidade de Trás-os-Montes e Alto Douro 64
c) Os alunos deverão indicar que, a ordem de S é 9 e a sua dimensão é 12,
argumentando que a ordem de um grafo é o número dos seus vértices e a sua
dimensão o número das suas arestas.
d) O aluno deverá referir que, o grau de um vértice é igual ao número de arestas
que são incidentes nesse vértice, isto é, que ligam esse vértice a outro vértice ou a si
próprio, (o lacete conta duas vezes). Assim, na Figura 64, pode observar-se que no
vértice:
A – há um lacete e mais três arestas que ligam A aos vértices B, C e D, logo o
grau de A é 5;
B – três arestas que ligam B aos vértices A, C e D, logo o grau de B é 3;
C – três arestas que ligam C aos vértices A, B e D, logo o grau de C é 3;
D – três arestas que ligam D aos vértices A, C e D, mais duas arestas que
ligam D a E logo o grau de D é 5;
E – duas arestas que ligam E ao vértice D, mais uma aresta que liga E a F logo
o grau de E é 3;
F – duas arestas que ligam F ao vértice G, mais uma aresta que liga E a F logo
o grau de E é 3;
G – duas arestas que ligam F ao vértice G, logo o grau de E é 2;
H e I – ambos os graus de H e de I são nulos, vistos serem vértices isolados.
A Tabela 7, sintetiza a informação anterior.
Tabela 7 - Graus dos vértices da Figura 64.
e) O aluno deverá mencionar que, um grafo cujos vértices têm todos o mesmo
grau diz-se um grafo regular. Este grafo não é regular, pois nem todos os seus vértices
têm mesmo grau. Basta observar, por exemplo, que o vértice H tem grau 0 e o vértice
D tem grau 5.
f) Uma estratégia, que o aluno poderá utilizar é remover de S os vértices A, B, C,
I e H, bem como todas as arestas que lhes são incidentes; após este procedimento,
Vértice A B C D E F G H I
Grau 5 3 3 5 3 3 2 0 0
A Teoria dos Grafos e sua aplicação
65
obtemos o grafo representado na Figura 65, que é o subgrafo do grafo de S, definido
pelo par G’=(V’, E’), em que V’={D, E, F, G} e E’={DE, DE, EF, FG, FG}.
Figura 65 - Representação do subgrafo de S, S’.
g) O aluno deverá referir que, uma ponte de um grafo é qualquer aresta desse
grafo que quando retirada torna o grafo desconexo. Assim, a única ponte do subgrafo
de vértices D, E, F, G é a aresta EF; retirando-a obtém-se o grafo desconexo
representado na Figura 66.
Figura 66 - Grafo desconexo.
h) O aluno deve indicar que, os vértices adjacentes ao vértice A, para além do
próprio vértice A (dado existir um lacete em A), são os vértices B, C e D, pois são os
vértices que estão ligados ao vértice A por uma aresta.
i) Os alunos deverão referir que, para além do lacete em A, as restantes arestas
incidentes em A são AB, AD e AC, dado que B, C e D são vértices adjacentes a A.
j) Os alunos deverão começar por, representar o subgrafo de S, constituído pelos
vértices A, B, C, D, E, F, G, que se designará por S’'.
Figura 67 - Subgrafo S'' do grafo da Figura 64.
Universidade de Trás-os-Montes e Alto Douro 66
1. Os alunos podem referir que, um trajeto em S'’ entre os vértices
A e E é uma sucessão de arestas distintas do grafo S'’, cujo vértice inicial é A e
E é o vértice final. Assim sendo, um possível trajeto de A para E é AB, BD, DA,
AC, CD, DE, isto é ABDACDE.
2. Sendo, um caminho, um trajeto em que, não há repetição de
vértices, os alunos devem indicar, como um caminho possível de A para E, em
S'’, a sucessão AB, BC, CD, DE, isto é ABCDE.
3. Dado que, um circuito é um trajeto fechado, isto é, um trajeto em
que o primeiro e o último vértices coincidem, um circuito do grafo S'’ que tenha
comprimento três e passe em A, é um trajeto fechado com 3 arestas e em que
A é um dos vértices. Assim, os alunos podem apresentar como solução a
sucessão AD, DB, BA, isto é ADBA.
4. À semelhança da alínea anterior, um circuito em G’ de tamanho
6 e que passe em D pode ser, por exemplo, EDBACDE.
k) Dado que, um grafo G é conexo, se existir um caminho em G entre qualquer
par dos seus vértices, os alunos devem concluir que, o grafo S não é conexo, pois, por
exemplo, não há qualquer caminho entre os vértices H e I (ambos são vértices
isolados). Um exemplo de um subgrafo conexo de G encontra-se representado na
Figura 67.
l) Um grafo com n vértices é completo se os seus n vértices forem adjacentes
entre si, representando-se por nK . Portanto, o aluno deve concluir que, o grafo
completo cujo conjunto de vértices é V tem 9 vértices e 36 arestas (que se obtêm
ligando todos os pares de vértices em V, isto é, as 8 arestas incidentes no vértice A
mais as 7 arestas incidentes no vértice B, mas não incidentes em A, mais as 6 arestas
incidentes em C, mas não incidentes em A ou em B, mais as 5 arestas incidentes em
D, mas não incidentes em A, B ou C, mais as 4 arestas incidentes em E, mas não
incidentes em A, B, C ou D, mais as 3 arestas FG, FH e FI, mais as 2 arestas GH e GI,
mais a aresta HI); este grafo representa-se por 9K e encontra-se representado na
Figura 68.
A Teoria dos Grafos e sua aplicação
67
Figura 68 - Grafo completo k9.
m) Sabendo que, o grafo complementar de um dado grafo G é um novo grafo H
com os mesmos vértices de G, mas tal que, dois quaisquer vértices de H são
adjacentes se e só se não são adjacentes em G, os alunos podem seguir o seguinte
procedimento para obter o grafo complementar de S: começar por construir o grafo
completo, cujo conjunto de vértices coincida com o de S (o grafo 9K obtido na alínea
anterior); de seguida, retirar sucessivamente a 9K , as arestas que não constam em S.
Assim, obtém-se o grafo H=(V,E’), tal que:
E’={AE, AF, AG, AH, AI,BE, BF, BG, BH, BI, CE, CF, CG, CH, CI, DF, DG, DH,
DI, EG, EH, EI, FH, FI, GH, GI e HI}.
e cuja representação se encontra na Figura 69.
Figura 69 - Grafo complementar de S.
Universidade de Trás-os-Montes e Alto Douro 68
n) Os alunos podem dizer que, o grafo S não é simples, pois contém um lacete no
vértice A e tem arestas múltiplas nos vértices D, E, F e G (ou escolher apenas uma
destas opções). Como exemplo, de um subgrafo simples de S, poderiam optar por
apresentar o grafo representado na Figura 70, e que se pode definir por G1=(V,E’’),
com:
E’’={ AB, AC, AD, BC, BD, CD, DE, EF, FG}.
Figura 70 - Subgrafo simples de S.
Exercício 2
Objetivos:
Representar um digrafo;
Construir um grafo subjacente ao digrafo.
Num determinado dia, o Jorge, foi visitar as cidades A, B, C, D, E e F, fazendo o
seguinte percurso: iniciou na cidade A, dando um passeiozinho nessa cidade e
regressando ao ponto de partida, em seguida passou nas cidades B, D, E e F,
voltando para trás, passou novamente nas cidades E e D, seguindo para a cidade C e
terminando o seu percurso na cidade A.
a) Represente o digrafo que representa o percurso do Jorge.
b) Construa o grafo subjacente ao digrafo representado na alínea anterior.
Proposta de resolução:
a) Os alunos deverão saber que, para representar um digrafo, as linhas que unem
os vértices têm de ter um sentido/orientação, isto é, são arcos e não arestas; assim,
para construir o digrafo pretendido, devem seguir o procedimento seguinte:
A Teoria dos Grafos e sua aplicação
69
representar os 6 vértices do grafo, A, B, C, D, E e F, Figura 71;
o passeio na cidade A por um lacete em A, Figura 72;
o percurso da cidade A para a cidade B pelo arco (A,B), Figura 73;
o percurso da cidade B para a cidade D pelo arco (B,D), Figura 74;
o percurso da cidade D para a cidade E pelo arco (D,E), Figura 75;
o percurso da cidade E para a cidade F pelo arco (E,F), Figura 76;
o percurso da cidade F para a cidade E pelo arco (F,E), Figura 77;
o percurso da cidade E para a cidade D pelo arco (E,D), Figura 78;
o percurso da cidade D para a cidade C pelo arco (D,C), Figura 79;
o percurso da cidade C para a cidade A pelo arco (C,A), Figura 80.
Figura 71 - Representação das cidades.
Figura 72 - Passeio da cidade A por um lacete em A.
Figura 73 - O percurso da cidade A para a cidade B pelo arco (A,B).
Universidade de Trás-os-Montes e Alto Douro 70
Figura 74 - O percurso da cidade B para a cidade D pelo arco (B,D).
Figura 75 - O percurso da cidade D para a cidade E pelo arco (D,E).
Figura 76 - O percurso da cidade E para a cidade F pelo arco (E,F).
Figura 77 - O percurso da cidade F para a cidade E pelo arco (F,E).
A Teoria dos Grafos e sua aplicação
71
Figura 78 - O percurso da cidade E para a cidade D pelo arco (E,D).
Figura 79 - O percurso da cidade D para a cidade C pelo arco (D,C).
Figura 80 – Digrafo que representa o percurso do Jorge.
b) Sabendo que, para obter o grafo subjacente ao digrafo basta, substituir cada
arco por uma arestas, os alunos devem apresentar como grafo subjacente ao digrafo
da Figura 80, o grafo representado na Figura 81.
Figura 81 - Grafo subjacente ao digrafo da Figura 80.
Universidade de Trás-os-Montes e Alto Douro 72
Exercício 3
Objetivos:
Construir um grafo;
Identificar os vértices, as arestas, os vértices isolados;
Dominar a noção de grafo conexo;
Aplicar a noção de grafos completos e o grafo complementar;
Identificar e utilizar a noção de pontes;
Construir o subgrafo.
A figura, representa uma planta de uma determinada casa.
O ponto E, representa o exterior da casa e os pontos A, B, C, D, F, G, H, I, J e K as
divisões da casa.
a) Represente por um grafo a planta da casa.
b) Quantos vértices e quantas arestas tem o grafo? A que se referem os vértices
e as arestas?
c) Podemos afirmar que o grafo é completo? Justifique.
d) Como classifica o grafo quanto à conexidade? Justifique.
e) Desenhe um subgrafo do grafo que desenhou, com menos uma aresta e que
seja desconexo. Que nome se dá à aresta que retirou ao grafo?
Exercício adaptado de [7].
A Teoria dos Grafos e sua aplicação
73
A nossa proposta de resolução é a seguinte:
a) O aluno deve perceber que, deve representar cada:
- divisão da casa, bem como o seu exterior, por um vértice e, como tal, terá um total
de 11 vértices, os 10 correspondentes às divisões da casa (A, B, C, D, K, F, G, H, I,
J) e um outro que representa o exterior, E.
- porta que entre duas divisões por uma aresta. Assim, como:
- a divisão A tem apenas uma porta que a liga à divisão B, daqui resulta uma só
aresta AB;
- por sua vez, a divisão B tem três portas: uma para a divisão G, outra para a
divisão C e outra que dá acesso à divisão A, obtemos duas novas arestas, BC e BG;
- a divisão C tem mais duas portas, para além da que a liga à divisão B, uma
vez que, dá acesso à divisão H e outra à D, as arestas CD e CH também fazem parte
do grafo;
- duas novas portas permitem aceder da divisão D para a H e para o exterior,
as arestas DH e DE também estão incluídas;
- adicionalmente, apenas mais uma divisão dá acesso ao exterior, a I; a divisão
F tem apenas uma porta de acesso à divisão I; a divisão G possui duas novas portas
que a ligam às divisões H e J e a divisão H possui uma porta que dá acesso à divisão
K; assim, fazem parte do grafo as arestas IE, FI, GH, GJ e HK, obtemos um total de 12
arestas.
O grafo que representa a planta da casa, encontra-se representado na Figura 82 e vai
designar-se por S.
Figura 82 - Grafo S.
b) Com base na discussão efetuada na alínea a), os alunos devem mencionar
que, o grafo S tem:
11 vértices: 10 dos quais representam as divisões da casa (A, B, C, D, F, G, H,
I, J, K) e o outro o exterior da casa, E;
12 arestas que, correspondem ao número total de portas da casa.
Universidade de Trás-os-Montes e Alto Douro 74
c) Os alunos devem responder que, o grafo S não é completo, pois para ser um
grafo completo, cada par de vértices teria de ser adjacente, o que não se verifica; por
exemplo, não é possível passar diretamente da divisão B para a divisão F.
d) Os alunos devem responder que, o grafo S é conexo, pois existe, pelo menos,
um caminho entre quaisquer dois dos seus vértices, isto é, é possível aceder a
qualquer divisão da casa ou ao exterior a partir de qualquer compartimento ou do
exterior.
e) Os alunos devem, esboçar um subgrafo de S semelhante ao representado na
Figura 83, a este subgrafo de S, obtido por eliminação da aresta DE, chamamos S1.
Como em S1, não é possível encontrar um caminho entre os vértices A e E, o grafo S1
é desconexo. Dado que, uma ponte é qualquer aresta dum grafo que, quando retirada,
torna o grafo desconexo, vem que, a aresta DE é uma ponte de S.
Figura 83 – Subgrafo de S, S1.
Exercício 4
Objetivos:
Aplicar a noção de grafo bipartido.
No grafo G, Figura 84 os vértices F1 a F6 representam 6 filmes em exibição num
determinado cinema, enquanto os vértices C1 a C6 representam 6 pessoas que gostam
de ver filmes. Cada aresta em G liga um filme, Fi, a uma pessoa que gosta de ver
filmes, Cj.
A Teoria dos Grafos e sua aplicação
75
Figura 84 - Grafo G.
a) Classifique, justificando, o grafo G.
b) Será possível afetar os filmes de forma que cada filme seja visto apenas por
uma pessoa?
Exercício adaptado de [7].
Proposta de resolução:
a) Esperamos que, os alunos refiram que o grafo representado na Figura 84, é um
grafo bipartido, uma vez que, os seus vértices podem ser divididos em dois conjuntos:
um contendo os vértices 1,...,6iF i , e o outro com os vértices 1,...,6iC i , tal que,
qualquer aresta do grafo possui uma extremidade 1,...,6iF i e a outra 1,...,6iC i .
b) Os alunos deverão constatar que, é possível afetar os filmes de forma que,
cada filme seja visto apenas por uma pessoa, salientando que:
- o vértice C1 só pode estar ligado a F1 (imediato pela Figura 84);
- a pessoa C3 tem de assistir ao filme F6, caso contrário este não seria visto por
ninguém;
- assim, F3 tem de ser visto obrigatoriamente por C4;
- o filme F2 pode ser escolhido pelas pessoas C2 ou C5, se afetarmos este filme
a C5 as restantes atribuições são imediatas, ou seja, o filme F4 tem de ser visto pela
pessoa C6, enquanto F5 tem de ser atribuído a C2.
Portanto, é possível afetar os filmes de forma que, cada filme seja visto apenas por
uma pessoa; esta situação é representada no grafo da Figura 85.
Figura 85
Universidade de Trás-os-Montes e Alto Douro 76
Exercício 5
Objetivos:
Utilizar a noção de grafo euleriano e grafo semieuleriano;
Aplicar os resultados relativos a grafos eurelianos e grafos
semieurelianos;
Saber eulerizar um grafo.
Considere, os grafos representados na Figura 86:
Figura 86 - Grafos G1, G2 e G3.
a) Classifique cada um dos grafos, indicando se são eurelianos, semieulerianos
ou nem eurelianos nem semieulerianos. Justifique a sua resposta.
b) Eulerize o grafo G2.
c) Indique uma eulerização do grafo G1.
d) Encontre a melhor eulerização do grafo G1.
Propomos a seguinte resolução:
a) Os alunos devem começar por observar que:
- um grafo conexo é eureliano se e só se todos os seus vértices têm grau par;
- um grafo é semieureliano se e só se só existem dois vértices com grau ímpar.
De seguida, devem observar que:
- o grafo G1 não é euleriano nem semieuleriano, pois os vértices B, E, H e I têm
grau ímpar;
- o grafo G2 não é euleriano, mas é semieuleriano, pois têm apenas dois vértices de
grau ímpar, E e I;
- todos os vértices do grafo G3 têm grau par, por isso o grafo é euleriano e, como
tal, semieuleriano.
A Teoria dos Grafos e sua aplicação
77
b) Os alunos devem referir que, para eulerizar um grafo basta acrescentar-lhe
arestas, de modo a que, todos os seus vértices tenham grau par. Como o grafo G2 é
semieuleriano, basta acrescentar uma nova aresta nos vértices de grau ímpar, E e I,
obtendo-se o grafo da Figura 87.
Figura 87 – Eulerização do grafo G2
c) Os alunos devem saber que, para eulerizar um grafo, basta acrescentar-lhe
arestas de modo a que, todos os seus vértices tenham grau par. Assim, é simples
perceber que, na Figura 86, o grafo G3 é uma eulerização do grafo G1.
d) De acordo com a proposta de resolução da alínea c), sugerimos que, o docente
comece por perguntar aos alunos se o grafo G3 é a melhor eulerização de G1, levando-
os a responder que não, em virtude da melhor eulerização de um grafo ser aquela
que, difere do grafo original no menor número de arestas. Esperamos que, os alunos
refiram que, neste caso, o número mínimo de arestas que tornam o grafo G1 num grafo
de euler são 2 arestas e que, apresentem como exemplo de melhor eulerização o
grafo da Figura 88.
Figura 88 - Melhor eulerização do grafo G1
Universidade de Trás-os-Montes e Alto Douro 78
Exercício 6
Objetivos:
Aplicar a noção de grafo hamiltoniano;
Dominar os conceitos de grafo hamiltoniano e semi-hamiltoniano;
Utilizar as noções de caminho e circuito hamiltoniano.
Considere, o grafo G da Figura 89.
Figura 89 – Grafo G
a) Classifique, justificando, o grafo G.
b) Encontre, se existir, um ciclo hamiltoniano em G.
c) Encontre um caminho hamiltoniano em G.
d) O grafo G é Hamiltoniano? E semi-Hamiltoniano?
Sugerimos a seguinte resolução:
a) Os alunos deverão classificar o grafo representado na Figura 89, como grafo
bipartido, pois os seus vértices podem ser divididos em dois conjuntos, com seis
elementos cada: um composto pelos vértices , 1,...,6iA i , e o outro constituído por
, 1,...,6iB i , tal que, qualquer aresta do grafo possui uma extremidade , 1,...,6iA i
e a outra , 1,...,6iB i .
b) Os alunos devem começar por referir que, um ciclo hamiltoniano é um caminho
fechado em que todos os vértices aparecem uma única vez, exceto o primeiro e o
último vértices. De seguida, devem observar que, no grafo bipartido não existe
nenhum ciclo, pois não é possível iniciar o caminho num vértice, percorrer todos os
vértices e voltar ao vértice de partida; assim, nunca será possível encontrar um ciclo
hamiltoniano em G.
A Teoria dos Grafos e sua aplicação
79
c) Os alunos deverão referir que, um caminho hamiltoniano é um caminho que
inclua todos os vértices do grafo, isto é, uma sequência de vértices distintos, que
inclua todos os vértices de G. Devem ainda acrescentar que, em G existem vários
caminhos hamiltonianos possíveis, por exemplo,
1 1 2 5 6 4 4 3 3 2 5 6B A B A B A B A B A B A .
d) O alunos devem observar que, como o grafo não apresenta qualquer ciclo
hamiltoniano (alínea b)), não é um grafo hamiltoniano. No entanto, como o grafo
contém, pelo menos, um caminho hamiltoniano (alínea b)), é semi-Hamiltoniano.
Exercício 7
Objetivos:
Aplicar o algoritmo do vizinho mais próximo;
Aplicar o algoritmo da aresta de menor peso.
Considere, a Tabela 8 que, indica as distâncias entre cinco cidades, A, B, C, D e E.
km A B C D E
A 12 15 13 18
B 12 8 15 20
C 15 8 12 16
D 13 15 12 17
E 18 20 16 17
Tabela 8 - Distâncias entre as cidades.
a) Utilize, o algoritmo do vizinho mais próximo para determinar o percurso mais
económico, sabendo que, o caixeiro-viajante parte de B e percorre todas as cidades.
b) Utilize, o algoritmo da aresta de menor peso, determine a maneira mais
económica de ligar todas as cidades, iniciando na cidade A.
c) Construa o grafo pesado que representa este problema.
Universidade de Trás-os-Montes e Alto Douro 80
Como resposta a este exercício, propomos que, o docente comece por relembrar que,
enquanto o objetivo do algoritmo do Vizinho Mais Próximo é construir um caminho
Hamiltoniano utilizando vértices adjacentes, o objetivo do algoritmo da Aresta de
Menor Peso é encontrar um ciclo Hamiltoniano à custa de arestas “soltas”.
a) O aluno deve observar que:
- iniciando em B, o caixeiro tem 4 cidades à escolha, mas a cidade mais perto
de B é C, a 8 km; assim, deve efetuar o percurso de B para C;
- como a cidade mais próxima de C (sem ser B) é D, a 12km, de seguida
desloca-se para a cidade D;
- da cidade D e dado já ter passado em C, segue para a cidade a mais curta
distância – A, a 13km;
- continua o percurso para a cidade E (a 18km), pois embora as cidades B, C e
D estejam a distâncias mais curtas de A, não podem ser escolhidas porque já foram
percorridas;
- finalmente e depois de ter percorrido todas as cidades, regressa a B (a cidade
de partida), a 20km.
No final do percurso, o caixeiro viajante percorre uma distância total de 71km
(8+12+13+18+20=71).
b) A forma mais económica de ligar todas as cidades, iniciando na cidade A e
recorrendo ao algoritmo da aresta de menor peso é a seguinte:
- ordenar os percursos por ordem crescente de distância:
BC (8 km); AB (12 km); CD (12 km); AD (13 km); AC (15 km);
BD (15 km); CE (16 km); DE (17 km); AE (18 km); BE (20 km);
- de seguida, considerar o percurso mais curto BC (8 km); na iteração seguinte
incluir-se-á a aresta AB (12 km); na 3.ª iteração introduz-se a aresta CD (12km); na 4.ª
iteração rejeita-se a aresta AD (13 km), pois forma um circuito, o que não pode
acontecer, porque ainda não percorremos todos as cidades; em seguida, rejeitam-se
tanto a aresta AC (15km), como a BD (15 km) e CE (16 km), pois nos dois primeiros
casos formar-se-ia um ciclo e no terceiro caso o vértice C apareceria três vezes, o que
nos leva a aceitar a aresta DE (17 km); finalmente, na 5ª iteração, forma-se o ciclo,
incluindo a aresta AE (18 km), terminando assim este processo, uma vez que já
percorremos as cinco cidades, perfazendo um total de 8+12+12+17+18=67 km.
c) A Figura 90, apresenta o grafo pesado que representa este problema; sendo
composto por 5 vértices, que representam as 5 cidades por onde o caixeiro tem de
passar (A, B, C, D e E), 10 arestas, que reproduzem as estradas que existem entre as
A Teoria dos Grafos e sua aplicação
81
5 cidades, e os pesos, que são as distâncias correspondentes entre cada par de
cidades.
Figura 90 - Grafo pesado que representa o problema.
Exercício 8
Objetivos:
Compreender a noção de árvore;
Dominar o conceito de árvore abrangente;
Aplicar o algoritmo de Kruskal e o algoritmo de Prim.
Seis cidades estão ligadas umas às outras em rede, tal como representado no grafo
da Figura 91.
Figura 91 - Grafo da ligação das cidades em rede.
Os vértices do grafo representam as cidades A, B, C, D, E e F, as arestas as estradas
que as ligam e os números associados às arestas as distâncias, em km, entre as
cidades. Pretende-se ligar por cabo de fibra ótica as cidades, de modo que, seja
mínimo o número de quilómetros a percorrer.
a) Aplique o algoritmo de Kruskal para resolver o problema.
b) Utilize o algoritmo de Prim para resolver o problema.
Universidade de Trás-os-Montes e Alto Douro 82
Sugerimos que, o docente comece por associar a resolução deste exercício, com a
construção de uma árvore abrangente do grafo da Figura 91. Adicionalmente, a turma
deve relembrar que, no algoritmo de kruskal, iniciamos o processo escolhendo a
aresta de menor peso, enquanto no algoritmo de Prim, começamos num vértice
qualquer.
a) Observamos que, o Algoritmo de Kruskal permite, construir uma ligação por
cabo de fibra ótica entre as cidades, com comprimento mínimo, bastando, para tal,
encontrar as 5 arestas de menor comprimento que não dão origem a um ciclo. Assim,
- começamos por escolher a aresta de menor peso – CF, de comprimento 8 km
(Figura 92);
- de seguida, assinalamos a aresta de menor peso ainda não selecionada, por
exemplo FB, de comprimento 10 km (Figura 93);
- a aresta AE, com 10 km é a próxima a ser marcada (Figura 94);
- as duas últimas arestas a seleccionar são DC e AC, com 12 km e 13 km
respetivamente, (Figuras 95 e 96).
O peso total das cidades a ligar com cabo de fibra óptica: 8+10+12+13+10=53, isto é,
a ligação por cabo de fibra ótica entre as cidades tem comprimento mínimo de 53 km.
Figura 92
Figura 93
Figura 94
Figura 95
Figura 96
b) Apliquemos o Algoritmo de Prim. Para tal, começa-se por uma cidade arbitrária,
por exemplo, a cidade A e considera-se a aresta incidente em A com menor peso:
“A – E” (10 km), Tabela 9. Nesta fase, S contém os vértices “A” e “E” e a aresta
correspondente. Na iteração seguinte, analisam-se todas as restantes arestas de G
A Teoria dos Grafos e sua aplicação
83
incidentes a um dos vértices de S e introduz-se em S aquela que apresenta o
menor peso: “A – C” (13 km), Tabela 10; nesta fase S contém os vértices “A”, “E” e
“C”, bem como as arestas correspondentes. A terceira iteração, permite incluir em S
a cidade de “F” e a aresta “C – F” (8 km), Tabela 11. Em seguida, das restantes
arestas de G incidentes a um dos vértices de S, a que tem menor peso é "F - B"
(10km); Tabela 12. Finalmente, das arestas restantes, escolhe-se a que tem menor
peso "C - D" (12 km) Tabela 13. Como S, já tem os 6 vértices iniciais de G, S é a
árvore geradora mínima de G (Figura 96), à qual correspondem 53 quilómetros a
ligar por cabo de fibra ótica.
A A A A
B C D E
20 13 18 10
Tabela 9
A A A E
B C D D
20 13 18 25
Tabela 10
A A E C C C
B D D B F D
20 18 25 15 8 12
Tabela 11
A A E C C F
B D D B D B
20 18 25 15 12 10
Tabela 12
A A E C C
B D D B D
20 18 25 15 12
Tabela 13
Universidade de Trás-os-Montes e Alto Douro 84
Conclusão
Esta dissertação, foi realizada no âmbito do Mestrado em Ensino de Matemática no 3.º
Ciclo do Ensino Básico e Secundário, tendo como objetivo de fundo, mostrar uma
perspetiva pessoal e um posicionamento quanto à abordagem que é feita à teoria dos
grafos no ensino não universitário, pretendendo que seja uma ajuda para os docentes.
Foram abordados, os conceitos julgados essenciais a apresentar aos alunos do ensino
secundário sobre teoria dos grafos, de forma a construir um corpo de conhecimentos
coerente e consistente.
O nosso sistema escolar apresenta um grande desafio, entre outros, que é conseguir
que os alunos aprendam a pensar por forma a resolver problemas, isto para enfrentar
o quotidiano de forma adequada a cada situação, por isso foram abordados os
conceitos teóricos da Teoria de Grafos nos capítulos 1, 2 e 3; enquanto no capítulo 4
foram abordadas, algumas atividades de aplicação dos conceitos abordados no ensino
secundário na disciplina de MACS, por forma a ajudar os docentes na preparação das
suas aulas de modo a que atinjam as finalidades propostas para a disciplina.
A Teoria dos Grafos e sua aplicação
85
Bibliografia
[1] Cruchinho Cristina, Simões Manuela, 2005, "Matemática Aplicada às Ciências
Sociais 11 ou 12 ", de Areal Editores, Lda.
[2] Gross Jonathan, Yellen Jay, Graph theory and its applications, CRC Press, 1999
(ISBN 0-8493-3982-0).
[3] Harary Frank, Graph theory, Addison-Wesley Publ., 1972 (ISBN 0-201-02787-9).
[4] Longo Elisabete, Branco Isabel, Lisboa 2011, "Matemática Aplicada às Ciências
Sociais 11.º ano ", Texto Editores, Lda.
[5] Longo Elisabete, Branco Isabel, Lisboa 2011, "Matemática Aplicada às Ciências
Sociais 11.º ano - caderno de exercícios", de, Texto Editores, Lda.
[6] Maciel Elisabete e Maciel Francisco, "Matemática Aplicada às Ciências Sociais 11,
12 ", Edições Asa.
[7] Neves Maria Augusta Ferreira, Azevedo Cristina e Faria Luísa, 2006, "Matemática
Aplicada às Ciências Sociais", da Porto Editora.
[8] Neves Maria Augusta Ferreira, Cristina Azevedo e Luísa Faria, 2006, "Matemática
Aplicada às Ciências Sociais - caderno de atividades", da Porto Editora.
[9] Ponte J. P.; Serrazina L.; Guimarães H. M.; Breda Ana; Guimarães F.; Sousa H.;
Menezes Luís ; Martins M. E. G e Oliveira P. A. (2007), Programa de Matemática do
Ensino Básico; Direcção Geral de Inovação e de Desenvolvimento Curricular,
Ministério da Educação, Portugal.
[10] Silva Jaime Carvalho e (Coordenador), Martins Maria Eugénia
Graça(Coordenadora), Martins Arsélio Almeida, De Loura Luísa Canto e Castro
16/05/2001, Programa de Matemática Aplicada às Ciências Sociais.
[11] Stephen Barnett, Discrete mathematics: numbers and beyond, Addison-Wesley
Longman, 1998 (ISBN 0-201-34292-8).
[12] Wakabayashi Yoshiko , Kohayakawa Yoshiharu e Feofiloff Paulo professores,
todos do Instituto de Matemática e Estatística da USP, "Uma Introdução Sucinta à
Teoria dos Grafos".
[13] Wiitala S., DISCRETE MATHEMATICS – A Unified Approach, McGRAW-HILL
INTERNATIONAL EDITIONS, Computer Sciences Series, 1987.
[14] Wison R.J., Watkins J.J., GRAPHS – An Introductory Approach, John Wiley &
Sons, 1990.
[15] www.apm.pt/files/_Co_Ribeiro_Feiteira_486a01bf84ab8.pdf (25/09/2012 às 22h)
[16] www.arquivoescolar.org/bitstream/arquivo-e/78/1/TG2004.pdf (22/09/2012 às
21h30)
[17] www.dcc.fc.up.pt/~lfa/aulas/0506/mcc/praticas/grafos.pdf (18/10/2012 ás 23h20)
Universidade de Trás-os-Montes e Alto Douro 86
[18] www.decom.ufop.br/haroldo/disciplinas/grafos/files/grafos_02.pdf (11/10/2012 às
23h0)
[19] www.dem.inpe.br/ijar/grafos.htm (11/10/2012 às 23h45)
[20]www.dimap.ufm.br/~sbmac/ermac2008/Anais/ResumosEstendidos/TeoriadosGrafo
s_nubia.pdf (22/09/2012 às 21h45)
[21] www.fca.pt/docs-online/722-587-3-pag_prefacio.pdf (04/11/2012 às 23h05)
[22] www.inf.ufsc.br/grafos/definicões/definicao.html(18/10/2012 às 22h05)
[23] www.mat.uc.pt/~picado/ediscretas/apontamentos/cap2.pdf (04/10/2012 às 23h05)
[24] www.ptmat.fc.ul/~duarte/tmf/Grafos/subgrafos.html (11/10/2012 às 22h20)
[25] www.ptmat.fc.ul/~pduarte/tmf/grafos/intervalos.html (26/10/2012 às 22h05)
[26] www.recitec.ifes.edu.br/artigo/documento/Artigo8.pdf (04/10/2012 às 23h20)
[27]www.repositorio.uport.pt/dspace/bitstream/12345678/199/1/TMMAT107.pdf
(04/10/2012 às 23h50)
[28] www.repositorio.uport.pt/dspace/handle/123456789/109 (04/10/2012 às 00h10)
[29] www.sobrapo.org.br/sbpo2010/x/iispo_pdf/72343.pdf (11/10/2012 às 23h20)
[30] www.teoriagrafos.blogspot.pt/2009/04/ejemplos.html (18/10/2012 ás 23h40)
[31] www.user.prof2000.pt/agnelo/grafos/hamilton.htm (04/10/2012 às 00h30)