You are on page 1of 15

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.

69-83, 2001

69

ESTUDO DE GRAFOS E APLICAES 1 GRAPHS AND APPLICATIONS


Gustavo Bisognin 2 Fabiano B. Franco 2 Vanilde Bisognin 3 RESUMO Neste trabalho estudam-se os conceitos bsicos e aplicaes importantes da teoria de grafos. Destacam-se, nas aplicaes, o problema das sete pontes de Knigsberg, o problema das redes de comunicao, o problema do nmero cromtico, o fornecimento de servios, o planejamento de tarefas e o alinhamento de seqncias biolgicas. Palavras-chave: multigrafo, vrtice, caminho euleriano. ABSTRACT In this work the basic concepts and import applications in the graphs theory are studied. In applications, we can mention the seven bridges of Knigsberg's problem, the network's problem, the cromatic number, services, project of tasks and alignment of biological sequences. Key Words: multigraph, vertex, eulerian path. INTRODUO A teoria de grafos surgiu no sculo XVIII e, comparada com a histria da Matemtica, ela bastante recente. Destacam-se L. Euler, G. Kirchhoff e A. Cayley como os primeiros cientistas a trabalharem nesta linha de pesquisa. A teoria de grafos tem extensa aplicabilidade na rea de Matemtica, principalmente na modelagem matemtica, que permite interpretar e analisar vrias situaes reais em Fsica, Qumica, Biologia, Engenharia, Pesquisa Operacional, Psicologia e Teoria da Computao. Os conceitos e resultados bsicos sobre a teoria de grafos podem ser encontrados em LUCCHESI (1979), ALDOUS & WILSON (2000) e GERSTING (1995), entre outros. Nestes textos, encontram-se todos os reTrabalho de Iniciao Cientfica. FAPERGS. Curso de Sistemas de Informao. UNIFRA. 3 Orientador.
1 2

70

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

sultados e propriedades importantes da teoria bem como um grande nmero de aplicaes em vrias reas do conhecimento. Com o desenvolvimento da cincia da computao, a teoria sobre grafos tem permitido obter resultados importantes de modelos matemticos que representam vrias situaes reais e auxiliam na soluo de diversos problemas. Isto pode ser encontrado em ALDOUS & WILSON (2000) e LIPSCHUTZ & LIPSON (1997). DESENVOLVIMENTO RESULTADOS BSICOS Um grafo um conjunto de pontos no plano ligados por segmentos de reta ou flechas. Um grafo G = (N,A) constitudo por um conjunto (finito e no-vazio) N de ns e um conjunto A de arcos. Cada arco um par noordenado de ns (ou vrtices) distintos. Para desenhar um grafo, representa-se cada n por um crculo e os arcos por linhas ligando estes crculos (Figura 1).

Figura 1 - Grafo. Um arco incidente nos ns aos quais est associado. N isolado aquele que no est ligado a nenhum outro, ou seja, no existe nenhum arco, no grafo, incidente neste n (Figura 2).

Figura 2 - Incidncia de arcos. No exemplo anterior, percebe-se que o arco a incidente nos ns 1 e 2, assim como o arco b incidente nos ns 1 e 3.

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

71

Arcos adjacentes so dois arcos incidentes num mesmo n (Figura 3).

Figura 3 - Arcos adjacentes. No exemplo anterior, o arco a incidente nos ns 1 e 2, o arco b incidente nos ns 1 e 3, o arco c nos ns 2 e 3, o arco d nos ns 1 e 4 e o arco e nos ns 2 e 4. Multigrafos so grafos nos quais so permitidos dois ou mais arcos associados a um mesmo par de ns. O exemplo na figura 4 representa um multigrafo porque os arcos b e c conectam os mesmos pontos finais. Pode-se representar (multi)grafos por meio de matrizes. Tem-se ento a matriz de incidncia n-arco, cujas linhas esto associadas aos ns e as colunas aos arcos. Um elemento na linha i e coluna j ser igual a 1 se o n i for incidente no arco j e 0 se no for. Outra forma de representao a matriz de adjacncia, que tem linhas e colunas associadas aos ns. O elemento na linha i e coluna j o nmero de arcos que tem i e j como extremidades. A seguir, figura 4, um exemplo de um multigrafo e suas respectivas matrizes: abc 1 1 1 1 2100 3 0 1 1 123 1 0 1 2 2100 3 2 0 0 Figura 4 - Representao por meio de matrizes. Grau de um n o nmero de arcos incidentes nele. De acordo com a figura anterior, o n 1 tem grau 3, pois possui trs arcos incidentes nele, o

