34
Professor Orientador: Robinson Luís de Souza Alves Aluno Orientando: Michel Francisco de

App

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: App

Professor Orientador: Robinson Luís de Souza AlvesAluno Orientando: Michel Francisco de Medeiros

Page 2: App

Introdução; Objetivos; Sistemas Móveis Georeferenciados; Algoritmos de Menor Caminho; Estudo de Caso; Resultados Obtidos; Conclusões; Trabalhos Futuros.

Page 3: App

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.

Page 4: App

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;

Page 5: App

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;

Page 6: App

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);

Page 7: App

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.

Page 8: App

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

Page 9: App

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;

Page 10: App

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

Page 11: App
Page 12: App

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;

Page 13: App

Redes Bluetooth piconets e scatternet

Page 14: App

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;

Page 15: App

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);

Page 16: App

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;

Page 17: App

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

Page 18: App

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;

Page 19: App

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];

Page 20: App

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

Page 21: App

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)

Page 22: App

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 

Page 23: App

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;

Page 24: App
Page 25: App
Page 26: App

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;

Page 27: App

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

Page 28: App
Page 29: App
Page 30: App
Page 31: App
Page 32: App
Page 33: App

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.

Page 34: App

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.