Você está na página 1de 10

Resoluo de problemas por meio de tcnicas de grafos.

Sergio S. Chaves Instituto de Cincias Exatas e Naturais Universidade Federal do Par (UFPA)
sergiossc@gmail.com

Resumo. Neste trabalho so abordados variados problemas clssicos que recaem na utilizao da teoria de grafos como conjunto de ferramentas de modelagem e soluo. As questes levantadas abrangem desde conceitos fundamentais at formulaes mais complexas de grafos. Como mtodo de soluo de cada problema, adotou-se a modelagem por meio da identificao de vrtices e arestas como componentes do grafo e descrio de um procedimento para soluo do problema adotando-se exemplos de aplicao.

1. Introduo
Os grafos constituem ferramentas de ampla utilizao na resoluo dos mais diversos problemas do mundo real, principalmente aqueles com aplicaes prticas. Neste trabalho foram selecionados alguns problemas publicados pelo professor Antonio Carlos Mariani, disponveis na Web1. A lista de problemas composta por uma grande variedade de problemas com ampla aplicao em problemas de situao cotidianas. Isso mostra o grande potencial por trs da teoria de grafos, como ferramenta de implementao na soluo dos mais variados e recorrentes problemas.

2. Problemas

2.1. Problema 2: das pontes de Knigsberg. Descrio: No sculo 18 havia na cidade de Knigsberg um conjunto de sete pontes (identificadas pelas letras de a at f na figura abaixo) que cruzavam o rio Pregel . Elas conectavam duas ilhas entre si e as ilhas com as margens.

1 Publicados em http://www.inf.ufsc.br/grafos/problemas/index.htm

Por muito tempo os habitantes daquela cidade perguntavam-se se era possvel cruzar as sete pontes numa caminhada contnua sem passar duas vezes por qualquer uma delas.

Soluo: O problema pode ser modelado utilizando a teoria de grafos. Nesse sentido, os vrtices representam as ilhas e as suas margens enquanto as arestas representam as sete pontes. Desse modo, tem-se o grafo G(V,E) tal que: V = {vi | vi corresponde a localidade i a ser visitada, 1 < i 4} E = {ej | ej corresponde a ponte j que conecta localidades adjacentes, 1 < j 7} Na tcnica de grafos, este problema pode ser visualizado como o percurso do ciclo de Euler. Um grafo dito ser Euleriano caso possua um ciclo euleriano tal que o mesmo contenha todas as suas arestas. Para se resolver este problema, deve-se verificar se o grafo modelando o problema apresenta (ou no) um ciclo de Euler. O grafo da Figura 1 representa a modelagem do problema das pontes de Knigsberg.

Figura 1: Modelagem em forma de grafo. Teorema: Um multigrafo G(V,E) euleriano se e somente se G conexo e cada vrtice de G tem grau par. Desse modo, considerando o grafo G(V,E) da Figura 1 , temos:

