UM SISTEMA WEB DE CONSULTA DE TRAJETOS DE TRANSPORTE PÚBLICO



Documentos relacionados
Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

ISO/IEC 12207: Gerência de Configuração

Entendendo como funciona o NAT

Manual Geral do OASIS

MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI

Gerenciamento de Incidentes

Projeto de Sistemas I

Respostas dos Exercícios Cap. 2 Russell & Norvig

MANUAL RASTREAMENTO 2013

Sistema de informações a usuários do Transporte Coletivo.

Itinerários de Ônibus Relatório Final

PROBLEMAS ATUAIS DA LOGÍSTICA URBANA NA ENTREGA DE MATERIAIS HOSPITALARES UM ESTUDO INVESTIGATIVO

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Manual de utilização do sistema OTRS (Atendimento) Cliente Externo

Modelo Cascata ou Clássico

Inteligência Artificial. Metodologias de Busca

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

NOVIDADES TRANSPORTE COLETIVO

2 Diagrama de Caso de Uso

1

PMAT. Sistema de Análise e Acompanhamento de Operações. Manual. Desenvolvido pelo BNDES AS/DEGEP

O desafio da liderança: Avaliação, Desenvolvimento e Sucessão

Engenharia de Requisitos Estudo de Caso

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Sistema de Controle de Solicitação de Desenvolvimento

Seção 2/E Monitoramento, Avaliação e Aprendizagem

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

Feature-Driven Development

Gerenciamento de Problemas

Processo de Controle das Reposições da loja

TRANSDATA SMART RASTREAMENTO E GESTÃO FROTA

Aplicação Prática de Lua para Web

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

PREFEITURA MUNICIPAL DE VOLTA REDONDA

Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação

Existem 109 questões nesta pesquisa

PLANEJAMENTO ESTRATÉGICO

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Processos de Desenvolvimento de Software

7 Utilização do Mobile Social Gateway

Implantação. Prof. Eduardo H. S. Oliveira

AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Engenharia de Software III

Disciplina: Suprimentos e Logística II Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

OCOMON PRIMEIROS PASSOS

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Arquitetura de Rede de Computadores

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA

Integração ADMRH com AGROSYS

GARANTIA DA QUALIDADE DE SOFTWARE

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Orientação a Objetos

Logística e a Gestão da Cadeia de Suprimentos. "Uma arma verdadeiramente competitiva"

Estratégias de informação ao usuário na implantação de BRT.

Professor: Curso: Disciplina:

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Semântica para Sharepoint. Busca semântica utilizando ontologias

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

IMPLANTAÇÃO DE UM SISTEMA DE AVALIAÇÃO DE DESEMPENHO NA UFG

3 Classificação Resumo do algoritmo proposto

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

PROPOSTA DE RASTREAMENTO E MONITORAMENTO HÍBRIDO SATELITAL

5 Experiência de implantação do software de roteirização em diferentes mercados

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Introdução a Computação

IW10. Rev.: 02. Especificações Técnicas

Planejando o aplicativo

7.Conclusão e Trabalhos Futuros

Sistemas Distribuídos

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0

AULA 1 Iniciando o uso do TerraView

Mobilidade Urbana Urbana

Gestão da Qualidade por Processos

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Rastreamento Veícular

ü Curso - Bacharelado em Sistemas de Informação

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

AULA 6 - Operações Espaciais

5 Mecanismo de seleção de componentes

PRIMAVERA RISK ANALYSIS

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes

BlackBerry Mobile Voice System

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Transcrição:

