Você está na página 1de 39

______________________Teoria de Grfos e Aplicações

financeiras______________________

Introdução

Muitas vezes as grandes descobertas surgem das mais humildes e


inesperadas origens. É esta a ideia matemática a desenvolver neste
trabalho, o estudo matemático de como as coisas estão interligadas.
A noção de grafo aparece geometricamente quando se pensa em
linhas e extremos de linhas: toda a figura formada com estes elementos
pode ser encarada como um grafo. Algébricamente, a noção de grafo
aparece quando se associa a um conjunto qualquer uma relação binária, em
particular uma relação de ordem.
É portanto perfeitamente natural que a ciência se tenha debruçado
sobre esta noção e não só a procurasse definir em termos matemáticos
como também a tenha utilizado ao serviço das aplicações práticas. De facto
é um conceito fundamental a que expressamente recorrem hoje
investigadores que trabalham em domínios variadíssimos.

Um pouco de história...

A nossa história começou há mais de 250 anos atrás na cidade


medieval Königsberg na Europa oriental.
Königsberg era dividida pelo rio Pregel em quarto áreas de terras
distintas que estavam ligadas por sete pontes.
Um mapa de Königsberg desenhado pelo cartografo Martin Zeiller
mostra a disposição da antiga cidade em 1736. Um dia um brilhante jovem
matemático Leonhard Euler passou por lá e ouviu um pequeno e inocente
enigma de uma simplicidade extrema:
“É possível que uma pessoa ao dar um passeio pela velha cidade
consiga passar uma e uma só vez por cada ponte? ”
Os habitantes locais tentaram fazê-lo vezes sem conta mas sem
sucesso. Será que Euler conseguiria provar matemáticamente que tal não é
possível?
Faremos posteriormente uma abordagem mais pormenorizada a este
problema.

___________________________________________________________________ 1
______________________Teoria de Grfos e Aplicações
financeiras______________________

Conceitos básicos
Grafo: Entidade matemática (G) constituída por um conjunto V de
elementos vi chamados vértices e por um conjunto P de pares
ordenados ou não [vi,vj] de elementos de V que
denominamos por aresta.
Se [vi,vj] forem pares ordenados dizemos que G é um grafo
orientado ou digrafo, caso contrario dizemos que G é um grafo
não orientado.

Exemplo:

GRAFO NÃO ORIENTADO GRAFO ORIENTADO

A
B B

D
A C
H . C
E
D

G F

Subgrafo: G’ é um subgrafo de G se os seus vértices formarem um


conjunto V(G’) que é subconjunto de V(G) e as suas arestas
formarem um conjunto E(G’) que é subconjunto de E(G),
sendo V(G) o conjunto dos vértices de G e E(G) o conjunto das
arestas de G.

NOTA: IREMOS TRABALHAR A PARTIR DE AGORA APENAS


COM GRAFOS NÃO ORIENTADOS, O RACIOCÍNIO SERIA
ANÁLOGO PARA GRAFOS DIRIGIDOS.

___________________________________________________________________ 2
______________________Teoria de Grfos e Aplicações
financeiras______________________

Tomemos como grafo de referência o grafo da figura 1

Vértices adjacentes: Dois vértices dizem-se adjacentes se existir uma aresta


que os una.

 A e E são adjacentes
 D e E não são adjacente

Arestas adjacentes: Duas arestas dizem-se adjacentes se possuírem um


vértice em comum.

A aresta AB é adjacente a aresta BC

Laço: Aresta que liga um vértice a si próprio.

NOTA: Um grafo que possua um ou mais laços diz-se pseudografo

Grau de um vértice: Número de arestas que lhe são incidentes.

 Grau de A:4
 Grau de D:3
 Grau de H:O

NOTA: Um laço contribui duas vezes para o grau de um vértice

Ponto isolado: Vértice de grau zero

 O vértice H é um ponto isolado

Grafo conexo: Um grafo diz-se conexo se entre quaisquer dois dos seus
vértices existir pelo menos um caminho P. Caso contrario o grafo diz-se
desconexo.

___________________________________________________________________ 3
______________________Teoria de Grfos e Aplicações
financeiras______________________

O grafo da figura 1 é um grafo conexo mas se lhe retirarmos a aresta

AE torna-se desconexo tomando a seguinte forma

H. B
E

G F

Componentes: Um grafo desconexo é constituído por varias partes


conexas a que damos o nome de componentes.

Ponte: Aresta de um grafo G conexo que ao ser retirada o torna


desconexo.

“Burn a bridge behind you and you’ll never be able to get back”

NOTA: Como vimos ao retirar a aresta AE o grafo da figura 1

tornou-se desconexo assim sendo à aresta AE damos o nome de ponte.

Caminho: Sequência de vértices vi tais que vi e vi+1 são adjacentes.

NOTA: Um vértice pode aparecer várias vezes num caminho, no


entanto cada aresta só pode aparecer uma única vez.

 DABCAE é um caminho de D para E

Circuito: Caminho que começa e termina no mesmo vértice.

 GEFG é um circuito

___________________________________________________________________ 4
______________________Teoria de Grfos e Aplicações
financeiras______________________

Leonhard Euler (1707-1783) nasceu em


Basel na Suiça. Mostrou ,desde muito
cedo, um incrível talento para a realização
de cálculos mentais. Apenas este aspecto
não descreve um grade matemático mas
Euler acrescentava-lhe um incrível talento
criativo e uma ética de trabalho tremenda.
Hoje em dia Euler é considerado como um
dos maiores matemáticos de sempre,
sendo a sua obra composta por quase 100
volumes. Nas palavras de um biografo, Euler é o Shekespeare da
matemática. E é graças a ele que temos os seguintes conceitos.

