• Nenhum resultado encontrado

Mapeamento de Rotas Turísticas Inerentes a Analise da Complexidade de Algoritmos

N/A
N/A
Protected

Academic year: 2021

Share "Mapeamento de Rotas Turísticas Inerentes a Analise da Complexidade de Algoritmos"

Copied!
5
0
0

Texto

(1)

Mapeamento de Rotas Turísticas Inerentes a Analise da

Complexidade de Algoritmos

Ferraz Augusto Diogo Manuel1, Daniel Hahn da Silveira1, Sidney Roberto da Silva Webba1, Priscyla Waleska Targino de Azevedo Simões2, Paulo João

Martins2, Kristian Madeira2

¹Acadêmico do Curso de Ciência da Computação - Departamento de Ciência da

Computação - Universidade do Extremo Sul Catarinense (UNESC) – Criciúma / SC

²Professor(a) do Curso de Ciência da Computação - Departamento de Ciência da

Computação - Universidade do Extremo Sul Catarinense (UNESC) – Criciúma / SC

{ferraz_manuel, danielhahn8, sidney_webba }@hotmail.com, { pri, pjm, kma }@unesc.net

Resumo. Esta pesquisa abrange o trabalho apresentado pelas disciplinas de

Teoria de Grafos, Análise de Algoritmos e Estrutura de Dados II, na 4°fase do Curso de Ciência da Computação da Universidade do Extremo Sul Catarinense. Assim, este artigo busca descrever o desenvolvimento de um sistema de gerenciamento de rotas para pontos turisticos a partir de conceitos de algoritmos associativos da biblioteca padrão do C++, e do algoritmo de Warshall utilizado para representação da acessibilidade das rotas inerentes ao problema, além da analise da eficiencia dos algoritmos utilizados. As principais classes utilizadas foram Cliente e Destino, a primeira permitindo cadastrar os turistas e a segunda, os pontos turísticos devidamente especificados. O aplicativo foi desenvolvido na linguagem C++, no ambiente Dev C++. Pode-se concluir que os objetivos foram alcançados e que os conceitos interdisciplinares puderam ser correlacionados.

Palavras chaves: Estrutura de Dados, Teoria dos Grafos, Algoritmo de Warshall, Container Map, Análise e Eficiência de Algoritmos, Rotas Turisticas.

1. Introdução

O problema apresentado indica como escolher uma rota entre os municípios da cidade de Luanda localizada em Angola, e para a sua resolução é utilizado o algoritmo de Warshall, para determinação da acessibilidade entre os pontos turísticos, e o container Map para representação associativa das informações. Os conceitos pesquisados no desenvolvimento do artigo foram: estrutura de dados (ED), containeres da biblioteca padrão de gabaritos (STL), teoria dos grafos, algoritmo de Warshall, linguagem C++, e análise e complexidade de algoritmos. Considerando estes conceitos este artigo tem como objetivo desenvolver um aplicativo de gerenciamento turístico a partir de conceitos supracitados.

(2)

1.1. Estruturas de Dados

O estudo das ED é um componente fundamental no aprendizado da ciência da computação, sobre o qual muitos outros campos da ciência são construídos.

Segundo Lopes (1997), as estruturas e os algoritmos representam a base a partir da qual a tecnologia de software é desenvolvida. O uso de algoritmos eficientes depende muito do emprego de ED adequadas.

Segundo Drozdek (2008), na linguagem C++ um container é uma ED que contém alguns objetos que usualmente são do mesmo tipo. Considera-se que tipos diferentes de containeres organizam os objetos dentro deles de maneira diferente, formando blocos de construção fundamentais da Standard Template Library (STL). Dentre os containeres, os associativos são representados por bases de dados relativamente simples, que armazenam dados, como estruturas (structs), classes, entre outros, e cada item de dado possui um valor associado conhecido como sua chave.

O container Map é uma classe que pertence aos containers associativos da STL. Conforme descrito por Gooddrich (2004) um objeto Map armazena seus elementos em ordem por meio dos seus valores de chave. Pode-se especificar a ordem das chaves como um 3° parâmetro, e se não for especificada uma ordem-padrão é utilizada somente crescente. O container map aumenta a eficiência na recuperação de informações quando comparado a outros algoritmos, reduzindo o tempo de resposta. O seu tempo de execução O(log n).

1.2. Teoria dos Grafos e Algoritmo de Warshall

Um grafo é uma estrutura G = (V,E) onde V é um conjunto discreto e E uma família cujos elementos (não vazios) são definidos em função dos elementos de V. Informalmente grafo representa um conjunto não vazio de nós (vértices) e um conjunto de arcos (arestas) tais que cada arco conecta dois nós.

