Você está na página 1de 7

Caminho de Euler

Alderley Arajo, Cludio Pablo, Carlos Santos, David Silva, Malu Mafra, Paulo Aranha.

Faculdade Pitgoras Bacharelado em Cincia da Computao - So Lus MA Brasil (makeleley_araujo,rsniper,claudiopablo,davidsilva.silva,malugabriele,ricardolionheart@hotmail.com ) Abstract: By having the ability to be represented abstractly and can suit most applications,graph is of paramount importance in Computer Science. Its concepts can be used from communications networks to electrical circuits. Euler is considered the precursory of graph theory to obtain the first result in this through their article publishedin 1736 where he studied the problem of seven bridges of Knigsberg and developed the theorem Eulerian Path. Keywords: theorem, way, eulerian, graph, bridge. Resumo: Por ter a capacidade de ser representado abstratamente e poder se ajustar s mais variadas aplicaes, Grafo de suma importncia em Cincia da Computao. Seus conceitos podem ser utilizados desde redes de comunicaes a circuitos eltricos. Euler considerado o precursor da Teoria dos Grafo por obter o primeiro resultado nesta atravs do seu artigo publicado em 1736 onde, estudou o problema das sete pontes de Knigsberg e desenvolveu o teorema do Caminho Euleriano. Palavras-Chave: teorema, caminho, euleriano, grafo, pontes.

1. Introduo
Este artigo tem como objetivo um aprofundamento na Teoria dos Grafos por meio do estudo do caminho euleriano, abordando conceitos bsicos sobre grafos para o entendimento de conceitos posteriores, teoremas do caminho de Euler e algoritmo de Fleury. Basicamente, ser explanado no primeiro captulo o que um grafo, e como este pode assumir vrias caractersticas formando ciclos, caminhos, circuitos. No segundo capitulo ser esclarecido o que caminho de Euler e como seus teoremas devem ser aplicados para se alcanar tal tipo. E por ltimo, no terceiro captulo ser falado um pouco sobre um algoritmo especial utilizado para encontrar um caminho euleriano.

2. Como tudo comeou


H exatos 275 anos, em uma cidade da Europa Oriental, Prssia (atual Rssia) chamada Knigsberg, surgiu uma questo sobre um rio muito famoso, o Rio Pregel ( rio que dividia a cidade) e suas sete pontes, como ilustrado na Figura 01 abaixo.

Figura 01 - fonte: http://www.mat.uc.pt/~alma/escolas/pontes/Konigsberg_colour.jpg

A grande questo seria se era possvel dar uma volta na cidade passando pelas sete pontes sem repetir nenhuma. A populao local no obteve xito nas suas tentativas, at que ento, o considerado maior matemtico do sculo XVIII, o suo Leonhard Paul Euler (1707-1783), (diz- se iler) que era residente da cidade e estava a par do problema, conseguiu resolver a questo. O matemtico desenvolveu um teorema que diz em que condies possvel percorrer cada linha exatamente uma vez e voltar ao ponto inicial e dessa forma, descartou a possibilidade de atravessar todas as pontes sem repeti-las. Graas ao seu artigo publicado em 1736, sobre esse problema das sete pontes de Knigsberg, pode-se obter o primeiro resultado da Teoria dos Grafos e por isso considerado o grande precursor dessa teoria. Euler teve tambm uma ampla gama de contribuies para a matemtica e fsica, incluindo a geometria, clculo e teoria dos nmeros e grafos. Admirado por sua genialidade, revolucionou a cincia escrevendo mais de 866 livros e artigos. A resoluo do tal problema das pontes, fez com que surgisse o Caminho de Euler.

3. Conceitos Bsicos sobre Grafos


Grafo : Entidade matemtica constituda por um conjunto de elementos chamados vrtices e por um conjunto de pares ordenados que denominamos por aresta. Grosseiramente falando, Grafo um conjunto de pontos (vrtices ou ns) conectados por linhas (arestas ou arcos). Se as arestas forem ordenadas dizemos que o grafo orientado ou digrafo, caso contrario dizemos que o grafo no orientado. Na Figura 02 a seguir, um grafo representado.

Figura 02 - fonte : http://w3.ualg.pt/~hshah/algoritmos/aula16/aula16.htm

Grafos possuem conceitos fundamentais, e alguns destes so: Vrtice cada ponto de um grafo; Aresta cada linha que liga os vrtices de um grafo; Aresta mltipla aquela que possui os mesmos vrtices como extremidade; Arcos so pares ordenados de vrtices; Lao uma aresta que conecta um vrtice a ele mesmo; Ordem de um grafo se refere cardinalidade do conjunto de vrtices, ou seja, o nmero de vrtices; Grau de um vrtice o nmero de arestas que lhe incidem; Grafo simples um grafo que no conte nem laos nem arestas mltiplas; Grafo orientado ou Digrafo aquele que possui somente uma direo definida; Grafo no orientado como o prprio sugere oposto ao orientado, ou seja no possui uma direo; Adjacncia: Dois vrtices so adjacentes se existe um arco (ou aresta que os une); Passeio, conhecido tambm com Walk uma sequencia de arcos (ou arestas);