72

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

arco a, b e c. J o n 3 possui grau 2, porque os arcos b e c incidem nele; j o n 2 tem grau 1 porque possui somente o arco a incidindo nele. Um circuito de Euler do grafo G um circuito que contm todos os ns e todas as arestas de G. Isto , o circuito euleriano uma seqncia de ns adjacentes a qual comea e termina no mesmo n, usando cada n pelo menos uma vez e cada aresta tambm uma nica vez. Sendo N um n do circuito euleriano de G, se uma aresta chega em N, ento dever haver outra que sai. Um dos resultados estabelecidos por Euler diz que um multigrafo conexo euleriano se, e somente se, cada n tiver grau par. O conceito de planaridade de um grafo est ligado ao traado de mapas de cidades. Considerando-se o mapa de uma cidade, a ele pode estar associado a cada esquina um n e a cada trecho de rua entre duas esquinas um arco. Entretanto, se o objetivo for traar possveis rotas para linhas de nibus, verifica-se que a simples indicao de um trecho de rua entre dois pontos no suficiente, porque nem todas as ruas possuem mo-dupla. necessrio tambm acrescentar essa informao na definio do grafo. Ento surge o conceito de arco direcionado e dgrafo. Cada arco corresponde a um par ordenado de ns. Agora, o arco correspondente ao par (i, j) incidente do n i e incidente para o n j. O grau de entrada de um n o nmero de arcos que entram no n, isto , so incidentes para o n e o grau de sada definido de maneira anloga. Seguindo a teoria de grafos, da mesma forma, a definio de dgrafos no prev a existncia de laos (um arco associado a um par (i, i)) e arcos repetidos, ou seja, dois arcos associados ao mesmo par ordenado de ns. Outra informao adicional que pode ser representada no arco, informar sua direo, e esta indicada por meio de uma seta no n para o qual o arco incidente (Figura 5).

Figura 5 - Grafo com indicao da direo. PROBLEMAS E APLICAES

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

73

PROBLEMA DAS SETE PONTES O mais famoso problema que utiliza teoria de grafos foi resolvido por Euler em 1736. Euler ficou curioso devido a uma charada popular sobre o lugarejo de Knigsberg (uma antiga cidade da Prssia, mais tarde chamada de Kaliniingrado, na Rssia). O problema o seguinte: sete pontes cruzam o rio Pregel estabelecendo ligaes entre duas ilhas e entre as ilhas e as margens opostas do rio, como mostra a figura. A charada era determinar se uma pessoa poderia passear pela cidade passando apenas uma vez por cada ponte. vivel responder essa pergunta listando todos os caminhos possveis, de forma que algum dedicado morador de Knigsberg deve ter resolvido este problema em particular. A idia de Euler foi representar esta situao utilizando grafos (Figura 6).

Figura 6 - O problema das sete pontes. Euler traou um multigrafo. A cada margem e ilha associou um n e a cada ponte um arco, obtendo o grafo da figura 6. Este problema consiste em achar um circuito que percorra cada arco exatamente uma vez. Pode-se observar que os ns tm grau mpar, ento o multigrafo em questo no euleriano. A resposta pergunta que no possvel cruzar uma ponte somente uma vez. A resposta a este problema pode tambm ser encontrada na construo de um algoritmo computacional. A essncia do algoritmo contar o nmero de vrtices adjacentes a cada vrtice e determinar se este mpar ou par. Se existirem muitos vrtices mpares, no existe um caminho euleriano. No algoritmo a seguir, a entrada um grafo representado por sua matriz de adjacncia. A varivel total mantm o nmero de vrtices mpares encontrados no grafo. O grau encontrado pela totalizao dos nmeros na linha correspondente a este vrtice na matriz. A funo odd retorna verdadeira se o seu argumento for um inteiro mpar. A seguir, pode-se ver o procedimento:

74

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