UM SISTEMA WEB DE CONSULTA DE TRAJETOS DE TRANSPORTE PÚBLICO Felipe F. Freitas, Rodrigo F. de Moraes, Patrícia Jaques PIPCA Universidade do Vale do Rio dos Sinos (UNISINOS) freitas_sl@hotmail.com, moraes1983@gmail.com, pjaques@unisinos.br RESUMO A crescente demanda por transporte rápido e eficiente nos centros urbanos protagoniza um grande desafio para a sociedade moderna: garantir mobilidade à população em um sistema urbano complexo. O transporte público se apresenta como alternativa ao transporte privado na tentativa de amenizar o impacto causado pelo crescimento populacional e econômico no ambiente urbano, além de garantir à população o acesso a seus direitos. Com o intuito de incentivar o uso do transporte coletivo, os sistemas de informação ao usuário (SIU) são ferramentas computacionais responsáveis pela geração de informações que aumentem a qualidade do serviço percebida pelo usuário. Em vista da necessidade de sistemas para o usuário do transporte público no Brasil, este artigo apresenta a estrutura básica para a criação de uma aplicação que gera o menor percurso a ser percorrido pelo usuário do transporte coletivo. O sistema proposto utiliza o algoritmo A* para permitir que o trajeto disponibilizado ao usuário compreenda trocas de linhas de ônibus e percursos a pé, quando necessários. PALAVRAS-CHAVE Sistemas de Transportes Inteligentes, Sistemas de Informação ao Usuário, Algoritmos de Busca, Heurísticas, ITS. 1. INTRODUÇÃO A crescente demanda por transporte rápido e eficiente nos centros urbanos protagoniza um grande desafio para a sociedade moderna: garantir mobilidade à população em um sistema urbano complexo. O crescimento populacional nas grandes cidades aliado a um aumento da venda de veículos particulares contribuem para a rápida saturação da estrutura viária, prejudicando a locomoção das pessoas e contribuindo para a degradação do meio ambiente. O transporte público se apresenta como alternativa ao transporte privado na tentativa de amenizar o impacto causado pelo crescimento populacional e econômico no ambiente urbano, além de garantir à população o acesso a seus direitos (FIGUEIREDO 2005). Com o intuito de incentivar o uso do transporte coletivo à população, os sistemas de informação ao usuário (SIU) são ferramentas computacionais responsáveis pela geração de informações que aumentem a qualidade do serviço percebida pela população. Em vista da necessidade de sistemas que disponibilizam informação ao usuário do transporte público no Brasil, o presente trabalho propõe uma aplicação que determine em tempo real o percurso a ser realizado pelo usuário a partir de um ponto de partida (rua e número) até um ponto de destino com o uso de técnicas de inteligência artificial. Através do algoritmo de busca heurística A*, a aplicação pode gerar percursos que compreendem a troca de linhas de ônibus e trechos em pé (transbordo). A informação gerada neste trabalho estende a funcionalidade desenvolvida em outro projeto de pesquisa do mesmo grupo de pesquisa (BASTOS & JAQUES, 2010), cujo objetivo é fornecer itinerários de ônibus a serem utilizadas na realização de uma viagem. Este artigo encontra-se organizado como segue. Na Seção 2 é realizada uma breve definição da área de pesquisa em Sistemas de Transportes Inteligentes. A Seção 3 compara os trabalhos relacionados ao projeto proposto. A Seção 4 apresenta os algoritmos de inteligência artificial utilizados na aplicação. A Seção 5 apresenta o trabalho proposto, detalhando como os algoritmos são utilizados para a resolução do problema. Finalmente, nas Seções 6 e 7 são mostrados os resultados dos testes e as conclusões obtidas com este trabalho.