Caminho de Euler: Caminho que percorre por todas as arestas de um


grafo conexo uma única vez.

 DDABCAEGFE é um caminho de Euler

Circuito de Euler: Circuito que percorre todas as arestas de um grafo


conexo.

Como o grafo da figura 1 não possui nenhum circuito de Euler(veremos


mais adiante porquê) consideremos o grafo seguinte

B
A

C D

 ABDADCA é um circuito de Euler

___________________________________________________________________ 5
______________________Teoria de Grfos e Aplicações
financeiras______________________

Arestas múltiplas: Quando dois vértices são ligados por duas ou mais
arestas, essas arestas são chamadas múltiplas.

Multigrafo: Grafo que possui arestas múltiplas

O problema das pontes de Konigsberg

Uma das ideias mais importantes de Euler foi a de que certos tipos
de problemas podem ser resolvidos através da utilização de
grafos.Relembremos o problema das pontes de Königsberg.
Königsberg era dividida pelo rio Pregel em quatro áreas distintas
que se encontravam ligadas por sete pontes. Em 1736 Leonhard Euler
visitou aquela bela cidade e conseguiu resolver o problema que tanto
atormentava os habitantes locais...

“Será possível percorrer toda a cidade passando pelas sete pontes


uma única vez?”

Euler provou que não...

Vejamos como...

Comecemos por mostrar o grafo que traduz este problema:

Figura 3

___________________________________________________________________ 6
______________________Teoria de Grfos e Aplicações
financeiras______________________

Utilizaremos por uma questão de simplicidade o esquema c) dado


que a posição ou a forma das arestas de nada interessam na construção de
um grafo. Para tal Euler limitou-se a mostrar que não é possivel encontrar
nem um caminho nem um circuito de Euler neste grafo.

Demonstração da não existência de circuito de Euler:

Comecemos no vértice L. Algures durante o percurso teremos de


passar por A e, neste caso, mais do que uma vez. Vejamos exactamente
quantas. A primeira vez que visitarmos A usaremos duas
arestas(pontes),uma para entrar e outra para sair de A. Na segunda visita
utilizaremos, de forma analoga,outras duas arestas. Oops!! Mas existem 5
pontes a ligarnos a A.Duas visitas são insuficientes porque uma ponte
ficaria por ser “passada”, no entanto três também são demais porque
obrigaría-nos a passa pela mesma ponte duas vezes. Assim sendo este
percurso é impossível de ser realizado.

É, portanto, o grau do vértice A que causa o problema. Euler apresenta-


nos esse resultado no seu 1º teorema.

1º TEOREMA DE EULER:

A se um grafo possuir vértices de grau impar então não possui


nenhum circuito de Euler;

B se um grafo for conexo e todos os seus vértices forem de grau par


então possui pelo menos um circuito de Euler

Os requisitos para a existência de caminho são análogos. Todos os


vértices, à excepção do primeiro e do último deverão ser de grau par. O
primeiro e o último são de grau impar porque é necessária apenas uma
aresta para “sair” do vértice inicial e apenas outra para “chegar” ao vértice
final.
Deste facto decorre o 2º teorema de Euler

___________________________________________________________________ 7
______________________Teoria de Grfos e Aplicações
financeiras______________________

2º TEOREMA DE EULER:

A se um grafo possuir mais de dois vértices de grau impar então não


possui nenhum caminho de Euler;

B se um grafo for conexo e possuir apenas doisvertices de grau impar


então possui pelo menos um caminho de Euler. Qualquer que seja o
caminho ele terá de começar num dos vértices de grau impar e
terminar o outro.

Ao olharmos para o grafo que modela o problema das pontes de


Konigsberg apercebemo-nos de que possui 4 vértices de grau impar logo
não pode existir nenhum caminho nem nenhum circuito de Euler.

Assim sendo quantas pontes terão de ser repassadas ?

Apenas uma se podermos começar e terminar em lugares distintos e


duas se tivermos de começar e terminar no mesmo local.

Exemplo:

LARDARALD(repetição de uma das arestas que liga A a R)

Um bom observador poderá perguntar:

Então e se só existir um vértice de grau impar ?


Será que Euler não pensou nisso ?

Parece que sim, mas descobriu que tal hipótese é impossível, tendo
por isso apresentado um terceiro teorema que nos diz o seguinte:

3º TEOREMA DE EULER

___________________________________________________________________ 8
______________________Teoria de Grfos e Aplicações
financeiras______________________

A a soma dos graus de todos os vértices de um grafo é igual ao dobro


do numero de arestas desse mesmo grafo.

B o numero de vértices de grau impar tem de ser par.

Arestas = 7

Grau L = 3
Grau A = 5
Grau D = 3
Grau R = 3

Soma = 14

Vértices de grau impar = 4

Já conhecemos ,então, um modo fácil de descobrir se um


determinado grafo possui ou não um caminho ou um circuito de Euler. No
entanto ainda não sabemos como identifica-lo. Em grafos do tipo
apresentado anteriormente torna-se facil essa descoberta através de simples
tentativas, mas e se for um grafo com dezenas de vértices e arestas ?

Consideremos o grafo seguinte:

___________________________________________________________________ 9
______________________Teoria de Grfos e Aplicações
financeiras______________________

Após uma breve análise, apercebemo-nos de que todos os vértices


são de grau par, logo possui pelo menos um circuito de Euler. Mas qual ?
Para responder a esta pergunta terei de introduzir a noção de algoritmo.

Algoritmo: Conjunto de regras mecânicas que, quando utilizadas


correctamente, levam à resposta de um determinado problema.

Um dos algoritmos utilizados para responder a esta questão é o