procedure TForm1.BMatrizClick(Sender: TObject); var total, grau, i, j, ordem: integer; mat: array [1..20,1..20] of integer; begin ordem:= StrToInt(InputBox ('Matriz de Adjacncia','Digite a ordem:','')); for i:=1 to ordem do for j:=1 to ordem do mat[i,j]:= StrToInt(InputBox('Matriz de Adjacncia','Digite o elemento ['+IntToStr(i)+','+IntToStr(j)+'] da matriz:','')); total:= 0; i:= 1; while (total <= 2) and (i <= ordem) do begin grau:= 0; for j:= 1 to ordem do grau:= grau + mat [i,j]; if odd (grau) then total:= total + 1; i:= i + 1; end; if total > 2 then ShowMessage ('No existe caminho euleriano') else ShowMessage ('Existe um caminho euleriano'); end; REDE DE COMUNICAES A teoria de grafos permite compreender a melhor maneira de construir redes de comunicaes entre cidades. Deseja-se configurar uma rede de comunicaes entre as cidades A, B, C, D e E, de modo que possa haver comunicao entre cada par de cidades. As ligaes devem ser efetuadas por cabos telefnicos. Admite-se que mensagens possam ser retransmitidas, isto , qualquer cidade pode mandar mensagem para outra por uma terceira. O conjunto de cidades corresponde ao conjunto de ns e cada arco corresponde a um cabo telefnico. A figura 7 mostra uma possvel configu-

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

75

rao de cabos entre as cidades que satisfaz a exigncia do enunciado, ou seja, cada cidade pode se comunicar com qualquer outra.

Figura 7 - Rede de comunicaes. O grafo da figura 7 um exemplo de rvore, um grafo com exatamente um caminho entre cada par de ns. Ou seja, este tipo de grafo fornece o esquema de conexo o mais simplificado possvel, pois se ocorrer a retirada de um arco que seja, elimina-se pelo menos um caminho e desconecta-se o grafo (sendo que cada arco constitui o nico caminho entre as suas extremidades). Este problema tambm vem formulado como um problema de otimizao combinatorial. DISTRIBUIO DE TAREFAS Tem-se um conjunto de m tarefas e m operrios. O operrio i tem habilidade para realizar um conjunto de tarefas. Pode-se atribuir exatamente uma tarefa a cada operrio de modo que todas as tarefas sejam realizadas? Ir-se- associar cada operrio e cada tarefa a um n. No caso de m = 5 tem-se um grafo como ilustrado na figura 8:

Figura 8 - Distribuio de tarefas para os operrios. Este um exemplo de grafo bipartido, que so aqueles nos quais o conjunto de ns N pode ser particionado em dois subconjuntos de tal manei-

76

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

ra que ns pertencentes a um mesmo subconjunto no so adjacentes. Neste tipo de problema, deve-se verificar a possibilidade de formao de m pares (operrio, tarefa), mas com cada operrio e tarefa pertencendo a apenas um par. Neste grafo, pode-se mostrar que no possvel atribuir todas as tarefas aos operrios. ISMEROS QUMICOS Na qumica tambm so encontradas importantes aplicaes da teoria de grafos. Associando-se os tomos de uma determinada molcula a ns e as ligaes entre esses tomos a arcos, obtido um grafo que representa a molcula. Existe a possibilidade de que dois ou mais grafos correspondam mesma frmula qumica, como o exemplo que se pode ver na figura 9.

Figura 9 - Ismeros qumicos. Apesar de corresponderem mesma frmula, as molculas que esto associadas aos grafos so diferentes e apresentam propriedades distintas. Este tipo de molculas so chamados de ismeros. Em 1884, o qumico A. Crum Brown se dedicou investigao da quantidade de ismeros de hidrocarbonetos saturados , para um nmero n de tomos de carbono. Para atingir seu objetivo, Cayley resolveu os problemas de enumerao em rvores enraizadas (aquelas nas quais um determinado n, o raiz, diferenciado dos demais) e rvores cujos ns tm, no mximo grau 4, e finalmente, rvores cujos ns tm grau 1 (tomos de Hidrognio) e grau 4 (tomos de Carbono). FORNECIMENTO DE SERVIOS Uma determinada companhia deve fornecer algum tipo de servio populao, como exemplo, gua, luz, ou telefone. Deseja-se instalar alguns desses servios em dois prdios recm-construdos. Decidiu-se ento usar tubulaes subterrneas, todas mesma profundidade, por motivos de segu-

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

77

rana. Como dever ser realizada essa tarefa? A soluo desse problema envolve o conceito de planaridade. Associando-se um n a cada prdio (P1 e P2) e a cada tipo de servio (A, L, T), tem-se o grafo da figura 10.