2. SISTEMAS DE TRANSPORTES INTELIGENTES O uso de sistemas inteligentes para o transporte coletivo é o meio pelo qual diversos países desenvolvidos como EUA, Japão, Austrália e Alemanha utilizaram para melhorar a qualidade do transporte coletivo e incentivar seu uso à população (SILVA 2000). Conforme descreve RITA (2010), a área de pesquisa de Sistemas de Transportes Inteligentes (ITS) compreende o uso de tecnologias avançadas de comunicação para infra-estrutura de transportes e de veículos. Os ITS utilizam tecnologias de informação, comunicação e controle para melhorar o desempenho e a eficiência das operações da rede de transportes. Estes sistemas permitem aprimorar o gerenciamento e operação dos meios transportes no intuito de torná-los mais modernos, eficientes e abrangentes, visando atender a uma demanda cada dia maior (LADEIRA et al. 2009). A seguir são listados alguns dos tipos de sistemas que compõem os ITS (SILVA 2000). Sistemas Avançados de Transporte Público (APTS) - O foco é a busca por uma melhor segurança, eficiência e efetividade de sistemas de transporte público. Sistemas Avançados de Gerenciamento de Tráfego (ATMS) - Busca pela redução de congestionamento nas vias urbanas ou rurais e garantia de segurança. Sistemas Avançados de Informação ao Viajante (ATIS) - Busca proporcionar ao utilizador informações mais precisas sobre a via que está utilizando ou irá utilizar. Operação de Veículos Comerciais (CVO) - Visa melhorar o gerenciamento e o serviço dos transportes de carga. Sistemas Avançados de Controle Veicular (AVCS) - Visa proporcionar melhor segurança viária, para isso é utilizado uma tecnologia que permite monitorar e realizar ações quando necessário. Coleta Eletrônica de Pedágio (ETC) - Busca métodos eficientes de cobrança de pedágio para reduzir o tempo perdido no mesmo, evitando possíveis congestionamentos. Um representante dos APTS são os sistemas de informações ao usuário (SIU). Os SIUs compreendem as ferramentas utilizadas pelos usuários para obter informações que satisfaçam suas necessidades específicas relativas ao serviço utilizado. O presente trabalho encontra-se nesta categoria de aplicação. Os SIUs representam um grande diferencial no que diz respeito à qualidade do serviço oferecido. Entre os principais benefícios destacam-se: (i) redução dos tempos de espera, (ii) estimativa e redução dos tempos de transbordo e (iii) permite que o usuário planeje sua viajem (WATKINS et al. 2010). Os tempos de transbordo, incluindo caminhada e espera, representam uma parcela de tempo importante na viagem. Conforme (SILVA 2000), o valor do tempo de transbordo é percebido como quatro vezes superior ao valor atribuído ao tempo de viagem no veículo. Em vista disto, o presente trabalho visa, através de métodos de busca de Inteligência Artificial, fornecer ao usuário do transporte público uma aplicação capaz de gerar informações de percurso, permitindo ao usuário estimar os tempos de transbordo e, com isso, planejar sua viagem. 3. TRABALHOS RELACIONADOS Na busca por informações sobre aplicações para sistemas de informação ao usuário do transporte público, foram encontrados outros aplicativos onde a proposta se assemelha a do presente trabalho. Os principais são Google Transit, HopStop.com e SIU-VIX. Como o Google Transit e o HopStop não possuem código fonte aberto, não é possível fazer uma comparação do funcionamento das aplicações, mas apenas uma comparação das funcionalidades. O Google Transit (GOOGLE TRANSIT 2011) é uma aplicação web criada pela empresa Google em que a funcionalidade principal é fornecer rotas de itinerários para o transporte coletivo. A proposta do aplicativo está estritamente relacionada ao objetivo do presente trabalho já que fornece informações de trajetos a serem realizados a pé, de ônibus e ainda através de metrôs e trens. As funcionalidades do Google Transit estão limitadas pela abrangência de cidades no Brasil que o aplicativo é capaz de gerar estas informações, estando disponível apenas em algumas capitais como Rio de Janeiro, São Paulo, Belo Horizonte, Recife e Porto Alegre sendo, nesta última, apenas o serviço de metrô metropolitano disponível para consulta. As informações do Google Transit são disponibilizadas ao usuário em outro serviço de mapas da Google, chamado Google Maps.