chamado algoritmo de Fleury.
A ideia principal deste algoritmo é a de que só devemos
atravessar uma ponte quando for estritamente necessário, isto é, quando
não tivermos outra oportunidade.
Entenda-se por ponte não só as dos grafo inicial mas as que vão
surgindo à medida que vamos retirando arestas. Para tal vamos utilizar dois
grafos, no primeiro vamos atribuindo letras, às arestas por onde vamos
passando, e no outro vamos retirando essas mesmas arestas para que a
visualização das pontes se torne mais fácil.
Vejamos então uma descrição formal

ALGORITMO DE FLEURY

1. ver se o grafo é conexo e se todos os seus vértices são de grau par

2. começar num qualquer vértice

3. percorrer uma aresta se

a) esta não for uma ponte para a parte não


atravessada do grafo

b) não existir outra alternativa

4. assinalar as arestas consoante a ordem com que forem


percorridas

5. quando não for possivel continuar, parar, terminou o circuito.

Utilizemos então, o algoritmo de Fleury para encontrarmos um


circuito de Euler no grafo da figura 4.

___________________________________________________________________ 10
______________________Teoria de Grfos e Aplicações
financeiras______________________

NOTA: Ver apresentação.

Um dos circuitos possíveis é o seguinte:

J,I,H,G,F,E,D,P,K,B,N,O,L,P,N,M,L,K,D,C,B,A,G,I,E,G,J.

___________________________________________________________________ 11
______________________Teoria de Grfos e Aplicações
financeiras______________________

Eulerização de grafos

Já sabemos que quando um grafo não tem vértices de grau ímpar, ou


tem exactamente dois vértices de grau ímpar, então ele tem um circuito de
Euler, ou um caminho de Euler, respectivamente.
Assim, quando um grafo tem mais do que dois vértices de grau
ímpar, não tem nenhum circuito, nem caminho de Euler. Neste caso não há
maneira possível de percorrer todas as arestas do grafo sem repetir algumas
delas.
Deparamo-nos agora com uma nova questão:

«Como encontrar um percurso que passe por todas as arestas,


repetindo o menor número possível?»

Esta é uma questão importante, pois em muitos problemas do mundo


real há um custo, que é proporcional à quantidade de viagens que se
efectuam, então os percursos mais eficientes são aqueles que têm menor
número de viagens desperdiçadas, que no nosso caso significam o menor
número de arestas duplicadas.

 Como fazer?

Considere-se um grafo como o da figura

A B C D

E F G H O grafo tem 8 vértices


de grau ímpar

I J K L (B,C,H,L,O,N,I,E)

___________________________________________________________________ 12
______________________Teoria de Grfos e Aplicações
financeiras______________________

M N O P

Não admite nem circuito nem caminho de Euler

 O que fazer?

Eliminar os “maus elementos”!!!


Isto é, transformar os vértices de grau ímpar, em vértices de grau par.

 Como?

“Adicionando” arestas, que devem ser duplicadas de arestas já existentes


O objectivo é percorrer todas as arestas do grafo original do
melhor modo possível sem criar novas arestas,
Assim obtemos o seguinte grafo:

A B C D

E F G H ( A vermelho as arestas
Novas)

I J K L

M N O P

Agora temos um grafo com todos os vértices de grau par, logo


admite um circuito de Euler, que pode ser interpretado como um percurso
ao longo das arestas do grafo original do seguinte modo:
10
9 3
1
18 19 2 20 11
17 8 4 13
16 15 14
___________________________________________________________________
7 5 13
25 6 23
______________________Teoria de Grfos e Aplicações
financeiras______________________

12
28

27 21
26 22
24

(ABCGKONJFBCDHLKJIEFGHLPONMIEA)
Nesta viagem percorremos todas as arestas do grafo, mas repetimos 4
delas.
Ainda que este não seja um circuito de Euler, descreve o circuito
mais eficiente que percorre todas as arestas.

O processo de adicionar arestas, para transformar os vértices de grau


ímpar em vértices de grau par, é o que chamamos eulerização do grafo.

Então a nossa teoria consiste no seguinte:

1º Eliminar todos os vértices de grau ímpar, acrescentando arestas


que sejam duplicadas das já existentes.(eulerizar o grafo)

2º Encontrar um circuito de Euler no grafo eulerizado

3º Sobrepor o circuito ao grafo original.

4º As arestas duplicadas correspondem às arestas que vão ser


repetidas

É claro que existem muitas maneiras de eulerizar um grafo, mas o


que nos interessa é uma eulerização óptima, ou seja, uma que duplique o
menor número possível de arestas. Aí ficamos a saber exactamente quantas
arestas vamos ter de repetir, e quais serão elas.

Considere agora que pretendemos percorrer todas as arestas do grafo


repetindo o menor número possível, mas desta vez não precisamos terminar
no mesmo ponto onde iniciámos o percurso, isto é, não procuramos um
circuito, mas sim um caminho.
Neste caso fazemos o que se chama uma Semi-eulerização do grafo

 Em que consiste?

___________________________________________________________________ 14
______________________Teoria de Grfos e Aplicações
financeiras______________________

Duplicamos quantas arestas forem precisas para eliminar os vértices


de grau ímpar, excepto dois, que permitiremos que continuem ímpares, e
serão interpretados como o ponto de partida e o ponto de chegada do nosso
caminho. Repetimos todo o processo anterior,e encontramos um caminho
óptimo, ou seja que tem um número minimo de arestas repetidas.

Então a nossa teoria consiste no seguinte:

1º Eliminar todos os vértices de grau ímpar, excepto dois que


serviram de ponto de partida e ponto de chegada.(semi-eulerizar o grafo)

