Professor Orientador: Robinson Luís de Souza Alves Aluno Orientando: Michel Francisco de Medeiros
<ul><li>Introdução; </li></ul><ul><li>Objetivos; </li></ul><ul><li>Sistemas Móveis Georeferenciados; </li></ul><ul><li>Alg...
<ul><li>Crescimento na procura por serviços de geo-localização gerando oportunidades de negócios; </li></ul><ul><li>Surgim...
<ul><li>Objetivo Geral: </li></ul><ul><li>Desenvolver um protótipo de software visando obter a menor distância entre ponto...
<ul><li>Sistemas de Informação Geográfica (SIG); </li></ul><ul><li>Sistemas Baseados em Localização (LBS); </li></ul><ul><...
<ul><li>Sistema de gerenciamento de dados espaciais que permite usuários criarem consultas interativas, analisarem a infor...
<ul><li>Serviços que integram a localização do dispositivo móvel com outras informações; </li></ul><ul><li>Crescimento ent...
<ul><li>Técnica que determina a localização de um dispositivo pela sua posição; </li></ul><ul><li>Representado por meio de...
<ul><li>Dispositivos móveis tornaram-se pequenos computadores portáteis; </li></ul><ul><li>Equipamentos mais presente no c...
<ul><li>Java Micro Edition  (Java ME)‏ </li></ul><ul><ul><li>Versão da máquina virtual Java que possibilita programar para...
 
<ul><li>Bluetooth </li></ul><ul><ul><li>Utiliza protocolo de conexão baseado em freqüências de curto alcance; </li></ul></...
Redes  Bluetooth piconets  e  sca tternet
<ul><li>Servlet </li></ul><ul><ul><li>Tecnologia pertencente a plataforma  Java   Enterprise Edition (Java EE) ; </li></ul...
<ul><li>Conceitos </li></ul><ul><ul><li>Grafo é uma forma de representar conexões ou relações entre pares de objetos de um...
<ul><li>Conceitos </li></ul><ul><ul><li>Dígrafo é um grafo orientado; </li></ul></ul><ul><ul><li>Um caminho é uma sequênci...
<ul><li>Representação </li></ul><ul><ul><li>Existem várias formas de representar grafos: </li></ul></ul><ul><ul><ul><li>Ma...
<ul><li>Tem como objetivo obter um percurso mínimo entre dois ou mais vértices de um grafo ponderado considerando a soma d...
<ul><li>Algoritmo de  Floyd- Warshall </li></ul><ul><li>Recebe um grafo orientado e ponderado que pode possuir arestas com...
<ul><li>Algoritmo de  Bellman-Ford </li></ul><ul><li>Possui técnica de relaxamento de arestas; </li></ul><ul><li>Computa a...
<ul><li>Algoritmo de  Dijkstra </li></ul><ul><li>Usado em grafos ponderados de origem única, com arestas de pesos não nega...
<ul><li>Algoritmo de  Dijkstra </li></ul><ul><li>DIJKSTRA  (G, w, s)‏ </li></ul><ul><li>1:  INITIALIZE-SINGLE-SOURCE( G, s...
<ul><li>Aplicação LBS que otimiza a busca pela menor distância entre rotas utilizando algoritmo de menor caminho  Dijkstra...
 
 
Resultados Obtidos Resultados Obtidos - Verificar Menor Caminho entre um conjunto de rotas cadastradas no sistema; - A ver...
Rota 2 – Pca André de Albuquerque Via R. Mossoró   Rota 1 – Ulisses Caldas Via R. Mossoró  Rota 3 – Av. Rio Branco Via R. ...
 
 
 
 
 
<ul><li>O projeto desenvolvido viabilizou a melhoria no cálculo da distância entre rotas utilizando algoritmo de menor cam...
<ul><li>Melhoria na geração de rotas sincronizando com a base de dados do  Google Maps; </li></ul><ul><li>Utilizar o algor...
Próximos SlideShares
Carregando em…5
×

App

1.712 visualizações

Publicada em

Publicada em: Tecnologia
  • Seja a primeira pessoa a gostar disto

App

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

×