O HopStop (HOPSTOP 2011) é uma aplicação muito semelhante ao Google Transit, onde o usuário informa os endereços de origem e destino e o sistema cria a rota a ser percorrida, incluindo, inclusive, outros meios de transporte como táxi e metrô. É um serviço que está disponível apenas para algumas grandes cidades dos Estados Unidos e do Canadá. José de Aguilar Pilon, na sua dissertação de mestrado, desenvolveu um sistema de informação ao usuário chamado SIU-VIX (PILON 2009). Este tinha como objetivo implementar um software que fornece informações nos pontos de parada através de um painel eletrônico, como, por exemplo, o horário de passagem dos ônibus do sistema municipal de transporte coletivo da cidade de Vitória-ES. Para alcançar essa meta utilizou diversas tecnologias e procedimentos. Em comparação a este trabalho, o SIU-VIX está limitado à visualização nos pontos de parada, ou seja, não é possível realizar uma consulta web para buscar quais lotações deve utilizar para chegar ao destino desejado, além de não possuir informação sobre o trajeto a ser percorrido a pé. Apesar da implementação do sistema SIU-VIX trazer funcionalidades importantes (tempo de espera na parada), é limitado a somente uma linha, já que não contém nenhuma forma de parametrização para ser possível a escolha da outra. 4. ALGORITMOS DE BUSCA O trabalho proposto utiliza algoritmos de busca com informação para definir rotas de caminhada e de ônibus. Algoritmos de busca são utilizados para a resolução de problemas que podem apresentar diferentes caminhos a serem percorridos até encontrar a solução desejada. Os caminhos consistem em uma sucessão de estados que levam o sistema de um estado inicial qualquer ao estado objetivo. A decisão de qual caminho se deve tomar é feita pelo algoritmo de busca, que tem conhecimento do estado objetivo (NILSSON 1998), (RUSSELL & NORVIG 2004). Um problema de busca pode ser definido pela composição dos seguintes quatro elementos (RUSSELL & NORVIG 2004): (i) Estado Inicial: Estado em que o sistema inicia. Por exemplo, no problema de encontrar uma rota de carro entre duas ruas, o estado inicial é a rua de origem; (ii) Função Sucessor: Função que define os possíveis estados sucessores que estão disponíveis para o estado atual em que o algoritmo se encontra. Para o exemplo dado acima, os possíveis estados sucessores seriam as ruas ligadas à rua em que o motorista se encontra. (iii) Custo de Caminho: É definida uma forma de cálculo do custo do caminho que melhor se adere à situação do problema proposto. No exemplo da rotas de carro entre duas ruas, um possível custo poderia ser a distância, em quilômetros, no trajeto proposto. (iv) Teste Objetivo: Determina se um dado estado compreende ao objetivo a ser atingido. Podem existir diferentes objetivos, e este teste verifica se o estado atual é um deles. Por exemplo, para o problema anterior, o estado objetivo seria a rua de destino. Um problema de busca pode ser representado por uma árvore de busca. Esta árvore tem uma raiz, a qual representa o estado inicial do problema. Cada nó da árvore, inclusive o nó raiz, pode apresentar nós filhos que representam os estados sucessores daquele nó. A partir do nó raiz, a árvore é gradativamente expandida, conforme a estratégia de busca definida, testando cada nó em busca da solução até encontrá-la, ou até não existirem mais estados para serem expandidos (RUSSELL & NORVIG 2004). Existem diferentes estratégias de busca. Cada uma será explicada mais detalhadamente nas seções seguintes. Para selecionar qual utilizar, normalmente se avalia os seguintes aspectos (RUSSELL & NORVIG 2004): (i) Completeza: O algoritmo de busca é completo quando, sempre que existir uma solução para o problema, ele a encontra. (ii) Otimização: O algoritmo é considerado ótimo quando sempre encontra o caminho com o menor custo dentre todos os caminhos possíveis que levem às soluções. (iii) Complexidade de tempo: Tempo que o algoritmo leva para encontrar uma solução. (iv) Complexidade de espaço: Memória necessária para a busca ser realizada até encontrar o resultado. As estratégias de busca se dividem em dois principais grupos: (i) algoritmos de busca sem informação, também conhecido como algoritmos de busca cega; (ii) e algoritmos de busca com informação, também conhecidos como algoritmos de busca heurística. 4.1 Algoritmos de busca cega Os algoritmos de busca cega não têm nenhuma informação a mais além das definidas no problema para ajudar a encontrar uma solução (RUSSELL & NORVIG 2004). Todas as estratégias desse tipo de busca se