2º Encontrar um caminho de Euler no grafo eulerizado

3º Sobrepor o caminho ao grafo original.

4º As arestas duplicadas correspondem às arestas que vão ser


repetidas

Passemos agora a apresentar alguns exemplos onde podemos aplicar


esta teoria:

 Exemplo 1:

Após uma vaga de assaltos, foi contratado um segurança privado


para patrulhar a pé as ruas de um pequeno bairro.
Ele é pago para dar apenas uma volta, e está ansioso por voltar a
casa. De imediato coloca duas questões:
“Haverá algum percurso que lhe permita percorrer todas as ruas, uma
única vez, começando e acabando no local onde deixou o carro?
Se não qual é o percurso mais eficaz?”

A figura seguinte mostra o grafo representativo do mapa do bairro,


em que cada aresta representa uma rua.

___________________________________________________________________ 15
______________________Teoria de Grfos e Aplicações
financeiras______________________

O grafo tem 18 vértices de grau ímpar, logo a resposta à primeira


questão posta pelo segurança é não. Não é possivel percorrer cada rua uma
única vez. Passemos então à segunda questão.
Para tal, façamos uma eulerização do grafo

Aplicando o algoritmo de Fleury, encontramos o caminho ideal,


procurado pelo segurança.

 Exemplo 2:

Pensemos agora no carteiro que pretende distribuir o correio do


mesmo bairro. Neste caso, em cada rua há casas dos dois lados, e mais uma
vez este deverá começar o percurso, e terminar no mesmo local, o posto
dos correios.

___________________________________________________________________ 16
______________________Teoria de Grfos e Aplicações
financeiras______________________

O grafo que representa este problema é ligeiramente diferente do


grafo do problema anterior, uma vez que cada rua deve ser percorrida dos
dois lados.

Surpreendentemente, todos os vértices deste grafo têm grau par, o


que significa que existe um circuito de Euler, ou seja, o carteiro não tem
que repetir nenhum passo se escolher cuidadosamente o percurso. Mais
uma vez usando o algoritmo de Fleury, ou simplesmente por tentativas,
encontramos o circuito procurado.

 Exemplo 3:

Considere a figura seguinte

___________________________________________________________________ 17
______________________Teoria de Grfos e Aplicações
financeiras______________________

Quantas vezes será preciso levantar o lápis para desenhar esta


figura,se não se quiser passar por uma linha já traçada?

O grafo tem 4 vértices de grau ímpar

Como não é necessário terminar


o desenho no mesmo ponto
em que se começou,basta-nos
duplicar uma aresta.
Assim apenas precisamos de
levantar o lápis do papel
uma vez.

Como podemos ver esta teoria tem diversas aplicações. Sempre se


queira descobrir o percurso mais económico em termos de repetição de
ruas, linhas, etc... é usada esta teoria.
Em muitas cidades grandes o percurso dos serviços municipalizados,
como a recolha do lixo, os varredores, a distribuição do correio, e muitos
outros, é determinado aplicando a teoria descrita.

___________________________________________________________________ 18
______________________Teoria de Grfos e Aplicações
financeiras______________________

Até agora falámos de problemas em que o nosso objectivo é


percorrer um grafo passando uma única vez (ou o menor número possível
de vezes) por cada aresta. Falemos agora de percursos onde se passe por
cada vértice uma única vez.
Este novo tipo de circuitos é chamado um circuito de Hamilton,
assim como um caminho nessas condições é denominado caminho de
Hamilton.
A diferença na definição de circuito ou caminho de Euler e de
Hamilton, resume-se à troca de uma palavra:

aresta por vértice.

Vamos então ver a influência que essa troca tem.

Euler vs Hamilton

A B

E Grafo com circuito de Hamilton, (A,B,E,C,D,A)


mas sem circuito de Euler.

D C

A B

E Grafo com circuito de Euler, (A,B,E,C,D,E,A)


mas sem circuito de Hamilton

D C

___________________________________________________________________ 19
______________________Teoria de Grfos e Aplicações
financeiras______________________

B C Grafo com circuito de Hamilton


(A,C,D,E,,F,G,B,A)
e com circuito de Euler
G (A,C,D,E,F,D,G,F,B,G,C,B,A)

F D

E anterior ilustra como a presença de um circuito de Euler


O exemplo
não influencía a presença de um circuito de Hamilton, e vice-versa.

Sendo assim, dado um grafo como sabemos se ele possui um


circuito (caminho) de Hamilton?

Infelizmente não há uma resposta simples para esta questão.


Mesmo para um grafo pequeno não é fácil determinar se tem um
circuito(caminho) de Hamilton.
Contudo existem tipos especiais de grafos, com caracteristicas
próprias, que nos permitem afirmar logo se possuem ou não circuitos ou
caminhos hamiltonianos.
Por exemplo:

Grafos Completos Bipartidos

...

...

Os vértices são divididos em duas linhas ,e cada vértice duma linha é


adjacente a todos os vértices da outra linha, mas não é adjacente a nenhum
vértice da mesma linha.
Se cada linha tem o mesmo número de vértices ( ), o grafo tem
circuitos de Hamilton.
Se uma linha tem mais vértices que a outra ( ), não
existem circuitos hamiltonianos, mas podem ou não existir caminhos:
Se a diferença entre m e n for igual a um: existem
camihos de Hamilton;

___________________________________________________________________ 20
______________________Teoria de Grfos e Aplicações
financeiras______________________

Se a diferença entre m e n for maior que um: não


existem caminhos de Hamilton.

Grafos grelha

Um grafo grelha é um grafo rectangular que representa uma


grelha com m blocos por n blocos, como o representado na figura:

Num grafo deste tipo,


