Estudo e implementação de heurísticas para determinação do caminho de menor custo para atender a rotas pré estabelecidas. Por: Charles Pereira

Documentos relacionados
IMPLEMENTAÇÃO DE HEURÍSTICAS PARA DETERMINAÇÃO DO CAMINHO DE MENOR CUSTO

Teoria dos Grafos Aula 6

Especificação do TP3

Algoritmo de Dijkstra Estudo e Implementação

Buscas Informadas ou Heurísticas - Parte II

Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes

Grafos: caminhos mínimos em Listas de Adjacência. Profa. Graça Nunes

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Algoritmos em Grafos

Busca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro

Grafos tipo abstrato de dados

ESTUDO COMPARATIVO ENTRE ALGORITMO A* E BUSCA EM LARGURA PARA PLANEJAMENTO DE PERSONAGENS EM JOGOS DO TIPO PACMAN

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

Estruturas de Dados Grafos

Grafos: caminhos mínimos

Grafos: caminhos (matriz adjacência)

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Departamento de Engenharia de Produção UFPR 57

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Resolução de problemas por meio de busca. Inteligência Artificial

Técnicas Inteligência Artificial

Estruturas de Dados Apresentação

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

Grafos COM11087-Tópicos Especiais em Programação II

APLICAÇÕES DE BUSCA EM GRAFOS

Combinando relações. Exemplo Seja A = {1, 2, 3} e B = {1, 2, 3, 4}. As relações

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

Teoria dos Grafos Aula 1 - Introdução

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos

Grafos IFRN. Prof. Robinson Alves

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

Teoria dos Grafos AULA 1

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

Resolução de problemas por meio de busca. CAPÍTULO 3 - Russell

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira

Algoritmos em Grafos: Caminho Mínimo

Grafos: caminhos mínimos

Algoritmos de aproximação

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

IFRN. Introdução à Teoria dos Grafos. Prof. Edmilson Campos

Departamento de Engenharia de Produção UFPR 22

Teoria dos Grafos AULA 1

Busca em Largura. Adaptado de Humberto C. B. Oliveira

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

Busca Heurística. Profa. Josiane M. P. Ferreira

Módulo 3 OTIMIZAÇÃO DE REDES DE TRANSPORTES

Grafos: aplicações. Grafos: árvore geradora mínima

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Teoria dos Grafos Aula 14

INF 1010 Estruturas de Dados Avançadas

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

Grafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina

Teoria dos Grafos Aula 8

Resolução de Problemas de Busca

Circuitos Hamiltorianos

AULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

Matemática Discreta - Exercícios de Grafos

Caminho mais curto e o algoritmo de Dijkstra

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

Métodos de Busca: Busca sem Informação. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação

Grafos: algoritmos de busca

Teoria e Algoritmos em Grafos

Estruturas de Dados II. Caixeiro Viajante

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Grafos IFRN. Robinson Alves

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica (continuação) Prof. Humberto Brandão

Técnicas Inteligência Artificial

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

Busca em Espaço de Estados a

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

Algoritmos e Estruturas de Dados II Grafos conceitos gerais. Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M.

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

Módulo 2 OTIMIZAÇÃO DE REDES

Árvore Geradora Mínima

Inteligência Artificial

Redes Complexas Aula 2

Introdução à Inteligência Artificial MAC MAC 415. Exercício Programa 1 Busca

Resolução de Problemas: Busca Heurística

Parte B Teoria dos Grafos

Resolução de Problemas através de Busca. Prof. Júlio Cesar Nievola PPGIA - PUC-PR

Sistemas Inteligentes Lista de Exercícios sobre Busca e Agentes Inteligentes

GRAFOS Aula 03 Representações de Grafos Max Pereira

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

GRAFOS E ALGORITMOS ALGORITMOS E APLICAÇÕES

Técnicas de Inteligência Artificial

Grafos Parte 1. Aleardo Manacero Jr.

GRAFOS Aula 02 Formalização: definições Max Pereira

Universidade Federal de Alfenas

Transcrição:

Estudo e implementação de heurísticas para determinação do caminho de menor custo para atender a rotas pré estabelecidas Por: Charles Pereira

Objetivos Principal: - Criar, implementar e avaliar heurísticas para agilizar a definição do menor caminho em mapas. Secundários: - Levantamento bibliográfico a respeito de grafos; - Estudar o Problema do Menor Caminho com vários vértices como destino; - Implementar um protótipo que se utilize das técnicas de heurísticas estudadas.

Definição de Grafo Um grafo G(V,E) é um conjunto finito não vazio V e um conjunto E de pares não ordenados de elementos de V. Os elementos de V são os vértices e os de E são as arestas de G. Cada aresta e E é denotada pelo par de vértices e = (v,w) que a forma.

Definição de Grafo V = {1,2,3,4,5} E = {(1,2), (2,3), (2,5), (3,4), (4,5), (5,1)}

Grafos Direcionados (Digrafos) Um digrafo é um grafo, onde cada aresta (v,w) possui uma única direção de v para w.

Grafos Direcionados (Digrafos) V = {1,2,3,4,5,6,7} E = {(1,2), (1,4), (2,4), (3,1), (4,3), (4,5), (5,6), (4,6), (6,3), (6,7), (7,6)}

Grafos Valorados É um grafo, onde para cada aresta (v,w) existe um valor associado. O valor pode ter vários significados de acordo com cada problema. No caso de mapas, o valor pode indicar o tempo de deslocamento entre um vértice e outro, a distância ou um custo em unidade monetária.