fundamentam na busca exaustiva procurando o nó objetivo, não sabendo diferenciar qual o nó que possibilita uma maior chance de sucesso para alcançar a solução. Existem cinco tipos de estratégias de busca: busca em largura, busca em profundidade, busca em profundidade limitada, busca por aprofundamento iterativo e a busca de custo uniforme (RUSSELL & NORVIG 2004). Entretanto as duas primeiras são as principais, e as restantes são derivadas. A busca em largura, também conhecida como busca em extensão, é uma estratégia de busca onde se expande, primeiramente, todos os nós de mesma profundidade, para ser possível a expansão dos nós de profundidade maior. Esse algoritmo de busca é completo e ótimo, entretanto, apresenta duas principais desvantagens: a primeira é o requisito de memória e a segunda é o tempo de execução (RUSSELL & NORVIG 2004). Com isso se a solução para o problema estiver em uma profundidade elevada, levará muito tempo para que a encontre ou a memória do computador esgotará. A busca em profundidade sempre expande o nó de maior comprimento da borda da árvore de busca. Caso não encontre o nó objetivo na primeira borda, a busca retrocede e começa no próximo nó, cuidando para não percorrer nós recentemente expandidos. Este algoritmo não é ótimo, porque pode percorrer um caminho muito profundo, ou até infinito, sendo que a solução poderia estar na borda ao lado, em um nó mais próximo da raiz (RUSSELL & NORVIG 2004). 4.2 Algoritmos de Busca Heurística Os algoritmos de busca heurística utilizam o conhecimento específico do problema para encontrar soluções de forma mais eficiente do que as estratégias de busca sem informação. A informação, definida por uma função heurística (por exemplo, distância em linha reta), é utilizada na aplicação da função de avaliação de qual o próximo nó deve ser expandido. Os dois principais algoritmos de busca são: busca gulosa pela melhor escolha e busca A* (NILSSON 1998), (RUSSELL & NORVIG 2004). A busca gulosa tenta expandir o nó mais próximo do nó objetivo, utilizando a função heurística definida para avaliá-los, visando à localização da solução mais rapidamente (RUSSELL & NORVIG 2004). Entretanto, este algoritmo não encontra sempre a melhor solução, porque pode escolher um caminho que só é aparentemente mais econômico, portanto não é ótimo. Além disso, não preenche o atributo de completeza por poder entrar em um caminho e entrar no mínimo local, sem retornar para percorrer outros trajetos. A busca A* é uma das técnicas de busca mais utilizadas, sendo reconhecida pelo seu desempenho, precisão e eficiência. Ela avalia os nós combinando a soma do custo do nó inicial até o atual, juntamente com o custo estimado (também chamada de heurística) do nó atual até o nó final, escolhendo o que tiver menor valor. É completa e ótima desde que nunca se superestime o custo real, ou seja, sempre que se utilize uma heurística admissível (NILSSON 1998), (RUSSELL & NORVIG 2004). No presente projeto é utilizado o algoritmo A* para a definição das trajetórias de ônibus, por ser um algoritmo completo, porque deve sempre apresentar pelo menos uma solução. Além disso, é ótimo devido ao requisito de gerar o menor deslocamento possível para o usuário. Apesar de existirem outros algoritmos preenchendo estes requisitos, o A* tem o diferencial de ter um bom desempenho, considerando seu tempo de resposta e memória utilizada, o que é de grande valia para um sistema web que deve fornecer resposta em tempo real. 5. TRABALHO PROPOSTO O trabalho proposto consiste em um sistema web de informação ao usuário de transporte público. Ele permite a consulta de trajetórias de ônibus, ou seja, dada uma localização inicial (rua e número) e um destino final, o sistema calcula as linhas de ônibus que o usuário deve utilizar para chegar ao seu objetivo. Como explicado anteriormente, o presente trabalho apresenta uma extensão da versão anterior do sistema (BASTOS & JAQUES 2010), que não incorporava trechos a pé. Algumas melhorias foram realizadas no sistema, incluindo inserção de novas funcionalidades, tais como incorporação de pontos turísticos, aprimoramento do desempenho, aplicação de tecnologias atuais e robustas para desenvolvimento web, e aprimoramento da camada de visão. Além disso, foi implementado o algoritmo de trajetórias a pé e realizada a sua integração com o algoritmo de trajeto a ônibus. Na versão atual, a base de dados foi povoada com algumas rotas da cidade de São Leopoldo, permitindo consultas apenas nessa cidade para realização dos testes no aplicativo.