se m e n são ambos ímpares o grafo tem um circuito de
Hamilton;
se m for par, e n ímpar o grafo tem um circuito de Hamilton;
se m e n forem ambos pares, o grafo não tem circuitos
hamiltonianos.

Grafos com pontes


Num grafo com pontes não existem circuitos de Hamilton.

E como estes existem mais grafos especiais, mas o que nos


interessa para o nosso trabalho é um tipo de grafos muito especial,
que possui sempre circuitos de Hamilton,e onde podemos até
precisar o número de circuitos existentes. Falamos de grafos
completos.

 O que é um grafo completo?

È um grafo em que cada vértice é adjacente a todos os outros, isto é


existe sempre uma aresta a ligar qualquer par de vértices.Um grafo
completo com n vértices denota-se por Kn.

___________________________________________________________________ 21
______________________Teoria de Grfos e Aplicações
financeiras______________________

Neste tipo de grafos cada vértice tem grau n-1, e consequentemente o


número total de arestas é

 Exemplo:

A
B
F K6
Cada vértice tem grau 5
Tem 15 arestas
C
E

Um grafo completo tem um reportório completo de circuitos de


Hamilton. Podemos escrever os vértices pela ordem que quisermos, repetir
o 1º vértice no final e temos um circuito de Hamilton.
Existe uma fórmula conveniente que nos dá o número de circuitos de
Hamilton num grafo completo. Note que num grafo completo podemos
listar os vértices por qualquer ordem e encontrar um circuito hamiltoniano,
se escolhermos um ponto de referencia, todas as ordenações possiveis dos
restantes n-1 vértices resultam num circuito de Hamilton, logo o número
total de circuitos hamiltonianos dum grafo completo é (n-1)!

 Exemplo:

K4 (grafo completo com 4 vértices)

A B C D
ABCDA BCDAB CDABC DABCD

___________________________________________________________________ 22
______________________Teoria de Grfos e Aplicações
financeiras______________________

ABDCA BDCAB CABDC DCABD


ACBDA BDACB CBDAC DACBD
ACDBA BACDB CDBAC DBACD
ADBCA BCADB CADBC DBCAD
ADCBA BADCB CBADC DCBAD

Tomando o ponto A como referência, obtemos 6 circuitos


hamiltonianos diferentes.Quando tomamos um dos outros vértices como
referência, cada circuito obtido já foi encontrado em A, apenas muda o
ponto onde começa, mas o circuito é o mesmo.

È importante notar como crescem depressa os factoriais, e


consequentemente o número de circuitos de Hamilton, à medida que
acrescentamos vértices.

Nº de vértices Nº de circuitos hamiltonianos


3 2
4 6
5 24
6 120
7 720
8 5040
9 40320
10 362880
...... .....

Assim quando trabalhamos com grafos completos, podemo-nos


deparar com um nº astronómico de circuitos Hamiltonianos.Como vamos
trabalhar com tantos? Esta é uma importante questão da teoria de grafos!!!

No princípio do novo milénio, o Homem depara-se com um grande


desejo:
«descobrir vida nos outros planetas».
De todos os planetas do sistema solar, Marte é o mais provável local
com evidencias de vida - provávelmente primitiva.
Mas descobrir “marcianos” levanta muitas questões, técnicas e logisticas.
Quais os melhores locais de Marte para explorar?
Como levar o equipamento até lá?
Quanto tempo demorará o trabalho?

___________________________________________________________________ 23
______________________Teoria de Grfos e Aplicações
financeiras______________________

E sobretudo
Quais os custos?

Mais uma vez por trás das complexidades da exploração de Marte,


está um interessante problema matemático.

Um dos projectos da Nasa, consiste em “soltar” um robôt em Marte


que deverá percorrer locais previamente estabelecidos recolhendo amostras
de solo para experiências, voltando, após visitar todos os locais, ao sitio
onde desembarcou, sendo as amostras recolhidas, para regressar à Terra.É
claro que existem muitos caminhos que o robôt pode tomar, quando visita
cada um dos locais definidos.A questão que se coloca é : “Qual deles é o
melhor?”.
Esta questão não é mais que um problema de grafos, um problema
muito especial que dá pelo nome de TSP (traveling Salesman Problem).
O nome representa todos os problemas semelhantes, mesmo que não
tenham nada a ver com viagens. Pensaremos nas viagens como uma
metáfora: é um de nós procurando o melhor caminho para “qualquer
coisa”!
Uma considerável caracteristica dos TSP é a sua simplicidade.Não
parece que encontrar um caminho óptimo seja tão dificil.
O TSP representa um dos mais interessantes e complexos problemas
da teoria de grafos.

___________________________________________________________________ 24
______________________Teoria de Grfos e Aplicações
financeiras______________________

___________________________________________________________________ 25
______________________Teoria de Grfos e Aplicações
financeiras______________________

TSP (Traveling-Salesman Problems)

Em seguida iremos abordar o problema dos TSP, para tal serão dados
alguns exemplos para assim compreendermos a sua função.

Exemplo: “O problema das 5 cidades”

O sr. Francisco tem clientes em 5 cidades as quais chamaremos para


simplificar A, B, C, D e E; ele planeia uma viagem para visitar cada um
delas.
O sr Francisco precisa começar e terminar a sua viagem em sua casa,
na cidade A. Para além disso, não há mais restrições na ordem pela qual ele
deseja fazer as visitas às restantes quatro cidades.
O grafo que se apresenta mostra o custo do bilhete de avião, entre
cada duas cidades. Naturalmente, o sr. Francisco quer ter a menor despesa
possivel.

____________________________Fig.1____________________________