Caminho um passeio em que todos os vrtices e todas as arestas so distintos; Circuito/ciclo um caminho que comea e termina exatamente no mesmo n. Sendo que, circuito aplica-se a caminhos orientados e o ciclo a caminhos no orientados; Grafo Conexo aquele em que entre qualquer par de vertices existe um caminho; Ponte qualquer arco (ou aresta) que, se removido, faz com que o grafo se torne no conexo; Na Figura 03 abaixo, temos um grafo euleriano no orientado,de ordem G (6), conexo e completo.

Figura 03 - fonte: http://www.mestreseo.com.br/seo/numero-de-cliques

4. Caminho de Euler e seus teoremas


Sabe-se que o conceito de Caminho Euleriano foi introduzido por Leonhard Euler para a resoluo do famoso problema das sete pontes de Knigsberg em 1736. Caminho de Euler um caminho em um grafo que visita cada aresta apenas uma vez. Em um caso especial, um Circuito Euleriano um caminho Euleriano que comea e termina no mesmo vrtice. Grafos que possuem um circuito/caminho de Euler so chamados Grafos Eulerianos. Uma das principais condies para um grafo ser deste tipo que o grafo deve ser conexo e todos os vrtices precisam ser de grau par. Sendo estas condies suficientes. O prdigo matemtico provou que uma condio necessria para a existncia de circuitos eulerianos de que todos os vrtices tenham grau par, e afirmou, sem prova de que grafos conexos com todos os vrtices pares tem um circuito Euleriano. No entanto 1873 um outro matemtico conhecido como Carl Hierholzer[1] publicou a primeira prova completa desta ltima afirmao.Abaixo na Figura 04, grafo famoso do Caminho de Euler,

Figura 04-fonte : http://pt.wikipedia.org/wiki/Ficheiro:Konigsburg_graph.png

O matemtico provou atravs do desenho que ele fez deste grafo que era impossvel atravessar todas as pontes sem repetir nenhuma, tendo em vista que o grafo no orientado, e cada vrtice possui grau mpar. Ou seja, no se enquadra em nenhuma regra para que o grafo pudesse possuir um caminho dito Euleriano.

Sendo estas condies suficientes. Euler provou que uma condio necessria para a existncia de circuitos eulerianos de que todos os vrtices tenham grau par, e afirmou, sem prova de que grafos conexos com todos os vrtices pares tem um circuito Euleriano. No entanto 1873 o matemtico Carl Hierholzer publicou a primeira prova completa desta ltima afirmao. Demonstrao: Ocorre que para existir um caminho deste tipo, todos os vrtices devem ser par. Assim, quando se chegar a um vrtice, ter uma alternativa para sair. O que bem bvio. H, ainda, grafos com caminhos Eulerianos se houver 2 (dois) vrtices de grau mpar. Nesse caso, ao se acrescentar uma aresta ligando estes dois vrtices, o novo grafo passa a ser Euleriano. Pode-se assim enunciar o caminho de Euler para Grafos tambm com os seguintes teoremas: Teorema 01 : Um grafo conexo possui caminho Euleriano se e somente se ele tem exatamente zero ou dois vrtices de grau impar.

Teorema 02: Um caminho Euleriano percorre cada aresta uma vez, sem a necessidade de voltar ao ponto de partida.

Teorema 03: Um grafo no-orientado Euleriano se no tiver nenhum vrtice de grau mpar.

Teorema 04: Um grafo orientado Euleriano se todos os vrtices tiverem grau de entrada igual ao seu grau de sada.

Teorema 05: Um grafo semi-Euleriano (que permite um caminho Euleriano) possui exatamente dois vrtices de grau mpar, um o ponto de partida e outro o ponto de chegada.

Deve-se evitar confundir caminho Euleriano com caminho Hamiltoniano, por que embora paream semelhantes e haja muita confuso acerca dos dois, existe uma grande diferena. Na Figura 05 abaixo, demonstrado um Caminho Hamiltoniano. E fazendo uma diferenciao bem clara, Caminho de Euler aquele que visista cada aresta apenas uma vez e Caminho de Hamilton aquele que visita cada vrtice apenas uma vez.

Figura 05 - fonte: http://pt.wikipedia.org/wiki/Ficheiro:Hamilton_path.svg

5. Algoritmos de Fleury
Para a construo ou identificao de um circuito/caminho euleriano em um grafo existe o algoritmo de Fleury. Ele props um algoritmo para encontrar este circuito.

O algoritmo de Fleury trabalha percorrendo o grafo, eliminando as arestas j percorridas, sendo que nesse procedimento preciso cuidar para que nenhuma retirada crie dois grafos desconexos. Basicamente seguindo os passos a seguir: Verificar se o grafo em questo conexo e se todos os seus vrtices so de grau par; comear em um vrtice qualquer; percorrer uma aresta se: o o esta no for uma ponte para a parte no atravessada do grafo; no existir outra alternativa;