V = {v1,v2,v3,v4}; e, E = {e1,e2,e3,e4,e5,e6,e7}. O grau de cada vrtice pode ser identificado como: g(v1) = g(v3) = g(v4) = 3; e g(v2) = 5. Como verificado o grafo do problema G(V,E) no atende ao enunciado do teorema, possuindo todos os seus vrtices com grau mpar. Desse modo o grafo em questo no possui um ciclo euleriano. Pode-se concluir, ento, que no h uma maneira de percorrer todas as sete pontes da cidade em uma caminhada contnua e sem passar mais de uma vez pela mesma ponte. 2.2. Problema 3: do caixeiro viajante. Descrio Suponha que a rea de venda de um caixeiro viajante inclua vrias cidades, muitas das quais, aos pares, esto conectadas por rodovias. O trabalho do caixeiro requer que ele visite cada cidade pessoalmente. Sob que condies seria possvel estabelecer uma viagem circular (que o leve ao ponto de partida) de forma a que ele visite cada cidade exatamente uma vez? Soluo Este problema pode ser modelado de modo que os vrtices do grafo do problema representem as cidades, as arestas por sua vez representam as estradas ligando os vrtices (cidades) uns aos outros. Desse modo, temos um grafo G(V,E), tal que: V = {vi | vi corresponde a cidade i a ser visitada, 1 < i 5} E = {ej | ej corresponde a estrada j que conecta cidades adjacentes, 1 < j 7} Na tcnica de grafos, este problema caracterizado como ciclo hamiltoniano. Desse modo, a resoluo do problema consiste em identificar se o grafo G(V,E) corresponde (ou no) a um grafo hamiltoniano. Um grafo dito hamiltoniano caso o mesmo possua um ciclo hamiltoniano, ou seja, neste grafo existe um ciclo tal qual podese percorrer todos os seus vrtices univocamente. No se dispe de um mtodo conveniente para se determinar se um vrtice hamiltoniano, porm h teoremas como o seguinte que fornecem condies necessrias (mas no suficientes) para um grafo hamiltoniano. Teorema: Se G(V,E) um grafo de n vrtices (n>2) tal que o grau(v) >= n/2 para cada vrtice v de G(V,E), ento G(V,E) hamiltoniano. Desse modo, considerando como exemplo o grafo G(V,E) da Figura 2, temos: V = {v1,v2,v3,v4,v5}, indicando o conjunto das cidades; e, E = {e1,e2,e3,e4,e5,e6,e7}, indicando as estradas interligando um par de cidades.

Figura 2: Modelagem em forma de grafo. Considerando o grafo da Figura 2, temos: n > 2 : com n=5 g(vi ) >= n/2, para i de 1 a 5: com g(v1) = g(v2) = g(v3) = g(v4) = 3 e g(v5) = 2

Dado um grafo G(V,E), as condies enunciadas pelo teorema indicam ser possvel (ou no) estabelecer uma viagem circular de modo que se percorra todas as cidades univocamente. Observando a condio necessria enunciada, existe pelo menos um ciclo P que corresponde a uma cadeia simples e fechada a qual visita todos os vrtices do grafo uma nica vez, onde o vrtice inicial o mesmo que o vrtice final. Como exemplo para o grafo da Figura 2, temos P = (v1, v2, v5, v4, v3, v1).

2.3. Problema 4: do desenho da casa. Descrio: No desenho abaixo, uma criana diz ter posto a ponta do lpis numa das bolinhas e com movimentos contnuos (sem levantar e sem retroceder o lpis) traou as linhas que formam o desenho da casa, traando cada linha uma nica vez.

A me da criana acha que ela trapaceou pois no foi capaz de achar nenhuma seqncia que pudesse produzir tal resultado. Voc concorda com esta me? Soluo:

Este problema pode ser modelado de modo que os pontos (bolinhas) em vermelho correspondam ao conjunto dos vrtices V e que as linhas conectando cada ponto entre si correspondam as arestas de um grafo G(V,E), tal que: V = {vi | vi corresponde ao ponto i, com 1 < i 6} E = {ej | ej corresponde a linha j que conecta pontos adjacentes, 1 < j 10} Na tcnica de grafos, este problema abordado como a questo do grafo atravessvel. Dado um grafo G(V,E), o mesmo dito atravessvel caso possua uma trilha euleriana a qual percorre univocamente todas as suas arestas. O teorema a seguir indica quais grafos podem ser identificados como atravessveis: Teorema: Um grafo G(V,E) atravessvel se e somente se G conexo e tem exatamente dois vrtices de grau impar, qualquer trilha euleriana de G comea em um dos vrtices de grau impar e termina no outro vrtice de grau impar. Desse modo, considerando a modelagem em grafos do problema indicada pela Figura 3, temos: V = {v1,v2,v3,v4,v5, v6}, indicando o conjunto de pontos; e, E = {e1,e2,e3,e4,e5,e6,e7,e8,e9,e10}, indicando as linhas interligando pontos adjacentes.