___________________________________________________________________ 26
______________________Teoria de Grfos e Aplicações
financeiras______________________

____________________________________________________________

Qual será a sequência menos expendiosa para percorrer as cinco


cidades?
Retomaremos este problema posteriormente, para uma abordagem
mais cuidada e permenorizada.

Exemplo: “Exploração do nosso sistema solar”

Suponhamos que estamos no ano 2020. Pretende-se fazer uma


expediçaõ que se destina a visitar Callisto, Ganymede, Io, Mimas e Titan
(as primeiras três são luas de Júpiter, as duas últimas são luas de Saturno).
Em cada uma delas serão retiradas amostras de rochas para posteriormente
serem analisadas em Terra.
A figura que se segue mostra o tempo de missão (em anos) entre
duas luas.

___________________________________________________________________ 27
______________________Teoria de Grfos e Aplicações
financeiras______________________

_____________________________Fig.2___________________________

____________________________________________________________

Qual a melhor maneira de direccionar a nave, para que a viagem


demore o menor tempo possível?

Muitos mais exemplos poderiam ser dados mas, o que se pretende


essencialmente é que se perceba que o mais importante de tudo, em cada
exemplo, é achar um circuito que minimize algo, nomedamente e de acordo
com os exemplos anteriores, os custos, o tempo, etc.
Muitos problemas do dia a dia podem ser formulados como TSPs por
exemplo, a simples tarefa de entrega de encomendas, pode ser formulada
como TSP de forma a minimizar o tempo que se demora a percorrer todos
os destinatários.

A seguir serão apresentadas algumas estratégias para resolver este


tipo de problemas, para tal consideremos o problema das 5 cidades.

 Método 1 :

a) Fazer uma lista de todos os circuitos possiveis;

b) Calcular o total de custos para cada circuito;

___________________________________________________________________ 28
______________________Teoria de Grfos e Aplicações
financeiras______________________

c) Escolher o circuito com menor custo.

____________________________Tabela1__________________________

Circuito Imagem em
Hamiltoniano Custo Total espelho
1 A,B,C,D,E,A 185+121+174+199+133= 812 A,E,D,C,B,A
2 A,B,C,E,D,A 185+121+120+199+152= 777 A,D,E,C,B,A
3 A,B,D,C,E,A 185+150+174+120+133= 762 A,E,C,D,B,A
4 A,B,D,E,C,A 185+150+199+120+119= 773 A,C,E,D,B,A
5 A,B,E,C,D,A 185+200+120+174+152= 831 A,D,C,E,B.A
6 A,B,D,E,C,A 185+200+199+174+119= 877 A,C,E,D,B,A
7 A,C,B,D,E,A 119+121+151+199+133= 722 A,E,D,B,C,A
8 A,C,B,E,D,A 119+121+200+199+152= 791 A,D,E,B,C,A
9 A,C,E,B,D,A 119+174+150+200+133= 776 A,D,B,E,C,A
10 A,C,E,B,D,A 119+120+200+150+152= 741 A,D,B,E,C,A
11 A,D,B,C,E,A 152+150+121+120+133= 676 A,E,C,B,D,A
12 A,D,C,B,E,A 152+174+121+200+133= 780 A,E,B,C.D.A

A tabela mostra as várias possibilidades:

a) Há 24 circuitos Hamiltonianos possiveis;

b) O custo de cada circuito pode ser facilmente calculado como é


mostrado na tabela;

c) Como podemos ver através da tabela o circuito com menor custo


é A, D, B, C, E, A assim como a sua imagem espelho A, E, C, B,
D, A, com um custo total de 676 €.

Representemos este grafo, assinalando a vermelho o circuito de


menor custo:

___________________________________________________________________ 29
______________________Teoria de Grfos e Aplicações
financeiras______________________

___________________________Fig.3_____________________________

__________________________________________________________

 Método 2:

Começar em casa. Daí partir para a cidade onde o custo da viagem é


mais barato, e assim sucessivamente até regressar a casa.
Usando este método obtemos o seguinte circuito: A, C, E, D, B,A cujo
custo total é 773€.
A figura que se segue ilustra o circuito Hamiltoniano obtido:

____________________________Fig.4____________________________

___________________________________________________________

___________________________________________________________________ 30
______________________Teoria de Grfos e Aplicações
financeiras______________________

Como pudemos verificar através do exemplo anterior, o uso do


segundo método torna-se mais expendioso para o sr. Francisco uma vez
que o custo total obtido foi superior ao que se obtém usando o 1º método.

Suponhamos agora que o negócio do sr. Francisco se expande, agora


em vez de 5 cidades serão 10 cidades.
Agora sabemos que um dos métodos para resolver este problema é o
método 1. Mas, antes preocupemo-nos com o número de circuitos que terão
de ser verificados, para tal vamos pensar em termos de factoriais. O
número de circuitos que teremos de verificar é (n-1)! que neste caso são, 9!
que são 362.880. Como podemos ver tornar-se-ía muito trabalhoso verificar
este número de circuitos Hamiltonianos . Para ilustrar este problema
apresentamos o grafo que se segue:

____________________________Fig.5____________________________

__________________________________________________________
Usando o método 2, levará apenas alguns minutos.

Antes de continuarmos, formalizemos algumas das ideias que temos


vindo a discutir.
Ambas as estratégias utilizadas anteriormente que designamos por
método 1 e método 2, são exemplos de algoritmos.
Ao método 1 chamamos algoritmo “the brute-force” e ao método 2,
algoritmo “the nearest-neighbor “.

Vamos agora descrever cada um destes algoritmos:

___________________________________________________________________ 31
______________________Teoria de Grfos e Aplicações
financeiras______________________