O algoritmo A* foi selecionado para a busca do percurso (tanto a pé quanto trechos em ônibus), pelo seu desempenho ser o mais apropriado para um sistema em tempo real. O problema de busca foi especificado como segue: (i) Estado inicial: parada mais próxima da rua e numeração onde o usuário se encontra (a origem do trajeto). (ii) Função Sucessor: se mover para a próxima parada em uma linha de ônibus. (iii) Heurística utilizada: distância em linha reta. (iv) Teste Objetivo: parada mais próxima da rua e numeração onde o usuário deseja chegar (o destino do trajeto). O sistema foi programado no modelo cliente-servidor, na qual a parte de processamento é realizada pela linguagem Java (ORACLE 2011). Por ser um sistema web, se fez necessária a utilização de JSP (Java Server Pages) para a criação de telas, juntamente com o framework MVC (Model-View-Controller) Struts (APACHE 2011). Para execução da aplicação, foi utilizado o servidor de aplicação Tomcat (APACHE 2011). O banco de dados empregado foi o MySQL (MYSQL 2011), (ORACLE 2011). Na Figura 1 é apresentada a tela de busca do sistema. Como pode ser observado na imagem, além da trajetória a ser percorrida por ônibus já existente na primeira versão do Antares (BASTOS & JAQUES, 2010), o aplicativo apresenta também trajetórias a pé e trajetórias integradas (trechos em ônibus e a pé). Essa trajetória a pé pode ser realizada dos destinos inicial e final até a parada mais próxima, bem como entre duas paradas em uma troca de linha de ônibus como exemplificado na imagem. Esse segundo é o maior desafio do presente trabalho. Figura 1. Antares após as modificações realizadas neste trabalho. Para tornar possível a criação de todas essas novas tecnologias e funcionalidades, foram necessários os seguintes procedimentos: primeiramente foi realizada a modelagem da base de dados para persistir os dados da realização de buscas de trajetórias a pé conforme visto anteriormente. Posteriormente à modelagem da base de dados, o aplicativo foi então codificado. A etapa seguinte consistiu na modificação do código desenvolvido do algoritmo A* para comportar as melhorias e a nova forma de busca. A última etapa foi composta pelos testes nas funcionalidades desenvolvidas. O algoritmo de busca utiliza como função heurística a distância em linha reta, também chamada de distância Euclidiana, a qual é calculada a partir da latitude e longitude das esquinas das ruas. Foi escolhida essa heurística porque o caminho mais curto entre dois pontos, sempre será uma reta, no caso do contexto ser um grafo (RUSSELL & NORVIG 2004), como é o deste trabalho. Dessa forma, a distância em linha reta é uma heurística admissível, pois nunca superestima o custo real. Para realizar a busca, o usuário define o local de origem (a rua e o número), e o local de destino (a rua e número de destino). Com estes dados, o algoritmo busca no banco as ruas que fazem intersecções (através de esquinas) com as informadas continuamente e, assim, montando a árvore de busca. Além da distância em Euclidiana que será utilizada neste trabalho, foi analisada a utilização da distância de Manhattan, também conhecida como a métrica do táxi. Esta, ao invés de utilizar a distância em linha reta

para o cálculo, usa a distância considerando quadras retangulares. A partir dos resultados dos testes realizados em (BASTOS & JAQUES, 2010) com esta métrica, foi observado que se perde desempenho ao utilizá-la, provavelmente porque no Brasil as quadras não são, em grande parte, retangulares. Enquanto em trajetórias de ônibus, o estado inicial e final são respectivamente a parada mais próxima de origem e do destino desejado, em trajetórias a pé os estados são as intersecções entre as ruas. O motivo deste é que para o cálculo correto da distância real do percurso a pé, deve ser considerado o intervalo em linha reta entre esquinas, diferentemente de rotas de ônibus onde se considera a distância entre paradas. O terceiro procedimento foi alterar a definição das principais classes do modelo para suportar trajetórias a pé. Para isso teve que ser definido o problema que, conforme a análise feita anteriormente, tem a seguinte definição: (i) Estado inicial: intersecção mais próxima da rua e numeração onde o usuário se encontra (a origem do trajeto); (ii) Função Sucessor: se mover para a próxima intersecção de ruas; (iii) Heurística utilizada: distância em linha reta; (iv) Teste Objetivo: intersecção mais próxima da rua e numeração aproximada onde o usuário deseja chegar (o destino do trajeto). A partir da definição do problema, o algoritmo A* implementado anteriormente no Antares foi alterado para suportar trajetórias a pé e a ônibus. Algumas alterações foram realizadas: foi criada uma classe Ponto que se baseia em generics, onde esta pode instanciar diferentes classes que representam os diferentes tipos de estados, como Interseccoes (representando intersecções entre ruas), OnibusParadas (uma parada em uma linha de ônibus) e PontoTuristico (por exemplo, um museu, uma ponte, um prédio histórico, entre outros). Sua criação foi necessária devido aos diferentes possíveis estados de cada nó (um estado pode ser tanto um objeto OnibusParada, no caso de trajetos apenas em ônibus, ou uma Intersecção entre ruas ou Ponto Turístico no caso de trajetos mistos). Na nova implementação do método A*, apesar de depender do tipo de instância que o estado do nó tiver, o funcionamento geral continua o mesmo: ele busca os sucessores do nó retirado da cabeça da fila de prioridade (PriorityQueue), caso este não seja o nó objetivo. Este tipo de lista possibilita que os nós com o menor custo estejam sempre na cabeça da fila, melhorando o desempenho, o qual é o objetivo do A*. Em cada estado determinado na árvore de busca, o algoritmo chama o método que busca os seus sucessores. Esse realiza uma busca na base de dados dos sucessores e retorna uma lista genérica de Pontos, já que um sucessor pode ser do tipo Interseccoes ou OnibusParadas (PontoTuristicos podem ser apenas estados iniciais ou finais). Com a lista disponibilizada é instanciado um novo nó para cada possível sucessor e calculado o custo. Este custo dependerá do tipo de nó. Por exemplo, trajetos a pé tem um custo dez vezes maior que em rotas de ônibus. Essa penalização foi realizada para que o sistema atribua maior prioridade a locomoções em ônibus para trajetos longos. O valor da penalização foi escolhido baseado em testes empíricos. O algoritmo percorre a árvore de busca de forma otimizada, sempre tentando testar os nós estados mais próximos do objetivo (definido pela heurística), até encontrar um nó representando o estado final. 6. AVALIAÇÃO O sistema passou por dois tipos de avaliações: (1) testes unitários e (2) avaliação com o usuário. Nos testes unitários, foram realizados vários testes no sistema com diferentes cenários que tinham como objetivo verificar se o sistema realmente retornava sempre a melhor solução (ótimo), se a mesma era completa, se o tratamento de erros era funcional e se as respostas dadas pelo software eram coerentes com o problema. A avaliação com usuários tinha como objetivo verificar se o sistema atendia às funcionalidades propostas, assim como avaliar a usabilidade da interface disponibilizada. Para tanto, foi aplicado um questionário fechado a 14 usuários que possuem o seguinte perfil: desenvolvedores e web designer. O primeiro perfil tem um bom conhecimento na parte de implementação de funcionalidades e processamento do sistema. O segundo tem uma maior competência na camada de visão. A partir das respostas dos mesmos, a chance de obter contribuições que ajudem o sistema Antares evoluir até o ponto de ser possível publicá-lo é maior. Este questionário foi respondido pelos usuários após utilização do sistema. Para permitir a utilização do sistema por parte dos usuários, foi realizada a implantação do sistema em uma das máquinas disponibilizadas de uma determinada empresa de informática. Foi realizada uma carga na base dados, com base nas informações referentes a São Leopoldo, utilizadas para os testes unitários do sistema. Com o ambiente preparado, foram convidados alguns colaboradores para verificarem o sistema, e após sua conclusão, o preenchimento do formulário de avaliação do sistema.

