Coordenacao GeralMirkos Ortiz MartinsComissao OrganizadoraAlessandro Andre Mainardi de OliveiraAlexandre de Oliveira ZamberlanAna Paula CanalGustavo CantarelliHenrique Gabriel Gularte PereiraLuciano Azevedo CassolMirkos Ortiz MartinsTiago Rios da RochaSimone Regina CeolinSylvio VieiraComissao AvaliadoraAdriana Pereira - Universidade Federal de Santa MariaAlexandre Ribeiro - Universidade de Caxias do SulALexandre Zanatta - Universidade de Passo FundoAndre Adami - Universidade de Caxias do SulAndre Du Bois - Universidade Federal de PelotasAndre Martinotto - Universidade de Caxias do SulCarine Webber - Universidade de Caxias do SulCarlos Holbig - Universidade de Passo FundoCristian Koliver - Universidade de Caxias do SulDeise Saccol - Universidade Federal de Santa MariaEduardo Kroth - Universidade de Santa CruzEduardo Piveta - Universidade Federal de Santa MariaElisa Boff - Universidade de Caxias do SulEugenio Simonetto - Universidade Federal de Santa MariaFernando Osorio - Universidade de Sao PauloGiliane Bernardi - Universidade Federal de Santa MariaGiovani Rubert Librelotto - Universidade Federal de Santa MariaGuilherme Dhein - Universidade Federal de Santa MariaIara Augustin - Universidade Federal de Santa MariaJoao Luis Tavares da Silva - Universidade de Caxias do SulJoao Ricardo Bittencourt - Universidade do Vale do Rio dos SinosJuliana Vizzotto - Universidade Federal de Santa MariaJuliano Tonezer da Silva - Universidade de Passo FundoLeandro Wives - Universidade Federal do Rio Grande do SulLisandra Fontoura - Universidade Federal de Santa MariaLucio Duarte - Universidade Federal do Rio Grande do SulMarco Castro Barbosa - Universidade Tecnologica Federal do ParanaMarta Bez - Universidade FeevaleOsmar Marchi dos Santos - Universidade Federal de Santa MariaRenata Galante - Universidade Federal do Rio Grande do SulRoberto Zanoni - Faculdade de Tecnologia SenacRodrigo Goulart - Universidade FeevaleRogerio Turchetti - Universidade Federal de Santa MariaWalter Priesnitz Filho - Universidade Federal de Santa Maria
Visualizacao de Fluxo de Redes Atraves de Mashups
Fabio Diniz Rossi1, Rosana Wagner1, Sergio da Costa Nunes1
1 Instituto Federal FarroupilhaCampus Alegrete
RS 377 – KM 27 – Alegrete – RS – Brasil
(fdrossi, rosanawagner, sergio)@al.iffarroupilha.eu.br
Abstract. Mashups are applications developed to integrate available resourcesand information on the Internet, with a high-level of cooperation, reuse andfocus on the end user. This paper shows the use of mashups in the flow networksvisualization in an academic environment, enabling the monitoring of relevantinformation about network flow and availability.
Resumo. Mashups sao aplicacoes desenvolvidas para integrar recursos einformacoes disponıveis na internet, com alto grau de cooperacao, reuso e focono usuario final. Este artigo descreve a utilizacao de mashups na visualizacaode fluxo de redes em um ambiente academico, voltado ao monitoramento deinformacoes importantes como fluxo da rede e disponibilidade.
1. IntroducaoA visualizacao de informacoes de redes de computadores e de grande importancia,pois possibilita acompanhamento em tempo de execucao do fluxo de informacoes epermite uma administracao pro-ativa sobre possıveis falhas que venham a ocorrer nacomunicacao. Diversos protocolos e tecnologias podem ser implementadas, desde APIs(Application Programming Interface) de baixo nıvel como o SNMP (Simple Network Ma-nagement Protocol) [Miller 1993] ate protocolos mais modernos como o WBEM (Web-Based Enterprise Management) [Martin-Flatin 2001] que utiliza webservices para provergerenciamento remoto aos nos da rede.
Com a evolucao de alguns modelos de desenvolvimento de aplicacoes surgiramas aplicacoes em tres camadas [Akingbehin and Maxim 2006], separando a camada deapresentacao ao usuario, webservices e a camada de dados. Esse novo modelo estafortemente ligado as tecnologias da Web 2.0. A segunda geracao das aplicacoes web(Web 2.0) [Andriole 2010] e caracterizada pelo foco na colaboracao e interacao entreessas aplicacoes e os usuarios. Com essa mudanca de paradigma, a web passa a seruma plataforma de servicos, focada na participacao, escalavel, coletiva e com variosdados distribuıdos, interligados por uma mesma aplicacao. Dentre as varias aplicacoesque tiram proveito deste novo paradigma, temos os mashups, que consistem em sistemasdinamicos, capazes de agregar conteudo, combina-los com outros dados em outras fontesde informacao e apresenta-los de forma organizada.
Neste artigo, apresentamos o SVR - Sistema de Visualizacao de Rede desenvol-vido atraves de mashup, que possibilita o acompanhamento de informacoes sobre o fluxoda rede de computadores dos diversos Campi integrantes de uma instituicao de ensino. Oartigo esta organizado da seguinte forma: inicalmente mostramos um referencial teorico
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
1
sobre a Web 2.0, suas caracterısticas e servicos mais comuns; em segundo momentosao apresentados alguns trabalhos relacionados; em uma proxima secao mostramos aimplementacao do SVR; e finalizando, alguns trabalhos futuros e nossas conclusoes.
2. Web 2.0 e Mashups
O modelo de negocios da internet dos anos 90 era baseado na praticidade, onde empre-sas ofereciam seus servicos (empresas .com) e consequentemente, os usuarios pagavamesses servicos e os utilizavam atraves de sites na internet. O custo destas empresas eramuito baixo, pois nao mantinham despesas com alugueis e/ou funcionarios. Isso atraiugrandes investimentos para essas empresas, seu modelo de negocios era mantido pelocapital de risco que objetivava a geracao de alguma vantagem competitiva que gerasse lu-cros compensatorios no futuro. O colapso dessas empresas desacreditou a internet comoplataforma de negocio ate o surgimento de um novo paradigma: a Web 2.0.
Web 2.0 [Andriole 2010] e o termo geralmente utilizado para definir a segundageracao da internet, que vem possiblitar uma maior interatividade, pautada pela geracaode conteudos pelos usuarios e pela personalizacao dos servicos, proporcionando um maiorfoco no usuario final. Existem um grande numero de servicos que comprovam esse novoparagidma, como blogs, wikis, bookmarking, podcasting, audio, mashups e RSS, quesao possıveis atraves de tecnologias como Ajax, SOAP e varias outras APIs disponıveis[Eichorn 2006]. Dentre os servicos listados como integrantes da Web 2. 0 temos o mashup[Tsai et al. 2009], que consiste em uma aplicacao que combina dados, apresentacao oufuncionalidades, integrando informacoes de varias fontes para criar um novo servico. Aarquitetura dos mashups sao compostas por 3 camadas: camada de apresentacao; camadade webservices; e camada de dados.
Podemos acompanhar essa arquitetura na Figura 1, que apresenta as camadas ci-tadas acima, com algumas tecnologias citadas nos artigos correspondentes. Vemos a ca-mada de apresentacao, que possiblitita de forma amigavel ao usuario, visualizacao dosdados da aplicacao. Na camada intermediaria, webservices, podemos acompanhar as tec-nologias que servem para busca e integracao dos dados da camada abaixo (camada dedados) e que disponibilizam esses dados a camada superior (camada de apresentacao).A camada de mais baixo nıvel (camada de dados) mostra as tecnologias que mantem asinformacoes armazenadas distribuıdas, que sao integradas pela camada intermediaria.
Figura 1. Modelo 3 camadas
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
2
3. Trabalhos Relacionados
Atualmente, com as possibilidades que a Web 2.0 traz, mashups estao sendo utilizadosnas mais diversas aplicacoes, provendo novas funcionalidades ao usuario. Nos ultimosanos, tecnicas de tagging ganharam impulso como uma abordagem orientada ao usuario,para a classificacao e indexacao de conteudo na web. E uma maneira eficaz nao so deguardar paginas favoritas, mas tambem dividir seu conhecimento com outros. Portanto,para cada endereco visitado e atribuıdo um marcador, e esse marcador pode ser buscadopor outros usuarios, e assim por diante. Mashups aderiram a lista de recursos direcionadosa web social, expandindo as possibilidade de minerar dados e exibi-los com a utilizacaode tagging [Goarany et al. 2010].
Na educacao, mashups apresentam-se como opcao ao desenvolvimento de com-petencias pessoais ambientes de aprendizagem. A criacao de mashups de forma ad hocpara usuarios finais tornou-se tarefa facil, mesmo com pouco ou nenhum conhecimentode programacao. Varias ferramentas e plataformas foram desenvolvidas na tentativade apoiar a criacao de mashups. Essas plataformas, no entanto, ainda sao considera-dos complexas e ainda apresentam limitacoes como escalabilidade, a interoperabilidade,reutilizacao, invocacao de servicos automaticos e mediacao [Chatti et al. 2011].
Aplicacoes de mashups na area de telecomunicacoes sao descritas em alguns tra-balhos como em [Jie et al. 2009] [Banerjee and Dasgupta 2008], apresentando um mo-delo de sistemas em camadas e alguns prototipos de prova de conceito, com a utilizacaode webservices. Em especıfico na area de redes de computadores, temos exemplosde mashups para gerencia de qualidade de servico em redes moveis [Xu et al. 2009] eseguranca [Magazinius et al. 2010]. Este trabalho torna-se complementar aos anteriores,pois utiliza o mashup como ferramenta de agregacao e apresentacao de informacoes rele-vantes para a gerencia de redes de acesso a internet que sao distribuıdas, mas devem tercontrole centralizado.
4. SVR
O SVR foi desenvolvido utilizando-se o GME (Google Mashup Editor) [Loton 2008],que consiste em uma arquitetura Ajax, com um conjunto de ferramentas e aplicativosweb, bem como servicos do proprio Google como o Google Maps [Dunnavant 2010]. Emsua implementacao, o SVR incorporou ao Google Maps a marcacao de todas as cidadesque mantem um Campus desta instituicao de ensino (podemos acompanhar na Figura 2).
Esta instituicao de ensino e composta por 1 reitoria e 7 campi. Quando clica-se sobre uma das cidades marcadas no mashup, e apresentada ao usuario uma nova telaque permite a escolha de quais os relatorios podem ser visualizados. O SVR atualmentemonitora as seguintes metricas de sistema: trafego de rede, trafego de internet, carga deCPU, trafego de e-mail, uso da memoria, uso do disco. A tela de escolha destas metricaspode ser visualizada na Figura 3.
Em cada Campus, o acesso a internet e controlado por um servidor (gateway) derede. Em cada servidor destes, foi configurado o servidor web Apache [Foundation 2010],responsavel por manter paginas a internet. Atraves deste servico foram disponibilizadosgraficos de analise realizados pelo MRTG (Multi Router Traffic Grapher) [Oetiker 1998].O MRTG e uma ferramenta que serve para monitorar a carga de trafego em links de rede,
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
3
Figura 2. Mashup da Instituicao de Ensino
Figura 3. Tela de Escolha de Relatorio
com intervalo de atualizacao de 5 minutos. O MRTG e a ferramenta responsavel por ge-rar graficos sobre varios recursos de sistema, buscando informacoes do sistema atraves deSNMP ou scripts externos. O GME permite a incorporacao desses graficos ao mapa doSVR, e permite quando necessario e em tempo real, verificar as informacoes fornecidaspor cada campus independentemente. Um exemplo dessas informacoes carregadas remo-tamentee mostrado na Figura 4, e apresenta a exibicao de todas as metricas disponıveisna versao atual do SVR.
Figura 4. Apresentacao dos Relatorios
Esses recursos monitorados, permitem ao administrador ter pleno conhecimentoda utilizacao dos servidores, da rede e internet de todos os campi, com informacoes
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
4
atualizadas, que permitem acoes pro-ativas no que tange a manutencao dos servicos.A utilizacao de mashups torna o SVR uma solucao escalavel, pois permite facilmenteintegracao de novos dados, das mesmas ou de novas fontes de informacao distribuıdasna internet. Essa gestao de informacao em grandes volumes de dados multimıdia dis-tribuıdos que e possibilitada pelos mashups vem ao encontro de um dos grandes desafiosda computacao no Brasil 2006-2016 [Medeiros 2008], que consiste justamente em inte-grar milhares de informacoes distribuıdas, tratando-a de forma a compilar e exibir essainformacao como um servico.
5. Trabalhos Futuros e ConclusoesA gerencia em redes de computadores e uma tarefa complexa devido, em maior parte,ao crescimento acelerado destas, tanto em desempenho quanto em servicos. Alem disso,os sistemas de telecomunicacoes adicionam complexidade a estas redes atraves de ambi-entes heterogeneos. Este conjunto de componentes deve ser gerenciado para que falhasna comunicacao nao venham a acontecer. Varios mecanismos de gerencia de redes decomputadores sao estudados, e com o surgimento de novas tecnologias, novas aplicacoespodem ser desenvolvidas para esse fim.
Com o advindo da Web 2.0, atualmente e possıvel integrar servicos distribuıdos deforma dinamica e transparente ao usuario. Dentre os servicos que caracterizam esse novoparadigma temos os mashups. No desenvolvimento web, mashups sao aplicativos que seutilizam da integracao de dados de diversas fontes para criar e apresentar novos servicos.Para manter permanente acesso a dados de outros servicos, sao aplicacoes geralmentehospedadas online que buscam informacoes em recursos compartilhados, atraves de APIsde programacao.
Este trabalho utilizou mashups para integrar informacoes de um ambiente de rededistribuıdo, centralizando essa informacao e apresentando-a em tempo real. O prototipofoi implementado na rede que interliga os diversos campi da instituicao de ensino, propor-cionando a visualizacao propostas. Essa fase do desenvolvimento foi concluıda com exito,sendo que o SVR encontra-se disponıvel e escalavel, proporcionando a visualizacao dasinformacoes de fluxo da rede e carga dos servidores. Essas informacoes sao importantes,tanto para administracao do ambiente, quanto para polıtica institucional de atualizacaode hardware/software, podendo ser acompanhadas informacoes sobre possıveis falhas decomunicacao ou obsolescencia dos servidores que servem como gateways dos campi.Como trabalhos futuros serao realizadas algumas adequacoes no SVR, como por exem-plo, filtrar relatorios da mesma metrica em diferentes campi.
ReferenciasAkingbehin, K. and Maxim, B. (2006). A three-layer model for software engineering
metrics. In Proceedings of the Seventh ACIS International Conference on SoftwareEngineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing,pages 17–20, Washington, DC, USA. IEEE Computer Society.
Andriole, S. J. (2010). Business impact of web 2.0 technologies. Commun. ACM, 53:67–79.
Banerjee, N. and Dasgupta, K. (2008). Telecom mashups: enabling web 2.0 for telecomservices. In Proceedings of the 2nd international conference on Ubiquitous informa-
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
5
tion management and communication, ICUIMC ’08, pages 146–150, New York, NY,USA. ACM.
Chatti, M. A., Jarke, M., Specht, M., Schroeder, U., and Dahl, D. (2011). Model-drivenmashup personal learning environments. Int. J. Technol. Enhanc. Learn., 3:21–39.
Dunnavant, S. (2010). Create interactive web illustrations with google maps. In Procee-dings of the 38th annual fall conference on SIGUCCS, SIGUCCS ’10, pages 267–268,New York, NY, USA. ACM.
Eichorn, J. (2006). Understanding AJAX: Using JavaScript to Create Rich Internet Ap-plications. Prentice Hall PTR, Upper Saddle River, NJ, USA.
Foundation, A. S. (2010). Apache HTTP Server Reference Manual - for Apache version2.2.17. Network Theory Ltd.
Goarany, K., Kulczycki, G., and Blake, M. B. (2010). Mining social tags to predictmashup patterns. In Proceedings of the 2nd international workshop on Search andmining user-generated contents, SMUC ’10, pages 71–78, New York, NY, USA. ACM.
Jie, G., Bo, C., Junliang, C., and Xiangtao, L. (2009). Applying recommender systembased mashup to web-telecom hybrid service creation. In Proceedings of the 28thIEEE conference on Global telecommunications, GLOBECOM’09, pages 3321–3325,Piscataway, NJ, USA. IEEE Press.
Loton, T. (2008). Creating Google Mashups with the Google Mashup Editor. LotontechLimited.
Magazinius, J., Askarov, A., and Sabelfeld, A. (2010). A lattice-based approach tomashup security. In Proceedings of the 5th ACM Symposium on Information, Com-puter and Communications Security, ASIACCS ’10, pages 15–23, New York, NY,USA. ACM.
Martin-Flatin, J.-P. (2001). Toward universal information models in enterprise mana-gement. In Proceedings of the VLDB 2001 International Workshop on Databases inTelecommunications II, DBTel ’01, pages 167–178, London, UK. Springer-Verlag.
Medeiros, C. B. (2008). Grand research challenges in computer science in brazil. Com-puter, 41:59–65.
Miller, M. A. (1993). Managing internetworks with SNMP: the definitive guide to theSimple Network Management Protocol (SNMP) and SNMP version 2. M & T Books,New York, NY, USA.
Oetiker, T. (1998). Mrtg - the multi router traffic grapher. In Proceedings of the 12thUSENIX conference on System administration, pages 141–148, Berkeley, CA, USA.USENIX Association.
Tsai, C.-C., Lee, C.-J., and Tang, S.-M. (2009). The web 2.0 movement: mashups drivenand web services. W. Trans. on Comp., 8:1235–1244.
Xu, H., Song, M., and Luo, X. (2009). A qos-oriented management framework for recon-figurable mobile mashup services. In Proceedings of the 11th international conferenceon Advanced Communication Technology - Volume 3, ICACT’09, pages 2001–2005,Piscataway, NJ, USA. IEEE Press.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
6
Verificação de Autoria de Manuscritos usando Dimensões
Fractais e SVM
Jean F. Felsky1, Edson J. R. Justino
1, Jacques Facon
1, Luiz E. S. Oliveira
2
1Programa de Pós-Graduação em Informática – Pontifícia Universidade Católica do
Paraná (PUC-PR)
Rua Imaculada Conceição, 1155 – 80.215-901 – Curitiba – PR – Brazil
2Departamento de Informática – Universidade Federal do Paraná (UFPR)
Curitiba, PR – Brazil [email protected], {justino,facon}@ppgia.pucpr.br,
Abstract. In this paper we purpose a protocol based on the estimation of the
fractal dimension to verify the authorship of manuscripts. We use three
methods for computing it: one is the box-counting method and the others are
based on morphological decomposition. We compare the results of these three
methods between themselves and also compare the results of the fractal
dimension to the results obtained by the same protocol based on the compute
of co-occurrence matrix. For this purpose, we used two different databases for
the testing and comparing results.
Resumo. Neste artigo apresentamos um protocolo baseado no cálculo da
dimensão fractal para verificar a autoria de manuscritos. Usamos três
métodos para tal: o método da contagem de cubos e dois outros baseados na
decomposição morfológica. Nós comparamos os resultados destes três
métodos entre eles e também com os resultados obtidos pelo mesmo protocolo
usando o cálculo da matriz de co-ocorrência. Para tal, usamos duas bases de
cartas manuscritas diferentes.
1. Introdução
A verificação da autoria de manuscritos é um dos desafios enfrentado pelos peritos
forense e é uma atividade relacionada à análise de documentos questionados conhecida
como grafoscopia, onde o objetivo é determinar se o documento questionado foi
produzido por um escritor em particular.
A proposta deste trabalho é apresentar um método para verificação da autoria de
textos manuscritos, através do uso de uma abordagem global envolvendo a extração de
características de textura usando dimensões fractais. Este artigo se divide em seis partes,
a saber: o item 1 contém esta introdução, no item 2 é apresentada uma introdução sobre
fractais e os algoritmos usados, no item 3 são apresentadas as características das bases
de dados usadas e o protocolo aplicado sobre elas, no item 4 é apresentado o método
proposto e suas partes constituintes, no item 5 são apresentados os testes realizados e
uma análise dos resultados, no item 6 são apresentadas as conclusões e trabalhos futuros.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
7
2. Dimensão Fractal
Na geometria euclidiana temos que o espaço apresenta três dimensões, um plano tem
duas, a linha tem um e o ponto, zero. Mas, Benoit Mandelbrot [Gleick 1999], ao estudar
o problema da linha litorânea, foi além. Ele observou que as medidas de um contorno
podem variar, dependendo do grau de detalhamento do observador. Com isso em mente,
propôs a geometria fractal, que tem a capacidade de medir propriedades que antes não
tinham uma definição clara: o grau de aspereza ou de fragmentação de um objeto, por
exemplo. No caso da linha litorânea mostrou que o grau de irregularidade nos diferentes
padrões mantém-se constante em escala e que a dimensão fractal corresponde à
eficiência do objeto na ocupação do espaço. Uma linha, na geometria euclidiana não
ocupa espaço, ela é monodimensional. Mas, um contorno irregular, com extensão infinita
compreendida numa área finita, ocupa espaço. Não chega a ser bidimensional, mas é
mais do que monodimensional. Ela tem uma dimensão fractal.
2.1 Método Morfológico de Samarabandu
Samarabandu [Samarabandu 1993] apresenta um método para estimar a dimensão fractal
de uma imagem em níveis de cinza. Considera-a uma superfície em três dimensões e
aplica uma sequência de operações morfológicas de dilatações nesta superfície, com
diferentes elementos estruturantes. Após plotar a área S do conjunto resultante de
superfícies pelo tamanho do elemento estruturante utilizado, obtém a dimensão fractal da
imagem.
Assim, a dimensão fractal é o ângulo da reta definida por log(S(ρi)) por log(ρi),
na qual i = 1, 2.., N, sendo N definido arbitrariamente com o valor inteiro 6. E S(ρi)
pode ser iterativamente calculado.
Os resultados apresentados por Samarabandu mostram a eficiência e robustez da
dimensão fractal para a medição de texturas de radiografias ósseas.
2.2. Método Morfológico de Sariyanni
Saryianni [Saryianni 2001] apresenta uma comparação de métodos para a discriminação
de diferentes lesões hepáticas. O método proposto para o fractal morfológico baseia-se
nos operadores de dilatação e erosão. Para um valor ε, que representa quantos pontos
diferentes serão considerados em uma reta de 1 até εmax, definido arbitrariamente
previamente como 6, calcula-se a dilatação e a erosão da imagem, e o volume da
imagem, que é a diferença entre os dois, usando um elemento estruturante crescendo
proporcionalmente com ε. Em seguida, calcula-se o ângulo da reta ao se plotar o
logaritmo do volume por ε. O método do fractal morfológico é bastante direto, de
simples implementação e bastante parecido com o método proposto por Samarabandu.
2.3. Método da Contagem de Cubos
Nunes [Nunes 2003] ao comparar várias técnicas de descrição de texturas, apresenta o
teorema da contagem dos cubos (Box Counting Theorem), que oferece um método
simples para estimar a dimensão fractal de imagens binárias. Nunes toma n, variando de 1
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
8
até 6, de modo que para n = 1, a imagem é dividida ao meio horizontalmente e
verticalmente, para n = 2, cada uma das divisões do passo anterior também é dividida
horizontalmente e verticalmente e assim sucessivamente Em cada uma das etapas, é
realizada uma contagem do número de “quadrados” que “cobrem” A, que definem
Nn(A), então a dimensão fractal, DF(A), é calculada como o ângulo da reta log(Nn(A)
por log (2n).
3. Aquisição e preparação da base de manuscritos
Para esse trabalho serão utilizadas as bases de dados da Pontifícia Universidade Católica
do Paraná (PUC-PR) e da Universidade de Berna [Universidade de Berna 2011].
A base da PUC-PR, sob cuidado do Programa de Pós-Graduação em
Informática, foi desenvolvida de modo que o conteúdo da carta contemple todo o
conjunto de letras do alfabeto da Língua Portuguesa, incluindo letras maiúsculas e
minúsculas, símbolos gráficos (til, cedilha, acentos circunflexo, grave etc) e mínimos
gráficos (vírgulas e pontos), contendo um total de 124 palavras. 315 autores forneceram
três amostras, de mesmo teor, totalizando uma base com 945 imagens.
A base da Universidade de Berna, conhecida por IAM Handwriting Database
[Marti 1999], sob cuidado do Instituto de Ciência da Computação e Matemática
Aplicada conta com 1539 documentos de 657 autores diferentes. Na base IAM o número
de cartas por autor é variável, de 1 até 59 e o conteúdo não é o mesmo. O tipo de caneta
também é variável e não há uma preocupação com a regularidade do conteúdo. Assim, é
uma base mais desafiadora para um sistema automatizado de reconhecimento de autoria.
Como parte da preparação, para a base IAM foi necessário a retirada das
informações de cabeçalho e de rodapé.
As bases (IAM e PUC) foram compactadas com o método utilizado em
[Hanusiak 2010] e em seguida foram geradas imagem em diferentes níveis de cinza, 256,
128, 64, 32, 16, 8, 4 e 2. As imagens resultantes foram fragmentadas em retângulos de
128 x 128 pixels. Em média, cada amostra gerou 18 fragmentos em cada nível de cinza.
4. Método Proposto
O método proposto é composto pelas etapas que se seguem.
4.1 Extração de características
Nessa etapa, foi aplicado o cálculo da dimensão fractal sobre os fragmentos das imagens
manuscritas compactados. O cálculo foi repetido sobre as imagens em diferentes níveis
de cinza para compor o vetor de características. Utilizou-se os níveis 2, 4, 8, 16, 32, 64,
128 e 256 totalizando um vetor de 8 componentes.
O algoritmo da contagem de cubos foi executado com n = 6, ou seja, houve 6
divisões da imagem, tal qual o usado em [Nunes 2003]. O algoritmo de Sariyanni foi
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
9
executado com ε = 6 e o algoritmo de Samarabandu com ro = 6 e elemento estruturante
cruz com tamanho 1, inicialmente.
4.2 Produção do Modelo Independente do Autor
No estágio de treinamento, as medidas das dissimilaridades entre os vetores de
características são calculadas entre pares de fragmentos de textos. Dado um fragmento
do manuscrito genuíno x e o outro questionado y, aplica-se a técnica de extração de
características de textura ou dimensões fractais, gerando um vetor de características com
8 componentes, um para cada nível de cinza, para cada fragmento.
Depois de extraídas as características, são computadas as dissimilaridades entre
os vetores de fragmentos, que serão utilizados como entrada na produção de um modelo.
Neste trabalho foram utilizadas 3 amostras de fragmento por autor para treinamento e 5
amostras de fragmento por autor para os testes. Quando dois fragmentos pertencem a
um mesmo escritor, o vetor de característica é indicado com 1 (autoria) ou -1 (não-
autoria).
4.3 Decisão
Partindo da hipótese de que as medida das distâncias entre os vetores de características
extraídos de amostras de um mesmo autor são menores entre si, o SVM já treinado
separa pequenas distâncias entre características considerando-as como autoria, e
distâncias maiores entre características como não-autoria.
O processo de decisão é gerado na saída do classificador. A seguir, esta saída
torna-se uma entrada parcial para a etapa do método de fusão dos resultados. Mais
detalhes sobre as regras de fusão podem ser vistas em [Hanusiak 2010].
5. Resultados
Em todos os seguintes casos, foram considerados 50 autores para o treinamento e 115
para os testes. O kernel utilizado no classificador SVM foi sempre o linear, e o método
de fusão foi a soma. Nos testes, verificam-se dois tipos de erros:
• Erro Tipo I: acontece quando um manuscrito é membro da classe de autoria e é
classificado como membro da classe de não-autoria.
• Erro Tipo II: acontece quando um manuscrito é membro da classe de não-autoria
e é classificado como membro da classe de autoria.
O primeiro teste realizado replicou os resultados em [Hanusiak 2010] e aplicou o
mesmo protocolo para a base IAM. Houve um aumento, já esperado, na taxa de erros
devido principalmente a complexidade da nova base. Veja Tabela 1.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
10
Tabela 1. Comparação base IAM vs PUC.
Erro Tipo I Erro Tipo II Média
Base PUC Base IAM Base PUC Base IAM Base PUC Base IAM
2º Momento Angular 3,48 9,74 7,3 15,45 5,39 12,59
Entropia 2,43 8 7,83 14,19 5,13 11,09
Homogeneidade 4,52 8 8,87 16,86 6,69 12,43
Dissimulação 3,3 7,83 8,52 15,33 5,91 11,58
Energia 3,3 9,39 7,65 15,32 5,47 12,35
Variância Inversa 3,3 7,83 8,52 15,33 5,91 11,58
Em seguida, os testes foram feitos já com a dimensão fractal. Foram testados três
algoritmos, os morfológicos de Samarabandu e Sariyanni e o da Contagem de Cubos.
Para cada algoritmo foram usadas as imagens com níveis de cinza: 2, 4, 8, 16, 32, 64,
128 e 256. Totalizando um vetor de características de 8 componentes. Os resultados dos
testes realizados com os algoritmos independentemente estão na tabela 2.
Tabela 2. Resultados para cada algoritmo independentemente.
Erro Tipo I Erro Tipo II Média dos Erros
Níveis de Cinza Algoritmo Base
PUC
Base
IAM
Base
PUC
Base
IAM
Base
PUC
Base
IAM
2+4+8+16+32+64+128+256 Contagem de Cubos 10,96 18,54 21,88 48,84 16,42 33,69
2+4+8+16+32+64+128+256 Sariyanni 7,13 9,57 24,48 22,51 15,80 16,04
2+4+8+16+32+64+128+256 Samarabandu 12,52 10,09 36,69 28,31 24,6 19,2
Os índices de acertos para os algoritmos de Sariyanni e Samarabandu para a base
IAM ficaram bem próximos aos índices da base da PUC, indicando uma maior robustez
da dimensão fractal morfológica ante a complexidade da base. Em seguida, os dois
algoritmos mais promissores, Samarabandu e Sariyanni, foram combinados para gerar
um vetor de 16 componentes, afim de representar melhor a imagem. Os resultados
podem ser vistos na tabela 3.
Tabela 3. Resultados para combinação dos algoritmos morfológicos de
Saryianni e Samarabandu.
Erro Tipo I Erro Tipo II Média dos Erros
Níveis de Cinza Base PUC Base IAM Base PUC Base IAM Base PUC Base IAM
2+4+8+16+32+64+128+256 11,48 6,26 21,51 23,74 16,495 15
Havendo melhora nos resultados, decidiu-se incluir o método da contagem de
cubos e gerar um vetor de 24 componentes. Os resultados estão na tabela 4.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
11
Tabela 4. Resultados para combinação dos algoritmos morfológicos de
Saryianni e Samarabandu e contagem de cubos.
Erro Tipo I Erro Tipo II Média dos Erros
Níveis de Cinza Base PUC Base IAM Base PUC Base IAM Base PUC Base IAM
2+4+8+16+32+64+128+256 8,17 7,83 11,83 19,77 10 13,8
Apesar dos resultados na base da PUC ainda estarem distantes dos obtidos em
[Hanusiak 2010], os valores para a base IAM já se aproximaram bastante dos do outro
método, mostrando que a dimensão fractal sofre menos com a complexidade da base.
6. Conclusão e trabalhos futuros
Como vimos nesses primeiros conjuntos de testes, a dimensão fractal apresentou
resultados promissores quando aplicada na base IAM, cujo teor dos textos e o número
de autores se apresentam mais complexo do que o mostrado pela base da PUC.
Acredita-se que um dos fatores que impactou no desempenho do método baseado nos
fractais, foi o uso de um conjunto pequeno de características, que possui uma relação de
mútua dependência. A inclusão de outras características, tais como a lacunaridade e a
sucolaridade, pode vir a contribuir com a melhoria dos resultados.
7. Referências
Gleick, J (1999) “Caos: a criação de uma nova ciência”, Editora Campus, Rio de Janeiro,
310 p.
Hanusiak, R. K. (2010) “Identificação de Autoria de Manuscritos com base em Atributos
Genéticos e Genéricos da Escrita.” In: Tese de Mestrado, Pontifícia Universidade
Católica do Paraná, Brasil, 114 p.
Marti, U. and Bunke, H. (1999) “A full English sentence database for off-line
handwriting recognition.” In: Proc. of the 5th Int. Conf. on Document Analysis and
Recognition, pages 705 - 708.
Nunes, É. O. and Conci, A. (2003) “Técnicas de Descrição Regional Baseada em
Textura”, In: Anais do DINCON 2003, São José dos Campos, Brasil, 29 p.
Samarabandu, J. et al (1993) “Analysis of of Bone X-Rays Using Morphological
Fractals.”, In: IEEE Transactions on Medical Imaging, Volume 12, Number 3,
September, 1993, 466-470 p.
Sariyanni, C. –P A. et al (2001) “A fractal analysis CT liver images for the discrimination
of hepatic lesions: a comparative study”, In: Proceedings of the 23rd Annual EMBS
International Conference, Istanbul, Turkey, 2001, 1557-1560 p.
Universidade de Berna; “Instituto de Ciência da Computação e Matemática Aplicada”,
http://www.iam.unibe.ch/en, acessado em 21 de Fevereiro de 2011.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
12
Redes Neurais Artificiais aplicadas ao problema de
Roteamento de Veículos
Gustavo Rossler Pereira1, Rodrigo Luiz Antoniazzi
2
1Ciência da Computação – Universidade de Cruz Alta (UNICRUZ)
Rodovia Municipal Jacob Della Méa, Km 5.6 – 98.020-290 – Cruz Alta – RS – Brazil
2Departamento de Ciência da Computação – Universidade de Cruz Alta (UNICRUZ)
Cruz Alta, RS – Brasil.
[email protected], [email protected]
Resumo. Este trabalho propõe uma solução alternativa ao Problema de
Roteamento de Veículos, que consiste em planejar as rotas para entrega de
produtos aos clientes, por um determinado número de veículos com a máxima
eficiência, minimizando os custos. O problema está na categoria de problemas
NP-Difíceis, o que significa que não é viável se chegar à solução ótima em
tempo polinomial. Procura-se, então, encontrar uma boa rota de entrega.
Diversos métodos heurísticos já foram utilizados para solucionar o problema,
no trabalho que segue o método escolhido para tentar se chegar a uma solução
para o problema, foi Redes Neurais Artificiais, pois é uma área que vem se
desenvolvendo bastante nos últimos anos, e que tem como objetivo tratar os
problemas computacionais simulando o cérebro humano. Para testar a
eficiência do método, ele foi comparado ao método de GRASP.
Abstract. This paper proposes an alternative solution to the Vehicle Routing
Problem, which consists of planning routes to deliver products to customers,
for a number of vehicles with maximum efficiency while minimizing costs.
The problem is in the category of NP-Hard, what means that is not feasible
reach the optimal solution in polynomial time. So search is to try to find a
good route delivery. Several heuristic methods have been used to solve the
problem, in the work that follows the method chosen to try to reach a solution
to the problem was Artificial Neural Networks, because it is an area that has
been developed greatly in recent years and aims to address the problems
computer simulating the human brain. To test the efficiency of the method, it
was compared to the method of GRASP.
1. Introdução
O Problema de Roteamento de Veículos (PRV) é um problema clássico de otimização
combinatória, foi originalmente proposto por Dantzig e Ramser (1959), que também
define o problema como sendo uma generalização do problema do Caixeiro Viajante.
Este tipo de problema pode ser observado em várias áreas e situações diferentes, como
por exemplo, no escoamento de mercadorias de uma empresa, no serviço postal, em
redes de computadores, entre outros.
Para tentar se chegar uma solução para o problema do Roteamento de Veículos,
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
13
neste trabalho foi utilizado um método heurístico de Redes Neurais Artificiais, mais
especificamente, utilizou-se a Rede Neural apresentada por Teuvo Kohonen (1997),
mais conhecida como os Mapas Auto-organizáveis de Kohonen ou SOM (Self
Organizing Maps). A fim de determinar a eficácia da RNA aplicada a este problema, foi
escolhido o método heurístico de GRASP para comparação. Este método tem sido
bastante utilizado em trabalhos de otimização combinatória e apresenta bons resultados.
A abordagem principal e também a maior motivação de estudos do problema é
na área comercial, visto que para uma empresa se manter competitiva no mercado é
necessário que se esteja atuando em uma área de atuação ampla, e logo, o custo com
transportes e logística é um fator importante.
2. Descrição do Problema
Dantzig e Ramser (1959) afirmam que o problema de Roteamento de Veículos tem por
objetivo a otimização do roteamento de uma frota de veículos entre um depósito central
e uma certa quantidade de pontos de entrega. Todos os pontos devem ser visitados e os
veículos devem voltar ao depósito central, há uma série de fatores que devem ser
respeitados para se chegar à solução.
Seja G = (V, A) um grafo direcionado onde V = {v0, v1,..., vn} é o conjunto de
vértices e A = {(vi, vj): i ≠ j} é o conjunto de arcos. O vértice v0 representa um
depósito onde se encontra um conjunto de veículos idênticos de capacidade Q, enquanto
os vértices restantes correspondem às cidades ou consumidores. Cada consumidor vi
tem uma demanda não-negativa qi e q0 = 0. A cada arco (vi, vj) está associada uma
distância não negativa vij que representa a distância entre os consumidores (nós). O
PRV consiste em determinar o conjunto de rotas que devem ser seguidas pelos veículos
minimizando os custos de transporte dado pelas distâncias obedecendo às seguintes
restrições:
(a) Cada rota começa e termina no depósito;
(b) Cada cidade de V\{v0} é visitada somente uma única vez por somente um
veículo;
(c) A demanda total de cada rota não pode exceder a capacidade do veículo.
3. O SOM
O SOM (Self-Organizing Maps ou Mapas Auto-Organizáveis) é uma rede neural
artificial que define um mapeamento de um espaço de entrada p-dimensional
contínuo para um conjunto finito de protótipos (neurônios), que são dispostos em um
arranjo topológico, geralmente bidimensional (Kohonen, 1997).
Os mapas auto-organizáveis de Kohonen são um importante modelo de rede
neural para redução dimensional e agrupamento de dados. O SOM pode aprender a
partir de dados complexos e multidimensionais e, transformá-los em um mapa
topológico de muito menos dimensões, geralmente uma ou duas dimensões.
O treinamento ou aprendizado da SOM é do tipo competitivo, não-
supervisionado, porque não há alvos de saída conhecidos associados com cada padrão
de entrada na SOM e durante o processo de treinamento, a SOM processa os padrões de
entrada e aprende a agrupar ou segmentar os dados através do ajuste dos pesos. Durante
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
14
o processo de treinamento, padrões de entrada são apresentados para a rede. A cada fase
do treinamento quando um padrão de entrada x aleatoriamente escolhido do conjunto de
treinamento é apresentado, cada neurônio i na camada de saída calcula o quão similar a
entrada é ao seu peso wi. A similaridade é frequentemente medida por alguma distância
entre x e wi.
Conforme o treinamento continua, os neurônios ajustam seus pesos de acordo
com a relação topológica nos dados de entrada. O neurônio com a menor distância é o
vencedor e os pesos do nodo vencedor como também os dos nodos vizinhos são
fortificados ou ajustados para ficarem mais pertos do valor do padrão de entrada. Então,
o treinamento com SOM é não supervisionado e competitivo com a estratégia o
vencedor-ganha-tudo (Maimon, 2010).
4. GRASP
GRASP (Procedimento Guloso Adaptativo de Busca – ou Greedy Randomized
Adaptative Search Procedures) é uma heurística iterativa de partidas múltiplas, utilizada
para gerar soluções para problemas de otimização combinatória. O método GRASP, foi
desenvolvido por Feo e Resende (1989). Ele combina o poder de heurísticas gulosas,
aleatoriedade, e procedimentos de busca local.
O método GRASP, consiste basicamente de duas fases. Na primeira fase, uma
solução gulosa aleatória é gerada, a partir de uma lista restrita de candidatos (LRC). Na
segunda fase, é realizada uma busca local a partir da solução gerada na primeira fase,
então a melhor solução encontrada entre as duas fases é incluída na solução final. Esse
procedimento é realizado a cada iteração do algoritmo (Osman, 1996).
Uma característica importante do método GRASP, é a facilidade com a qual ele
pode ser implementado, com apenas alguns poucos parâmetros de configurações ele já
está pronto para ser utilizado em problemas relativamente complexos. Dessa forma o
desenvolvimento pode focar na eficiência da implementação das estruturas de dados
utilizadas, para garantir rápidas iterações para o método (Floudas, 2001).
5. DESENVOLVIMENTO
Essa parte do trabalho destina-se a descrever como foram desenvolvidos os algoritmos
do trabalho. Para um melhor entendimento de como eles foram construídos, abaixo
serão listados os passos principais que foram a base para o desenvolvimento do projeto:
1. Distribuição dos dados de entrada, coordenadas dos pontos de coleta e do
depósito;
2. Divisão do mapa de acordo com o número de veículos;
3. Aplicação do SOM a cada um dos segmentos gerados no mapa;
4. Aplicação do método de GRASP a cada um dos segmentos gerados no mapa.
A distribuição dos dados de entrada neste trabalho foi definida aleatoriamente, então
para as coordenadas dos pontos de coleta e do depósito foram escolhidos números
aleatórios entre 0 e 1, apenas para fim de testes e comparações entre os métodos
heurísticos. Além das coordenadas, outro parâmetro de configuração necessário para
execução do algoritmo, é o número de veículos que farão a coleta no mapa de
distribuição. As seções a seguir (5.1, 5.2 e 5.3) descrevem detalhadamente os próximos
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
15
passos da construção dos algoritmos.
5.1. Divisão do mapa
A partir da entrada é gerado o mapa utilizando as coordenadas (x, y) dos pontos de
coleta e do depósito. O próximo passo do algoritmo é dividir o mapa em segmentos,
baseado no número de veículos disponíveis, de modo a equilibrar a quantidade de
pontos por cada um dos veículos.
Para gerar os segmentos de forma equilibrada, foram utilizados os ângulos das
cidades (pontos de coleta) em relação ao depósito. Os valores dos ângulos foram
armazenados em um vetor em ordem crescente. Então, os intervalos dos segmentos
foram criados dividindo o vetor de ângulos pelo número de veículos.
5.2. Aplicação do SOM
Em cada um dos segmentos gerados para os veículos, é criada uma camada de k
neurônios, sendo k igual ao dobro de pontos de coleta do segmento, esta camada terá
uma forma de anel visando uma melhor aproximação dos pontos a cada iteração. Cada
um desses neurônios da segunda camada terá um vetor com o número de posições igual
ao número de cidades do segmento em que ele se encontra, sendo que esse vetor será
iniciado com valores aleatórios.
A cada iteração é escolhido um ponto de coleta aleatoriamente, então o neurônio
mais próximo ao ponto é ativado, tendo os valores de seus pesos ajustados e ficando
mais próximo do ponto de coleta escolhido. Durante as iterações todos os neurônios
sofrem ajuste nos pesos, só que o valor do ajuste diminui conforme a distância em
relação à cidade escolhida aumenta, assim, quanto mais perto do ponto de coleta
escolhido, maior é o ajuste nos pesos do neurônio e maior será o seu deslocamento.
Dessa forma, ao final das iterações os neurônios estarão junto às cidades, cada neurônio
junto à cidade mais próxima inicialmente, formando a rota final.
5.3. Aplicação do GRASP
A primeira fase do método GRASP consiste em uma busca gulosa aleatória. Essa
primeira busca gera então um conjunto com a sequência de pontos – o caminho a ser
percorrido – a partir do ponto de partida. Inicialmente é gerada a LRC para o ponto de
partida e escolhido aleatoriamente um novo ponto, e assim por diante até se chegar ao
número máximo de pontos do segmento. Dessa forma uma rota é criada através dos
pontos escolhidos.
A construção da LRC para cada ponto de coleta é feita destacando os vizinhos
mais próximos do ponto inicial informado, o número de vizinhos que formarão a LRC é
um parâmetro de configuração do método, sendo que neste trabalho foi utilizado um
valor x, sendo x igual a 10% do número de pontos do segmento do mapa. Então se a
rota está sendo gerada em um sub-mapa com 30 pontos de coleta, a LRC para cada
ponto terá o tamanho igual a 3 (três).
Na segunda fase é realizada a busca local, para tentar encontrar na vizinhança da
solução gerada na primeira fase, uma solução melhor, de custo menor. Essa busca é feita
nessa vizinhança até que se encontre a melhor solução. Neste trabalho, optou-se por na
segunda fase escolher entre todas as soluções geradas na primeira fase a melhor delas, e
então definir esta solução como sendo a melhor encontrada.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
16
6. Análise de Resultados
Nesta seção do trabalho serão apresentados os resultados obtidos durante os
testes dos algoritmos desenvolvidos, conforme a seção 5. Para a realização dos testes
foram criadas algumas instâncias aleatoriamente, valores das coordenadas (x, y) foram
criados aleatoriamente entre 0 e 1, e o depósito em todos os casos foi pré-definido nas
coordenadas (0.5, 0.5), ou seja, no centro do mapa.
Os resultados que apresentados a seguir são basicamente a comparação dos dois
métodos heurísticos, segundo ao custo total das rotas geradas por cada método para cada
conjunto de cidades, e pelo tempo de execução dos algoritmos. O custo das rotas foi
calculado somando a distância entre cada cidade, do caminho escolhido.
Figura 1 – Gráfico comparativo de custo
50 100 300 500 1000
0,000
10,000
20,000
30,000
40,000
50,000
60,000
70,000
80,000
Comparação de Custo - Kohonen e GRASP
Kohonen
GRASP
Número de Cidades
Cu
sto
To
tal
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
17
Figura 2 – Gráfico comparativo de tempo
Os gráficos apresentados na Figura 1 e na Figura 2 mostram o custo das rotas geradas e
o tempo de execução, dos dois métodos para o número de cidades mostrado no eixo x,
no eixo y então estão os números resultantes de cada método.
7. CONCLUSÕES
Como pode ser visto nos gráficos (Figura 1 e Figura 2) e tabelas comparativas
apresentadas na seção 5, cada método levou vantagem em uma característica diferente
da análise de desempenho. Os Mapas Auto-organizáveis de Kohonen se mostram mais
eficientes na geração das rotas, criando rotas mais otimizadas que o método GRASP.
Nos resultados analisados neste trabalho, o método de Kohonen apresentou variações de
4,08% a 39,36% a menos no custo total das rotas obtidas. Isso mostra uma grade
diferença quando a quantidade de cidades for um número grande. Por outro lado, na
comparação do tempo de execução, ou seja, o tempo que o programa leva para analisar
o mapa e gerar as rotas, o método de GRASP mostrou-se mais rápido que o SOM.
Portanto, salienta-se, após todas as análises, que para o problema específico de
roteamento de veículos, o SOM apresentou melhor desempenho, mesmo sendo mais
lento para gerar os resultados. Essa diferença de tempo não supera a qualidade das rotas
geradas por esse método em comparação com o método de GRASP.
8. REFERÊNCIAS
DANTZIG, G. B.; RAMSER, J. H. 1959. The truck Dispatching Problem.
Managemente Science, Vol.6, No.1, p.80-91.
FEO; RESENDE. “Greedy Randomized Adaptive Search Procedures” , Resende,
M.G.C. & Feo, T.A. Journal of Global Optmization, 6:109-133, 1995.
FLOUDAS, Christodoulos A.; PARDALOS, Panos M. Encyclopedia of Optimization,
Volume 1. Norweel, Mssachusetts USA, 2001.
KOHONEN, T. Self-Organizing Maps. 2nd Edition. Springer Verlag, Berlim, 1997.
50 100 300 500 1000
0,000
0,200
0,400
0,600
0,800
1,000
1,200
Comparação de Tempo - Kohonen e GRASP
Kohonen
GRASP
Número de Cidades
Te
mp
o d
e E
xecu
çã
o (
se
gu
nd
os
)
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
18
MAIMON, O.; ROKACH, L. Data Mining and Knowledge Discovery Handbook. 2nd
Edition. New York, USA, 2010.
OSMAN, I. H.; KELLY, J. P. Meta-heuristics: theory & applications. Norweel,
Mssachusetts, USA, 1996.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
19
Aprendizagens Significativa e Colaborativa e o
Ensino do Proeja FIC
Rosana Wagner, Sergio da Costa Nunes, Fábio Diniz Rossi
Instituto Federal Farroupilha
Campus Alegrete
{rosanawagner, sergio, [email protected]}
Resumo. Este artigo tem como objetivo verificar a utilização de uma metodologia de
ensino em um curso de formação inicial e continuada de EJA (Proeja FIC). O trabalho foi
realizado na disciplina de redes de computadores, esta disciplina é composta por conceitos
que compreendem um alto nível de abstração. Em geral o público alvo deste curso é
composto por pessoas que passaram um longo tempo longe da escola e longe de estudos,
por isso, a dificuldade de aprendizagem deste público é muito alta. Este trabalho compõe-
se do desenvolvimento de mapas conceituais levando em consideração aprendizagens
significativas e colaborativas em busca de um melhor desenvolvimento e aproveitamento
da disciplina. Neste contexto, o experimento adquire significativa importância e espera-se
contribuir para o desenvolvimento de novas metodologias que contribuam com o processo
de ensino/aprendizagem destes alunos.
Abstract. This article aims to verify the use of a teaching methodology on a course of
initial training and continuing adult education (PROEJA FIC). The study was conducted in
the discipline of computer networks, this course is composed of concepts that comprise a
high level of abstraction. In general the target audience of this course is composed of
people who spent a long time away from school and away from studies, so the difficulty of
learning of this audience is very high. This work consists of developing conceptual maps
taking into account meaningful learning and collaborative search for a better development
and use of discipline. In this context, the experiment acquires significant importance and is
expected to contribute to the development of new methodologies that contribute to the
teaching/learning of these students.
Palavras-chave: Aprendizagem significativa, aprendizagem colaborativa, mapas
conceituais, Proeja FIC, Redes de Computadores.
1. INTRODUÇÃO
A qualificação da mão de obra é um dos maiores objetivos do governo atualmente. O
curso de Proeja visa à inclusão de uma formação técnica juntamente com formação normal
proposta pelo EJA. O Curso de Formação Inicial e Continuada em Informática Integrado ao
Ensino Fundamental na Modalidade de EJA (PROEJA FIC) tem esta mesma visão, porém é
voltado para nível fundamental.
Em geral as pessoas que frequentam este tipo de modalidade de ensino tem idade mais
avançada, família, filhos, emprego, entre outras atribuições. Isto faz com que a maioria delas não
tenham mais o mesmo empenho e vontade de estudar do que uma criança, ou uma pessoa que
cursa o ensino fundamental em idade regular.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
20
Considerando estas características e, partindo-se de uma análise mais acurada da situação
que envolve as demandas necessárias ao processo de ensino e aprendizagem, procurou-se neste
trabalho desenvolver uma metodologia através da utilização de dois tipos de aprendizagens
(significativa e colaborativa) com o uso das ferramentas de mapas conceituais e Google Docs.
O trabalho desenvolve-se em uma turma de Proeja FIC do curso de Informática na
disciplina de redes de computadores por considerar-se de fundamental importância na grade
curricular dos cursos técnico em informática.
O problema de pesquisa do qual surgiu este trabalho foi “Qual é o nível de
aprofundamento que é possível na disciplina de redes de computadores para a modalidade
PROEJA FIC Suporte e Manutenção de Hardware?” tendo como principal hipótese “O conteúdo
que geralmente consiste a ementa da disciplina deve ser transmitido de forma diferenciada e em
um nível de abstração mais amplo para que o aprendizado realmente aconteça.”
Este artigo está organizado através de ume seção de referencial teórico, onde são
explicados alguns dos conceitos fundamentais para o desenvolvimento deste trabalho. A seção 3
compreende a metodologia de desenvolvimento do trabalho. A seção 4 corresponde uma rápida
avaliação e a seção 5 contém os resultados e a conclusão.
2. REFERENCIAL TEÓRICO
2.1 Aprendizagem colaborativa
Conforme Vygotsky (1994) os processos mentais do indivíduo não estão dissociados na
origem das interações sociais porque eles passam, ou seja, o desenvolvimento cognitivo do ser
humano não pode ser entendido sem referencia ao meio social. A aprendizagem colaborativa
vem ao encontro da teoria da mediação de Vygotsky na medida em que traz consigo interação
entre os alunos na aquisição de informações para construção de seus conhecimentos.
O ambiente virtual, como por exemplo o Google Docs, é particularmente propício à
aprendizagem colaborativa por sua flexibilidade no que se refere a tempo, espaço, diversidade de
itinerários ou percursos. Comunidades virtuais permitem a interação de todos com todos, em um
processo similar ao que ocorre em uma reunião na qual qualquer um pode tomar a palavra.
2.2 Aprendizagem significativa
David Ausubel (1980), criador da aprendizagem significativa, estabeleceu que os
conceitos ou a informações existentes em nossa estrutura cognitiva são os subsunçores1 e estes,
servem de ancoradouro para as novas informações. As novas relações podem ser estabelecidas
de 3 formas:
1. De forma relacional: Quando o indivíduo relaciona um nome a um signo, por exemplo,
quando uma criança consegue relacionar a palavra cachorro ao signo (desenho ou o
próprio animal).
2. Em formas de conceitos: É um tipo mais aprimorado de aprendizagem relacional
representando não apenas signos mas conceitos mais abrangentes e genéricos, como
exemplo, cachorro quente.
3. De forma proposicional: Pode-se considerar como sendo um nível acima da
aprendizagem relacional, agora o indivíduo não relaciona apenas palavras com objetos,
1 Subsunçõres - O subsunçor é uma estrutura específica ao qual uma nova informação pode se integrar ao cérebro
humano, que é altamente organizado e detentor de uma hierarquia conceitual que armazena experiências prévias do
aprendiz.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
21
mas sim, estabelece relações entre conceitos. Por exemplo, cachorro preto é um conceito
que pode relacionar-se com carrocinha, formando um conceito mais inclusivo: o cachorro
preto está preso na carrocinha, formando o que Ausubel chamou de proposição.
A assimilação ocorre quando um novo conceito potencialmente significativo é agregado a
outro pré-existente, tornando-o maior e mais evidente. A assimilação pode ocorrer de duas
formas: por diferenciação progressiva, quando novos conceitos são acrescentados a partir de
conceitos maiores, por exemplo, podemos acrescentar ao subsunçor Internet o conceito de redes
locais de computadores, e por reconciliação integrativa onde parte-se do conceito menos
inclusivo para os mais inclusivos, por exemplo, acrescentamos o subsunçor Internet a partir do
conceito de redes locais de computadores.
2.3 Mapas conceituais
Os mapas conceituais são baseados na teoria da Aprendizagem Significativa de David
Ausubel. Podemos conceitua-los como sendo diagramas hierárquicos que indicam conceitos e as
relações entre estes conceitos. Em sua organização, os mapas conceituais utilizam-se dos
princípios da diferenciação progressiva e da reconciliação integrativa.
Estas organizações gráficas podem representar as atividades do currículo de um curso, dos
conteúdos de uma disciplina e ainda tornar possível o estudo interdisciplinar e/ou transdisciplinar
de cursos.
2.4 Disciplina de Redes de Computadores
A disciplina de redes de computadores pode ser considerada de grande importância no
currículo de qualquer curso técnico em informática. A ementa desta disciplina propõe o estudo
de como se dá a comunicação e transmissão de dados.
A figura 1 demonstra as conexões dos conceitos de redes de computadores.
Figura 1 - Mapa conceitual da disciplina de Redes de Computadores
3. METODOLOGIA
A metodologia utilizada para realização deste trabalho está constituída de um estudo de caso
com avaliação qualitativa e abrangeu os seguintes tópicos:
- Aplicação de avaliação diagnóstica para verificar os conhecimentos prévios. Aplicação de
um questionário.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
22
- Elaboração de um mapa conceitual da disciplina de redes de computadores, levando-se em
consideração os subsunções apresentados pelos alunos na avaliação diagnóstica.
- Mapa conceitual do assunto introdutório conforme figura 2.
- O mapa do assunto introdutório orientou os alunos na elaboração do documento, conforme
tabela 1, feito com a ferramenta colaborativa Google Docs.
Tabela (1) – documento elaborado pelo Proeja FIC
Trabalho De Informática – identificação dos conceitos básicos de Redes de Computadores, orientado através do Mapa
Conceitual.
PROEJA FIC - ESCOLA HONÓRIO LEMES
CONCEITO DA INTERNET
A Internet serve, para melhorar a cultura e os conhecimentos do ser humano. Serve também para ver as notícias do Mundo, para
comunicar com diversas pessoas espalhadas pelo mundo fora, para trabalhar (no caso das pessoas mais adultas). É, sobretudo
uma fonte de comunicação. Há vários aplicações da Internet. As páginas os blogs, e-mail e as redes sociais na nossa opinião
são os principais. Os navegadores servem para se puder pesquisar na Internet. Há diversos navegadores, como o Internet
Explorer, Mozilla Firefox, Opera, Netscape, entre outros.
ARPANET-
Arpanet é idéia da construção de uma rede de computadores que pudessem trocar informações. Arpanet surgiu no Advanced
Research Projects Agency, Arpa, do Departamento de Defesa dos EUA quando, em 1962, a Agência contratou J.C.R. Licklider
para liderar as suas pesquizas através do ``Information Processing Techniques Office'', IPTO, da Agência. Um dos sonhos de
Licklider era uma rede de computadores que permitisse o trabalho cooperativo em grupos, mesmo que fossem integrados por
pessoas geograficamente distantes, além de permitir o compartilhamento de recursos escassos, como, por exemplo, o
supercomputador ILLIAC IV, em construção na Universidade de Illinois, com o patrocínio da própria ARPA. O projeto foi
amadurecendo e adquiriu momento quando a ARPA contratou Lawrence Roberts , do Lincoln Lab do MIT, em 1967, para
tornar a idéia uma realidade. Nesta mesma época Licklider, tendo saído da ARPA em 1964, assumiu a direção do Projeto MAC
no MIT.
LINHA DO TEMPO
Dez anos após a liberação da operação comercial da internet, o Brasil tem hoje cerca de 30 milhões de internautas, sendo 11
milhões domiciliares, segundo informações do Comitê Gestor de Internet no Brasil e o Ibope/NetRatings. Acompanhe como se
deu a história e o crescimento.
1962 - Governo americano inicia o desenvolvimento de uma rede de comunicação para fins militares.
1969 - A Arpanet em projeto do Departamento de Defesa dos EUA para interligar pontos estratégicos a uma rede
descentralizada, que não pudesse ser destruída por bombardeios.
1972 - A arroba (@) passa a ser utilizada para a comunicação via emails.
1983 - É estabelecido o TCP/IP (Transmission Control Protocol/Internet Protocol), a linguagem comum usada por todos os
computadores conectados à rede até hoje.
1984 - É registrado o primeiro domínio pontocom, da empresa de informática Symbolics.com.
1988 - No Brasil ocorre a conexão à Bitnet da Universidade Federal do Rio de Janeiro (UFRJ), do Laboratório Nacional de
Computação Científica (LNCC) e da Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP).
1989 - No Brasil, uma rede conecta a FAPESP ao Fermilab, laboratório de Física de Altas Energias de Chicago (EUA), por
meio de retirada de arquivos e correio eletrônico. O Instituto Brasileiro de Análises Sociais e Econômicas (Ibase) coloca no ar
rede Alternex.
1991 - TIM Berners-Lee e Robert Cailliau criam a World Wilde Web, sistema de hipertextos que funciona a partir de links
clicava que levam a outros sites. O WWW facilitou a navegação pela rede. No Brasil, o acesso ao sistema foi liberado para
instituições educacionais, de pesquisa e a órgãos do governo.
1992 - Instituto Brasileiro de Análises Sociais e Econômicas (Ibase) e a Associação para o Progresso das Comunicações (APC)
liberam o uso da Internet para ONGs.
1993 - Marc Andreessen, de 23 anos, cria o Mosaico, o primeiro browser (visualizador) da Internet. Dois anos depois, lançará o
Netscape. No Brasil, ocorre a primeira conexão de 64 kbps à longa distância, estabelecida entre São Paulo e Porto Alegre.
1995 - Os ministérios das Comunicações e da Ciência e Tecnologia criam a figura do provedor de acesso privado à Internet e
liberam a operação comercial no Brasil. Em maio, é lançado o primeiro jornal brasileiro na Internet, o Jornal do Brasil. Em
junho, o Bradesco dá início a seu serviço de Internet.
1996 - O Brasil tem 100 mil usuários. Em maio, surge o Universo Online (UOL). Em 1º de dezembro, é lançado o portal e
provedor de internet ZAZ, com o slogan Zaz – O seu canal na internet. Gilberto Gil lança a canção “Pela Internet”. Lançado o
primeiro comunicador instantâneo, o ICQ.
1997 - Início da tecnologia streaming (vídeo).
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
23
1998 - Começam os investimentos de empresas estrangeiras de tecnologia e de comunicações no Brasil, que já tem 1 milhão de
usuários. 26% das declarações de Imposto de Renda são feitos via internet. O resultado das eleições para presidente,
governadores e deputados é publicado em tempo real. Surge o Zipmail, serviço de email gratuito via web. Larry Page e Sergey
Brin, dois estudantes Ph. D de Stanford criam o Google.
1999 - O Brasil já tem 2,2 milhões de usuários. Governo brasileiro lança o programa Sociedade da Informação, para combater a
exclusão digital. A Telefônica compra o ZAZ e lança a Terra Networks. A Jovem Pan estréia as transmissões de rádio via web.
Spawn Fanning, um universitário norte-americano cria o Napster.
2000 - O Napster proporciona o compartilhamento de músicas em mp3 entre usuários e infringe as leis de direitos autorais. A
indústria fonográfica estremece com a queda das vendas e bandas como Metallica se levantam contra seus fãs por sentirem-se
lesado. Banda larga chega ao Brasil. O iG lança, no País, o primeiro provedor de acesso grátis à internet. A chamada “bolha da
internet” tem seu ápice em 2000, mas no mesmo ano começa a cair vertiginosamente, com as ações das empresas de tecnologia
despencando nos mercados.
2002 - Governo brasileiro levanta a bandeira do software livre para proporcionar a inclusão digital. Início do Wi-Fi (internet
banda larga sem fio). TV Terra atinge mais de 3 milhões de visitantes por mês. Ondas de serviços online modificam o
comportamento do internauta: álbum de fotos, e-mail protegido, bloggers, Insta Messenger.
2003 - Mozilla desenvolve o browser gratuito Firefox. Apple lança o ITUNES, loja virtual de música. A Associação da Indústria
de Gravadoras Norte-Americanas inicia os processos contra usuários de baixam músicas ilegalmente.
2004 - O Brasil é líder mundial de inscritos no Orkut, o site de comunidades virtuais mais procurado do mundo. Atualmente,
somos cerca de 30 milhões de internautas. O uso de webcams começa a se popularizar.
2005- Em abril, o brasileiro bate recorde de navegação, passando 15 horas e 14 minutos na internet, tornando-se o primeiro País
com maior tempo de navegação domiciliar, ultrapassando o Japão.
- A partir do documento criado pelos alunos foi elaborado um novo mapa conceitual,
conforme figura 3. Comparou-se este mapa com o mapa de referencia anterior onde foi feita a
avaliação do aprendizado e também do grau de aprofundamento do conteúdo.
Figura 3 - Mapa Conceitual criado com base
no documento produzido pela turma.
4. AVALIAÇÃO E RESULTADOS
Um projeto realizado anteriormente a esta artigo visou a verificação de algumas
condições da disciplina em questão nesta modalidade de ensino e as respostas verificadas nesta
modalidade de ensino foram de que realmente a hipótese foi confirmada: é necessária uma
maneira diferenciada de desenvolvimento da disciplina.
Comparando-se os dois mapas conceituais observa-se que o mapa elaborado a partir do
documento produzido pelos alunos, contem os mesmos elementos (proposições) do mapa
conceitual padrão feito pelos pesquisadores. A diferença encontra-se na ordem dos elementos
visualmente observados.
Figura 2 - Mapa conceitual para criação
do documento.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
24
Como resultado desta pesquisa criou-se uma metodologia que possibilita o
desenvolvimento da disciplina de Redes de Computadores em conjunto com as demais
disciplinas profissionalizantes e melhora consideravelmente o entendimento por parte dos alunos
reduzindo paralelamente a dificuldade encontrada pelo docente. Verifica-se também no currículo
deste curso, que a disciplina de Informática Básica deveria ter uma carga horária maior
reduzindo a carga horária das disciplinas mais difíceis, uma vez que é de conhecimento de
qualquer educador que é necessário o perfeito entendimento do básico para que novos conceitos
mais amplos possam ser introduzidos.
5. CONCLUSÃO
Este artigo visou a demonstração através de estudos e experiência dos autores com as
turmas citadas de como as disciplinas da modalidade Proeja FIC devem ser desenvolvidas. Uma
vez que esta é uma modalidade de ensino diferenciada, a forma de ensino também deve ser
diferenciada.
Através da revisão da literatura e principalmente da observação e experiência com alunos
em sala de aula foi possível propor uma metodologia de desenvolvimento das disciplinas
profissionais deste curso e testa-la.
A disciplina alvo deste estudo foi Redes de Computadores, visto que esta possui
conceitos de relativa dificuldade associada.
A experiência dos autores inclui o desenvolvimento da mesma disciplina no nível de
ensino da graduação, de cursos técnico, do Proeja e do Proeja FIC, o que possibilitou a
identificação da dificuldade de entendimento dos alunos e de transmissão de conteúdo pelos
docentes.
Conclui-se que a adoção da metodologia através da utilização de mapas conceituais
associados a aprendizagem colaborativa via Google Docs foi significativa na medida em que os
alunos desenvolveram o trabalho a contento(embora alterando a configuração do mapa) porém
sem alterar as relações cognitivas advindas através da proposta feita pelos autores da pesquisa no
mapa conceitual padrão. Compreende-se ainda que o grau de aprofundamento foi superficial
dadas as características sócio culturais dos alunos do Proeja FIC.
Observou-se que o mapa conceitual colaborou de forma significativa na compreensão do
trabalho a ser realizado pela turma.
REFERENCIAS
AUSUBEL, D. Psicologia Educativa: um ponto de vista cognoscitivo. México: Trilhas, 1978.
AUSUBEL, D; NOVAK, J; HANESIAN, H. Psicologia Educacional. Rio de Janeiro.
Interamericana, 1980.
MAGDALENA, B; COSTA, Í. Internet em sala de aula: com palavras, os professores. Porto
Alegre: Armat, 2003.
MOREIRA, M; BUCHWEITZ, B. Mapas Conceituais: instrumentos didáticos para
avaliação e analise de currículo. São Paulo: Moraes 1987.
PROEJA FIC. Edital do Programa Nacional de EJA Integrada à Educação Profissional,
2009
TANENBAUM, A. (2003) Redes de Computadores, Ed. Campus. Rio de Janeiro.
VYGOTSKY, L. S. A formação social da mente. São Paulo: Martins Fontes, 1994.
VYGOTSKY, L. S. Pensamento e linguagem. São Paulo: Martins Fontes, 1989.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
25
Modelagem e Implementacao Bulk Synchronous Parallel daCompressao de Imagens Baseada em Fractais
Lucas Graebin1, Marcio Rosa da Silva1, Rodrigo da Rosa Righi1
1 Programa Interdisciplinar de Pos-Graduacao em Computacao Aplicada (PIPCA)Universidade do Vale do Rio dos Sinos (UNISINOS)
Av. Unisinos, 950 – 93.022-000 – Sao Leopoldo – RS – Brazil
[email protected], {marcior,rrrighi}@unisinos.br
Abstract. Bulk Synchronous Parallel is one of the most used programming mo-dels to write message-passing driven applications. In this context, the currentpaper presents a BSP application modeling and implementation. Fractal-basedimage compression was chosen as the application target. It iscomputationallyintensive and offers good results when considering both the method eficiencyand the quality of the resulted image. jMigBSP library was selected as BSPmiddleware, since it offers an easy to use interface and asynchronous commu-nication directives. Finally, the results emphasize the eficiency of both the BSPmodeling and library employed since the speedup indexes wereclose to linear.
Resumo. BSP (Bulk Synchronous Parallel)e um dos modelos mais usados paraa organizacao de aplicacoes com passagem de mensagens. Nesse contexto, opresente artigo apresenta a modelagem e a implementacao de uma aplicacaoBSP. A compressao de imagens segundo o metodo de Fractal foi a aplicacaoescolhida. Elae computacionalmente intensa e produz bons resultados, tantona eficiencia da reducao quanto na qualidade da imagem final. jMigBSP, porsua vez, foi a biblioteca usada na avaliacao. Sua adocao se justifica pela suainterface simples, comunicacao assıncrona e pelo seu desempenho competitivose comparada com bibliotecas de codigo nativo. Por fim, os resultados enfati-zam a eficiencia da modelagem e da biblioteca de comunicacao utilizadas, umavez que osındices de speedup sao praticamente lineares.
1. Introducao
Nos tempos atuais, a computacao envolvendo redes de computadores como plataforma deexecucaoe cada vez mais utilizada para propositos gerais [Batista et al. 2008]. O uso declusterse ate mesmo degrids e pertinente quando ha a necessidade de recursos compu-tacionais para os quais umunico sistemae insuficiente. Especialmente no caso degrids,e comum te-los atraves de uma arquitetura heterogenea formada por diferentesclusters.Para viabilizar a computacao de alto desempenho nessas maquinas, faz-se necessario aescolha de um modelo de programacao adequado, o uso de tecnicas que visam o altodesempenho e uma biblioteca de comunicacao simples e eficiente.
Quanto ao modelo de programacao, uma possibilidadee o emprego decomputacoes em fases sıncronas, tambem chamado de modelo BSP (Bulk SynchronousParallel) [Valiant 1990]. Ele se destaca na organizacao de aplicacoes paralelas de sucesso[Bonorden 2007], como previsao meteorologica e sequenciamento de DNA. Aplicacoes
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
26
BSP sao compostas por um conjunto de processos que executam superetapas. Cadasuperetapae subdividida em tres fases: (i) computacao local em cada processo; (ii)acoes de comunicacao global usando passagem de mensagens e; (iii) uma barreira desincronizacao. A respeito das tecnicas de programacao,e pertinente utilizar mecanismosde comunicacao assıncrona para esconder a latencia de comunicacao. Por fim, a escolhada biblioteca depende de sua aplicabilidade, portabilidade e seus recursos. Em especial,mecanismos de migracao de processos ganham cada vez maisenfase quando se faz usode recursos heterogeneos e computacoes intensivas e sıncronas.
Nesse contexto, este artigo apresenta uma modelagem paralela segundo o modeloBSP para o problema de compressao de imagens. Para tal, utilizou-se a tecnica comperdas (lossy) denominada metodo de Fractal, visto que representa um problema compu-tacionalmente intenso e obtem altas taxas de compressao sem degradar demasiadamentea figura alvo [Hufnagl and Uhl 2000]. Para validar a modelagemrealizada, foi utilizada abiblioteca Java jMigBSP [Graebin and Righi 2011]. Ela apresenta uma interface simplespara a programacao paralela e se destaca pelas caracterısticas de suporte a migracao deobjetos e comunicacao assıncrona eone-sided. Os resultados obtidos neste trabalho saosatisfatorios visto que o acrescimo de processadores provoca uma diminuicao de tempocompatıvel com tal atitude. Isto se explica pelo fato de a aplicacao serCPU-Boundetrivialmente paralelizavel (sem dependencias de calculo entre ospixelsda imagem).
A proxima Secao descreve a biblioteca usada nos testes. A Secao 3 apresenta oproblema e sua modelagem paralela. As Secoes 4 e 5 relatam os resultados experimentaise os trabalhos relacionados, respectivamente. Por fim, as conclusoes obtidas com estetrabalho sao apresentadas na Secao 6.
2. jMigBSP: Biblioteca Java para o Reescalonamento de Objetos
A biblioteca jMigBSP oferece uma interface de programacao Java para a escrita deaplicacoes BSP [Graebin and Righi 2011]. A principal contribuicao de jMigBSP diz res-peito as facilidades de reescalonamento de objetos em duas maneiras: (i) usando diretivasde migracao no codigo da aplicacao e; (ii) atraves do balanceamento de carga automaticoem nıvel demiddleware. Para escrever uma aplicacao utilizando jMigBSP,e necessarioestender a classejMigBSPe implementar o metodorun(). Este metodo devera conter ocodigo que sera executado em paralelo. A interface de jMigBSPe composta por um con-junto pequeno de seis metodos. Primeiramente, a quantidade de objetos paralelos podeser consultada com a chamada do metodobsp nprocs(), e o codigo identificador de cadaobjeto pode ser recuperado combsp pid(). O metodobsp sync() e uma barreira quesincroniza todos os objetos. Ao termina-lo, todas as mensagens enviadas na superetapaanterior estarao disponıveis para uso nobufferdo objeto destino.
Al em dos metodos para consulta e delimitacao de superetapas, jMigBSP possuirotinas para comunicacaoone-sidedque permitem ao programador ler e escrever direta-mente na memoria de um objeto remoto. Por exemplo, o metodobsp put() armazena da-dos na memoria de um objeto destino sem a participacao ativa deste. Este metodo tem umcomportamento assıncrono, permitindo ao programador executar calculosuteis enquantoa RMI e realizada. Em adicao, jMigBSP permite o reescalonamento explıcito de objetos.Atraves do metodobsp migrate(), o programador pode migrar o objeto chamador paraum no remoto ou para um no onde outro objeto esta em execucao. Este mecanismo per-
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
27
mite que o programador altere o mapeamento inicial de objetos para recursos em respostaao comportamento da aplicacao e da infraestrutura. Alem disso, a extensao da classeLBjMigBSPao inves dejMigBSP proporciona o reescalonamento de objetos de formaautomatica para a aplicacao. A sua vantagem esta no fato que o programador nao inserelinhas de codigo para tratar a localizacao dos objetos. Trabalhos anteriores enfatizamsituacoes onde jMigBSP obtem um melhor desempenho ao empregar o reescalonamentode objetos em relacao a uma biblioteca de codigo nativo [Graebin and Righi 2011].
3. Modelagem da Aplicacao BSP de Compressao de Imagens
A compressao de imagens utilizando a tecnica de Fractal explora similaridades den-tro das imagens, as quais sao descritas por uma transformacao contrativa da mesma[Hufnagl and Uhl 2000]. O algoritmo consiste na transformac¸ao de blocos, os quais apro-ximam partes menores da imagem por partes maiores. As partesmenores sao chamadasde intervalos, enquanto as maiores de domınios. A uniao de todos os intervalos formauma imagem. Os domınios sao selecionados livremente dentro da imagem. Para cada in-tervalo, um domınio apropriado deve ser encontrado. A distanciarms e calculada com oobjetivo de julgar a qualidade de um mapeamento. Basicamente, o tempo de codificacaodepende do numero de domınios que devem ser comparados aos intervalos.
A modelagem considera a variacao na quantidade de domınios e no numero deprocessos. A estrategia combina o modelo de programacao BSP com o paradigma depipelinecircular. O Algoritmo 1 apresenta a organizacao de uma simples superetapa. Pri-meiramente, conjuntos de domınios sao distribuıdos uniformemente entre os processos.Cada processo, num primeiro momento,e designado a calcular um conjunto de interva-los. As melhores combinacoes de domınio para os intervalos calculados sao armazenadasno processo. Na sequencia, esse processo envia ao vizinho da direita essas combinacoes,juntamente com o conjunto de intervalos calculado anteriormente e que serao a carga detrabalho do receptor na proxima superetapa.
Algoritmo 1 Modelagem de uma superetapa para o problema da compressao de Fractal1: Considerando um conjunto de intervalosr para a imagem.2: for cada domınio pertencente a um processo especıfico do3: for cada intervalo emr do4: for cada isomeria de um domınio do5: Calculerms(intervalo, domınio)6: end for7: end for8: end for9: Cada processoi (0 ≤ i ≤ n − 1) envia dados para o seu vizinho da direitai + 1. O
processon− 1 transmite para o processo0 (onden e o numero de processos).10: Chamada para barreira de sincronizacao.
Quando todos os conjuntos de intervalos tiverem passado portodos os processosdopipeline, aultima superetapae computada. Nela, umunico processoe responsavel porsolicitar aos demais as melhores combinacoes obtidas de domınios e intervalos. De possedessas combinacoes, o processo escolhido produz a imagem resultante. A modelagemrequern+1 superetapas para a resolucao do algoritmo, sendon a quantidade de processos
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
28
paralelos e a quantidade de processos que um conjunto de intervalos precisara percorrerpara completar opipeline. Por fim, uma superetapa adicionale utilizada para a geracaoda imagem resultante.
4. ResultadosA avaliacao compreendeu o desenvolvimento da modelagem utilizando abibliotecajMigBSP. Os testes foram executados em umcluster composto por 16 nos Intel Core2 Duo de 2,93 GHz. Eles estao ligados por uma rede de 100 Mbps. A Tabela 1 apresentaos tempos de execucao do algoritmo sequencial e o desvio padrao obtido para uma ima-gem de256× 256 pixelsquando variado a quantidade de domınios. A Figura 1 (a) ilustraa imagem utilizada na avaliacao. As Figuras 1 (b), (c) e (d) apresentam as imagens resul-tantes apos a execucao do algoritmo de compressao utilizando a quantidade de domıniosdos Cenarios 1, 2 e 3, respectivamente. Em especial, observa-se quea Figura 1 (b) apre-senta poucas perdas em relacao a imagem original, obtendo uma taxa de compressao de68,52%. Nessa linha, nota-se que a taxa de compressao da imagem aumenta na medidaem que a quantidade de domıniose reduzida. Por outro lado, quanto maior a quantidadede domınios, maior a qualidade da imagem resultante e menore sua taxa de compressao.
Tabela 1. Tempo de execuc ao do algoritmo sequencial de compress ao FractalCenario Domınios Execucao em segundos Desvio padrao Compressao
Cenario 1 4096 115,33 0,58 68,52%Cenario 2 1024 103,78 1,75 91,93%Cenario 3 256 84,21 1,17 97,76%
(a) (b) (c) (d)
Figura 1. Observando a imagem resultante com o algoritmo de c ompress ao Frac-tal: (a) imagem original; (b) imagem resultante com o Cen ario 1; (c) imagem re-sultante com o Cen ario 2; (d) imagem resultante com o Cen ario 3.
A Figura 2 (a) apresenta os ganhos obtidos com a implementacao da modelagemBSP. Observa-se que o tempo medio de execucao do Cenario 1 com 16 processos foi de8,15 segundos. Este resultado, quando comparado com o algoritmo sequencial, repre-senta um ganho de 92,92%. O tempo de execucao do Cenario 2, ao ser paralelizado com16 processos, foi de 7,35 segundos, enquanto que o tempo do Cenario 3 com a mesmaquantidade de processos foi de 5,97 segundos. Esses resultados, quando comparados comos tempos do algoritmo sequencial, representam ganhos de 92,91% e 92,90% para osCenarios 2 e 3, respectivamente.
A avaliacao tambem compreendeu observar o comportamento do algoritmo para-lelo quando executado em um ambiente composto por nos sobrecarregados. Em adicao,foi analisado o uso da migracao de processos para a obtencao de desempenho nesse am-biente. Quatro nos doclusterforam reservados para os testes, sendo que uma sobrecarga
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
29
0
20
40
60
80
100
120
Cenário 1 Cenário 2 Cenário 3
Tem
po d
e ex
ecuç
ão (
em s
egun
dos)
(a)
Sequencial2 processos4 processos8 processos
16 processos
20
25
30
35
40
45
50
Cenário 1 Cenário 2 Cenário 3
Tem
po d
e ex
ecuç
ão (
em s
egun
dos)
(b)
Sem sobrecargaCom sobrecarga e sem migraçãoCom sobrecarga e com migração
Figura 2. (a) Ganhos obtidos com a paralelizac ao do algoritmo com 2, 4, 8 e 16processos; (b) ganhos obtidos ao trabalhar com 4 processos e migrar 2 deles denos sobrecarregados para n os levemente carregados.
foi simulada em dois destes. A Figura 2 (b) apresenta os resultados obtidos ao executaro algoritmo paralelo com 4 processos. Observa-se que o ambiente simulado gerou umasobrecarga de 152,67% para o Cenario 1, 158,10% para o Cenario 2 e 162,17% para oCenario 3. Nesse sentido, testes de migracao consistiram em transferir os objetos loca-lizados em nos sobrecarregados para nos levemente carregados. Para tanto, chamadasexplıcitas ao metodobsp migrate() de jMigBSP foram inseridas no codigo da aplicacao.Ganhos de 20,01%, 19,55% e 17,53% foram alcancados nos Cenarios 1, 2 e 3, respecti-vamente, ao comparar o ambiente sobrecarregado com e sem migracoes.
5. Trabalhos Relacionados
Existem diversos trabalhos que descrevem estrategias para paralelizar o algoritmo deFractal para a compressao de imagens. Em [Palazzari et al. 1999], os autores propoemdividir a imagem entre os processadores disponıveis e aplicar, simultaneamente, o al-goritmo de compressao sequencial na subimagem sem qualquer comunicacao entre osprocessos. Esta abordagem tem o inconveniente de que a qualidade da imagem re-sultante pode ser inferior em relacao a obtida usando o algoritmo sequencial. Issoocorre porque cada processador trabalha com um conjunto de domınios e intervalose pode nao obter uma melhor combinacao se comparado com a abordagem sequen-cial. Em [Jackson and Blom 1995, Hufnagl and Uhl 2000], os autores apresentam es-trategias de paralelismo utilizando a abordagem mestre-escravo. Em especial, no trabalhode [Jackson and Blom 1995], cada processo escravoe responsavel por um conjunto dedomınios. O processo mestre envia conjuntos de intervalos paraos processos escravos eaguarda que os mesmos retornem a melhor combinacao para o seu conjunto de domınios.Dependendo se a combinacaoe satisfatoria ou nao, o conjunto de intervalos pode ou naoser enviado para outro processo.
Alguns trabalhos combinam os paradigmas mestre-escravo epipelinecircular. Porexemplo, nos esforcos de [Jackson and Mahmoud 1996], conjuntos de domınios sao dis-tribuıdos entre os processos escravos. Em seguida, cada processoescravoe designadopelo mestre a calcular um conjunto de intervalos. Se a combinacao encontrada for in-ferior ao limite desejado, ou se o conjunto de intervalos ja foi confrontado com os de-mais processos, o conjunto de intervalose devolvido ao mestre, juntamente com a me-
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
30
lhor combinacao de domınio obtida. Caso contrario, o processo escravo encaminha oconjunto de intervalos ao proximo processo dopipeline. Em uma abordagem diferente,[Lee et al. 2000] atribui aos processos escravos conjuntos de intervalos. Cada conjuntode intervalose comparado com diferentes conjuntos de domınios. Uma vez que a etapa decomparacao e concluıda, o conjunto de domınios e transferido para o proximo processodo pipelinepara uma nova etapa de comparacao. A etapa de comparacao e completadaquando todos os conjuntos de domınios passarem pelopipeline. A modelagem apre-sentada neste trabalho tira proveito do paradigma depipelinecircular e nao requer umprocesso mestre para a distribuicao dos conjuntos de domınios e intervalos.
6. ConclusaoEsse artigo apresentou uma modelagem BSP para o problema de compressao de imagens.Cada processo tem uma parte dos domınios e recebe a cada superetapa um conjunto deintervalos para avaliar. Uma vez que um conjunto de intervalos passa por todos os proces-sos, tem-se precisamente quais os domınios que obtiveram melhor mapeamento. Os resul-tados mostraram a eficiencia do paralelismo e da biblioteca de programacao usados. Porser um problema trivialmente paralelizavel, alcancou-se uma eficiencia paralela media de93,31%. Os resultados iniciais envolvendo migracao de objetos de forma explıcita foramapresentados num ambiente com nos sobrecarregados. A migracao se mostra pertinente epode ser uma alternativa quando oscilacoes relacionadas ao comportamento dos recursossao frequentes. Trabalhos futuros compreendem a execucao da aplicacao de Fractal sobreum ambiente degrid formado porclustersheterogeneos entre si.
ReferenciasBatista, M., da Fonseca, N.S., Miyazawa, K., and Granelli, F.(2008). Self-adjustment of
resource allocation for grid applications.Comp. Networks,52:1762–1781.
Bonorden, O. (2007). Load balancing in the bulk-synchronous-parallel setting using pro-cess migrations. InParallel and Distrib. Processing Symp. (IPDPS) IEEE,pages 1–9.
Graebin, L. and Righi, R. d. R. (2011). jMigBSP: Object Migrationand AsynchronousOne-Sided Communication for BSP Applications. In12th Conf. on Parallel and Dis-trib. Computing, App. and Technologies, Korea. Accepted for publication. To appear.
Hufnagl, C. and Uhl, A. (2000). Algorithms for fractal image compression on massivelyparallel simd arrays.Real-Time Imaging, 6:267–281.
Jackson, D. J. and Blom, T. (1995). A parallel fractal image compression algorithmfor hypercube multiprocessors. In27th Southeastern Symposium on System Theory(SSST’95), SSST ’95, pages 274–278, IEEE.
Jackson, D. J. and Mahmoud, W. (1996). Parallel pipelined fractal image compressionusing quadtree recomposition.The Computer Journal, 39(1):1–13.
Lee, S., Omachi, S., and Aso, H. (2000). A parallel architecture for quadtree-based fractalimage coding. In2000 Conf. on Parallel Processing, ICPP ’00, pages 15–22, IEEE.
Palazzari, P., and Lulli, G. (1999). Massively parallel processing approach to fractal imagecompression with near-optimal coefficient quantization.J. Syst. Archit., 45:765–779.
Valiant, L. G. (1990). A bridging model for parallel computation. Commun. ACM,33:103–111.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
31
Um Estudo de Caso de Métodos de Acesso Espaciais Quad Tree e Grid File
FACCIN, Jeferson1; PEZZI, Daniel da Cunha1
[email protected]; [email protected]
Abstract: Geographic Database is a collection of georeferenced data manipulated by Geographic Information Systems (GIS), whose goal is to provide ways to manipulate spatial data becoming an essential part of this GIS. With the development of GIS has become possible to store and represent projections computing environment, making room for the emergence of GIS technology. However, there is the challenge of how to retrieve information from files or a table that involves operations with spatial objects. Alternatively, several methods were developed to access spatial or spatial indexes, which are auxiliary data structures, essential for efficient processing of spatial queries. The main stand out Binary Tree Indexing, Quad Tree, Point Quadtree, Grid File, among others. In this work the main objective is to make a comparative study of spatial access methods Grid-file and Quad-Tree and prepare a road map as a case study of GIS with PostGIS.
Keywords: GIS, Spatial Access Methods, Grid File, Quad Tree. Resumo: Banco de Dados Geográficos é uma coleção de dados georreferenciados manipulados por Sistemas de Informação Geográfica (SIG), cujo objetivo é fornecer meios de manipular dados espaciais tornando-se este parte essencial em um SIG. Com o desenvolvimento de SIG tornou-se possível armazenar e representar projeções em ambiente computacional, abrindo espaço para o aparecimento da tecnologia de Geoprocessamento. No entanto, existe o desafio de como recuperar as informações dos arquivos ou de uma tabela que envolve operações com objetos espaciais. Como alternativa, foram desenvolvidos diversos métodos de acesso espacial ou índices espaciais, que são estruturas de dados auxiliares, essenciais para o processamento eficiente de consultas espaciais. Dentre os principais, destacam-se Indexação de Árvores Binárias, Quad Tree, Point Quadtree, Grid File, entre outros. Neste trabalho o objetivo principal é fazer um estudo comparativo dos métodos de acesso espaciais Grid File e Quad Tree ao elaborar um mapeamento rodoviário como estudo de caso de um SIG com PostGIS.
Palavras-chave: SIG, Métodos de Acesso Espaciais, Grid File, Quad Tree.
1. Introdução Banco de Dados Geográficos, também chamados de Banco de Dados Espaciais,
são ferramentas que possibilitam a realização de cálculos com mapas, áreas, distâncias e centróides. Segundo Silberschatz et al (1999), são utilizados para armazenar informações geográficas, como mapas. A partir da utilização de banco de dados geográficos é possível construir aplicações para a manipulação de dados espaciais.
Segundo Camara et al (2005), ao integrar dados de diversas fontes os Sistemas de Informação Geográficas (SIG) correspondem às ferramentas computacionais de geoprocessamento que permitem a realização de análises complexas. Assim, um banco de dados geográficos armazena e recupera dados espaciais em diferentes geometrias para uma eventual consulta.
Em sistemas de loteamentos, por exemplo, são armazenadas grande quantidade de informações que são cadastradas numa base de dados geográfica. Já um sistema que
1 Curso de Ciência da Computação - Universidade de Cruz Alta – UNICRUZ – Cruz Alta/RS – Brasil
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
32
administra rodovias, por exemplo, cada veículo possui uma localização geográfica de posicionamento exato. Assim, as consultas nessa base de dados poderão ser ineficazes quanto a localização dos objetos e qualidade das informações geradas se não forem otimizadas. Com o problema em questão, surge à necessidade de procurar métodos que auxiliem na organização desses dados. Dentre eles, existem os Métodos de Acessos Espaciais (MAE). Para Ciferri (2001), o principal objetivo de um MAE é propiciar uma rápida obtenção dos objetos espaciais que satisfazem um determinado relacionamento topológico, métrico ou direcional.
O método de acesso espacial possui em sua literatura algumas propostas, tais como: B Tree (PARADEDA, 2002), Quad Tree (SAMET, 1984), R Tree (GUTTMAN, 1984), Kd Tree (Volker Gaede 1997) e Grid File (Brown & Gruenwald, 1998). Cada uma dessas estruturas possui suas características e comportamentos específicos. Esses métodos utilizam uma organização hierárquica e são estruturas de dados organizados em níveis onde o SIG utiliza esta estrutura de dados para realizar a indexação espacial.
Este trabalho apresenta um estudo de caso de mapa de rotas envolvendo os métodos de acesso espaciais Quad Tree e Grid File, os quais atuam no processamento eficiente de consultas espaciais.
2. Sistemas de Informações Geográficas
Sistema de Informações Geográficas (SIG) é uma tecnologia que tem capacidade de modelar, armazenar e manipular uma grande quantidade de dados geograficamente referenciados. Para Câmara (2005), a principal diferença de um SIG para um sistema de informação convencional é sua capacidade de armazenar tanto os atributos descritivos como as geometrias dos diferentes tipos de dados geográficos.
Um SIG processa dados gráficos e não gráficos com ênfase nas análises espaciais e nas modelagens de superfícies. O principal objetivo de um SIG é gerar informações georeferenciadas para criar mapas e fazer análises espaciais (SILVA, 2006). É muito empregado na manipulação de mapas, como por exemplo, na criação de percursos de estrada e circuitos de caminhada. As vantagens de utilizar mapas digitais são consideráveis se comparados a mapas de papéis. Com os mapas digitalizados as atualizações podem ser feitas de forma rápida e dinâmica (ROCHA, 2007).
Dentre outras características, no SIG utiliza-se dos recursos de Sistemas Gerenciadores de Banco de Dados (SGBD) para gerenciar e manipular os dados geográficos. Para tanto, Câmara (2001) e Vinhas (2006) destacam que existem três arquiteturas diferenciadas: Arquitetura Dual (utiliza-se de SGBD relacionais existentes no mercado, como exemplo tem-se SPRING, ARCVIEW e IDRISI); Integrada (armazena todos os dados espaciais, tanto seu componente espacial como a parte alfanumérica); Integrada Baseada em SGBD Relacional (utiliza campos longos chamados de Binary Large Object – BLOB - para armazenar os dados espaciais).
Com a evolução dos SIG tornou-se possível armazenar e representar projeções em ambientes computacionais, abrindo espaço para o aparecimento da tecnologia de Geoprocessamento, que utiliza sistemas de coordenadas geográficas e projeções cartográficas para o tratamento de informações gráficas. Por meio de técnicas matemáticas e computacionais tem influenciado de maneira crescente as áreas relacionadas a cartografia (VASCONCELOS, 2008).
3. Métodos de Acessos Espaciais
Método de Acesso Espacial (MAE) é uma estrutura de organização de dados de forma aleatória que permite recuperar as informações dos arquivos ou de uma tabela que envolve operações com objetos espaciais como: retângulos, matrizes ou quadrados
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
33
(QUEIROZ, 2004). Para trabalhar com essa base de dados e desenvolver consultas mais eficazes são utilizados os métodos de indexação espaciais.
Os Métodos de Indexação Espacial têm por objetivo acelerar o processo das consultas espaciais, organizando os registros. Com isso, aqueles objetos que estão mais próximos um dos outros no espaço vão corresponder com os registros próximos uns dos outro no índice. Para Queiroz (2004), a indexação espacial fornece mecanismo para limitar o conjunto de busca, desta forma aumenta o desempenho das consultas e da recuperação de dados geográficos.
Através do uso de árvores de pesquisas podem-se organizar dados de forma hierárquica e ordená-los. Essas estruturas executam operações como determinar a localização de um elemento ou percorrer uma árvore balanceada, em tempo logarítmico – O (log n). Assim um MAE é projetado como um caminho otimizado para os dados e, com a sua utilização, faz aumentar o desempenho no processamento de consultas, utilizando de SGBD que trabalham com base de dado geográfica (SONAGLIO, 2007).
3.1. Método Quad Tree
O método Quad Tree é um tipo de estrutura de dados organizada em árvore, geralmente usado para dividir espaços bidimensionais por meio de divisão recursiva de cada região em quadrantes. Essa divisão é usada até que o parâmetro pré-estabelecido seja atingido (SOUZA, 2009). Neste tipo de estrutura, a separação dos elementos pode ser regular, onde divide em partes iguais cada nível ou determinada por características do novo dado. A estrutura manipula dados, como pontos, áreas, curvas, superfícies e volumes (AZEVEDO, 2001).
Com o Quad Tree é possível representar qualquer tipo de forma de objeto geográfico, que ocorre com subdivisões hierárquicas em quadrantes. Desta forma é possível fazer um mapeamento de figuras geográficas para verificar exatamente seu contorno dentro de algum tipo de coordenada. Por exemplo, podem-se estabelecer os limites de municípios utilizando a decomposição de quadrantes ou então procurar objetos em grandes áreas de forma mais eficiente e sólida.
3.2. Método Grid File
A estrutura do Grid File tem a capacidade de armazenar grandes quantidades de dados, contribuindo para o seu uso em sistemas de grande porte como SIG, onde manipula objetos geográficos em um banco de dados. Sendo assim, a estrutura em grade facilita a manutenção das informações de uma maneira mais natural que outros tipos de estruturas, como por exemplo as árvores binárias (JÚNIOR, 2002).
Conforme Queiroz (2006), o Grid File é uma estrutura de indexação que divide o espaço em uma grade retangular, onde cada célula é associada a uma página do disco. A associação é feita por meio do diretório, que é uma matriz bidimensional onde seus elementos possuem o endereço de uma página.
Grid File utiliza o conceito de hashing, técnica que facilita a pesquisa em dados convencionais. Este método, segundo Queiroz (2005), consiste em criar uma série de receptáculos chamados de bucket, que é uma unidade de armazenamento físico, onde mantém os registros, seu conteúdo pode ser alocado completamente em memória principal. Já as células são as unidades de alocação lógicas que representam cada quadrante da grade de um Grid File. Abreu (2003) descreve que cada bucket tem capacidade de armazenar uma quantidade limitada de registros. Caso esta capacidade seja excedida, ocorre uma situação de overflow então o intervalo é novamente dividido em mais buckets e os dados são reorganizados.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
34
4. Experimento prático
Como experimento prático, para este trabalho de pesquisa, foi construído um sistema de geração de mapas de rotas com aplicação dos métodos Quad Tree e Grid File, o qual está representado, na figura 1, em um mapa conceitual (construído com o software livre CmapLite).
Figura 1 – Mapa conceitual do experimento prático.
Quanto aos softwares empregados no experimento, optou-se pelo PostgreSQL 8.2, com extensão PostGIS para trabalhar com dados espaciais e o Quantum GIS 1.5.0 para a aplicação dos métodos. E ainda, o console pgAdmin III utilizado para fazer as consultas (todos Open Source).
No Quantum GIS (QGIS), ilustrado na figura 1, utilizou-se uma base de dados do IBGE, a qual contem os municípios no formato de um mapa contendo 497 municípios. Dentre os municípios disponibilizados, foi escolhido o de Ibirubá/RS para aplicar os testes práticos, que após a inserção da divisão da área em uma grade foi feita uma inserção de pontos, tanto fixos quanto aleatórios, distribuídos por toda a área do mapa.
Uma conexão foi estabelecida entre o QGIS e o PostGIS, deste modo os arquivos com a extensão shape foram exportados para criar os índices espaciais. Assim, para o arquivo carregado no PostGIS foi gerada uma nova base de dados. Sendo assim, obteve-se uma tabela espacial para cada conjunto de pontos, composta por três atributos onde ficaram armazenados os identificadores “id”, “gid” e “the_geometry”.
Os pontos aleatórios foram gerados no QGIS e georreferenciados para extrair as suas coordenadas. A ferramenta utilizou arquivos do tipo raster, ou seja, imagens de satélites do interior do município de Ibirubá/RS (adquiridas a partir do Google Earth) para fazer o georreferenciamento. Toda a região foi dividida em pequenos quadrados, chamados de células. Cada célula com um valor de referência, mostrado em coordenadas. A escala
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
35
utilizada foi de 1:133814. Caso a escala fosse aumentada a imagem se aproximaria na tela, tornando difícil a visualização da área total do município e os pontos inseridos.
A criação da rota foi feita na imagem raster por meio da ligação dos pontos inseridos com o método Grid File. A direção da rota iniciou no primeiro ponto avaliado, ou seja, em zero, desta maneira seguindo uma ordem crescente até chegar ao último ponto inserido, de número doze (ilustrado na figura 2).
Figura 2 – Rota gerada com o método Grid File.
Para a fase de aplicação do método Quad Tree foram utilizadas as mesmas configurações realizadas nos softwares QGIS e PostGIS, a partir da mesma base de dados (ibge_municipios496_ajust). O Quad Tree foi aplicado sobre o Grid File para a subdivisão da área de pesquisa. Dessa forma foram realizadas sucessivas subdivisões fazendo com que as células diminuíssem de tamanho e aumentassem sua quantidade em toda a camada vetorial do mapa da cidade de Ibirubá. O que ocasionou, no caso de pontos aleatórios, a seleção de apenas sete pontos (aqueles que ficaram inteiramente dentro de cada célula).
5. Conclusões parciais
O método Grid Files é eficiente e consideravelmente fácil de implementar no tratamento de dados pontuais. No entanto, possui como desvantagem sua limitação em somente lidar com objetos que caibam inteiramente dentro de um quadrado. Sendo assim, se torna inadequado para trabalhar com linhas ou polígonos. Para uma inserção de 75 pontos aletórios, testados no experimento prático, apenas 12 destes puderam ser avaliados, pois estavam localizados no interior das células da grade gerada.
Com relação ao Quad Tree, cuja característica é de produzir sucessivas subdivisões das células de uma grade e consequentemente diminuir seu tamanho, tornou mais difícil a localização de objetos no mapa de rotas, porém aumentou a precisão de localização dos pontos nas células.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
36
A próxima etapa do experimento prático desta pesquisa ocorrerá a avaliação quantitativa dos métodos escolhidos quanto as métricas de precisão e desempenho para grandes quantidades de pontos em rotas mais complexas.
Referências
ABREU, A. Indexação de imagens de profundidade baseada em Conteúdo. Dissertação em Mestrado em Informática. Universidade Federal do Paraná-UFPR, Curitiba, 2003.
AZEVEDO, L. Filtro Raster para Junções de Polilinhas. Tese em Mestrado em Engenharia de Sistemas e Computação. Universidade Federal do Rio de Janeiro, COPPE-RJ, 2001.
CÂMARA, G.; et al. Banco de Dados Geográficos. Curitiba: Editora MundoGEO, 2005. CÂMARA, G. THOMÉ, R. Modelo de Dados em Sistemas de Informação Geográficas. São José
dos Campos,INPE,2001. CIFERRI, R.; SALGADO, A, C. Métodos de Acessos Espaciais em Termos de Distribuição
Espacial de Dados. Workshop brasileiro de Geoinformatica, 2001. GUTTMAN, Anthonin. R-trees: A dynamic index structure for spatial searching. Proc. ACM
SIGMOD Int.Conf. on Management of Data, 1984. JÚNIOR, F. Estratégias de Particionamento de Blocos para Grid-File. Dissertação em Mestrado
em Ciência da Computação da Universidade Federal do Ceará - UFC, Fortaleza Janeiro de 2002. QUEIROZ, G. Algoritmos Geométricos para Banco de Dados Geográficos da Teoria a pratica no
Terralib. Dissertação de Mestrado em Computação Aplicada. Instituto Nacional de Pesquisas Espacial-INPE, 2004.
QUEIROZ, G.; Davis. C. Bancos de Dados Geográficos. Métodos de Acessos para Dados Espaciais - capitulo 6. Instituto Nacional de Pesquisas Espaciais - INPE. 2005
QUEIROZ, G.; FERREIRA, K. Tutorial sobre Bancos de Dados Geográficos. GeoBrasil, INPE – Instituto Nacional de Pesquisas espaciais, 2006.
ROCHA, P.; BRITO F. Aplicação dos Sistemas de Informação Geográfica no Turismo. Finisterra, XLII, 84, pp. 105-118, 2007.
SAMET, H. The Quadtree and Related Hierarchical Data Structures. ACM Computing Surveys, v. 16, 1984.
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistemas de Bancos de Dados. Makron Books, 3ª. edição, 1999.
SILVA, M. Sistemas de Informações Geográficas. Elementos para o desenvolvimento de bibliotecas digitais geográficas distribuídas. Dissertação em Mestrado em Ciência da Informação da UNESP, 2006.
SONÁGLIO, Wagner Comin. Analise Comparativa do desempenho dos métodos de Acessos para Dados Espaciais: Estudo de Caso com o PostGIS. Monografia de Graduação em Ciência da Computação, Universidade do Estremo Sul Catarinense - UNESC, 2007.
SOUZA, V. Uma Implementação do protocolo de Roteamento Multi-geo para Redes de Sensores sem Fio Usando QuadTree. Dissertação de Mestrado em Ciência da Computação. Minas Gerais-MG, 2009.
VASCONCELOS, B. Geoprocessamento e Gerenciamento: Um Estudo de Caso na Empresa Poliplast-PB. Monografia de graduação em Tecnólogo em Geoprocessamento. Do Centro Federal de Educação Tecnológica da Paraíba, CEFET, 2008.
VINHAS, L. Um Subsistema Extensível para o Armazenamento de Geo-Campos em Banco de Dados Geográficos. Tese de Doutorado do Curso de pós-graduação em Computação Aplicada, INPE, 2006.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
37
Um modelo computacional híbrido para análise da
transmissão sobre o Internet Protocol Television (IPTV)
Carlos A. Weissheimer. Jr., Arthur Tórgo Gómez Programa Interdisciplinar de Pós-graduação em Computação Aplicada (PIPCA)
Universidade do Vale do Rio dos Sinos (UNISINOS) AV. Unisinos, 950 – 93022 – São Leopoldo – RS - Brasil
{carlosawe, atgomez}@gmail.com
Abstract. IPTV technology is one impacting factor on society. It is currently
the subject of several studies, it can bring many benefits to society, such as
support for interactivity and increased interoperability with home networks.
This paper presents the development of a computational model based on the
application of metaheuristics on an IPTV platform in order to find the best
configuration of transmission parameters.
Resumo. A tecnologia IPTV é um fator impactante na sociedade. Atualmente,
é alvo de várias pesquisas, pois pode trazer muitos benefícios para a
sociedade, tais como o suporte a interatividade e o aumento da
interoperabilidade com redes domésticas. Este trabalho apresenta o
desenvolvimento de um modelo computacional baseado na aplicação de
metaheurísticas sobre uma plataforma IPTV com o objetivo de encontrar a
melhor configuração dos parâmetros de transmissão.
1. Introdução Com o advento da televisão digital temos também uma evolução em termos tecnológicos, e assim fatores como: melhorias na transmissão deste sinal com um tempo de resposta mais adequado, uma entrega que siga aos padrões de qualidade estabelecidos pelos usuários e uma capacidade de menor de banda são importantes para que essa tecnologia se difunda de maneira mais acessível. Dentro deste contexto, o estudo da plataforma IPTV tem sua importância evidenciada. O respectivo artigo tem como objetivo desenvolver um algoritmo híbrido utilizando as metaheurísticas Busca Tabu (BT) e Algoritmo Genético (AG), que viabilize a análise e estudo dos parâmetros de taxa de transmissão, qualidade de vídeo, qualidade de áudio, número de clientes e largura de banda visando encontrar a melhor configuração da transmissão IPTV dadas às características de cada cliente. Para Lee em [Lee 2007] e Volk [Volk 2008] o Internet Protocol Television (IPTV) é uma tecnologia que fornece vídeo digital em tempo real e serviços de streaming de televisão, sobre IP e redes de acesso, com mecanismos para garantir a qualidade adequada do serviço (QoS).
Este artigo está divido em 5 seções apresentadas em sequência, sendo a primeira a introdução. A segunda a ser abordada é intitulada como revisão do estado da arte, onde são apresentadas as características do IPTV. Nela também é descrito o algoritmo genético. Já o terceiro é composto pela arquitetura do modelo e pela formulação do modelo matemático que se propõem. A quarta seção apresenta os experimentos realizados e os resultados obtidos através deles. E por fim a conclusão que, de forma sucinta, define o quanto o trabalho conseguiu atingir seu objetivo.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
38
2. Revisão do estado da arte
Essa sessão é dividida em duas subseções, a primeira descreve o conceito de IPTV. Na segunda subseção são abordadas as características da metaheurística utilizada (Algoritmo Genético).
2.1. Internet protocol Television (IPTV)
IPTV é o estilo de TV com conteúdos entregues via protocolo de Internet diretamente ao consumidor, através de uma rede fechada [Ugalde e Huici 2007]. O provedor de conteúdo controla a rede que fornece o sinal para o usuário, mas isso é diferente de TV pela Internet. Pinto em [Pinto e Ricardo 2010] complementa a definição de Internet
Protocol Television descrevendo que é o serviço de transmissão (streaming) de programas de TV ao vivo e de vídeo sob demanda através de uma rede IP. Na figura 1 é apresentada uma estrutura simplificada da rede IPTV.
Figura 1. Estrutura simplificada IPTV
Na Figura 1, observa-se o Data Center IPTV por onde entram os dados que são codificados e encaminhados para o servidor de aplicação e assim transmitidos por meio da rede IP, onde encontra-se os equipamentos de rede como switches e roteadores, até o usuário final. Através de equipamentos como o Set-Top-Box o usuário final decodifica esses dados [Marie, et.al. 2010]. A casa digital representa um composto de equipamentos que podem suportar essa transmissão, como TVs e computadores. Neste contexto uma solução convergente que adapta a transmissão de TV para os modelos de TVD e IPTV é proposta pelo projeto DIGICONV e representada pela figura 2.
Figura 2. Modelo de transmissão convergente TVD e IPTV [6].
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
39
No modelo retratado pela figura 2 é prevista a abrangência na forma como o sinal digitalizado é distribuído a partir das emissoras. Cobre-se principalmente a transmissão terrestre (i.e. broadcast) e a transmissão através de serviços de rede de computadores baseados no protocolo IP (i.e. IPTV). Nessa estrutura é possível ver os três formatos de vídeo (HD, SD e LD) onde o primeiro representa alta definição, o segundo uma definição intermediária e o terceiro, representa a definição encontrada nos dispositivos móveis [Gómez, et, al. 2010]. O modelo híbrido não irá atuar em todo modelo retratado pela figura 2, e sim apenas pelas partes evidência na mesma. Dentro do contexto que na transmissão IPTV existem parâmetros que variam conforme o meio de transmissão e a necessidade do cliente; são eles: os tipos de vídeo e a largura de banda do cliente, assim uma simulação através de um AG proposta sendo o algoritmo e suas características apresentadas na seção 2.2.
2.2. Algoritmo Genético (AG)
De forma geral, consiste na teoria biológica dos sistemas naturais, onde os melhores indivíduos sobrevivem e geram descendentes com suas características hereditárias e a partir disso, melhores soluções podem ser encontradas para os mais diferenciados problemas [Glover 1994]. Seu procedimento envolve a criação, com uma representação que combina dados de uma população de indivíduos representando as soluções viáveis e descrito pela literatura como cromossomos [Glover 2003]. Assim os indivíduos mais fracos são removidos e consequentemente novos membros são adicionados a população atualizando-a. Normalmente um AG começa com uma população aleatória de cromossomos representados por uma cadeia de bits, 0 e 1, [Michalewicz 1994]. Sua recombinação é realizada fazendo com os operadores de cruzamento e mutação, e a busca é guiada pela avaliação da função objetivo de cada indivíduo da população.
A FO também chamada de fitness permite o cálculo da aptidão bruta de cada indivíduo que fornecerá o valor a ser usado para o cálculo de sua probabilidade de ser selecionado para reprodução [Glover 2003]. Na próxima seção será abordada a arquitetura do modelo computacional e a formulação do modelo matemático.
2.3. Busca Tabu (BT)
Uma Busca Tabu simples pode ser suficiente para resolução de problemas difíceis, porém em muitos casos são incluídos elementos na estratégia de busca para melhorar a eficiência do algoritmo, alguns deles já descritos anteriormente [Glover 1989].
Um processo de busca tabu simples, pode iniciar a partir da geração de uma solução inicial. O processo de inicialização trata da inicialização dos parâmetros e funções da Busca Tabu. Em seguida, é verificado o critério de parada. O critério de parada pode ser o número de iterações do algoritmo sem melhora no valor da função objetivo ou se a função objetivo atingir um valor determinado. A geração de vizinhanças consiste na criação de novas soluções, através de movimentos, conforme apresentado na Figura 10. No processo de obtenção de uma melhor solução, deve se obter a melhor solução na vizinhança respeitando a Lista Tabu e o critério de aspiração para o movimento Tabu. E por fim, a atualização das variáveis de controle que tem como objetivo definir qual a melhor solução encontrada e atualizá-la [Glover 1989].
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
40
3. Modelo
Esta seção apresenta o modelo computacional proposto pelo artigo, através de sua arquitetura e da formulação do modelo matemático. Ela descreve o modelo sugerido e apresenta sua formulação explicando como ela irá atuar sobre o mesmo.
3.1. Arquitetura do Modelo
Um modelo de transmissão de TVD, tal como o definido pelo SBTVD, é utilizado não só por grandes empresas como a Cisco, que utilizam suas próprias variações do mesmo com intuído de melhorar o enquadramento dentro do seu objetivo, mas também por projetos com fins educacionais. No modelo proposto a utilização de uma metaheurística é necessária para testar as N combinações possíveis com intuito de se achar a melhor. Esse problema é de classificação NP-Hard. A metaheurística utilizada foi um algoritmo genético. Na Figura 4 é apresentada a arquitetura do modelo a ser utilizada.
Figura 3 – Algoritmo Híbrido: BT e AG.
Para que o algoritmo híbrido funcione de maneira correta, algumas restrições devem ser respeitadas, visando encontrar a melhor configuração dos parâmetros de entrada a serem trabalhadas pelo modelo proposto a partir de uma solução inicial aleatória, sempre respeitando aos limites impostos pelo mundo real, apresentado na seção 3.2.
3.2. Formulação do Modelo Matemático
O modelo proposto pode ser formalmente descrito com base nas equações desenvolvidas a seguir. Elas levam em conta as tabelas descritas nessa seção que são baseadas em recomendações (ITU-T, 2007), para que a melhor configuração seja obtida. Segue a formulação matemática proposta:
MAX FO = Tt + Qv + QA + Nc + Lb (1)
Onde:
Tt = גsdTTSD + גhdTtHD + גldTtLD + גp1TtP1 + גp2TtP2 (2)
Qv = βsdQSD + βhdQHD + βldQLD + βp1QvP1 + βp2QvP2 (3)
Lb = µsdLbSD + µhdLbHD + µ ldLbLD + µp1LbP1 + µp2LbP2 (4)
Nc = αsdNcSD + αhdNcHD + αldNcLD + αp1NcP1 + αp2NcP2 (5)
QA = ω5.1Q5.1 + ωstQst (6)
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
41
Sujeito a:
TtHD 0 e TtHD 6 (7)
TtSD 0 e TtSD 2 (8)
TtLD 0 e TtLD 0.5 (9)
QHD 2 e QHD 100 (10)
QSD 0,1 e QSD 100 (11)
QLD 0,01 e QLD 100 (12)
LbDSL 0,128 e LbDSL 24 (13)
LbADSL 0,064 e LbADSL 8 (14)
LbVDSL 0,128 e LbVDSL 52 (15)
LbWINMAX 0,128 e LbWINMAX 15 (16)
LbCDMA 0,01 e LbCDMA 2 (17)
C TIPTV (18)
p2, βsd, βhd, βld, βp1, βp2, µsd, µhd, µג ,p1ג ,ldג ,,hdג ,sdג ld, µp1, µp2, αsd,αhd, αld, αp1,αp2, ω5.1, ωst ∈ Z+ (19)
A função objetivo desta formulação, a equação (1), descreve as variáveis de decisão consideradas no modelo. A equação (2) é dada pelo soma dos valores atribuidos para os diferentes formatos de video (SD, HD e LD) em relação à taxa de transmissão, se somado a eles os valores de customisação P1 e P2. A mesma lógica é seguida para as equações (3), (4) e (5), porém elas levam em consideração a qualidade de vídeo, número de clientes e largura de banda respectivamente. Já na equação (6), apenas os dois valores de áudio são levados em consideração. As letras gregas que aparecem nas equações (2), (3), (4), (5) e (6) representam os pesos de cada variável na FO. Estes pesos representam a contribuição de cada variável na função objetivo. Através de uma análise da influencia dos pesos, conforme os tipos de clientes, o modelo podera ser calibrado de modo a ser customizado. Na próxima seção são apresentados alguns resultados já obtidos.
4. Resultados
A figura 5 apresenta a evolução da função objetivo ao longo das iterações algorítmo em uma execução. Foram executadas mais algumas vezes o algoritmo híbrido, porém não houveram alterações relevantes. A linguagem de programação utilizada foi Java e a máquina utilizada para rodar os experimentos foi um notebook CEE com processador i3, 2Mb de memória, disco rígido de 350Gb, com sistema operacional Windows 7.
Figura 4 – Evolução da Função Objetivo
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
42
Cada ponto representa um valor para FO dentro da geração onde a melhor função objetivo foi encontrada. Sendo assim, é possível observar que no começo há uma considerável melhoria no valor da FO e que ao longo das interações essa melhoria diminui. Isso é bastante comum ocorrer nas metaheurísticas, pois ao longo das gerações fica mais difícil encontrar no espaço de busca soluções melhores que aquele que se tem no momento.
5. Conclusão e Trabalhos Futuros
Os resultados obtidos com a metaheurística para a determinada FO foram satisfatórios. Foi possível encontrar um modelo computacional adequado ao uso de metaheurísticas para transmissão IPTV. Porém em um segundo momento, testes devem ser realizados para validar a solução obtida. Isso será feito através de um simulador de rede que comporte a transmissão IPTV.
Referências
Boulic, R. and Renault, O. (1991) “3D Hierarchies for Animation”, In: New Trends in Animation and Visualization, Edited by Nadia Magnenat-Thalmann and Daniel Thalmann, John Wiley & Sons ltd., England.
Glover, f. Tabu search - parte 1. Orsa - jounal on computing, v. 1, n. 3, 1989.
Glover, f.; james, p.; laguna, m. Genetic algorithms and tabu search: hybrids for optimization. Elsevier science ltd, v. 22, n. 1, p. 111-134, 1994.
Glover, f.; kochenberger, g. A. Handbook of metaheuristics. [s.l.]: kluwer academic publishers, 2003.
Gómez, A. T.; Gluz, J. C.; Barbosa j. L. V.; Chiwiacowsky, L.; Ávila R. B.; Crespo, S. C. S. P.; Moreno, e. I. E Martins, M. G. Especificação técnica e sistêmica - plataforma de convergência digital iptv/tv digital, são leopoldo, 2010. Issn 2332/09.
Lee, C. S. IPTV over Next Generation Networks in ITU-T. Broadband Convergence Networks, p. 1–18, 2007.
Marie, J.; Klym, N.; Mirlacher, T. The future of IPTV. Springer Science, 2010.
Michalewicz, Z. Genetic Algorithms+Data Structures=Evolution Programs. Springer-Verlag, 1994.
Pinto, A.; Ricardo, M. Secure multicast in IPTV services. Computer Networks, p. 1531-1542, 2010.
Ugalde, J. B.; Huici., I. A. Convergence in Digital Home Communications to Redistribute IPTV and High Definition Contents. Consumer Communications and Networking Conference, 2007.
Volk, M. IPTV Systems, Standards and Architectures: Part II - Quality-Assured Provisioning of IPTV Services within the NGN Environment. Communications Magazine IEEE, v. 46, n. 5, p. 118–126, 2008.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
43
Aplicabilidade de CMS como ferramenta de apoio colaborativo na educação tecnológica
Armando Rupel1, Ademir Mazer Junior1, Gleifer Vaz Alves1, Marcia Regina Carletto2
1Coordenação de Informática – Universidade Tecnológica Federal do Paraná (UTFPR) Ponta Grossa – PR – Brasil
2Coordenação de Alimentos – Universidade Tecnológica Federal do Paraná (UTFPR) Ponta Grossa – PR – Brasil
{armandorupel, ademir.mazer.jr, gleifervaz}@gmail.com, [email protected] Abstract. This article describes the development process of a collaborative
environment for learning using as a support a CMS tool.
Resumo. O presente artigo demonstra o desenvolvimento de um projeto para
criação de um Ambiente Colaborativo de Aprendizagem utilizando CMS como
ferramenta de apoio.
1. Introdução
Avaliação de Impacto Tecnológico Segundo Carletto (2009), a Avaliação de Impacto Tecnológico (AIT) pode ser qualificada como um exercício acadêmico, baseado na problematização da tecnologia durante o desenvolvimento de novos produtos, na tentativa de estimular reflexões e identificação de consequências / impactos que as atividades da engenharia/tecnologia podem acarretar. Estudo realizado por Silveira (2007) demonstrou que a principal preocupação dos gerentes, assessores e empreendedores de incubadoras tecnológicas, relacionam a inovação tecnológica por eles desenvolvida com a competitividade e o lucro, sem uma preocupação com outras questões, no desenvolvimento de novas tecnologias. Se por um lado, de acordo com Carletto (2009), essa perspectiva alerta para o fato de que a educação cientifica e tecnológica não está oportunizando de modo suficiente a compreensão do processo tecnológico, em suas causas e efeitos e nem mesmo o exercício de avaliação de impacto sociais, econômicos e principalmente ambientais resultantes da produção, gestão e incorporação das novas tecnologias, como recomendado pelas diretrizes curriculares nacionais – DCN’s (BRASIL, 2002). Por outro lado, a proposta de Avaliação de Impacto Tecnológico poderá levar à problematização e à identificação de impactos potenciais na fase do projeto do desenvolvimento do produto, de modo a estimular não só estudos sobre as interações Ciência, Tecnologia e Sociedade (CTS), mas também, a busca de soluções e eliminação/minimização de efeitos negativos na saúde humana, no ambiente e no social, promovendo a sustentabilidade. O termo objeto social é o foco sobre o qual as pessoas podem interagir. Uma rede social são sítios que possibilitam às pessoas criticarem e se expressarem através de objetos que são hospedados no sítio – por exemplo, uma fotografia (BELL, 2010, p. 41). A lista 1 mostra algumas redes sociais virtuais e os objetos sociais em volta do que elas designam.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
44
• Dopplr o Viagens (e encontro com amigos).
• Flickr o Conversas sobre fotografias (mais vídeos e lugares).
• FriendFeed o Fluxo agregado de conteúdo e respostas de alguma pessoa.
• Last fm o Músicas que estão sendo ouvidas.
• SlideShare o Apresentações e as pessoas responsáveis por elas.
• Youtube o Vídeos.
• Nature Network • Academia.edu
o Pesquisa Acadêmica.
Lista 1 - Objetos sociais para redes sociais virtuais populares.
Fonte: Adaptado de Bell (2010, p. 34).
Modelos de redes sociais determinam seus elementos, ou seja, quais são os conteúdos e tipos de conexões que se estabelecem entre os usuários. Em termos gerais, as conexões em uma rede social são constituídas pelas relações que são formadas através da interação social entre os usuários (RECUERO, 2009, p. 30). Os sistemas de Gerenciamento de Conteúdo (CMS) foram desenvolvidos inicialmente para grandes operações de publicação de conteúdo – caso dos portais e empresas jornalísticas e segundo Terra e Gordon (2002, p.113) . De acordo com Rodrigues (2008) os Sistemas de Gestão de Conteúdos são aplicações corporativas que permitem a publicação e a manutenção descentralizada de conteúdo em Intranets, Internets e Extranets e tornam possível, simples e mais ágil o processo de criação, organização, inclusão e atualização de informações em web sites, facilitando o processo de disponibilização de informações relevantes aos negócios e ao trabalho.
2. Objetivos da Pesquisa
Objetivos Gerais
Desenvolver um ambiente colaborativo para a AIT, baseado em sistemas de gerenciamento de conteúdo em formato de um Guia Interativo, responsável pela gestão do conteúdo utilizado no desenvolvimento de produtos alimentícios; e uma rede social tendo o guia como objeto social. Objetivos Específicos 1. Identificação e classificação do conteúdo (informação para o guia), 2. Definição de critérios para escolha do CMS; 3. Escolha do CMS; 4. Implantação e configuração do CMS para atender aos requisitos do Guia Interativo; 5. Extensão da configuração do CMS para atender aos requisitos de Rede Social.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
45
Neste momento a pesquisa se encontra em execução do objetivo 4, implantação e configuração para o guia.
3. Desenvolvendo a Aplicação
Descrição dos trabalhos realizados para atingir os objetivos específicos
cumpridos até o momento: • Coleta e classificação de conteúdo para serem inseridos no Guia Interativo,
dados obtidos através da pesquisa realizada pelos alunos do curso de Tecnologia em Alimentos, membros do grupo de pesquisa do projeto.
• Depois de realizado o levantamento e classificação dos conteúdos, inicia-se o processo de escolha da ferramenta CMS, definindo uma serie de critérios a serem respondidos. Sendo eles: 1. Sistemas de Bancos de Dados Suportados (Requisito: mysql) 2. Última atualização (Requisito: máximo 12 meses) 3. Maduro? Data do primeiro release? (Requisito: mínimo 4 anos) 4. Licença (Requisito: licença open source) 5. Linguagem/Plataforma (Requisito: mínimo PHP 5.2); 6. Suporte a módulos e/ou Plugins; 7. Módulos wiki? Oficial ou comunidade? Maduro? 8. Módulos para gerenciamento de tarefas ou projeto? Oficial ou comunidade?
Maduro? 9. Módulos de blog? Oficial ou comunidade? Maduro? 10. Módulos de fórum? Oficial ou comunidade? Maduro? 11. Módulos para gestão de comunidade? Oficial ou comunidade? Maduro?
(desejado) 12. Módulos para gestão de documentos? Versionamento? Workflow de
aprovação? Oficial ou comunidade? Maduro? 13. Módulos ou plug-in para criação de campos dinamicamente em banco de
dados/metadados? Oficial ou comunidade? Maduro? 14. Módulos para gerenciamento de eventos/calendário? Oficial ou comunidade?
Maduro? 15. Workflow de aprovação para publicação de artigos/notícias? Permite
alteração pelo usuário? 16. Links permanentes? 17. Gestão de Taxonomias/Dicionários? 18. Repositório de Módulos/Plug-ins mantido oficialmente? 19. Número de módulos/plug-ins disponíveis. Oficiais e da comunidade 20. Estimativa de sites utilizando o CMS? 21. Integração com Moodle ou outro LMS? 22. ACL (Access Control List)? 23. Nível de granularidade da ACL 24. Uma instalação física permitindo vários sites configurados? 25. Sistema de autenticação? Quais? (Open ID, Google, Yahoo) 26. Arquitetura da aplicação Orientada a Objetos? 27. Aplicação de padrões de projeto na arquitetura? (Requisito: MVC) 28. Arquitetura da aplicação baseada em Framework? Próprio ou estende
framework existente? (Requisito: Zend Framework)
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
46
29. Se framework disponível, permite extensão de módulos stand-alone? 30. Interface com o usuário baseada em framework Javascript? Qual? 31. Permite o uso de outros frameworks para a IU? 32. Internacionalização? (Permite fácil tradução?) 33. Existe pacote disponível de tradução para o Português do Brasil? 34. Permite alteração de seu layout gráfico (interface)? 35. Fornece funções (helpers) para o design da interface? 36. Tamanho da comunidade? 37. Mantenedor? Empresa ou organização? 38. Número de desenvolvedores oficiais? 39. Bem documentado para o usuário final? Português? Livros disponíveis? 40. Bem documentado para o desenvolvedor? Português? Livros disponíveis? 41. Compatível com quais navegadores? 42. Editor WYSIWYG? Compatível com quais navegadores? Nativo?
Funcionalidade de upload e gerenciamento de imagens nativo? Gerenciamento de tabelas nativo?
43. Exportação de dados? Funcionalidade nativa ou plugin? Formato aberto? (XML, CSV?)
44. Instalador e configurador automatizados? Completo ou parcial? 45. Disponibiliza ou instala dados de exemplo? 46. Tempo necessário para instalar, configurar e realizar a primeira execução
como usuário visitante, usuário cadastrado e usuário administrador? 2.3 Porque usar o Drupal?
Após definição dos critérios, estes foram aplicados em três CMS listados no sítio opensourcecms com a melhor performance de votação de usuários.
WordPress Joomla Drupal
Instalação Bom Excelente Regular
Taxonomia do conteúdo Regular Bom Excelente
Usabilidade Excelente Bom Regular
Segurança Bom Bom Bom
Disponibilidade de Templates Excelente Excelente Excelente Quadro 1 - Comparativo SGC.
Fonte: Adaptado de RIBEIRO & LIMA (2010).
O resultado do confronto dos critérios, mais o embasamento dado pela pesquisa
de Ribeiro e Lima, demonstrado no quadro 1, indicou o Drupal como escolha para o projeto, além do fato de ele fornecer a melhor taxonomia de conteúdo, que para este contexto é fundamental, devido ao guia necessitar suportar diversos tipos de conteúdos.
4. Proposta de Solução 4.1 Implantação e configuração.
Após ter sido escolhido o CMS a ser utilizado, foi iniciada a implantação e configuração em forma estrutural do Guia Interativo com o conteúdo de alimentos classificados.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
47
Focando o seu uso de forma colaborativa no ensino tecnológico, alunos poderão usar a ferramenta como um auxilio no desenvolvimento de novos produtos, podendo escolher de forma mais sustentável as matérias primas a serem utilizadas no seu projeto.
Figura 1 – Imagem do Guia Interativo mostrando sua página inicial.
4.2 Testes da configuração inicial
Após o termino da instalação e configuração básica do CMS, como apresentado na figura 1, o grupo iniciou a inserção de dados, que foram obtidos através da pesquisa realizada.
A importância de se realizar a inserção de dados nesse momento é visualizar o comportamento do sistema, permitindo assim a coleta de informações para possíveis mudanças na modelagem da configuração para o Guia. 4.3 Extensão para Rede Social
Desde seu inicio, a ferramenta foca a sua expansão para uma rede social, tendo como Objeto Social o Guia Interativo, podendo assim futuramente suportar conteúdos para diversas áreas, sempre focado na educação de forma colaborativa. 4.4 - Modelo de arquitetura
O modelo apresentado na figura 2 demonstra a arquitetura pensada para o desenvolvimento do ambiente colaborativo, através da utilização do CMS Drupal como sua base.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
48
Figura 2 – Diagrama apresentando o modelo de Arquitetura.
5. Conclusão Acredita-se que tão logo seja iniciado o uso do Guia, mesmo que ainda sem a
expansão para rede social, ele auxilie o processo de educação levando alunos a pensar formas sustentáveis para fabricação de produtos. Seu aspecto colaborativo, até a implantação da rede social, se dará pela possibilidade dos professores alimentarem os conteúdos inicialmente fornecidos pelo grupo de estudos, graças à modelagem focada na inserção descentralizada da informação.
O Guia Interativo, assim que finalizado, será disponibilizado para utilização nas aulas de desenvolvimento de produtos no curso de Tecnologia de Alimentos da UTFPR - Campus Ponta Grossa. Referências BRASIL. Resolução CNE/CES 11 de 11 de março de 2002. Institui Diretrizes
Curriculares Nacionais do Cursos de Graduação em Engenharia. Diário Oficial da República Federativa do Brasil, Brasília, DF, 9 abr. 2002b. Seção 1, p. 32.
CARLETTO, M. R.. Avaliação de impacto tecnológico: alternativas e desafios para a educação crítica em engenharia. Tese (Doutorado) - Universidade Federal de Santa Catarina, Programa de Pós-Graduação em Educação Científica e Tecnológica. Florianópolis, SC, 2009.
OPENSOURCECMS. Votação dos usuários. Disponível em: <http://php.opensourcecms.com>. Acesso em: 12/2010
Rodrigues, P. T. M. CMS (Sistema de Gerenciamento de Conteúdo) Estudo de Caso da Intranet da Secretaria Municipal de Educação de Belo Horizonte. (PUC-MG) Monografia (Bacharel em Ciência da Informação) - Pontifícia Universidade Católica de Minas Gerais, Belo Horizonte, 2008. Pg.27 f.
Silveira, R. M. C. F. Inovação tecnológica na visão dos gestores e empreendedores de incubadoras de empresas de base tecnológica do Paraná (IEBT-PR): “Desafios e perspectivas para educação tecnológica”. 2007 Tese (Doutorado em Educação Cientifica e Tecnológica) – Programa de Pós-Graduação em Educação Cientifica e Tecnológica, Universidade Federal de Santa Catarina, Florianópolis, 2007. Pg.257 f.
TERRA, José Cláudio, GORDON Cindy. Portais corporativos: a revolução na gestão do conhecimento. 2. ed. São Paulo: Negócio, 2002.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
49
Otimização de consultas no PostgreSQL com métodos gulosos
Júlio Augusto M. Pereira1, Rodrigo Luiz Antoniazzi
2
1Ciência da Computação – Universidade de Cruz Alta (UNICRUZ)
Rodovia Municipal Jacob Della Méa, Km 5.6 – 98.020-290 – Cruz Alta – RS – Brazil
2Departamento de Ciência da Computação – Universidade de Cruz Alta (UNICRUZ)
Cruz Alta, RS – Brasil.
[email protected], [email protected]
Abstract. The models of databases relate they offer a high abstraction degree,
tending to transform simple query in great sequences of physical operations.
Many processes of those sequences can have your execution order altered in
search of the best result, giving margin to a great group of possibilities. Like
this, this work had for general objective: to verify ways to optimize the
consultations submitted to PostreSQL through gluttonous methods, going by
the following phases: to implement the method Prim for otimization of query
to compare your time of execution in relation to the algorithm of Kruskal and
the genetic algorithms of PostgreSQL. Like this, came an algorithm with time
of execution polinomial, Prim, to look for a larger regularity in your
executions, in substitution to the original methods of PostgreSQL when you
consult complex they are made.
Resumo. Os modelos de bancos de dados relacionais oferecem um alto grau
de abstração, tendendo a transformar simples consultas em grandes
seqüências de operações físicas. Muitos processos dessas seqüências podem
ter sua ordem de execução alterada em busca do melhor resultado, dando
margem a um grande conjunto de possibilidades. Assim, este trabalho teve por
objetivo geral: verificar maneiras de otimizar as consultas submetidas ao
PostreSQL através de métodos gulosos, passando pelas seguintes fases:
implementar o método Prim para otimização de consultas; comparar seu
tempo de execução em relação ao algoritmo de Kruskal e os algoritmos
genéticos do PostgreSQL. Assim, apresentou-se um algoritmo com tempo de
execução polinomial, Prim, para buscar uma regularidade maior em suas
execuções, em substituição aos métodos originais do PostgreSQL quando
consultas complexas são efetuadas.
1. Introdução
Os primeiros sistemas de bancos de dados (em rede e hierárquicos) eram baseados no
conceito de ligações, onde cabia ao programador a tarefa de descrever quais ligações
deveriam ser acessadas para retornar as devidas informações [Silberschatz e Korth,
1993]. Atualmente o mercado é dominado por bancos de dados que utilizam o modelo
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
50
relacional, onde estão presentes nas próprias tabelas os seus atributos de
relacionamento, tornando as tarefas de junção e projeção de dados mais simples.
Os servidores de bancos de dados relacionais oferecem um alto grau de
abstração, tendendo a transformar simples consultas em grandes seqüencias de
operações físicas para processamento interno. Muitos processos dessas seqüências
podem ter sua ordem de execução alterada, dando margem a um grande conjunto de
possibilidades. Cada uma das possibilidades recebe o nome de plano de execução. O
principal fator que determina a complexidade de um plano de execução é o número de
tabelas envolvidas, pois as possibilidades aumentam com a inserção de novas tabelas.
Com um número elevado de tabelas em uma consulta, torna-se necessária uma estratégia
de ligação entre todas as tabelas para garantir uma rápida execução.
O SGBD PostgreSQL (site oficial: http://www.postgresql.org) define o melhor
plano de duas maneiras: Até doze tabelas inseridas em uma consulta, todas as
possibilidades são testadas (buscas exaustivas). A partir deste número, para não
consumir tempo e espaço na resolução do melhor plano de execução, o SGBD passa a
utilizar um modelo de métodos genéticos. Embora não existam garantias concretas da
geração do melhor caminho, os métodos genéticos apresentam-se como uma alternativa
em relação ao modelo de buscas exaustivas por apresentarem um tempo de execução
reduzido.
Foi proposta por Guttoski [2006] a implementação do algoritmo de Kruskal para
a projeção do plano de execução. Tal algoritmo é de natureza gulosa, já que, durante sua
execução busca a melhor alternativa momentânea. Esta implementação é interessante,
pois apresenta tempo de execução polinomial, representando uma vantagem em
comparação aos algoritmos genéticos, os quais não apresentam tempo de resposta bem
definido.
Neste trabalho foi abordada outra técnica para a geração de um plano de
execução: o algoritmo de Prim. Algoritmo guloso que possui um sistema diferenciado
para adição de tabelas no plano de execução. Foram comparadas neste trabalho as duas
técnicas de otimização gulosas e os algoritmos genéticos originais do PostgreSQL.
Este artigo está disposto da seguinte forma: Os mecanismos convencionais de
otimização estão dispostos na segunda seção. Na terceira seção, são relatados alguns
fundamentos de estudos de grafos e os algoritmos de Kruskal e Prim. Já na quarta seção
é apresentada a metodologia empregada e resultados dos experimentos. A quinta seção
discute os resultados obtidos em função dos métodos utilizados.
2. Otimizações de consultas
Para Silberschatz e Korth [1993], a função do otimizador é buscar a melhor
estratégia para executar as expressões enviadas ao banco de dados, porque diferentes
escolhas na formação da resposta podem ter uma diferença de tempo de execução
considerável. Um exemplo simples de tabelas do banco de dados e sua possível
otimização pode ser visto a seguir na Figura 1:
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
51
Figura 1. Relacionamento entre tabelas
A Figura 1 apresenta duas tabelas: Conta e Pessoa. Cada pessoa pode ter várias
contas, mas uma conta pertence exclusivamente a uma pessoa. As contas presentes no
banco de dados estão ligadas a cada pessoa através do atributo cod_pessoa. A seguir
será analisada uma possível execução de consulta:
SELECT CONTA.id, CONTA.saldo
FROM CONTA, PESSOA
WHERE CONTA.cod_pessoa = PESSOA.id AND PESSOA.nome = ‘Paulo Freire’
Embora não apresente erros em sua estrutura, a consulta acima é alterada durante
a sua execução. Supondo-se que existam trinta e cinco mil pessoas cadastradas na base
de dados e existam quarenta mil contas bancárias, a cláusula FROM propõe a
multiplicação entre os dados de uma tabela pelos da outra, mas isto não ocorre na
prática, pois existem restrições na consulta. Cabe à cláusula WHERE efetuar as devidas
restrições. Esta definirá a junção apenas quando o cod_pessoa da tabela conta for igual
ao valor contido no código da pessoa (atributo id). Evitando que a consulta apresente
como resposta um bilhão e quatrocentos milhões de linhas (resultado da multiplicação
de todos os dados de uma tabela por outra). No entanto, ainda existem quarenta mil
contas bancárias e estas se vinculam a tabela pessoa. Caso a ordem da cláusula WHERE
não fosse invertida o banco de dados verificaria todas as pessoas (e suas devidas contas),
em busca da pessoa chamada Paulo Freire. Como ocorre a inversão pelo otimizador, o
sistema gasta menos tempo para apresentar a resposta, pois existe apenas uma pessoa
com o nome Paulo Freire, e cabe ao sistema apenas selecionar as contas relativas a esta
pessoa.
A programação dinâmica busca a melhor forma de executar uma determinada
consulta. O SGBD utiliza a uma série de passos definidos e bem limitados para
encontrar a resposta ideal. Caso uma consulta envolva muitas tabelas, o otimizador
efetua o trabalho em partes: analisa as tabelas em duplas através de programação
dinâmica e gera o resultado em uma nova tabela (temporária). Este resultado é
processado com a próxima tabela, gerando uma nova tabela temporária, assim
sucessivamente até efetuar todas as operações necessárias.
Quando existem muitas condições de ligação entre tabelas inclusas, o otimizador
gasta tempo demasiadamente para realizar as devidas escolhas, já que para cada nova
junção o esforço aumenta exponencialmente, como explica Guttoski [2006]. O
otimizador deve escolher quais junções efetuar primeiro, necessitando muito tempo para
projetar o caminho com menor custo para a execução da consulta. Este gasto de tempo
pode tornar-se superior ao tempo que leva um método aleatório para achar uma resposta
aceitável e próxima da ótima, pois, segundo Steinbrunn et al. [1997], técnicas de
programação dinâmica não são as ideais para problemas complexos. Para estes casos,
faz-se necessário um plano de otimização que gere uma resposta aceitável e em um
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
52
curto espaço de tempo. O PostgreSQL conta com o Genetic Query Optimizer (GEQO),
módulo que utiliza algoritmos genéticos.
O funcionamento destes algoritmos pode ser resumido da seguinte forma:
Inicialmente gera-se um conjunto de possíveis soluções de forma aleatória (em
algoritmos genéticos, dá-se o nome de população). Também de forma aleatória é
selecionado um par de elementos (gerando um novo caminho), fazendo a combinação
entre eles (buscando a evolução genética). O resultado desta combinação é então
inserido na população. Com base na evolução genética, espera-se que o resultado desta
combinação seja melhor que seus antecessores. Os piores planos de execução (com
custo maior) são eliminados. Ao final, os resultados podem ficar próximos de um
resultado ótimo. Já os algoritmos de Prim e Kruskal necessitam utilizar grafos para o
seu funcionamento.
3. Métodos analisados
Os grafos consistem em uma estrutura de elementos (chamados de vértices ou
nós) e um conjunto de ligações (chamadas arcos ou arestas), conforme Tenenbaum et al.
[1995]. Normalmente é possível representar muitas estruturas através da teoria de
grafos: cidades e suas estradas, aeroportos e o custo das suas passagens, redes de
computadores e os cabos para ligação entre os terminais, entre outros. A utilização de
grafos neste trabalho foi necessária, pois os algoritmos de Kruskal e Prim trabalham
baseados em grafos para gerar as árvores de resposta.
No algoritmo de Kruskal ocorre uma ordenação inicial do grafo baseado em suas
arestas (da mais leve para a mais pesada). Em seguida cada aresta de menor custo é
adicionada na resposta. Com a segunda adição e as demais, ocorre uma verificação, se a
seleção da aresta inclui algum vértice já adicionado ocorre a ligação de todos os
elementos. Quando ocorre esta ligação, dá-se a formação de uma floresta parcial, já que
se tem um grupo de vértices específico selecionado. Durante a execução deste algoritmo
podem existir diversas florestas parciais. Após a junção de todas as florestas parciais,
tem-se uma árvore geradora mínima (uma árvore que liga todos os vértices, buscando as
arestas de menor custo para as ligações). Para Tenenbaum et al. [1995], a complexidade
deste algoritmo é O(E log E). Já para Cormen et al. [2002], a complexidade é dada por
O(E log V), quando o número de arestas é menor que o número de vértices ao quadrado.
Esta complexidade é mesma apresentada pelo algoritmo de Prim em suas
implementações iniciais.
O processamento do algoritmo de Prim ocorre de maneira um pouco diferente.
Durante o processo de execução este algoritmo não gera florestas separadas, ele
adiciona na resposta um vértice ainda não incluso através de uma aresta de um vértice já
adicionado na árvore de resposta. Conforme explicado por Cormen et al. [2002], o
tempo de execução do algoritmo de Prim pode ser melhorado se utilizada uma boa
técnica para a verificação dos elementos vizinhos aos já inseridos na árvore geradora,
podendo produzir a seguinte complexidade: O (E + V Log V). Neste trabalho foi
implementado o algoritmo de Prim para a produção do plano de execução.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
53
4. Metodologia empregada e resultados dos experimentos
Esta seção relata a metodologia utilizada para a avaliação dos métodos gulosos
em execução de consultas. São avaliados os métodos gulosos descritos anteriormente e
também o mecanismo original de otimização de consultas para grande número de
tabelas (GEQO). As características de hardware do computador utilizado para os testes
são descritas a seguir: (a) Processador: 2.1GHz Turion 64 X2 Mobile ZM-80; (b)
Memória: 3 Gigabytes, DDR2; (c) Disco rígido: Disco SATA 2, 250 Gigabytes. Quanto
ao software utilizado, têm-se: (a) Sistema operacional Slackware 13.1; (b) Sistema de
arquivos EXT-4; (c) SGBD: PostgreSQL 8.3.10. Das diversas ferramentas disponíveis
para análise de teste, foram utilizadas as métricas do Benchmark TPC-H. Na figura a
seguir são mostradas as tabelas deste Benckmark:
Figura 2. Tabelas do Benckmark TPC-H
A ferramenta DBT-3 é baseada no Benchmark TPC-H e compatível com o
PosgreSQL. Todas as consultas utilizadas foram enviadas diversas vezes para
processamento, gerando uma média de tempo em milissegundos conforme a tabela
abaixo:
Tabela 1. Média de tempo total das consultas
Prim Kruskal GEQO
Q2 405896 416133 404824
Q3 15597 16069 20058
Q5 248416 247821 17230
Q8 16459 4810 9746
Q9 30596 26866 21253
Q10 9114 9731 8558
Q11 856,2 856,6 978
Q18 33826 34549 32818
A Tabela 1 apresenta o tempo total de execução, ou seja, desde a geração do
plano até a execução do mesmo (final do processamento da consulta). Também foi
avaliado o tempo de execução apenas dos métodos (ou seja, a geração dos planos), sem
levar em consideração o tempo total da consulta. Neste caso, os métodos gulosos
apresentam um tempo de execução inferior, conforme a tabela abaixo:
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
54
Tabela 2. Média de tempo de execução dos algoritmos
PRIM KRUSKAL GEQO
Q2 0.000611 0.000620 0.017166
Q3 0.000233 0.000240 0.005408
Q5 0.000476 0.000480 0.017233
Q8 0.000500 0.000521 0.037372
Q9 0.000612 0.000655 0.018093
Q10 0.000275 0.000303 0.006668
Q11 0.000431 0.000437 0.006340
Q18 0.000325 0.000348 0.007973
Considerando-se apenas os tempos de execução dos métodos, nota-se uma
vantagem considerável dos algoritmos gulosos, pois os algoritmos genéticos apresentam
consumo de tempo elevado para seu processamento. Com o aumento do número de
tabelas, as diferenças de tempo de execução total das consultas entre estes métodos
podem ser acentuadas.
5. Considerações finais
Considerando-se apenas o tempo de execução dos algoritmos, o algoritmo de
Prim apresentou-se mais rápido em todas as consultas em relação ao de Kruskal.
Embora o tempo de execução do algoritmo de Kruskal seja maior, percebe-se que seus
planos de execução têm uma qualidade superior em relação ao algoritmo de Prim, pois
algumas consultas executam mais rapidamente (tem-se como exemplo a consulta Q8).
Isto acontece devido à característica do algoritmo de Kruskal ser a inserção de vértices
na árvore geradora mínima independente de tal vértice ter ligação com os elementos já
inseridos na árvore. Para a elaboração de um plano de execução, esta propriedade é
importante, pois garante que junções com maior custo serão efetuadas ao final da
execução do método, garantindo uma execução em menor tempo.
Considerando-se o tempo de consulta entre os algoritmos genéticos e o Prim,
observou-se uma eficiência maior dos primeiros, embora todos os planos dos métodos
gulosos sejam gerados mais rapidamente e com maior regularidade. Acredita-se que,
com o aumento do número de tabelas envolvidas, o algoritmo de Prim apresente tempo
total de execução menor em razão de sua complexidade. Assim, entende-se ser
interessante trabalhos futuros relacionados a exploração de consultas com um número
elevado de tabelas.
Referências
BINI, T. (2006) “Aplicação do algoritmo de Kruskal na otimização de consultas com
múltiplas junções relacionais”, Dissertação de mestrado em Informática na
Universidade Federal do Paraná, PR.
CORMEN, T., LEISERSON, C.; RIVEST, R.; CLIFFORD, S. (2002) “Algoritmos”,
2.ed. Rio de Janeiro: Campus.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
55
GUTTOSKI, P. (2006) “Otimização de consultas no PostgreSQL utilizando o algoritmo
de Kruskal”, Dissertação de Mestrado em Informática na Universidade Federal do
Paraná, PR.
SILBERSCHATZ, A.; KORTH, H. (1993) “Sistemas de bancos de dados”, 2.ed. São
Paulo: Makron Books.
STEINBRUNN, M.; MOERKOTTE, G.; KEMPER, A. (1997) “Heuristc and
Randomized Optimization for the Join Ordering Problem”, Artigo da revista The
VLDB Journal, Volume 6, número 3. Passau, Alemanhã.
TENENBAUM, A.; LANGSAM, Y.; AUGENSTEIN, M. (1995) “Estrutura de dados
usando C”, São Paulo: Pearson Education do Brasil Ltda.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
56
Identificação Contextualizada de Objetos e Pessoas na Arquitetura ClinicSpace
Alexander F. do Rego1, Iara Augustin1, Vinicius Maran1, Alencar Machado2 1 Programa de Pós Graduação em Informática (PPGI) – Universidade Federal de Santa
Maria (UFSM) CEP 97.105-900 – Santa Maria – RS – Brasil
2 Universidade Federal do Pampa (UNIPAMPA) – Campus Alegrete CEP 97.546-550 – Alegrete – RS – Brasil
{fiabane,august,viniciusm}@inf.ufsm.br, [email protected]
Abstract. The health systems of the future point to the use of pervasive computing, which aims to help its users in theirs daily activities. Therefore, the services provided by these systems should strive to meet requirements as pro-activity and activities’s context, when they are performed. The identification of active agents/participants of these scenarios needs to be adapted to meet these requirements. So, it is proposed a model of contextualized identity, adapting the information and linking data connected with the case for other tasks in order to enable a transparent flow of execution of daily activities’s user.
Resumo. Os sistemas de saúde do futuro apontam para o uso da computação pervasiva, a qual visa auxiliar os usuários em suas atividades cotidianas. Nesse sentido, os serviços disponibilizados devem procurar atender requisitos como a pró-atividade e o contexto em que as atividades são executadas. Assim, a identificação dos elementos atuantes/participantes desses cenários deve ser adaptada para atender a esses requisitos. Sendo assim, propõe-se um modelo de identificação contextualizada, adaptando a informação e vinculando os dados desse processo à outras tarefas, a fim de viabilizar um fluxo transparente de execução das atividades do usuário.
1. Introdução Com o crescimento do uso de dispositivos móveis pelas pessoas, aumento da capacidade computacional (processamento, memória, recursos de imagem) destes dispositivos e a disseminação das redes sem fio, a construção de sistemas que tenham como base os conceitos propostos pela computação ubíqua [WEISER, 1991] vão se tornando possível. Na visão ubíqua, a computação está imersa no meio físico de uma forma onipresente, não impondo restrições quanto a sua utilização, e deve ser: (a) invisível e transparente, através de métodos intuitivos não constrangendo o usuário a efetuar passos complicados, mantendo a atenção na tarefa e não na utilização do ambiente computacional; e (b) pró-ativa, identificando quem (usuário) faz parte do cenário, e propondo recursos e serviços conforme o seu perfil de execução das tarefas.
Atualmente, é preciso despender esforços na construção de um modelo de projeto e programação, tendo em vista que as tecnologias atuais não atendem aos requisitos para o desenvolvimento integral desses espaços pervasivos [AUGUSTIN;
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
57
LIMA; YAMIN, 2006]. Com essa motivação, o Grupo de Sistemas de Computação Móvel (GMob) está desenvolvendo o projeto ClinicSpace que visa construir um protótipo de uma ferramenta de programação orientada ao usuário-final (médico) para gerenciamento e personalização das suas atividades. Ambientes clínicos são ambientes pervasivos e dinâmicos, onde o contexto em que acontece as tarefas médicas torna-se fator importante nas decisões tomadas pelos sistemas que visam auxiliar os profissionais em suas atividades. E identificar pró-ativamente os objetos/elementos que participam do cenário de execução (contexto) torna-se um requisitos importante. Por isso, propõe-se um modelo de identificação contextualizada de objetos e pessoas. Esse modelo visa, também, atender a necessidade de identificação dos elementos de contexto da arquitetura ClinicSpace.
O restante do artigo está organizado da seguinte forma: o item 2 resume a arquitetura do projeto ClinicSpace; o item 3 apresenta o modelo de identificação contextualizada; o item 4 analisa os trabalhos relacionados; e o item 5 apresenta as considerações finais e a agenda de pesquisa.
2. Arquitetura ClinicSpace Utilizando conceitos e integrando tecnologias da Mobile, Pervasive and Ubiquitous Computing, End-User Programming e Contex-Aware Computing, a fim de viabilizar computacionalmente o cenário e os requisitos descritos, está sendo desenvolvida uma arquitetura chamada ClinicSpace. A arquitetura é estruturada em camadas, que inicia na visão do usuário-final (médico) e termina na camada de execução e gerenciamento do ambiente pervasivo pelo middleware EXEHDA [YAMIN et al, 2005], o qual é integrado à arquitetura.
Figura 1: Componentes ClinicSpace (MACHADO, 2011).
A arquitetura para desenvolvimento e gerenciamento das tarefas, segundo o perfil de cada usuário é mostrada na Figura 1. Atualmente, a arquitetura ClinicSpace é composta por: (a) Interface de Edição de Tarefas e Contexto (IETC); (b) Subsistema Gerenciador Distribuído de Tarefas (SGDT) [FERREIRA, 2009]; (c) bases de suporte: banco de dados de contexto, banco de dados pervasivo de informações do paciente; (d) pEHS – sistema pervasivo de informações em saúde [VICENTINE et al, 2010]; (e) Middleware EXEHDA de gerenciamento do ambiente pervasivo [YAMIN et al, 2005]. O Subsistema Gerenciador Distribuído de Tarefas (SGDT) [FERREIRA, 2009], que busca seguir a idéia de modularização definida no EXEHDA, faz a mediação entre o
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
58
middleware de controle pervasivo de ambientes (EXEHDA), o Sistema Eletrônico de Saúde Pervasivo (pEHS), as bases de dados, e a Interface de Edição, viabilizando o acesso às informações de forma transparente, de acordo com as tarefas programadas pelo usuário (médico).
Utilizando e analisando as entidades descritas nesse item, modelou-se a identificação contextualizada de objetos e pessoas; mais especificamente, a identificação dos elementos de contexto que compõem as tarefas modeladas na arquitetura ClinicSpace.
3. Serviço de Identificação de Objetos e Pessoas na Arquitetura ClinicSpace Em sistemas automatizados, a identificação pró-ativa é uma das áreas centrais na modelagem desse serviço [HOLMSTROM; SANTIAGO; LENDARIS, 2005]. O reconhecimento e a obtenção automática de informações sobre os elementos atuantes possibilita vincular essa ação a outras, fazendo com que haja um fluxo transparente na execução das tarefas. Existem diversas propostas de identificação de objetos e pessoas, que agrupam diversas tecnologias de forma automatizada [MING; MA, 2009] [GIANNAROU; STATHAKI, 2007] [HUB; HARTTER; ERTL, 2006], porém essas propostas objetivam apenas a localização dos elementos (sejam eles objetos ou pessoas) e informações estáticas sobre esses elementos, além de terem custo elevado de implantação. Em um ambiente clínico, a entrada e saída de pacientes, a colaboração entre os profissionais, a alteração e acesso a informações dos pacientes ocorre constantemente. Assim, percebe-se a necessidade da identificação de objetos e pessoas com acesso às informações, segundo o contexto em que é realizada essa tarefa. Portanto, o contexto [DEY; ABOWD, 2006] é de grande relevância na identificação, pois influencia no acesso e na apresentação da informação.
Figura 2: Modelo de Identificação Contextualizado.
O modelo de identificação contextualizado para ambientes pervasivos proposto é ilustrado na Figura 2. O ponto central desse processo de identificação de objetos e pessoas é o módulo de identificação que implementa o fluxo de identificação. O usuário (a) inicia a tarefa de identificação; (b) o módulo de identificação verifica que um processo de identificação está ocorrendo, busca o contexto em que a tarefa está sendo realizada e o associa ao processo e, ainda, permite a associação com outras tarefas e a adaptação da informação segundo o contexto; (c) por fim, retorna as informações
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
59
vinculadas ao objeto/pessoa e ou associa esses dados com outras tarefas disponibilizadas pelo sistema ao usuário. O processo de contextualização da identificação é dado pelo conceito de informação pública/privada. A parte pública da informação, que fica armazenada na tecnologia adotada (RFID, 2D Barcode, etc.), consiste em informações sobre o objeto (quando este não é conhecido do sistema) e ou referência a base de dados do sistema; a parte privada são as informações advindas do contexto em que é executada a tarefa de identificação. Assim, o módulo de identificação trata a informação devolvendo-a ao usuário segundo o contexto em que a tarefa foi executada, permitindo associar essa identificação com outras tarefas.
4. Análise dos Trabalhos Relacionados Identificação contextualizada é tema de alguns projetos recentes na área de computação pervasiva. O projeto pioneiro da área de computação pervasiva, Aura1, visa proporcionar a cada usuário um conjunto invisível de serviços de computação, que persiste independentemente da sua localização. Não há, propriamente dita, a tarefa de identificação, mas a localização dos usuários/dispositivos através da triangulação dos pontos de acesso da rede wireless [SMALL; SMAILAGIC; SIEWIOREK, 2000]. Já o projeto p-LearNet2 (Pervasive Learning Networks) visa explorar o potencial da comunicação ubíqua e pervasiva, em redes heterogêneas, no campo da aprendizagem humana e aborda a identificação contextualizada. Esse projeto viabilizou o sistema PerZoovasive [ROUILLARD; LAROUSSI, 2008], que provê a descrição de cada animal do zoológico (através da leitura do QR Code [ISO/IEC 18004:2006]), segundo um contexto particular: (a) a tarefa escolhida (lição ou questionário), (b) nível do usuário (aluno) e (c) a língua do usuário, que pode ser obtida pela seleção na aplicação. Esse sistema inspirou a construção do modelo genérico de identificação contextualizada descrito neste artigo.
Na área de saúde pervasiva, o projeto ABC3 apresenta uma proposta para utilização de Computação Baseada em Tarefas destinadas aos Ambientes de Saúde. Porém, mesmo havendo identificação, via tags RFID, e a associação com a atividade [BARDRAM, 2009] a informação não é adaptada. Outro trabalho, é a aplicação Allergy-check [ADELMANN; LANGHEINRICH; FLOERKEMEIER, 2006] que realiza a leitura do código de barras de um medicamento e o programa retorna se ele é alérgico, segundo as substâncias cadastradas em seu perfil. A identificação é feita através (a) da leitura do código de barras 1D e (b) da análise realizada pelo software dessas informações. No conceito desse software existe o contexto (usuário), porém não há adaptação da informação nem vinculação dos dados da identificação com outras funcionalidades.
A Tabela 1 apresenta um comparativo entre os projetos e o proposto, usando como critérios de comparação: a identificação, se contextualizada ou não; a adaptação ao contexto, se presente ou não, a associação com outras tarefas/funcionalidades, se presente ou não.
1 www.cs.cmu.edu/~aura 2 http://p-learnet.univ-lille1.fr/project 3 http://activitybasedcomputing.org/
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
60
Tabela 1: Comparativo entre projetos relacionados.
Identificação Contextualizada
Identificação Contexto Adaptação da informação
Associação com outras tarefas/funcionalidades
ABC X X X
Aura X X
PerZoovasive X X X
Allergy-check X X
ClinicSpace X X X X
5. Considerações Finais e Agenda de Pesquisa Sistemas pervasivos voltados a saúde visam auxiliar os usuários finais automatizando suas tarefas. O projeto ClinicSpace objetiva esse fim, porém buscando o equilíbrio entre pró-atividade (agir em nome do usuário) e a personalização das tarefas, a fim de diminuir a rejeição enfrentada pelos sistemas de saúde atuais. Nesse ambiente, a identificação é uma tarefa necessária e a sua realização, muitas vezes, é vinculada a outras atividades feitas pela equipe médica, como requisição de exames. Informações, ainda mais relacionadas aos pacientes, necessitam ser adaptadas segundo o contexto em que se encontram, no intuito de não causarem constrangimento e de contribuírem efetivamente. Tendo em vista esses fatores, foi criado um modelo genérico de identificação, a fim de atender essas necessidades, o qual está sendo inserido na arquitetura ClinicSpace.
Dessa forma, os próximos passos em relação a pesquisa são a modelagem de um cenário de uso para validar o potencial da idéia, realizar as modificações necessárias para implantação do serviço de identificação contextualizada na arquitetura ClinicSpace e a publicação dos resultados.
Referências ADELMANN, R.; LANGHEINRICH, M.; FLOERKEMEIER, C. A Toolkit for Bar-
Code-Recognition and Resolving on Camera Phones – Jump Starting the Internet of Things. Proceedings of the workshop on Mobile and Embedded Interactive Systems (MEIS'06) at Informatik 2006. GI Lecture Notes in Informatics Series (LNI). Dresden, Germany, 2006.
AUGUSTIN, I.; LIMA, JOÃO CARLOS D. and YAMIN, A. C. 2006. Computação Pervasiva: como Programar Aplicações. In: X SIMPOSIO BRASILEIRO DE LINGUAGENS DE PROGRAMAÇÃO (SBLP), 2006, Itatiaia, RJ. Anais... [S.l.]: SBLP, 2006.
BARDRAM, J. E. Activity-based computing for medical work in hospitals. ACM Transactions on Computer-Human Interaction (TOCHI), v.16 n.2, p.1-36. 2009. doi: 10.1145/1534903.1534907.
DEY, A., and ABOWD, G., The Context Toolkit: Aiding the Development of Context-Aware Applications, In Proceedings of Human Factors in Computing Systems: CHI 99, Pittsburgh, PA: ACM Press, pp.434-441. 2006.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
61
FERREIRA, Giuliano L.; SILVA, Fábio L.; LIBRELOTTO, Giovani R. and AUGUSTIN, Iara. Adaptando o Middleware EXEHDA para o Tratamento de Atividades Clínicas. In: XXXV Conferencia Latinoamericana de Informática (CLEI 2009). CLEI.
GIANNAROU, S.; STATHAKI, T. Object Identification in Complex Scenes using Shape Context Descriptors and Multi-Stage Clustering. Digital Signal Processing, 15th International Conference on , vol., no., pp.244-247. 2007. doi: 10.1109/ICDSP.2007.4288564.
HOLMSTROM, L.; SANTIAGO, R.; LENDARIS, G.G. On-line system identification using context discernment. Neural Networks, 2005. IJCNN '05. Proceedings. 2005 IEEE International Joint Conference on , vol.2, no., pp. 792- 797 vol. 2, 31 July-4 Aug. 2005. doi: 10.1109/IJCNN.2005.1555953.
HUB, A.; HARTTER, T.; ERTL, T. Interactive tracking of movable objects for the blind on the basis of environment models and perception-oriented object recognition methods, Proceedings of the 8th international ACM SIGACCESS conference on Computers and accessibility, October 23-25, 2006, Portland, Oregon, USA. doi:10.1145/1168987.1169007.
ISO/IEC 18004:2006 - Information Technology – Automatic Identification and Data Capture Techniques - Bar Code Symbology - QR code, 2006.
MACHADO, A.; AUGUSTIN, I. Associando Contexto as Tarefas Clínicas na Arquitetura ClinicSpace. In: Simpósio Brasileiro de Sistemas de Informação (SBSI), Salvador – BA. 2011.
MING, A.; MA, H. A collaborative surveillance system for role identification. Computer Supported Cooperative Work in Design, 2009. CSCWD 2009. 13th International Conference on , vol., no., pp.306-311, 22-24 April 2009 doi: 10.1109/CSCWD.2009.4968076.
ROUILLARD, J.; LAROUSSI, M. PerZoovasive: Contextual Pervasive QR codes as Tool to Provide an Adaptative Learning Support. In CSTST '08: Proceedings of the 5th international conference on Soft computing as transdisciplinary science and technology, pp. 542-548. doi: 10.1145/1456223.1456332. 2008.
SMALL, J.; SMAILAGIC, A.; SIEWIOREK, D.P. Determining User Location For Context Aware Computing Through the Use of a Wireless LAN Infrastructure, Pittsburgh, USA: Institute for Complex Engineered Systems. Carnegie Mellon University, Pittsburgh, PA 15213. 2000.
VICENTINI C, F., ALENCAR M., FERREIRA G., SILVA, L., AUGUSTIN, I. PEHS – Arquitetura de um Sistema de Informação Pervasivo para Auxílio às Atividades Clínicas. Revista Brasileira de Computação Aplicada RBCA, Vol 2 no 2 (2010)
YAMIN, A. et al. EXEHDA: adaptive middleware for building a pervasive grid environment. In: Frontiers in Artificial Intelligence and Applications: Self-Organization and Autonomic Informatics (I), vol. 135. Amsterdam: IOS Press, 2005. p. 203-219.
WEISER, M. The Computer of 21st Century, In: Scientific American, 1991, p 3-11.
Anais do X Simposio de Informatica da Regiao Centro/RS - SIRC2011ISSN: 2175-0955 Santa Maria - RS, Outubro de 2011
62