Algoritmo 1: “The brute-force “

 Faz-se uma lista de todos os circuitos Hamiltonianos possíveis;

 Para cada circuito Hamiltoniano calcular o seu peso total,


acrescentando todos os valores de todas as arestas do circuito;

 Encontrar os circuitos (há sempre mais que um) com valor total
minimo.

Algoritmo 2 : “The nearest-neighbor”

 Escolher um vértice para o ponto de partida;

 Do vértice de partida escolher o vértice cujo valor correspondente


é menor. Chamaremos a este vértice o “nearest-neighbor”. Se
houver mais que um escolhe-se aleatoriamente.

 Continuar a construir o círcuito, um vértice de cada vez, ir sempre


de um vértice para o vértice de menor valor, percorrendo todos os
vértices que ainda não foram visitados. (Sempre que houver um
laço escolher aletoriamente).

 Do último vértice regressar ao ponto de partida.

Baseados naquilo que vimos até aqui é fácil compreendermos que


ambos os algoritmos trazem problemas.
Comecemos pelo 1º algoritmo. Procurar todos os circuitos
Hamiltonianos quando o número de vértices é elevado, não é tarefa
fácil.
Uma possibilidade para dar a volta ao problema é recrutar uma
ajuda rápida, assim como um computador poderoso.
Infelizmente, até o computador mais rápido do mundo não nos
levará muito longe.
Suponhamos que nos é cedido um super computador capaz de
construír 10 biliões de circuitos por segundo. Significa que o nosso
computador pode fazer aproximadamente 3.0 1017 circuitos por ano.
Para gráficos com 15 vértices, o nosso ajudante pode construir os

___________________________________________________________________ 32
______________________Teoria de Grfos e Aplicações
financeiras______________________

circuitos Hamiltonianos em segundos ou menos. Mas, se forem


circuitos com mais de 15 vértices torna-se mais complicado como
podemos ver pela tabela que se segue:

__________________________Tabela2____________________________

Número Número de Tempo


de vértices circuitos Hamiltonianos de pesquisa
16 1,307,674,368,000 2 minutos
17 2.1*1013 35 “
18 3.6*1014 10 horas
19 6.4*1015 7 1/2 dias
20 1.2*1017 140 dias
21 2.4*1018 7 1/2 anos
22 5.1*1019 160 anos
23 1.1*1021 3500 anos
24 2.6*1022 82.000 anos
25 6.2*1023 2,000,000 anos

Como podemos ver pela tabela, cada vez que acrescentamos


um vértice, o tempo necessário para construír o circuito aumenta
desproporcionadamente.
Este algoritmo é um exemplo clássico formalmente conhecido
por “algoritmo ineficiente”. O problema destes algoritmos é que nos
limitam o seu uso na prática, só podem ser usados quando o
problema é pequeno.
Felizmente, nem todos os algoritmos são ineficientes como é o
caso do nosso 2º algoritmo, no qual nós esperamos de vértice em
vértice usar um simples critério:
“Onde está o próximo “mais próximo” sítio para ir? “ Para um
grafo de 5 vértices teremos de tomar 5 passos. Quando tivermos 10
vértices, teremos de fazer 10 passos. Essencialmente, a quantidade
de trabalho duplica quando o número de vértices duplica.
Um algoritmo para o qual o número de passos necessários para
prosseguir cresce em proporção ao tamanho do problema chama-se
“algoritmo eficiente”.
O algoritmo “nearest-neighbor” é um algoritmo eficiente. O
problema com este algoritmo é não nos dar um circuito
Hamiltoniano perfeito. Assim, porque é que devemos considerar um
algoritmo que não nos dá uma resposta adequada?
Vamos agora falar de outro tipo de algoritmos.

___________________________________________________________________ 33
______________________Teoria de Grfos e Aplicações
financeiras______________________

Algoritmos aproximados

A última meta para encontrar um método geral para explicar


TSPs é encontrar um algoritmo que seja eficiente e adequado, isto
significa que nos garante sempre uma resposta perfeita. Infelizmente,
ninguém conhece tal algoritmo. Será porque tal algoritmo é hoje uma
impossibilidade matemática? Ou será porque ninguém até agora foi
suficientemente esperto para encontrar um?
Apesar dos esforços de alguns dos melhores matemáticos do
nosso tempo, as respostas para estas questões foram meramente
ilusórias. Estas questões trazem profundas implicações na área da
cincia dos computadores chamada “teoria complexa”, tornou-se um
dos mais famosos e inexplicáveis problemas da matemática
moderna.
Para resolver estes problemas vamos esquecer a expectativa de
encontrar uma solução que poderá não ser perfeita mas, que seja uma
solução rápida.
Usaremos o termo “algoritmo aproximado” para descrever
qualquer algoritmo que produza soluções que estão, na maior parte
das vezes, razoavelmente perto da solução perfeita

O algoritmo: “Repetitive Nearest-Neighbor”

Este algoritmo é uma variação do “nearest-neighbor” no qual


repetimos várias vezes todo o processo de construção do algoritmo “nearest
neighbor”. Para que é que se pretende tal algoritmo?
A razão é que para se obter o circuito Hamiltoniano quando se aplica
o processo “nearest neighbor” depende da escolha do vértice de partida. Se
alterarmos o vértice de partida, é provável que o circuito Hamiltoniano que
vamos obter será diferente.
Desta forma, iremos obter vários circuitos Hamiltonianos diferentes,
dos quais poderemos escolher o melhor.
Para ilustrar o funcionamento deste algoritmo vamos voltar ao
problema das 5 cidades.

___________________________________________________________________ 34
______________________Teoria de Grfos e Aplicações
financeiras______________________

Um conto das 5 cidades (continuação)

