Professor Orientador: Robinson Luís de Souza Alves Aluno 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  sca tternet
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 [n 3 ];
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ão 12:  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 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;
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.

Mais conteúdo relacionado

PDF
Camada rede
PDF
Fluxo a Custo Mínimo
PDF
Fluxo Maximo a Custo Minimo
PDF
Parte1c
PDF
Programas recursivos de dominio finito
PDF
ALGORITMOS DE ROTEAMENTO
DOCX
Apresentação li segunda feira
PPT
O uso do PostgreSQL e PostGIS no cadastro geocodificado de acidentes de trânsito
Camada rede
Fluxo a Custo Mínimo
Fluxo Maximo a Custo Minimo
Parte1c
Programas recursivos de dominio finito
ALGORITMOS DE ROTEAMENTO
Apresentação li segunda feira
O uso do PostgreSQL e PostGIS no cadastro geocodificado de acidentes de trânsito

Semelhante a App (20)

PPTX
Apresent trab grafos
PPT
Mapreduce - Conceitos e Aplicações
PDF
Map reduce novas abordagens para o processo de datamining em grandes volumn...
PDF
MapReduce
PDF
poster
PDF
Apresentação sobre adaptação de topologia em redes móveis
PPTX
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
PDF
Roteamento em Redes Ópticas Utilizando Algoritmo Genetico
PPTX
Grafos - Organização de dados para a Matemática.pptx
PPTX
Redes de Comunicacao-Camada de transporte
KEY
Geo on Rails - Um guia para manter o seu cabelo.
PPT
GIS em 3 horas
PDF
Rct 16 - camada de rede
PDF
Apresentacao cp2011
PPTX
Banco de dados geográfico - Aula de Encerramento
PPTX
Bancos de Dados Geográficos
PPTX
Aula 1-Introdução a ArcGis_Aula Teorica_
PPTX
Aula 1-Introdução a ArcGis_Aula Teorica_
PPTX
Indo alem do_mvc_node_js
ODP
Redes de computadores II - 3.Roteamento
Apresent trab grafos
Mapreduce - Conceitos e Aplicações
Map reduce novas abordagens para o processo de datamining em grandes volumn...
MapReduce
poster
Apresentação sobre adaptação de topologia em redes móveis
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
Roteamento em Redes Ópticas Utilizando Algoritmo Genetico
Grafos - Organização de dados para a Matemática.pptx
Redes de Comunicacao-Camada de transporte
Geo on Rails - Um guia para manter o seu cabelo.
GIS em 3 horas
Rct 16 - camada de rede
Apresentacao cp2011
Banco de dados geográfico - Aula de Encerramento
Bancos de Dados Geográficos
Aula 1-Introdução a ArcGis_Aula Teorica_
Aula 1-Introdução a ArcGis_Aula Teorica_
Indo alem do_mvc_node_js
Redes de computadores II - 3.Roteamento
Anúncio

Último (12)

PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PDF
Jira Software projetos completos com scrum
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Utilizando code blockes por andre backes
Tipos de servidor em redes de computador.pptx
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Processos no SAP Extended Warehouse Management, EWM100 Col26
Jira Software projetos completos com scrum
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Manejo integrado de pragas na cultura do algodão
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Analise Estatica de Compiladores para criar uma nova LP
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Conceitos básicos de Redes Neurais Artificiais
Viasol Energia Solar -Soluções para geração e economia de energia
Utilizando code blockes por andre backes
Anúncio

App

  • 1. Professor Orientador: Robinson Luís de Souza Alves Aluno Orientando: Michel Francisco de Medeiros
  • 2. Introdução; Objetivos; Sistemas Móveis Georeferenciados; Algoritmos de Menor Caminho; Estudo de Caso; Resultados Obtidos; Conclusões; Trabalhos Futuros.
  • 3. 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.
  • 4. 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;
  • 5. 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;
  • 6. 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);
  • 7. 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.
  • 8. 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
  • 9. 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;
  • 10. 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
  • 11.  
  • 12. 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;
  • 13. Redes Bluetooth piconets e sca tternet
  • 14. 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;
  • 15. 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);
  • 16. 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;
  • 17. 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
  • 18. 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;
  • 19. 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 [n 3 ];
  • 20. 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
  • 21. 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)‏
  • 22. 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ão 12: d [ v ] ← d [ u ] + w ( u, v )‏ 13: fim se  
  • 23. 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;
  • 24.  
  • 25.  
  • 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;
  • 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
  • 28.  
  • 29.  
  • 30.  
  • 31.  
  • 32.  
  • 33. 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.
  • 34. 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.