Figura 3: Modelagem em forma de grafo. O grafo G(V,E) que representa o problema indicado pela Figura 3 conexo e possui exatamente dois vrtices de grau mpar g(v5) = g(v6) = 3. Atendendo s condies enunciadas pelo teorema, h pelo menos uma trilha atravessvel P a qual comea em um dos vrtices de grau mpar e termina no outro vrtice de grau mpar, percorrendo todas as arestas do grafo G(V,E) univocamente. Como exemplo de trilha euleriana para este grafo, temos P = (v5,v2,v1,v3,v2,v4,v5,v6,v3,v4,v6). Portanto h pelo menos uma seqncia P que possa produzir o resultado indicado no problema.

2.4. Problema 5: do Assassinato do Bilionrio Count Van Diamond. Descrio: O cenrio abaixo a residncia do bilionrio Count Van Diamond, que acaba de ser assassinado. Sherlock Gomes (um conhecido detetive que nas horas vagas um estudioso da teoria dos grafos) foi chamado para investigar o caso. O mordomo alega ter visto o jardineiro entrar na sala da piscina (lugar onde ocorreu o assassinato) e logo em seguida deixar aquela sala pela mesma porta que havia entrado. O jardineiro, contudo, afirma que ele no poderia ser a pessoa vista pelo mordomo, pois ele havia entrado na casa, passado por todas as portas uma nica vez e, em seguida, deixado a casa. Sherlock Gomes avaliou a planta da residncia (conforme figura abaixo) e em poucos minutos declarou solucionado o caso. Quem poderia ser o suspeito indicado por Sherlock Gomes? Qual o raciocnio utilizado pelo detetive para apontar o suspeito?

Soluo: Este problema pode ser modelado de modo que os compartimentos da casa correspondam ao conjunto dos vrtices V e que as portas conectando as salas entre si correspondam as arestas de um grafo G(V,E), tal que: V = {vi | vi corresponde ao compartimento da residncia i, com 0 < i 9, onde v0 indica o vrtice de partida no percurso a partir do lado de fora da residncia} E = {ej | ej corresponde a porta j que conecta pontos adjacentes, 1 < j 14} Na tcnica de grafos, este problema caracterizado como ciclo euleriano. Desse modo, a resoluo do problema consiste em identificar se o grafo G(V,E) corresponde (ou no) a um grafo euleriano. Um grafo dito euleriano caso o mesmo possua um ciclo euleriano, ou seja, neste grafo existe um ciclo tal qual pode-se percorrer todas as suas arestas univocamente. O teorema a seguir caracteriza um grafo como eulerianos: Teorema: Um grafo G(V,E) euleriano se e somente se G conexo e cada vrtice de G tem grau par. Desse modo, considerando a modelagem em grafos do problema indicada pela Figura 4, temos:

V = {v0,v1,v2,v3,v4,v5,v6,v7 ,v8,v9}, indicando o conjunto dos compartimentos da residncia; e, E = {e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14}, indicando o conjunto das portas interligando os compartimentos.

Considerando o grafo da Figura 4, temos: g(v2)=3; g(v6)=5; g(v5)=g(v7)=4; g(v0)=g(v1)=g(v3)=g(v4)=g(v8)=g(v9)=2;

Figura 4: Modelagem em forma de grafo. Observa-se que este grafo possui vrtices de grau mpar (v2 e v6). O grafo G(V,E) deste problema apesar de ser conexo, no possui todos os seus vrtices de grau par, no atendendo ao enunciado do teorema. Desse modo, este grafo no considerado um grafo euleriano, no havendo portanto a possibilidade de que se percorra todas as suas arestas de maneira univoca. Como o Sherlock Gomes deve ter concludo, o grafo no euleriano. Como no h uma maneira de se passar por todas as portas da residncia uma nica vez, o jardineiro mentiu acerca dos fatos e portanto deve ser considerado culpado pelo crime.