Vimos já que o circuito Hamiltoniano perfeito é dado por A, D, B, C,


E, A.
Quando usamos o “nearest-neighbor” com o vértice A como ponto
de partida, obtemos o circuito Hamiltoniano A, C, E, D, B, A.
Tentemos agora com o vértice B como ponto de partida. Obtém-se
assim, o circuito B, C, A, E, D, B cujo custo total é 722 €. É certamente um
aperfeiçoamento. Poderá o sr. Francisco, que pretende começar e terminar
em A, conseguir menos de 722 €? Porque não? Tudo o que ele terá de fazer
é reescrever o circuito de forma equivalente A, E, D, B, C, A.
Podemos agora tentar como pontos de partida C, D e E. Quando o
ponto de partida é C obtemos um custo total de 722 €, quendo o ponto de
partida é D conseguimos o circuito Hamiltoniano D, B, C, A, E, D também
com um custo total de 722 euros, e finalmente, quando o ponyo de partida é
E obtém-se o circuito Hamiltoniano E, C, A, D, B, E com um custo total de
741 €.
Desta maneira, a melhor solução obtida com o “repetitive nearest-
neighbor” é o circuito A, E, D, B, C, A com um custo total de 722€.

____________________________Fig.6____________________________

______________________________________________________________________

Façamos então uma descrição formal deste algoritmo:

___________________________________________________________________ 35
______________________Teoria de Grfos e Aplicações
financeiras______________________

Algoritmo 3 : “The repetitive nearest-neighbor”

 Por X em qualquer vértice. Aplicar o algoritmo “nearest-


neighbor” usando X desde o vértice de partida e calcular o
custo total do circuito obtido;

 Repetir o processo usando cada um dos outros vértices do


gráfico como ponto de partida.

 Dos circuitos Hamiltonianos obtidos, escolher o melhor deles.


Se há um vértice de partida designado, reescrever o circuito
em que esse vértice é o ponto de referência.

Algoritmo: “The chepeast – link”

Este é o último - mas não o pior - dos algoritmos para encontrar


circuitos Hamiltonianos.
Como vimos, usando o algoritmo “repetitive nearest-neighbor”, a
ordem pela qual construímos um circuito Hamiltoniano e a ordem pela qual
se conduz o circuito não tem de ser a mesma.
O algoritmo “cheapest-link” é essencialmente um algoritmo que usa
a seguinte estratégia:

Começamos pela aresta de menor valor do grafo, qualquer que seja.


Uma vez feito, escolhemos a aresta de menor valor que se segue e assim
sucessivamente, tendo em conta as seguintes restrições:

(i) Não permitir que os circuitos se formem (a não ser mesmo no


final);

(ii) Não permitir que três arestas se juntem num vértice.

É claro que se permitirmos que algumas destas duas coisas


aconteça não se consegue terminar o circuito Hamiltoniano.

___________________________________________________________________ 36
______________________Teoria de Grfos e Aplicações
financeiras______________________

Felizmente, são as únicas duas restrições com que nos devemos


preocupar.
Façamos uma descrição formal do algoritmo “The chepeast-
link”.

Algoritmo 4: “The chepeast-link”

 Pegar na aresta de menor valor (em caso de igualdade escolher


aleatoriamente). Marcar a respectiva aresta(por exemplo a
vermelho);

 Pegar na ligação de menor valor a seguir, e marcar a


correspondente aresta;

 Continuar a marcar as arestas de menor valor nas condições


requeridas, excepto quando:

a) Esta fecha um circuito;

b) Resulta na ligação de três arestas no mesmo vértice:

 Quando não houver mais vértices para ligar, fechar o circuito a


vermelho.

Consideremos novamente o problema das 5 cidades:

Seguindo os passos atrás descritos, e observando a construção


do circuito Hamiltoniano em anexos, obtém-se:

____________________________Fig.7____________________________

___________________________________________________________________ 37
______________________Teoria de Grfos e Aplicações
financeiras______________________

____________________________________________________________

Obtemos o circuito A, C, E, B, D, A (ou a sua imagem ao espelho),


com um custo total de 741 €.

Conclusão

Concluímos assim, que em muitas situações, encontrar um circuito


Hamiltoniano adequado é razoavelmente fácil. Um algoritmo geral
completo que funcionasse para todos os TSPs iludiu matemáticos que
estavam interessados neste problema há mais de 50 anos. Trata-se de um
problema de extrema importância e ao mesmo tempo um problema de
notoriosa dificuldade.
O “nearest-neighbor” e “cheapest-link” são duas estratégias
razoavelmente simples para investir nos TSPs, mas variações sofisticadas
destas estratégias são de facto usadas hoje em dia no negócio e indústria
para resolver prblemas importantes da vida real envolvendo milhares de
vértices. Vimos que ambos os algoritmos são algoritmos de aproximação.
Isto significa que algoritmos como estes não nos dão soluções perfeitas,
embora, num dia de sorte seja possivel. Com muito azar, qualquer um
destes algoritmos pode dar-nos o pior circuito Hamiltoniano possível. No
entanto, podemos esperar que qualquer um destes algoritmos nos dê uma
solução aproximada com uma margem mínima de erro.
Em alguns problemas o “cheapest-link” dá-nos uma melhor solução
que o “nearest-neighbor”, com outros problemas é ao contrário. Desta
maneira, conclui-se que nenhum é melhor que o outro.
É de grande interesse no meio matemático e cientistas dos
computadores encontrar algumas melhoras para os algoritmos de
aproximação para resolver TSPs.

___________________________________________________________________ 38
______________________Teoria de Grfos e Aplicações
financeiras______________________

___________________________________________________________________ 39

Você também pode gostar