assinalar as arestas conforme a ordem em que forem percorridas; quando no for possivel continuar, parar, terminar o circuito;

Exemplo do algoritmo de Fleury: funo Fleury(G = (V,E): grafo) : caminho

G' := G

{ G' = (V', E')}

v0 := um vrtice de G' C := [v0] {Inicialmente, o circuito contm s v0} Enquanto E' no vazio vi := ltimo vrtice de C Se vi tem s uma aresta incidente; ai := a aresta incidente a vi em G' Seno ai := uma aresta incidente a vi em G' e que no uma ponte Retirar a aresta ai do grafo G' Acrescentar ai no final de C vj := vrtice ligado a vi por ai Acrescentar vj no final de C Retornar C

Para entender melhor considere a Figura 06 abaixo:

Figura 06 fonte:http://www.coladaweb.com/informatica/np-completo-e-algoritmo-de-fleury

Comeando partir do vrtice 6, escolhe-se uma das arestas h, d, e ou i, supondo que a escolhida fosse a d, ele incide no vrtice 2, onde obrigatoriamente deve-se seguir pela ponte que incide no vrtice 5. Nesse momento, pode-se escolher entre b, g ou h, o ltimo descartado por ser uma ponte. Ento sobram somente b e g, supondo que b escolhido, chegar ao vrtice 1. Nas trs prximas etapas, no h escolha, e retornar ao vrtice 6. Baseando-se nesse conceito, pode-se resolver facilmente o problema das pontes de Knigsberg, tendo que analisar se grafo utilizado para representar o problema um grafo euleriano. Mas como nem todos os vrtices desse grafo possuem grau par, ele no um grafo euleriano. Logo, no possvel atravessar todas as pontes uma vez s e voltar ao lugar da partida.

6.

Concluso

Neste trabalho cientfico foi abordado um pouco da histria de Grafos e como tudo comeou, com um foco especial em Caminho de Euler. Caminho este, que proporcionou s cincias exatas uma descoberta surpreendente que vem sendo aperfeioada todos dias de forma a se querer alcanar o timo em relao esta estrutura de dados. De forma clara e coerente, o objetivo era abordar o assunto e explan-lo de uma forma que at pessoas leigas no assunto, e que nunca tiveram contato com o tema, se tivessem a oportunidade de ler este trabalho no iriam ter muita dificuldade em assimilar o contedo e tirar concluses cerca da qualidade deste artigo. Buscou-se referncias variadas e, a partir da compreenso e aglutinao das idias contidas em cada texto de apoio utilizado,tendo em vista enriquecer este trabalho de tal forma que este pudesse vir a sanar qualquer dvida a cerca deste assunto. Foi feito tambm um ligeiro esclarecimento sobre a diferena entre Caminho de Euler e Caminho Hamiltoniano, para que no houvesse confuso a cerca dos dois assuntos. E por fim, o que foi aprendido efetuando as devidas pesquisas e colocando neste trabalho vai servir obviamente como bagagem terica para futuros procedimentos utilizando o que foi assimilado.

Referncias [1] C. Hierholzer: Ueber Kegelschnitte im Raume. (Habilitao em Karlsruhe.) Mathematische Annalen II (1870), 564586

Elisson Oliveira Lima - http://www.coladaweb.com/informatica/np-completo-e-algoritmo-de-fleury - Data de acesso: 27/09/11

http://www.dcce.ibilce.unesp.br/~aleardo/cursos/ed/grafos3.pdf - Data de acesso: 27/09/11

Graa Pimentel e Maria Cristina - http://www.icmc.usp.br/manuals/sce183/grafos.html - Data de acesso: 27/09/11

Antonio Carlos Mariani - http://www.inf.ufsc.br/grafos/definicoes/definicao.html - Data de acesso: 27/09/11

Antonio Carlos Mariani - http://www.inf.ufsc.br/grafos/problema/pontes/grafos.html - Data de acesso: 27/09/11

Adrito Arajo - ww.mat.uc.pt/~alma/escolas/pontes/ - Data de acesso: 27/09/11

Figura 01 - http://www.mat.uc.pt/~alma/escolas/pontes/Konigsberg_colour.jpg - Data de acesso: 27/09/2011

Figura 02 - http://w3.ualg.pt/~hshah/algoritmos/aula16/aula16.htm - Data de acesso: 27/09/2011

Figura 03 - http://www.mestreseo.com.br/seo/numero-de-cliques - Data de acesso: 27/09/2011

Figura 04 - http://pt.wikipedia.org/wiki/Ficheiro:Konigsburg_graph.png - Data de acesso: 27/09/2011

Figura 05 - http://pt.wikipedia.org/wiki/Ficheiro:Hamilton_path.svg - Data de acesso: 27/09/2011 Figura 06 http://www.coladaweb.com/informatica/np-completo-e-algoritmo-de-fleury - Data de acesso: 27/09/2011