Problema do Menor Caminho - PMC Seja um grafo G(V,E) e uma função distância L que associe cada aresta (v,w) a um número real não negativo L(v,w) e também um vértice fixo v 0 em V, chamado fonte. O problema consiste em se determinar o caminho de v 0 para um vértice vf de G, de tal forma que a somatória das distâncias das arestas envolvidas no caminho seja mínima.

Aplicações do PMC - Caixeiro Viajante; - Problemas de Entrega de Mercadorias; - Sistemas Turísticos.

Representações de Grafos em Computador - Matriz de Adjacência; - Matriz de Custo; - Estrutura de Adjacência.

Algoritmos de Busca São instruções executadas a fim de localizar um vértice dentro de um grafo, traçando o caminho percorrido para se deslocar de um vértice inicial até o vértice que se deseja procurar.

Algoritmos de Busca Tipos de busca: - Busca em Largura; - Busca em Profundidade.

Heurísticas Heurísticas são técnicas simples, apoiadas em conhecimentos empíricos ou não, que são capazes de direcionar os cálculos para a(s) meta(s). Um exemplo de heurística é dado por [COL88]:

Heurísticas..se você deseja ir da sua casa para o local de trabalho em um tempo mínimo, pode concluir, baseado em experiências anteriores, que é mais rápido ir de carro, de segunda-feira a quintafeira, mas na sexta-feira é melhor utilizar o metrô. Esses pressentimentos ou intuições que usamos no dia-a-dia nos auxiliam bastante, mesmo que falhem algumas vezes.

Heurísticas A função heurística é dada por: f (n) = g(n) + h (n), onde: - n = identificador do vértice; - g(n) = o custo para ir do vértice inicial até o vértice n; - h (n) = valor da heurística para ir do vértice n até o vértice meta.

A Construção da Base de Dados Foi usado parte do mapa da cidade de Brusque para a definição da base de dados, resultando em um grafo com 1313 vértices e 2940 arestas. A seguir serão mostrados os passos da criação da base de dados.

Medida de Performance O tempo necessário para resolver o PMC, está ligado diretamente ao número de vértices envolvidos no cálculo. Dessa forma, quanto maior o número de vértices envolvidos, maior será o tempo consumido para resolver o PMC. A função das heurísticas será dar prioridade para os vértices que têm maior chance de conduzirem à meta.

Medida de Performance O algoritmo A* possui a fila fechados, onde são armazenados todos os vértices envolvidos nos cálculos. Assim, o número de vértices contidos nesta fila ao final dos cálculos será a medida de performance das heurísticas mostradas mais adiante.

Casos de Testes É necessário criar alguns casos de testes a fim de testar cada heurística sob as mesmas condições e depois comparar os resultados. Assim, foram criados sessenta casos de testes. Primeiramente foram tabelados os valores obtidos aplicando-se o algoritmo sem o uso de heurísticas.

Casos de Testes Em seguida, o algoritmo foi aplicado para resolver os casos de testes usando heurísticas e foram comparados os resultados em relação à busca cega, ou seja, sem o uso de heurísticas.

A Primeira Heurística O algoritmo A* tem uma heurística que baseia-se na provável distância do vértice que está sendo explorado no momento até o vértice meta.

1400 1200 1000 800 600 400 200 0 Comparação da Primeira Heurística com a Busca Cega 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 Busca Cega Primeira Heurística Casos de Teste Número de Vértices Explorados

A Segunda Heurística

A Segunda Heurística Como dar maior ênfase aos vértices que se encontram dentro do retângulo? Relembrando: f (n) = g(n) + h (n)

A Segunda Heurística Foram atribuídos valores negativos ao h (n), afim de dizer ao algoritmo que os vértices dentro do retângulo estavam mais próximos do destino. Foram realizados testes com h (n) valendo 100, 500, 1000 e 2000 metros.

A Segunda Heurística Como resultado geral dos testes, a primeira heurística teve um ganho de 61%. Com a segunda heurística, os ganhos foram bem mais modestos: 100m = 2%; 500m = 6%; 1000m = 9%; 2000m = 12%.

Comparação da Redução em % do número de vértices explorados de acordo com o valor do h' 2000m 1000m 500m 100m 90% 80% 70% 60% % de Redução 50% 40% 30% 20% 10% 0% -10% 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 Casos de Testes

A Segunda Heurística Outro ponto desfavorável à segunda heurística, é o fato de que a medida que se aumenta o h (n), o número de caminhos errados também aumenta, como é mostrado: 100m = 1 caminho errado; 500m = 5 caminhos errados; 1000m = 10 caminhos errados; 2000m = 11 caminhos errados.

A Segunda Heurística Como explicar o fato de que vários testes tiveram resultados até melhores do que os obtidos com a primeira heurística, passando de 80% de ganho, e traçaram o caminho corretamente?

O PMC com vários destinos

Conclusões - Ficou claro o poder das heurísticas; - Os grafos, apesar da estrutura simples são ótima ferramenta para problemas complexos; - Foi atendido o objetivo de usar mapas com milhares de cruzamentos.

Extensões - Construção de uma ferramenta para gerenciamento da base de dados dos mapas; - Usar mapas maiores; - Estudo de novas heurísticas; - Testar outros algoritmos e com mais de uma heurística ao mesmo tempo; - Implementar o PMC com vários destinos e aprofundar o assunto.