A partir das respostas dos usuários foi analisado que o sistema proposto é uma ferramenta útil aos usuários do transporte público. Apesar da maioria dos usuários ter avaliado positivamente a usabilidade da interface (80% dos usuários entrevistados), alguns usuários mostraram descontentamento com alguns pontos: 15% consideraram a aplicação regular na questão usabilidade, 22% responderam que uma funcionalidade importante é a previsão do tempo a ser gasto no trajeto, e 7% dos usuários responderam que é importante considerar outros meios de transportes, como Trensurb (ou metrô) e táxi no percurso. Outros 25% responderam que a informação gerada pelo aplicativo não era importante considerando que seu meio de locomoção é o automóvel particular. O desempenho apresentado pela aplicação agradou aos usuários de modo geral, retornando os resultados, em média em 5 segundos. Além disso, todos consentiram que as funcionalidades implementadas no sistema, atendem a proposta do presente trabalho. Todavia, foram feitas algumas sugestões de melhorias e inclusão de novos recursos que os mesmos julgaram importantes para a evolução do sistema. Com as informações obtidas a partir do questionário aplicado, foi possível obter importantes informações e sugestões para o sistema. Duas funcionalidades foram julgadas importantes para que o sistema venha ser utilizado futuramente por um maior número de usuários, estas são: inclusão do tempo estimado da trajetória; inclusão ao meio de transporte metrô. 7. CONCLUSÕES Os congestionamentos aumentam a cada dia que passa, tendo origem do aumento do poder aquisitivo da população, conduzindo a um maior consumo de veículos particulares. Segundo o Departamento Nacional de Trânsito (DENATRAN 2011), entre 1999 e 2009, ocorreu um aumento de 74% do número de carros, 280% de motos. Utilizando transporte coletivo, os usuários muitas vezes levam menos tempo para chegar ao destino desejado, porque estes trafegam em corredores especiais onde outros meios de transporte não podem circular. Além disso, esse meio de transporte é menos custoso e emite menos poluição. Entretanto, muitos deixam de utilizá-los devido à falta de informação associada, tais como qual linha de ônibus deve ser utilizada, locais por onde passa, em qual parada devem descer e até qual o percurso que devem caminhar para chegar ao local desejado. Atualmente, outros trabalhos estão sendo desenvolvidos no sentido de agregar funcionalidades ao Antares. A principal delas é um serviço cujo objetivo é estimar o tempo de espera e de duração da viagem dos ônibus selecionados na busca de rotas. Conforme pode ser visualizado durante a etapa de avaliação da aplicação deste trabalho, esta funcionalidade foi apontada pelos entrevistados como sendo de grande importância ao usuário do transporte coletivo. Para tanto, os ônibus das linhas que farão parte deste estudo serão rastreados por um equipamento GPS, o que irá permitir determinar a localização aproximada do ônibus em tempo real. Esse será um diferencial maior do trabalho proposto em relação ao Google Transit, uma vez que esse último obtém essa informação de tabelas estáticas de horários ( static scheduling ). Além disso, pretende-se realizar uma avaliação comparativa do sistema em relação ao Google Transit (ou Google Maps). Para tanto, é necessário inserir na base de dados informações de paradas e linhas de ônibus de uma cidade servida por esse sistema a fim de comparar os resultados obtidos por ambos aplicativos. Isso não foi possível porque, embora o grupo tenha contatado algumas empresas de transporte coletivo, não obteve as informações necessárias. Também se deseja realizar uma avaliação com um número maior de usuários coletivos, verificando se a rota retornada pelo sistema é a rota que os usuários utilizariam para fins de comparação. Essa avaliação depende igualmente da inserção das informações de paradas e linhas de ônibus no sistema. REFERÊNCIAS APACHE, 2011. Apache. Disponível em: http://www.apache.com/ [Acessado abril 10, 2011]. BASTOS, R. & JAQUES, P., 2010. ANTARES: Um sistema Web de consulta de rotas de ônibus como serviço público. Revista Brasileira de Computação Aplicada, Vol. 2, pp.41-56. DENATRAN, 2011. DENATRAN - Departamento Nacional de Transito. Disponível em: http://www.denatran.gov.br/ [Acessado abril 10, 2011].