2.5. Problema 7: da pavimentao de estradas Descrio: Tertuliano Gonalves havia prometido casamento a Josefina das Graas. O evento deveria ser realizado, segundo ele, assim que acabasse o contrato de trabalho recm assinado com uma empresa encarregada de pavimentar toda a rede de estradas que ligava Santana do Caixa Prego (cidade onde morava Josefina) s cidades da regio. O trabalho iria comear em Santana e prosseguir em continuidade, estada aps estrada, terminando, segundo explicou Tertuliano, na prpria Santa. A rede de estradas poderia ser representada pela matriz de adjacncia que se segue, na qual a cidade de Santana

representada pelo nmero 1. * Voc que leu esta estria acha que Tertuliano estava sendo sincero com Josefina? Por qu? * E se o itinerrio 1-5-9-10 estivesse a cargo de outra empresa, estaria ele sendo sincero?

Soluo: Por meio da abordagem de grafos, este problema pode ser modelado segundo a representao do grafo conexo G(V,E), tal que: V = {vi | vi corresponde a cidades i, com 1 < i 10} E = {ej | ej corresponde estrada que conecta cidades adjacentes, 1 < j 22} Desse modo, considerando a modelagem em grafos do problema indicada pela Figura 5, temos: V = {v1,v2,v3,v4,v5,v6,v7 ,v8,v9,v10}; e, E = {e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,e21,e22}

Figura 5: Modelagem em forma de grafo.

Na tcnica de grafos, este problema caracterizado como ciclo euleriano. Desse modo, a resoluo do problema consiste em identificar se o grafo G(V,E) corresponde (ou no) a um grafo euleriano. Tal qual enunciado no problema 2.4., um grafo dito euleriano caso o mesmo possua um ciclo euleriano, ou seja, neste grafo existe um ciclo no qual pode-se percorrer todas as suas arestas univocamente. O teorema a seguir caracteriza um grafo como eulerianos: Teorema: Um grafo G(V,E) euleriano se e somente se G conexo e cada vrtice de G tem grau par. Desse modo, pode-se verificar que os vrtices do grafo do problema possuem os seguintes graus: g(v2) = g(v3) = g(v4) = g(v6) = g(v7 ) = 4; g(v8) = g(v10) = 5; g(v1) = g(v9) = 3; g(v5) = 8; Analisando os graus dos vrtices, nota-se que os vrtices de ndices 1, 8, 9 e 10 possuem grau mpar. Desse modo, o grafo indicado pela Figura 5 no corresponde a um grafo euleriano. Devido no ser possvel percorrer o grafo em um ciclo euleriano, podese concluir que Tertuliano no estava sendo sincero com Josefina. Considerando que uma outra empresa realize o itinerrio 1-5-9-10, permanecendo o restante para a empresa de Tertuliano, teramos a seguinte representao do grafo indicada pela Figura 6, com a remoo das arestas e4, e19 e e22. Observa-se que subgrafo remanescente ainda mantm vrtices de grau mpar g(v8) = 5 e g(v9) = 1. Como este subgrafo tambm no apresenta ciclo euleriano, no h uma percurso em G(V,E) que inicie e termine em v1 percorrendo todas as arestas, desse

modo, Tertuliano mesmo assim ainda no estaria sendo sincero com Josefina.

Figura 6: Modelagem em forma de grafo.

3. Concluso
Os problemas abordados neste trabalho e a utilizao das tcnicas de grafos como ferramenta de modelagem e soluo, demonstram a viabilidade da implementao da teoria de grafos como tcnica de computao de ampla utilizao em problemas reais e recorrentes no cotidiano. A abordagem por meio de grafos possibilita uma viso mais tcnica e matemtica do problema passvel de soluo.

4. Bibliografia Tamassia, Roberto. and Goodrich, Michael. Data Structures & Algorithms in Java- Fourth edition - John Wiley & Sons. Hubbard, John . Shaum's outlines: Data structures with Java - Second EditionMcGraw-Hill.