Citando Gersting (2004, pg 339), "Para um grafo G com n nós, o algoritmo de Warshall calcula uma seqüência de n+1 matrizes M0, M1, M2, M3... Mn. Para cada K, 0<=k<=n, Mk[i,j] = 1 se, e somente se, existe caminho em G de ni para nj cujos nós interiores (isso é, nós que não são extremidades do caminho) pertencem apenas ao conjunto de nós {n1, n2,..., nk}, semelhante a álgebra de boole".

A álgebra de Boole pode ser vista como um conjunto B no qual estão definidas duas operações binárias, e uma formalização que generaliza, ou modela os casos considerados.

As matrizes booleanas são matrizes que têm apenas elementos iguais a 0 ou 1. Assim, pode-se definir uma operação booleana de multiplicação A×B para matrizes usando multiplicação e soma booleanas, ao contrario de multiplicação e adição usuais.

Multiplicação booleana : x^y = min(x,y) Adição booleana: x v y = max(x,y) Figura 1.

Para executar o algoritmo de Warshall é necessário um trabalho total de O(n3), medido pelo número de operações boleanas E/OU realizadas.

(3)

2. Estudo de Caso

O presente estudo de caso apresenta uma implementação voltada ao estudo da acessibilidade entre bairros, tendo como critério o comprimento do caminho de acesso ao bairro selecionado. Os clientes são os turistas que buscam visitar alguns locais da referida cidade, e têm como opção de escolha pontos turísticos localizados em 9 bairros diferentes da cidade de Luanda (Figura 2). A partir da multiplicação boolena de matrizes e do algoritmo de Warshall é determinada a rota de acesso ao bairro cujo ponto turístico deva ser visitado.

Figura 2. Mapa dos Municípios da Cidade de Luanda As classes definidas são apresentadas no diagrama ilustrado na figura 3.

Figura 3. Diagrama UML das principais classes usadas na implementação

2.1. Implementação do Aplicativo

Inicialmente o aplicativo foi desenvolvido na linguagem de programação C++ mas em diferentes ambientes e sistemas operacionais, onde cada membro da equipe

(4)

utilizou um ambiente e sistema operacional distinto: NetBeans com o uso dos sistemas operacionais MacOSX e Linux; CodeBlocks com o uso do sistema operacional Windows Vista, e Dev C++ com o uso do sistema operacional Windows Xp. Ao final padronizou-se todos os códigos no ambiente Dev C++ e sistema operacional a fim de facilitar o gerenciamento de recursos gráficos na interface.

Foi utilizado o algoritmo Warshall para a criação da matriz de acessibilidade dos bairros, e a multiplicação de matrizes booleanas para criação das matrizes de comprimento n, onde o valor de n é informado pelo o usuário. O sistema fornece inserção, remoção, alteração e consulta de cadastros bem como a criação de relatórios diários (Figura 4).

Figura 4. Imagem das telas do Programa

3. Conclusão

Pode-se concluir que o objetivo foi alcançado, com o desenvolvimento de um aplicativo voltado ao gerenciamento de rotas turísticas baseado nos conceitos apresentados nas disciplinas de Estrutura de Dados II, Teoria dos Grafos e Análise de Algoritmos, durante o primeiro semestre de 2008. Considera-se que os conceitos puderam ser aplicados e inter-relacionados ressaltando a aplicabilidade dos conceitos das disciplinas acima para a resolução do problema.

Referencias

Drozdek, A. (2008) "Estrutura de Dados e Algoritmos em C++". 1 ed. São Paulo: Cengage Learning.

Netto, P. O. B. (2006) "Grafos: Teoria, Modelo e Algoritmos". 4 ed. São Paulo: Edgard Blucher.

Gersting, J. L.. (2004) "Fundamentos Matemáticos para Ciência da Computação". 5 ed. Rio de Janeiro. LTC-Livros Tecnicos e Cientificos S.A..

Gooddrich, M. T.. (2004) "Projeto de Algoritmos". 1 ed. São Paulo. Bookman.

Lopes, A. V. (1999) "Estrutura de Dados para Construção de Software". 1 ed. Rio Grande do Sul. Ulbra.

(5)

Referências

Documentos relacionados

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

forficata recém-colhidas foram tratadas com escarificação mecânica, imersão em ácido sulfúrico concentrado durante 5 e 10 minutos, sementes armazenadas na geladeira (3 ± 1

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Agulha muito fina (platina-ródio ou tungstênio) varre superfície de um condutor, com corrente determinada por tunelamento passando da agulha para a superfície.  Corrente

Somente na classe Aberta Jr e Sr, nas modalidades de Apartação, Rédeas e Working Cow Horse, que será na mesma passada dessas categorias e os resultados serão separados. O

Este estudo tem como objetivos identificar os níveis de trauma manifestados e de estratégias de coping utilizadas pelos TEPH; caracterizar os incidentes mais

Objeto: Pregão Eletrônico - Re- gistro de Preços para a eventual aquisição de materiais de audiovisual e tecnologia da informação para atender ao Campus Blumenau da