Figura 10 - Fornecimento de servios. Esse grafo no pode ser tomado como plano fsico adequado para a construo das tubulaes que devem estar mesma profundidade. Uma planta para a construo dessas tubulaes pode ser interpretada como uma representao desse grafo. Para que esta planta satisfaa a condio estabelecida pelo problema, os arcos no podem se interceptar. Como resultado, no possvel fazer uma planta que apresente essas caractersticas. PLANEJAMENTO DE TAREFAS Duas tcnicas foram desenvolvidas no final da dcada de 1950 para facilitar o gerenciamento de projetos: PERT (Project Evaluation and Review Technique) e CPM (Critical Path Method). A primeira por uma firma fornecedora de consultoria para a Marinha dos Estados Unidos, no programa de msseis Polaris, e a segunda pela firma E.I. du Pont de Nemours Company, para gerenciamento de projetos de construo. A aplicao destas tcnicas teve tanto sucesso que passou a ser uma exigncia do governo americano para firmas que ganhassem contratos para prestao de servios e construo de obras pblicas. Como passo inicial, deve ser construdo um diagrama de tarefas que representar todas as tarefas e as relaes de precedncia entre elas. Por exemplo, uma firma dever fazer uma pesquisa de mercado para outra empresa qualquer. Foram definidas as tarefas e relaes de precedncia listadas na tabela 1.

78

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

Tabela 1- Tarefas e relaes de precedncia. Tarefa A B C D E F Descrio Predecessoras Elaborar questionrios. Fazer programas para interpretar A dados colhidos em campo. Contratar equipe para colher dados. A Colher dados. C Acertar contas com a equipe. D Analisar dados com auxlio de programas BeD e elaborar relatrio para o cliente.

Para o gerenciamento do projeto, necessrio fazer a incluso de outras informaes, como por exemplo, o tempo de durao de cada tarefa. Tambm pode ser fornecido o custo de execuo de cada tarefa como funo do tempo de durao. ALINHAMENTO DE SEQNCIAS BIOLGICAS Outra aplicao importante da teoria de grafos encontrada na Biologia. Deseja-se estabelecer uma medida para similaridade entre seqncias biolgicas. Considerar como exemplo, as seqncias CATT e GAT, trechos de cadeias de DNA compostas pelas bases A (adenina), C (citosina), G (guanina) e T (timina). A seguir tem-se um possvel alinhamento destas seqncias: C A T T G A T em que - representa uma falha. Cada membro de uma seqncia emparelhado com um membro da outra seqncia ou com uma falha. A "qualidade" do alinhamento medida atribuindo-se um valor para cada tipo de emparelhamento e somando-se os valores de todos os emparelhamentos do alinhamento. Atribuindo-se ao emparelhamento de dois membros iguais o valor 1, de dois membros diferentes o valor -1 e de um membro e uma falha o valor -2, o valor do alinhamento ser -2-1-2-2+1 = -6. J o alinhamento: C A T T G A T tem valor -1+1+1-2 = -1 e considerado melhor, segundo este critrio.

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

79

O desenvolvimento de tcnicas de clonagem de molculas, a maior disponibilidade de computadores e a compilao de banco de dados aumentaram a procura por mtodos de comparao de seqncias biolgicas. Este problema pode ser resolvido como um problema de caminho mais curto num dgrafo e solucionado de maneira eficiente. A figura 11 contm o dgrafo correspondente ao problema de alinhamento das seqncias acima.

Figura 11 - Alinhamento de seqncias biolgicas. Assim, o problema de calcular o melhor alinhamento (o de valor mais alto) consiste em achar o caminho mais longo, em que seu comprimento a soma dos comprimentos dos arcos no caminho. PROBLEMA DAS QUATRO CORES O problema proposto o seguinte: possvel colorir as regies de qualquer mapa desenhado no plano usando, no mximo quatro cores, de modo que nenhum par de regies, que tenham fronteira em comum, sejam da mesma cor (Figura 12)?

Figura 12 - Problema das quatro cores. Associar-se- a cada regio um n e se dir-se- que dois ns so adjacentes se as regies correspondentes tm fronteira comum. A resposta a este problema pode tambm ser encontrada por meio da

80

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

construo de um algoritmo computacional. procedure TForm1.BMatrizClick(Sender: TObject); var mat: array [1..20,1..20] of integer; c: array [1..20] of integer; i, j, cor, maior, ordem: integer; aux: boolean; mens: string; begin maior:= 0; ordem:= StrToInt(InputBox ('Matriz de Adjacncia','Digite a ordem:','')); for i:=1 to ordem do for j:=1 to ordem do mat[i,j]:= StrToInt(InputBox('Matriz de Adjacncia','Digite o elemento ['+IntToStr(i)+','+IntToStr(j)+'] da matriz:','')); c[1]:= 1; for i:=2 to ordem do begin aux:= false; cor:= 1; while aux = false do begin for j:=1 to ordem do if mat[i,j] = 1 then if cor = c[j] then aux:= true; if aux = true then begin cor:= cor + 1; aux:= false; end else begin c[i]:= cor; aux:= true; end; end;

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

