Upload
michelmedeiros
View
1.449
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Professor Orientador: Robinson Luís de Souza AlvesAluno Orientando: Michel Francisco de Medeiros
Introdução; Objetivos; Sistemas Móveis Georeferenciados; Algoritmos de Menor Caminho; Estudo de Caso; Resultados Obtidos; Conclusões; Trabalhos Futuros.
Crescimento na procura por serviços de geo-localização gerando oportunidades de negócios;
Surgimento dos Serviços Baseados em Localização (LBS);
Evolução de uma nova geração de dispositivo móveis;
Problemática dos (LBS) em encontrar algoritmos eficientes na obtenção de menor caminho;
Utilização do algoritmo de Djikstra para solução do problema.
Objetivo Geral: Desenvolver um protótipo de software visando obter a menor
distância entre pontos específicos entre rotas.
Objetivos Específicos: Aprender a utilizar recursos da plataforma Java ME; Entender como funciona a comunicação entre o GPS e a
aplicação na captura dos dados da localização atual; Desenvolver um algoritmo de menor caminho visando resolver
o problema da menor distância entre rotas; Exibir os resultados de forma gráfica e textual, demonstrando
o funcionamento de um aplicativo LBS. Testar a eficiência do algoritmo de menor caminho através da
verificação de resultados;
Sistemas de Informação Geográfica (SIG); Sistemas Baseados em Localização (LBS); Técnicas de Localização; Computação Móvel; Redes sem fio; Computação Cliente-Servidor;
Sistema de gerenciamento de dados espaciais que permite usuários criarem consultas interativas, analisarem a informação espacial e editarem dados na tomada de decisões;
Um SIG pode ser visto de três formas:◦ Visão de banco de dados (geodatabase);◦ Visão de mapas (geovisualização);◦ Visão de modelos (geoprocessamento);
Serviços que integram a localização do dispositivo móvel com outras informações;
Crescimento entre tecnologias emergentes; Adequação ao perfil do usuário na prestação de
serviços;◦ Possibilidade do usuário localizar um lugar e de como
chegar de forma mais rápida ao destino. ◦ Capacidade de monitorar, controlar usuários, veículos
de acordo com sua posição geográfica.◦ Controle de tráfego e fluxo de veículos.
Técnica que determina a localização de um dispositivo pela sua posição;
Representado por meio de coordenadas geográficas, pontos de referência ou nome de um lugar;
Podem ser classificadas em: Soluções baseadas em rede (network-based)
• Cell-ID• Angle of Arrival (AOA)• Time Difference of Arrival (TDOA)
Soluções baseadas em dispositivo (handset-based)• GPS
Soluções Híbridas• AGPS
Dispositivos móveis tornaram-se pequenos computadores portáteis;
Equipamentos mais presente no cotidiano das pessoas na busca por informações;
Possibilidade de acessar serviços e dados na internet;
Java Micro Edition (Java ME)◦ Versão da máquina virtual Java que possibilita
programar para dispositivos móveis recursos limitados (Celulares, PDAs e Smart Phones, set-topboxes).
Configuração:◦ CDC (Connected Device Configuration)◦ CLDC (Connected Limited Device Configuration)
Perfil ◦ MIDP (Mobile Information Device Profile)
Pacotes Adicionais◦ Bluetooth, Web Services, Multimídia
Bluetooth◦ Utiliza protocolo de conexão baseado em freqüências
de curto alcance;◦ Conexão sem fio, robusta, barata e de baixo consumo;◦ Rede piconet - podem existir até oito dispositivos
interligados, sendo um deles é chamado de mestre e os outros são denominados escravos;
◦ Rede scatternet - composta de múltiplas redes Bluetooth piconets conectadas, cada uma contendo um número limitado de dispositivos;
Redes Bluetooth piconets e scatternet
Servlet◦ Tecnologia pertencente a plataforma Java Enterprise
Edition (Java EE);◦ Programa Java que atende dinamicamente às
solicitações de um servidor WEB;◦ Resposta das requisições via protocolo HTTP através
do envio de documentos em HTML;◦ Usados para processamento de formulários (HTML),
interagir com bancos de dados, ou atuar como uma camada intermediária em uma arquitetura em camadas;
Conceitos◦ Grafo é uma forma de representar conexões ou
relações entre pares de objetos de um determinado conjunto;
◦ São definidos como G= (V, E), onde V representa o conjunto de vértices e E o conjunto de arestas;
◦ Representa problemas como fluxo de rede, roteamento e caminho mínimo;
◦ “Um grafo não necessariamente precisa ser uma árvore, porém uma árvore é um grafo”. (Tanenbaum);
Conceitos◦ Dígrafo é um grafo orientado;◦ Um caminho é uma sequência não vazia de vértices;◦ Quanto a caminhos o grafo pode ser:
Cíclicos, Acíclicos ou Laços;◦ Caminhamento no grafo: em largura e profundidade;◦ Grafo Eureliano consiste em percorrer exatamente
uma vez um Circuito Eureliano;◦ Um vértice é considerado adjacente a um outro se
entre estes existir a incidência de uma aresta;◦ Um grafo é chamado de ponderado ou valorado
quando é definido um peso entre os vértices;
Representação◦ Existem várias formas de representar grafos:
Matriz de custos, Listas de adjacências, Matriz de adjacências, Listas de arestas, Matriz de incidência.
(a)Lista de adjacência (b)Matriz de adjacência (c) Lista de Arestas (d) Matriz de Incidência
Tem como objetivo obter um percurso mínimo entre dois ou mais vértices de um grafo ponderado considerando a soma dos pesos das arestas;
Aplicados em problemas que envolvam grandezas (distâncias, tempo, perdas, ganhos, despesas) que se acumulem ao longo de um percurso .
Problemas que envolvem algoritmos de menor caminho:◦ Problema de único destino: menor caminho entre
cada um dos nós do grafo e um nó destino dado;◦ Problema de única origem: menor caminho entre um
nó dado e todos os demais nós do grafo;◦ Problema origem destino: menor caminho entre dois
nós dados;◦ Problema de todos os pares: menor caminho entre
cada par de nós presentes no grafo;
Algoritmo de Floyd- Warshall Recebe um grafo orientado e ponderado que pode
possuir arestas com valores negativos; Atualiza a matriz de menores distâncias n vezes
procurando a menor distância entre pares de nós que passam pelos vértices;
Possui complexidade O [n3];
Algoritmo de Bellman-Ford Possui técnica de relaxamento de arestas; Computa a partir de um vértice de origem
os caminhos mais curtos em relação aos demais vértices do grafo inclusive em grafos com pesos negativos;
Possui complexidade O (V E), onde V é o número de vértices e E o número de arestas
Algoritmo de Dijkstra Usado em grafos ponderados de origem
única, com arestas de pesos não negativos; Possui técnica de relaxamento de arestas; Algoritmo de método guloso; Importa a ordem na qual os caminhos são
determinados; Possui complexidade O[n2], porém em
algumas implementações pode ser reduzida para O(V log V + E)
Algoritmo de Dijkstra
DIJKSTRA (G, w, s)1: INITIALIZE-SINGLE-SOURCE(G, s) 2: S ← ∅ 3: Q ← V[G]4: while Q ≠ 0 5: do u ← EXTRACT-MIN(Q) {Em relação a d[]} 6: S ← S ∪ {u} 7: for cada vértice v adjacente a u 8: do RELAX(u, v, w)11: se d[v] > d[u] + w(u, v) então12: d[v] ← d[u] + w(u, v)13: fim se
Aplicação LBS que otimiza a busca pela menor distância entre rotas utilizando algoritmo de menor caminho Dijkstra;
Simula uma empresa de entregas; Divide-se em dois módulos: Móvel e
Servidor;
Resultados ObtidosResultados Obtidos
- Verificar Menor Caminho entre um conjunto de rotas cadastradas no sistema;- A verificação é realizada a partir de um ponto de origem até um ponto destino;- Realizado cadastro de coordenadas;- Realizado cadastro de rotas;- Efetuado cáculo do menor caminho;- Exibição da menor distância encontrada;
Rota 2 – Pca André de Albuquerque Via R. Mossoró Rota 1 – Ulisses Caldas Via R. Mossoró
Rota 3 – Av. Rio Branco Via R. Mossoró Rota 3 – Av. Rio Branco Via R. Potengi
O projeto desenvolvido viabilizou a melhoria no cálculo da distância entre rotas utilizando algoritmo de menor caminho;
Foi encontrado dificuldade em simular o protótipo num ambiente real;
Os testes realizados, cumpriram com seus objetivos a serem alcançados;
Foi verificado limitações na biblioteca J2MEMaps na geração de rotas;
A integração dos módulos foi realizada de forma satisfatória.
Melhoria na geração de rotas sincronizando com a base de dados do Google Maps;
Utilizar o algoritmo do caixeiro viajante evitando que o mesmo ponto seja percorrido mais de uma vez;
Uma forma mais otimizada de exibir o percurso entre rotas;
Criação de um Módulo Monitorador.