FIGUEIREDO, L.M.B., 2005. Sistemas Inteligentes de Transporte. Doutorado em Engenharia Eletrônica e de Computadores. Porto: Universidade do Porto - Faculdade de Engenharia. GOOGLE MAPS, 2011. Google Maps. Disponível em: http://maps.google.com.br/ [Acessado abril 10, 2011]. GOOGLE TRANSIT, 2011. Google Transit. Available at: http://www.google.com.br/intl/pt-br/landing/transit/#dmy [Acessado abril 10, 2011]. HOPSTOP, 2011. HopStop.com - Transit Directions and Maps for New York City (NYC). Disponível em: http://www.hopstop.com/?city=newyork [Acessado abril 10, 2011]. LADEIRA, M.C.M., MICHEL, F.D. & PAVANATTO, S.A., 2009. Monitoramento da operação de transporte público: O caso de Porto Alegre. Disponível em: http://www.cbtu.gov.br/monografia/2009/trabalhos/artigos/planejamento/3_255_ac.pdf [Acessado novembro 13, 2010]. MYSQL, 2011. MySQL. Disponível em: http://www.mysql.com/ [Acessado abril 10, 2011]. NILSSON, N.J., 1998. Artificial intelligence: a new synthesis, Morgan Kaufmann, San Francisco, USA. ORACLE, 2011. Oracle Brazil. Disponível em: http://www.oracle.com/br/index.html [Acessado abril 10, 2011]. PILON, J.A., 2009. Sistema de Informação ao usuário do transporte coletivo por ônibus na cidade de Vitória-ES. Dissertação de Mestrado. Ponta Grossa: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. RITA, 2010. RITA ITS Frequently Asked Questions. Disponível em: http://www.its.dot.gov/faqs.htm [Acessado outubro 12, 2010]. RUSSELL, S. & NORVIG, P., 2004. Inteligência artificial. Elsevier, Rio de Janeiro, Brasil. SILVA, D.M. da, 2000. Sistemas Inteligentes no Transporte Público Coletivo por Ônibus. Dissertação de Mestrado. Porto Alegre: UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL. Disponível em: http://hdl.handle.net/10183/3134 [Acessado novembro 6, 2010]. WATKINS, K. E., FERRIS, B., & RUTHERFORD, G. S. (2010). Explore: An Attraction Search Tool for Transit Trip Planning. Journal of Public Transportation, 13(4), 111.