81

end; for i:=1 to ordem do begin mens:= mens + IntToStr(c[i]) + ' '; if c[i] > maior then maior:= c[i]; end; ShowMessage ('A seqncia de cores : ' + mens + #13 + #13 + 'O nmero total de cores : '+IntToStr(maior)); end; A entrada para o programa a matriz de adjacncia correspondente. O algoritmo inicia com a cor 1 e testa se o prximo elemento da matriz adjacente. Se for, a cor ser mudada para 2 e assim por diante. Caso o elemento no seja adjacente, ento o programa no altera a cor e continua o teste. Aps percorrer toda matriz, exibida uma mensagem com a seqncia de cores que foram utilizadas. PROBLEMA DOS CAMINHOS Como exemplo, considera-se o problema de encontrar a rota entre duas estaes do metr de Londres. O mapa da figura 13 representa a parte central do metr da cidade. Assim como todos os mapas, este no representa toda a rea, mas somente as reas mais relevantes que as pessoas costumam utilizar, assim como as distncias entre as estaes. Ele revela somente como as estaes esto interligadas. Desse modo, os passageiros podem planejar suas rotas de uma estao para outra.

Figura 13 - Mapa do metr de Londres. Entretanto, pode-se usar um mapa rodovirio, no qual no somente as interligaes entre cidades so importantes, mas tambm as distncias ou tempo de viagem entre elas. O mapa da figura 14 representa a maioria das rotas entre

82

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

um nmero de cidades dos Estados Unidos, e nele, os valores indicam o nmero de horas que se leva para percorrer o trajeto entre duas cidades.

Figura 14 - Mapa rodovirio. Este mapa tem a forma de um grafo, em que os vrtices representam as cidades e os arcos representam as rodovias. PROBLEMA DO CAIXEIRO VIAJANTE Um caixeiro viajante deseja visitar um nmero de cidades e retornar ao seu ponto de origem, realizando suas vendas nas cidades pelas quais passa. Ele quer escolher uma rota com o menor percurso possvel. Como exemplo, pode-se considerar quatro cidades ilustradas na figura 15.

Figura 15 - Rota de viagem. Os vrtices correspondem a Londres, Coventry, Preston e Leeds, e seis arcos fazem a ligao entre elas. Os valores associados aos arcos representam a distncia (em milhas) entre os pontos. simples mostrar a soluo por meio de tentativa e erro:

Disciplinarum Scientia. Srie: Cincias Exatas, S. Maria, v.2, n.1, p.69-83, 2001

83

Londres - Coventry - Preston - Leeds - Londres, com a distncia total de 100 + 125 + 68 + 194 = 487 milhas. Qualquer outra rota implicaria no aumento total da distncia. Infelizmente, a medida que se aumenta o nmero de cidades, ir-se- encontrar dificuldades. No existe nenhum mtodo conhecido para a soluo do problema do caixeiro viajante, entretanto existem diversos procedimentos para aproximar solues. O nico procedimento garantido para resolver esse problema olhar para todas as solues possveis, escolhendo a menor delas. A situao torna-se mais complicada medida que aumenta o nmero de cidades. Por exemplo, escolhendo-se 20 cidades, ento o nmero de possveis solues ser de 12.16 x 1017 e um computador processando uma taxa de 1000 possibilidades por segundo levar 38 milhes de anos para chegar ao resultado. Esse rpido aumento no tempo, bem como no nmero de cidades, conhecido como exploso combinatorial. CONCLUSES O texto apresenta um grande nmero de problemas, em diversas reas, em que a teoria de grafos aplicada. Em todos estes problemas pode-se relacionar a teoria algortmica computacional e chegar a bons resultados. Como se observa, a teoria de grafos uma rea de pesquisa com vasta aplicabilidade, mas para a soluo de modelos complexos, novos resultados precisam ser estudados. Estes resultados requerem conhecimentos profundos da Matemtica e da Cincia da Computao. REFERENCIAS BIBLIOGRAFICAS ALDOUS, Joan M.; WILSON, Robin J. 2000. Graphs and Application - an introductory approach. Berlim: Springer. GERSTING, Judith L. 1995. Fundamentos Matemticos para a Cincia da Computao. 3 ed. Rio de Janeiro: LTC. LIPSCHUTZ, Seymour.; LIPSON, Marc. 1997. Discrete Mathematics. 2 ed. Estados Unidos: McGraw-Hill. LUCCHESI, Cludio L. 1979. Introduo Teoria dos Grafos. Rio de Janeiro: IMPA.

You might also like